Getting Started with ROS on Embedded Systems - User Guide - C++ - Topics
Getting Started with ROS on Embedded Systems RidgeRun documentation is currently under development. |
Getting Started with ROS on Embedded Systems |
---|
ROS on Embedded Systems Basics |
Getting Started |
C++ User Guide |
Examples |
Basic pipelines |
Performance |
Xavier |
Contact Us |
Introduction
This wiki is based on the following ROS page: https://docs.ros.org/en/iron/Tutorials/Beginner-CLI-Tools/Understanding-ROS2-Topics/Understanding-ROS2-Topics.html
Topics on ROS is an abstraction for a comunication bus, it's where the different nodes read and write messages. The topics can be one to one, one to many and even many to many.
Types
Topics have an associated message type. The suscriber nodes have to know that type. Otherwise they will not be able to connect. That way we can be sure that a topic and it's suscribers understand eachother. For every different messsage type there should be a different topic.
Tools
See current topics:
ros2 topic list
Check the topics and their message types:
ros2 topic list -t
Check what's being published on a certain topic:
ros2 topic echo <topic_name>
Check the connected clients and publishers:
ros2 topic info <topic_name>
Check the interface documentation associated with the message type:
ros2 interface show <msg type>
We can even send messages to the topic if the interface allows it:
ros2 topic pub <topic_name> <msg_type> '<args>'
Finally we can check the topic's publish rate
ros2 topic hz <topic_name>