Агуулгын хүснэгт:

BricKuber төсөл - Raspberry Pi Rubiks Cube шийдвэрлэх робот: 5 алхам (зурагтай)
BricKuber төсөл - Raspberry Pi Rubiks Cube шийдвэрлэх робот: 5 алхам (зурагтай)

Видео: BricKuber төсөл - Raspberry Pi Rubiks Cube шийдвэрлэх робот: 5 алхам (зурагтай)

Видео: BricKuber төсөл - Raspberry Pi Rubiks Cube шийдвэрлэх робот: 5 алхам (зурагтай)
Видео: 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 иж бүрдэл байгаа бол та бидний мөрийг амархан дагах ёстой. Програм хангамж нь Python програмчлалын хэл дээр бичигдсэн болно. Та Github дээрх бүх эх кодыг эндээс харах боломжтой.

Үндсэн мэдээлэл Рубикийн шоо саяхан эргэн ирж эхлэв. 1974 онд зохион бүтээсэн бөгөөд энэ нь дэлхийн хамгийн их борлуулалттай тоглоом юм. Гэхдээ тэдгээрийг шийдвэрлэхийн тулд бодол, хүчин чармайлт, ур чадвар шаардагддаг… Тиймээс яагаад робот үүнийг хийхийг зөвшөөрдөггүй юм бэ? Энэхүү төсөлд бид Raspberry Pi, BrickPi, LEGO Mindstorms -ийн багцыг авч, Рубикийн шоо шийдвэрлэх роботыг бүтээдэг. Зүгээр л шийдэгдээгүй Рубикийн кубыг уусгагч дээр байрлуулж, питон програмыг ажиллуул, тэгвэл таны Рубикийн шоо шийдэгдэх болно! Төсөл нь Pi -г ашиглан Рубикийн шоог шууд шийддэг. BrickPi3 нь шийдэгдээгүй Рубикийн шоог авдаг бөгөөд Raspberry Pi нь Raspberry Pi камертай Рубикийн шоо бүрийн хоёр талын зургийг авдаг. Pi нь өнгөт квадратуудын текстийн газрын зургийг гаргаж, куб дээр хаана байрлаж байгааг харуулдаг. Шоо бүрэн дүрсэлсэн бол Pi нь "kociemba" питоны номын санг ашиглан Рубикийн шоог шийдвэрлэхэд шаардлагатай алхамуудыг гаргаж өгдөг. Энэхүү мэдээллийг Pi ба BrickPi3 LEGO мотор ашиглан Рубикийн шоог шийдвэрлэх зорилгоор авсан болно. Үр дүн: шийдэгдсэн Рубикийн шоо.

Алхам 1: багаж хэрэгсэл, материал

Үүнийг бүтээ
Үүнийг бүтээ
  • BrickPi3 - Бид BrickPi -ийг ашиглан Рубикийн шоо уусгагчийг шийддэг LEGO хөдөлгүүрийг удирдах болно.
  • Raspberry Pi - Pi нь боловсруулах, зураг авах, BrickPi -г тушаах болно.
  • Raspberry Pi Camera - Pi Camera нь шийдэгдээгүй Рубик шооны зургийг авах болно.
  • Ethernet кабель - Интернетэд холбогдохын тулд танд машин хэрэгтэй болно. Хэрэв та үүнийг Wi -Fi ашиглан хийхийг хүсч байвал энэ нь зүгээр юм!
  • Raspbian for Robots SD Card - Raspberry Pi -ийг ажиллуулдаг програм хангамж. Энэ нь энэ хичээлд шаардлагатай ихэнх програм хангамжтай хамт ирдэг. Та мөн програмыг үнэгүй татаж авах боломжтой.
  • LEGO Mindstorms EV3 Kit (31313) - Танд LEGO болон хоёр том мотор, нэг servo мотор, хэт авианы мэдрэгч хэрэгтэй болно.
  • Рубикийн шоо - Бид энд чөлөөтэй эргэлддэг нэгийг олсон. Та бараг 9x9x9 хэмжээтэй рубик шоог ашиглаж болно.

Алхам 2: Үүнийг бүтээх

Үүнийг бүтээ
Үүнийг бүтээ
Үүнийг бүтээ
Үүнийг бүтээ

Шийдвэрлэгчийг бий болгох

Энэхүү загварыг LEGO EV3 -ийн MindCub3r загвараас санаа авсан болно. BricKuber -ийг бүтээхийн тулд MindCub3r -ийг эхлүүлээрэй. LEGO бүтээх зааварчилгааг эндээс авах боломжтой.

