لغت ربات در اکثر زبان‌های دنیا با همین تلفظ دارای معنای واحدی می‌باشد. این لغت اولین‌بار در خلال سال‌های 1920 تا 1930 در نمایشنامه‌ای با نام "RUR (Rossmuse Universal Robot)" نوشته "کارل کاپک" نویسنده چک‌اسلواکی به‌‌کار برده شد. در این نمایشنامه بازیگران نقش موجوداتی مصنوعی و کوچک شبیه انسان را بازی می‌کردند، که به‌طور مطلق تحت فرمان صاحب خود قرار داشته و دستوراتش را مو‌به‌مو اجرا می‌کردند. این موجودات ربات نامیده می‌شدند که ریشه آن از لغت اسلاو (یعنی اسلواکی‌یایی!) Robota به معنای "کارگر اجباری" است.

• قوانین ربوتیک
در سال 1940،Issac Assimov سه قانون Roobtics را به شرح زیر تبیین کرد:
1. یک ربات موجودی است که نباید به انسان آزار برساند و اجازه ندهد به چیزی ضرر برسد.
2. باید از انسان اطاعت کند، مگر این‌که با قانون اول مغایرت داشته باشد.
3. باید خودش را در برابر خطر و ضرر محافظت نماید، مگر این‌که با قانون اول و دوم مغایرت داشته باشد.

• دسته‌بندی ربات‌ها
ربات‌ها در سطوح مختلف دارای دو خاصیت "تنوع در عملکرد" و "قابلیت تطبیق خودکار با محیط" (automated adapting)
می‌باشند. بر اساس این دو خاصیت دسته‌بندی ربات‌ها انجام می‌گیرد.
دسته‌بندی اتحادیه ربات‌های ژاپنی(jira) به شرح زیر است:
1. وسیله‌ای که توسط دست کنترل می‌شود.
2. ربات برای کارهای متوالی بدون تغییر
3. ربات برای کار‌های متوالی متغیر
4. ربات مقلد
5. ربات کنترل
6. ربات باهوش
که در دسته‌بندی موسسه رباتیک آمریکا(RIA)، فقط ماشین‌های دسته 3 تا 6، ربات محسوب می‌شوند.


ساختار عمومی یک ربات
یک ربات به‌طور معمول حداقل شامل 5 بخش متفاوت ولی مرتبط می‌باشد:
a. Articulated Mechanical system : AMS (سیستم مکانیکی مفصل شده):
این سیستم متشکل از بازوها، مچ‌ها، اتصالات و عوامل نهایی مکانیکی بوده که در یک مجموعه به هم پیوسته و مرتبط جمع شده‌اند.

b. Actuators (تحریک‌کننده‌ها):
این بخش توان لازم را تحت یک سری شرایط کنترل شده و دقیق، برای سیستم مکانیکی مفصل شده(AMS) فراهم می‌کند.
این توان از انواع الکتریکی، هیدرولیکی و یا نیوماتیکی* می‌باشد.

c. Transmission system (ابزارها و سیستم‌های انتقال):
این مجموعه Actuators را به AMS اتصال می‌دهد. بدین طریق توان فراهم شده توسط تحریک‌کننده‌ها به بخش
مکانیکی منتقل شده و به‌گونه‌ای مجزا امکان حرکت را برای هر مفصل فراهم می‌آورد. تسمه‌های دنده‌دار و
چرخ‌دنده‌ها از این نوعند.

d. Sensors (حسگر‌ها):
سنسور‌ها قطعاتی هستند متشکل از ابزارهای لامسه‌ای الکتریکی یا نوری که در کنار سایر عناصر الکترونیکی
ایفای نقش می‌کنند. وظیفه این المان‌ها کسب اطلاعاتی از موقعیت مفاصل ربات و شرایط محیطی مانند نور و
گرما و هدف‌های موجود در محیط می‌باشد.

