ROS学習--URDFファイルの解析

アウトライン

[ URDF公式ドキュメント ]

  1. センサ/提案
    そのようなレーダーやカメラなどのセンサが記載さ
  2. リンク
    キネマティクスと動的パラメータはリンクを説明します
  3. トランスミッション
    ジョイントとドライブとの間説明変換
  4. 関節の
    運動学および動的パラメータの関節
  5. ガゼボは、
    シミュレーションの内容を説明し、フリクションダンパー
  6. センサ
    例えばレーダやカメラなどのセンサ説明、
  7. model_state
    モデルの現在の状態を記述する
  8. モデル化
    運動学的モデルパラメータと動的パラメータを

具体的な解析モジュール

ことに留意されたい
等しくないによるタグラベルmove_group URDF呼び出し可能なファイルは、すなわち、タグは無効move_group部ので、無視このラベルの一部であるか、またはデータのインポートデータを定義するために失敗を引き起こします。

1、リンク

ここに画像を挿入説明

プロパティ

  • 名前(必須)
    • リンク名

サブエレメント

  • <慣性>(オプション)
    • 慣性プロパティリンク
    • <起源>(可选、アイデンティティデフォルト指定されていない場合)
      • 軸は慣性の主軸に平行で定義されたシステム・リンク慣性基準座標系を基準に相対座標、重心の座標は、リンクを定義する必要があることはできません。
      • XYZ(零のベクトルオプション、デフォルト)
        • ショー バツ から X、Y、Z メートルで、方向オフセット。
      • RPY(可选:指定されていない場合は、IDがデフォルト)
        • 回転軸RPYラジアンの方向を示しています。
    • <質量>
      • リンク品質属性
    • <慣性>
      • IXX、IXY、ixz、IYY、iyz、Izzの:6つの独立した量からなる3×3の回転慣性行列、。
  • <ビジュアル>(オプション)
    • リンクの視覚的な属性。表示リンク、同じリンクを特定する(等矩形、円筒形)の形状は、ロッド状エレメントの複数二つ形成され、視覚的要素が複数存在してもよいです。一般に、より複雑なモデルがsoildworkのSTLによって呼び出すことができ、このようなエンドエフェクタなどを追加するなどの単純な形状を直接書き込むことができ、描画生成。理論モデルの位置、ここで実際のモデルギャップの幾何学的形状に応じて調整することができます。
    • <NAMEL> オプション)
      • リンクジオメトリに名前を付けます。
    • <起源>(可选、アイデンティティデフォルト指定されていない場合)
      • リンクのジオメトリの座標系に対する座標系。
      • XYZ(オプション:ゼロベクトルデフォルト)
        • ショー バツ から X、Y、Z メートルで、方向オフセット。
      • RPY(オプション:アイデンティティデフォルト指定されていない場合)
        • 回転軸RPYラジアンの方向を示しています。
    • <ジオメトリ>(必須)
      • 以下のいずれかとすることができるオブジェクトの可視化形状:
      • <ボックス>
        • 長方形の要素は長さ、幅と高さが含まれています。中央の原点。
      • <シリンダ>
        -シリンダ要素は、半径の長さを含みます。起源のセンター。
        ここに画像を挿入説明
      • <球>
        • スフィア要素は、半径が含まれています。中央の原点。
      • <メッシュ>
        • その境界を定義するために使用されるスケールを提供しながらグリッドは、ファイルによって決定されます。Collada .DAEファイルを推奨し、また.STLファイルをサポートしていますが、ローカルファイルでなければなりません。
    • <資料の>(オプション)
      • 可視化材料アセンブリ。あなたは、外側リンクラベルで定義することができますが、ラベルは、リンク、リンク需要の参照名の外で定義されている場合、ラベルは、ロボットでなければなりません。
      • <カラー>(オプション)
        • 色、サイズ範囲[0,1]に赤/緑/青/アルファ組成物。
      • <テクスチャ>(オプション)
        • ファイルで定義された材料特性、。
  • <衝突>(オプション)
    • 衝突属性リンク。異なる視覚属性とリンク衝撃特性は、簡単な衝突モデルは、多くの場合、計算を簡略化するために使用されます。リンクは複数の同一の属性タグ衝突、定義された幾何学的構成で示されるリンクセットの衝突特性を有していてもよいです。
    • 名前(オプション)
      • リンクジオメトリの名前を指定します。
    • <起源>(可选、アイデンティティデフォルト指定されていない場合)
      • 基準座標系のリンクの基準座標系へのシステムクラッシュアセンブリ相対座標。
      • XYZ(ゼロベクトルオプション、デフォルト)
        • ショー バツ から X、Y、Z メートルで、方向オフセット。
      • RPY(可选、アイデンティティデフォルト指定されていない場合)
        • 回転軸RPYラジアンの方向を示しています。
    • <形状>
      • 同じ要素の幾何学的形状の上記の説明

  <link name="torso">
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package://robot_description/meshes/base_link.DAE"/>
      </geometry>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="-0.065 0 0.0"/>
      <geometry>
        <mesh filename="package://robot_description/meshes/base_link_simple.DAE"/>
      </geometry>
    </collision>
    <collision_checking>
      <origin rpy="0 0 0" xyz="-0.065 0 0.0"/>
      <geometry>
        <cylinder length="0.7" radius="0.27"/>
      </geometry>
    </collision_checking>
    <inertial>
      ...
    </inertial>
  </link>  

図2に示すように、ジョイント

ここに画像を挿入説明

