ROS 2 Web App
ROS 2 Web App / Vizanti 可视化面板
Vizanti 是浏览器端 ROS 2 可视化面板,不等于上位机 5000 端口 Web 页面,也不等于 JupyterLab。它用于查看模型、TF、雷达、地图、里程计和导航路径;完整操作见 底盘、传感器与调试、2D 建图 和 定位、导航与自主任务。
| 工具 | 默认入口 | 用途 |
|---|---|---|
| 上位机 Web 主页面 | http://<UGV_IP>:5000 | 整机 Web 控制、视频和基础功能 |
| JupyterLab | http://<UGV_IP>:8888 | Notebook、文件管理、短脚本和教学示例 |
| ROS 2 Web App / Vizanti | http://<UGV_IP>:5100 | 浏览器端 ROS 2 可视化 |
启动 ROS 2 Web App
-
在 Docker ROS 2 终端中加载环境并启动
ugv_web_app。cd /home/ws/ugv_wssource /opt/ros/humble/setup.bashsource install/setup.bashros2 launch ugv_web_app bringup.launch.py host:=0.0.0.0 -
在浏览器中访问以下地址。
http://<UGV_IP>:5100将
<UGV_IP>替换为当前网络中显示的 UGV IP。host:=0.0.0.0用于监听所有网络接口,浏览器仍使用 UGV IP 访问。 -
启动需要显示的数据源。底盘与雷达可在另一个 Docker ROS 2 终端中启动:
cd /home/ws/ugv_wssource /opt/ros/humble/setup.bashsource install/setup.bashexport UGV_MODEL=ugv_roverexport LDLIDAR_MODEL=ld19ros2 launch ugv_bringup bringup_lidar.launch.py use_rviz:=false -
另开 Docker ROS 2 终端,加载同一环境后检查数据源。
ros2 topic list | grep -E 'ugv/robot_description|scan|map|tf|odom'timeout 8 ros2 topic hz /scan未启动雷达时,
/scan不会存在,此时不要执行第二条命令。 -
在 Vizanti 页面左上角点击
+,添加所需显示组件并选择对应 Topic。
当前 ugv_ws 的 robot_state_publisher 使用 ugv 命名空间,RobotModel 使用 /ugv/robot_description,不要改用未加命名空间的 robot_description。
| 场景 | 显示组件 | Topic / 设置 |
|---|---|---|
| 底盘与雷达 | RobotModel、TF、LaserScan | /ugv/robot_description、/tf、/tf_static、/scan |
| 2D 建图 | Map、LaserScan、TF | /map、/scan、/tf、/tf_static |
| 定位与导航 | Map、RobotModel、Path、TF | /map、/ugv/robot_description、当前 Navigation 发布的路径 Topic、/tf、/tf_static |
备注
5100 页面能够打开且组件已连接到存在的数据源时,对应内容才会显示。页面只有空网格通常表示尚未启动数据源、组件未添加或组件仍保留旧 Topic 配置,不等于 ugv_web_app 已停止运行。
启动完成后,确认 5100 页面可以打开,页面能够连接当前 ROS 2 通信图,且数据源存在时组件能够显示对应内容。空网格不等于程序故障。
停止顺序
- 先停止页面中的运动或目标控制。
- 再停止 Navigation 或 SLAM。
- 再停止底盘 bringup。
- 最后在
ugv_web_app终端按Ctrl + C。
关闭浏览器不会停止 ROS 2 节点。