Làm sao để chạy turtlebot3 và lưu rosbag trên ROS2 Humble – ROS Vietnamese Tutorial

Written by Eric Nguyen

21/02/2024

This tutorial is created by Rosbotics Ambassador 016 Eric

Rosbotics Ambassador Program https://www.theconstruct.ai/rosbotics-ambassador/)

Nhng điu bn sđưc biết trong blog này:

  1. Cách cài đt Turtlebot3 package ROS2 Humble
  2. Chy mt ví dvturtlebot3 vi Gazebo
  3. Cách lưu dliu ca topic sdng rosbag ROS2

Danh sách ngun tài liu btrtrong post này

 

 

  1. Sdng rosject: https://app.theconstructsim.com/l/5bda8c95/
  2. The Construct: https://app.theconstructsim.com/
  3. Khóa hc vROS2 → Introduction to Gazebo Sim with ROS2: https://app.theconstructsim.com/courses/introduction-to-gazebo-ignition-with- ros2-170/

Tng quan

Bưc chân vào thế gii ca Robotics, không thnào không nhc đến ROS(Robot Operating System), mt hđiu hành mnh mcho lp trình robots. trong post này, hãy cùng nhau hc cách làm sao đchy thmô hình turtlebot3 trên Gazebo và lưu các dliu thông qua rosbag trên ROS2 Humble.

Khi đng rosject

Đcó ththc hin các bưc trong blog này, chúng ta cn có ROS2 đưc cài đt trên hthng, cũng như ros2 ROS2 Workspace. Đthun tin hơn, ti The Construct đã chun bmt rosject đcác bn ddàng truy cp và khi to các project:

https://app.theconstructsim.com/l/5bda8c95/

Chvi mt cú click chut vào link phía trên, các bn có thto mt rosject ca riêng bn, bn có thchnh sa các ni dung liên quan. Như hình bên dưi là mt rosject hoàn chnh, bn chvic nhn vào nút RUN đkhi đng rosject.

Sau khi nhn vào nút RUN bn sthy rosject đưc chy trên màn hình. đây, rosject cung cp cho bn cterminal đcó thnhp các câu lnh:

Bây gicùng nhau đến bưc tiếp theo trong ví dnày nhé.

 

Khi đng Turtlebot3 package

Bưc đu tiên, các bn có thkim tra trên ROS2 đã đưc cài đt turtlebot3 package hay chưa bng câu lnh như sau:

đây turtlebot3 package đã đưc cài đt sn nên trên terminal là danh sách các packages kèm theo turtlebot3. Ngoài ra, các bn có thcài đt thông qua câu lnh dưi đây:

sudo apt install
ros-humble-turtlebot3*


 

Mô phng trên Gazebo

Sau khi đã thành công kim tra hoc cài đt turtlebot3 trong ROS2, tiếp theo các bn smô phng robot trên môi trưng Gazebo.

Các bn cn lưu ý là nếu chúng ta chcó mt robot thì mình không cn setup_domain ID, vì ROS stđng cài mc đnh ROS_DOMAIN_ID=0. Trong trưng hp nếu bn có nhiu hơn mt robots thì khi đó bn skhi to tng ID riêng cho robot ca mình.

Đxây dng ROS2 workspace cho turtlebot3, đu tiên đi vào môi trưng catkin workspace có sn:

cd
ros2_ws/

Có 2 cách để kích hoạt môi trường hoạt động, nếu bạn dùng debian package thì sử dụng:

/source
/opt/ros/humble/setup.bash

Nếu bạn sử dụng package ở trong ros package bạn tạo thì chạy dòng lệnh sau:
source
install/setup.bash

Tiếp theo la chn và cài đt mu robot bn mun sdng. Bn có ththay đi mu robot bn mun sdng bng câu lnh bên dưi. đây chúng ta sdng robot burger:

export
TURTLEBOT3_MODEL=burger

Tiếp theo, bạn sử dụng câu lệnh bên dưới để sử dụng turtlebot3 trong môi trường Gazebo:

 

export GAZEBO_MODEL_PATH=$GAZEBO_MODEL_PATH:`ros2 pkg
\ prefix turtlebot3_gazebo \
`/share/turtlebot3_gazebo/models/

 

Cui cùng, khi đng turtlebot3 package Gazebo thông qua câu lnh sau:

ros2 launch turtlebot3_gazebo
turtlebot3_house.launch.py

Ca sGazebo sxut hin như trên cùng vi robot burger. Chúc mng bn đã thành công khi đng turtlebot3 trên Gazebo.

 

Lưu dliu cùng vi Rosbag trên ROS2 Humble

Khoan đóng terminal Gazebo nhé. Vn còn nhiu điu hay mà trong blog này schia svi các bn. Khi làm vic vi robot, các bn sphi dùng nhiu dliu tnhiu topic ngoài ra còn đtruy xut dliu, trình bày trên biu đ,…vi các ng dng đó thì

Rosbag chính là cu tinh cho bn.

Đầu tiên, chúng ta mở một cửa sổ khác để kiểm tra các topic được public trên robot.
ros2 topic list

 

Như các bn có ththy trên đây là các topics ca turtlebot3 trên Gazebo. Chúng ta có thxem dliu ca topic bng tkhóa echo , đây mình ly ví dttopic /odom:
ros2 topic echo
/odom

Công dng ca rosbag chvi mt câu lnh slưu các ni dung liên quan đến topic

bn mun record.

ros2 bag record
/topic_name

Vi câu lnh trên, rosbag stđng đưc lưu ngay trên đưng dn mà bn sdng rosbag. Ngoài ra, bn có thlưu nhiu topics và thay đi tên cũng như nơi lưu bag file. Dưi đây, mình có ví dlưu 2 topics là /turtle1/cmd_vel và /turtle1/pose vi tên file là

turtlebot. Ký t cho phép bn la chn tên ca bag file.
ros2 bag record -o turtlebot /turtle1/cmd_vel
/turtle1/pose

Sau khi lưu bag file bn có thkim tra bag file đã lưu bng câu lnh:
ros2 bag info
file_name

Cám ơn các bn đã theo dõi blog đến đây. Hy vng blog này sgiúp ích cho các bn trong quá trình hc và tìm hiu vROS cũng như Robotics. Cùng đón chnhiu blog bích như thế này trên The Construct nhé!

 

 

 

 

Video Tutorial

Topics: ros2 rosbag
Masterclass 2023 batch2 blog banner

Check Out These Related Posts

129. ros2ai

129. ros2ai

I would like to dedicate this episode to all the ROS Developers who believe that ChatGPT or...

read more

0 Comments

Submit a Comment

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Pin It on Pinterest

Share This