赞
踩
实际物理世界中的物体需要遵守物理定律,机器人也不例外,在urdf中我们同样可以给机器人添加相关属性以模拟对应真实物理世界中的情况。
碰撞属性指的是该物体的最小安全物理空间,站在机器人的角度,这个最小安全空间就是自身所占空间。
前面的urdf文件中,对于机器人部件(link)我们只给出了visual标签,定义了其形状、颜色,现在我们可以将碰撞属性加入。[原文件:07-physics.urdf]
- <link name="base_link">
- <visual>
- <geometry>
- <cylinder length="0.6" radius="0.2"/>
- </geometry>
- <material name="blue">
- <color rgba="0 0 .8 1"/>
- </material>
- </visual>
- <collision>
- <geometry>
- <cylinder length="0.6" radius="0.2"/>
- </geometry>
- </collision>
- </link>
在许多情况下,我们是希望碰撞几何体和原点要与机器人本身视觉几何体和原点保持一致,但下面的两种情况除外:
此处的物理属性主要指的是惯性(inertia),初中物理我们学过惯性与质量成正比,在机器人动力学中,惯性是机器人机构动力学特性的一个重要因素。由于机器人机构通常包含多个运动部件,这些部件在运动时会产生惯性力,这些惯性力会影响机器人的运动状态和控制精度。因此,在机器人动力学建模和分析中,需要充分考虑惯性因素的影响,以得到更准确的机器人动力学模型和控制算法。计算还是相当复杂的存在。
在Gazebo中也是需要提供机器人的惯性属性来仿真模拟真实情况。
每个被模拟的连接元素(link)都需要一个惯性(inertial)标签。下面是一个简单示例。
- <link name="base_link">
- <visual>
- <geometry>
- <cylinder length="0.6" radius="0.2"/>
- </geometry>
- <material name="blue">
- <color rgba="0 0 .8 1"/>
- </material>
- </visual>
- <collision>
- <geometry>
- <cylinder length="0.6" radius="0.2"/>
- </geometry>
- </collision>
- <inertial>
- <mass value="10"/>
- <inertia ixx="1e-3" ixy="0.0" ixz="0.0" iyy="1e-3" iyz="0.0" izz="1e-3"/>
- </inertial>
- </link>
inertial标签与visual及collision标签等级,也是link标签的子标签;
inertial标签中的mass属性为质量,单位为千克;
3x3 的转动惯量矩阵由惯性元素指定。由于这个矩阵是对称的,因此它可以用仅6个元素来表示,如下所示。
ixx | ixy | ixz |
ixy | iyy | iyz |
ixz | iyz | izz |
这里,3x3的转动惯量矩阵描述了一个物体在空间三个维度上的转动惯量特性。由于矩阵是对称的(即I_xy = I_yx, I_xz = I_zx, I_yz = I_zy),我们只需要存储对角线上的3个元素(表示绕x、y、z轴的转动惯量)以及上三角(或下三角)的3个元素(表示不同轴之间的惯性积)即可。因此,总共需要6个元素来表示这个矩阵。
我们也可以定义连杆在相互接触时如何表现。这是通过collision
标签的一个子元素contact_coefficients
来完成的。其需要指定三个属性:
在urdf中可以通过动力学标签来定义关节的移动属性,这里有两个属性:
如果不指定具体值,这些系数值默认为0.
在纯URDF(即不包括Gazebo特定标签)的领域中,还有两个剩余的标签用于帮助定义关节:calibration
和safety_controller
。但是,需要澄清的是,在标准的URDF规范中,calibration
和safety_controller
并不是标准的标签。URDF(Unified Robot Description Format)主要用于描述机器人的结构、尺寸、质量和关节等物理特性,但不直接涉及控制、校准或安全控制器的配置。
然而,在某些机器人软件框架或应用中,可能会扩展URDF以包含这些额外的信息。例如,calibration
标签可能被用于指定关节校准的参数,而safety_controller
可能用于描述与关节安全相关的控制器参数或配置。
但注意,这些并不是URDF规范的标准部分,而是特定于某个软件框架或应用的扩展。如果在某个特定的机器人软件或仿真环境中看到了这些标签,应该查阅该软件的文档以了解这些标签的具体含义和用法。[参考教程]
本篇完。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。