提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
URDF集成Rviz
前言
`在ROS中可以利用URDF结合RViz和Gazebo进行机器人的一系列仿真,同时URDF只是一个文件,需要在Rviz和Gazebo中渲染成图形化的机器人模型,本文主要介绍一下URDF的语法格式。
一、URDF 的语法
1.robot
urdf为了保证xml语法的完整性,使用了robot标签作为根标签,就是说下面提到的link和joint都是作为它的的子标签包含在里面
<robtot name = "xxx">
<link>
</link>
<joint>
</jiont>
</robot>
2.link
urdf中link用于描述机器人的某个部件例如云台或者地盘,存在着一一对应的关系,在link标签下,还有描述该部件的形状,尺寸,颜色,偏移,碰撞参数等等
<robtot name = "xxx">
<link name = "myxxx"> <!--name属性->给该link命名-->
<visual>
<!--下面是列举了visual的子表情,按实际需要编写-->
<geometry>
<box size = "长 宽 高" />
<cylinde radius = "半径" length = "高度" />
<sphere radius = "半径" />
<!--这个是可以直接将机械导出的urdf直接导入-->
<mesh filename = "资源路径(格式:package://<packagename>/<path>/文件)" />
<origin xyz = "" rpy = "" /> <!--第一个是在world frame xyz轴的便宜,第二个就roll pitch yaw-->
<metrial name = " " />
<color rgba = "" /> <!--red green blue 透明度-->
</metrial>
</geometry>
<!--下面的后面用到再补充-->
</visual>
<collision>
</collision>
<Inertial>
</Inertial>
</link>
</robot>
3.joint
joint就是关节,它是拿来链接机器人两个部件的,描述机器人关节的 运动学和动力学属性。不同的关节有不同的运动形式,例如:旋转,滑动,固定,旋转滑动的一些物理量的限制。。。
<robtot name = "xxx">
<!--
1 name :给关节命名
2 type:描述关节的运动
para :continuous -- 旋转关节,可以绕单轴无线旋转
revolute --旋转关节,有角度限制
prismatic --滑动关节,沿某一轴线移动,有位置限制
planer --平面关节
floating --浮动关节,允许平移,旋转
fixed -- 固定关节
-->
<joint name= "" type = "">
<paren link = ""/>
<child link = "" />
<origin xyz = "" rpy = "" /> <!--描述child和parent物理原理之间的偏移量-->
<axis xyz = "" /> <!--描述沿着哪个轴旋转,0表示不行,1表示可以-->
</jiont>
</robot>
二、启动时报错的原因
1.描述
出现类似于process failed 或者 process has been killed 等等
2.检查
<!--xml格式-->
<!--在描述标签的属性的时候 例如-->
<robtot name = "xxx">
<link>
<visual>
<geometry>
<cylinder radius = "10" length = "1" />
</geometry>
</visual>
</link>
</robot>
<!--注意 **/**
这个分隔的不对会影响运行,但是编译是不会报错的
-->
总结
以上是本人学习ROS URDF与Rviz仿真的时候的一个总结,可以参考官方网站:ROS官方对于URDF语法介绍