在gazebo中使用urdf

官方教程

urdf: unified robotic description format.

urdf是在ros中使用的一种用于描述机器人的xml文件。 为了在gazebo中使用urdf文件, 需要增加一些仿真用的tag。 实际上在底层, gazebo还是自动把urdf转成了sdf文件。

背景

虽然urdf是ros中使用的一种标准,但他却缺少一些相应的更新,毕竟机器人技术在发展。

urdf只能指定运动学和动力学属性。不能指定机器人在world中位置,他也不是一种通用格式,因为他缺少一些特性, 比如不能制定关节环(并联关节),不能指定摩擦,不能指定机器人以外的一些属性,比如光照,高度图等。

在实现方面,urdf的语法使用了很多xml的属性,导致灵活性不高, 并且也没有向后兼容的机制。

为了处理这些问题,一种新的格式: sdf(simulation description format)为gazebo而诞生了,并解决了urdf的缺点。sdf可以完整描述world级别,以及robot级别。方便增加和修订。用xml语法描述。

Overview of Converting to Gazebo

为了让urdf在gazebo中允许,需要一些steps:

必要元素:inertial 元素

可选元素:

给每个link增加gazebo: convert color,covert stl to dae,增加sensor plugin

给每个joint增加gazebo:设置合适的damping dynamics, 增加actuator control plugins

给每个robot增加gazebo元素

gazebo element

gazebo属性是对urdf的一种扩展, 是为了在gazebo中仿真而增加的一些属性。他允许增加一些只有sdf格式里才有的属性。在gazebo标签中,也可以为空,因为会自动指定默认值。有三种gazebo标签,robot tag里的,link,joint tag里的。

Prerequisites

在对urdf进行gazebo适配前,线确保urdf文件没问题。

使用RRBot为例, Revolute-Revolute manipulator Robot, 实际上是一个二阶倒立摆;我们还演示一些有趣的控制方法。

查看urdf文件

rrbot.xacro 文件, 包含另两个文件: rrbot.gazebo, materials.xarco


   
     
     
     
   

   
     
     
       
     
     
       
     
   

   
     
     
       
     
   
 

描述刚体,具有惯性,视觉特征,碰撞属性;

elements

inertial:惯性

visual:视觉属性,可以有多个视觉,合在一起构成link的视觉效果

collision:碰撞属性,可以有多个,合在一起构成link的碰撞属性;

joint

 
    
    
    

    
    
    
    
 

有这几种类型:

Revolute: 转动铰链,有上下角度限制

continuous:连续转动,例如车轮

prismatic: 沿单轴滑动的平动关节,有上下限

fixed:固定死的。不需要axis, calibration, dynamics, limits, or safety_controller.

floating: 全自由

planar: 平面运动

elements

origin:原点

parent:父link

child:子link

axis:旋转关节的旋转轴(child/joint frame), 滑动关节的滑动轴,平面关节的平面法向量。

calibration:joint的参考positions, 用于标定joint的绝对位置?

dynamics:物理属性,damping,阻尼系数, friction 摩擦系数;

limit: 限制,包括lower, upper, effort(最大力), velocity(最大速度),

mimic: 用于模仿其他关节的

safety_controller:  包含如下属性:soft_lower_limit: 低于这个值,safety_controller开始限制位置,这个值要低于 lower joint limit。 soft_upper_limit, 同上; k_position: An attribute specifying the relation between position and velocity limits。k_velocity:An attribute specifying the relation between effort and velocity limits

stl和Collada文件

gazebo可以使用stl和collada文件, 一般推荐collada(.dae)文件,因为他支持颜色和texture,而stl文件仅支持solidly colored link。

符合Collada规范的三维数据文件(三维数据交换)。文件内容类似xml。可以文本打开查看。用Bitmanagement Software,3d max等软件可以查看。

SketchUp导出的三维模型就是(.dae)后缀。

通常,这些文件被视为 Digital Asset Exchange File 格式。 DAE 文件通常被归类为 3D Image Files。

审查模型是否正常

可以使用以下命令: gz sdf -p model.urdf 他会把urdf文件转成sdf文件。

你可能感兴趣的:(机器学习)