Мазмұны:

BricKuber жобасы - кубикті шешетін Raspberry Pi Rubiks роботы: 5 қадам (суреттермен)
BricKuber жобасы - кубикті шешетін Raspberry Pi Rubiks роботы: 5 қадам (суреттермен)

Бейне: BricKuber жобасы - кубикті шешетін Raspberry Pi Rubiks роботы: 5 қадам (суреттермен)

Бейне: BricKuber жобасы - кубикті шешетін Raspberry Pi Rubiks роботы: 5 қадам (суреттермен)
Бейне: Бірінші мобильді қосымша 2024, Маусым
Anonim
Image
Image

BricKuber Рубик кубигін 2 минуттан аз уақыт ішінде шеше алады.

BricKuber - бұл Рубиктің текшені шешетін ашық көзі, сіз оны өзіңіз жасай аласыз

Біз Raspberry Pi көмегімен текшені шешетін Рубик роботын жасағымыз келді. Біз жылдамдықпен жүрудің орнына, қарапайымдылықпен бардық: егер сізде Raspberry Pi, BrickPi жиынтығы және стандартты LEGO Mindstorms EV3 немесе NXT жиынтығы болса, сіз біздің ізімізбен оңай жүре алуыңыз керек. Бағдарлама Python бағдарламалау тілінде жазылған. Github-дағы барлық бастапқы кодты мына жерден көруге болады.

Фон Рубик кубигі жақында қайта орала бастады. 1974 жылы ойлап табылған, бұл әлемдегі ең көп сатылатын ойыншық. Бірақ оларды шешу үшін ой, күш пен шеберлік қажет… неге роботқа бұған жол бермеске? Бұл жобада біз Raspberry Pi, BrickPi және LEGO Mindstorms жинағын алып, текшені шешетін Рубик роботын жасаймыз. Рубиктің шешілмеген текшесін шешкішке қойыңыз, питон бағдарламасын іске қосыңыз, сонда сіздің кубик Рубик шешіледі! Жоба Рубик текшесін тікелей шешу үшін Pi пайдаланады. BrickPi3 шешілмеген кубикті алады, ал Raspberry Pi Raspberry Pi камерасы бар кубиктің әр жағын суретке түсіреді. Pi түстер квадраттарының мәтіндік картасын жасайды, олар текшеде қай жерде орналасқанын көрсетеді. Текшені толық салыстырған кезде, Pi «kociemba» питон кітапханасын пайдаланып, Рубик текшесін шешуге қажетті қозғалыстарды көрсетеді. Бұл ақпаратты Pi мен BrickPi3 LEGO қозғалтқыштарының көмегімен рубик кубигін шешу үшін алады. Нәтиже: шешілген Рубик кубигі.

1 -қадам: құралдар мен материалдар

Оны құрастырыңыз
Оны құрастырыңыз
  • BrickPi3 - Біз BrickPi -ді LUBO қозғалтқыштарын басқару үшін қолданамыз, бұл кубикті Рубикті шешеді.
  • Raspberry Pi - Pi өңдеуді, суретке түсіруді және BrickPi командасын басқарады.
  • Raspberry Pi камерасы - Pi Camera шешілмеген рубик кубін суретке түсіреді.
  • Ethernet кабелі - Интернетке қосылу үшін сізге құрылғы қажет. Егер сіз мұны WiFi арқылы жасағыңыз келсе, бұл да жақсы!
  • SD картасына арналған Raspbian - Raspberry Pi жұмыс істейтін бағдарламалық жасақтама. Бұл оқулыққа қажет көптеген бағдарламалық жасақтамамен бірге келеді. Сіз сондай -ақ бағдарламалық жасақтаманы ақысыз жүктей аласыз.
  • LEGO Mindstorms EV3 жиынтығы (31313) - Сізге LEGO және екі үлкен қозғалтқыш, бір серво қозғалтқышы мен ультрадыбыстық сенсор қажет.
  • Рубик кубигі - біз мұнда еркін айналатын біреуін таптық. Сіз кез келген 9х9х9 Рубик текшесін қолдана аласыз.

2 -қадам: Оны құрастырыңыз

Оны құрастырыңыз
Оны құрастырыңыз
Оны құрастырыңыз
Оны құрастырыңыз

Шешімді құру

Бұл дизайн LEGO EV3 үшін MindCub3r дизайнынан шабыт алған. BricKuber құру үшін MindCub3r құрастырудан бастаңыз. LEGO құру бойынша толық нұсқауларды мына жерден табуға болады.

Рубик текшелерін шешуші дизайн үш негізгі қозғалмалы бөліктен тұрады. Біріншісі - Рубик кубигін ұстайтын бесік. Екіншісі - руфик кубигін аудару үшін қолданылатын білек.

