در این پروژه می خواهیم با استفاده از آردوینو، سروو موتور SG90، ماژول بلوتوث و بورد PCB یک ربات چهارپا عنکبوتی طراحی کنیم که می تواند برقصد، تمرین کند و راه برود.
چگونه یک ربات عنکبوتی طراحی کنیم؟
این ربات چهارپا عنکبوتی شکل می تواند راه برود، تمرین کند و برقصد. نحوه حرکت این ربات بر اساس یک الگوریتم خاصی است که در زیر به طور کامل آن را شرح می دهیم. ابتدا در مورد پایداری ایستا و پویای ربات صحبت می کنیم.
ویدیوی ربات چهارپا
لینک دانلود ویدیوی عملکرد ربات عنکبوتی شکل
تعادل ایستا و پویا در ربات چهارپا
- هنگامیکه ربات شروع به قدم زدن می کند، باید بتواند تعادل خود را حفظ کند. دو روش برای این کار وجود دارد و با توجه به آن قدم زدن را به دو دسته تعادل ایستا و تعادل پویا تقسیم می کنیم.
- برای تعادل ایستا در قدم زدن، ربات هر سرعتی که داشته باشد یا اگر در وسط یک مرحله متوقف شده باشد، در هر زمانی پایدار است. حیوانات و انسانها هنگامیکه بخواهند آهسته راه بروند، قدم می زنند. نمونه ای از این حالت راه رفتن، چهار دست و پا راه رفتن است که گربه ها معمولاً برای گرفتن طعمه خود از این تکنیک استفاده می کنند.
- داشتن تعادل پویا در راه رفتن ربات چهارپا کار دشوارتری است، به این دلیل که باید در یک سرعت خاص عمل کند و نمی تواند در یک نقطه دلخواه وقفه داشته باشد. گاهی اوقات این عمل را کنترل افتادن نیز می نامند. ربات هنگامیکه ناپایدار است، اندکی زمان می برد تا سقوط کند و در این زمان می تواند پاها را طوری حرکت دهد تا از افتادن آن جلوگیری شود. بیشتر حیوانات همانطور که تمایل به سریعتر حرکت کردن و انرژی کارآمدتر دارند، هنگام راه رفتن دارای تعادل پویا هستند. یک نمونه از تعادل پویا، یورتمه رفتن است.
پایداری فعال و غیرفعال در ربات عنکبوتی شکل
- هنگامیکه یک ربات چهارپا بر روی پاهایش ایستاده، در واقع دارای پایداری غیرفعال است، چرا که نیازی به کنترل یا تنظیمات خاصی برای ثابت ایستادن ندارد.
- هنگامیکه ربات راه می رود، چند انتخاب برای حفظ تعادل دارد: می تواند تعادل غیرفعال را هنگام راه رفتن با نگه داشتن سه پا بر روی زمین و رسیدن با پای چهارم (طبق الگوریتم Creep Gait) حفظ کند.
- همچنین می تواند از تعادل فعال برای داشتن حرکت سریعتر (طبق الگوریتم Trot Gait) استفاده کند.
حالتهای مختلف راه رفتن در ربات چهارپا
- چهار دست و پا راه رفتن (Creep) : این روش ساده ترین روش راه رفتن می باشد. ربات چهارپا سه پای خود را روی زمین نگه می دارد و مرکز ثقل خود را در مثلثی که با این سه پا تشکیل شده، حفظ می کند. اگر مرکز ثقل برای مدت طولانی از این مثلث تشکیل شده خارج شود، ربات سقوط خواهد کرد. همانند حیوانات، سر و دم خود را حرکت می دهد تا مرکز ثقل خود را در این مثلث نگه دارد.
- یورتمه رفتن (Trot) : گاهی اوقات آن را یورغه می گویند. دو پایی که به صورت قطری از هم قرار گرفته اند، رو به جلو تلو تلو می خورند و دو پای دیگر بدن را نگه می دارند و به عقب باز می گردند. این یکی از سریعترین روشهای راه رفتن است، به این دلیل که دو پای ربات در یک زمان بلند شده اند. پایداری ربات چهارپا به تعداد تکرار بلند شدن پاها و قرار دادن مجدد آنها ارتباط دارد. قرار گیری سریع سبب می شود که میزان لرزش ها کمتر شود. بهتر است که سطح تماس پاها بزرگ باشد تا هنگام بالا بردن دو پا به طور همزمان، ربات در شرایط بهتری بر روی زمین قرار بگیرد.
- خزیدن (Crawl) : شبیه به چهار دست و پا راه رفتن است اما در این حالت مرکز ثقل هنگام راه رفتن برای حفظ ثبات بهتر تغییر می کند. برای این کار باید بدانیم که کدام پا بلند می شود و در جلو قرار می گیرد و سه پای دیگر همانند یک مثلث حمایتی عمل می کنند. برای اینکه ربات تعادل خود را حفظ کند باید مرکز ثقل خود را درون مثلث نگه دارد.
الگوریتم چهار دست و پا راه رفتن (creeping)
شروع تصویر از سمت چپ است:
1) تصویر اول شروع حرکت را نشان می دهد که در آن دو پا در یک جهت کشیده می شوند تا به جلو حرکت کنند و دو پای دیگر نیز به دنبال آنها می روند و به داخل کشیده می شوند.
2) در تصویر دوم، پای بالایی سمت راست، بلند می شود و کشیده می شود و در جلو قرار می گیرد.
3) در تصویر سوم، پاها جا به جا می شوند و ربات را به جلو حرکت می دهند.
4) در تصویر چهارم، پای عقب سمت چپ بلند می شود و در امتداد بدن ربات رو به جلو حرکت می کند. این موقعیت انعکاسی از موقعیت شروع است.
5) در این تصویر، پای جلویی سمت چپ بلند می شود و در جلوی بدن ربات قرار می گیرد.
6) دوباره، تمام پاها جا به جا می شوند و بدن ربات چهارپا را به جلو حرکت می دهند.
7) پای عقب سمت راست به بالا می رود و به داخل بدن باز می گردد، سپس ربات در موقعیت اولیه قرار می گیرد.
دقت کنید که در تمام حالت ها، مرکز ثقل در داخل مثلث تشکیل شده، قرار دارد. این مسأله اساس کار الگوریتم creeping می باشد. با توجه به این الگو خواهید دید که از دو حرکت شبیه به هم تشکیل شده است. گام برداشتن، گام برداشتن و به جلو رفتن از یک سمت و دوباره گام برداشتن، گام برداشتن و به جلو رفتن از طرف دیگر صورت می گیرد.
انواع مختلفی ربات چهارپا وجود دارد. ما در این پروژه از 8 سروو موتور برای پاهای ربات استفاده کرده ایم. بنابراین در اینجا سینماتیک معکوس با دو زاویه حرکت در یک فضای سه بعدی لازم است.
کد پروژه ربات چهارپا
توجه کنید که این قطعه کد با توجه به فریم به کار برده شده در این پروژه عمل می کند و اگر شما از شاسی دیگری برای بدنه ربات تان استفاده کنید، باید مقادیر را تغییر دهید. زیرا مرکز ثقل به وزن و نوع بدنه ربات بستگی دارد.
قطعات مورد نیاز
- 1x SparkFun Arduino Pro Mini 328 – 5V/16MHz
- 8x SG90 Micro-servo motor
- 1x Rechargeable Battery, Lithium Ion
- 1x HC-05 Bluetooth Module
- 1x Custom PCB
- 3x Female Header 8 Position 1 Row (0.1”)
- 1x Male Header 40 Position 1 Row (0.1”)
- 1x Spider Robot chasis