پرش به محتوای اصلی
آزمایشگاه‌های مجازی یادگیری با شبیه‌سازی ورود ثبت‌نام
درس ۱ از ۶ مقدماتی ۱۸ دقیقه

ربات چیست؟ حسگر، پردازنده و عملگر

با سه بخش اصلی هر ربات و حلقهٔ حس، تصمیم و حرکت آشنا می‌شوی و زمان‌بندی آن را حساب می‌کنی.

در پایان این درس می‌توانید

  • سه بخش حسگر، پردازنده و عملگر را در هر ربات تشخیص بدهی.
  • حلقهٔ حس، تصمیم و حرکت را توضیح بدهی و دورهٔ آن را حساب کنی.
  • فاصله را از روی زمان پژواک حسگر فراصوتی به دست بیاوری.
  • بار پردازنده را از روی زمان مراحل حلقهٔ کنترل محاسبه کنی.

وقتی نام «ربات» را می‌شنوی شاید یاد بازوی صنعتی یا ربات فوتبالیست بیفتی، اما همهٔ ربات‌ها — از جاروبرقی هوشمند خانه تا کاوشگر سطح مریخ — از یک الگوی یکسان پیروی می‌کنند. ربات ماشینی است که محیط را می‌سنجد، دربارهٔ آنچه سنجیده تصمیم می‌گیرد و سپس روی محیط اثر می‌گذارد. اگر هر کدام از این سه توانایی را از آن بگیری، دیگر با ربات روبه‌رو نیستی: دستگاهی بدون حسگر فقط یک ماشین کور است که همیشه یک کار تکراری انجام می‌دهد، و دستگاهی بدون عملگر چیزی جز یک ثبت‌کنندهٔ داده نیست.

سه بخش اصلی: حسگر، پردازنده، عملگر

حسگر یک کمیت فیزیکی محیط را به سیگنال الکتریکی تبدیل می‌کند؛ مانند حسگر فاصلهٔ فراصوتی، حسگر نور، حسگر تشخیص خط و ژیروسکوپ. پردازنده که معمولاً یک میکروکنترلر کوچک است، سیگنال حسگرها را می‌خواند، برنامهٔ ذخیره‌شده را اجرا می‌کند و فرمان خروجی می‌سازد. عملگر آن فرمان الکتریکی را به حرکت یا کار مکانیکی تبدیل می‌کند؛ موتور جریان مستقیم، سرووموتور و آهنربای الکتریکی نمونه‌های رایج آن هستند. کنار این سه، دو بخش پشتیبان هم همیشه لازم است: منبع تغذیه که انرژی می‌دهد و سازهٔ مکانیکی که همهٔ قطعه‌ها را سرِ جای خود نگه می‌دارد.

حلقهٔ حس، تصمیم، حرکت

پردازندهٔ ربات این سه کار را پشت سر هم و بی‌وقفه تکرار می‌کند؛ به این تکرار «حلقهٔ کنترل» می‌گویند. اگر حلقه در هر ثانیه f بار اجرا شود، دورهٔ هر تکرار برابر T = ۱/f است. اگر زمان صرف‌شده در سه مرحله را با هم جمع کنی و بر دورهٔ حلقه تقسیم کنی، «بار پردازنده» به دست می‌آید و نشان می‌دهد چند درصد از هر دوره واقعاً مشغول کار بوده‌ای. حسگر فراصوتی هم رابطهٔ خودش را دارد: چون موج صوتی مسیر رفت و برگشت را می‌پیماید، فاصلهٔ مانع برابر نصفِ حاصل‌ضرب سرعت صوت در زمان پژواک است.

مثال عددی حل‌شده

ربات مسابقه‌ای را در نظر بگیر که حسگر فراصوتی‌اش زمان رفت و برگشت پژواک را ۳ میلی‌ثانیه یعنی ۰٫۰۰۳ ثانیه اندازه می‌گیرد و سرعت صوت در هوا ۳۴۰ متر بر ثانیه است. فاصله برابر است با ۳۴۰ × ۰٫۰۰۳ ÷ ۲ = ۰٫۵۱ متر؛ یعنی مانع دقیقاً ۵۱ سانتی‌متر جلوتر ایستاده است.

حالا فرض کن حلقهٔ کنترل همین ربات با بسامد ۲۰ هرتز کار می‌کند؛ پس دورهٔ حلقه برابر T = ۱ ÷ ۲۰ = ۰٫۰۵ ثانیه یا همان ۵۰ میلی‌ثانیه است. اگر خواندن حسگر ۸ میلی‌ثانیه، محاسبه ۱۲ میلی‌ثانیه و فرستادن فرمان به موتور ۵ میلی‌ثانیه طول بکشد، مجموع کار مفید ۸ + ۱۲ + ۵ = ۲۵ میلی‌ثانیه می‌شود و بار پردازنده برابر ۲۵ ÷ ۵۰ = ۰٫۵ یعنی ۵۰ درصد است؛ ۲۵ میلی‌ثانیهٔ باقی‌مانده وقت آزاد ربات برای کارهای دیگر است.

اگر همین ربات با سرعت ۳۰ سانتی‌متر بر ثانیه جلو برود، در بدترین حالت یک دورهٔ کامل طول می‌کشد تا مانعِ دیده‌شده به فرمان توقف تبدیل شود و ربات در این مدت ۳۰ × ۰٫۰۵ = ۱٫۵ سانتی‌متر جلوتر می‌رود. پس فاصلهٔ ایمنی که در برنامه تعیین می‌کنی باید دست‌کم ۱٫۵ سانتی‌متر بیشتر از مسافت ترمزِ مکانیکی باشد، وگرنه ربات دقیقاً به دیوار می‌خورد.

هرچه بسامد حلقهٔ کنترل بالاتر باشد ربات سریع‌تر به محیط پاسخ می‌دهد؛ اما اگر زمان محاسبه از دورهٔ حلقه بیشتر شود، فرمان‌ها عقب می‌افتند و حرکت ربات لرزان و ناپایدار می‌شود.

یک کاربرد واقعی

در انبارهای خودکار فروشگاه‌های اینترنتی، ربات‌های کوچکِ حملِ قفسه دقیقاً بر پایهٔ همین سه بخش کار می‌کنند: یک دوربینِ رو به کف، برچسب‌های چاپ‌شده روی زمین را می‌خواند و نقش حسگر را بازی می‌کند؛ پردازندهٔ روی ربات موقعیت خود را روی نقشهٔ انبار به‌روزرسانی می‌کند و خانهٔ بعدی را انتخاب می‌کند؛ و دو موتور چرخ‌ها ربات را به آن خانه می‌برند. همین ساختار ساده، هزاران ربات را در یک سالن بزرگ بدون برخورد کنار هم نگه می‌دارد.

در شبیه‌ساز چه می‌بینی

در شبیه‌ساز، پردازنده همان فهرست دستورهاست، عملگر همان حرکت مهره روی خانه‌ها و حسگر همان دیوارهایی هستند که جلوی حرکت را می‌گیرند. با اجرای برنامهٔ F,F,R,F خواهی دید که ربات فقط همان چیزی را انجام می‌دهد که در برنامه نوشته‌ای، نه چیزی که در ذهن توست.

رابطه‌های کلیدی

T = 1 / fدورهٔ حلقهٔ کنترل بر حسب ثانیه از روی بسامد اجرا
d = v_s × t / 2فاصلهٔ مانع از روی زمان رفت و برگشت پژواک فراصوتی
U = (t_sense + t_think + t_act) / Tبار پردازنده؛ سهم کار مفید از هر دورهٔ حلقه
Δx = v × Tمسافتی که ربات در یک دورهٔ کامل حلقهٔ کنترل جلو می‌رود

مأموریت شبیه‌سازی

برنامهٔ کوتاه پیش‌فرض را اجرا کن و ببین کدام دستور روی مکان اثر می‌گذارد و کدام فقط جهت را عوض می‌کند.

  1. برنامهٔ F,F,R,F را در میدان ۱ اجرا کن و تعداد خانه‌های طی‌شده را یادداشت کن.
  2. برنامه را به F,F,F,F تغییر بده و ببین شمارندهٔ گام چقدر بیشتر می‌شود.
  3. برنامه را به R,R,R,R تغییر بده و توضیح بده چرا ربات از جای خود تکان نمی‌خورد.
  4. برنامه را به R,F,F,F تغییر بده و ببین با همان تعداد دستور، مقصد چگونه عوض می‌شود.
انتظار می‌رود: دستور F مکان را عوض می‌کند و دستورهای R و L فقط جهت را می‌چرخانند، بنابراین شمارندهٔ گام تنها با تعداد F بالا می‌رود.
برنامه‌نویسی ربات دنبالهٔ دستورها را بنویسید و ربات را تا هدف هدایت کنید.
پارامترها را تغییر دهید تا نتیجه زنده به‌روز شود
حالت تمام‌صفحه

آزمون این درس

۵ پرسش چهارگزینه‌ای. پس از ثبت، پاسخ درست و توضیح هر پرسش را می‌بینید. می‌توانید هر چند بار که خواستید تلاش کنید؛ بهترین نمره در کارنامه ثبت می‌شود.