فهرست مطالب:

ربات LEGO از طریق یک پیچ و خم حرکت می کند: 9 مرحله
ربات LEGO از طریق یک پیچ و خم حرکت می کند: 9 مرحله

تصویری: ربات LEGO از طریق یک پیچ و خم حرکت می کند: 9 مرحله

تصویری: ربات LEGO از طریق یک پیچ و خم حرکت می کند: 9 مرحله
تصویری: لزبازی لیلا اوتادی چه لبی میگیره (نبینی از دستت رفته) 2024, جولای
Anonim
Image
Image
پایگاه ربات
پایگاه ربات

این یک ربات ساده و خودمختار است که برای عبور از پیچ و خم تا خروجی طراحی شده است. این دستگاه با استفاده از LEGO Mindstorms EV3 ساخته شده است. نرم افزار EV3 بر روی رایانه اجرا می شود و برنامه ای را ایجاد می کند که سپس بر روی میکروکنترلری به نام EV3 Brick بارگیری می شود. روش برنامه نویسی مبتنی بر نماد و سطح بالا است. بسیار آسان و همه کاره است.

قطعات

  1. مجموعه LEGO Mindstorms EV3
  2. سنسور اولتراسونیک LEGO Mindstorms EV3. در مجموعه EV3 گنجانده نشده است.
  3. مقوا راه راه برای پیچ و خم. دو کارتن باید کافی باشد.
  4. یک تکه کوچک از مقوا نازک که به تثبیت گوشه ها و دیوارها کمک می کند.
  5. چسب و نوار برای اتصال قطعات مقوایی به یکدیگر.
  6. یک پاکت کارت تبریک قرمز برای شناسایی خروجی پیچ و خم.

ابزارها

  1. چاقوی کاربردی برای برش مقوا.
  2. خط کش فولادی برای کمک به روند برش.

روش حل پیچ و خم

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

من قانون پیروی از دیوار سمت چپ را انتخاب کردم. ایده این است که ربات با تصمیم گیری زیر هنگام عبور از پیچ و خم ، دیوار را در سمت چپ خود نگه می دارد:

  1. اگر امکان گردش به چپ وجود دارد ، این کار را انجام دهید.
  2. در غیر این صورت ، در صورت امکان مستقیم بروید.
  3. اگر نمی تواند به چپ یا راست برود ، در صورت امکان به راست بپیچید.
  4. اگر هیچ یک از موارد بالا امکان پذیر نیست ، این باید یک بن بست باشد. بچرخ.

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

مراحل ساخت روبات

اگرچه LEGO Mindstorms EV3 بسیار متنوع است ، اما به بیش از هر نوع سنسور متصل به یک آجر اجازه نمی دهد. دو یا چند آجر ممکن است زنجیر دیزی داشته باشند ، اما من نمی خواستم آجر دیگری بخرم و بنابراین از سنسورهای زیر (به جای سه سنسور اولتراسونیک) استفاده کردم: سنسور مادون قرمز ، سنسور رنگ و سنسور اولتراسونیک. این به خوبی کار کرد. دو عکس زیر نحوه ساخت ربات را نشان می دهد. عکس اول از هر جفت قطعات مورد نیاز را نشان می دهد و عکس دوم همان قسمت هایی را که به هم متصل شده اند نشان می دهد.

مرحله 1: پایگاه ربات

پایگاه ربات
پایگاه ربات

اولین قدم ساخت پایه ربات با استفاده از قطعات نشان داده شده است. پایه ربات وارونه نشان داده شده است. قسمت کوچک L شکل در پشت روبات تکیه گاه پشت است. با حرکت ربات ، لغزش می کند. این خوب کار می کند کیت EV3 دارای قطعه ای از نوع توپ نورد نیست.

مرحله 2: بالای پایه

بالای پایگاه
بالای پایگاه
بالای پایگاه
بالای پایگاه
بالای پایگاه
بالای پایگاه

3 مرحله بعدی مربوط به قسمت بالای پایه ربات ، سنسور رنگ و کابل ها است که همه کابل های 10 اینچی (26 سانتی متری) هستند.

مرحله 3: سنسورهای مادون قرمز و اولتراسونیک

سنسورهای مادون قرمز و اولتراسونیک
سنسورهای مادون قرمز و اولتراسونیک
سنسورهای مادون قرمز و اولتراسونیک
سنسورهای مادون قرمز و اولتراسونیک