Рубик шоо уусгагчийн загвар нь гурван үндсэн хөдлөх хэсэгтэй. Эхнийх нь Рубикийн шоог барих өлгий юм. Хоёр дахь нь хутгагч, Рубикийн шоог эргүүлэхэд ашигладаг гар юм.

Эцэст нь бид камерын гарыг нэмж байна. MindCubr -ийн анхны загвараар энэ нь EV3 өнгөний мэдрэгчийг Рубикийн шоо дээр байрлуулсан байв. Бидний өөрчилсөн загварт Rubberry -ийн шоо дээр 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 руу тэжээх боломжтой боловч хөдөлгүүрийг хөдөлгөхийн тулд тэжээлийн багцаар тэжээл өгөх шаардлагатай болно.

Моторуудыг BrickPi3 руу холбоно уу

Shuffler моторыг "MD" мотор порт руу холбоно уу. Өлгий моторыг BrickPi3 дээрх "MA" порт руу холбоно уу. Камерын мэдрэгчийн моторыг "MC" порт руу холбоно уу (энэ нь жижиг servo шиг мотор юм). Хэдийгээр бид камерыг хөдөлгөхгүй ч гэсэн та мотор ашиглан камерын байршлыг тохируулахыг хүсч магадгүй юм.

Raspberry Pi камерыг хавсаргана уу

LEGO Camera -ийн дэмжлэгийг ашиглан камераа холбоно уу. Камерын жижиг хар линз нь LEGO цацрагийн хоёр тулгуурын хооронд багтах ёстой. Камерыг LEGO -ийн тулгуур дээр цахилгаан соронзон хальсны тусламжтайгаар бэхлээрэй. Энэ бол камер нь Рубикийн шоог бүхэлд нь авах боломжтой байрлалд байгаа эсэхийг шалгахад тохиромжтой үе юм. Та raspistill командыг ашиглан туршилтын зураг авах боломжтой

raspistill -o cam.jpg

Зургийн дунд шоо сайн төвтэй эсэхийг шалгаарай.

Алхам 3: Програм хангамжийг бэлтгэ

Та Raspbian эсвэл Raspbian for Robots -ийн аль ч хувилбарыг ашиглаж болно. Хэрэв та Raspbian -ийн стандарт хувилбарыг ашигладаг бол тушаалыг ашиглан BrickPi3 номын санг суулгаж болно

sudo curl -kL dexterindustries.com/update_brickpi3 | bash

Энэ алхам нь таны Raspbian Image дээр BrickPi3 -ийг ажиллуулахад шаардлагатай бүх номын санг суулгах болно. Хэрэв та роботуудад зориулсан Raspbian ашиглаж байгаа бол энэ алхамыг алгасаарай: BrickPi3 аль хэдийн суулгасан байна.

Эцэст нь, төслийн бүх хамаарлыг дараах тушаалыг ашиглан суулгаарай:

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

Энэ алхамыг хийхийн тулд таны BrickPi3 интернетэд холбогдох шаардлагатай болно. Төслөөс хамаардаг хэд хэдэн номын сан байдаг бөгөөд үүнд Рубикийн шоог шийдвэрлэхэд ашигладаг Github дээрх Daniel Walton (@dwalton76) зарим чухал номын сан байдаг.

Алхам 4: Рубикийн шоог шийдээрэй

Рубикийн шоог шийдээрэй
Рубикийн шоог шийдээрэй
Рубикийн шоог шийдээрэй
Рубикийн шоог шийдээрэй
Рубикийн шоог шийдээрэй
Рубикийн шоог шийдээрэй

Шийдэгдээгүй Рубикийн шоог өлгийд хий. Командыг ажиллуулна уу

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

Робот шоог нүүр болгон руу эргүүлэх бөгөөд камер нь кубын хоёр тал тус бүр 6 зураг авах болно. Raspberry Pi нь зургаан зургаас кубын тохиргоог тодорхойлох болно. Үр дүнтэй шийдлийг олохын тулд Cube тохиргоог kociemba Python номын санд дамжуулах болно. Эцэст нь робот Рубикийн шоог шийдэх алхамуудыг хийх болно.

Алхам 5: Эх код

BricKuber -ийн бүх эх кодыг манай github нээлттэй эх сурвалжаас олж болно.

Энэхүү төсөл нь тушаалаар суулгасан дараах програм хангамжийн багцыг ашигладаг

Зөвлөмж болгож буй: