Բովանդակություն:
- Պարագաներ
- Քայլ 1: Նկարագրություն
- Քայլ 2. Շարժիչային բլոկի հավաքում
- Քայլ 3: Անջատիչներ և մալուխի պատրաստում
- Քայլ 4: Էլեկտրոնային տախտակների լարերի միացում
- Քայլ 5. Motor Group- ը և Arduino- ն ՝ ներքևի շերտում
- Քայլ 6. Մեկ տախտակի համակարգիչ և սենսորներ վերին շերտում
- Քայլ 7: Տեղափոխեք այն:
Video: Կառուցեք ձեր սեփական Turtlebot ռոբոտը: 7 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:47
Խմբագրել
Softwareրագրային ապահովման և կառավարման վերաբերյալ լրացուցիչ տեղեկությունները հասանելի են այս հղումով.
hackaday.io/project/167074-build-your-own-turtlebot-3-backbone
Կոդի ուղիղ հղումը հետևյալն է.
github.com/MattMgn/foxbot_core
Ինչու՞ այս նախագիծը:
Turtlebot 3 -ը կատարյալ հարթակ է էլեկտրոնիկայի, ռոբոտաշինության և նույնիսկ արհեստական ինտելեկտի մեջ խորանալու համար: Ես առաջարկում եմ ձեզ կառուցել ձեր սեփական turtlebot- ը քայլ առ քայլ մատչելի բաղադրիչներով ՝ առանց զոհաբերելու հատկություններն ու կատարումը: Մի բան նկատի ունենալով. Սկզբնական ռոբոտից լավագույնը պահելը, դրա մոդուլյարությունը, պարզությունը և բաց կոդով ինքնավար նավարկության և AI- ի փաթեթների հսկայական քանակը:
Այս նախագիծը հնարավորություն է տալիս սկսնակների համար ձեռք բերել էլեկտրոնիկայի, մեխանիկայի և համակարգչային գիտությունների հասկացություններ, իսկ ավելի փորձառուների համար ստանալ հզոր արհեստական բանականության ալգորիթմներ փորձարկելու և մշակելու հզոր հարթակ:
Ի՞նչ կբացահայտեք այս նախագծում:
Դուք պատրաստվում եք պարզել, թե որ հիմնական մեխանիկական և էլեկտրոնային մասերը պետք է պահվեն սկզբնական բոտից `ամբողջական համատեղելիությունը երաշխավորելու համար:
Կառուցման ամբողջ գործընթացը մանրամասն կլինի ՝ անցնելով 3D մասերի տպագրությունից, հավաքումից և մի քանի բաղադրիչներից, էլեկտրոնիկայի եռակցումից և ինտեգրումից մինչև վերջապես Arduino- ի ծածկագրերի կազմումը: Այս ուսանելի նյութը կավարտվի «բարև աշխարհ» օրինակով ՝ ձեզ ROS- ին ծանոթացնելու համար: Եթե ինչ -որ բան անհասկանալի է թվում, ազատ զգացեք հարց տալու:
Պարագաներ
Էլեկտրոնիկա:
1 x Single Board համակարգիչ ՝ ROS- ով աշխատելու համար, կարող է լինել Raspberry Pi կամ Jetson Nano, օրինակ
1 x Arduino PUE- ով, կարող եք նաև օգտագործել UNO կամ MEGA
1 x պրոտո-տախտակ, որը համապատասխանում է Arduino DUE- ի փին-աութին, հասանելի է այստեղ
2 x 12V DC շարժիչներ ՝ կոդավորիչներով (100 RPM տարբերակ)
1 x L298N շարժիչի վարորդ
2 x 5V կարգավորիչ
1 x մարտկոց (օրինակ ՝ 3S/4S LiPo մարտկոց)
2 x ON/OFF անջատիչ
2 x LED
2 x 470kOhm դիմադրիչներ
3 x 4 կապում JST միակցիչներ
1 x USB մալուխ (առնվազն մեկը SBC- ի և Arduino- ի միջև)
Սենսորներ:
1 x Ընթացիկ տվիչ (ըստ ցանկության)
Ազատության 1 x 9 աստիճան IMU (ըստ ցանկության)
1 x LIDAR (ըստ ցանկության)
Շասսի:
16 x Turtlebot մոդուլային ափսեներ (որոնք կարող են նաև 3D տպվել)
2 x Անիվներ 65 մմ տրամագծով (6 մմ լայնության տարբերակ)
4 x նեյլոնե բացիչներ 30 մմ (ըստ ցանկության)
20 x M3 ներդիրներ (ըստ ցանկության)
Մյուսները:
Լարերը
M2.5 և M3 պտուտակներ և ներդիրներ
3D տպիչ կամ մեկը, ով կարող է տպել դրա համար նախատեսված մասերը
Ձեռքի գայլիկոն ՝ հավաքածուի նման, նման փորվածքներով
Քայլ 1: Նկարագրություն
Այս ռոբոտը մի պարզ դիֆերենցիալ շարժիչ է, որն օգտագործում է 2 անիվներ, որոնք ուղղակիորեն տեղադրված են նրանց շարժիչի վրա և գլանափաթեթ, որը տեղադրված է հետևի մասում ՝ ռոբոտի ընկնելուց խուսափելու համար: Ռոբոտը բաժանված է երկու շերտերի.
Ստորին շերտ
վերին շերտ. «բարձր մակարդակի» էլեկտրոնային համակարգով, մասնավորապես `մեկ տախտակի համակարգչով և LIDAR- ով
Այդ շերտերը կապված են տպագիր մասերի և պտուտակների հետ `կառուցվածքի ամրությունն ապահովելու համար:
Էլեկտրոնային սխեմատիկ
Սխեման կարող է մի փոքր խառնաշփոթ թվալ: Դա սխեմատիկ նկար է և չի ներկայացնում բոլոր լարերը, միակցիչները և նախատախտակը, բայց այն կարելի է կարդալ հետևյալ կերպ.
3S Litihum Ion Polymer մարտկոցը ՝ 3000 մԱ / ժ հզորությամբ, հզորացնում է առաջին միացումը, այն սնուցում է ինչպես շարժիչի կառավարման տախտակը (L298N), այնպես էլ շարժիչի կոդավորիչների և Arduino- ի առաջին 5 Վ կարգավորիչը: Այս միացումը միացված է LED- ով անջատիչի միջոցով, որը ցույց է տալիս իր ON/OFF վիճակը:
Նույն մարտկոցը սնուցում է երկրորդ միացումը, մուտքային լարումը փոխակերպվում է 5 Վ -ի, որպեսզի սնուցի մեկ տախտակի համակարգիչը: Այստեղ նույնպես միացումը միացված է անջատիչի և LED- ի միջոցով:
Լրացուցիչ սենսորներ, ինչպիսիք են LIDAR- ը կամ տեսախցիկը, կարող են անմիջապես ավելացվել Raspberry Pi- ի վրա USB- ի կամ CSI պորտի միջոցով:
Մեխանիկական դիզայն
Ռոբոտի շրջանակը բաղկացած է 16 նույնական մասերից, որոնք կազմել են 2 քառակուսի շերտ (28 սմ լայնություն): Բազմաթիվ անցքեր թույլ են տալիս տեղադրել լրացուցիչ մասեր այնտեղ, որտեղ դրա կարիքը կա և առաջարկում են ամբողջական մոդուլային դիզայն: Այս նախագծի համար ես որոշեցի ձեռք բերել TurtleBot3- ի բնօրինակ ափսեներ, բայց դրանք կարող եք նաև 3D տպել, քանի որ դրանց դիզայնը բաց կոդ է:
Քայլ 2. Շարժիչային բլոկի հավաքում
Շարժիչի պատրաստում
Առաջին քայլը յուրաքանչյուր շարժիչի շուրջ ավելացնել 1 մմ հաստությամբ փրփուր ժապավեն `թրթռանքներից և աղմուկից խուսափելու համար, երբ շարժիչը պտտվում է:
Տպագիր մասեր
Շարժիչի բռնիչը հանգեցնում է երկու մասի, որոնք շարժիչի պես բռնում են շարժիչը: 4 պտուտակ, որը ձեռք է բերվում շարժիչը բռնակի մեջ սեղմելու համար:
Յուրաքանչյուր պահիչ բաղկացած է մի քանի անցքերից, որոնք ընդունում են M3 ներդիրները, որոնք պետք է տեղադրվեն կառույցի վրա: Կան ավելի շատ անցքեր, քան իրականում անհրաժեշտ էին, լրացուցիչ անցքերն ի վերջո կարող են օգտագործվել լրացուցիչ մաս տեղադրելու համար:
3D տպիչի կարգավորումներ. Բոլոր մասերը տպվում են հետևյալ պարամետրերով
- 0.4 մմ տրամագծով վարդակ
- 15% նյութի լցնում
- 0,2 մմ բարձրության շերտ
Անիվ
Ընտրված անիվները ծածկված են կաուչուկով `առավելագույն կպչունությունը բարձրացնելու և գլորման ազատ վիճակում ապահովելու համար: Ամրացուցիչ պտուտակը պահպանում է շարժիչի լիսեռի վրա տեղադրված անիվը: Անիվի տրամագիծը պետք է լինի այնքան մեծ, որ կարողանա հատել փոքր աստիճանի և գետնի անկանոնությունը (այդ անիվներն ունեն 65 մմ տրամագիծ):
Ֆիքսացիա
Ավարտելով մեկ շարժիչ բլոկը, կրկնում ենք նախորդ գործողությունները, այնուհետև դրանք ուղղակի ամրացնում շերտի մեջ M3 պտուտակներով:
Քայլ 3: Անջատիչներ և մալուխի պատրաստում
Շարժիչային մալուխի պատրաստում
Սովորաբար, շարժիչ-կոդավորիչը գալիս է մալուխով, որը մի կողմից ներառում է 6 պին միակցիչ, որը միացնում է ծածկագրիչի PCB- ի հետևը, իսկ մյուս կողմից `մերկ լարերը:
Դուք հնարավորություն ունեք դրանք ուղղակիորեն զոդել ձեր նախատախտակին կամ նույնիսկ ձեր Arduino- ին, բայց ես խորհուրդ եմ տալիս փոխարենը օգտագործել կանացի կապի վերնագրեր և JST-XH միակցիչներ: Այսպիսով, դուք կարող եք դրանք միացնել/անջատել ձեր նախատախտակի վրա և հեշտացնել ձեր հավաքումը:
Խորհուրդներ. Դուք կարող եք ավելացնել լարերի շուրջ ամրացվող հյուս `ձեր լարերի շուրջը և միացվող խողովակի կտորները միակցիչների մոտ` դրանով իսկ ստանալով «մաքուր» մալուխ:
Անջատիչ և LED
Երկու հոսանքի սխեմաները միացնելու համար պատրաստեք 2 լուսադիոդային և անջատիչ մալուխներ. Սկզբում զոդեք 470kOhm ռեզիստորը LED փինից մեկի վրա, այնուհետև LED- ը կպցրեք անջատիչի քորոցից մեկին: Այստեղ նաև կարող եք օգտագործել փոքր կտորի խողովակ ՝ դիմադրությունը ներսում թաքցնելու համար: Carefulգույշ եղեք, LED- ը կպցրեք ճիշտ ուղղությամբ: Կրկնեք այս գործողությունը ՝ երկու անջատիչ/լուսադիոդային մալուխներ ստանալու համար:
Ժողով
Հավաքեք նախկինում պատրաստված մալուխները համապատասխան 3D տպված մասի վրա: Անջատիչը պահպանելու համար օգտագործեք ընկույզ, LED- ները սոսինձ չեն պահանջում, պարզապես բավականաչափ ուժ տվեք, որպեսզի այն տեղավորվի անցքի մեջ:
Քայլ 4: Էլեկտրոնային տախտակների լարերի միացում
Տախտակների դասավորությունը
Լարերի քանակը նվազեցնելու համար օգտագործվում է Arduino տախտակի դասավորությունը համապատասխանող նախատախտակ: Նախատախտակի վերևում L298N- ը դրված է Dupont իգական վերնագրով (Dupont- ը «Arduino like» խորագրերն են):
L298N պատրաստում
Ի սկզբանե, L298N տախտակը չի պարունակում համապատասխան Dupont արական վերնագիր, հարկավոր է տախտակի տակ ավելացնել 9 կապում տող: Դուք պետք է իրականացնեք 9 անցք 1 մմ տրամագծով փորված բիտով `գոյություն ունեցող անցքերին զուգահեռ, ինչպես տեսնում եք նկարի վրա: Այնուհետեւ կապեք 2 տողերի համապատասխան կապում զոդման նյութերով եւ կարճ լարերով:
L298N քորոց
L298N- ը բաղկացած է 2 ալիքից, որոնք թույլ են տալիս արագության և ուղղության վերահսկում.
ուղղություն 2 թվային ելքերի միջոցով, որոնք կոչվում են IN1, IN2 առաջին ալիքի համար և IN3 և IN4 երկրորդի համար
արագություն 1 թվային ելքի միջոցով ՝ առաջին ալիքի համար կոչվում է ՀԷNA, իսկ երկրորդի համար ՝ ENB
Arduino- ի հետ ես ընտրեցի հետևյալ պին-աութը.
ձախ շարժիչ `IN1 3 -ի կապում, IN2 4 -ի վրա, ENA 2 -ի վրա
աջ շարժիչ ՝ IN3 փին 5 -ի վրա, IN4 պտուտակ 6 -ի վրա, ENB կապում 7
5V կարգավորիչ
Նույնիսկ եթե l298N- ը սովորաբար ի վիճակի է ապահովել 5V, ես դեռ մի փոքր կարգավորիչ եմ ավելացնում: Այն սնուցում է Arduino- ն VIN պորտի միջոցով և շարժիչների վրա գործող երկու կոդավորիչ: Դուք կարող եք բաց թողնել այս քայլը `ուղղակիորեն օգտագործելով ներկառուցված L298N 5V կարգավորիչը:
JST միակցիչներ և կոդավորիչ ՝ անջատված
Օգտագործեք 4 կապում իգական JST-XH միակցիչի ադապտերներ, որոնցից յուրաքանչյուրը միացված է.
- 5V կարգավորիչից
- a Ground
- երկու թվային մուտք
Լրացուցիչ I2C
Ինչպես երևի նկատել եք, նախատախտակի վրա կա լրացուցիչ 4 փին JST միակցիչ: Այն օգտագործվում է I2C սարքը IMU- ի նման միացնելու համար, կարող եք նույնն անել և նույնիսկ ավելացնել ձեր սեփական նավահանգիստը:
Քայլ 5. Motor Group- ը և Arduino- ն ՝ ներքևի շերտում
Շարժիչային բլոկների ամրացում
Երբ ստորին շերտը հավաքվում է 8 Turtlebot- ի ափսեների հետ, պարզապես օգտագործեք 4 M3 պտուտակներ անմիջապես ներդիրների մեջ `շարժիչային բլոկները պահպանելու համար: Այնուհետև կարող եք շարժիչի հոսանքի լարերը միացնել L298N ելքերին, իսկ նախկինում պատրաստված մալուխները `նախատախտակի JST միակցիչներին:
Էլեկտրաէներգիայի բաշխում
Էլեկտրաէներգիայի բաշխումը պարզապես իրականացվում է պատնեշի տերմինալային բլոկով: Պատնեշի մի կողմում XT60 կանացի խրոցակով մալուխը պտուտակված է ՝ LiPo մարտկոցին միանալու համար: Մյուս կողմից, մեր երկու LED/անջատիչ մալուխները, որոնք նախկինում զոդված էին, պտուտակված են: Այսպիսով, յուրաքանչյուր միացում (Motor և Arduino) կարող է միացվել իր անջատիչով և համապատասխան կանաչ LED- ով:
Մալուխների կառավարում
Շուտով դուք ստիպված կլինեք գործ ունենալ բազմաթիվ մալուխների հետ: Խառնաշփոթ կողմը նվազեցնելու համար կարող եք օգտագործել նախկինում եռաչափ տպված «սեղանը»: Սեղանի վրա պահեք ձեր էլեկտրոնային տախտակները երկկողմանի ժապավենով, իսկ սեղանի տակ թողեք, որ լարերը ազատ հոսեն:
Մարտկոցի պահպանում
Ձեր ռոբոտին վարելիս մարտկոցի արտահոսքից խուսափելու համար կարող եք պարզապես օգտագործել մազերի առաձգական ժապավեն:
Roller caster
Իրականում ոչ թե գլանափաթեթ, այլ պարզ կիսագունդ, որը ամրացված է ներքևի շերտի 4 պտուտակով: Բավական է ապահովել ռոբոտի կայունությունը:
Քայլ 6. Մեկ տախտակի համակարգիչ և սենսորներ վերին շերտում
Ո՞ր մեկ համակարգչային համակարգիչ ընտրել:
Ես կարիք չունեմ ձեզ ներկայացնել հանրահայտ Raspberry Pi- ն, դրա օգտագործման դեպքերի թիվը մեծապես գերազանցում է ռոբոտաշինության ոլորտին: Բայց կա շատ ավելի հզոր մարտահրավեր Raspberry Pi- ի համար, որը դուք կարող եք անտեսել: Իրոք, Nvidia- ի Jetson Nano- ն իր պրոցեսորից զատ տեղադրում է 128 միջուկի հզոր գրաֆիկական քարտ: Այս հատուկ գրաֆիկական քարտը մշակվել է հաշվարկային թանկարժեք առաջադրանքները արագացնելու համար, ինչպիսիք են պատկերի մշակումը կամ նյարդային ցանցի եզրակացությունը:
Այս նախագծի համար ես ընտրեցի Jetson Nano- ն, և կցված ֆայլերի մեջ կարող եք գտնել համապատասխան 3D հատվածը, բայց եթե ցանկանում եք գնալ Raspberry Pi- ի հետ, այստեղ շատ տպելի պատյաններ կան:
5V կարգավորիչ
Ինչ տախտակ էլ որոշեք բերել ձեր ռոբոտի վրա, ձեզ հարկավոր է 5 Վ կարգավորիչ: Վերջին Raspberry Pi 4 -ը պահանջում է առավելագույնը 1.25A, սակայն Jetson Nano- ն պահանջում է մինչև 3A սթրեսի դեպքում, այնպես որ ես ընտրեցի Pololu 5V 6A- ն ունենալ էներգիայի պաշար ապագա բաղադրիչների համար (տվիչներ, լույսեր, աստիճաններ …), բայց ցանկացած էժան 5V 2A պետք է անի: աշխատանքը Jetson- ն օգտագործում է 5.5 մմ DC տակառ, իսկ Pi- ն ՝ միկրո USB, բռնում համապատասխան մալուխը և այն կպցնում կարգավորիչի ելքին:
LIDAR դասավորությունը
Այստեղ օգտագործվող LIDAR- ը LDS-01- ն է, կան տարբեր այլ 2D LIDAR- ներ, որոնք կարող են օգտագործվել ինչպես RPLidar A1/A2/A3, YDLidar X4/G4 կամ նույնիսկ Hokuyo LIDAR- երը: Միակ պահանջն այն է, որ այն պետք է միացված լինի USB- ի միջոցով և տեղադրվի կառուցվածքի վերևում: Իրոք, եթե LIDAR- ը լավ կենտրոնացված չէ, SLAM ալգորիթմով ստեղծված քարտեզը կարող է տեղափոխել պատերի և խոչընդոտների գնահատված դիրքը դրանց իրական դիրքից: Նաև, եթե ռոբոտից որևէ խոչընդոտ անցնի լազերային ճառագայթը, այն կնվազեցնի հեռավորությունը և տեսադաշտը:
LIDAR տեղադրում
LIDAR- ը տեղադրված է 3D ձևով տպված մասի վրա, որը հետևում է իր ձևին, իսկ հատվածն ինքնին պահված է ուղղանկյուն ափսեի վրա (իրականում նկարի վրա նրբատախտակով, բայց կարող է նաև 3D տպվել): Այնուհետև ադապտերային մաս թույլ է տալիս անսամբլին ամրացնել վերին turtlebot ափսեի վրա `նեյլոնե բացիկներով:
Տեսախցիկը որպես լրացուցիչ սենսոր կամ LIDAR փոխարինում
Եթե դուք չեք ցանկանում չափազանց շատ գումար ծախսել LIDAR- ի վրա (որի արժեքը մոտ 100 դոլար է), գնացեք տեսախցիկի մոտ. Կան նաև SLAM ալգորիթմներ, որոնք աշխատում են միայն միատեսակ RGB տեսախցիկով: Երկու SBC- ն ընդունում են USB կամ CSI տեսախցիկ:
Ավելին, տեսախցիկը թույլ կտա գործարկել համակարգչային տեսողության և օբյեկտների հայտնաբերման սցենարներ:
Ժողով
Նախքան ռոբոտը փակելը, մալուխներն անցեք վերին ափսեի ավելի մեծ անցքերով.
- համապատասխան մալուխը 5V կարգավորիչից դեպի ձեր SBC
- USB մալուխը Arduino DUE- ի ծրագրավորման նավահանգստից (ամենամոտը DC տակառին) մինչև ձեր SBC USB պորտը
Այնուհետև պահեք վերին ափսեը մեկ տասնյակ պտուտակներով: Ձեր ռոբոտը այժմ պատրաստ է ծրագրավորման, ԲԱՐԻ ԿԱՐԵՎՈՐ:
Քայլ 7: Տեղափոխեք այն:
Կազմեք Arduino- ն
Բացեք ձեր նախընտրած Arduino IDE- ն և ներմուծեք ծրագրի թղթապանակը, որը կոչվում է own_turtlebot_core, այնուհետև ընտրեք ձեր տախտակը և համապատասխան նավահանգիստը, կարող եք անդրադառնալ այս հիանալի ձեռնարկին:
Կարգավորեք հիմնական պարամետրերը
Նախագիծը բաղկացած է երկու ֆայլից, և մեկը պետք է հարմարեցվի ձեր ռոբոտին: Եկեք բացենք own_turtlebot_config.h և բացահայտենք, թե որ տողերն են պահանջում մեր ուշադրությունը.
#սահմանեք ARDUINO_DUE // ** Մեկնաբանեք այս տողը, եթե ձեր պարտքը չօգտագործեք **
Պետք է օգտագործվի միայն Arduino DUE- ով, եթե ոչ ՝ մեկնաբանեք տողը:
#սահմանել RATE_CONTROLLER_KP 130.0 // ** Կարգավորել այս արժեքը **
#սահմանել RATE_CONTROLLER_KD 5000000000000.0 // ** Կարգավորել այս արժեքը ** #սահմանել RATE_CONTROLLER_KI 0.00005 // ** Կարգավորել այս արժեքը **
Այդ 3 պարամետրերը համապատասխանում են PID- ի կողմից օգտագործվող տոկոսադրույքի վերահսկիչի ձեռքբերումներին `ցանկալի արագությունը պահպանելու համար: Կախված մարտկոցի լարման, ռոբոտի զանգվածի, անիվի տրամագծի և շարժիչի մեխանիկական հանդերձանքի վրա, ձեզ հարկավոր է հարմարեցնել դրանց արժեքները: PID- ը դասական վերահսկիչ է, և այստեղ ձեզ մանրամասն չի ներկայացվի, բայց այս հղումը պետք է ձեզ բավականաչափ մուտքագրեր տա ձեր սեփականը կարգավորելու համար:
/ * Սահմանել կապում */
// շարժիչ A (աջ) const բայթ motorRightEncoderPinA = 38; // ** ՓՈՓՈԽԵԼ ՁԵՐ PIN NB- ով ** const byte motorRightEncoderPinB = 34; // ** ՓՈՓՈԽԵԼ ՁԵՐ PIN NB- ով ** const byte enMotorRight = 2; // ** ՓՈՓՈԽԵԼ ՁԵՐ PIN NB- ով ** const byte in1MotorRight = 4; // ** ՓՈՓՈԽԵԼ ՁԵՐ PIN NB- ով ** const byte in2MotorRight = 3; // ** ՓՈՓՈԽԵԼ ՁԵՐ PIN NB ** // շարժիչով B (ձախ) const byte motorLeftEncoderPinA = 26; // ** ՓՈՓՈԽԵԼ ՁԵՐ PIN NB- ով ** const byte motorLeftEncoderPinB = 30; // ** ՓՈՓՈԽԵԼ ՁԵՐ PIN NB- ով ** const byte enMotorLeft = 7; // ** ՓՈՓՈԽԵԼ ՁԵՐ PIN NB- ով ** const byte in1MotorLeft = 6; // ** ՓՈՓՈԽԵԼ ՁԵՐ PIN NB- ով ** const byte in2MotorLeft = 5; // ** ՓՈՓՈԽԵԼ ՁԵՐ PIN NB- ով **
Այս բլոկը սահմանում է կապը L298N- ի և Arduino- ի միջև, պարզապես փոփոխեք քոր համարը ՝ ձերին համապատասխանելու համար: Երբ ավարտեք կազմաձևման ֆայլը, կազմեք և վերբեռնեք ծածկագիրը:
Տեղադրեք և կազմաձևեք ROS- ը
Երբ հասնեք այս քայլին, հրահանգները ճիշտ նույնն են, ինչ տրված է TurtleBot3- ի հիանալի ձեռնարկում նշվածներին, դուք պետք է մանրակրկիտ հետևեք
լավ արված TurtleBot 3 -ն այժմ ձերն է, և դուք կարող եք գործարկել առկա բոլոր փաթեթներն ու ձեռնարկները ROS- ով:
Լավ, բայց ինչ է ROS- ը:
ROS- ը նշանակում է Robots Operating System, սկզբում այն կարող է բավականին բարդ թվալ, բայց դա այդպես չէ, պարզապես պատկերացրեք ապարատային (տվիչներ և գործարկիչներ) և ծրագրային ապահովումների (նավարկության, կառավարման, համակարգչային տեսողության ալգորիթմներ) հաղորդակցության միջոց: Օրինակ, դուք կարող եք հեշտությամբ փոխանակել ձեր ընթացիկ LIDAR- ը այլ մոդելի հետ ՝ առանց կարգաբերումը խախտելու, քանի որ յուրաքանչյուր LIDAR- ը հրապարակում է նույն LaserScan հաղորդագրությունը: ROS- ը լայնորեն օգտագործվում է ռոբոտաշինության ոլորտում, Գործարկեք ձեր առաջին օրինակը
ROS- ի համար «բարև աշխարհ» համարժեքը այն է, որ ձեր ռոբոտին հեռավար աշխատեք հեռավոր համակարգչի միջոցով: Այն, ինչ ցանկանում եք անել, արագության հրամաններ ուղարկելն է, որպեսզի շարժիչները պտտվեն, հրամանները հետևում են այս խողովակին.
- turtlebot_teleop հանգույց, որը աշխատում է հեռակա համակարգչով, հրապարակել «/cmd_vel» թեման, ներառյալ Twist հաղորդագրությունը
- այս հաղորդագրությունը փոխանցվում է ROS հաղորդագրությունների ցանցի միջոցով դեպի SBC
- սերիական հանգույցը թույլ է տալիս «/cmd_vel» - ը ստանալ Arduino- ում
- Arduino- ն կարդում է հաղորդագրությունը և յուրաքանչյուր շարժիչի անկյունային արագությունը սահմանում ռոբոտի ցանկալի գծային և անկյունային արագությանը համապատասխանելու համար:
Այս գործողությունը պարզ է և կարելի է հասնել ՝ գործարկելով վերը թվարկված հրամանների տողերը: Եթե ցանկանում եք ավելի մանրամասն տեղեկատվություն, պարզապես դիտեք տեսանյութը:
[SBC]
վարդագույն
[SBC]
rosrun rosserial_python serial_node.py _port: =/dev/ttyACM0 _baud: = 115200
[Հեռակա համակարգիչ]
արտահանել TURTLEBOT3_MODEL = $ {TB3_MODEL}
roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch
Ավելի առաջ գնալու համար
Նախքան պաշտոնական բոլոր օրինակները փորձելը, դուք պետք է իմանաք վերջին բանը, ձեռնարկում ամեն անգամ, երբ դուք բախվում եք այս հրամանին.
roslaunch turtlebot3_bringup turtlebot3_robot.launch
փոխարենը պետք է գործարկեք այս հրամանը ձեր SBC- ի վրա.
rosrun rosserial_python serial_node.py _port: =/dev/ttyACM0 _baud: = 115200
Եվ եթե ունեք LIDAR գործարկվող համապատասխան հրամանը ձեր SBC- ում, իմ դեպքում ես վարում եմ LDS01 ստորև նշված տողով.
roslaunch hls_lfcd_lds_driver hlds_laser.launch
Եվ վերջ, դուք վերջնականապես կառուցել եք ձեր սեփական turtlebot- ը:) Դուք պատրաստ եք բացահայտել ROS- ի ֆանտաստիկ հնարավորությունները և կոդավորել տեսլականի և մեքենայական ուսուցման ալգորիթմները:
Խորհուրդ ենք տալիս:
Կառուցեք ձեր ինտերնետով վերահսկվող վիդեո-հոսքային ռոբոտը Arduino- ով և Raspberry Pi- ով. 15 քայլ (նկարներով)
Կառուցեք ձեր ինտերնետով վերահսկվող վիդեո-հոսքային ռոբոտը Arduino- ի և Raspberry Pi- ի միջոցով. Ես պատրաստում եմ այս նախագիծը, որպեսզի բոլորը կարողանան սովորել և կիսվել: Դուք կարող եք ունենալ
Otto DIY - Կառուցեք ձեր սեփական ռոբոտը մեկ ժամում: 9 քայլ (նկարներով)
Otto DIY - Կառուցեք ձեր սեփական ռոբոտը մեկ ժամում. ազդեցության առաքելություն `ներառական միջավայր ստեղծելու համար բոլոր
CityCoaster - Կառուցեք ձեր սեփական հավելյալ իրականության ափսե ձեր բիզնեսի համար (TfCD). 6 քայլ (նկարներով)
CityCoaster - Կառուցեք ձեր սեփական հավելյալ իրականության ափսե ձեր բիզնեսի համար (TfCD). Քաղաք ձեր գավաթի տակ: CityCoaster- ը նախագիծ է, որը մտածում է Հաագայի Ռոտերդամի օդանավակայանի արտադրանքի մասին, որը կարող է արտահայտել քաղաքի ինքնությունը ՝ զվարճացնելով լաունջի հաճախորդներին հավելյալ իրականությամբ: Նման միջավայրում
Պատրաստեք ձեր սեփական 360 պանորամային լուսանկարչական ռոբոտը ՝ 5 քայլ
Պատրաստեք ձեր սեփական 360 պանորամային ֆոտո ռոբոտը. Սա իմ 360 պանորամային լուսանկարչական ռոբոտն է, գաղափարը հնարավորինս փոքր ժամանակում նկարվում է 360 աստիճանով ՝ առանց սխալների, վերցրեք համայնապատկերը ծանր պայմաններում և զվարճալի: և ես բարելավումներ եմ իրականացնում և օգտագործում եմ
Կառուցեք ձեր սեփական սպասավոր ռոբոտը !!! - Ուսուցում, լուսանկարներ և տեսանյութ. 58 քայլ (նկարներով)
Կառուցեք ձեր սեփական սպասավոր ռոբոտը !!! - Ուսումնական ձեռնարկ, լուսանկարներ և տեսանյութեր. Խմբագրել. Իմ նախագծերի մասին ավելի շատ տեղեկություններ իմ նոր կայքէջում `narobo.com: Ես նաև խորհրդատվություն եմ տրամադրում ռոբոտաշինության, մեխատրոնիկայի և հատուկ էֆեկտների նախագծերի/ապրանքների համար: Լրացուցիչ մանրամասների համար այցելեք իմ կայքը ՝ narobo.com: Երբևէ ցանկացե՞լ եք բութլեր ռոբոտ, որը խոսում է ձեզ հետ