در مرحله بعد ، سنسور مادون قرمز (در سمت چپ ربات) و سنسور اولتراسونیک (در سمت راست) قرار دارند. همچنین ، 4 پین برای چسباندن آجر در بالا.

سنسورهای مادون قرمز و اولتراسونیک به جای عمودی معمولی به صورت عمودی قرار گرفته اند. این باعث می شود گوشه ها یا انتهای دیوارها بهتر شناسایی شوند.

مرحله 4: کابل ها

کابل ها
کابل ها

آجر را وصل کرده و کابل ها را به صورت زیر وصل کنید:

  • بندر B: موتور بزرگ سمت چپ
  • پورت C: موتور بزرگ راست
  • پورت 2: سنسور اولتراسونیک
  • پورت 3: حسگر رنگ
  • پورت 4: سنسور مادون قرمز

مرحله 5: آخرین مرحله در ساخت ربات: دکوراسیون

آخرین مرحله در ساخت ربات: دکوراسیون
آخرین مرحله در ساخت ربات: دکوراسیون
آخرین مرحله در ساخت ربات: دکوراسیون
آخرین مرحله در ساخت ربات: دکوراسیون
آخرین مرحله در ساخت ربات: دکوراسیون
آخرین مرحله در ساخت ربات: دکوراسیون

بال و باله فقط برای تزئین است.

مرحله 6: شبه کد برنامه

  1. 3 ثانیه صبر کنید و بگویید "برو".
  2. حرکت روبات را مستقیماً از جلو شروع کنید.
  3. در صورت امکان چرخاندن به چپ (به عنوان مثال ، اگر سنسور مادون قرمز چیزی را در نزدیکی احساس نکرد) ، "چپ" را بگویید و به چپ بروید.
  4. حدود 6 اینچ (15 سانتیمتر) جلو بروید تا از چرخش اشتباه به چپ جلوگیری کنید. دلیل آن این است که پس از چرخش ربات ، سنسور فضای طولانی را که تازه از آنجا آمده بود می بیند و ربات فکر می کند که باید به چپ بپیچد ، که این کار درستی نیست. به مرحله 2 بازگردید.
  5. اگر نمی توانید به چپ بپیچید ، آنچه که سنسور رنگ در جلوی ربات می بیند را بررسی کنید.
  6. اگر رنگی وجود ندارد (یعنی هیچ شیئی وجود ندارد) ، به مرحله 2 بازگردید.
  7. اگر رنگ قرمز است ، این خروجی است. ربات را متوقف کنید ، یک فن فریاد بزنید و برنامه را متوقف کنید.
  8. اگر رنگ قهوه ای است (یعنی مقوا قهوه ای جلو) ، روبات را متوقف کنید.

    1. در صورت امکان گردش به راست (یعنی اگر سنسور اولتراسونیک جسمی را در نزدیکی احساس نکرد) ، "راست" را بگویید و به راست بروید. به مرحله 2 بازگردید.
    2. اگر نمی توانید به راست بپیچید ، "Uh-oh" بگویید ، حدود 5 اینچ (12.5 سانتی متر) عقب بروید و بچرخید. به مرحله 2 بازگردید.

مرحله 7: برنامه

برنامه
برنامه

LEGO Mindstorms EV3 دارای روش برنامه نویسی بسیار راحت مبتنی بر آیکون است. بلوک ها در پایین صفحه نمایش روی رایانه نشان داده می شوند و می توانند برای ایجاد یک برنامه ، در پنجره برنامه نویسی کشیده و رها شوند. اسکرین شات برنامه این پروژه را نشان می دهد. بلوک ها در مرحله بعدی توضیح داده شده است.

من نمی توانم نحوه بارگیری برنامه را برای شما تنظیم کنم ، بنابراین بلاک ها در مرحله بعدی توضیح داده می شوند. هر بلوک دارای گزینه ها و پارامترهایی است. بسیار آسان و همه کاره است. توسعه برنامه و یا تغییر آن بر اساس نیازهای شما نباید زمان زیادی را صرف کند. مثل همیشه ، ایده خوبی است که برنامه را هنگام توسعه به طور دوره ای ذخیره کنید.

