رباتیک ترکیبی منحصر به فرد از علم و فناوری است که ماشینهایی تولید میکند که از اعمال انسان تقلید میکنند.
در اوایل دهه 2000، 90 درصد رباتها در کارخانههای خودروسازی بودند و جایگزین انسانها برای کارهای تکراری شدند. اکنون روبات ها می توانند خانه ها را جاروبرقی بکشند و حتی در رستوران ها خدمت کنند.
یک ربات معمولاً از سه نوع جزء تشکیل شده است. بدنه مکانیکی؛ اسکلت الکتریکی و در نهایت مغزی که با کد ساخته شده است.
این اجزا به یک ربات اجازه می دهد تا داده ها را جمع آوری کند (اغلب از حسگرها)، تصمیماتی را از طریق منطق برنامه ریزی شده برای انطباق رفتار و انجام وظایف اتخاذ کند.
ربات ها ممکن است سه نوع برنامه داشته باشند. کنترل از راه دور (RC)، هوش مصنوعی (AI)، یا ترکیبی.
برنامه های RC به مداخله انسانی نیاز دارند که بتواند سیگنال شروع و/یا توقف اجرای کد را به ربات بدهد. برنامه ها از انواع مختلفی از الگوریتم ها تشکیل شده اند که هر کدام عملکرد متفاوتی دارند.
الگوریتم چیست؟
الگوریتم مجموعه ای از خطوط کد است که یک ربات می تواند از آنها برای انجام دستورالعمل های خاص استفاده کند. ایده های توسعه دهنده را به زبانی ترجمه می کند که توسط روبات ها قابل درک است.
الگوریتم ها را می توان در انواع مختلفی از نمادها بیان کرد، از جمله شبه کد، نمودار جریان، زبانهای برنامه نویسی، یا جداول کنترل
در این مقاله به برخی از انواع رایج الگوریتم های مورد استفاده در این برنامه ها می پردازیم.
انواع الگوریتم های مورد استفاده در رباتیک
1. هر زمان A * الگوریتم
الگوریتم A* یک الگوریتم جستجوی مسیر است که برای یافتن بهینه ترین مسیر بین دو نقطه، یعنی با کمترین هزینه استفاده می شود.
الگوریتم Anytime A* هزینه زمانی انعطافپذیری دارد و میتواند کوتاهترین مسیر را حتی در صورت قطع شدن برگرداند زیرا ابتدا یک راهحل غیربهینه تولید میکند و سپس آن را بهینه میکند.
این امکان تصمیمگیری سریعتر را فراهم میکند، زیرا ربات میتواند به جای شروع از صفر، محاسبات قبلی را انجام دهد.
چگونه کار می کند؟
این کار را با تشکیل یک "درخت" انجام می دهد که از گره شروع تا زمانی که معیار خاتمه فعال شود، ادامه می یابد که به این معنی است که یک مسیر کم هزینه تر در دسترس است.
یک شبکه دو بعدی با موانع ساخته شده است و یک سلول شروع و سلول های هدف به صورت پین هستند.
الگوریتم "مقدار" گره را با f تعریف می کند که مجموع پارامترهای g (هزینه جابجایی از گره شروع به گره مورد نظر) و h (هزینه حرکت از گره مورد نظر به گره هدف) است.
اپلیکیشنها
بسیاری از بازی ها و نقشه های مبتنی بر وب از این الگوریتم برای یافتن کوتاه ترین مسیر به طور موثر استفاده می کنند. همچنین می توان از آن برای ربات های متحرک استفاده کرد.
شما همچنین می توانید مشکلات پیچیده ای را حل کنید نیوتن – رافسون تکرار برای یافتن جذر یک عدد به کار می رود.
همچنین در مسائل مسیر برای پیش بینی حرکت و برخورد یک جسم در فضا استفاده می شود.
2. الگوریتم D*
D*، Focused D* و D* Lite الگوریتم های جستجوی افزایشی برای یافتن کوتاه ترین مسیر بین دو نقطه هستند.
با این حال، آنها ترکیبی از الگوریتم های A* و اکتشافات جدید هستند که به آنها اجازه می دهد اطلاعاتی را به نقشه های خود برای موانع ناشناخته اضافه کنند.
سپس می توانند یک مسیر را بر اساس اطلاعات جدید، بسیار شبیه به مریخ نورد، دوباره محاسبه کنند.
چگونه کار می کند؟
عملکرد الگوریتم D* شبیه به A* است، الگوریتم ابتدا f، h را تعریف می کند و یک لیست باز و بسته ایجاد می کند.
پس از این، الگوریتم D* مقدار g گره فعلی را با استفاده از مقدار g گره های مجاور آن تعیین می کند.
هر گره همسایه مقدار g فعلی را حدس می زند و کوتاه ترین مقدار g به عنوان مقدار g جدید تطبیق داده می شود.
اپلیکیشنها
D* و انواع آن به طور گسترده برای ربات های متحرک و وسیله نقلیه خودمختار جهت یابی.
چنین سیستم های ناوبری شامل یک سیستم نمونه اولیه آزمایش شده بر روی مریخ نورد Opportunity و Spirit و سیستم ناوبری است که برنده دارپا چالش شهری.
3. الگوریتم PRM
PRM یا نقشه راه احتمالی، نمودار شبکه ای از مسیرهای ممکن بر اساس فضاهای آزاد و اشغال شده در یک نقشه مشخص است.
آنها در سیستم های برنامه ریزی پیچیده و همچنین برای یافتن مسیرهای کم هزینه در اطراف موانع استفاده می شوند.
PRM ها از یک نمونه تصادفی از نقاط روی نقشه خود استفاده می کنند که یک دستگاه ربات احتمالاً می تواند حرکت کند و سپس کوتاه ترین مسیر محاسبه می شود.
چگونه کار می کند؟
PRM از مرحله ساخت و پرس و جو تشکیل شده است.
در مرحله اول، یک نقشه راه رسم شده است که حرکات ممکن را در یک محیط تقریبی می کند. سپس یک پیکربندی تصادفی ایجاد شده و به برخی از همسایگان متصل می شود.
پیکربندی شروع و هدف در مرحله پرس و جو به نمودار متصل می شود. سپس مسیر توسط a به دست می آید کوتاه ترین مسیر دایکسترا پرس و جو.
اپلیکیشنها
PRM در برنامه ریزان محلی استفاده می شود، جایی که الگوریتم یک مسیر خط مستقیم را بین دو نقطه، یعنی نقطه اولیه و نقطه هدف محاسبه می کند.
این الگوریتم همچنین می تواند برای بهبود برنامه ریزی مسیر و کاربردهای تشخیص برخورد استفاده شود.
4. الگوریتم نقطه لحظه صفر (ZMP).
نقطه لحظه صفر (تکنیک ZMP) الگوریتمی است که توسط ربات ها برای حفظ اینرسی کل در مقابل نیروی واکنش کف استفاده می شود.
این الگوریتم از مفهوم محاسبه ZMP استفاده می کند و آن را به گونه ای به کار می برد تا ربات های دوپا را متعادل کند. به نظر می رسد استفاده از این الگوریتم روی یک سطح صاف به ربات اجازه می دهد طوری راه برود که گویی لحظه ای وجود ندارد.
شرکت های تولیدی مانند آسیمو (هوندا) از این تکنیک استفاده می کنند.
چگونه کار می کند؟
حرکت یک ربات راه رفتن با استفاده از معادله تکانه زاویه ای برنامه ریزی شده است. این اطمینان حاصل می کند که حرکت مشترک ایجاد شده، پایداری پوسچرال ربات را تضمین می کند.
این پایداری با فاصله نقطه لحظه صفر (محاسبه شده توسط الگوریتم) در داخل مرزهای یک منطقه پایداری از پیش تعریف شده کمی سازی می شود.
اپلیکیشنها
نقاط لحظه صفر را می توان به عنوان معیاری برای ارزیابی پایداری در برابر واژگونی ربات هایی مانند iRobot PackBot هنگام حرکت در رمپ ها و موانع استفاده کرد.
5. الگوریتم کنترل انتگرال دیفرانسیل متناسب (PID).
کنترل دیفرانسیل انتگرال متناسب یا PID، یک حلقه بازخورد حسگر ایجاد می کند تا تنظیمات اجزای مکانیکی را با محاسبه مقدار خطا تنظیم کند.
این الگوریتم ها هر سه ضریب اصلی یعنی نسبت، انتگرال و مشتق را با هم ترکیب می کنند تا یک سیگنال کنترلی تولید کنند.
در زمان واقعی کار می کند و در صورت نیاز اصلاحات را اعمال می کند. این را می توان در مشاهده کرد اتومبیل های خود رانندگی.
چگونه کار می کند؟
کنترل کننده PID از سه عبارت کنترل تناسب، انتگرال و تأثیر مشتق بر خروجی خود برای اعمال کنترل دقیق و بهینه استفاده می کند.
این کنترل کننده به طور پیوسته یک مقدار خطا را به عنوان تفاوت بین یک نقطه تنظیم مورد نظر و یک متغیر فرآیند اندازه گیری شده محاسبه می کند.
سپس یک تصحیح برای به حداقل رساندن خطا در طول زمان با تنظیم متغیر کنترل اعمال می کند.
اپلیکیشنها
این کنترلکننده میتواند هر فرآیندی را که دارای یک خروجی قابل اندازهگیری، یک مقدار ایدهآل شناختهشده برای آن خروجی و یک ورودی به فرآیند است که بر خروجی قابل اندازهگیری تأثیر میگذارد، کنترل کند.
کنترلرها در صنعت برای تنظیم دما، فشار، نیرو، وزن، موقعیت، سرعت و هر متغیر دیگری که اندازه گیری برای آن وجود دارد استفاده می شود.
نتیجه
بنابراین، اینها برخی از رایج ترین الگوریتم های مورد استفاده در رباتیک بودند. همه این الگوریتمها با ترکیبی از فیزیکی، جبر خطی و آمار برای ترسیم اعمال و حرکت بسیار پیچیده هستند.
با این حال، با پیشرفت تکنولوژی، الگوریتمهای رباتیک پیچیدهتر خواهند شد. ربات ها قادر خواهند بود کارهای بیشتری را انجام دهند و بیشتر برای خودشان فکر کنند.
اگر از این مقاله لذت بردید ، مشترک شدن در هفته نامه HashDork's به روز رسانی از طریق ایمیل، که در آن ما آخرین اخبار هوش مصنوعی، ML، DL، برنامه نویسی و فناوری آینده را به اشتراک می گذاریم.
پاسخ دهید