e. CPU (مغز ربات):
این بخش به‌عنوان محلی برای دستور گرفتن و تصمیم‌گیری ربات می‌باشد. به‌عبارت دیگر، وظیفه پردازش اطلاعات
دریافتی از سنسور‌ها بر عهده این بخش است که این وظیفه توسط برنامه‌های موجود در حافظه کامپیوتر به انجام
می‌رسد. بخش نرم‌افزار هم مربوط به این قسمت است.

• برنامه‌نویسی در ربات
برنامه نویسی در ربات به دو صورت Online و Offline انجام می‌شود.
برنامه‌نویسی Online که امروزه به عنوان معمول‌ترین روش در به‌کارگیری ربات‌های صنعتی استفاده می شود، اپراتور حرکت‌های مورد نظر را به ربات آموزش می‌دهد، به‌گونه‌ای که ربات بعدا می‌تواند بدون کمک و به‌طور خودکار همان کار‌ها را تکرار کند. این نوع از برنامه‌نویسی به دو صورت انجام می‌شود: 1- آموزش دستی 2- آموزش از طریق هدایت.
در روش دستی با کمک یک جعبه کنترلی، ربات را به نقاط مورد نظر هدایت کرده و مختصات آن‌ها در حافظه کامپیوتری ربات ثبت می‌شود و به این ترتیب برای دفعات بسیار قابل تکرار است. در روش هدایت، عامل نهایی را با دست در مسیر دلخواه حرکت داده و وضعیت پیوسته هر یک از محورها در حافظ ربات ثبت می‌شود.
اما در مورد برانمه‌نویسی Offline که به برنامه‌نویسی سطح بالا موسوم است، این نکته اهمیت دارد که وقتی انجام کارهای پیچیده مورد نظر است و یا سرعت واکنش ربات به وقایع خارجی اهمیت دارد، باید از زبان های "کنترل‌کننده" ربات‌ها استفاده کرد. در این زبان‌ها علاوه بر وجود دستورات معمولی از قبیل کنترل حلقه و یا عبارات شرطی، دستوراتی برای حرکت و جابه‌جایی ربات‌ها هم در نظر گرفته شده است. این نوع برنامه‌نویسی امکان ارتباط آسان‌تر با ربات را فراهم می‌آورد.



• تقسیم‌بندی تاریخی ربات‌ها
a. ربات‌های برنامه‌ناپذیر یا ربات‌های نسل صفر
b. ربات‌های برنامه‌پذیر یا ربات‌های نسل اول: این نوع ربات‌ها دارای محرک‌های قابل کنترل‌اند که توان تکرار یک برنامه را به این ترتیب دارا هستند. از این ربات‌ها در کاربردهای صنعتی مانند خطوط مونتاژ ساده استفاده می‌شود.
c. ربات‌های آداپتیو یا ربات‌های نسل دوم: این ربات‌ها به سیستم بینایی نیز مجهزند و عملا با به‌کارگیری نرم‌افزارهای خاص که توانایی پردازش داده‌های میکروپروسسوری را دارند، نوعی هوش‌مصنوعی برای ربات فراهم می‌سازند که قابلیت تصمیم‌گیری برای آن‌ها امکان‌پذیر می‌شود.

• سنسورها در ربات: در اتوماسیون سخت(Hard Automation) که درآن یک ماشین وظیفه مشخص را همان‌گونه که در صنعت مورد نیاز است انجام می‌دهد، نیازی به هوشمند بودن سیستم نیست. اما برای رسیدن به اتوماسیون هوشمند (Inteligent Automation) به دو جز کلیدی نیازمندیم: هوش‌مصنوعی و سیستم سنسوری.
به کمک این دو می‌توان به ربات‌های صنعتی با کاربردهایی در نقاشی، جوشکاری، حمل‌و‌نقل و مونتاژ رسید که قدرت انجام کارهای پیچیده، تشخیص و تفکیک را دارا هستند.
سنسورها اغلب برای درک اطلاعات تماسی، تنشی، مجاورتی، بینایی و صوتی به‌کار می‌روند. عملکرد سنسورها بدین‌گونه است که با توجه به تغییرات فاکتوری که نسبت به آن حساس هستند، سطوح ولتاژی ناچیزی را در پاسخ ایجاد می‌کنند، که با پردازش این سیگنال‌های الکتریکی می‌توان اطلاعات دریافتی را تفسیر کرده و برای تصمیم‌گیری‌های بعدی از آن‌ها استفاده نمود.