EV3 Brick ممکن است از طریق کابل USB ، Wi-Fi یا بلوتوث به رایانه متصل شود. وقتی وصل می شود و روشن می شود ، این مورد در یک پنجره کوچک در گوشه سمت راست پایین پنجره EV3 در رایانه نشان داده شده است. "EV3" در سمت راست بیشتر قرمز می شود. هنگامی که این صفحه نمایش روی Port View تنظیم می شود ، در زمان واقعی نشان می دهد که هر سنسور در حال تشخیص چه چیزی است. این برای آزمایش مفید است.

هنگام ساخت این برنامه ، من پیشنهاد می کنم از چپ به راست و از بالا به پایین کار کنید و قبل از کشیدن سایر بلوک ها به داخل ، حلقه ها و بلوک های سوئیچ را بزرگ کنید. من در تلاش برای قرار دادن بلوک های اضافی در داخل قبل از بزرگ شدن با مشکلاتی روبرو شدم.

مرحله 8: بلوک های برنامه

  1. با شروع از سمت چپ برنامه ، بلوک شروع به طور خودکار هنگام توسعه برنامه در حال حاضر است.
  2. بعد یک Wait Block است که به ما 3 ثانیه زمان می دهد تا پس از شروع برنامه ، ربات را در ورودی پیچ و خم قرار دهیم.
  3. یک Sound Block باعث می شود ربات بگوید "برو".
  4. بلوک حلقه شامل بیشتر برنامه است. صفحه نمایش باید 4 یا 5 بار کوچک شود و قبل از شروع درج بلوک ها ، این بلوک حلقه باید تقریباً در لبه سمت راست برنامه نویسی برنامه نویسی بزرگ شود. بعداً می توان آن را کوچکتر کرد.
  5. اولین بلوک در داخل حلقه یک بلوک فرمان متحرک است که فرمان روی صفر و قدرت روی 20 تنظیم شده است. این موتورها را با سرعت کم مستقیم حرکت می دهد. سرعت بیشتر باعث می شود که ربات در زمان صحبت کردن در مراحل بعدی به جلو حرکت کند.
  6. یک بلوک سوئیچ در حالت نزدیکی سنسور مادون قرمز بررسی می کند که آیا شیئی دورتر از مقدار 30 وجود دارد. این مقدار برای مقوا قهوه ای معادل تقریبا 9 اینچ (23 سانتی متر) است. اگر مقدار بیشتر از 30 باشد ، بلاک های 7 ، 8 و 9 اجرا می شوند ، در غیر این صورت برنامه به بلوک 10 زیر می رود.
  7. یک Sound Block باعث می شود ربات بگوید "چپ".
  8. A Move Steering Block با فرمان روی -45 ، قدرت روی 20 ، Rotations روی 1.26 و Brake at End روی True تنظیم شده است. این باعث می شود که ربات به چپ بپیچد.
  9. A Move Steering Block با فرمان روی صفر ، قدرت روی 20 ، Rotations روی 1.2 و Brake at End روی True تنظیم شده است. این باعث می شود که ربات حدود 6 اینچ (15 سانتی متر) به جلو حرکت کند تا از چرخش اشتباه به چپ جلوگیری کند.
  10. یک بلوک سوئیچ در سنسور رنگ Measure Color Mode اندازه گیری می کند که چه رنگی از روبات جلوتر است. اگر رنگی وجود ندارد (یعنی هیچ شیئی وجود ندارد) ، برنامه به انتهای حلقه می رود. اگر رنگ قرمز است ، بلوک های 11 ، 12 و 13 اجرا می شوند. اگر رنگ قهوه ای است ، برنامه به بلوک 14 زیر می رود.
  11. حرکت فرمان بلوک در حالت خاموش برای توقف موتورها.
  12. A Sound Block یک فانفار بازی می کند.
  13. بلوک وقفه حلقه از حلقه خارج می شود.
  14. حرکت فرمان بلوک در حالت خاموش برای توقف موتورها.
  15. یک بلوک سوئیچ در سنسور اولتراسونیک مقایسه فاصله اینچ را بررسی می کند که آیا جسمی در فاصله بیش از 20 اینچ (20 سانتی متر) وجود دارد. اگر بیش از 8 اینچ باشد ، Blocks16 و 17 اجرا می شوند ، در غیر این صورت برنامه به بلوک 18 زیر می رود.
  16. یک Sound Block باعث می شود ربات بگوید "درست".
  17. A Move Steering Block با تنظیم فرمان روی -55 ، قدرت تنظیم شده روی -20 ، چرخش ها روی 1.1 و Brake at End روی True تنظیم شده است. این باعث می شود که ربات به راست بپیچد.
  18. یک Sound Block باعث می شود ربات بگوید "اوه"
  19. A Move Tank Block با قدرت چپ روی -20 ، قدرت راست روی -20 ، چرخش ها روی 1 و Brake at End روی True تنظیم شده است. این باعث می شود که ربات حدود 5 اینچ (12.5 سانتی متر) به عقب برگردد تا فضایی برای چرخش ایجاد کند.
  20. A Move Tank Block با قدرت چپ روی -20 ، قدرت راست روی 20 ، چرخش ها روی 1.14 و Brake at End روی True تنظیم شده است. این باعث می شود که ربات بچرخد.
  21. در خروجی حلقه یک Stop Program Block قرار دارد.

