بخشی از مقاله

چکیده

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

کلمات کلیدی:  Human Robot Interaction,  Gestures, Programming   ، Dual arm robot

مقدمه

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

چالش اصلی در این ناحیه مربوط به توسعه روشها برای جمع آوری داده های سنسور و باز تولید این داده ها از روبات با استحکام ودقت بالا میباشد، یک بررسی طولانی در استفاده از تکنیک تعامل ربات انسان نما - HRI - تکنیک ارائه شده درپژوهش میباشد. مسیر اصلی در اینگونه سیستمها شامل هم طراحی وهم توسعه فریم ورکهای - چارچوبها - ارتباط چندمدلی برای ساده سازی برنامه نویسی ربات میباشد. درمیان این مطالعات تحقیقاتی، تحقیقات قابل توجهی در استفاده از حرکات متفاوت ایجاد شده است. بعنوان مثال، از حرکات دست با استفاده از داده ها دردسترس، که در آن سنسور، رشته ای از داده ها را که مورد استفاده هستند بکار میگیرد، برای نمونه استفاده از دوربینهای 3D را میتوان در برخی از تحقیقات پیدا کرد.

دربرخی دیگر گفت و گو انسان و ربات با کمکمجموعه لغات پویا بدست آورده شده است Kinect بعنوان سنسور تشخیص ، HRI انلاین را فعال میسازد Kinect نیز برای اطمینان از ایمنی در عملکرد ربات انسان نما استفاده میشود، بغیر از HRI ، استفاده از Kinect همچنین میتوانید در مطالعات برای تعامل انسان و کامپیوتر - HCI - یافت شود، Kinect سنسور حرکت بوده وهمچنین برای انتخاب در HRI مورد استفاده میباشد.با وجود تحقیقات گسترده ای در رابطه با سنسور حسی - بصری - برای تعامل و برنامه نویسی ربات، هنوز هم چالشهای مربوط به نیاز به ابزار برنامه نویسی جهانی ، پردازش پیشرفته، روش انتقال و عدم قطعیت محیط وجود دارد. دررابطه با عدم قطعیت محیط ، تعاملات زبان طبیعی: مانند حرکات و دستورات صوتی، درمحیطهای صنعتی، با توجه به سطح بالای آنها ازنظر سروصدا، شرایط رعدوبرق و محیط پویای درحال تغییر، همیشه قابل اجرا نیستند. علاوه بر این، توسعه مبتنی بر حرکت با حرکات پیچیده و متعدد بنظر نمیرسد برای انسان زیاد کاربر پسند باشد. با توجه به چالشهای فوق، این مقاله یک روش برنامه نویسی ربات سطح بالا با استفاده از سنسور تشخیص حرکات دوگانه ی دست و بدن پیشنهاد میکند.

حرکات تعریف شده ی بدن ثابت میباشد و حرکات دست، مبتنی به حرکات پویای دست میباشد.کاربر دوگزینه مختلف برای تعامل با ربات دارد بدون نیاز به آموزش برنامه نویسی رباتهای ویژه، حتی برای فرمان دادن به رباتهای صنعتی این عمل صادق است. ایمنی را میتوان با استفاده از دکمه اضطراری سنتی، در طول برنامه نویسی ربات تضمین کرد. سنسور انتخاب شده برای پیاده سازی حرکات دست و بدن میباشد Kinect مایکروسافت در اینگونه ازکارها مورد استفاده قرار میگیرد.در جایگزینی بجای دوربینهای سنتی 3D دربرنامه هایی که در آنها دقت تشخیص امر مهمی است سنسور Kinect بدلیل کارایی بالا بطور قابل توجهی محبوب میباشد. معرفی حرکت در برنامه نویسی ربات نسبتا جدید است که تشخیص حرکات دست برای فرمان دادن به ربات را انجام میدهد.

مروری بر روشهای ارائه شده

روش برنامه نویسی ربات سطح بالا ارائه شده، برمبنی معماری باز ارائه شده در شکل 1 است.در این معماری، برنامه نویسی ربات سطح بالا توسط پیاده سازی دستورات سطح بالا در قالب حرکات بدست می آید. این روش شامل حرکات دوگانه ی دست و بدن، که با استفاده از داده ها از دستگاه های ردیابی مختلف شناخته شده است ایجاد میشوند.اولین دستگاه یک دوربین RGB-D است که اجازه ی به رسمیت شناختن حرکات بدن را میدهد، درحالی که حرکات دست با استفاده از دستگاه های مشابه بنام ʽ*HVWXUHʼ شناخته شده است این سنسور شامل دو دوربین IR تک رنگ و سه LED مادون قرمز میباشد.

