3. ROS Message
ROS Message nguyên lý và cách sử dụng
Giao tiếp giữa các topic xảy ra bằng cách gửi các message ROS giữa các node. Đối với publisher node (turtle_teleop_key) và subscriber node (turtlesim_node) để giao tiếp, publisher node và subscriber node phải gửi và nhận cùng một loại message. Loại message gửi trên một topic có thể được xác định bằng cách sử dụng rostopic type
3.1 Rostopic type
Bạn có thể thấy loại topic ở đây là
Bạn có thể xem chi tiết loại message bằng lệnh rosmsg
Bạn có thể tìm hiểu thêm về loại message geometry_msgs/Twist
ở đây. Định dạng Twist message bao gồm vận tốc tuyến tính (linear velocity) với đơn vị là m/s và vận tốc góc (angular velocity) đơn vị rad/s theo 3 trục x, y, z.
3.2 Rostopic pub
Để publish các message qua topic của ROS các bạn dùng lệnh với cú pháp sau:
Ví dụ để điều khiển turtle sim chạy với vận tốc tuyến tính mô phỏng x= 1.8m/s và vận tốc góc z=1.8 rad/s ta dùng lệnh sau. -1
có nghĩa là 1 message sẽ được truyền đi.
Nếu bạn muốn turtlesim tiếp tục di chuyển với vận tốc trên, bạn cần phải cấu hình lại rostopic pub -r 1
để message được truyền với tần số ổn định 1 Hz.
3.3 Rostopic hz
Kiểm tra tần truyền nhận của message bằng lệnh rostopic hz
. Ví dụ bạn muốn kiểm tra tần số truyền nhận của /turtle1/pose:
Bạn sẽ nhận được tần số truyền nhận của topic /turtle1/pose rơi vào khoảng ~59 Hz
Last updated
Was this helpful?