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
Toàn bộ tài liệu được Robotlab.vn biên soạn vì mục đích giáo dục và đang trong quá trình hoàn thiện. Các bạn có thể tham gia các khóa học Online về lập trình robot, ROS tại địa chỉ: www.robotlab.vn
Nếu có sai sót các bạn hãy liên hệ qua địa chỉ email sau: robotlab.vn@gmail.com. Nếu bạn thấy nội dung này hữu ích với bạn xin bạn hãy like, share các bài viết này và thích trang: https://www.facebook.com/RobotLab.vn các bạn nhé. Mọi đóng góp của các bạn là động viên lớn đối với chúng tôi. Bản quyền bài viết thuộc về robotlab.vn mọi hành vi sao chép phải được sự cho phép của tác giả. Xin trân trọng cảm ơn.
Last updated