مکانیسم تعامل موجود - سنسور - در داخل یک ماژول نرم افزاری - شکل - 1 نشان داده شده، اجازه ی تشخیص و به رسمیت شناختن حرکات و اشارات - واژگان حرکات '، 'تشخیص حرکت - را میدهد. حرکات شناخته شده قابل انتشار در "ROS-topic"بعنوان پیام هستند، که درآن برنامه های شخص میتوانید بصورت مشترک به گوش دادن این پیامها از طریق میان افزار ROS انجام شود. این پیام نشان دهنده نتیجه به رسمیت شناختن در هر موضوع میباشد بعنوان مثال، حرکتBچپ ،این دو ماژول با یکدیگر از طریق ماژول کنترل خارجی ارتباط برقرار میکنند، کنترل برنامه نویسی مبتنی بر اشاره است که توسط این ماژول اداره میشود این ماژول بطور مستقیم به کنترلر ربات وصل شده است، و با تبادل از طریق پروتکلTCP / IP انجام وظیفه میکند.

ربات حرکت در برنامه نویسی آسان - به انسان - بمنظور بالا بردن دقت مورد نیاز، دستور شروع را میدهد این درصورتی است که واژه های حرکت دست و بدن تعریف شده اند. حرکات بدن ربات شامل همان حالت بدن انسان است که قادر به کنترل حرکت یک بازوی ربات در جهات مختلف به همراه یک قالب کاربر میباشد. برخی حرکات تعریف شده استاتیک میباشد و اجازه میدهد به یک اپراتور به حرکت ربات در 6 جهت مختلف، یعنی +/ - X، +/-Yو +/ - Z در اطراف هر قاب انتخاب شده - شکل - 2 بطور مشابه، به حرکات و اشارات بدن، حرکات دست در داخل این واژگان - توسعه یافته به عنوان توابع با استفاده از پایتون - تعریف شده هستند.

این حرکات، حرکات پویای شببیه به انگشتان دست انسان هستند که نحوی کارکردشان شبیه دست انسان میباشد و همین تضمین کننده ی آنها میباشد. استفاده از این 6 حرکت مختلف دست استفاده از برخی حرکت مشابه حرکات بدن را قادر میسازد. برای اینکه حرکات ربات به حرکات دست انسان نزدیکتر باشد تلاشهای زیادی انجام گرفته است. حرکت ربات در X+ جهت با حرکت به بالا، که در آن اپراتور گسترش بازوی راست به سمت بالا و شامل دست چپ پایین بدست آورد. این ربات در X- با حرکت به سمت پایین، حرکت خواهد کرد و میتوان آن را زمانی که دست چپ به سمت بالا حرکت میکند و دست سمت راست پایین نگه داشته می شود استفاده کرد. با استفاده از حرکات دست، ربات بالا خواهد رفت اگر اپراتور با استفاده از یک طرف و آن را به سمت بالا دستگاه هدایت کند برعکس آن پایین خواهد رفت البته اگر انگشت به سمت پایین حرکت کند.

حرکت در امتداد جهت Y+ با حرکت چپ که شامل گسترش دست چپ در ارتفاع شانه با اشاره به جهت چپ انجام میشود.در مقابل ربات در امتداد Y-با حرکت چپ مربوط به گسترش دست راست با همان راه اما با اشاره به مسیر درست حرکت میکند. با استفاده از حرکات دست، برای حرکات راست و چپ با استفاده از کشیدن دو انگشت از چپ به راست و در مقابل انجام میشود. حرکت در جهت Z+ با استفاده از حرکت رو به جلو، که در آن دست راست به سمت بالا گسترش و دست چپ هم ارتفاع شانه با اشاره به جهت چپ به دست آورد میشود. این جنبش در جهت مخالف با استفاده از دست مخالف، به سمت بالا به سمت چپ و سمت راست در ارتفاع شانه با اشاره به سمت راست - حرکت عقب - بدست می آید. حرکات مشابه با استفاده از حرکات مربوطه، به

در متن اصلی مقاله به هم ریختگی وجود ندارد. برای مطالعه بیشتر مقاله آن را خریداری کنید