プロパティ

  • 名前(必須)
    関節の名前を指定します(のみ)
  • タイプ(必須)は
    、関節のタイプを指定し、次のオプションがあります。
    • 、回転:回転関節のヒンジ軸を中心に回転可能で、最大値と最小値の限界を有しています。
    • 連続:回転軸を中心に回転可能にヒンジジョイント、連続、全く最大値と最小値の制限は存在しません。
    • 角柱:最大および最小の限界と、シャフトに沿って摺動可能な接合部を、スライド。
    • 固定:それは行使することができないので、これはすべての自由度がロックされ、実際の関節ではありません。関節のこのタイプは、最小値と最大スケールを制限する、軸、動特性を指定する必要はありません。
    • フローティング:これは6つの自由度を有する関節です。
    • 平面:平面におけるこの関節運動シャフトの上下動。

サブエレメント

  • <origin> (可选,defaults to identity if not specified)
    从parent link到child link的变换,joint位于child link的原点,修改该参数可以调整连杆的位置,可用在调整实际模型与理论模型误差,但不建议大幅度修改,因为该参数影响连杆stl的位置,容易影响碰撞检测效果,具体如图所示。

    • xyz (可选: 默认为零向量)
      代表 バツ から x,y,z 轴方向上的偏移,单位米。
    • rpy (可选: 默认为零向量)
      代表绕着固定轴旋转的角度:roll绕着x轴,pitch绕着y轴,yaw绕着z轴,用弧度表示。
  • <parent> (必需)

    • parent link的名字是一个强制的属性。
    • link
      • parent link的名字,是这个link在机器人结构树中的名字。
  • <child> (必需)

    • child link的名字是一个强制的属性。
    • link
      • child link的名字,是这个link在机器人结构树中的名字。
  • <axis>(可选: 默认为(1,0,0))

    • joint的axis轴在joint的坐标系中。这是旋转轴(revolute joint),prismatic joint移动的轴,是planar joint的标准平面。这个轴在joint坐标系中被指定。修改该参数可以调整关节的旋转所绕着的轴,常用于调整旋转方向,若模型旋向与实际相反,只需乘-1即可。固定(fixed)和浮动(floating)类型的joint不需要用到这个元素。
    • xyz(必需)
      • 代表轴向量的 バツ から x,y,z 分量,为标准化的向量。
  • <calibration> (可选)

    • joint的参考点,用来矫正joint的绝对位置。
    • rising (可选)
      • 当joint正向运动时,参考点会触发一个上升沿。
    • falling (可选)
      • 当joint正向运动时,参考点会触发一个下降沿。
  • <dynamics>(可选)

    • 该元素用来指定joint的物理性能。它的值被用来描述joint的建模性能,尤其是在仿真的时候。
    • damping(可选,默认为0)
      • joint的阻尼值。(移动关节为 N S メートル \frac{N\cdot s}{m} ,旋转关节为 N メートル S R A d \frac{N\cdot m\cdot s}{rad} )
    • friction(可选,默认为0)
      • joint的摩擦力值(移动关节为 N N ,旋转关节为 N m N \cdot m )
  • <limit> (当关节为旋转或移动关节时为必需)

    • 该元素为关节运动学约束。
    • lower (可选, 默认为0)
      • 指定joint运动范围下界的属性(revolute joint的单位为弧度,prismatic joint的单位为米),连续型的joint忽略该属性。
    • upper (可选, 默认为0)
      • 指定joint运动范围上界的属性(revolute joint的单位为弧度,prismatic joint的单位为米),连续型的joint忽略该属性。
    • effort (必需)
      • 该属性指定了joint运行时的最大的力。详见安全限制.
    • velocity (required)
      • 该属性指定了joint运行时的最大的速度。详见安全限制.
  • <mimic>(可选)

    • 这个标签用于指定已定义的joint来模仿已存在的joint。这个joint的值可以用以下公式计算,此元素不在move_group中启用,使用会导致报错。
      value = multiplier * other_joint_value + offset.
    • joint(可选)
      • 需要模仿的joint的名字。
    • multiplier(可选)
      • 指定上述公式中的乘数因子。
    • offset(可选)
      • 指定上述公式中的偏移项。默认值为0(revolute joint的单位为弧度,prismatic joint的单位为米)。
  • <safety_controller> (可选)

    • 该元素为安全控制限制,此元素下数据会读入到move_group中,但实际上时无效,move_group会跳过此处限制直接读取limit下的参数内容,同时设置该元素有几率会导致规划失败。
      • soft_lower_limit (可选, 默认为0)
        • 该属性指定了joint安全控制边界的下界,是joint安全控制的起始限制点。这个值需要大于上述的limit中的lower值。更多细节详见安全限制
      • soft_upper_limit (可选, 默认为0)
        • 该属性指定了joint安全控制边界的上界,是joint安全控制的起始限制点。这个值需要小于上述的limit中的upper值。更多细节详见安全限制
      • k_position(0オプション、デフォルト)
        • この属性は、位置と速度との関係を説明するために使用されます。詳細については参照セキュリティ制限を
      • k_velocity(必須)
        • この属性は、力と速度との関係を記述するために使用されます。詳細については参照セキュリティ制限を

 <joint name="my_joint" type="floating">
    <origin xyz="0 0 1" rpy="0 0 3.1416"/>
    <parent link="link1"/>
    <child link="link2"/>
    
    <calibration rising="0.0"/>
    <dynamics damping="0.0" friction="0.0"/>
    <limit effort="30" velocity="1.0" lower="-2.2" upper="0.7" />
    <safety_controller k_velocity="10" k_position="15" soft_lower_limit="-2.0" soft_upper_limit="0.5" />
 </joint>

おすすめ

転載: blog.csdn.net/Kalenee/article/details/86485565