روبات واژه ای است که با شنیدن آن پیشرفت، زندگی نوین، زندگی ماشینی و واژه های بسیار دیگر به ذهن متبادر می شوند. این اختراع عجیب انسان، امروزه دیگر عضوی از زندگی او شده و هر روز توسط او در حال پیشرفت است. از فعالیت های سنگین صنعتی در مراکز صنعتی گرفته تا سطح اجرام آسمانی و فضا، در همه جا روبات ها به عنوان نمایندگان انسان و به جای او کارهای متفاوتی را انجام می دهند، اما روبات چگونه متولد شد و به چه حدی از پیشرفت دست یافته است.
تاریخچه و تعریف
برای بسیاری از افراد عادی، اگر یک ماشین یا دستگاه الکترونیکی به لحاظ ظاهری شبیه به انسان باشد، به راحتی روبات خطاب میشود. برای مثال یک ماشین میللنگکاری CNC با وجود اینکه به لحاظ ظاهری شبیه به بازو و دست انسان است، اما قدرت انتخاب و تصمیمگیری ندارد و به اشتباه روبات خطاب میشود در حالی که تنها یک ماشین ساده است. لغت روبات در اکثر زبانهای دنیا با همین تلفظ دارای معنای واحدی میباشد. این لغت اولینبار در خلال سالهای 1920 تا 1930 در نمایشنامهای با نام RUR (Rossmuse Universal Robot) نوشته کارل کاپک نویسنده چکاسلواکی بهکار برده شد. در این نمایشنامه بازیگران نقش موجوداتی مصنوعی و کوچک شبیه انسان را بازی میکردند، که بهطور مطلق تحت فرمان صاحب خود قرار داشته و دستوراتش را موبهمو اجرا میکردند. این موجودات روبات نامیده میشدند که ریشه آن از لغت اسلاو (یعنی اسلواکییایی!) Robota به معنای کارگر اجباری است.
تعریف روباتیک
روباتیک، علم مطالعه فن آوری مرتبط با طراحی، ساخت و اصول کلی و کاربرد روباتهاست. روباتیک علم و فن آوری ماشینهای قابل برنامه ریزی، با کاربردهای عمومی می باشد.
برخلاف تصور افسانه ای عمومی از روباتها به عنوان ماشینهای سیار انسان نما که تقریباً قابلیت انجام هر کاری را دارند، بیشتر دستگاههای روباتیک در مکانهای ثابتی در کارخانه ها بسته شده اند و در فرایند ساخت با کمک کامپیوتر، اعمال قابل انعطاف، ولی محدودی را انجام می دهند. چنین دستگاهی حداقل شامل یک کامپیوتر برای نظارت بر اعمال و عملکردهای و اسباب انجام دهنده عمل مورد نظر، می باشد. علاوه براین، ممکن است حسگرها و تجهیزات جانبی یا ابزارهای خاصی نیز داشته باشند. بعضی از روباتها، ماشینهای مکانیکی نسبتاً ساده ای هستند که کارهای اختصاصی مانند جوشکاری و یا رنگ افشانی را انجام می دهند، که سایر سیستم های پیچیده تر بطور همزمان چند کار انجام می دهند، به دستگاههای حسی، برای جمع آوری اطلاعات مورد نیاز برای کنترل کارشان نیاز دارند. حسگرهای یک روبات ممکن است بازخورد حسی ارائه دهند، طوریکه بتوانند اجسام را برداشته و بدون آسیب زدن، در جای مناسب قرار دهند. روبات دیگری ممکن است دارای نوعی دید باشد، که عیوب کالاهای ساخته شده را تشخیص دهد. بعضی از روباتهای مورد استفاده در ساخت مدارهای الکترونیکی، پس از مکان یابی دیداری علامتهای تثبیت مکان بر روی برد، می توانند اجزاء بسیار کوچک را در جای مناسب قرار دهند. ساده ترین شکل روباتهای سیار، برای رساندن نامه در ساختمانهای اداری یا جمع آوری و رساندن قطعات در ساخت، دنبال کردن مسیر یک کابل قرار گرفته در زیر خاک یا یک مسیر رنگ شده به کار برده می شوندکه هرگاه به هدف تعیین شده رسیدند، متوقف می شوند. روباتهای بسیار پیچیده تر در محیط های نامعین تر مانند معادن استفاده می شود.
قوانین ربوتیک
در سال 1940،Issac Assimov سه قانون Robotics را به شرح زیر بیان کرد:
1. یک روبات موجودی است که نباید به انسان آزار برساند و اجازه ندهد به چیزی ضرر برسد.
2. باید از انسان اطاعت کند، مگر این که با قانون اول مغایرت داشته باشد.
3. باید خودش را در برابر خطر و ضرر محافظت نماید، مگر اینکه با قانون اول و دوم مغایرت داشته باشد.
تاثیر هوش مصنوعی بر روباتیک
در سال 1959 با ایجاد شاخه ای دیگر در دانش بشری، افق های تازه ای به روی روبات ها گشوده شد. در این سال ماروین مینسکی و جان مک کارتی در ام آی تی هوش مصنوعی را به جهانیان معرفی کردند. اختراع هوش مصنوعی تاثیری باورنکردنی بر پیشرفت روبات ها داشت و آنها را از مبحثی صرفاً علمی به موضوعی عمومی که می تواند در زندگی و صنعت مورد استفاده باشد تبدیل کرد. سه سال بعد اولین روبات صنعتی دنیا توسط جنرال موتورز آمریکا خریداری شد. با استفاده گسترده از روبات ها در صنایع امریکا، کشورهای دیگر هم به روبات ها علاقه مند شدند. یکی از این کشورها ژاپن بود که در سال 1967 واردات روبات از آمریکا را آغاز کرد. علاقه زیاد ژاپنی ها به روبات آنها را قادر ساخت که یک سال بعد اولین روبات غیر اروپایی امریکایی دنیا را بسازند.
ساختار عمومی یک روبات
یک روبات بهطور معمول حداقل شامل 5 بخش متفاوت ولی مرتبط میباشد:
1 - سیستم مکانیکی مفصل شده : (Articulated Mechanical system : AMS)
این سیستم متشکل از بازوها، مچها، اتصالات و عوامل نهایی مکانیکی بوده که در یک مجموعه به هم پیوسته و مرتبط جمع شدهاند.
2 - تحریککنندهها : (Actuators)
این بخش توان لازم را تحت یک سری شرایط کنترل شده و دقیق، برای سیستم مکانیکی مفصل شده(AMS) فراهم میکند.
این توان از انواع الکتریکی، هیدرولیکی و یا نیوماتیکی میباشد.
3 - ابزارها و سیستمهای انتقال : (Transmission system)
این مجموعه Actuators را به AMS اتصال میدهد. بدین طریق توان فراهم شده توسط تحریککنندهها به بخش مکانیکی منتقل شده و بهگونهای مجزا امکان حرکت را برای هر مفصل فراهم میآورد. تسمههای دندهدار و چرخدندهها از این نوعند.
4 - حسگرها :(Sensors)
سنسورها قطعاتی هستند متشکل از ابزارهای لامسهای الکتریکی یا نوری که در کنار سایر عناصر الکترونیکی ایفای نقش میکنند. وظیفه این المانها کسب اطلاعاتی از موقعیت مفاصل روبات و شرایط محیطی مانند نور و گرما و هدفهای موجود در محیط میباشد.
5 - مغز روبات :(CPU)
این بخش بهعنوان محلی برای دستور گرفتن و تصمیمگیری روبات میباشد. بهعبارت دیگر، وظیفه پردازش اطلاعات دریافتی از سنسورها بر عهده این بخش است که این وظیفه توسط برنامههای موجود در حافظه کامپیوتر به انجام میرسد. بخش نرمافزار هم مربوط به این قسمت است.
برنامهنویسی در روبات
برنامه نویسی در روبات به دو صورت Online و Offline انجام میشود.
در برنامهنویسی Online که امروزه به عنوان معمولترین روش در بهکارگیری روباتهای صنعتی استفاده می شود، اپراتور حرکتهای مورد نظر را به روبات آموزش میدهد، بهگونهای که روبات بعداً میتواند بدون کمک و بهطور خودکار همان کارها را تکرار کند. این نوع از برنامهنویسی به دو صورت انجام میشود: 1- آموزش دستی 2- آموزش از طریق هدایت.
در روش دستی با کمک یک جعبه کنترلی، روبات را به نقاط مورد نظر هدایت کرده و مختصات آنها در حافظه کامپیوتری روبات ثبت میشود و به این ترتیب برای دفعات بسیار قابل تکرار است. در روش هدایت، عامل نهایی را با دست در مسیر دلخواه حرکت داده و وضعیت پیوسته هر یک از محورها در حافظ روبات ثبت میشود.
اما در مورد برنامهنویسی Offline که به برنامهنویسی سطح بالا موسوم است، این نکته اهمیت دارد که وقتی انجام کارهای پیچیده مورد نظر است و یا سرعت واکنش روبات به وقایع خارجی اهمیت دارد، باید از زبان های کنترلکننده روباتها استفاده کرد. در این زبانها علاوه بر وجود دستورات معمولی از قبیل کنترل حلقه و یا عبارات شرطی، دستوراتی برای حرکت و جابهجایی روباتها هم در نظر گرفته شده است. این نوع برنامهنویسی امکان ارتباط آسانتر با روبات را فراهم میآورد.