Mündəricat:

BricKuber Layihəsi - Raspberry Pi Rubiks Cube həll robotu: 5 addım (şəkillərlə)
BricKuber Layihəsi - Raspberry Pi Rubiks Cube həll robotu: 5 addım (şəkillərlə)

Video: BricKuber Layihəsi - Raspberry Pi Rubiks Cube həll robotu: 5 addım (şəkillərlə)

Video: BricKuber Layihəsi - Raspberry Pi Rubiks Cube həll robotu: 5 addım (şəkillərlə)
Video: BricKuber Raspberry Pi Rubiks Cuber Solves in 90 Seconds 2024, Noyabr
Anonim
Image
Image

BricKuber, Rubik kubunu təxminən 2 dəqiqədən az müddətdə həll edə bilər.

BricKuber, özünüz qura biləcəyiniz açıq mənbə Rubik kub həll robotudur

Raspberry Pi ilə Rubiks kub həll robotu qurmaq istədik. Sürətlə getmək əvəzinə sadəliklə getdik: bir Raspberry Pi, bir BrickPi dəsti və standart bir LEGO Mindstorms EV3 və ya NXT Kitiniz varsa, bizim izlərimizi asanlıqla izləyə bilməlisiniz. Proqram Python proqramlaşdırma dilində yazılmışdır. Githubdakı bütün mənbə kodlarını burada görə bilərsiniz.

Ümumi məlumat Rubik kubu bu yaxınlarda geri dönməyə başladı. 1974-cü ildə icad edilən, dünyanın ən çox satılan oyuncağıdır. Ancaq bunları həll etmək üçün düşüncə, səy və bacarıq lazımdır… niyə bir robotun bunu etməsinə icazə verməyəsən? Bu layihədə bir Raspberry Pi, bir BrickPi və bir dəstə LEGO Mindstorms götürürük və Rubik küpü həll edən bir robot hazırlayırıq. Çözülməmiş bir Rubik kubunu qoyun, python proqramını işlədin və Rubik kubunuz həll edildi! Layihə, Rubik kubunu birbaşa həll etmək üçün Pi istifadə edir. BrickPi3 həll olunmamış Rubik kubunu alır və Raspberry Pi, Raspberry Pi Kamerası ilə Rubik kubunun hər tərəfinin şəklini çəkir. Pi, kub üzərində yerləşdiklərini göstərən rəngli kvadratların mətn xəritəsini yaradır. Kubu tam xəritəyə saldıqda, Pi "kociemba" python kitabxanasından istifadə edərək Rubik kubunu həll etmək üçün lazım olan hərəkətləri xəritəyə salır. Bu məlumatlar, LEGO mühərriklərindən istifadə edərək Rubik kubunu həll etmək üçün Pi və BrickPi3 tərəfindən alınmışdır. Nəticə: həll edilmiş bir Rubik kubu.

Addım 1: Alətlər və materiallar

Qurun
Qurun
  • BrickPi3 - Rubik kub həllini həll edən LEGO mühərriklərini idarə etmək üçün BrickPi -dən istifadə edəcəyik.
  • Raspberry Pi - Pi, emal edəcək, şəkil çəkəcək və BrickPi -yə əmr verəcək.
  • Raspberry Pi Camera - Pi Camera həll olunmamış Rubik kubunun şəklini çəkəcək.
  • Ethernet Kabeli - İnternetə qoşulmaq üçün maşınınıza ehtiyacınız olacaq. Bunu wifi üzərindən etmək istəyirsinizsə, bu da yaxşıdır!
  • Raspbian for Robots SD Card - Raspberry Pi ilə işləyən proqram. Bu, bu dərs üçün lazım olan proqramların çoxu ilə gəlir. Proqramı pulsuz yükləyə bilərsiniz.
  • LEGO Mindstorms EV3 Kit (31313) - Bir yığın LEGO və iki böyük mühərrikə, bir servo motora və Ultrasonik Sensora ehtiyacınız olacaq.
  • Bir Rubik Kubu - Burada olduqca sərbəst fırlanan birini tapdıq. Təxminən hər hansı bir 9x9x9 Rubik kubundan istifadə edə bilərsiniz.

Addım 2: Qurun

Qurun
Qurun
Qurun
Qurun

Çözücü qurmaq

Bu dizayn, LEGO EV3 üçün MindCub3r dizaynından ilham aldı. BricKuber qurmaq üçün MindCub3r qurmağa başlayın. Tam LEGO qurma təlimatlarını burada tapa bilərsiniz.

Rubiks kub həll edən dizayn üç əsas hərəkət hissəsindən ibarətdir. Birincisi, Rubik kubunu tutacaq beşikdir. İkincisi, qarışdırıcı, Rubik kubunu çevirmək üçün istifadə olunan bir qol.

Nəhayət, bir kamera qolu əlavə edirik. MindCubr -ın orijinal dizaynında bu, Rubik kubunun üstündəki EV3 rəng sensorunu tutdu. Dəyişdirilmiş dizaynımızda, Rubik kubunun üstündə bir Raspberry Pi Kamerası var. Kubu manipulyasiya etmək üçün iki LEGO Mindstorms mühərrikindən istifadə edirik: birincisi, kubu döndərmək üçün beşiyin altında oturur, ikincisi isə küpü əks oxda fırlatmaq üçün qarışdırıcı qolunu hərəkətə gətirir.

BrickPi3 yığın

BrickPi3 üçün montaj təlimatlarını burada tapa bilərsiniz. Çantanı yığmalıyıq, BrickPi3, Raspberry Pi, Raspberry Pi Kamerasını bağlamalı, bir SD Kart əlavə etməli və batareyalar əlavə etməliyik. Proqramın qurulmasını asanlaşdırmaq üçün Robotlar üçün Raspbian, artıq qurulmasına ehtiyacınız olan proqramların çoxu ilə gəlir. Ən azı 8 GB -lıq SD Karta ehtiyacınız olacaq və SD Kartın tam ölçüsünə uyğun olaraq diski genişləndirmək istəyəcəksiniz.

BrickPi3 əlavə edin

BrickPi3 -ü LEGO montajına əlavə edirik. BrickPi3 -ü dəstəkləmək və BricKuber gövdəsi ilə bərabərləşdirmək üçün LEGO EV3 "qanadlarından" istifadə etdik. Bu, güc paketinə 8XAA batareyaları əlavə etmək və BrickPi3 güc paketini LEGO montajına bağlamaq üçün yaxşı bir addımdır. Proqramlaşdırma üçün BrickPi3 -ü USB gücü ilə Raspberry Pi -yə qoşa bilərsiniz, lakin mühərrikləri hərəkət etdirmək üçün Güc Paketi ilə enerji verməlisiniz.

Motorları BrickPi3 -ə qoşun

Shuffler Motorunu "MD" motor portuna bağlayın. Beşik motorunu BrickPi3 üzərindəki "MA" limanına bağlayın. Kamera sensoru motorunu "MC" portuna bağlayın (bu daha kiçik servoya bənzər motordur). Kameranı hərəkət etdirməsək də, mühərriklərdən istifadə edərək kameranın yerini tənzimləmək istəyə bilərsiniz.

Raspberry Pi Kamerasını qoşun

LEGO Camera dəstəyindən istifadə edərək kameranı bağlayın. Kameranın kiçik qara lensi iki LEGO şüa dəstəyi arasına sığmalıdır. Kameranı bir az elektrik lenti ilə LEGO dayaqlarına bağlayın. Kameranın bütün Rubik kubunu tuta biləcəyinə əmin olmaq üçün yaxşı vaxtdır. Raspistill əmri ilə test şəkli çəkə bilərsiniz

raspistill -o cam.jpg

Şəklin ortasında kubun yaxşı mərkəzdə olduğunu yoxlayın.

Addım 3: Proqramı hazırlayın

Artıq quraşdırılmış BrickPi3 ilə birlikdə gələn xüsusi görüntümüz olan Robotlar üçün Raspbian və ya Raspbian üçün hər hansı bir versiyadan istifadə edə bilərsiniz. Standart bir Raspbian versiyasından istifadə edirsinizsə, əmrdən istifadə edərək BrickPi3 kitabxanalarını quraşdıra bilərsiniz

sudo curl -kL dexterindustries.com/update_brickpi3 | bash

Bu addım, BrickPi3 -ü Raspbian Şəkilinizə yükləmək üçün lazım olan bütün kitabxanaları quraşdıracaq. Robotlar üçün Raspbian istifadə edirsinizsə bu addımı atın: BrickPi3 artıq quraşdırılıb.

Nəhayət, əmrdən istifadə edərək bütün layihə asılılıqlarını quraşdırın:

sudo curl https://raw.githubusercontent.com/DexterInd/Brick… | bash

Bu addım üçün BrickPi3 -ün internetə qoşulması lazımdır. Layihənin Rubik küpünü həll etmək üçün istifadə olunan Daniel Walton (@dwalton76) tərəfindən Github üzərindəki bəzi vacib kitablar da daxil olmaqla bir çox kitabxana var.

Addım 4: Rubik kubunu həll edin

Rubik kubunu həll edin
Rubik kubunu həll edin
Rubik kubunu həll edin
Rubik kubunu həll edin
Rubik kubunu həll edin
Rubik kubunu həll edin

Çözülməmiş bir Rubik kubunu beşiyə qoyun. Komandanı işə salın

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

Robot kubu hər üzünə çevirəcək və kamera hər tərəfdən biri olan 6 şəkil çəkəcək. Raspberry Pi, altı şəkildən kub konfiqurasiyasını təyin edəcək. Effektiv bir həll tapmaq üçün Cube konfiqurasiyası kociemba Python kitabxanasına veriləcək. Nəhayət, robot Rubik kubunu həll etmək üçün hərəkətlər edəcək!

Addım 5: Mənbə Kodu

BricKuber üçün bütün mənbə kodlarını buradakı açıq mənbə github depomuzda tapa bilərsiniz.

Bu layihə, komanda tərəfindən quraşdırılmış aşağıdakı proqram paketlərindən istifadə edir

Tövsiyə: