一.概述
简述: ROS2中的每个节点都负责单一模块化的目的,一个完整的机器人系统由许多协同工作的节点组成
- 在ROS2中,单个可执行文件可以包括一个或多个节点
二.使用
1.运行节点
简述: ros2 run
命令可以从软件包中启动可执行文件
格式: ros2 run <package_name> <executable_name>
- package_name: 包名
- executable_name: 可执行文件名
例子: 启动自带的乌龟模拟器
$ ros2 run turtlesim turtlesim_node
2.节点列表
简述: ros2 node list
可以显示当前所有正在运行的节点名称
例子: 假设上面的乌龟模拟器还在运行
$ ros2 node list
/turtlesim
3.重映射
简述: 重映射就是将节点的默认属性(节点名称、主题名称、服务名称等)重新分配给自定义的值
语法: 在常规的ros2 run
后面添加上--ros-args --remap __node:=自定义值
例子: 重新分配/turtlesim
节点的名称为/my_turtle
$ ros2 run turtlesim turtlesim_node --ros-args --remap __node:=my_turtle
$ ros2 node list # 验证是否成功
/my_turtle
4.节点信息
简述: 使用ros2 node info
可以查看节点的信息,具体包括返回订阅者、发布者、服务和操作的列表,即与该节点交互的 ROS 图连接。
语法:
$ ros2 node info <node_name>
例子: 查询上面创建的/my_turtle
节点
$ ros2 node info /my_turtle
/my_turtle
Subscribers:
/parameter_events: rcl_interfaces/msg/ParameterEvent
/turtle1/cmd_vel: geometry_msgs/msg/Twist
Publishers:
/parameter_events: rcl_interfaces/msg/ParameterEvent
/rosout: rcl_interfaces/msg/Log
/turtle1/color_sensor: turtlesim/msg/Color
/turtle1/pose: turtlesim/msg/Pose
Service Servers:
/clear: std_srvs/srv/Empty
/kill: turtlesim/srv/Kill
/my_turtle/describe_parameters: rcl_interfaces/srv/DescribeParameters
/my_turtle/get_parameter_types: rcl_interfaces/srv/GetParameterTypes
/my_turtle/get_parameters: rcl_interfaces/srv/GetParameters
/my_turtle/list_parameters: rcl_interfaces/srv/ListParameters
/my_turtle/set_parameters: rcl_interfaces/srv/SetParameters
/my_turtle/set_parameters_atomically: rcl_interfaces/srv/SetParametersAtomically
/reset: std_srvs/srv/Empty
/spawn: turtlesim/srv/Spawn
/turtle1/set_pen: turtlesim/srv/SetPen
/turtle1/teleport_absolute: turtlesim/srv/TeleportAbsolute
/turtle1/teleport_relative: turtlesim/srv/TeleportRelative
Service Clients:
Action Servers:
/turtle1/rotate_absolute: turtlesim/action/RotateAbsolute
Action Clients:
本质是我跟着ROS官方文档的学习笔记,很多内容出自这里,建议大家可以的话亲自去看官方文档,那里表述肯定会比我好很多