مقدمه
براى مطالعه هوش مصنوعى، جالب و مفید، بودن این موجودیت هاى هوشمند
است.
هوش مصنوعى محصولات مهم و مؤثر زیادى در مراحل اولیه توسعه اش تولید کرده است.
اگر چه هیچ کس نمى تواند آینده را به طور مشخص پیش بینى کند، اما آشکار است که کامپیوتر هایى هوشمند همردیف با انسان، تأثیر بسزایى بر زندگى روزمره و همچنین برآینده خواهد داشت.
در سال ۱۹۵۴ میلادى، عصر روبات ها با ارائه اولین روبات آدم نما از طرف «جرج دوول» (George Devol) شروع شد.
امروزه، ۹۰ درصد روبات ها، روبات هاى صنعتى هستند، یعنى روبات هایى که در کارخانه ها، آزمایشگاه ها، انبارها، نیروگاه ها، بیمارستان ها، و بخش هاى مشابه به کار گرفته مى شوند.
در سال هاى قبل، بیشتر روبات هاى صنعتى در کارخانه هاى خودروسازى به کارگرفته مى شدند، ولى امروزه تنها حدود نیمى از روبات هاى موجود در دنیا در کارخانه هاى خودروسازى به کار گرفته مى شوند.
مصارف روبات ها در همه ابعاد زندگى انسان به سرعت در حال گسترش است تا کارهاى سخت و خطرناک را به جاى انسان انجام دهند.
براى مثال امروزه براى بررسى وضعیت داخلى راکتورها از روبات استفاده مى شود تا تشعشعات رادیواکتیو به انسان ها صدمه نزند.
بعدها روبات هاى صنعتى زیادى ساخته شدند و انجمن صنایع روباتیک این تعریف را براى روبات صنعتى ارائه کرد :
« روبات صنعتى یک وسیله چند کاره و با قابلیت برنامه ریزى چند باره است که براى جابه جایى قطعات، مواد، ابزارها با وسایل خاص به وسیله حرکات برنامه ریزى شده، براى انجام کارهاى مختلف استفاده مى شود.
»
انگلبرگر شرکت unimate را برگرفته از universal Automation براى تولید روبات پایه گذارى کرد.
نخستین روبات هاى این شرکت در کارخانه جنرال موتورز (General Motors) براى انجام کارهاى دشوار در خودروسازى به کار گرفته شد.
انگلبرگر را «پدر روباتیک» نامیده اند.
در سال ۱۹۶۲ میلادی شرکت خودروسازى جنرال موتورز نخستین روبات Unimate را در خط مونتاژ خود به کار گرفت.
روبات ها روز به روز هوشمندتر مى شوند تا هر چه بیشتر در کارهاى سخت و پر خطر به یارى انسان ها بیایند.
اکنون اولین روبات انسان نماى خاورمیانه در دانشگاه صنعتى شریف در حال طراحى و ساخت مى باشد.
روبات چیست ؟
روبات یک ماشین الکترومکانیکى هوشمند است که مى توان آن را بارها برنامه ریزى کرد.
چندکاره و کارآمد و مناسب براى محیط است.
می تواند در شرایط خاصی که در آن قرار می گیرد، کار تعریف شده ای را انجام دهد و همچنین قابلیت تصمیم گیری در شرایط مختلف را نیز ممکن است داشته باشد.
با این تعریف می توان گفت روبات ها برای کارهای مختلفی می توانند تعریف و ساخته شوند.
مانند کارهایی که انجام آن برای انسان غیرممکن یا دشوار باشد.
برای مثال در قسمت مونتاژ یک کارخانه اتومبیل سازی، قسمتی هست که چرخ زاپاس ماشین را در صندوق عقب قرار می دهند، اگر یک انسان این کار را انجام دهد خیلی زود دچار ناراحتی هایی مثل کمر درد و ...می شود، اما می توان از یک روبات الکترومکانیکی برای این کار استفاده کرد و یا برای جوشکاری و سایر کارهای دشوار کارخانجات هم همینطور، و یا روبات هایی که برای اکتشاف در سایر سیارات به کار می روند هم از انواع روبات هایی هستند که در جاهایی که حضور انسان غیرممکن است استفاده می شوند.
موسسه بین المللی استاندارد روبات را بصورت زیر تعریف کرده است:
روبات وسیله ای است که :
بصورت خودکار کنترل شود
قابل برنامه ریزی مجدد باشد
چند منظوره بوده و
با داشتن چندین درجه آزادی قدرت جابجائی داشته باشد.
روبات می تواند متحرک و یا ثابت باشد.
اهمیت روبات ها:
امروزه روبات ها در انجام بسیاری از کارها به کمک انسان آمده و در برخی کارها نیز جایگزین آدمی گشته اند از جمله:
کار در کارخانه، اکتشافات فضائی، جراحی، بصورت دست آموز خانگی و....
بطور کلی روبات ها در کارهائی استفاده می شوند که خطرناک بوده (مثل نیروگاههای هسته ای)، مشکل و تکراری باشند (مثل اغلب کار کارخانه ها) و محیط های کثیف (مثل داخل لوله ها).
هدف از ساخت روبات چیست ؟
هدف از ساخت روبات ، ایمن تر، سریع تر، دقیق تر و بهینه تر انجام دادن اموری است که برای انسان ها در درازمدت قابل انجام و یا غیر قابل انجام می باشد که آن امور با صرف هزینه، نیرو و خطرات بیشتر همراه است .
روباتیک چیست ؟
علم مطالعه روبات ها را روباتیک می نامند.
تعریف جامع تر این علم را می توان بصورت زیر نیز بازگو نمود:
«روباتیک عبارت است از ارتباط هوشمندانه بین ادراک و عمل»
علم روباتیک از سه شاخه اصلی تشکیل شده است:
الکترونیک ( شامل مغز روبات)
مکانیک (شامل بدنه فیزیکی روبات)
نرم افزار (شامل قوه تفکر و تصمیم گیری روبات)
اگریک روبات را به یک انسان تشبیه کنیم، بخش هایی مربوط به ظاهر فیزیکی انسان را متخصصان مکانیک می سازند، مغز روبات را متخصصان الکترونیک توسط مدارای پیچیده الکترونیک طراحی کرده و می سازند و کارشناسان نرم افزار قوه تفکر را به وسیله برنامه های کامپیوتری برای روبات شبیه سازی می کنند تا در موقعیتهای خاص، فعالیت مناسب را انجام دهد.
قوانین روباتیک مطرح شده از سوى آسیموف:
۱.
روبات ها نباید هیچ گاه به انسان ها صدمه بزنند،
۲.
روبات ها باید دستورات انسان ها را بدون سرپیچى از قانون اول اجرا کنند.
3.
روبات ها باید بدون نقض قانون اول و دوم از خود محافظت کنند.
اجزاء یک سیستم روباتیک :
ساختار مکانیکی شامل:
اتصالات بازو وبدنه، چرخ ها
محرک ها ئی که باعث حرکت روبات می شوند، نظیرموتورها
سنسورهای مختلف برای ادراک محیط پیرامون روبات ها نظیر:
سنسور های فاصله (Ultrasonic)، دوربین، لیزر، سنسورهاى sonar و غیره
یک کنترلر کامپیوتری براى راه اندازى و بررسى حرکات روبات که سیگنال های سنسورها را خوانده و با پردازش اطلاعات بتواند فرامین لازمه را برای محرک ها ایجاد نماید نظیر نیروها و گشتاورهاى موتورها براى سرعت مورد نظر، جهت مورد نظر، کنترل مسیر و...
قسمت تصمیم گیرى (برنامه اى براى تعیین اعمال لازم) به منظور:
حرکت در یک جهت خاص، دورى از موانع، برداشتن اجسام و...
حرکت در یک جهت خاص، دورى از موانع، برداشتن اجسام و...
زیر سیستم های اصلی یک روبات: Real Data World (Environment) Information Command Concepts Real world (Environment ) بخش اول : Sensor (سنسور) : سنسور یک المان الکتریکی می باشد که اطلاعات را از محیط اطراف دریافت کرده و آن را به بخش پردازش ارسال می کند.
بخش دوم : Information processing (پردازش اطلاعات): در این بخش اطلاعاتی که توسط سنسورها از محیط دریافت شده پردازش می شود تا با استفاده از آن ها روبات کاری را انجام دهد.
بخش سوم : Process and Decision (پردازش و تصمیم گیری): این بخش اوج هوشمندی (Intelligence ) و یادگیری (Learning ) روبات می باشد و درواقع حافظه روبات است.
قسمتی از پردازش در این بخش برای هدایت (Navigation ) روبات بوده و دستورات و فرامین لازم برای عمل کردن درست و به موقع روبات از این بخش به قسمت مکانیکی (حرکتی ،Locomotion ) روبات ارسال می شود، به همین منظور با بخش های قبلی در ارتباط است.
بخش چهارم : Low Level Controllers : در اینجا روبات کنترل می کند که چگونه به هدف برسد در واقع این کار ذهنی انجام می گیرد .
بخش پنجم : Actuators (عملگر): دراین بخش عملگرها قرار دارند که عمل مناسب را با توجه به آنچه که سنسورها دریافت کرده اند انجام می دهند، ممکن است به صورت چرخ، بازو و ...
باشند.
انواع روبات از دید کنترل : 01 Teleoperation (کنترل از راه دور توسط انسان) 02 Self-Controlled (خود کنترل): که از لحاظ درجه ی هوشمندی (Degree Of Autonomy) به دو دسته ی زیر تقسیم می شوند: Mind-less : این روبات ها کارهای تکراری (repetitive) را انجام می دهند.
Intelligent : این روبات ها هوشمند هستند و با عدم قطعیت (uncertainty) مقابله می کنند.
از دید فیزیکی و مکانیکی (تحرک پذیری) : 1.
روباتهای ثابت (manipulator or industrial robots) : این روبات ها که شامل قطعات الکترونیکى و مکانیکى هستند، در ابتدا به صورت بازوهاى مکانیکى براى جابه جایى قطعات و یا کارهاى ساده و تکرارى به وجود آمدند که موجب خستگى و عدم تمرکز کارگر و افت بازده مى شد.
بازوها معمولاً در نقطه ثابت و در فضاى کاملاً کنترل شده در کارخانه نصب مى شوند و به غیر از وظیفه اى که براى آن ها طراحى شده اند، قادر به انجام کار دیگرى نیستند.
این وظیفه مى تواند در حد بسته بندى تولیدات، کنترل کیفیت و جدا کردن تولیدات بى کیفیت و یا کارهاى پیچیده ترى همچون جوشکارى و رنگزنى با دقت بالا باشد.
یک روبات ثابت از اجزاء مکانیکی زیر تشکیل می شود : (اتصال) Link End effectors (عملگر نهایی) (مفصل) Join (مبدأ)Original 2.
روباتهای متحرک (mobile robots) : این روبات ها مانند روبات هاى جابه جا کننده در محیط ثابت و شرایط کنترل شده کار نمى کنند، بلکه همانند موجودات زنده در دنیاى واقعى و با شرایط واقعى زندگى مى کنند و سیر اتفاقاتى که روبات باید با آنها روبه رو شود از قبل مشخص نیست.
در این نوع روبات هاست که تکنیک هاى هوش مصنوعى باید در کنترل کننده روبات (مغز روبات) به کار گرفته شود.
روبات های متحرک دو عامل بسیار مهم دارند: عامل حرکت (Locomotion) : روبات هاى چرخ دار با انواع چرخ عادى و یا شنى تانک و با پیکربندى هاى مختلف یک، دو یا چند قسمتى روبات هاى پادار مثل سگ اسباب بازى AIBO ساخت سونى یا روبات ASIMO ساخت شرکت هوندا.
روبات هاى پرنده (Arial) روبات های مارشکل (Snake) که بر روی زمین می خزند.
روبات هاى چند گانه (هایبرید) که ترکیبى از روباتهاى بالا یا ترکیب با بازوها هستند.
عامل هدایت (navigation): هدف (goal) مکان یابی (localization) برنامه ریزی مسیر (path planning) : برنامه ریزی کلی مسیر (Global path planning ) برنامه ریزی محلی مسیر( (Local path planning کشیدن نقشه (map making) دو نوع مهم path planning و Map making: Topological ( شکل ) : در نقشه فقط شکلی از محیط را به روبات می دهیم وجای دقیق اشیاء کاملا مشخص نیست.
Metric (بر اساس اندازه گیری دقیق) : در اینجا به صورت دقیق جای هر یک از اشیاء مشخص بوده و فاصله کنونی روبات با هر شیء نیز به طور دقیق به روبات گفته می شود.
در طرح ریزی نقشه و تشخیص مسیر مطلوب مهم ترین مسئله بهینه سازی (Optimization) بوده و مهم ترین مطلب در بهینه سازی نیز OR (Operations Research Planning ) می باشد.
بهینه سازی: متغیر های تصمیم (مثل کلونی مورچه ها) محدودیت هدف مزایاى روبات ها: 0۱ روباتیک و اتوماسیون در بسیارى از موارد مى توانند ایمنى، میزان تولید، بهره و کیفیت محصولات را افزایش دهند.
02 روبات ها مى توانند در موقعیت هاى خطرناک کار کنند و با این کار، جان هزاران انسان را نجات دهند.
03 روبات ها به راحتى محیط اطراف خود توجه ندارند و نیازهاى انسانى براى آنها مفهومى ندارد.
روبات ها هیچگاه خسته نمى شوند.
04 دقت روبات ها خیلى بیشتر از انسان هاست، آن ها در حد میلى یا حتى میکرو اینچ دقت دارند.
05 روبات ها مى توانند در یک لحظه چند کار را با هم انجام دهند، ولى انسان ها در یک لحظه تنها یک کار انجام مى دهند.
معایب روبات ها: 01 روبات ها در موقعیت هاى اضطرارى توانایى پاسخگویى مناسب ندارند که این مطلب مى تواند بسیار خطرناک باشد.
02 روبات ها هزینه بر هستند.
03 قابلیت هاى محدود دارند یعنى فقط کارى را که براى آن ساخته شده اند انجام مى دهند.
روبات هوشمند Intelligent Robot)): یک تعریف کلی از هوشمندی برگرفته از گفته Albus عبارت است از: « هوشمندی توانایی یک سیستم برای درست عمل کردن در یک محیط غیر قطعی است به طوریکه درست عمل کردن، عملی است که احتمال موفقیت را افزایش دهد و موفقیت یعنی رسیدن به زیر هدف های رفتاری که هدف نهایی سیستم را تضمین می نماید.» تعریف کلی از روبات هوشمند : « یک ماشین قابل برنامه ریزی که بتواند عمل یک موجود هوشمند نظیر انسان را تقلید کند.» در هوشمندی دو دیدگاه وجود دارد : انتقال دانش (Knowledge ) : یعنی ما دانش خودمان را به ربات می دهیم.
یادگیری ماشین (Machine Learning ) :در اینجا انسان هیچ دانشی به روبات نمی دهد و روبات خود با جریمه شدن کار درست را یاد می گیرد و پییشرفت می کند.
مواردی که روبات با داشتن هر یک از آن ها می تواند هوشمند باشد: ( جستجو) Search ،(حل مسائلProblem Solving( ، ( یادگیری)Learning (بازنمایی دانشKnowledge Representation ( ،(برنامه ریزی Planning( Natural Language ، (منطق و استدلالLogic and Reasoning ( (بینایی ماشین Machine Vision( ،(سطح پردازش بالاProcessing ( روباتیک و هوش مصنوعی : روباتیک یکی از مهمترین زمینه های استفاده عملی از تکنیک های هوش مصنوعی Artificial Intelligence)) است.
در واقع یک روبات هوشمند برای انجام هوشمندانه اعمال خود ناگزیر است بسیاری از این روش ها را به خدمت بگیرد: Learning Planning Reasoning Problem solving knowledge Representation Computer vision اعمال اصلی یک روبات هوشمند: Sense Plan Act سنسورهای روبات هوشمند: Vision برای دریافت محیط پیرامون Voice برای صحبت با آدمی Tactile برای حس وجود اشیا در سر راه مسیر Force برای تشخیص نیرو در کاربردهائی نظیر مونتاژ Laser برای اندازه گیری فاصله و تشخیص موانع ...
روبات الگو (Robotic Paradigms ): 1.
سلسله ای یا Top down : در اینجا یک مغز متفکر داریم که به اجزاء احاطه دارد ، اجزاء نیاز به پردازش دارند .
Reactive یا Button Up : در اینجا هر جزء وظایفی دارد که با کنار هم قرار گرفتن آن ها، کل به وجود می آید یعنی اجزاء به صورت رفتاری عمل انجام می دهند، مثل پلک زدن نگاشت Behavior Deliberative: ترکیبی از دو مورد قبل می باشد یعنی علاوه بر این که اجزاء به صورت رفتاری عمل انجام می دهند در مواقع مهم و بزرگ و در صورت نیازاز پردازش استفاده می شود.
گاهی در موارد بسیار حساس استفاده می شود 4.
در اینجا به Plan نیازی نیست و خود روبات یاد می گیرد یا ما به روبات می گوییم که چه کاری انجام دهد.
ساخت سلولها و مدارهای عصبی ایجاد میشود و پاسخ مربوط به اثر برانگیختگی و تکرار به آسانی دریافت میشود.
با ملاحظه تعریف های سهگانه بالا درباره یادگیری، مورد اول و دوم در بررسی های روانشناسی امروزی دارای اهمیت بیشتری است، اما مورد سوم از اعتبار علمی خاصی برخوردار است.
قسمت عملی پروژه: گزارش ربات امدادگر Rescue)) مقدمه مسابقات ربوکاپ معمولا در دو لیگ برگزار می گردد: لیگ شبیه سازی Simulation)) و لیگ ربات های واقعی (Real Robot) که هدف از برگزاری این مسابقات بالا بردن سطح هوشمندی ربات ها و توسعه آنها جهت حضور و فعالیت درمحیط ها و شرایط واقعی می باشد .
یکی از مهمترین این مسابقات ، لیگ روبات های امدادگرمی باشد که در هردو بخش شبیه سازی و روبات واقعی از اهمیت بسزایی برخوردار بوده ، چرا که نقاط بسیاری از زمین بر روی خط زلزله قرار دارد وسالانه زلزله تلفات جانی فراوانی را به بار می آورد که بخشی از این تلفات به علت تاخیر در امر امداد رسانی و نیز کمبود امکانات در جستجو توسط نیروی انسانی است لذا ساخت روبات هایی که در هنگام زلزله با توجه بحرانی بود ن شرایط محیط مثل ساختمان های تخریب شده، قطعی ارتباط مخابراتی و کمبود نیروی انسانی امدادگر، بتوانند بخشی از امر امداد رسانی را به عهده گیرند بسیار حائز اهمیت و نجات بخش است.
امروزه تحقیقات فراوانی در زمینه روبات های امداد گر درحال انجام است و این مسابقات نیزعاملی مناسب برای ایجاد انگیزه، آموزش با هدف بکارگیری این روبات ها در محیط واقعی است.
دراین مسابقات روبات ها نیاز به بهره گیری از قابلیت های پیشرفته حرکتی ، استفاده از حسگرهای گوناگون، عملگرهای مناسب و مهمتر از همه امکان ارتباط مناسب و مؤثر با عوامل انسانی و در نهایت، هوشمندی و خود مختاری دارند.
در این مسابقات سعی بر آن است تا علائم مصدومین ، مشخصات محیط و سایر مسائل حتی الامکان نزدیک به محیط واقعی باشد.
با توجه به موارد مذکورتحقیق در زمینه روبات های امدادگر به ویژه روبات های واقعی از اهمیت فراوانی برخوردار است .
لذا تیم تحقیقاتی ما تلاش خود را بر ساخت یک روبات امدادگر واقعی متمرکز کرده است.
در این طرح تحقیقاتی بیشتر هدف ما افزودن هوشمندی و خودمختاری در روبات امدادگر است .
لذا توانسته ایم قابلیتهایی به آن بیفزاییم که اکثر آنها در نوع خود منحصر بفرد است .
در ادامه به طور مختصر بعضی از این قابلیتها را مرور میکنیم : سخت افزار ربات: در داخل روبات از چندین میکرو کنترولر استفاده شده که از طریق ارتباط Wireless بهPC متصل می باشند ، دراین میکروها برنامه هایی نوشته شده است که با توجه به آن روبات توانایی حرکت، تبادل اطلاعات با PC، اجرای فرامین کاربر انسانی (اپراتور)، ارتباط با سنسورها و نیز کنترل عملگرها را دارد .
همچنین با کمک این میکروکنترلها روبات قادر است بخشی از خود مختاری را که در صورت قطعی ارتباط با PC مورد نیاز خواهد بود تامین کند که این بی شک نشان دهنده توانایی بالای روبات در مقابله با عدم قطعیت موجود در محیط های واقعی است.
در این روبات از دوربینی استفاده شده که به صورت Wireless می باشد و مکانیزمی طراحی شده که امکان چرخش را برای دوربین فراهم می کند.
به این ترتیب اپراتور می تواند محیط را از طریق دوربین ها مشاهده کند و نیز برنامه خودکار روبات نیز می تواند داده های دوربین را پردازش کرده و اطلاعات لازم را استخراج نماید که این امر می تواند هم به اپراتورکمک کند و هم در صورت غفلت اپراتورهشدارهای لازم را به او گوشزد و نیزحتی الامکان بخشی از خودمختاری را فراهم نماید.
قابل توجه است که دربرنامه، قابلیت پردازش تصویر قرار داده شده است تا اپراتوربتواند تصویر دریافتی را ارتقاء بخشد و حتی بعضی ازمشخصات تصویر مثل رنگ، لبه ها و...
را پردازش نماید.
همچنین برنامه ای جهت تشخیص الگو با استفاده از روشهای هوشمند مثل شبکه های عصبی، نوشته شده است که این اهمیت به سزایی در خودمختاری دارد بطوریکه حتی بدون وجود اپراتور روبات خود می تواند تا حد زیادی بطور خودمختار عمل کرده و حتی حین حضور اپراتور روبات نیز می تواند اپراتور را راهنمایی نماید.
جهت تحقق Teleoperation (عمل از راه دور) بطور مناسب از برنامه ای با قابلیت اعتماد بالا که در محیط Delphi Borland نوشته شده استفاده کرده ایم که این برنامه general است و وابسته به سخت افزار خاصی نمی باشد و بر روی یک PC معمولی و یا laptop قابل اجراست.
از مهمترین بخشهای برنامه Delphi در این روبات می توان بخش زیر را نام برد : 1- هدایت (Navigation) با استفاده از کاربر انسانی : کاربر می تواند از طریق PC به روبات فرمان بدهد وحتی الامکان تمام جزئیات عملگرها را کنترل کند.
- به دلیل وجود موانع زیاد وپستی و بلندی محیط، احتمال پیچ خوردن وگره خوردن سیم ها می باشد وهمچنین به خاطرطولانی بودن مسیر با کمبود سیم مواجه خواهیم شد ، بنابراین برای ازبین بردن چنین مشکلاتی از ارتباط Wireless (بیسیم) استفاده کرده ایم که ملاحظات لازم حین انتخاب فرکانس و مدولاسیون برای مقابله با نویز و نیز اختلال فرکانسی (تاثیر گذاری امواج موبایل و...) لحاظ شده است.
همچنین در روبات از باطری استفاده می شود که قابل شارژمی باشد و نیازی به اتصال به برق شهر نیست.
- در این روبات ازچندین سنسور استفاده شده است که این سنسورها عبارتند از: سنسور آلتراسونیک و سنسور مادون قرمز برای تعیین میزان فاصله و اجتناب از مانع، سنسور گرمایی برای تشخیص حرارت ، دوربین برای بینایی ماشین ونیز میکروفن برای دریافت صوت محیط و مصدومین(در صورت نیاز) وسنسورهای دیگری نیزبرای بعضی قابلیتهای اضافی تعبیه خواهد شد.
- با توجه به هوش مصنوعی بکار رفته در برنامه PC، این روبات توانایی تهیه نقشه از محیط را دارا می باشد، که به پیدا کردن سریع مصدومین کمک می کند و باعث امداد رسانی سریع تر می شود .
ساختار مکانیکی ربات به گونه ایست که توانایی بالا رفتن از پله ها و سطوح شیب دار و رد شدن از موانع را دارد ودر صورت افتادن در گودال ها توانایی بیرون کشیدن خود را دارد.