Բովանդակություն:

BricKuber Project - Raspberry Pi Rubiks Cube լուծող ռոբոտ. 5 քայլ (նկարներով)
BricKuber Project - Raspberry Pi Rubiks Cube լուծող ռոբոտ. 5 քայլ (նկարներով)

Video: BricKuber Project - Raspberry Pi Rubiks Cube լուծող ռոբոտ. 5 քայլ (նկարներով)

Video: BricKuber Project - Raspberry Pi Rubiks Cube լուծող ռոբոտ. 5 քայլ (նկարներով)
Video: BricKuber Raspberry Pi Rubiks Cuber Solves in 90 Seconds 2024, Հունիսի
Anonim
Image
Image

BricKuber- ը կարող է լուծել Ռուբիկի խորանարդը մոտ 2 րոպեից պակաս ժամանակում:

BricKuber- ը բաց կոդով Ռուբիկի խորանարդը լուծող ռոբոտ է, որը կարող եք ինքներդ կառուցել:

Մենք ցանկանում էինք Rasbberry Pi- ի հետ միասին կառուցել Rubiks խորանարդ լուծող ռոբոտ: Արագության փոխարեն, մենք գնացինք պարզությամբ. Եթե ունեք Raspberry Pi, BrickPi հավաքածու և ստանդարտ LEGO Mindstorms EV3 կամ NXT Kit, դուք պետք է կարողանաք հեշտությամբ հետևել մեր հետքերին: Րագիրը գրված է Python ծրագրավորման լեզվով: Github- ի բոլոր սկզբնաղբյուրը կարող եք տեսնել այստեղ:

Ֆոն Ռուբիկի խորանարդը վերջերս սկսել է վերադառնալ: Այն ստեղծվել է 1974 թվականին և հանդիսանում է աշխարհի ամենավաճառվող խաղալիքը: Բայց դրանց լուծումը պահանջում է մտածողություն, ջանք և հմտություն:.. ուրեմն ինչու՞ թույլ չտալ, որ դա անի ռոբոտը: Այս նախագծում մենք վերցնում ենք Raspberry Pi, BrickPi և LEGO Mindstorms- ի հավաքածու և կառուցում ենք Ռուբիկի խորանարդը լուծող ռոբոտ: Պարզապես տեղադրեք չլուծված Ռուբիկի խորանարդը լուծիչի մեջ, գործարկեք պիթոնի ծրագիրը, և ձեր Ռուբիկի խորանարդը լուծված է: Նախագիծը Pi- ի միջոցով ուղղակիորեն լուծում է Ռուբիկի խորանարդը: BrickPi3- ը վերցնում է չլուծված Ռուբիկի խորանարդը, իսկ Raspberry Pi- ն լուսանկարում է Ռուբիկի խորանարդի յուրաքանչյուր կողմը ՝ Raspberry Pi տեսախցիկով: Pi- ն ստեղծում է գունավոր քառակուսիների տեքստային քարտեզ, որը ցույց է տալիս, թե որտեղ են դրանք գտնվում խորանարդի վրա: Երբ այն ամբողջությամբ քարտեզագրում է խորանարդը, Pi- ն օգտագործում է «կոսիեմբա» պիթոնի գրադարանը ՝ Ռուբիկի խորանարդը լուծելու համար անհրաժեշտ քայլերը քարտեզագրելու համար: Այս տեղեկատվությունը վերցված է Pi- ի և BrickPi3- ի կողմից `Լուբոյի շարժիչները օգտագործելով Ռուբիկի խորանարդը լուծելու համար: Արդյունքը ՝ լուծված Ռուբիկի խորանարդը:

Քայլ 1: Գործիքներ և նյութեր

Կառուցեք այն
Կառուցեք այն
  • BrickPi3 - Մենք կօգտագործենք BrickPi- ն ՝ վերահսկելու LEGO շարժիչները, որոնք լուծում են Ռուբիկի խորանարդի լուծիչը:
  • Ազնվամորու Pi - Pi- ն զբաղվելու է մշակմամբ, լուսանկարելով և BrickPi- ի հրամանով:
  • Ազնվամորի Pi տեսախցիկ - Pi տեսախցիկը նկարելու է չլուծված Ռուբիկյան խորանարդը:
  • Ethernet մալուխ - Ձեզ անհրաժեշտ կլինի, որ ձեր մեքենան միացված լինի ինտերնետին: Եթե ցանկանում եք դա անել WiFi- ով, դա նույնպես լավ է:
  • Raspbian for Robots SD Card - pրագրային ապահովում, որն աշխատում է Raspberry Pi- ի համար: Սա գալիս է այս ձեռնարկի համար անհրաժեշտ ծրագրակազմի մեծ մասի հետ: Կարող եք նաև անվճար ներբեռնել ծրագրակազմը:
  • LEGO Mindstorms EV3 Kit (31313) - Ձեզ հարկավոր կլինի մի կույտ LEGO և երկու մեծ շարժիչ, և մեկ servo շարժիչ և ուլտրաձայնային տվիչ:
  • Ռուբիկի խորանարդ - Մենք գտանք մեկը, որն այստեղ բավականին ազատ պտտվում է: Դուք կարող եք օգտագործել գրեթե ցանկացած 9x9x9 Ռուբիկի խորանարդ:

Քայլ 2: Կառուցեք այն

Կառուցեք այն
Կառուցեք այն
Կառուցեք այն
Կառուցեք այն

Լուծողի կառուցում

Այս դիզայնը ոգեշնչված է LEGO EV3- ի MindCub3r դիզայնից: BricKuber- ը կառուցելու համար սկսեք MindCub3r- ի կառուցմամբ: LEGO- ի կառուցման ամբողջական հրահանգներին կարող եք ծանոթանալ այստեղ:

Ռուբիկսի խորանարդի լուծիչ դիզայնը ունի երեք հիմնական շարժական մաս: Առաջինը օրորոց է, որը պահում է Ռուբիկի խորանարդը: Երկրորդը շաֆլերն է, թևը, որն օգտագործվում է Ռուբիկի խորանարդը շրջելու համար:

Ի վերջո, մենք ավելացնում ենք տեսախցիկի թևը: MindCubr- ի օրիգինալ դիզայնով սա EV3 գույնի սենսորը պահում էր Ռուբիկի խորանարդի վրա: Մեր փոփոխված ձևավորման մեջ այն պահում է Raspberry Pi տեսախցիկը Ռուբիկի խորանարդի վրա: Մենք օգտագործում ենք երկու LEGO Mindstorms շարժիչներ ՝ խորանարդը շահարկելու համար. Առաջինը նստում է օրորոցի տակ ՝ խորանարդը պտտելու համար, իսկ երկրորդը շարժում է խառնիչ թևը ՝ պտտելով խորանարդը հակառակ առանցքի վրա:

Հավաքեք BrickPi3- ը

BrickPi3- ի հավաքման հրահանգներին կարող եք ծանոթանալ այստեղ: Մենք պետք է հավաքենք պատյանը, ամրացնենք BrickPi3- ը, Raspberry Pi- ն, Raspberry Pi տեսախցիկը, ավելացնենք SD քարտ և ավելացնենք մարտկոցներ: Softwareրագրաշարի տեղադրումն ավելի դյուրին դարձնելու համար Raspbian for Robots- ը գալիս է այն ծրագրակազմի մեծ մասի հետ, որը ձեզ արդեն անհրաժեշտ կլինի: Ձեզ անհրաժեշտ կլինի առնվազն 8 ԳԲ SD քարտ, և կցանկանաք ընդլայնել սկավառակը `SD քարտի ամբողջ չափսին տեղավորելու համար:

Կցեք BrickPi3- ը

Մենք ավելացնում ենք BrickPi3- ը LEGO հավաքույթին: Մենք օգտագործել ենք LEGO EV3 «թևերը» ՝ BrickPi3- ին աջակցելու և BricKuber- ի մարմնի հետ հավասարեցնելու համար: Սա լավ քայլ է էներգիայի փաթեթին 8XAA մարտկոցներ ավելացնելու և BrickPi3 էներգիայի փաթեթը LEGO հավաքույթին ամրացնելու համար: Programրագրավորման համար կարող եք BrickPi3- ը USB հոսանքի միջոցով միացնել Raspberry Pi- ին, սակայն շարժիչները տեղափոխելու համար ձեզ հարկավոր է էներգիայի մատակարարում Power Pack- ով:

Միացրեք շարժիչները BrickPi3- ին

Կցեք Shuffler շարժիչը «MD» շարժիչային նավահանգստին: Ամրացրեք օրորոցի շարժիչը BrickPi3- ի «MA» նավահանգստին: Կցեք տեսախցիկի տվիչի շարժիչը «MC» պորտին (սա ավելի փոքր սերվոյի նման շարժիչ է): Չնայած մենք չենք տեղափոխի տեսախցիկը, գուցե ցանկանաք հարմարեցնել տեսախցիկի գտնվելու վայրը `օգտագործելով շարժիչները:

Կցեք Raspberry Pi տեսախցիկը

Օգտագործելով LEGO տեսախցիկի աջակցությունը, ամրացրեք տեսախցիկը: Խցիկի փոքր սև ոսպնյակը պետք է տեղավորվի երկու LEGO ճառագայթների հենարանների միջև: Ամրացրեք տեսախցիկը LEGO- ի հենարաններին տեղում ՝ որոշ էլեկտրական ժապավեններով: Սա լավ ժամանակ է համոզվելու համար, որ տեսախցիկը կարող է ֆիքսել ամբողջ Ռուբիկի խորանարդը: Դուք կարող եք փորձնական պատկեր վերցնել raspistill հրահանգով

raspistill -o cam.jpg

Ստուգեք, որ խորանարդը նկարի մեջտեղում լավ կենտրոնացած է:

Քայլ 3: Նախապատրաստեք ծրագրակազմը

Ռոբոտների համար կարող եք օգտագործել Raspbian- ի կամ Raspbian- ի ցանկացած տարբերակ `մեր անհատականացված պատկերը, որը գալիս է արդեն տեղադրված BrickPi3- ով: Եթե դուք օգտագործում եք Raspbian- ի ստանդարտ տարբերակը, կարող եք տեղադրել BrickPi3 գրադարանները ՝ օգտագործելով հրամանը

sudo curl -kL dexterindustries.com/update_brickpi3 | բաշ

Այս քայլը կտեղադրի BrickPi3- ը ձեր Raspbian Image- ի վրա գործարկելու համար անհրաժեշտ բոլոր գրադարանները: Բաց թողեք այս քայլը, եթե Raspbian- ն օգտագործում եք ռոբոտների համար. BrickPi3- ն արդեն տեղադրված է:

Վերջապես, տեղադրեք ծրագրի բոլոր կախվածությունները `օգտագործելով հրամանը.

sudo curl https://raw.githubusercontent.com/DexterInd/Brick… | բաշ

Այս քայլի համար ձեր BrickPi3- ը պետք է միացված լինի ինտերնետին: Կան մի շարք գրադարաններ, որոնցից կախված է նախագիծը, ներառյալ Դանիել Ուոլթոնի (@dwalton76) որոշ կարևոր գրադարանները Github- ում, որոնք օգտագործվում են Ռուբիկի խորանարդը լուծելու համար:

Քայլ 4: Լուծեք Ռուբիկի խորանարդը

Լուծեք Ռուբիկի խորանարդը
Լուծեք Ռուբիկի խորանարդը
Լուծեք Ռուբիկի խորանարդը
Լուծեք Ռուբիկի խորանարդը
Լուծեք Ռուբիկի խորանարդը
Լուծեք Ռուբիկի խորանարդը

Տեղադրեք չլուծված Ռուբիկի խորանարդը օրորոցի մեջ: Գործարկեք հրամանը

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

Ռոբոտը խորանարդը կշրջի դեպի յուրաքանչյուր երես, իսկ տեսախցիկը կզբաղվի 6 լուսանկարով ՝ յուրաքանչյուրը Կուբիկի յուրաքանչյուր կողմից: Raspberry Pi- ն կորոշի խորանարդի կոնֆիգուրացիան վեց նկարներից: Cube կոնֆիգուրացիան փոխանցվելու է kociemba Python գրադարանին ՝ արդյունավետ լուծում գտնելու համար: Վերջապես, ռոբոտը կկատարի Ռուբիկի խորանարդը լուծելու քայլերը:

Քայլ 5: Աղբյուրի կոդը

BricKuber- ի ամբողջ աղբյուրի կոդը կարելի է գտնել մեր բաց կոդով github ռեպոյում այստեղ:

Այս նախագիծը օգտագործում է հրամանի կողմից տեղադրված հետևյալ ծրագրային փաթեթները

Խորհուրդ ենք տալիս: