Kontainer Docker ini berisi ROS 2 Humble, Gazebo Fortress, dan simulasi TurtleBot 4. Kontainer Docker telah dikonfigurasi untuk bekerja dengan baik pada perangkat keras komoditas tanpa kartu grafis. Perangkat keras yang paling terkonfigurasi secara wajar harus mampu menjalankan simulasi dengan faktor waktu nyata minimal 0,2.
Kontainer Docker ini dimaksudkan untuk digunakan dengan kode contoh ini untuk node mainan TB4 dan pembicaraan PyCon 2024 atau Lokakarya ROSCon 2024 terkait
Docker ini juga menyertakan instalasi lengkap ROS 2 Humble. Jika Anda ingin memoles keterampilan ROS Anda, Anda dapat mempelajari tutorial ROS 2. Kami menyarankan Anda memulai dengan Tutorial CLI.
Lokakarya ini memungkinkan Anda memilih petualangan Anda sendiri. Anda memiliki dua keputusan besar yang harus diambil:
Tapi tunggu, masih ada lagi! Apakah Anda hanya ingin mencoba beberapa tutorial hebat di docs.ros.org, kami juga memiliki petunjuk tentang cara melakukannya!
sudo apt install docker.io
sudo usermod -aG docker $(whoami)
source ./<venv>/bin/activate
sebelum memulai penampung Anda.Jika Anda ingin membuat container Docker dari awal:
git clone [email protected]:kscottz/turtlebot4_docker.git
docker build . -t tb4
Jika Anda ingin menggunakan image Docker bawaan, jalankan:
docker pull osrf/icra2023_ros2_gz_tutorial:roscon2024_tutorial_humble_turtlebot4
Mari kita mulai dengan membahas tentang cara memulai container Anda. Kami telah menyediakan beberapa opsi untuk dijalankan melalui lokakarya. Lihatlah di bawah tetapi jangan memulai wadahnya dulu! Anda memiliki beberapa opsi lagi untuk diputuskan!
rocker --x11 --devices=/dev/dri osrf/icra2023_ros2_gz_tutorial:roscon2024_tutorial_humble_turtlebot4 bash
rocker --x11 --devices=/dev/dri tb4 bash
Perhatikan bahwa yang berubah di sini hanyalah nama container, yang merupakan parameter kedua dari terakhir!
Sekarang Anda harus memutuskan di mana Anda ingin menyimpan pekerjaan Anda. Anda memiliki dua pilihan, memulai dari awal dan membangun semuanya sendiri, atau melanjutkan proyek yang sudah selesai. Ada juga opsi ketiga, di mana Anda baru saja memulai container tetapi menggunakan alat internal Docker untuk menyimpan pekerjaan Anda. Meskipun hal ini mungkin terjadi, kami tidak merekomendasikannya.
Jika Anda ingin bekerja dari awal, alur kerja pilihan kami, yang Anda lakukan hanyalah membuat direktori:
mkdir tb4_toy
rocker --x11 --devices=/dev/dri --volume=<full path to your directory>:/opt/ros/overlay_ws/src/tb4_toy <container name> bash
di mana direktori telah digantikan oleh Anda direktori baru, dan container adalah container yang ingin Anda gunakan.rocker --x11 --devices=/dev/dri --volume=/home/kscottz/Code/tb4_toy/:/opt/ros/overlay_ws/src/tb4_toy tb4 bash
Jika Anda ingin bekerja dari contoh kode yang sudah jadi, lakukan hal berikut
git clone [email protected]:kscottz/tb4_toy.git
-- ini kodenya jika Anda hanya ingin mengintip.rocker --x11 --devices=/dev/dri --volume=<full path to your directory>:/opt/ros/overlay_ws/src/tb4_toy <container name> bash
di mana direktori telah digantikan oleh Anda direktori baru, dan container adalah container yang ingin Anda gunakan.rocker --x11 --devices=/dev/dri --volume=/home/kscottz/Code/tb4_toy/:/opt/ros/overlay_ws/src/tb4_toy tb4 bash
Perhatikan bahwa tutorial ini mengharuskan Anda untuk bekerja di dalam container setiap saat dan membiarkan sistem host Anda tidak tersentuh. *Jika Anda mengubah konfigurasi internal container Docker dan ingin menyimpannya, Anda perlu menggunakan [docker commit](https://docs.docker.com/reference/cli/docker/container/commit/)
untuk menyimpannya pekerjaanmu.
Jika laptop Anda memiliki kartu grafis yang bagus, Anda dapat mengaktifkannya dengan menghilangkan baris: --devices=/dev/dri
saat Anda memulai container. Jika Anda memiliki kartu grafis diskrit, kami sarankan Anda menggunakannya! Jika Anda tidak memiliki kartu grafis, jangan khawatir! Kami secara khusus telah mengonfigurasi lokakarya ini agar berfungsi pada laptop lama.
Wadah untuk lokakarya ini berisi sebagian besar editor terminal umum yang ditemukan pada sistem Linux. Anda dipersilakan untuk menggunakannya. Jika Anda memasang sistem file ke Docker, Anda juga dapat menggunakan editor apa pun di sistem host Anda untuk mengedit file. Jika Anda belum pernah menggunakan editor terminal sebelumnya, ini mungkin pendekatan yang lebih mudah.
Kami memiliki panduan komprehensif untuk menggunakan wadah ini tanpa Rocker yang tersedia di sini. Panduan ini mencakup sejumlah skrip Bash yang memudahkan memulai container Docker yang sesuai! Panduan ini juga memberikan beberapa pendekatan alternatif untuk melakukan pengembangan ROS di dalam container.
Setelah memulai container, Anda dapat meluncurkan ROS dan Gazebo dengan menjalankan perintah berikut:
ros2 launch turtlebot4_ignition_bringup turtlebot4_ignition.launch.py world:=maze
source ./install/setup.bash
colcon build
ros2 launch turtlebot4_ignition_bringup turtlebot4_ignition.launch.py world:=maze
ros2 topic pub /cmd_vel geometry_msgs/msg/Twist "{linear: {x: 30.0, y: 0.0, z: 0.0}, angular: {x: 0.0, y: 0.0, z: 0.0}}"
ros2 run teleop_twist_keyboard teleop_twist_keyboard
ros2 run tb4_toy toy_node
ros2 service call /do_loopy std_srvs/Trigger '{}'