ESC
输入关键词搜索文章标题和内容

RViz 机器人可视化入门:从原理到实践

本文由 linuxROS 整理发布,首发于 linuxros.cn,转载请注明出处。

RViz 机器人可视化入门:从原理到实践

> 导读:RViz 是 ROS2 最核心的可视化工具,本文从原理图解、界面操作到完整实践,配合 TurtleBot3 实例,带你全面掌握 RViz!


一、原理图解

1.1 什么是 RViz?

RViz (ROS Visualization) = ROS 可视化工具

类比 作用
汽车仪表盘 显示机器人状态
飞机 HUD 实时显示传感器数据

RViz 的两大特性:

  1. 只读:它本身不是仿真器,只是数据显示器
  2. 3D 可视化:立体呈现机器人模型、传感器数据、坐标变换

1.2 RViz 数据流架构

flowchart LR A[机器人节点] -->|发布话题| B[ROS2 网络] C[传感器节点] -->|发布数据| B B -->|订阅| D[RViz 可视化]

核心原理:

  • RViz 通过 ROS2 话题订阅数据
  • 把平面文字数据变成 3D 立体图形
  • 显示 TF 坐标变换树,让你理解机器人各部件位置

二、TurtleBot3 机器人说明

2.1 什么是 TurtleBot3?

TurtleBot3 是 ROS2 官方推荐的入门级移动机器人平台,有三个型号:

型号 特点
burger 小型机器人,适合教学
waffle 中型机器人,搭载更多传感器
waffle_pi 基于树莓派的版本

2.2 TurtleBot3 硬件组成(仿真版)

graph TD A[TurtleBot3] --> B[激光雷达] A --> C[IMU 惯性测量单元] A --> D[驱动轮] A --> E[摄像头]

核心传感器话题:

  • /scan:激光雷达扫描数据
  • /odom:里程计信息
  • /imu:IMU 数据
  • /tf:坐标变换树

三、RViz 安装与启动

3.1 前提条件

  • Ubuntu 24.04 + ROS2 Jazzy
  • 已安装 turtlebot3 相关包
sudo apt install -y \
    ros-jazzy-turtlebot3-description

3.2 启动 RViz 最简单的方法

注意:必须配合 Gazebo 或真实机器人一起用,RViz 只负责显示!

source /opt/ros/jazzy/setup.bash
rviz2

四、RViz 界面详解

4.1 界面布局

区域 名称 作用
左侧 Displays 面板 添加/配置显示项
上方 Fixed Frame 选择参考坐标系
中间 3D 视图 主显示区域
右侧 Views 面板 控制视角
左下角 Add/Remove 管理显示项

截图位置1:RViz 完整界面
(此处插入:标注了各个面板的 RViz 窗口截图)

4.2 必知显示项

显示项 作用
Grid 参考网格
RobotModel 机器人 3D 模型
TF 坐标变换树
LaserScan 激光雷达数据
Image 摄像头画面

五、RViz 显示 TurtleBot3 完整实操

5.1 启动仿真环境

终端1:启动 Gazebo(提供数据)

来自 linuxros.cn · linuxROS
source /opt/ros/jazzy/setup.bash
export TURTLEBOT3_MODEL=burger
ros2 launch turtlebot3_gazebo turtlebot3_world.launch.py

终端2:启动 RViz

source /opt/ros/jazzy/setup.bash
rviz2

5.2 逐步配置 RViz

步骤1:设置 Fixed Frame

点击上方 Fixed Frame 下拉菜单,选择:

  • base_link

截图位置2:Fixed Frame 下拉选择
(此处插入:Fixed Frame 选择 base_link 的截图)

步骤2:添加机器人模型

  1. 点击左下角 Add
  2. 找到 RobotModel,点击 OK
  3. 在左侧面板展开 RobotModel
  4. 确认 Description Topic 是 /robot_description

截图位置3:RViz 中显示 TurtleBot3 模型
(此处插入:3D 视图中有绿色 TurtleBot3 机器人的截图)

步骤3:添加激光雷达数据

  1. 点击 Add
  2. 选 By topic 标签
  3. 找到 /scan,选 LaserScan
  4. 点击 OK

截图位置4:显示激光雷达红色点云
(此处插入:RViz 显示红色激光点云的截图)


六、键盘控制机器人移动

6.1 启动控制节点

终端3:启动 teleop_keyboard

source /opt/ros/jazzy/setup.bash
ros2 run turtlebot3_teleop teleop_keyboard

6.2 控制按键

按键 功能
w 前进
s 后退
a 左转
d 右转
q 加速
z 减速
空格 停止

注意:必须保持 teleop_keyboard 终端在焦点(选中状态),按键才有效!

6.3 视角操作

操作 功能
鼠标左键 旋转视角
鼠标右键 放大/缩小
鼠标中键 平移视角
滚轮 放大/缩小

截图位置5:键盘控制机器人移动
(此处插入:控制机器人移动时的截图)


七、进阶技巧

6.1 保存配置

RViz 配置好了,下次不想重新配置:

  • 点击 File → Save Config As
  • 保存为 my_turtlebot.rviz
  • 下次启动:rviz2 -d my_turtlebot.rviz

6.2 常用操作快捷键

键 功能
鼠标左键 旋转
鼠标右键 缩放
鼠标中键 平移

八、常见问题解决

问题 解决
机器人模型不显示 Fixed Frame 改为 base_link
全是红色 Error 检查话题名称是否正确
display.launch.py 报错 turtlebot3_description 没有这个文件,用 Gazebo 提供数据

字数:约 1300 字 | 完成日期:2026-04-26

版权声明

作者linuxROS
协议本作品采用 CC BY-NC-SA 4.0 许可协议:署名-非商业性使用-相同方式共享
关注欢迎关注微信公众号 linuxROS,获取更多机器人 / 嵌入式 / Linux 干货
返回首页