在 RViz 中可视化 URDF 机器人模型
本文介绍如何在 ROS2 环境下使用 RViz 可视化工具展示 URDF 机器人模型。RViz 是 ROS2 中功能强大的 3D 可视化工具,不仅能直观展示机器人的外形,还能调试关节运动、坐标系关系等核心参数。
一、RViz 可视化前的必备知识
在动手操作前,先搞懂三个核心概念:
- 核心依赖节点
robot_state_publisher:读取 URDF 文件,计算机器人各连杆的位姿,并发布到 ROS2 话题中;joint_state_publisher/joint_state_publisher_gui:发布关节状态,前者默认固定关节角度,后者提供图形界面可手动拖动关节。
- 固定坐标系(Fixed Frame)
RViz 的可视化以某个坐标系为基准,机器人的根连杆坐标系(通常是
base_link)是最佳选择,否则会出现'模型飞散'或'无法显示'的问题。 - URDF 文件的合法性
必须先通过
check_urdf工具验证 URDF 语法无误,否则 RViz 无法加载模型。
二、环境准备:ROS2 与工具安装
本文基于 ROS2 Humble 版本,确保你已完成基础环境配置,若缺少相关工具,执行以下命令安装:
# 安装 URDF 相关工具
sudo apt install ros-humble-urdf-tools ros-humble-urdf-tutorial
# 安装关节状态发布器(含 GUI 版)和机器人状态发布器
sudo apt install ros-humble-joint-state-publisher ros-humble-joint-state-publisher-gui ros-humble-robot-state-publisher
三、基础实操:两轮机器人 URDF 可视化
我们以两轮差分机器人 URDF 为例,完整演示从文件准备到 RViz 显示的全流程。
步骤 1:准备合法的 URDF 文件
验证 URDF 语法合法性:
check_urdf two_wheel.urdf
若终端输出机器人名称、连杆和关节列表,且无报错,则说明文件合法。
将之前编写的两轮机器人 Xacro 文件转换为 URDF:
# 进入 urdf 文件所在目录
cd ~/ros2_ws/src/my_robot_description/urdf
# Xacro 转 URDF
ros2 run xacro xacro robot.xacro > two_wheel.urdf
步骤 2:启动核心节点
打开三个终端,分别执行以下命令(每个终端执行前需先 source ROS2 环境,即 source /opt/ros/humble/setup.bash

