Talaan ng mga Nilalaman:

Buuin ang Iyong Sariling Turtlebot Robot !: 7 Mga Hakbang
Buuin ang Iyong Sariling Turtlebot Robot !: 7 Mga Hakbang

Video: Buuin ang Iyong Sariling Turtlebot Robot !: 7 Mga Hakbang

Video: Buuin ang Iyong Sariling Turtlebot Robot !: 7 Mga Hakbang
Video: UHAW - Dilaw | Tropavibes Reggae Cover 2024, Hulyo
Anonim
Buuin ang Iyong Sariling Turtlebot Robot!
Buuin ang Iyong Sariling Turtlebot Robot!
Buuin ang Iyong Sariling Turtlebot Robot!
Buuin ang Iyong Sariling Turtlebot Robot!
Buuin ang Iyong Sariling Turtlebot Robot!
Buuin ang Iyong Sariling Turtlebot Robot!

EDIT:

Ang mga karagdagang impormasyon na nauugnay sa software at kontrol ay magagamit sa link na ito:

hackaday.io/project/167074- build-your-own-turtlebot-3-backbone

Ang direktang link sa code ay:

github.com/MattMgn/opiobot_core

Bakit ang proyektong ito?

Ang Turtlebot 3 ay ang perpektong platform hanggang sa malalim sa electronics, robotics at kahit AI! Ipinapanukala ko sa iyo na bumuo ng iyong sariling pagong na sunud-sunod na may abot-kayang mga bahagi nang hindi sinasakripisyo ang mga tampok at pagganap. Naisip ang isang bagay: pinapanatili ang pinakamahusay mula sa paunang robot, ang modularity, pagiging simple at maraming bilang ng mga package para sa autonomous nabigasyon at AI mula sa open-source na komunidad.

Ang proyektong ito ay isang pagkakataon para sa mga nagsisimula upang makakuha ng mga ideya ng electronics, mekanika at computer science, at para sa mas may karanasan upang makakuha ng isang malakas na platform upang subukan at bumuo ng mga artipisyal na algorithm ng katalinuhan.

Ano ang matutuklasan mo sa proyektong ito?

Malalaman mo na kung aling mga mahahalagang bahagi ng mekanikal at elektronikong dapat itago mula sa orihinal na bot upang magagarantiyahan ang kumpletong pagiging tugma.

Ang buong proseso ng pagbuo ay magiging detalyado: pagpunta sa mga bahagi ng 3D sa pag-print, pag-assemble at ng maraming mga bahagi, paghihinang at pagsasama ng electronics sa wakas na pag-iipon ng code sa Arduino. Ang nagtuturo na ito ay magtatapos sa isang halimbawang 'hello world' upang pamilyar ka sa ROS. Kung may anumang hindi malinaw, huwag mag-atubiling magtanong!

Mga gamit

Elektronikong:

1 x Single Board Computer upang patakbuhin ang ROS, maaaring isang halimbawa ng Raspberry Pi o isang Jetson Nano

1 x Arduino DUE, maaari mo ring gamitin ang isang UNO o isang MEGA

1 x Proto-board na umaangkop sa Arduino DUE na pin-out na magagamit dito

2 x 12V DC motors na may mga encoder (100 RPM na pagpipilian)

1 x L298N motor driver

2 x 5V regulator

1 x Baterya (halimbawa ng 3S / 4S LiPo na baterya)

2 x ON / OFF switch

2 x LED

2 x 470kOhm Mga Resistor

3 x 4 na mga konektor ng JST

1 x USB cable (hindi bababa sa isa sa pagitan ng SBC at ng Arduino)

Mga Sensor:

1 x Kasalukuyang sensor (opsyonal)

1 x 9 Mga Degree ng Freedom IMU (opsyonal)

1 x LIDAR (opsyonal)

Chassis:

16 x Turtlebot modular plate (na maaari ring 3D na naka-print)

2 x Gulong 65mm diameter (6mm lapad na pagpipilian)

4 x Nylon spacers 30mm (opsyonal)

20 x M3 pagsingit (opsyonal)

Iba pa:

Mga wire

M2.5 at M3 na mga tornilyo at pagsingit

3D printer o isang taong maaaring mag-print ng mga bahagi para sa iyo

Ang isang drill sa kamay na may isang hanay ng mga drill bits tulad ng isang ito

Hakbang 1: Paglalarawan

Paglalarawan
Paglalarawan
Paglalarawan
Paglalarawan

Ang robot na ito ay isang simpleng kaugalian na drive na gumagamit ng 2 gulong na direktang naka-mount sa kanilang motor at isang roller caster na inilalagay sa likuran upang maiwasan ang pagkahulog ng robot. Ang robot ay nahahati sa dalawang mga layer:

ang Ibabang Layer: kasama ang pangkat ng propulsyon (baterya, motor controller at motor), at ang elektronikong 'mababang antas': Arduino microcontroller, voltage regulator, switch…

ang Itaas na Layer: kasama ang elektronikong 'mataas na antas' katulad ng Single Board Computer at ang LIDAR

Ang mga layer na iyon ay naka-link sa mga naka-print na bahagi at tornilyo upang matiyak ang pagiging matatag ng istraktura.

Elektronikong eskematiko

Ang eskematiko ay maaaring lumitaw nang medyo magulo. Ito ay isang eskematiko na pagguhit at hindi ito kumakatawan sa lahat ng mga wire, konektor at ang proto-board ngunit maaari itong mabasa bilang sumusunod:

Ang isang 3S Litihum Ion Polymer na baterya na may 3000mAh na kapasidad ay nagpapagana sa unang circuit, pinapagana nito ang parehong motor controller board (L298N) at isang unang 5V regulator para sa mga encoder ng motor at Arduino. Ang circuit na ito ay pinagana sa pamamagitan ng isang switch na may isang LED na nagpapahiwatig ng estado ng ON / OFF.

Ang parehong lakas ng baterya ng isang pangalawang circuit, ang input boltahe ay na-convert sa 5V upang mapagana ang Single Board Computer. Dito din, ang circuit ay pinagana sa pamamagitan ng isang switch at isang LED.

Ang mga karagdagang sensor tulad ng isang LIDAR o isang camera ay maaaring maidagdag nang direkta sa Raspberry Pi sa pamamagitan ng USB o sa port ng CSI.

Disenyo ng mekanikal

Ang frame ng robot ay binubuo ng 16 magkatulad na mga bahagi na nabuo ng 2 mga parisukat na layer (28cm ang lapad). Pinapayagan ng maraming butas na mai-mount ang mga karagdagang bahagi saan mo man ito kailangan at mag-alok ng isang kumpletong modular na disenyo. Para sa proyektong ito, nagpasya akong makuha ang mga orihinal na plate ng TurtleBot3 ngunit maaari mo ring i-print ang mga ito sa 3D dahil ang kanilang disenyo ay bukas na mapagkukunan.

Hakbang 2: Assembly ng Motor Block

Assembly ng Motor Block
Assembly ng Motor Block
Assembly ng Motor Block
Assembly ng Motor Block
Assembly ng Motor Block
Assembly ng Motor Block

Paghahanda sa motor

Ang unang hakbang ay upang magdagdag ng 1mm makapal na foam tape sa paligid ng bawat motor upang maiwasan ang mga panginginig at ingay kapag umiikot ang motor.

Mga nakalimbag na bahagi

Ang may hawak ng motor ay nagreresulta sa dalawang bahagi na mahigpit na hawak ang motor tulad ng isang bisyo. Nakamit ang 4 na mga turnilyo upang mahigpit ang motor sa may-ari.

Ang bawat may-ari ay binubuo ng maraming mga butas na nagho-host ng mga pagsingit ng M3 na mai-mount sa istraktura. Mayroong higit pang mga butas kaysa sa talagang kinakailangan, ang labis na mga butas ay maaaring magamit sa paglaon upang mai-mount ang labis na bahagi.

Mga setting ng 3D printer: lahat ng mga bahagi ay naka-print na may mga sumusunod na parameter

  • 0.4mm diameter nguso ng gripo
  • 15% material infill
  • Layer ng taas na 0.2 mm

Gulong

Ang mga napiling gulong ay natatakpan ng goma upang ma-maximize ang pagdirikit at matiyak na madulas ang malayang kalagayan ng pagulong. Pinapanatili ng isang clamping screw ang gulong na nakakabit sa shaft ng motor. Ang diameter ng gulong ay dapat na sapat na malaki upang tumawid sa menor de edad na hakbang at iregularidad sa lupa (ang mga gulong na iyon ay 65mm diameter).

Pag-aayos

Kung tapos ka na sa isang motor block, ulitin ang nakaraang operasyon at pagkatapos ay ayusin lamang ito sa layer na may M3 screws.

Hakbang 3: Mga Paglipat at Paghahanda ng Cable

Mga switch at Paghahanda ng Cable
Mga switch at Paghahanda ng Cable
Mga switch at Paghahanda ng Cable
Mga switch at Paghahanda ng Cable
Mga switch at Paghahanda ng Cable
Mga switch at Paghahanda ng Cable

Paghahanda ng motor cable

Pangkalahatan ang motor-encoder ay may isang cable kasama ang sa isang gilid ng isang 6pin konektor na kumokonekta sa likod ng encoder PCB, at mga hubad na wires sa kabilang panig.

Mayroon kang posibilidad na direktang maghinang sa kanila sa iyong proto-board o kahit na sa iyong Arduino, ngunit inirerekumenda ko sa iyo na gumamit ng mga babaeng pin header at mga konektor ng JST-XH sa halip. Sa gayon maaari mong mai-plug / i-unplug ang mga ito sa iyong proto-board at gawing mas madali ang iyong pagpupulong.

Mga Tip: maaari kang magdagdag ng napapalawak na tirintas na tirintas sa paligid ng iyong mga wire at mga piraso ng pag-urong ng tubo malapit sa mga konektor, sa paggawa ay makakakuha ka ng isang 'malinis' na cable.

Lumipat at LED

Upang paganahin ang dalawang mga circuit ng kuryente, maghanda ng 2 LED at mga switch cable: sa una na maghinang ng isang 470kOhm risistor sa isa sa LED pin, pagkatapos ay maghinang ang LED sa isa ang switch ng pin. Dito din, maaari mong gamitin ang isang piraso ng shrink tube upang maitago ang resistor sa loob. Mag-ingat na maghinang ng LED sa tamang direksyon! Ulitin ang operasyong ito upang makakuha ng dalawang switch / led cable.

Assembly

Ipunin ang dating ginawang mga kable sa kaukulang bahagi ng naka-print na 3D. Gumamit ng isang kulay ng nuwes upang mapanatili ang switch, ang mga LED ay hindi nangangailangan ng pandikit, sapat na puwersa lamang upang magkasya ito sa butas.

Hakbang 4: Mga Kable ng Electronic Boards

Mga Kable ng Electronic Board
Mga Kable ng Electronic Board
Mga Kable ng Electronic Board
Mga Kable ng Electronic Board
Mga Kable ng Electronic Board
Mga Kable ng Electronic Board

Layout ng mga board

Ang isang proto-board na umaangkop sa layout ng board ng Arduino ay ginagamit upang mabawasan ang bilang ng mga wire. Sa tuktok ng proto-board, ang L298N ay nakasalansan ng Dupont female header (ang Dupont ay 'Arduino tulad ng' mga header).

Paghahanda ng L298N

Orihinal, ang L298N board ay hindi nagmumula sa kaukulang male Dupont header, kailangan mong magdagdag ng isang 9 na hilera sa ibaba ng pisara. Kailangan mong mapagtanto ang 9 na butas na may 1mm diameter drill bit na kahanay ng mayroon nang mga butas na nakikita mo sa larawan. Pagkatapos i-link ang kaukulang mga pin ng 2 mga hilera na may mga materyales na panghinang at maikling mga wire.

L298N pin-out

Ang L298N ay binubuo ng 2 mga channel na nagpapahintulot sa kontrol ng bilis at direksyon:

direksyon sa pamamagitan ng 2 digital outputs, na tinatawag na IN1, IN2 para sa unang channel, at IN3 at IN4 para sa pangalawa

bilis sa pamamagitan ng 1 digital outputs, na tinatawag na ENA para sa unang channel at ENB para sa pangalawa

Pinili ko ang sumusunod na pin-out kasama ang Arduino:

kaliwang motor: IN1 sa pin 3, IN2 sa pin 4, ENA sa pin 2

kanang motor: IN3 sa pin 5, IN4 sa pin 6, ENB sa pin 7

5V regulator

Kahit na ang l298N ay karaniwang makapagbigay ng 5V, nagdaragdag pa rin ako ng isang maliit na regulator. Pinapagana nito ang Arduino sa pamamagitan ng port ng VIN at ang 2 encoder sa mga motor. Maaari mong laktawan ang hakbang na ito sa pamamagitan ng direktang paggamit ng built-in na L298N 5V regulator.

Ang mga konektor ng JST at pin-out ng Encoder

Gumamit ng 4 na pin na mga adapter ng konektor ng JST-XH na babae, ang bawat konektor ay maiugnay sa:

  • 5V mula sa regulator
  • isang Lupa
  • dalawang mga digital input port (para sa exemple: 34 at 38 para sa tamang encoder at 26 at 30 para sa kaliwa)

Dagdag I2C

Tulad ng napansin mo, mayroong isang labis na konektor na 4pin JST sa proto-board. Ginagamit ito para sa pagkonekta ng I2C aparato tulad ng isang IMU, maaari mong gawin ang pareho at kahit na magdagdag ng iyong sariling port.

Hakbang 5: Motor Group at Arduino sa Ibabang Layer

Motor Group at Arduino sa Ibabang Layer
Motor Group at Arduino sa Ibabang Layer
Motor Group at Arduino sa Ibabang Layer
Motor Group at Arduino sa Ibabang Layer
Motor Group at Arduino sa Ibabang Layer
Motor Group at Arduino sa Ibabang Layer

Ang mga bloke ng motor ay nag-aayos

Kapag ang ilalim na layer ay pinagsama kasama ang mga plate ng 8 Turtlebot, gamitin lamang nang direkta ang 4 M3 na mga tornilyo sa mga pagsingit upang mapanatili ang mga bloke ng motor. Pagkatapos ay maaari mong mai-plug ang mga wire ng kuryente ng motor sa mga output ng L298N at ang dating ginawang mga kable sa mga konektor ng JST na proto-board.

Pamamahagi ng kuryente

Ang pamamahagi ng kuryente ay natanto lamang sa isang hadlang sa terminal block. Sa isang bahagi ng hadlang, isang cable na may XT60 female plug ang na-screw upang kumonekta sa baterya ng LiPo. Sa kabilang panig, ang aming dalawang mga LED / switch cable na dating na-solder ay naka-screw. Sa gayon ang bawat circuit (Motor at Arduino) ay maaaring paganahin ng sarili nitong switch at ang kaukulang berdeng LED.

Pamamahala ng kable

Mabilis na makitungo ka sa maraming mga kable! Upang mabawasan ang magulo na aspeto, maaari mong gamitin ang 'talahanayan' na dating naka-print na 3D. Sa mesa, panatilihin ang iyong mga elektronikong board na may dobleng panig na tape, at sa ilalim ng mesa hayaang malayang dumaloy ang mga wire.

Pagpapanatili ng baterya

Upang maiwasan ang pagbuga ng baterya kapag hinihimok ang iyong robot, maaari mo lamang gamitin ang isang nababanat na banda ng buhok.

Roller caster

Hindi talaga isang roller caster ngunit isang simpleng kalahating globo na naayos na may 4 na mga turnilyo sa ilalim na layer. Sapat na upang matiyak ang katatagan ng robot.

Hakbang 6: Single Board Computer at Sensors sa Itaas na Layer

Single Board Computer at Sensors sa Itaas na Layer
Single Board Computer at Sensors sa Itaas na Layer
Single Board Computer at Sensors sa Itaas na Layer
Single Board Computer at Sensors sa Itaas na Layer
Single Board Computer at Sensors sa Itaas na Layer
Single Board Computer at Sensors sa Itaas na Layer

Aling Single Board Computer ang pipiliin?

Hindi ko kailangang ipakita sa iyo ang sikat na Raspberry Pi, ang bilang ng mga kaso ng paggamit na higit na lumalagpas sa larangan ng robot. Ngunit may isang mas malakas na mapaghamong para sa Raspberry Pi na maaari mong balewalain. Sa katunayan ang Jetson Nano mula sa Nvidia ay nagtatanim ng isang malakas na 128-core na graphic card bilang karagdagan sa processor nito. Ang partikular na grapikong card na ito ay binuo upang mapabilis ang computational mamahaling mga gawain tulad ng pagproseso ng imahe o paghihinuha ng neural network.

Para sa proyektong ito pinili ko ang Jetson Nano at mahahanap mo ang kaukulang bahagi ng 3D sa mga nakalakip na file, ngunit kung nais mong pumunta sa Raspberry Pi maraming mga naka-print na kaso dito.

5V Regulator

Anumang board ang napagpasyahan mong dalhin ang iyong robot, kailangan mo ng isang 5V regulator. Ang pinakabagong Raspberry Pi 4 ay nangangailangan ng 1.25A max ngunit ang Jetson Nano ay nangangailangan ng hanggang sa 3A sa stress kaya pinili ko para sa Pololu 5V 6A na magkaroon ng isang reserba ng kuryente para sa mga hinaharap na bahagi (mga sensor, ilaw, stepper…), ngunit ang anumang murang 5V 2A ay dapat gawin ang trabaho. Gumagamit ang Jetson ng isang 5.5mm DC na bariles at ang Pi isang micro USB, kunin ang kaukulang cable at solder ito sa output ng regulator.

Layout ng LIDAR

Ang ginamit na LIDAR dito ay ang LDS-01, maraming iba pang 2D LIDAR na maaaring magamit tulad ng RPLidar A1 / A2 / A3, YDLidar X4 / G4 o kahit na mga Hokuyo LIDAR. Ang kinakailangan lamang ay kailangan itong mai-plug sa pamamagitan ng USB at mailagay sa gitna ng istraktura. Sa katunayan kung ang LIDAR ay hindi nakasentro ng mabuti, ang mapa na nilikha ng algorithm ng SLAM ay maaaring ilipat ang tinatayang posisyon ng mga dingding at mga hadlang mula sa kanilang tunay na posisyon. Gayundin kung ang anumang mga hadlang mula sa robot ay tumawid sa laser beam, babawasan nito ang saklaw at larangan ng pagtingin.

Paglalagay ng LIDAR

Ang LIDAR ay naka-mount sa isang naka-print na bahagi ng 3D na sumusunod sa hugis nito, ang bahagi mismo ay hawak sa isang hugis-parihaba na plato (talagang sa playwud sa larawan ngunit maaaring naka-print din 3D). Pagkatapos ay pinapayagan ng isang bahagi ng adapter ang ensemble na maayos sa itaas na plato ng turtlebot na may mga nylon spacer.

Ang camera bilang karagdagang sensor o kapalit na LIDAR

Kung hindi mo nais na gumastos ng labis na pera sa isang LIDAR (na nagkakahalaga ng 100 $), pumunta para sa isang camera: mayroon ding mga SLAM algorithm na tumatakbo lamang sa isang monocular RGB camera. Parehong tumatanggap ang SBC ng USB o CSI camera.

Bukod dito ay papayagan ka ng camera na patakbuhin ang computer script at mga script ng pagtuklas ng object!

Assembly

Bago isara ang robot, ipasa ang mga kable sa mas malaking mga butas sa itaas na plato:

  • ang kaukulang cable mula sa 5V regulator patungo sa iyong SBC
  • ang USB cable mula sa Programming Port ng Arduino DUE (ang pinakamalapit sa DC barrel) sa isang USB port ng iyong SBC

Pagkatapos ay hawakan ang itaas na plato sa posisyon na may isang dosenang mga turnilyo. Ang iyong robot ay handa na ngayong i-program, WELL TAPOS!

Hakbang 7: Gawin Ito Gumalaw

Compile ang Arduino

Buksan ang iyong paboritong Arduino IDE, at i-import ang folder ng proyekto na tinatawag na own_turtlebot_core, pagkatapos ay piliin ang iyong board at ang kaukulang port, maaari kang mag-refer sa mahusay na tutorial na ito.

Ayusin ang mga setting ng Core

Ang proyekto ay binubuo ng dalawang mga file, at ang isa ay kailangang iakma sa iyong robot. Kaya't buksan natin ang sariling_turtlebot_config.h, at alamin kung aling mga linya ang nangangailangan ng ating pansin:

# tukuyin ang ARDUINO_DUE // ** KOMENTO SA LINYA NA ITO KUNG HINDI GUMAGAMIT NG DUE **

Dapat gamitin lamang sa Arduino DUE, kung hindi puna ang linya.

# tukuyin ang RATE_CONTROLLER_KP 130.0 // ** TUNE NG HALAGA NA ITO **

#define RATE_CONTROLLER_KD 5000000000000.0 // ** TUNE This VALUE ** # tukuyin ang RATE_CONTROLLER_KI 0.00005 // ** TUNE ANG HALAGA NA ITO **

Ang 3 mga parameter na iyon ay tumutugma sa mga nadagdag na rate controller na ginamit ng PID upang mapanatili ang nais na bilis. Nakasalalay sa boltahe ng baterya, ang dami ng robot, ang diameter ng gulong at mekanikal na gamit ng iyong motor, kakailanganin mong iakma ang kanilang mga halaga. Ang PID ay isang klasikong tagakontrol at hindi ka detalyado dito ngunit ang link na ito ay dapat magbigay sa iyo ng sapat na mga input upang ibagay ang iyong sarili.

/ * Tukuyin ang mga pin * /

// motor A (kanan) const byte motorRightEncoderPinA = 38; // ** MODIFY WITH MY PIN NB ** const byte motorRightEncoderPinB = 34; // ** MODIFY WITH YOUR PIN NB ** const byte enMotorRight = 2; // ** MODIFY WITH MY PIN NB ** const byte in1MotorRight = 4; // ** MODIFY WITH MY PIN NB ** const byte in2MotorRight = 3; // ** MODIFY WITH YOUR PIN NB ** // motor B (left) const byte motorLeftEncoderPinA = 26; // ** MODIFY WITH MY PIN NB ** const byte motorLeftEncoderPinB = 30; // ** MODIFY WITH MY PIN NB ** const byte enMotorLeft = 7; // ** PAGBAGO SA IYONG PIN NB ** const byte in1MotorLeft = 6; // ** MODIFY WITH MY PIN NB ** const byte in2MotorLeft = 5; // ** PAGBAGO SA IYONG PIN NB **

Tinutukoy ng bloke na ito ang pinout sa pagitan ng L298N at ng Arduino, baguhin lamang ang numero ng pin upang tumugma sa iyo. Kapag natapos mo na sa config file, i-compile at i-upload ang code!

I-install at i-configure ang ROS

Kapag naabot mo na ang hakbang na ito, ang mga tagubilin ay eksaktong kapareho ng mga detalyado sa manu-manong manu-manong TurtleBot3, kailangan mong sundin nang mabuti

magaling na TurtleBot 3 ay iyo na ngayon at maaari mong patakbuhin ang lahat ng mga umiiral na mga pakete at tutorial sa ROS.

Ok pero ano ang ROS?

Ang ROS ay nangangahulugang Robots Operating System, maaaring mukhang kumplikado sa una ngunit hindi, isipin lamang ang isang paraan ng komunikasyon sa pagitan ng hardware (sensor at actuators) at software (mga algorithm para sa pag-navigate, kontrol, paningin sa computer…). Halimbawa, madali mong mapapalitan ang iyong kasalukuyang LIDAR sa ibang modelo nang hindi binabali ang iyong pag-set up, dahil ang bawat LIDAR ay naglathala ng parehong mensahe ng LaserScan. Ang ROS ay malawakang ginagamit ay robotics, Patakbuhin ang iyong unang halimbawa

Ang katumbas na 'hello world' para sa ROS ay binubuo sa teleoperate ng iyong robot sa pamamagitan ng remote computer. Ang nais mong gawin ay upang magpadala ng mga utos ng tulin upang paikutin ang mga motor, sundin ng mga utos ang tubong ito:

  • isang turtlebot_teleop node, na tumatakbo sa remote computer, naglathala ng isang paksang "/ cmd_vel" kasama ang isang mensahe ng Twist
  • ang mensaheng ito ay ipinapasa sa pamamagitan ng network ng mga mensahe ng ROS sa SBC
  • pinapayagan ng isang serial node ang "/ cmd_vel" na matanggap sa Arduino
  • binabasa ng Arduino ang mensahe at itinakda ang angular rate sa bawat motor upang tumugma sa nais na linear at anggular na tulin ng robot

Ang operasyon na ito ay simple at maaaring makamit sa pamamagitan ng pagpapatakbo ng mga linya ng utos na nakalista sa itaas! Kung nais mo ng mas detalyadong impormasyon panoorin lamang ang video.

[SBC]

roscore

[SBC]

rosrun rosserial_python serial_node.py _port: = / dev / ttyACM0 _baud: = 115200

[Remote computer]

i-export ang TURTLEBOT3_MODEL = $ {TB3_MODEL}

roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch

Para mas lumalim

Kailangan mong malaman ang isang huling bagay bago subukan ang lahat ng mga opisyal na halimbawa, sa manu-manong sa tuwing haharapin mo ang utos na ito:

roslaunch turtlebot3_bringup turtlebot3_robot.launch

kailangan mong patakbuhin ang utos na ito sa iyong SBC sa halip:

rosrun rosserial_python serial_node.py _port: = / dev / ttyACM0 _baud: = 115200

At kung mayroon kang isang LIDAR patakbuhin ang nauugnay na utos sa iyong SBC, sa aking kaso nagpapatakbo ako ng isang LDS01 na may linya sa ibaba:

roslaunch hls_lfcd_lds_driver hlds_laser.launch

At iyon lang, tiyak na binuo mo ang iyong sariling turtlebot:) Handa ka nang tuklasin ang kamangha-manghang mga kakayahan ng ROS, at i-code ang mga paningin at algorithm ng pag-aaral ng makina.

Inirerekumendang: