ROS学习(九):ROS URDF-link
描述連桿的運動學和動力學性質,描述包含慣量矩陣、可視化信息等的剛體連桿。
下面是一個簡單的例子:
<link name="my_link"><inertial><origin xyz="0 0 0.5" rpy="0 0 0"/><mass value="1"/><inertia ixx="100" ixy="0" ixz="0" iyy="100" iyz="0" izz="100" /></inertial><visual><origin xyz="0 0 0" rpy="0 0 0" /><geometry><box size="1 1 1" /></geometry><material name="Cyan"><color rgba="0 1.0 1.0 1.0"/></material></visual><collision><origin xyz="0 0 0" rpy="0 0 0"/><geometry><cylinder radius="1" length="0.5"/></geometry></collision></link>屬性
屬性:name
連桿的名字。
組件:
< inertial>
連桿的轉動慣量矩陣
1)、 < origin> (optional: defaults to identity if not specified)
定義轉動慣量矩陣參考坐標系相對于連桿坐標系的變換矩陣。轉動慣量矩陣參考坐標系的原點
必須在連桿重心處,其坐標軸可與慣性主軸不平行。
xyz (optional: defaults to zero vector)原點偏置量
rpy (optional: defaults to identity if not specified)原點坐標軸的RPY角度。
2)、< mass>
連桿的質量
3)、< inertia>
連桿的慣性張量矩陣。由六個獨立的量組成:ixx, ixy, ixz, iyy, iyz, izz
< visual> (optional)
連桿的可視化屬性。用來指定連桿顯示的形狀(正方形、長方形、球形等)。同一連桿可以由
多個形狀組成。
1)、name (optional)
連桿幾何形狀的名稱。
2)、 < origin> (optional: defaults to identity if not specified)
可視化連桿組件的參考坐標系相對于連桿坐標系的參考坐標系。
xyz (optional: defaults to zero vector)原點偏置量
rpy (optional: defaults to identity if not specified)原點坐標軸的RPY角度。
3)、 < geometry> (required)
可視化對象的形狀。可選項為:
< box>
長方體,包括長、寬、高,原點 origin 是其中心。
< cylinder>
圓柱體,包括半徑、長度,原點 origin 在其中心。
< sphere>
球體,包括半徑,原點 origin 在其中心。
< mesh>
網格,由文件決定,同時又由 scale 界定其對齊邊界。推薦使用 Collada .dae 文件。 .stl
文件也支持。必須是一個本地文件。
4)、 < material> (optional)
可視化組件的材料。可以在頂層 ‘robot’ 組件中定義,然后在 link 中通過其名字引用。
name
材料的名字。
< color> (optional)
rgba
顏色,,由 red/green/blue/alpha 組成,每一個數字在 [0,1] 內。
< texture> (optional)
材料的質感,由文件定義。
< collision> (optional)
連桿的碰撞屬性。碰撞屬性和連桿的可視化屬性不同,簡單的碰撞模型經常用來簡化計算。同
一個連桿可以有多個碰撞屬性標簽。連桿的碰撞屬性表示由其定義的幾何圖形集構成。
1)、name (optional)
一部分連桿幾何形狀的名稱
2)、< origin> (optional: defaults to identity if not specified)
碰撞組件的參考坐標系相對于連桿坐標系的參考坐標系。
xyz (optional: defaults to zero vector)原點偏置量
rpy (optional: defaults to identity if not specified)原點坐標軸的RPY角度。
3)、
查看上述 < visual> -> < geometry> 部分的相關解釋。
碰撞檢測
使用 ROS motion planning 功能包。
多碰撞屬性剛體實例:
如果控制器需要碰撞檢測,可以在 < collision> 組件后面添加 < collision_checking> 標簽
<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> 《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的ROS学习(九):ROS URDF-link的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ROS学习(八):ROS URDF-tr
- 下一篇: ROS学习(十):ROS URDF-jo