Dobrodošli na robotskem izzivu! Ta repozitorij vsebuje začetno programsko kodo za upravljanje mobilnih robotov s sistemom ROS2.
Trenutno vsebuje preprosto vozlišče (drive_straight), ki na 100ms pošilja ukaze za premikanje robota naravnost naprej.
Preden začnete, si obvezno preberite podrobna navodila izziva:
- Glavna navodila izziva (Google Doc)
- Ubiquity Robotics dokumentacija: learn2.ubiquityrobotics.com
- ROS2 dokumentacija: docs.ros.org
Za izvajanje kode na robotu se morate nanj povezati prek SSH. Odprite terminal ali Powershell in vpišite:
ssh ubuntu@<ip_naslov_robota>(Za točen IP naslov robota preverite tablo, privzeto geslo je "ubuntu")
Ko se na robota povežete in še preden se začnete ukvarjati z avtonomno kodo, preverite, ali je robot sploh živ. Za ročno upravljanje robota prek tipkovnice uporabite:
ros2 run teleop_twist_keyboard teleop_twist_keyboardNavodila za upravljanje se izpišejo v terminalu (vozimo s tipkami u, i, o, j, k, l, m, ,, .).
Ko ste uspešno povezani z robotom in ga lahko upravljate s tipkovnico, sledite naslednjim korakom za pripravo delovnega okolja:
-
Pojdite v delovni prostor ROS2 (ROS2 workspace): Delovni prostor se običajno nahaja v
~/ros2_challenge_ws. Če še ne obstaja, ga prosim ustvarite:cd ~/ros2_challenge_ws
-
Klonirajte repozitorij: V poddirektorij
srcklonirajte ta Github repozitorij:cd src git clone https://github.com/UbiquityRobotics/ur_robot_challenge.git -
Prevedite paket (Build): Premaknite se nazaj v koren delovnega prostora in zaženite gradnjo paketa z uporabo
colcon:cd ~/ros2_challenge_ws colcon build --packages-select ur_robot_challenge
-
Naložite okolje: Da bo sistem ROS2 prepoznal vaš na novo preveden paket, morate vedno "sourcati" okolje:
source install/setup.bash
Ko je okolje naloženo, lahko zaženete vozlišče, ki bo robota peljalo naravnost. Zagotovite, da je robot na varnem in ima prosto pot brez ovir!
ros2 run ur_robot_challenge drive_straightRobot bi se moral začeti premikati naravnost takoj po izvedbi zgornjega ukaza. Za ustavitev pritisnite Ctrl+C v terminalu.
ur_robot_challenge/drive_straight.py: Python izvorna koda vozlišča. Naroča se in objavljaTwistsporočila na temi/cmd_vel.package.xml&setup.py: Konfiguracijske datoteke ROS2 paketa.
Za zahtevnejše dele izziva boste potrebovali dostop do kamere. Da preverite, pod katero temo (topic) robot oddaja sliko, uporabite ukaz:
ros2 topic list | grep cameraV vašem programu se boste morali naročiti (subscribe) na to temo (običajno /camera/image_raw ali podobno), da bo robot lahko "videl" okolico in zaznaval osebe.