Мазмуну:

BricKuber долбоору - Raspberry Pi Rubiks Cube Роботун Чечүүчү: 5 Кадам (Сүрөттөр менен)
BricKuber долбоору - Raspberry Pi Rubiks Cube Роботун Чечүүчү: 5 Кадам (Сүрөттөр менен)

Video: BricKuber долбоору - Raspberry Pi Rubiks Cube Роботун Чечүүчү: 5 Кадам (Сүрөттөр менен)

Video: BricKuber долбоору - Raspberry Pi Rubiks Cube Роботун Чечүүчү: 5 Кадам (Сүрөттөр менен)
Video: BricKuber Raspberry Pi Rubiks Cuber Solves in 90 Seconds 2024, Июнь
Anonim
Image
Image

BricKuber Рубиктин кубигин болжол менен 2 мүнөткө чейин чече алат.

BricKuber - бул Рубиктин ачык булагы, сиз өзүңүз кура аласыз

Биз Raspberry Pi менен кубикти чечүүчү Рубикти жасоону кааладык. Ылдамдыкка баруунун ордуна, биз жөнөкөйлүк менен жөнөдүк: эгерде сизде Raspberry Pi, BrickPi комплект жана стандарттык LEGO Mindstorms EV3 же NXT Kit бар болсо, анда сиз биздин жолубузду оңой ээрчишиңиз керек. Программа Python программалоо тилинде жазылган. Githubдагы бардык булак коддорун бул жерден көрө аласыз.

Негизги маалымат Рубиктин кубиги жакында эле кайтып келе баштады. 1974-жылы ойлоп табылган, бул дүйнөдөгү эң көп сатылган оюнчук. Бирок аларды чечүү үчүн ойлонуу, аракет жана чеберчилик керек… анда эмне үчүн робот муну жасоого уруксат бербейт? Бул долбоордо биз Raspberry Pi, BrickPi жана LEGO Mindstorms топтомун алып, кубикти чечүүчү Рубик роботун жасайбыз. Жөн эле чечилбеген Рубиктин кубун чечүүчүгө кой, питон программасын иштет, ошондо сенин кубик Рубик чечилет! Долбоор Рубиктин кубун түз чечүү үчүн Пи колдонот. BrickPi3 чечилбеген Рубиктин кубугун алат жана Raspberry Pi Raspberry Pi камерасы менен Рубиктин кубунун ар бир тарабын сүрөткө тартат. Пи түстүү квадраттардын тексттик картасын түзөт, алар кубдун кайда жайгашканын көрсөтөт. Кубду толук картага түшүргөндө, Pi "kociemba" питон китепканасын колдонуп, Рубиктин кубун чечүү үчүн керектүү болгон кыймылдарды картага түшүрөт. Бул маалымат Pi жана BrickPi3 тарабынан LEGO моторлорунун жардамы менен Рубиктин кубун чечүү үчүн алынган. Жыйынтык: чечилген Рубик кубиги.

1 -кадам: Куралдар жана материалдар

Аны куруңуз
Аны куруңуз
  • BrickPi3 - Биз Рубиктин кубун чечүүчү LEGO моторлорун башкаруу үчүн BrickPi колдонобуз.
  • Raspberry Pi - Pi иштетүү, сүрөт тартуу жана BrickPiге буйрук берет.
  • Raspberry Pi камерасы - Pi Camera чечилбеген Рубик кубунун сүрөтүн тартат.
  • Ethernet кабели - Интернетке туташуу үчүн сизге машинаңыз керек болот. Эгер сиз муну wifi аркылуу жасагыңыз келсе, анда бул да жакшы!
  • Raspbian for Robots SD Card - Raspberry Pi менен иштөөчү программа. Бул окуу куралы үчүн керектүү программалык камсыздоонун көпчүлүгү менен келет. Ошондой эле программаны бекер жүктөп алсаңыз болот.
  • LEGO Mindstorms EV3 Kit (31313) - Сизге LEGO үймөгү жана эки чоң мотор, бир серво мотору жана УЗИ сенсору керек болот.
  • Рубик кубиги - Биз бул жерден абдан эркин ээрчигенди таптык. Болжол менен 9x9x9 Рубиктин кубун колдонсоңуз болот.

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 чогултууга кошобуз. Биз Licko EV3 "канаттарын" BrickPi3ти колдоого жана аны BricKuber денеси менен бир деңгээлге келтирүүгө колдондук. Бул 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

Бул кадам BrickPi3ти иштетүү үчүн керектүү болгон бардык китепканаларды Raspbian сүрөтүңүзгө орнотот. Эгерде сиз Raspbian for Robots колдонуп жатсаңыз, бул кадамды өткөрүп жибериңиз: BrickPi3 мурунтан эле орнотулган.

Акырында, буйрукту колдонуп, бардык долбоорго көз карандылыкты орнотуңуз:

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

Бул кадам үчүн BrickPi3 интернетке туташышы керек. Долбоорго көз каранды болгон көптөгөн китепканалар бар, анын ичинде Даниэль Уолтон (@dwalton76) тарабынан Github боюнча, Рубик кубун чечүү үчүн колдонулган кээ бир маанилүү китептер.

4 -кадам: Рубиктин кубун чечиңиз

Рубик кубигин чечиңиз
Рубик кубигин чечиңиз
Рубик кубигин чечиңиз
Рубик кубигин чечиңиз
Рубик кубигин чечиңиз
Рубик кубигин чечиңиз

Рубиктин чечилбеген кубугун бешикке салыңыз. Буйрукту иштетүү

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

Робот кубду ар бир бетине бурат жана камера Кубанын ар бир тарабынан 6 сүрөттү тартат. Raspberry Pi алты сүрөттөн кубдун конфигурациясын аныктайт. Натыйжалуу чечим табуу үчүн Cube конфигурациясы kociemba Python китепканасына өткөрүлөт. Акырында, робот кубикти чечүү үчүн кадамдарды аткарат!

5 -кадам: Булак коду

BricKuber үчүн бардык баштапкы кодду биздин ачык булактуу github репоңуздан тапса болот бул жерде.

Бул долбоор буйругу менен орнотулган төмөнкү программалык пакеттерди колдонот

Сунушталууда: