赞
踩
URDF(统一机器人麦哦书格式)是ROS中的重要机器人模型描述格式,ROS提供了URDF文件的c++解析器,可以解析URDF文件中使用XML格式的机器人模型。
自己查阅ros官方对URDF的介绍其实会强于大部分网上流传的文章。
·作用:描述机器人某个刚体部分的外观和物理属性,例如:
1.尺寸(size)
2.颜色(color)
3.形状(shape)
4.惯性矩阵(inertial matrix)
5.碰撞参数(collision properties)等
·URDF模型中的link结构图:
·<link>标签的URDF基本语法:
<link name="<link name>">
<inertial> · · · · · · · · · ·</inertial>
<visual> · · · · · · ·</visual>
<collision> · · · · · </collision>
</link>
标签 简介 <visual> 描述机器人link部分的外观参数 <inertial> 描述link的惯性参数 <collision> 描述link的碰撞属性 碰撞检测区域(link区域)大于可见的区域,只要有物体和collision区域碰撞那就是和link发生了碰撞。
·作用:描述机器人关节的运动学和动力学属性,包括关节运动的位置和速度限制。
六种机器人关节运动形式(URDF模型的joint类型):
关节类型 | 简介 |
continuous | 旋转关节,可以围绕单轴无线旋转 |
revolute | 旋转关节,类似continuous,但旋转角度有极限 |
prismatic | 滑动关节,沿某一轴线移动的关节,有位置极限 |
planar | 平面关节,允许在平面正交方向平移或旋转 |
floating | 浮动关节,允许进行平移、旋转运动 |
fixed | 固定关节,不允许运动的特殊关节 |
机器人关节(joint)的作用是连接两个刚体(link),被连接的连个刚体分别被称为parent link和child link ,对应了父级和子级的关系。
·URDF模型的joint结构图:
·<joint>标签的URDF基本语法:
<joint name="<name of the joint>">
<parent link="parent_link"/>
<child link="child_link"/>
<calibration .... />
<dynamics damping .... />
<limit effort .... />
....
</joint>
标签 简介 <parent link> 父级刚体 <child link> 子级刚体 <calibration> 关节参考位置,用来校准关节的绝对位置 <dynamics> 描述关节物理属性,包括阻尼值、物理静摩擦力等 <linit> 描述运动的一些极限值,包括关节运动的上下限位置、速度限制等 <mimic> 描述该关节与已有关节的关系 <safety_controller> 描述安全控制器参数
·作用:机器人模型的最顶层标签,<link>标签和<jont>标签必须包含在<robot>标签内。
·URDF模型的robot结构图:
·<robot>标签的URDF基本语法:
<robot name="<name of the robot>">
<link> ........ </link>
<link> ........ </link>
<joint> ........ </joint>
<joint> ........ </joint>
</robot>
·作用:描述机器人模型在gazebo仿真需要的参数,包括机器人材料属性、gazebo插件等。只有在gazebo仿真才需要
·<gazebo>标签的URDF基本语法:
<gazebo reference="link_1">
<materisal>Gazebo/Black</materisal>
</gazebo>
ros中,机器人模型一般会放在RobotName_description功能包下。
- catkin_create_pkg myrobot urdf xacro
-
myrobot功能包当中会包含urdf、meshes、launch、config四个文件夹。
·urdf:存放机器人模型的urdf文件和xacro文件
·meshes:放置URDF中引用的模型渲染文件
·launch:保存相关启动文件
·config:保存rviz配置文件(我喜欢用rviz文件夹来保存)
·作用:检查、梳理模型文件。
sudo apt install liburdfdom-tools
如果安装出现问题,先看一下自己是否换源了。
·作用:解析URDF文件,并显示解析过程中发现的问题
check_urdf mybot.urdf
·作用:查看URDF模型的整体结构。
打开生存的pdf文件就能看见URDF的模型结构
为了让大家更好的了解URDF模型,我会简单解析一下URDF模型
roslaunch bingda_tutorials display_robot.launch
roslaunch bingda_tutorials gazebo_robot.launch
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。