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

Roomblock: ROS նավարկություն սովորելու հարթակ Roomba- ով, Raspberry Pi- ով և RPLIDAR- ով. 9 քայլ (նկարներով)
Roomblock: ROS նավարկություն սովորելու հարթակ Roomba- ով, Raspberry Pi- ով և RPLIDAR- ով. 9 քայլ (նկարներով)

Video: Roomblock: ROS նավարկություն սովորելու հարթակ Roomba- ով, Raspberry Pi- ով և RPLIDAR- ով. 9 քայլ (նկարներով)

Video: Roomblock: ROS նավարկություն սովորելու հարթակ Roomba- ով, Raspberry Pi- ով և RPLIDAR- ով. 9 քայլ (նկարներով)
Video: Roomblock: a Platform for Learning ROS Navigation with Roomba, Raspberry Pi and RPLIDAR 2024, Հուլիսի
Anonim
Image
Image
Այն, ինչ ձեզ հարկավոր է
Այն, ինչ ձեզ հարկավոր է

Ինչ է սա?

«Roomblock» - ը ռոբոտային հարթակ է, որը բաղկացած է Roomba- ից, Raspberry Pi 2 -ից, լազերային սենսորից (RPLIDAR) և շարժական մարտկոցից: Մոնտաժման շրջանակը կարող է պատրաստվել 3D տպիչների միջոցով: ROS նավիգացիոն համակարգը հնարավորություն է տալիս կազմել սենյակների քարտեզ և օգտագործել այն նպատակին ինքնուրույն հասնելու համար:

Ո՞ւմ է դա պետք:

Բոլոր նրանք, ովքեր ցանկանում են սովորել ռոբոտային նավարկության, քարտեզագրման և ինքնավար վարման նորագույն տեխնոլոգիաները: Այս ռոբոտը կարող է կառուցվել հեշտությամբ և ավելի ցածր գնով, քան մյուս առևտրային հարթակները: ROS- ն այժմ դե ֆակտո ստանդարտ ծրագրային համակարգ է ռոբոտաշինական հետազոտությունների ոլորտում: Այս ֆիլմը ցույց է տալիս, թե ինչ է հնարավոր ROS նավիգացիոն համակարգով:

Քայլ 1: Այն, ինչ ձեզ հարկավոր է

Այն, ինչ ձեզ հարկավոր է
Այն, ինչ ձեզ հարկավոր է
Այն, ինչ ձեզ հարկավոր է
Այն, ինչ ձեզ հարկավոր է
Կառուցեք USB սերիական մալուխ (ըստ ցանկության)
Կառուցեք USB սերիական մալուխ (ըստ ցանկության)
Կառուցեք USB սերիական մալուխ (ըստ ցանկության)
Կառուցեք USB սերիական մալուխ (ըստ ցանկության)

USB- սերիական մալուխ

Եթե դուք չունեք Roomba- ի համար USB- սերիական մալուխ, կարող եք այն հեշտությամբ կառուցել այս ապրանքի միջոցով:

  • FTDI: TTL-232R-5V
  • Ակիդուկի Դենշի ՝ TTL-232R-5V

Ուշադրություն դարձրեք, որ Roomba- ի ներքին մակերեսը TTL է (5V):

Միակցիչ

Roomba- ի սերիական ինտերֆեյսի համար ձեզ անհրաժեշտ է մինի-DIN 8 փին միակցիչ: Իրականում Roomba- ի միակցիչը մինի-DIN 7 պին է, սակայն շատ ավելի հեշտ է գնել 8 փին, քան 7 փին միակցիչ:

  • Digikey: mini-DIN 8 պին միակցիչ
  • Kyoritsu: mini-DIN 8 պին միակցիչ

Oldոդման

Սերիական մալուխը զոդեք 8 փին միակցիչին: Ստուգեք կապը կցված նկարով և Roomba- ի բաց ինտերֆեյսի ճշգրտման փաստաթղթով:

Roomba բաց ինտերֆեյսի ճշգրտում

Խնդրում ենք նկատի ունենալ, ապարատային հոսքի խնդրից խուսափելու համար անվտանգ է միացնել Vcc (կարմիր) և RTS (կանաչ):

Քայլ 4: Կարգավորեք Raspberry Pi Camera մոդուլը (ըստ ցանկության)

Կարգավորել Raspberry Pi Camera մոդուլը (ըստ ցանկության)
Կարգավորել Raspberry Pi Camera մոդուլը (ըստ ցանկության)
Կարգավորել Raspberry Pi Camera մոդուլը (ըստ ցանկության)
Կարգավորել Raspberry Pi Camera մոդուլը (ըստ ցանկության)

Եթե ունեք Raspberry Pi ֆոտոխցիկի մոդուլ, կարող եք այն կցել Raspberry Pi- ին: Սա կամընտիր է նավարկություն սովորելու համար, այնուամենայնիվ, զվարճալի է դիտել ռոբոտի տեսողությունից:

Տեսախցիկի ամրացման մասը ներառված է նաև Thingiverse- ի շրջանակային տվյալների մեջ: Խցիկի մոդուլը կարող է ամրագրվել չորս M2 պտուտակով:

Քայլ 5: Տեղադրեք տեղական համակարգիչը

Տեղադրեք Տեղական ԱՀ
Տեղադրեք Տեղական ԱՀ

Տեղադրեք Ubuntu- ն

Տեղադրեք Ubuntu 16.04 աշխատասեղանը պաշտոնական էջից հետո

Ubuntu- ի պաշտոնական էջը:

Տեղադրեք ROS

Տեղադրեք խորհրդակցություն ROS- ի պաշտոնական էջի հետ: Տեղադրեք Kinetic desktop ամբողջական փաթեթները:

ROS կինետիկ տեղադրման հրահանգներ

Տեղադրեք Roomblock ROS փաթեթը

Roomblock- ի փաթեթն արդեն թողարկված է Kinetic- ում: Դուք կարող եք դրանք տեղադրել apt հրամանով:

$ sudo apt տեղադրել ros-kinetic-roomblock

Վերջ:

Եթե ցանկանում եք փոփոխել և կառուցել փաթեթը աղբյուրի կոդից, կարող եք դրանք ստանալ GitHub- ից:

GitHub - սենյակի արգելափակում

Խնդրում ենք հետևել README.md- ի հրահանգներին:

Եթե ծրագրային ապահովման հետ կապված որևէ խնդիր կամ հարց ունեք, խնդրում ենք խնդիր լուծել GitHub Issues- ում, որպեսզի մենք կարողանանք արդյունավետորեն հետևել խնդիրներին: Խնդրում ենք խուսափել դրանք Instructables- ում տեղադրելուց:

Քայլ 6: Կարգավորեք Raspberry Pi- ն

Կարգավորեք Raspberry Pi- ն
Կարգավորեք Raspberry Pi- ն

Տեղադրեք Ubuntu- ն

Տեղադրեք Ubuntu 16.04 -ը Raspberry Pi- ում `տեղադրման ուղեցույցից հետո.

Ubuntu Վիքի ՝ RaspberryPi

Տեղադրեք ROS

Տեղադրեք ROS կինետիկան ՝ հետևելով տեղադրման ուղեցույցին.

Ubuntu- ի ROS Kinetic- ի տեղադրում

Տեղադրեք Roomblock ROS փաթեթը

Դուք պետք է տեղադրեք roomblock փաթեթ աղբյուրի կոդից: Փաթեթի աղբյուրի կոդը գտնվում է GitHub- ում:

GitHub - սենյակի արգելափակում

Խնդրում ենք հետևել README.md- ի հրահանգներին:

Եթե ծրագրային ապահովման հետ կապված որևէ խնդիր կամ հարց ունեք, խնդրում ենք խնդիր լուծել GitHub Issues- ում, որպեսզի մենք կարողանանք արդյունավետորեն հետևել խնդիրներին: Խնդրում ենք խուսափել դրանք Instructables- ում տեղադրելուց:

Raspberry Pi ֆոտոխցիկի մոդուլ (ըստ ցանկության)

Եթե ունեք Rasberry Pi ֆոտոխցիկի մոդուլ, ապա անհրաժեշտ է տեղադրել libraspberrypi-dev: Խնդրում ենք խորհրդակցել README.md- ի Github- ում:

Քայլ 7: Հեռահաղորդակցություն

Հեռահաղորդակցություն
Հեռահաղորդակցություն
Հեռագործողություն
Հեռագործողություն

Բարձրացրեք Raspberry Pi- ի բազային համակարգը

Առաջին հերթին, դուք պետք է դաստիարակեք համակարգը: Raspberry Pi տերմինալում գործարկեք հիմնական համակարգը հետևյալ կերպ.

$ արտահանում ROS_IP = IP_ADDRESS_OF_RASPBERRY_PI

$ roslaunch roomblock_bringup roomblock.launch

RPLIDAR- ը սկսում է պտտվել, և այժմ դուք կարող եք միանալ ռոբոտի ROS վարպետին ձեր տեղական համակարգչից:

Տեղական համակարգչից հեռահաղորդակցություն

Ռոբոտին աշխատեցնելու համար կարող եք օգտագործել ուրախության պահոց: Եթե ունեք XBox- ի ուրախ պահոց, կարող եք օգտագործել այս գործարկման ֆայլը: Հակառակ դեպքում, գուցե անհրաժեշտ լինի փոփոխել գործարկման ֆայլը `ձեր ուրախության բարձիկին համապատասխանելու համար: Մանրամասների համար այցելեք ROS վիքի էջեր:

ROS վիքի - teleop_twist_joy

$ արտահանում ROS_MASTER_URI = https:// IP_ADDRESS_OF_RASPBERRY_PI: 11311 $ roslaunch roomblock_bringup teleop.launch

Այժմ դուք կարող եք վերահսկել Roomba- ն ջոյսթիկով:

Փոխարենը, կարող եք օգտագործել ստեղնաշար:

$ արտահանում ROS_MASTER_URI = https:// IP_ADDRESS_OF_RASPBERRY_PI: 11311 $ rosrun teleop_twist_keyboard teleop_twist_keyboard.py

Մանրամասների համար խնդրում ենք խորհրդակցել ROS- ի վիքի էջերի հետ:

ROS վիքի - teleop_twist_keyboard

Քայլ 8: Գործարկեք քարտեզագրման ծրագրակազմը

Գործարկեք քարտեզագրման ծրագիրը
Գործարկեք քարտեզագրման ծրագիրը
Գործարկեք քարտեզագրման ծրագիրը
Գործարկեք քարտեզագրման ծրագիրը

Ներկայացրեք քարտեզագրման ծրագրակազմը տեղական ԱՀ -ում

Ներկայացրեք քարտեզագրման ծրագրակազմ ՝ ռոբոտի շուրջը քարտեզ ստեղծելու համար:

$ արտահանում ROS_MASTER_URI = https:// IP_ADDRESS_OF_RASPBERRY_PI: 11311 $ արտահանում ROS_IP = IP_ADDRESS_OF_LOCAL_PC $ roslaunch roomblock_mapping gmapping.launch

Այժմ դուք կարող եք տեսնել Rviz (արտացոլման ծրագրակազմ): Գործարկեք ռոբոտը սենյակի շուրջ ՝ սենյակի քարտեզ ստեղծելու համար:

Քարտեզագրման համակարգի համար կարող եք խորհրդակցել ROS վիքի էջի հետ:

  • ROS վիքի - gmapping
  • ROS վիքի - map_server

Քայլ 9: Գործարկեք ինքնավար նավարկությունը

Գործարկեք ինքնավար նավարկությունը
Գործարկեք ինքնավար նավարկությունը
Գործարկեք ինքնավար նավարկությունը
Գործարկեք ինքնավար նավարկությունը

Ներկայացրեք ինքնավար նավարկության ծրագրակազմ

Այժմ դուք կարող եք սկսել ինքնավար նավիգացիոն համակարգ տեղական համակարգչում ՝ որպես.

$ արտահանում ROS_MASTER_URI = https:// IP_ADDRESS_OF_RASPBERRY_PI: 11311 $ արտահանում ROS_IP = IP_ADDRESS_OF_LOCAL_PC $ roslaunch rolomblock_navigation amcl.launch

Նպատակը նշելու համար կարող եք օգտագործել Rviz- ը: Ռոբոտը պետք է ինքնուրույն գնա նպատակին:

Խնդրում ենք խորհրդակցել ինքնավար համակարգի ROS վիքի էջի հետ:

  • ROS վիքի - նավարկություն
  • ROS վիքի - amcl

Զվարճանալ

Եթե ունեք ընդհանուր հարցեր կամ խնդիրներ ROS- ի վերաբերյալ, դիմեք ROS վիքիին: Մենք չենք կարող պատասխանել ROS- ի վերաբերյալ ընդհանուր հարցերին:

ROS վիքի - Աջակցություն

Եթե Roomblock ծրագրային ապահովման հետ կապված որևէ խնդիր կամ հարց ունեք, խնդրում ենք խնդիր լուծել GitHub Issues- ում, որպեսզի մենք կարողանանք արդյունավետորեն հետևել խնդիրներին: Խնդրում ենք խուսափել դրանք Instructables- ում տեղադրելուց:

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