1.节点(node)
ROS2中的各项资源也是通过计算图联系到一起的。计算图是一个由各种ROS2元素组成的网络,共同完成数据的传输,其中每一个完成具体功能的模块称之为“节点”(Node),例如控制车轮速度、获取雷达数据等,节点之间通过话题(Topic)、服务(Service)、动作(Actions)或者参数(Parameter)实现数据的收发。
节点(Node)——“执行单元”
>执行具体任务的进程,独立运行的可执行文件
>不同节点可使用不同的编程语言,可分布式运行在不同主机
>节点在系统中的名称必须是唯一的
命令 “ros2 run”
从包启动可执行文件 ros2 run <package_name> <executable_name>
ros2 run turtlesim turtlesim_node
命令查找节点名称 ros2 node list
ros2节点信息 ros2 node info <node_name>
#查询节点my_turtle信息
ros2 node info /my_turtle
2.主题(topic)
ROS 2 将复杂系统分解为许多模块化节点。 主题是 ROS 图的重要元素,充当节点交换消息的总线。节点使用消息通过主题发送数据。 发布者和订阅者必须发送和接收相同类型的消息才能进行通信。主题不必只是点对点的交流; 它可以是一对多、多对一或多对多。
使用 rqt_graph
可视化不断变化的节点和主题,以及它们之间的联系。
还可以通过打开 rqt 并选择 来打开 rqt_graph Plugins > Introspection > Nodes Graph 。
ros2 topic list
返回系统中当前活动的所有主题的列表
ros2 topic list -t
将返回相同的主题列表,这次将主题类型附加在每个后面的括号中
ros2 topic echo <topic_name> 查看在某个主题上发布的数据
#已知/teleop_turtle将数据发布到 /turtlesim在 /turtle1/cmd_vel主题,可使用 echo显示这个话题
ros2 topic echo /turtle1/cmd_vel
ros2 topic info <topic_name> 显示主题信息
ros2 interface show <type>.msg
了解主题中消息详细信息(配合着ros2 topic list -t
使用)
ros2 topic pub <topic_name> <msg_type> '<args>' 直接从命令行将数据发布到主题上, '<args>'
参数是您将传递给主题的实际数据