7. RViz2 与 ROS 2
RViz2 是 ROS 2 生态中最常用的 3D 可视化工具。Autonomy 通过外部 ROS 2 包装层与之对接。
7.1 架构
libautonomy(commsgs C++ struct)
│
▼
autonomy_ros(外部包,本仓库无源码)
│ commsgs ↔ rosidl 转换
▼
ROS 2 DDS topics
│
▼
rviz2 / ros2 topic echo
libautonomy 不依赖 rclcpp;Framework 本体可在无 ROS 环境下运行。
7.2 启动流程
source /opt/ros/humble/setup.bash
source /path/to/autonomy/install/setup.bash
ros2 launch autonomy_ros autonomy.launch.py
rviz2
仿真场景:
ros2 launch autonomy_ros autonomy.launch.py use_gazebo:=true world_type:=house
7.3 常用话题
话题 |
消息类型 |
说明 |
|---|---|---|
|
|
静态地图 |
|
|
规划路径 |
|
|
激光 |
|
|
里程计 |
|
|
速度指令 |
|
|
坐标变换 |
实际话题名以 autonomy_ros launch 与 config/common.lua 为准。
7.4 RViz2 显示配置
Display 类型 |
设置 |
|---|---|
Map |
Topic: |
Path |
Topic: |
LaserScan |
Topic: |
TF |
显示 |
RobotModel |
若有 URDF |
初始位姿:使用 2D Pose Estimate(对应 AMCL 先验),见 06 Localization · AMCL。
7.5 命令行验证
ros2 topic list
ros2 topic echo /plan
ros2 topic hz /scan
ros2 run tf2_tools view_frames
7.6 Docker 内使用
docker exec -it SpaceHero /bin/bash
source /opt/ros/humble/setup.bash
ros2 launch autonomy_ros autonomy.launch.py
7.7 与纯 C++ 路径对比
场景 |
推荐 |
|---|---|
算法 CI / 无 GUI |
|
交互调试 / 演示 |
ROS 2 + RViz2 |
远程团队查看 |
Foxglove(§6) |