مرحله 9: یک MAZE بسازید

MAZE بسازید
MAZE بسازید
MAZE بسازید
MAZE بسازید
MAZE بسازید
MAZE بسازید

دو کارتن مقوایی راه راه باید برای پیچ و خم کافی باشد. دیوارهای پیچ و خم را به ارتفاع 5 اینچ (12.5 سانتی متر) ساختم ، اما اگر کمبود مقوا راه راه دارید ، 4 اینچ (10 سانتی متر) باید به همان خوبی کار کند.

ابتدا ، دیوارهای کارتن ها را به فاصله 10 اینچ (25 سانتی متر) از پایین برش دادم. سپس دیوارها را از پایین به فاصله 5 اینچ برش دادم. این دیوارهای 5 اینچی را فراهم می کند. همچنین ، من ته کارتن ها را برش دادم و حدود 1 اینچ (2.5 سانتیمتر) را برای پایداری به دیوارها وصل کردم.

قطعات مختلف را می توان برش داد و چسباند یا در هر کجا که لازم است برای ایجاد پیچ و خم چسباند. باید بین دیوارها در هر مسیری با بن بست ، فاصله 12 اینچی (30 سانتی متری) وجود داشته باشد. این فاصله برای چرخاندن روبات مورد نیاز است.

برخی از گوشه های پیچ و خم ممکن است نیاز به تقویت داشته باشند ، همچنین برخی از دیوارهای مستقیم در صورتی که دارای یک گوشه مقوایی صاف باشند از خم شدن خودداری می کنند. همانطور که در تصویر نشان داده شده است ، در آن قسمتها قطعات کوچک مقوا نازک باید به پایین چسبانده شوند.

همانطور که در تصویر نشان داده شده ، یک خروجی قرمز شامل نیمی از پاکت کارت تبریک قرمز و پایه ای از 2 تکه مقوا نازک است.

یک احتیاط این است که پیچ و خم نباید بزرگ باشد. اگر چرخش ربات کمی با دور مناسب باشد ، اختلافات پس از چند دور بیشتر می شود. به عنوان مثال ، اگر یک چرخش به چپ 3 درجه خاموش باشد ، پس از 5 چرخش به چپ ، ربات 15 درجه خاموش می شود. یک پیچ و خم بزرگ بیشتر از یک مسیر کوچک پیچ و مسیر طولانی تری خواهد داشت و ربات می تواند به دیوارها برخورد کند. من مجبور شدم چندین بار با تنظیمات چرخش پیچ ها کمانچه بزنم تا بتوانم از طریق پیچ و خم کوچکی که ایجاد کرده ام رانندگی موفقی داشته باشم.

پیشرفت های آینده

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

این بسیار پیچیده تر از پروژه فعلی است. ربات باید مسیری را که طی کرده است به خاطر بسپارد ، بن بست ها را برداشته ، مسیر جدید را ذخیره کرده و سپس مسیر جدید را دنبال کند. من قصد دارم در آینده نزدیک روی این پروژه کار کنم. من انتظار دارم که با LEGO Mindstorms EV3 با استفاده از Block های عملیات Array و برخی از بلوک های مربوط به ریاضی بتوان این کار را انجام داد.

یادآوری نتیجه گیری

این یک پروژه جالب بود. امیدوارم شما هم براتون جالب باشه

توصیه شده: