[具身智能-707]:ROS2 默认内置话题(不需要自己启动任何业务节点)

ROS2 默认内置话题(不需要自己启动任何业务节点)

只启动 ROS2 环境,哪怕没有运行小车、手柄程序,底层 DDS/ROS 框架自带话题

plaintext

/parameter_events /rosout

也就是刚才看到的两条。

1. /rosout

  • 消息类型:rcl_interfaces/msg/Log
  • 作用:所有节点打印日志统一上报的话题RCLCPP_INFO / cout这类日志都会发到/rosout
  • 常用命令:

bash

运行

ros2 topic echo /rosout

ros2 launch启动程序看到的打印,底层就是监听这个话题。

2. /parameter_events

  • 消息类型:rcl_interfaces/msg/ParameterEvent
  • 作用:节点参数新增、修改、删除时,广播通知事件
  • 使用场景:动态修改参数(ros2 param set)时触发消息

额外补充:很多人误以为是 “系统默认”,实际需要启动节点才出现

① 启动 joy_node(手柄驱动)→ 新增话题

/joy(sensor_msgs/msg/Joy)

② 亚博小车 yahboom_joy_M1 运行后 → 新增

/cmd_vel(geometry_msgs/msg/Twist)底盘速度指令

③ 如果你启动 rosbags /lifecycle 节点、robot_state_publisher,还会出现:

/tf/tf_static/joint_states等,不属于原生 ROS2 自带话题,属于功能包产生。

极简区分一句话

原生 ROS2 框架自带(永久存在):/rosout/parameter_events

业务话题(启动对应程序才出现):/joy、/cmd_vel、/chatter、/tf、/joint_states 等等

拓展小知识

你刚才看到的/chatter是官方 demotalker产生的测试话题,不属于系统默认话题,只是有人后台跑了测试程序。

快速验证

新开纯净终端,只加载 ROS2 环境,不启动任何程序:

bash

运行

source /opt/ros/humble/setup.bash ros2 topic list

只会输出两条:

plaintext

/parameter_events /rosout