سنسورها را می‌توان از دیدگاه‌های مختلف به دسته‌های متفاوتی تقسیم که در ذیل می‌آید:
a. سنسور محیطی: این سنسورها اطلاعات را از محیط خارج و وضعیت اشیای اطراف ربات، دریافت می‌نمایند.
b. سنسور بازخورد: این سنسور اطلاعات وضعیت ربات، از جمله موقعیت بازوها، سرعت حرکت و شتاب آن‌ها و نیروی وارد بر درایورها را دریافت می‌نمایند.
c. سنسور فعال: این سنسورها هم گیرنده و هم فرستنده دارند و نحوه کار آن‌ها بدین ترتیب است که سیگنالی توسط سنسور ارسال و سپس دریافت می‌شود.
d. سنسور غیرفعال: این سنسورها فقط گیرنده دارند و سیگنال ارسال شده از سوی منبعی خارجی را آشکار می‌کنند، به‌ ‌همین دلیل ارزان‌تر، ساده‌تر و دارای کارایی کمتر هستند.

بحث سنسورها را، بحثی بس طولانی دارد که در یک پست جداگانه بتفصیل خواهم آورد. در پست‌های بعدی به ادامه " ربات به‌طور خلاصه" خواهم پرداخت.(خوب شد ربات بطور خلاصه است که اینقدر طولانی شد، بیبینید اگه ربات به‌طور مفصل بود، چی می‌شد! من هم با این اسم انتخاب کردنم!!)
سنسورها در ربات

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

a. سنسور محیطی: این سنسورها اطلاعات را از محیط خارج و وضعیت اشیای اطراف ربات، دریافت می‌نمایند.

b. سنسور بازخورد: این سنسور اطلاعات وضعیت ربات، از جمله موقعیت بازوها، سرعت حرکت و شتاب آن‌ها و نیروی وارد بر درایورها را دریافت می‌نمایند.

c. سنسور فعال: این سنسورها هم گیرنده و هم فرستنده دارند و نحوه کار آن‌ها بدین ترتیب است که سیگنالی توسط سنسور ارسال و سپس دریافت می‌شود.

d. سنسور غیرفعال: این سنسورها فقط گیرنده دارند و سیگنال ارسال شده از سوی منبعی خارجی را آشکار می‌کنند، به‌ ‌همین دلیل ارزان‌تر، ساده‌تر و دارای کارایی کمتر هستند.


سنسورها از لحاظ فاصله‌ای که با هدف مورد نظر باید داشته باشند به سه قسمت تقسیم می‌شوند:

§ سنسور تماسی: این نوع سنسورها در اتصالات مختلف محرک‌ها مخصوصا در عوامل نهایی یافت می‌شوند و به دو بخش قابل تفکیک‌اند.
i. سنسورهای تشخیص تماس
ii. سنسورهای نیرو-فشار


§ سنسورهای مجاورتی: این گروه مشابه سنسورهای تماسی هستند، اما در این مورد برای حس کردن لازم نیست حتما با شی در تماس باشد. عموما این سنسورها از نظر ساخت از نوع پیشین دشوارترند ولی سرعت و دقت بالاتری را در اختیار سیستم قرار می‌دهند.
دو روش عمده در استفاده از سنسورها وجود دارد:
i. حس کردن استاتیک: در این روش محرک‌ها ثابت‌اند و حرکت‌هایی که صورت می‌گیرد بدون مراجعه لحظه‌ای به سنسورها صورت می‌گیرد.به عنوان مثال در این روش ابتدا موقعیت شیتشخیص داده می‌شود و سپس حرکت به سوی آن نقطه صورت می‌گیرد.
ii. حس کردن حلقه بسته: در این روش بازوهای ربات در طول حرکت با توجه به اطلاعات سنسورها کنترل می‌شوند. اغلب سنسورها در سیستم‌های بینا این‌گونه‌اند.


حال از لحاظ کاربردی با نمونه‌هایی از انواع سنسورها در ربات آشنا می‌شویم:

a. سنسورهای بدنه (Body Sensors) : این سنسورها اطلاعاتی را درباره موقعیت و مکانی که ربات در آن قرار داردفراهم می‌کنند. این اطلاعات نیز به کمک تغییر وضعیت‌هایی که در سوییچ‌ها حاصل می‌شود، به دست می‌آیند. با دریافت و پردازش اطلاعات بدست آمده ربات می‌تواند از شیب حرکت خود و این‌که به کدام سمت در حال حرکت است آگاه شود. در نهایت هم عکس‌العملی متناسب با ورودی دریافت شده از خود بروز می‌دهد.
b. سنسور جهت‌یاب مغناطیسی(Direction Magnetic Field Sensor): با بهره‌گیری از خاصیت مغناطیسی زمین و میدان مغناطیسی قوی موجود، قطب‌نمای الکترونیکی هم ساخته شده است که می‌تواند اطلاعاتی را درباره جهت‌های مغناطیسی فراهم سازد. این امکانات به یک ربات کمک می‌کند تا بتواند از جهت حرکت خود آگاه شده و برای تداوم حرکت خود در جهتی خاص تصمصم‌گیری کند. این سنسورها دارای چهار خروجی می‌باشند که هرکدام مبین یکی از جهت‌ها است. البته با استفاده از یک منطق صحیح نیز می‌توان شناخت هشت جهت مغناطیسی را امکان‌پذیر ساخت.
c. سنسورهای فشار و تماس (Touch and Pressure Sensors) : شبیه‌سازی حس لامسه انسان کاری دشوار به نظر می‌رسد. اما سنسورهای ساده‌ای وجود دارند که برای درک لمس و فشار مورد استفاده قرار می‌گیرند. از این سنسورها در جلوگیری از تصادفات و افتادن اتومبیل‌ها در دست‌اندازها استفاده می‌شود. این سنسورها در دست‌ها و بازوهای ربات‌ هم به منظورهای مختلفی استفاده می‌شوند. مثلا برای متوقف کردن حرکت ربات در هنگام برخورد عامل نهایی با یک شی. همچنین این سنسورها به ربات‌ها برای اعمال نیروی کافی برای بلند کردن جسمی از روی زمین و قرار دادن آن در جایی مناسب نیز کمک می‌کند. با توجه به این توضیحات می‌توان عملکرد آن‌ها را به چهار دسته زیر تقسیم کرد: 1- رسیدن به هدف، 2- جلوگیری از برخورد، 3- تشخیص یک شی.
d. سنسورهای گرمایی (Heat Sensors): یکی از انواع سنسورهای گرمایی ترمینستورها هستند. این سنسورها المان‌های مقاومتی پسیوی هستند که مقاومتشان متناسب با دمایشان تغییر می‌کند. بسته به اینکه در اثر گرما مقاومتشان افزایش یا کاهش می‌یابد، برای آن‌ها به ترتیب ضریب حرارتی مثبت یا منفی را تعریف می‌کنند. نوع دیگری از سنسورهای گرمایی ترموکوپل‌ها هستند که آن‌ها نیز در اثر تغییر دمای محیط ولتاژ کوچکی را تولید می‌کنند. در استفاده از این سنسورها معمولا یک سر ترموکوپل را به دمای مرجع وصل کرده و سر دیگر را در نقطه‌ای که باید دمایش اندازه‌گیری شود، قرار می‌دهند.
e. سنسورهای بویایی (Smell Sensors): تا همین اواخر سنسوری که بتواند مشابه حس بویایی انسان عمل کند، وجود نداشت. آنچه که موجود بود یک‌سری سنسورهای حساس برای شناسایی گازها بود که اصولا هم برای شناسایی گازهای سمی کاربرد داشتند. ساختمان این سنسورها به این صورت است که یک المان مقاومتی پسیو که از منبع تغذیه‌ای مجزا، با ولتاژ 5+ ولت تغذیه می‌شود، در کنار یک سنسور قرار دارد که با گرم شدن این المان حساسیت لازم برای پاسخ‌گویی سنسور به محرک‌های محیطی فراهم می‌شود. برای کالیبره کردن این دستگاه ابتدا مقدار ناچیزی از هر بو یا عطر دلخواه را به سیستم اعمال کرده و پاسخ آن را ثبت می‌کنند و پس از آن این پاسخ را به عنوان مرجعی برای قیاس در استفاده‌های بعدی به کار می‌‌برند. اصولا در ساختمان این سیستم چند سنسور، به طور همزمان عمل می‌کنند و سپس پاسخ‌های دریافتی از آن‌ها به شبکه‌ عصبی ربات منتقل شده و تحلیل و پردازش لازم روی آن صورت می‌گیرد. نکته مهم درباره کار این سنسورها در این است که آن‌ها نمی‌توانند یک بو یا عطر را به طور مطلق انداره‌ بگیرند. بلکه با اندازه‌گیری اختلاف بین آن‌ها به تشخیص بو می‌پردازند.
f. سنسورهای موقعیت مفاصل : رایج‌ترین نوع این سنسورها کدگشاها (Encoders) هستند که هم از قدرت بالای تبادل اطلاعات با کامپیوتر برخوردارند و هم اینکه ساده، دقیق، مورد اعتماد و نویز ناپذیرند. این دسته انکدرها را به دو دسته می‌توان تقسیم کرد:
i. انکدرهای مطلق: در این کدگشا ها موقعیت به کد باینری یا کد خاکستری BCD (Binary Codded Decible ) تبدیل می‌شود. این انکدرها به علت سنگینی و گران‌قیمت بودن و اینکه سیگنال‌های زیادی را برای ارسال اطلاعات نیاز دارند، کاربرد وسیعی ندارند. همانطور که می‌دانیم به‌کار گیری تعداد زیادی سیگنال درصد خطای کار را افزایش می‌دهد و این اصلا مطلوب نیست. پس از این انکدرها فقط در مواردی که مطلق بودن مکان‌ها برای ما خیلی مهم است و مشکلی هم از احاظ بار فابل تحمل ربات متوجه ما نباشد، استفاده می‌شود.
ii. انکدرهای افزاینده: این کدگشا ها دارای قطار پالس و یک پالس مرجع که برای کالیبره کردن بکار می‌رود هستند، از روی شمارش قطارهای پالس نسبت به نقطه مرجع به موقعیت مورد نظر دست می‌یابند. از روی فرکانس (عرض پالس‌ها) می‌توان به سرعت چرخش و از روی محاسبه تغییرات فرکانس در واحد زمان (تغییرات عرض پالس) به شتاب حرکت دوارنی پی برد. حتی می‌توان جهت چرخش را نیز فهمید. فرض کنید سیگنال‌های A و B و C سه سیگنالی باشند که از کدگشا به کنترل‌کننده ارسال می‌شود. B سیگنالی است که با یک چهارم پریود تاخیر نسبت به A. از روی اختلاف فاز بین این دو می‌توان به جهت چرخش پی برد.