Բովանդակություն:
- Քայլ 1: Գործիքներ և նյութեր
- Քայլ 2: Կառուցեք այն
- Քայլ 3: Նախապատրաստեք ծրագրակազմը
- Քայլ 4: Լուծեք Ռուբիկի խորանարդը
- Քայլ 5: Աղբյուրի կոդը
Video: BricKuber Project - Raspberry Pi Rubiks Cube լուծող ռոբոտ. 5 քայլ (նկարներով)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:51
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 ռեպոյում այստեղ:
Այս նախագիծը օգտագործում է հրամանի կողմից տեղադրված հետևյալ ծրագրային փաթեթները
Խորհուրդ ենք տալիս:
Արդուինո - Լաբիրինթոս լուծող ռոբոտ (MicroMouse) Wall հետևող ռոբոտ. 6 քայլ (նկարներով)
Արդուինո | Maze Solving Robot (MicroMouse) Wall After Robot: Բարի գալուստ, ես Իսահակն եմ, և սա իմ առաջին ռոբոտն է " Striker v1.0 ". Այս ռոբոտը նախատեսված էր պարզ լաբիրինթոս լուծելու համար: Մրցույթում մենք ունեինք երկու լաբիրինթոս և ռոբոտը կարողացավ դրանք բացահայտել: Լաբիրինթոսում ցանկացած այլ փոփոխություն կարող է պահանջել փոփոխություն
Ֆունկցիոնալ USB ֆլեշ կրիչ Rubiks Cube: 7 քայլ (նկարներով)
Ֆունկցիոնալ USB ֆլեշ կրիչ Rubiks Cube: Այս ձեռնարկում ես ձեզ ցույց կտամ, թե ինչպես պատրաստել ձեր սեփական Rubik USB ֆլեշ կրիչը: Պատրաստի արտադրանքը կարող եք տեսնել հետևյալ տեսանյութում
Հավասարակշռող ռոբոտ / 3 անիվի ռոբոտ / STEM ռոբոտ ՝ 8 քայլ
Հավասարակշռող ռոբոտ / 3 անիվի ռոբոտ / STEM ռոբոտ. Մենք կառուցել ենք համակցված հավասարակշռող և եռանիվ ռոբոտ `կրթական օգտագործման համար դպրոցներում և դպրոցից հետո կրթական ծրագրերում: Ռոբոտը հիմնված է Arduino Uno- ի, սովորական վահանի վրա (շինարարության բոլոր մանրամասները տրամադրված են), Li Ion մարտկոցի տուփով (բոլորը կառուցված են
[Arduino Robot] Ինչպես պատրաստել շարժիչով գրավող ռոբոտ - Մեծ մատներ ռոբոտ - Սերվո շարժիչ - Աղբյուրի կոդ ՝ 26 քայլ (նկարներով)
[Arduino Robot] Ինչպես պատրաստել շարժիչով գրավող ռոբոտ | Մեծ մատներ ռոբոտ | Սերվո շարժիչ | Աղբյուրի կոդ ՝ Thumbs Robot: Օգտագործվել է MG90S servo շարժիչի պոտենցիոմետր: Դա շատ զվարճալի և հեշտ է: Կոդը շատ պարզ է: Այն ընդամենը մոտ 30 տող է: Կարծես շարժման գրավում լինի: Խնդրում ենք թողնել որևէ հարց կամ կարծիք: [Հրահանգ] Աղբյուրի կոդը ՝ https: //github.c
Լաբիրինթոս լուծող ինտուիտիվ ռոբոտ ՝ 3 քայլ
Ինտուիտիվ լաբիրինթոս լուծող ռոբոտ. Այս հրահանգում դուք կսովորեք, թե ինչպես պատրաստել լաբիրինթոս լուծող ռոբոտ, որը լուծում է մարդկանց գծված լաբիրինթոսները: Թեև ռոբոտների մեծ մասը լուծում է գծված լաբիրինթոսների առաջին տեսակը (դուք պետք է հետևեք գծերին, դրանք ուղիներ են), նորմալ մարդիկ հակված են երկրորդ տեսակի լաբիրինթոս նկարել