欢迎光临散文网 会员登陆 & 注册

6.3 rviz2集成URDF基本流程

2023-11-03 09:54 作者:猛狮集训营  | 我要投稿

6.3 rviz2集成URDF基本流程

在 rviz2 中如何显示机器人模型呢?前面已经简单介绍过: URDF 是一种机器人建模文件,rviz2 可以按照该文件渲染出图形化的机器人模型。换言之,rviz2 必须集成 URDF 文件才能显示机器人模型,本节就将主要介绍该二者集成的基本实现流程。

6.3.1 案例以及案例分析

1.案例需求

需求:在 rviz2 中显示一个简单的盒状机器人。

2.案例分析

在上述案例中,需要关注的要素有三个:

  1. 如何编写 URDF 文件;

  2. 如何加载 URDF 文件到系统;

  3. 如何使用 rviz2 显示机器人模型;

3.流程简介

主要步骤如下:

  1. 编写 URDF 文件;

  2. 编写 launch 文件;

  3. 编辑配置文件;

  4. 编译;

  5. 执行 launch 文件并在 rviz2 加载机器人模型。

该案例中,C++ 与 Python 实现都遵顼上述流程,且大多数实现都基本一致,只是在配置文件上稍有差异,本节主要以 C++ 功能包为例演示该实现。

4.准备工作

1.安装所需功能包

请调用如下命令,安装案例所需的两个功能包:

sudo apt install ros-humble-joint-state-publisher sudo apt install ros-humble-joint-state-publisher-gui

2.新建功能包

终端下进入工作空间的src目录,调用如下命令创建C++功能包。

ros2 pkg create cpp06_urdf --build-type ament_cmake

功能包下新建 urdf、rviz、launch、meshes目录以备用,其中 urdf 目录下再新建子目录 urdf 与 xacro,分别用于存储 urdf 文件和 xacro 文件。

6.3.2 案例实现

1.URDF文件实现

功能包 cpp06_urdf 的 urdf/urdf 目录下,新建 urdf 文件 demo01_helloworld.urdf,并编辑文件,输入如下内容:

2.launch文件实现

功能包 cpp06_urdf 的 launch 目录下,新建 launch 文件 display.launch.py,并编辑文件,输入如下内容:

launch 文件启动时,可以通过参数 model 动态传入被加载的 urdf 文件。

3.编辑配置文件

1.package.xml

在 package.xml 中需要手动添加一些执行时依赖,核心内容如下:

2.CMakeLists.txt

在功能包下,新建了若干目录,需要为这些目录配置安装路径,核心内容如下:

4.编译

终端中进入当前工作空间,编译功能包:

colcon build --packages-select cpp06_urdf

5.执行

当前工作空间下,启动终端,输入如下指令:

然后 rviz2 会启动,启动后做如下配置:

  1. Global Options 中的 Fixed Frame 设置为 base_link(和 urdf 文件中 link 标签的 name 一致);

  2. 添加机器人模型插件,并将参数 Description Topic 的值设置为 /robot_description,即可显示机器人模型。

小提示:

在本章的后续案例中,所有实现都遵循上述步骤,在后续案例中我们只需要关注 urdf 实现即可,launch 文件和 配置文件无需修改。

B站有完整的ros系列教程视频,可以观看完整内容ros课程ROS2理论与实践

更多内容将在猛狮知识星球社区更新最新课程,后续将推出更多优质内容——详情可关注猛狮集训营公众号和猛狮集训营官方网站

6.3 rviz2集成URDF基本流程的评论 (共 条)

分享到微博请遵守国家法律