فهرست مطالب:

BricKuber Project - a Respberry Pi Rubiks Cube Solutions Robot: 5 Step (with Pictures)
BricKuber Project - a Respberry Pi Rubiks Cube Solutions Robot: 5 Step (with Pictures)

تصویری: BricKuber Project - a Respberry Pi Rubiks Cube Solutions Robot: 5 Step (with Pictures)

تصویری: BricKuber Project - a Respberry Pi Rubiks Cube Solutions Robot: 5 Step (with Pictures)
تصویری: How To Build a Raspberry Pi Rubiks Cube Solving Robot 2024, ژوئن
Anonim
Image
Image

BricKuber می تواند مکعب روبیک را در کمتر از 2 دقیقه حل کند.

BricKuber یک روبات حل مکعب روبیک منبع باز است که می توانید خودتان بسازید

ما می خواستیم با رزبری پای یک ربات حل کننده مکعب روبیک بسازیم. به جای سرعت ، ما با سادگی پیش رفتیم: اگر Raspberry Pi ، کیت BrickPi و استاندارد LEGO Mindstorms EV3 یا NXT Kit دارید ، باید بتوانید به راحتی راه ما را دنبال کنید. این نرم افزار به زبان برنامه نویسی پایتون نوشته شده است. در اینجا می توانید تمام کد منبع را در Github مشاهده کنید.

سابقه و هدف مکعب روبیک به تازگی شروع به بازگشت کرده است. این اسباب بازی در سال 1974 اختراع شد و پرفروش ترین اسباب بازی جهان است. اما حل آنها نیاز به فکر ، تلاش و مهارت دارد. به به پس چرا اجازه نمی دهید روبات این کار را انجام دهد؟ در این پروژه ، ما یک Raspberry Pi ، یک BrickPi و مجموعه ای از LEGO Mindstorms می گیریم و یک روبات حل کننده مکعب روبیک می سازیم. کافی است یک مکعب روبیک حل نشده را در حل کننده قرار دهید ، برنامه پایتون را اجرا کنید و مکعب روبیک شما حل می شود! این پروژه از Pi برای حل مستقیم مکعب روبیک استفاده می کند. BrickPi3 مکعب حل نشده روبیک را می گیرد و Raspberry Pi از هر طرف مکعب روبیک با دوربین رزبری پای عکس می گیرد. Pi یک نقشه متنی از مربع های رنگی ایجاد می کند که محل قرارگیری آنها روی مکعب را نشان می دهد. هنگامی که مکعب را کاملاً ترسیم کرد ، Pi از کتابخانه پایتون "kociemba" برای ترسیم نقشه های مورد نیاز برای حل مکعب روبیک استفاده می کند. این اطلاعات توسط Pi و BrickPi3 برای حل مکعب روبیک با استفاده از موتورهای LEGO گرفته شده است. نتیجه: حل مکعب روبیک.

مرحله 1: ابزار و مواد

بسازش
بسازش
  • BrickPi3 - ما از BrickPi برای کنترل موتورهای LEGO که حل کننده مکعب روبیک را حل می کند ، استفاده خواهیم کرد.
  • Raspberry Pi - Pi پردازش ، عکس برداری و فرمان BrickPi را انجام می دهد.
  • دوربین رزبری پای - دوربین Pi از مکعب روبیک حل نشده عکس می گیرد.
  • کابل اترنت - برای اتصال به اینترنت به دستگاه خود نیاز دارید. اگر می خواهید این کار را از طریق wifi انجام دهید ، این نیز خوب است!
  • کارت SD Raspbian for Robots - نرم افزاری که Raspberry Pi را اجرا می کند. این با اکثر نرم افزارهای مورد نیاز برای این آموزش همراه است. همچنین می توانید نرم افزار را به صورت رایگان بارگیری کنید.
  • LEGO Mindstorms EV3 Kit (31313) - شما به یک توده LEGO و دو موتور بزرگ و یک موتور سروو و سنسور اولتراسونیک احتیاج دارید.
  • مکعب روبیک - ما قطعه ای را پیدا کردیم که در اینجا بسیار آزاد می چرخد. هر چند می توانید از هر مکعب روبیک 9x9x9 استفاده کنید.

مرحله 2: آن را بسازید

بسازش
بسازش
بسازش
بسازش

ساخت حل کننده

این طرح از طراحی MindCub3r برای LEGO EV3 الهام گرفته شده است. برای ساخت BricKuber ، با ساخت MindCub3r شروع کنید. دستورالعمل های کامل ساخت LEGO را می توانید در اینجا پیدا کنید.

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

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

BrickPi3 را مونتاژ کنید

دستورالعمل مونتاژ BrickPi3 را می توانید در اینجا پیدا کنید. ما باید قاب را جمع کنیم ، BrickPi3 ، Raspberry Pi ، دوربین Raspberry Pi را وصل کنیم ، یک کارت SD اضافه کنیم و باتری اضافه کنیم. برای سهولت راه اندازی نرم افزار ، Raspbian for Robots دارای اکثر نرم افزارهایی است که قبلاً به آنها نیاز دارید. شما حداقل به یک کارت SD 8 گیگابایتی نیاز دارید و می خواهید دیسک را متناسب با اندازه کامل کارت SD گسترش دهید.

BrickPi3 را وصل کنید

BrickPi3 را به مجموعه LEGO اضافه می کنیم. ما از "بال" LEGO EV3 برای پشتیبانی از BrickPi3 و تراز کردن آن با بدنه BricKuber استفاده کردیم. این یک گام خوب برای افزودن باتری های 8XAA به پاور پک و اتصال پاور BrickPi3 به مجموعه LEGO است. برای برنامه نویسی می توانید BrickPi3 را از طریق USB به Raspberry Pi تغذیه کنید ، اما برای جابجایی موتورها باید پاور پک را تغذیه کنید.

موتورها را به BrickPi3 وصل کنید

موتور شافلر را به پورت موتور "MD" وصل کنید. موتور پایه را به پورت "MA" در BrickPi3 وصل کنید. موتور سنسور دوربین را به پورت "MC" وصل کنید (این موتور کوچکتر سروو مانند است). حتی اگر ما دوربین را جابجا نمی کنیم ، ممکن است بخواهید مکان دوربین را با استفاده از موتورها تنظیم کنید.

دوربین رزبری پای را وصل کنید

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

raspistill -o cam.jpg

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

مرحله 3: نرم افزار را آماده کنید

می توانید از هر نسخه Raspbian یا Raspbian برای Robots استفاده کنید ، تصویر سفارشی ما که همراه BrickPi3 قبلاً نصب شده است. اگر از نسخه استاندارد Raspbian استفاده می کنید ، می توانید کتابخانه های BrickPi3 را با استفاده از دستور نصب کنید

sudo curl -kL dexterindustries.com/update_brickpi3 | خراب کردن

در این مرحله تمام کتابخانه های مورد نیاز برای اجرای BrickPi3 بر روی Raspbian Image شما نصب می شود. اگر از Raspbian برای روبات ها استفاده می کنید این مرحله را رد کنید: BrickPi3 قبلاً نصب شده است.

در نهایت ، همه وابستگی های پروژه را با استفاده از دستور نصب کنید:

sudo curl https://raw.githubusercontent.com/DexterInd/Brick… | خراب کردن

برای این مرحله BrickPi3 شما باید به اینترنت متصل باشد. تعدادی کتابخانه وجود دارد که پروژه به آنها وابسته است ، از جمله کتابخانه های مهم Daniel Walton (@dwalton76) در Github ، که برای حل مکعب روبیک استفاده می شود.

مرحله 4: مکعب روبیک را حل کنید

حل مکعب روبیک
حل مکعب روبیک
حل مکعب روبیک
حل مکعب روبیک
حل مکعب روبیک
حل مکعب روبیک

مکعب روبیک حل نشده را در گهواره قرار دهید. فرمان را اجرا کنید

sudo python ~/Dexter/BrickPi3/Projects/BricKuber/BricKuber.py

ربات مکعب را به هر صورت می چرخاند و دوربین 6 عکس ، یکی از هر طرف مکعب ، می گیرد. رزبری پای پیکربندی مکعب را از شش تصویر تعیین می کند. پیکربندی Cube به کتابخانه kociemba Python منتقل می شود تا یک راه حل کارآمد پیدا کند. سرانجام ، ربات حرکتها را برای حل مکعب روبیک انجام می دهد!

مرحله 5: کد منبع

همه کد منبع BricKuber را می توانید در منبع باز github منبع ما در اینجا پیدا کنید.

این پروژه از بسته های نرم افزاری زیر نصب شده توسط فرمان استفاده می کند

توصیه شده: