跳到主要内容

ROS 2 Web App

ROS 2 Web App / Vizanti 可视化面板

Vizanti 是浏览器端 ROS 2 可视化面板,不等于上位机 5000 端口 Web 页面,也不等于 JupyterLab。它用于查看模型、TF、雷达、地图、里程计和导航路径;完整操作见 底盘、传感器与调试2D 建图定位、导航与自主任务

工具默认入口用途
上位机 Web 主页面http://<UGV_IP>:5000整机 Web 控制、视频和基础功能
JupyterLabhttp://<UGV_IP>:8888Notebook、文件管理、短脚本和教学示例
ROS 2 Web App / Vizantihttp://<UGV_IP>:5100浏览器端 ROS 2 可视化

启动 ROS 2 Web App

  1. 在 Docker ROS 2 终端中加载环境并启动 ugv_web_app

    cd /home/ws/ugv_ws
    source /opt/ros/humble/setup.bash
    source install/setup.bash
    ros2 launch ugv_web_app bringup.launch.py host:=0.0.0.0
  2. 在浏览器中访问以下地址。

    http://<UGV_IP>:5100

    <UGV_IP> 替换为当前网络中显示的 UGV IP。host:=0.0.0.0 用于监听所有网络接口,浏览器仍使用 UGV IP 访问。

  3. 启动需要显示的数据源。底盘与雷达可在另一个 Docker ROS 2 终端中启动:

    cd /home/ws/ugv_ws
    source /opt/ros/humble/setup.bash
    source install/setup.bash
    export UGV_MODEL=ugv_rover
    export LDLIDAR_MODEL=ld19
    ros2 launch ugv_bringup bringup_lidar.launch.py use_rviz:=false

    2D 建图参见 2D 建图;定位与导航参见 2D 定位与导航

  4. 另开 Docker ROS 2 终端,加载同一环境后检查数据源。

    ros2 topic list | grep -E 'ugv/robot_description|scan|map|tf|odom'
    timeout 8 ros2 topic hz /scan

    未启动雷达时,/scan 不会存在,此时不要执行第二条命令。

  5. 在 Vizanti 页面左上角点击 +,添加所需显示组件并选择对应 Topic。

当前 ugv_wsrobot_state_publisher 使用 ugv 命名空间,RobotModel 使用 /ugv/robot_description,不要改用未加命名空间的 robot_description

场景显示组件Topic / 设置
底盘与雷达RobotModelTFLaserScan/ugv/robot_description/tf/tf_static/scan
2D 建图MapLaserScanTF/map/scan/tf/tf_static
定位与导航MapRobotModelPathTF/map/ugv/robot_description、当前 Navigation 发布的路径 Topic、/tf/tf_static
备注

5100 页面能够打开且组件已连接到存在的数据源时,对应内容才会显示。页面只有空网格通常表示尚未启动数据源、组件未添加或组件仍保留旧 Topic 配置,不等于 ugv_web_app 已停止运行。

启动完成后,确认 5100 页面可以打开,页面能够连接当前 ROS 2 通信图,且数据源存在时组件能够显示对应内容。空网格不等于程序故障。

停止顺序

  1. 先停止页面中的运动或目标控制。
  2. 再停止 Navigation 或 SLAM。
  3. 再停止底盘 bringup。
  4. 最后在 ugv_web_app 终端按 Ctrl + C

关闭浏览器不会停止 ROS 2 节点。