一、机器人系统仿真
1.1 相关组件
- URDF:Unified Robot Description Format,统一(标准化)机器人描述格式,用xml文件描述机器人部分结构,URDF只是一个文件,该文件需要结合rviz或者gazebo使用
- rviz:ROS Visualization Tool,ROS的三维可视化工具,将数据进行可视化表达,图形化的显示传感器感知到的环境信息
- gazebo:用于搭建机器人模型并创建仿环境
二、基本流程
2.1 需求
在rviz中显示一个盒状机器人
2.2 流程
- 创建功能包
- 导入依赖:urdf,xacro
- 在当前目录下创建文件夹:
- config:配置文件,用于一些代码的初始化等
- urdf:存储urdf文件
- meshes:机器人模型渲染文件
- launch:存储launch文件
- xacro:存储xacro相关文件
- 编写urdf文件
在urdf文件夹下新建urdf文件夹(可选),编写demo01_helloworld.urdf文件:<robot name="mycar"> <link name="base_link"> <visual> <geometry> <box size="0.5 0.2 0.1" /> </geometry> </visual> </link> </robot>
- 在launch文件中集成urdf和rviz
在launch文件下新建demo01_helloworld.launch文件,导入urdf文件:使用的参数名是robot_description
<launch>
<!-- 设置参数 -->
<param name="robot_description" textfile="$(find 包名)/urdf/urdf/urdf01_HelloWorld.urdf" />
<!-- 启动 rviz -->
<node pkg="rviz" type="rviz" name="rviz" />
</launch>
- 在rviz中显示机器人模型
添加方式如下:
- 优化rviz启动
重复启动launch文件时,rviz的配置不会被保存,为了避免重复4.中的操作,可以将相关配置保存到config文件夹下,并修改相关参数:
<launch>
<param name="robot_description" textfile="$(find 包名)/urdf/urdf/urdf01_HelloWorld.urdf" />
<node pkg="rviz" type="rviz" name="rviz" args="-d $(find 报名)/config/rviz/show_mycar.rviz" />
</launch>