Dockerized ROS Node yang memungkinkan kontrol robot seluler bertenaga ROS dengan Logitech F710 GamePad. Node Joy2Twist sedang mengonversi sensor_msgs/Joy
pesan ke geometry_msgs/Twist
untuk memberikan perintah kecepatan untuk robot seluler. Oleh karena itu paket ini sesuai (tetapi tidak didukung oleh Husarion) dengan pengontrol GamePad lainnya yang dapat menerbitkan pesan sensor_msgs/Joy
.
Hubungkan Joy Via Nano USB Receiver dan pastikan itu dalam mode DirectInput (beralih di depan OD dengan huruf D dan X , pilih D ).
Untuk menguji apakah kegembiraan bekerja, gunakan jstest /dev/input/js0
. Jika outputnya adalah:
jstest: No such file or directory
Lihat ls /dev/input | grep js
dan temukan nomor kegembiraan Anda. Jika berbeda, terapkan perubahan dalam compose.yaml dan luncurkan file.
Distro ros2 | Arsitektur yang didukung |
---|---|
galactic | linux/amd64 , linux/arm64 |
humble | linux/amd64 , linux/arm64 |
Tersedia di Docker Hub
Flash firmware yang tepat:
docker stop rosbot-xl microros || true &&
docker run --rm -it --privileged
--mount type=bind,source=/dev/ttyUSBDB,target=/dev/ttyUSBDB
husarion/rosbot-xl:humble-0.8.2-20230913
flash-firmware.py -p /dev/ttyUSBDB
Hubungkan Dongle Logitech F710 ke Rosbot XL dan Jalankan (di Rosbot):
cd joy2twist/demo/single_robot
docker compose -f compose.rosbotxl.yaml up
Flash firmware yang tepat:
docker stop rosbot microros || true && docker run
--rm -it --privileged
husarion/rosbot:humble-0.6.1-20230712
flash-firmware.py /root/firmware.bin
Hubungkan Dongle Logitech F710 ke Rosbot 2R dan Jalankan (di Rosbot):
cd joy2twist/demo/single_robot
docker compose -f compose.rosbot2r.yaml up
Hubungkan dongle USB Logitech F710 ke PC Anda. Klone repo ini ke PC Anda dan pergi ke joy2twist/demo/
Directory dan jalankan di terminal terpisah:
./sync_with_robot.sh < YOUR_ROSBOT_IP >
Ubah namespace di file multiple_robots/.env
:
ROS_NAMESPACE=robot1
Sekarang SSH ke robot Anda:
ssh husarion@ < YOUR_ROSBOT_IP >
Pergi ke folder /home/husarion/demo/multiple_robots
, dan luncurkan wadah untuk rosbot:
docker compose -f compose.rosbot2r.yaml up
Penyaringan topik
Jika Anda akan memeriksa pada PC node ROS 2 yang tersedia, Anda akan mendapatkan:
$ ros2 topic list /parameter_events /robot1/cmd_vel /rosoutPerhatikan bahwa non topik single
/robot1/cmd_vel
tersedia di luar robot berkat konfigurasi dari fileros2router_config.yaml
.Untuk mengontrol robot dengan menggunakan teleop, cukup jalankan:
ros2 run teleop_twist_keyboard teleop_twist_keyboard __ns:=/robot1
Untuk menjalankan wadah joy2twist
, jalankan perintah berikut di PC Anda di Direktori joy2twist/demo/multiple_robots
:
docker compose -f compose.pc.yaml up