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为例)

实现步骤

  1. 启动AutowareAuto仿真环境(终端1):
source /opt/autoware/install/setup.bash
ros2 launch autoware_launch planning_simulator.launch.xml map_path:=$HOME/autoware_map sample_pose:=true
  1. 等待节点全部启动(约10~30秒,观察终端输出无报错)。
  2. 打开第二个终端,启动rqt_graph:
source /opt/autoware/install/setup.bash
rqt_graph
  1. 在rqt_graph界面中:
  • 左上角Topics / Nodes下拉框选择Nodes/Topics (all),显示全部节点与话题;
  • 勾选Hide Debug隐藏调试话题,勾选Dead Sinks可显示仅有订阅无发布的节点;
  • 左侧Group by选择Namespace,按命名空间分组查看(如/planning、/perception等)。
  1. 验证节点图是否与预期架构一致:
  • 确认存在/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文件是否包含该模块。