مقدمه ربات خودمختار
جالب توجه است انجام همه اموری که توسط Unimate نشان داده شد، به تازگی بصورت خودمختار دست یافتهایم. در واقع آنچه در تلویزیون از Unimate نشان داده شد، تمام حرکات برنامه ریزی شده و محیط آن به دقت صحنه سازی شده بود. به تازگی تنها با ظهور حسگر ارزان قیمت و قدرتمند و محاسبات، ربات قادر به تشخیص یک شیء توسط خود، حرکات برنامهای برای رسیدن به آن و به چنگ آوردن آن شده است. با این حال، عملکرد رباتیک شبیه به کارهای انسان هنوز فاصله داریم.
این کتاب اصول محاسباتی ربات خودمختار را به شما معرفی مینماید. زمانی رباتها خودمختار هستند که در پاسخ به محیط خود به کمک زیر مجموعهای از برنامههای از پیش تعیین شده به سادگی تصمیم گیری کنند. آنها با استفاده از تکنیکهای پردازش سیگنال، تئوری کنترل و هوش مصنوعی، به این خواسته دست مییابند. این تکنیکها با مکانیک، حسگرها و عملگرهای ربات به هم پیوسته اند. در نتیجه طراحی یک ربات نیاز به درک عمیق از هم الگوریتم و هم روابط آن با جهان فیزیکی دارد.
هدف این فصل مقدماتی، معرفی انواع مسائل رباتیک و چگونگی حل آن میباشد.
شکل 1-1 اسباب بازی که با استفاده از کنترل مکانیکی از روی میز نمیافتد. فلای ویل عمود به حرکت ربات میچرخد و به محض آن که چرخ کاستور[1] جلو به لبه میرسد گردش به راست را ایجاد میکند.
1-1 اطلاعات و تجسم
تصور ما از "رفتار هوشمند" به شدت بستگی به درک ما از کار مغز و چگونگی کار رایانه دارد: هوش در سر ما واقع شده است. با این حال، در واقع بسیاری از رفتارهاست که به نظر هوشمند میرسد ولی میتوان با استفاده از ابزار بسیار ساده به دست آورد. به عنوان مثال، اسباب بازی مکانیکی که میتواند از سقوط کردن با استفاده از چرخ لنگری که در زاویه عمود به جهت حرکت خود میچرخد و با یک چرخ کاستور جلوگیری کند. هنگامی که چرخ کاستور تماس با زمین را از دست میدهد، به این معنی است که ربات به لبه رسیده و فلای ویل با ضربه ایی ربات را به سمت راست میکشد (شکل 1-1).
ربات جارو برقی ممکن است همین مشکل را بسیار متفاوت حل کند: مثلا برای تشخیص لبههای پله از حسگرهای مادون قرمزی استفاده میکند که به سمت پایین اشاره دارد که با تشخیص آن دستور میدهد تا از افتادن خود اجتناب کند. هنگامی که لوازم الکترونیکی بصورت منسجم (on board) هستند، این موضوع بسیار کارآمدتر است، البته رویکرد بسیار پیچیدهتری هم دارد.
همانگونه که نمونههای فوق الذکر روشهای مختلفی را برای پیاده سازی رفتارهای هوشمند ارائه میدهند، ساز و کارهای[2] مشابهای برای برنامهریزی رباتیک وجود دارد. به عنوان مثال، مورچهها میتوانند با انتخاب ساده مسیری که قبلا فرومون بیشتری داشته، کوتاهترین مسیر بین لانه خود و منبع غذایی را پیدا کنند، مواد شیمیایی که ارتباط مورچهها با آن برقرار میشود. در مسیرهای کوتاهتر مورچهها نه تنها سریع تر به مواد غذایی میرسند، بلکه بازگشت سریعتری دارند، اثر باقی گذاشتن فرمون خود را سریعتر میسازد (شکل 1-2). اما مورچهها درگیر این راه حل نیستند. در حال حاضر و پس از آن، مورچهها در مسیرهای طولانیتر دیگری می گردند تا در نهایت منابع غذایی جدید پیدا کنند.
[1] caster wheel
[2] trade-offs
شکل 1-2 مورچهها کوتاه ترین مسیر از لانه خود (پایین) به یک منبع غذایی (بالا) را پیدا میکنند. از چپ به راست: مورچهها در ابتدا انتخاب برابری برای سمت چپ و یا راست دارند، هم به جلو و هم به عقب میروند. وقتی مورچهها بر روی مسیرهای کوتاهتر سریعتر برمیگردند فرومون بیشتری در مسیر کوتاهتر وجود خواهد داشت درنتیجه یک بار دیگر مورچه جدیدی از لانه میرسد.
آنچه به نظر میرسد رفتار هوشمند در سطح گروهی، اساسا با یک حسگر فرمون گاهی اوقات با شکست مواجه میشود. ربات صنعتی مدرن این مشکل را به طور کاملا متفاوت حل میکند: برای اولین بار چند نمایش از محیط را به شکل یک نقشه جمعیتی از موانع به دست میآورد و پس از آن یک مسیر با استفاده از الگوریتم طراحی مینماید.
آنچه راه حل برای رسیدن به یک رفتار خاص مورد نظر است به منابع موجود برای طراح بستگی دارد. ما در حال حاضر به مسئله پیچیدهتر که برای آن راه حل هایی (با کارآیی بیشتر یا کمتر) وجود دارد میپردازیم.
1-2 مسئله رباتیک
سناریوی زیر را تصور کنید. شما یک ربات هستید که در یک محیط پُر پیچ و خم مانند انبار، بیمارستان یا ساختمان اداری بهم ریخته قرار دارید. یک جعبه پر از سکه های طلا جایی در داخل آن پنهان است. متاسفانه، نقشه آنجا را ندارید. در صورتی که جعبه را پیدا کنید، ممکن است تنها چند سکه را در یک زمان بردارید و آنها را به درب خروجی که ماشین خود را پارک کردهاید، بیاورید.
در مورد یک استراتژی فکر کنید که به شما اجازه برداشت سکههای بسیاری را در کوتاه ترین زمان ممکن بدهد. در مورد قابلیتهای شناختی و ادراکی خود که میتوانید استفاده کنید فکر کنید. حال در مورد استراتژی های جایگزینی بحث کنید، اگر شما قابلیتی را نداشتید، به عنوان مثال، اگر شما کور بودند و هیچ ذهنیتی نداشتید؟
این دقیقاً همان مشکلاتی است که یک ربات میتواند داشته باشد. ربات ماشین موبایل است که حسگر و محاسباتی دارد که به آن اجازه میدهد تا درکی از محیط پیرامون خود داشته باشد. رباتهای کنونی فاقد قابلیت های انسانیاند؛ اگر شما فاقد آن ادراک مهم و یا قابلیتهای محاسباتی باشید، مجبورید در مورد بسیاری از حسهای دیگر با استراتژیهایی که شما برای حل یک مسئله بکار میگیرید، فکر کنید.
قبل از اینکه به ادامه بحث در مورد استراتژی های بالقوه برای ربات با سیستم های حسی برای اجتناب از برخورد به مانع بپردازیم، اجازه دهید تا به سرعت یک استراتژی بهینه را در نظر بگیریم. شما میخواهید ماز را حل کنید بدون اینکه به هر مسیر دو بار وارد شوید. شما میتوانید یک روش شناخته شده به عنوان جستجوی عمق-اول[1] برای انجام این کار استفاده نمایید، اما باید نه تنها نقشه محیط را داشته باشید، بلکه محیط را تعیین محل کنید، به عنوان مثال، مکان و ناوبری با محاسبات[2] را بر روی نقشه تشخیص دهید. هنگامی که طلا را پیدا کردید، نیاز به برنامهریزی کوتاهترین مسیر برگشت برای خروج دارید، که بعد از آن میتوانید از رفتن به عقب و جلو استفاده کنید تا زمانی که طلا برداشت شود.