ROS——Gazebo仿真——四轮⼩车(SmartCar)详细教程——urdf⽂件详解⽂章⽬录
1. Link元素结构
link元素描述了具有惯性,视觉特征和碰撞特性的刚体。简单的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>
长城suv汽车</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<cylinder radius="1" length="0.5"/>
</geometry>
</collision>
</link>
上述代码对应的结构图如下,在其中定义了惯性、视觉、碰撞特性,通常⼀个joint连接两个link。
2. link详细属性解析
name (必选)link⾃⼰的名字,⾃⼰任意指定,在这⾥名字为my_link 。inertial(可选元素)
origin(可选:如果未指定,则默认为identity)
这是惯性参考系相对于链路参考系的姿态。惯性参考系的原点需要位于重⼼处。惯性参考系的轴不需要与惯性的主轴对齐。
xyz(可选:默认为零向量)
表⽰ ,, 偏移量。
rpy(可选:如果未指定,则默认为identity)表⽰以弧度表⽰的固定轴滚动,俯仰和偏航⾓度。
mass 链接的质量由此元素的value属性表⽰
inertia
3x3转动惯量矩阵,以惯性框架表⽰。因为转动惯量矩阵是对称的,所以这⾥使⽤属性ixx,ixy,ixz,iyy,iyz,izz仅指定该矩阵的6个以上对⾓线元素。
visual (可选元素)
link的可视属性。此元素指定对象的形状(例如:⽴⽅体(box),圆柱(cylinder)等)以⽤于可视化⽬的。注意:同⼀链接可以存在多个visual标记实例。个⼈感觉该属性是必选属性,要想在仿真软件⾥看到该模型,就必须设置该属性。
骏捷cross怎么样name
指定链接⼏何的⼀部分的名称。不常⽤属性。
origin (optional: defaults to identity if not specified)
The reference frame of the visual element with respect to the reference frame of the link.
xyz(可选:默认为零向量)
表⽰,,偏移量。
rpy(可选:如果未指定,则默认为identity)表⽰以弧度表⽰的固定轴滚动,俯仰和偏航⾓度。
悦达起亚k3多少钱geometry (必选)视觉对象的形状。这可以是以下之⼀:
box (⽴⽅体)size属性包含框的三个边长。⽴⽅体的原点在它的中⼼。
cylinder (圆柱)指定半径和长度。圆柱的原点位于其中⼼,原点如图所⽰,其他⽴⽅体的原点类似。
sphere (球)指定半径。球体的原点位于其中⼼。
mesh 当想添加更为复杂的模型时,可以通过.stl
等mesh⽂件导⼊模型。
x y z x y z
material(可选)
视觉元素的材料。允许在顶层’robot’元素中指定’link’对象之外的材质元素。然后,您可以在链接元素中按名称引⽤材料。
name
材料的名称
color(可选)
rgba由四个数字组成的材料颜⾊,表⽰红⾊/绿⾊/蓝⾊/ alpha,每个数字的范围为[0,1]。alpha即⾊彩空间,也就是透明度/不透明度。
texture(可选)
dv3材质的纹理由⽂件名指定。
collision(可选)
链接的碰撞属性。请注意,这可能与链接的可视属性不同,例如,通常使⽤更简单的碰撞模型来减少计算时间。注意:同⼀链接可以存在多个collision标记实例。它们定义的⼏何的联合形成了链接的
碰撞表⽰。该属性主要是在模拟时模型会与其他模型发⽣碰撞,不设置该属性的话会出现两个模型相互穿过的情况,设置该属性后在geometry设定的形状内两个模型会发⽣碰撞。
name(可选)
指定链接⼏何的⼀部分的名称。这对于能够引⽤链接⼏何的特定位是有⽤的。
origin(可选:如果未指定,则默认为identity)
碰撞元素的参考系相对于链接的参考系。
xyz(可选:默认为零向量)
x y z
表⽰,,偏移量。
rpy(可选:如果未指定,则默认为identity)
表⽰以弧度表⽰的固定轴滚动,俯仰和偏航⾓度。
geometry
悍马车的标志
请参阅上述可视元素中的⼏何描述。
3. joint元素结构
joint元素描述了机器⼈关节的运动学和动⼒学,并且指定了关节的安全限制。
下⾯是⼀个使⽤joint元素的例⼦:
<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>
上述代码对应的结构图如下,在其中定义了⽗link、⼦link以及两者之间的链接状态。
4. Joint 详细属性解析joint元素中拥有两个属性:
name (必选)指定joint的名字(唯⼀的)
type (必选)指定joint的类型,有下列选项:revolute - 可以绕着⼀个轴旋转的铰链关节,有最⼤值和最⼩值限制。continuous - 连续型的铰链关节,可以绕⼀个轴旋转,没有最⼤值和最⼩值限制。prismatic - 滑动关节,可以沿着⼀个轴滑动,有最⼤值和最⼩值限制。
fixed - 这不是⼀个实际的关节,因为它⽆法运动,所有的⾃由度都被锁定。这种类型的关节不需要指定轴、动⼒学特征、标度和最⼤值最⼩值限制。floating - 这是⼀个具有6个⾃由度的关节。planar - 此关节在⼀个平⾯内运动,垂线是运动轴。
东风景逸x6origin (optional: defaults to identity if not specified)从parent link到child link的变换,joint位于child link的原点,具体如图所⽰。
xyz (optional: defaults to zero vector)
代表,, 轴⽅向上的偏移,单位⽶。
rpy (optional: defaults 'to zero vector 'if not specified)代表绕着固定轴旋转的⾓度:roll绕着x轴,pitch绕着y轴,yaw绕着z轴,⽤弧度表⽰。
parent (必选)
parent link的名字是⼀个强制的属性,是这个link在机器⼈结构树中的名字。 可以理解为parent是主题,child是固定在主体上的配件。
child> (必选)child link的名字是⼀个强制的属性,是这个link在机器⼈结构树中的名字。
axis (可选: defaults to (1,0,0))
joint的axis轴在joint的坐标系中。这是revolute joint旋转的轴,prismatic joint移动的轴,是planar joint的标准平⾯。这个轴在joint 坐标系中被指定。fixed和floating类型的joint不需要⽤到这个字段。
xyz (required)
x y z
xyz (required)
代表轴向量的 ,, 分量,这应该是⼀个标准化的向量。
calibration (可选)joint的参考点,⽤来矫正joint的绝对位置。
rising (可选)当joint正向运动时,参考点会触发⼀个上升沿。
falling (可选)当joint正向运动时,参考点会触发⼀个下降沿。
dynamics (可选)该元素⽤来指定joint的物理性能。它的值被⽤来描述joint的建模性能,尤其是在仿真的时候。
damping (可选, defaults to 0)
joint的阻尼值。(移动关节为,旋转关节为friction (可选, defaults to 0)
joint的摩擦⼒值(移动关节为, 旋转关节为).
limit (只有 type 为 revolute and prismatic 时必选)该元素包含以下属性:
lower (可选, defaults to 0)指定joint运动范围下界的属性(revolute joint的单位为弧度,prismatic joint的单位为⽶),连续型的joint忽略该属性。
upper (可选, defaults to 0)指定joint运动范围上界的属性(revolute joint的单位为弧度,prismatic joint的单位为⽶),连续型的joint忽略该属性。
effort (必选)
该属性指定了joint运⾏时的最⼤的⼒。 (applied effort effort )。
velocity (必选)该属性指定了joint运⾏时的最⼤的速度。
mimic (可选) (New with ROS Groovy. See issue)
这个标签⽤于指定已定义的joint来模仿已存在的joint。这个joint的值可以⽤以下公式计算 value = multiplier * other_joint_value +offset. 有如下可选的属性: joint (required)需要模仿的joint的名字。
multiplier (可选)指定上述公式中的乘数因⼦。
offset (可选)指定上述公式中的偏移项。默认值为0(revolute joint的单位为弧度,prismatic joint的单位为⽶)。
safety_controller (可选)该元素包含下列属性:
soft_lower_limit (可选, defaults to 0)该属性指定了joint安全控制边界的下界,是joint安全控制的起始限制点。这个值需要⼤于上述的limit中的lower值。 更多细节 。soft_upper_limit (可选, defaults to 0)该
属性指定了joint安全控制边界的上界,是joint安全控制的起始限制点。这个值需要⼩于上述的limit中的upper值。 更多细节 。k_position (可选, defaults to 0)本属性⽤于说明位置和速度之间的关系。 更多细节 。
k_velocity (必选)
本属性⽤于说明⼒和速度之间的关系。 更多细节 。5. SmartCar——urdf x y z m N ⋅s rad
N ⋅m ⋅s
N N ⋅m ∣∣<∣∣
发布评论