در صورتیکه بخش های قبلی پروژه را مطالعه نکرده اید حتما به بخش اول (چگونه یک ربات بسازیم؟) مراجعه کنید و از ابتدا پروژه را مطالعه کنید.
بخش ششم – متدهای کنترل ربات
کنترل ربات مساله مهمی است که باید به آن پرداخت. در واقع با توجه به میزان استقلال در عملکرد ربات ، نحوه کنترل ربات را تعیین می کنیم.
شیوه کنترل ربات را می توان به سه بخش کلی تقسیم می شود:
- متصل
- بی سیم
- مستقل
که هر بخش نیز شامل زیربخش هایی می باشد که به آنها اشاره خواهیم کرد.
متصل
کنترل سیمی مستقیم
ساده ترین راه این است که دستگاه را با یک کنترل دستی که به صورت سیمی مستقیم متصل شده، کنترل کرد. به کمک سوئیچ ها ، دستگیره ها ، اهرم ها ، joystick ها و دکمه های موجود در این کنترل می توان دستگاه را کنترل کرد. اینگونه دستگاه ها را عموماً ماشین های کنترل از راه دور می گویند و با توجه به تعریف ما از ربات که در بخش اول توضیح دادیم، به سختی می توان آنها را ربات نامید.
مزایا
- این ربات مستقیما به کنترلر وصل شده به همین دلیل محدودیت زمانی برای عملکرد خود ندارد.
- به دلیل اتصال مستقیم هیچ نگرانی برای از دست دادن سیگنال وجود ندارد.
- کمترین پیچیدگی را دارد.
- وزن ربات کم است.
- از نظر فیزیکی قابل بازیابی می باشد.
معایب
- ممکن است سیم اتصال بریده شود.
- به دلیل اتصال سیمی ، ربات نمی تواند خیلی دور شود و فقط می تواند به اندازه طول سیم فاصله داشته باشد.
- اگر برای اتصال یک سیم بلند به کار ببرید، باعث ایجاد اصطکاک می شود و ممکن است حرکت ربات را کند یا حتی متوقف کند.
کنترل سیمی با استفاده از رایانه
در این حالت یک میکروکنترلر در ربات وجود دارد ولی همچنان با استفاده از سیم ، متصل شده است. اتصال میکروکنترلر به یکی از درگاه های ورودی/خروجی رایانه شما (فرضاً درگاه USB) به شما این امکان را می دهد که نحوه عملکرد ربات را با استفاده از صفحه کلید ، joystick یا دستگاه های دیگر کنترل کنید.
با اضافه کردن میکروکنترلر به پروژه لازم است که عملکرد ربات برنامه نویسی شود. به جای استفاده از لپ تاپ یا رایانه رومیزی ، نوت بوک ها به دلیل قیمت پایین ، اندازه کوچک و وزن کم، انتخاب مناسبتری هستند.
مزایا
- مزایای این روش مشابه با روش کنترل مستقیم سیمی است.
- رفتارهای پیچیده تری را می توان برای ربات برنامه نویسی کرد.
- می توان کنترلر بزرگتری ( ماوس ، صفحه کلید ، joystick و غیره ) را انتخاب کرد.
- با اضافه کردن میکروکنترلر به ربات ، هوش ربات بالاتر رفته و می توان سنسور به آن وصل کرد و ربات می تواند تصمیماتی را به صورت مستقل بگیرد.
معایب
- هزینه این نوع ربات از ربات با کنترل سیمی مستقیم بالاتر است.
- معایب دیگری که در روش سیمی مستقیم وجود داشت در این حالت نیز هست.
کنترل از طریق Ethernet
می توان از اتصال Ethernet بین رایانه و ربات استفاده کرد. در این حالت ربات به یک مودم متصل است بنابراین می توان آن را از طریق اینترنت کنترل کرد. هرچند این روش در ربات های متحرک کاربرد ندارد. این روش برای کنترل ربات نسبتا پیچیده است و اغلب به جای این روش با استفاده از اتصال بی سیم Wifi ربات را کنترل می کنند.
یک روش ترکیبی سیمی و بی سیم نیز وجو دارد که در آن انتقال داده ها به صورت سیمی متصل به اینترنت و دریافت داده ها از اینترنت به صورت بی سیم در ربات انجام می شود.
مزایا
- ربات را می توان به کمک اینترنت از هر جایی در جهان کنترل کرد.
- عملکرد این ربات محدودیت زمانی ندارد زیرا از PoE ( Ethernet ) استفاده می کند.
- استفاده از پروتکل اینترنت ( IP ) سبب شده تا ارتباط با ربات به سادگی انجام گیرد.
- مزایایی که در کنترل سیمی با استفاده از رایانه وجود داشت در این حالت نیز هست.
معایب
- برنامه نویسی آن پیچیده تر است.
- ممکن است که سیم Ethernet بریده یا قطع شود.
- به دلیل اتصال با سیم Ethernet ، ربات نمی تواند خیلی دور شود و فقط می تواند به اندازه طول سیم فاصله داشته باشد.
- اگر برای اتصال یک سیم بلند به کار ببرید، باعث ایجاد اصطکاک می شود و ممکن است حرکت ربات را کند یا حتی متوقف کند.
بی سیم
کنترل مادون قرمز ( Infrared )
با استفاده از مادون قرمز می توان بین کنترلر و ربات یک اتصال بی سیم ایجاد کرد. معمولاً مبتدیان از این روش استفاده می کنند. کنترل مادون قرمز برای ارسال داده باید گیرنده را ببیند و گیرنده نیز برای دریافت داده، باید فرستنده را همیشه ببیند.
کنترل از راه دور مادون قرمز (مانند کنترل تلویزیون) دستورات را به گیرنده مادون قرمز متصل به میکروکنترلر می فرستد و سپس این سیگنال ها توسط میکروکنترلر تفسیر می شود و در نهایت عملکرد ربات کنترل می شود.
مزایا
- قیمت پایینی دارد.
- از کنترل تلویزیون می توان به عنوان کنترلر استفاده کرد.
معایب
- فرستنده و گیرنده همیشه باید در دیدرس یکدیگر باشند.
- فاصله بین کنترلر و ربات باید کم باشد تا بتوانند بهم متصل شوند.
- کنترل مادون قرمز فقط یکسری دستورات ساده را می تواند به سمت ربات بفرستد زیرا سرعت ارسال داده ها بسیار پایین است.
کنترل رادیویی ( RF )
واحدهای کنترل از راه دور در دسترس تجاری (R/C ) از میکروکنترلرهای کوچک در فرستنده و گیرنده برای ارسال و دریافت و تفسیر داده های ارسال شده از طریق فرکانس رادیویی ( RF ) استفاده می کنند. جعبه گیرنده دارای یک PCB ( صفحه مدار چاپی ) است که شامل واحد گیرنده و یک کنترلر کوچک سروو موتور می باشد. ارتباطات RF نیاز به یک فرستنده که به یک گیرنده، وصل شده باشد، یا یک فرستنده که بتواند داده را ارسال و دریافت کند.
در RF ، نیازی نیست که فرستنده و گیرنده یکدیگر را ببینند و همچنین می توانند در فاصله ی دورتری نیز با هم ارتباط برقرار کنند. دستگاههای فرکانس رادیویی استاندارد می توانند امکان انتقال داده بین دستگاهها را تا چند کیلومتر نیز فراهم کنند و احتمالاً برای دستگاههای RF پیشرفته تر محدودیتی وجود نداشته باشد.
ماژول های XBee و Zigbee برای ارتباط از RF استفاده می کنند. این ماژول ها فقط توسط شرکت های خاصی تولید می شوند. مزیت اصلی آنها این است که از یک روش ساده و پایدار برای ارتباط بین فرستنده و گیرنده استفاده می کنند و از تمام پروتکل های ارتباطی پشتیبانی می کنند. بسیاری از شرکتها، ربات های نیمه مستقل با قابلیت RF تولید می کنند، زیرا اینگونه رباتها تا حد زیادی مستقل هستند و بازخورد موقعیت مکانی خود را ارائه می دهند و البته کاربر، برای برخی از عملکردهای این رباتها ، امکان کنترل آنها را دارد.
مزایا
- فرستنده و گیرنده می توانند در فاصله چند کیلومتری نیز با هم ارتباط برقرار کنند.
- راه اندازی آن ساده می باشد.
- فرکانس های RF از دیوارها و موانع عبور می کنند و نیازی نیست که فرستنده و گیرنده در دیدرس یکدیگر باشند.
معایب
- مراقب فرکانس های انتقال باشید زیرا آنها می توانند به اشتراک گذاشته شوند.
بلوتوث ( Bluetooth )
بلوتوث نوعی RF است و از پروتکل های خاصی برای ارسال و دریافت داده پشتیبانی می کند. دامنه بلوتوث حدوداً 10 متر می باشد، اما این مزیت را دارد که به کاربران امکان کنترل ربات خود را از طریق دستگاههای دارای بلوتوث مانند تلفن های همراه، PDA ها و لپ تاپ ها می دهد. بلوتوث نیز همانند RF ، ارتباط دو طرفه ای را ارائه می دهد.
مزایا
- قابل کنترل از طریق هر دستگاهی که بلوتوث داشته باشد (معمولاً برنامه نویسی اضافی لازم است) مانند تلفن های هوشمند ، لپ تاپ ، دسک تاپ و غیره.
- امکان انتقال داده های بزرگتری را دارد.
- فرکانس های بلوتوث تا حدودی می توانند از دیوارها و موانع عبور کنند و نیازی نیست که فرستنده و گیرنده در دیدرس یکدیگر باشند.
معایب
- دستگاه ها باید با یکدیگر جفت یا pair شوند.
- حداکثر فاصله بین فرستنده و گیرنده حدود 10 متر و بدون مانع می تواند باشد.
وای فای ( WiFi )
امروزه معمولا برای ارسال و دریافت داده در رباتها از ماژول وای فای استفاده می شود. البته کنترل ربات بصورت بی سیم از طریق اینترنت، مزایا و معایبی را به همراه دارد. برای ایجاد یک ربات وای فای ، به یک مودم وایرلس متصل به اینترنت و یک ماژول وای فای در خود ربات نیاز است.
مزایا
- تا زمانیکه در محدوده فاصله مودم وایرلس قرار داشته باشد، از هر جای دنیا قابل کنترل است.
- امکان انتقال داده های بزرگ را نیز دارد.
معایب
- نیاز به برنامه نویسی اضافی دارد.
- حداکثر فاصله ای که فرستنده و گیرنده می توانند داشته باشند بستگی به انتخاب نوع مودم وایرلس دارد.
GPRS
موبایل یکی از فناوری های بی سیم است که در ابتدا برای ارتباط انسانها با یکدیگر ساخته شده بود و اکنون برای کنترل رباتها استفاده می شود. فرکانس های GPRS در موبایل ها تنظیم شده اند و ترکیب یک ماژول GPRS روی یک ربات معمولاً به برنامه نویسی و همچنین درک سیستم شبکه ی GPRS بیشتری نیاز است.
مزایا
- هر جاییکه ربات ، سیگنال GPRS داشته باشد، قابل کنترل است.
- اتصال مستقیم ماهواره ای امکان پذیر است.
معایب
- تنظیمات و ساختار این نوع کنترل پیچیده تر است.
- هر شبکه الزامات و محدودیت های خاص خود را دارد.
- خدمات GPRS رایگان نیست؛ معمولاً هرچه میزان داده بیشتری را ارسال و دریافت کنید، پول بیشتری نیز باید پرداخت کنید.
- این متد هنوز برای کنترل رباتها به خوبی تنظیم نشده است.
مستقل
برای اینکه ربات شما کاملا مستقل عمل کند باید از میکروکنترلر در ربات خود استفاده کنید و همچنین با توجه به سنسورهای تعبیه شده در آن، برنامه ای را برای عملکرد ربات بنویسید. کنترل مستقل می تواند به اشکال مختلفی ایجاد شود: از قبل برنامه نویسی شده و بدون بازخورد از محیط، بازخورد حسگر محدود و در نهایت بازخورد حسگر پیچیده. کنترل مستقل واقعی شامل سنسورها و کد های متنوعی است که به ربات اجازه می دهد به تنهایی بهترین عملکرد را در شرایط موجود ارائه دهد.
پیچیده ترین روش های کنترل که در حال حاضر در رباتهای مستقل وجود دارد، دستورات دیداری و شنیداری است. در کنترل دیداری ، ربات برای انجام دستورات به انسان یا یک شی نگاه می کند. فرضاً اگر بخواهید به ربات دستور دهید که به طرف چپ حرکت کند، می توانید با نشان دادن یک تکه کاغذ که بیانگر فلش به جهت چپ است این کار را انجام دهید که البته آموزش ربات برای این منظور بسیار کار سختی می باشد. در کنترل شنیداری برنامه نویسی دستوراتی مانند ( چرخش به چپ ) کار خیلی سختی نیست ولی برنامه نویسی دستورات پیچیده -تری مانند ( به من یک نوشیدنی از یخچال بده ) یا ( کفشهایم را بده، آنها کنار درب جلویی هستند. ) برنامه نویسی سطح بالا و زمان زیادی نیز می طلبد.
مزایا
- این نوع ربات ها ، رباتیک واقعی هستند.
- این رباتها می توانند به سادگی یک چراغ چشمک زن سنسوردار باشند تا یک فضاپیما که باید در یک سیاره دور فرود آید.
معایب
- اینگونه رباتها هر چقدر که برنامه قوی تری داشته باشند، عملکرد پیشرفته تر و بهتری خواهند داشت و اگر کاری انجام دهند که مدنظرتان نباشد، می توانید کد خود را بررسی کنید، آن را تغییر دهید و تغییرات را در ربات بارگذاری کنید.
مثال عملی
ما در این پروژه می خواهیم یک ربات مستقل طراحی کنیم که بتواند براساس دستورات ورودی که از سنسورها می آیند عملکردی را از خود نشان دهد. خاموش و روشن شدن ربات به صورت فیزیکی و دستی انجام می شود. همچنین می توان ربات را از نوع نیمه مستقل با کنترل بی سیم طراحی کرد و از نوع کنترل از راه دور باشد. به هر صورت کنترل به هیچ وجه از نوع متصل نخواهد بود.
میکروکنترلر انتخاب شده که در بخش چهارم در مورد آن صحبت شد آردوینو می باشد. انواع مختلفی میکروکنترلر آردوینو وجود دارد از جمله مواردی که امکان ارتباط Ethernet ، Xbee ، بلوتوث یا حتی GPRS را فراهم میکند. البته ربات مورد نظر ما هیچ ماژول اضافی نخواهد داشت، هرچند قابلیت ارتباط بی سیم دارد.
ادامه این پروژه را در بخش هفتم (کاربرد سنسورها در ساخت ربات) مطالعه کنید.