[具身智能-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