4. AutowareAuto节点图可视化
任务目标
在AutowareAuto运行过程中,通过可视化工具查看当前活跃的ROS 2节点及其话题通信关系,以验证节点间的数据流连接是否符合预期。本案例使用rqt_graph完成节点图可视化,并补充命令行方式的节点/话题列表查询作为快速验证手段。
环境依赖
- 已安装AutowareAuto(基于ROS 2)的Ubuntu环境
- 已安装
rqt_graph(ROS 2桌面版默认包含,若缺失可执行sudo apt install ros-<distro>-rqt-graph) - AutowareAuto的launch文件可正常启动(本案例以
planning_simulator为例)
实现步骤
- 启动AutowareAuto仿真环境(终端1):
source /opt/autoware/install/setup.bash
ros2 launch autoware_launch planning_simulator.launch.xml map_path:=$HOME/autoware_map sample_pose:=true
- 等待节点全部启动(约10~30秒,观察终端输出无报错)。
- 打开第二个终端,启动
rqt_graph:
source /opt/autoware/install/setup.bash
rqt_graph
- 在
rqt_graph界面中:
- 左上角Topics / Nodes下拉框选择
Nodes/Topics (all),显示全部节点与话题; - 勾选Hide Debug隐藏调试话题,勾选Dead Sinks可显示仅有订阅无发布的节点;
- 左侧Group by选择
Namespace,按命名空间分组查看(如/planning、/perception等)。
- 验证节点图是否与预期架构一致:
- 确认存在
/planning/...、/perception/...、/vehicle/...等命名空间下的核心节点; - 确认话题连接方向正确(如
/perception/object_recognition/objects由感知模块发布,被规划模块订阅)。
命令行快速验证(可选)
若rqt_graph图形界面无法使用,可用以下命令获取等效信息:
# 列出所有活跃节点
ros2 node list
# 查看某节点的话题连接(以planning模块为例)
ros2 node info /planning/planning_module
# 列出所有话题及类型
ros2 topic list -t
通过判定标准
rqt_graph窗口成功显示节点图,无连接错误;- 图中可见至少10个以上AutowareAuto核心节点(感知、规划、控制、车辆接口等);
- 关键话题连接存在且方向正确:
/perception/object_recognition/objects→/planning/...,/planning/...→/control/...; - 若使用命令行方式,
ros2 node list输出包含/planning、/perception、/control等命名空间节点,且ros2 node info显示的订阅/发布话题与预期架构一致。
常见问题
- rqt_graph窗口空白:确认AutowareAuto已完全启动(终端无报错),且
rqt_graph与AutowareAuto使用相同的ROS 2环境(source同一setup.bash)。 - 节点图过于杂乱:在
rqt_graph的Hide标签页中勾选/rosout、/parameter_events等调试话题,或按命名空间分组查看。 - 看不到预期节点:使用
ros2 node list确认节点是否实际运行;若节点未启动,检查对应launch文件是否包含该模块。