1. 可视化概览

1.1 定位

Autonomy 核心库 libautonomy 不内置 GUI,可视化通过外部工具消费 commsgs 数据(经桥接或直接发布)。

维度

说明

消息层

commsgs(C++ struct + Protobuf)

规划配置

config/visualization/visualization.lua已编写,未接入运行时

内置服务

VisualizationServer规划中,源码未提交

对标

nav2_rviz_plugins、foxglove_bridge

1.2 三条可视化路径

┌─────────────────────────────────────────────────────────────┐
│  路径 A:ROS 2 + RViz2(当前推荐)                            │
│  libautonomy → autonomy_ros(外部)→ rosidl → rviz2           │
└─────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────┐
│  路径 B:Foxglove Studio(推荐多模态调试)                    │
│  ROS 2 topics → foxglove_bridge → WebSocket → Foxglove       │
└─────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────┐
│  路径 C:纯 C++ 离线(无可视化 GUI)                          │
│  autonomy_nav_test → glog 日志验证                           │
└─────────────────────────────────────────────────────────────┘

1.3 实现状态对照

组件

状态

说明

autonomy/visualization/ 目录

不存在

VisualizationServer

仅文档示例

config/visualization/visualization.lua

存在,未 includeautonomy.lua

visualization_msgs struct/proto

定义完整

visualization_msgs ToProto/FromProto

cpp 空 stub

Costmap2DPublisher / 地图快照

生成 OccupancyGrid,无 Autolink Writer

autonomy/bridge

gRPC/MQTT, Foxglove 协议

Docker 8765 端口

预留,与 visualization.lua 对齐

ros-foxglove-bridge

Docker 可选安装

1.4 可可视化数据(设计目标)

数据

commsgs 类型

典型 topic

地图

map_msgs::OccupancyGrid

/map

路径

planning_msgs::Path

/planning/path

位姿/里程计

nav_msgs::Odometry

/localization/odometry

激光

sensor_msgs::LaserScan

/sensor/lidar

标记

visualization_msgs::MarkerArray

/visualization/markers

图像

sensor_msgs::Image

/sensor/camera

1.5 相关文档