ROS之urdf模型与gazebo仿真总结

URDF

Unified Robot Description Format,统一机器人描述格式,简称为URDF。ROS中的urdf功能包包含一个URDF的C++解析器,URDF文件使用XML格式描述机器人模型。

语法规范

该软件包包含许多机器人模型,传感器,场景等的XML规范。每个XML规范都有一种或多种语言的相应解析器:urdf语法规范。基础部分可以参考官方教程:tutorials-wiki

结构

各个功能包与组件之间的关系.
在这里插入图片描述

属性标签

如何写一个基础的urdf模型不在这里展开。

如示例link1,一个最简单的link需要什么,name,如果还希望显示,就加入<visual>,在仿真中为了模拟真实碰撞,加入<collision>,最后是<inertial>惯量,通过质量、质心、惯性矩阵模拟真实物体的运动状况。其中需要注意的,惯量标签是必不可少的,<origin>标签都是相对于标签基坐标本身。

 <!-- Base Link -->
  <link name="link1">
    <collision>
      <origin xyz="0 0 ${height1/2}" rpy="0 0 0"/>
      <geometry>
        <box size="${width} ${width} ${height1}"/>
      </geometry>
    </collision>

    <visual>
      <origin xyz="0 0 ${height1/2}" rpy="0 0 0"/>
      <geometry>
        <box size="${width} ${width} ${height1}"/>
      </geometry>
      <material name="orange"/>
    </visual>

    <inertial>
      <origin xyz="0 0 1" rpy="0 0 0"/>
      <mass value="1"/>
      <inertia
        ixx="1.0" ixy="0.0" ixz="0.0"
        iyy="1.0" iyz="0.0"
        izz="1.0"/>
    </inertial>
  </link>

<geometry>示例中使用<box>,也可以使用其他现有基础形状,对于复杂模型可以使用现有模型加载,如stl、dae等类型的3D模型文件,不同类型的有不同使用属性,在碰撞模型中需要考虑模型复杂程度,避免模型过于复杂,物理引擎计算困难,解决方法可以使用模型处理软件简化模型。惯性参数可以在SolidWorks等软件中获取。

  <geometry>
    <mesh filename="package://caster_description/mesh/caster_body_part_v2.stl" />
  </geometry>

对于joint需要添加的属性很少,一般会设置阻尼和摩擦。damping旋转阻尼,friction静摩擦,例如万向轮中垂直摩擦设置damping,limit标签也是经常使用的标签,关节位置,力,速度都可以控制。

    <joint name="support_wheel_body_joint" type="continuous">
      <origin xyz="0 0 ${height1/2}" rpy="0 0 0"/>
      <parent link="base_link" />
      <child link="link1" />
      <axis xyz="0 0 1" />
      <dynamics damping="0.01" friction="0.0"/>
      <limi
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值