Ақыр соңында, біз камера тұтқасын қосамыз. MindCubr түпнұсқалық дизайнында бұл EV3 түс сенсоры Рубик текшесінің үстінде болды. Біздің түрлендірілген дизайнда ол Рубик текшесінің үстінде Raspberry Pi камерасын ұстайды. Біз текшені басқару үшін LEGO Mindstorms екі қозғалтқышын қолданамыз: біріншісі текшені айналдыру үшін бесіктің астына отырады, екіншісі текшені қарама -қарсы оське айналдыру үшін араластырғышты жылжытады.

BrickPi3 жинаңыз

BrickPi3 құрастыру нұсқауларын мына жерден таба аласыз. Біз корпусты жинап, BrickPi3, Raspberry Pi, Raspberry Pi камерасын қосып, SD картасын қосып, батареяларды қосуымыз керек. Бағдарламалық жасақтаманы орнатуды жеңілдету үшін Raspbian for Robots сізге қажет көптеген бағдарламалық жасақтамамен бірге келеді. Сізге кемінде 8 ГБ SD картасы қажет болады және дискіні SD картасының толық көлеміне сәйкес кеңейту қажет болады.

BrickPi3 бекітіңіз

Біз BrickPi3 -ті LEGO жинағына қосамыз. Біз BrickPi3 -ті қолдау және оны BricKuber корпусымен теңестіру үшін LEGO EV3 «қанаттарын» қолдандық. Бұл 8XAA батареяларын қуат жинағына қосу және BrickPi3 қуат жинағын LEGO жинағына қосу үшін жақсы қадам. Бағдарламалау үшін сіз BrickPi3 -ті USB қуатымен Raspberry Pi -ге қосуға болады, алайда қозғалтқыштарды жылжыту үшін сізге Power Pack -пен қуат беру қажет болады.

Қозғалтқышты BrickPi3 -ке қосыңыз

Shuffler моторын «MD» мотор портына бекітіңіз. Бесік қозғалтқышын BrickPi3 «MA» портына бекітіңіз. Камера сенсорының қозғалтқышын «MC» портына бекітіңіз (бұл кіші серво тәрізді қозғалтқыш). Біз камераны жылжытпайтын болсақ та, қозғалтқыштардың көмегімен камераның орнын реттегіңіз келуі мүмкін.

Raspberry Pi камерасын қосыңыз

LEGO Camera қолдауын пайдаланып, камераны бекітіңіз. Фотокамераның кішкентай қара линзасы LEGO сәулесінің екі тірегінің арасына сәйкес келуі керек. Камераны LEGO тіректеріне электрлік таспамен бекітіңіз. Бұл камераның Рубиктің текшесін түгел түсіре алатындай етіп орналасқанына көз жеткізу үшін жақсы уақыт. Сіз raspistill командасымен тест суретін түсіре аласыз

raspistill -o cam.jpg

Текшенің суреттің ортасында жақсы орналасқанын тексеріңіз.

3 -қадам: Бағдарламаны дайындаңыз

Сіз Raspbian немесе Raspbian for Robots -тың кез келген нұсқасын қолдана аласыз, BrickPi3 орнатылған біздің суреттер. Егер сіз Raspbian стандартты нұсқасын қолдансаңыз, сіз пәрменді қолдана отырып BrickPi3 кітапханаларын орната аласыз

sudo curl -kL dexterindustries.com/update_brickpi3 | bash

Бұл қадам Raspbian кескінінде BrickPi3 іске қосу үшін қажет барлық кітапханаларды орнатады. Егер сіз Raspbian for Robots қолдансаңыз, бұл қадамды өткізіп жіберіңіз: BrickPi3 қазірдің өзінде орнатылған.

Соңында, пәрменді қолдана отырып, барлық жобалық тәуелділіктерді орнатыңыз:

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

Бұл қадам үшін BrickPi3 интернетке қосылуы керек. Жоба тәуелді көптеген кітапханалар бар, соның ішінде Рубик текшесін шешуге арналған Github -дағы Дэниэл Уолтонның (@dwalton76) кейбір маңызды кітапханалары бар.

4 -қадам: Рубик кубигін шешіңіз

Рубик кубигін шешіңіз
Рубик кубигін шешіңіз
Рубик кубигін шешіңіз
Рубик кубигін шешіңіз
Рубик кубигін шешіңіз
Рубик кубигін шешіңіз

Бесікке шешілмеген Рубик кубигін салыңыз. Пәрменді іске қосыңыз

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

Робот текшені әр бетіне бұрады, ал камера текшенің әр жағынан 6 суретке түсіреді. Raspberry Pi текше конфигурациясын алты суреттен анықтайды. Тиімді шешімді табу үшін Cube конфигурациясы kociemba Python кітапханасына жіберіледі. Ақырында, робот кубикті шешу үшін қимыл жасайды.

5 -қадам: бастапқы код

BricKuber -дің барлық бастапқы кодын біздің github репо -дан табуға болады.

Бұл жоба пәрменмен орнатылған келесі бағдарламалық пакеттерді қолданады

Ұсынылған: