URDF集成Rviz:机器人系统仿真基本流程

机器人的系统仿真是一种集成实现,主要包含三部分:

URDF 用于创建机器人模型:以XML 的方式描述机器人的部分结构,比如底盘、摄像头、激光雷达、机械臂以及不同关节的自由度。可被 C++ 内置的解释器转换成可视化的机器人模型。

Gzebo 用于搭建仿真环境:3D动态模拟器,显示机器人模型并创建仿真环境,能够在复杂的室内和室外环境中准确有效地模拟机器人。与游戏引擎提供高保真度的视觉模拟类似,Gazebo提供高保真度的物理模拟,其提供一整套传感器模型,以及对用户和程序非常友好的交互方式。

Rviz 图形化显示传感器感知到的环境信息:ROS的三维可视化工具。以三维方式显示ROS消息,将数据进行可视化表达。例如:可以显示机器人模型,可以无需编程就能表达激光测距仪(LRF)传感器中的传感 器到障碍物的距离,RealSense、Kinect或Xtion等三维距离传感器的点云数据(PCD, Point Cloud Data),从相机获取的图像值

需求描述:

在 Rviz 中显示一个盒状机器人

实现流程:

  1. 准备:新建功能包,导入依赖
  2. 核心:编写 urdf 文件
  3. 核心:在 launch 文件集成 URDF 与 Rviz
  4. 在 Rviz 中显示机器人模型



1.创建功能包,导入依赖

创建一个新的功能包,名称自定义,导入依赖包: urdfxacro

在当前功能包下,再新建几个目录:

urdf: 存储 urdf 文件的目录

meshes:机器人模型渲染文件(暂不使用)

config: 配置文件

launch: 存储 launch 启动文件

机器人系统仿真(一)——URDF集成Rviz基本流程_配置文件

机器人系统仿真(一)——URDF集成Rviz基本流程_服务器_02 机器人系统仿真(一)——URDF集成Rviz基本流程_可视化工具_03



2.编写 URDF 文件

新建一个子级文件夹:urdf(可选),文件夹中添加一个.urdf文件,复制如下内容:

登录后复制

<robot name="mycar">
    <link name="base_link">
        <visual>
            <geometry>
                <box size="0.5 0.2 0.1" />
            </geometry>
        </visual>
    </link>
</robot>1.2.3.4.5.6.7.8.9.

机器人系统仿真(一)——URDF集成Rviz基本流程_xml_04

3.在 launch 文件中集成 URDF 与 Rviz

launch目录下,新建一个 launch 文件,该 launch 文件需要启动 Rviz,并导入 urdf 文件,Rviz 启动后可以自动载入解析urdf文件,并显示机器人模型,核心问题:如何导入 urdf 文件? 在 ROS 中,可以将 urdf 文件的路径设置到参数服务器,使用的参数名是:robot_description,示例代码如下:

登录后复制

<launch>

    <!-- 设置参数 -->
    <param name="robot_description" textfile="$(find 包名)/urdf/urdf/urdf01_HelloWorld.urdf" />

    <!-- 启动 rviz -->
    <node pkg="rviz" type="rviz" name="rviz" />

</launch>1.2.3.4.5.6.7.8.9.

机器人系统仿真(一)——URDF集成Rviz基本流程_配置文件_05

4.在 Rviz 中显示机器人模型

rviz 启动后,会发现并没有盒装的机器人模型,这是因为默认情况下没有添加机器人显示组件,需要手动添加,添加方式如下:机器人系统仿真(一)——URDF集成Rviz基本流程_数据_06机器人系统仿真(一)——URDF集成Rviz基本流程_数据_07设置完毕后,可以正常显示了

机器人系统仿真(一)——URDF集成Rviz基本流程_配置文件_08

机器人系统仿真(一)——URDF集成Rviz基本流程_配置文件_09

机器人系统仿真(一)——URDF集成Rviz基本流程_配置文件_10

5.优化 rviz 启动

重复启动launch文件时,Rviz 之前的组件配置信息不会自动保存,需要重复执行步骤4的操作,为了方便使用,可以使用如下方式优化:

首先,将当前配置保存进config目录机器人系统仿真(一)——URDF集成Rviz基本流程_可视化工具_11然后,launch文件中 Rviz 的启动配置添加参数:args,值设置为-d 配置文件路径

机器人系统仿真(一)——URDF集成Rviz基本流程_配置文件_12

登录后复制

<launch>
    <!--1.在参数服务器载入 urdf 文件-->
    <param name="robot_description" textfile="$(find urdf01_rviz)/urdf/urdf/demo01_helloworld.urdf" />
    <!--2.启动 rviz-->
    <node pkg="rviz" type="rviz" name="rviz" args="-d $(find urdf01_rviz)/config/show_mycar.rviz"/>
</launch>1.2.3.4.5.6.

再启动时,就可以包含之前的组件配置了,使用更方便快捷。

添加坐标系

机器人系统仿真(一)——URDF集成Rviz基本流程_数据_13

机器人系统仿真(一)——URDF集成Rviz基本流程_可视化工具_14



免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空