1. 碰撞属性
碰撞模型和视觉模型在许多情况下可能会有所不同,尽管它们代表了同一个物体或机器人部件。下面是这两者之间的一些主要差异和原因:
1.1. 精度与复杂性
-
视觉模型: 视觉模型主要用于渲染和可视化。它们通常更精确、更复杂,并包括更多的几何和纹理细节,以便在模拟或可视化中更真实地表示物体的外观。
-
碰撞模型: 碰撞模型用于碰撞检测和物理仿真。为了计算效率,它们通常更简单、更抽象,并可能仅由基本几何形状(如方块、球体、圆柱体等)组成。
1.2. 计算效率
-
碰撞检测是运动规划和仿真中的计算密集任务。使用更简单的碰撞模型可以显著提高计算效率和响应速度。
-
如果碰撞模型和视觉模型一样复杂,那么在实时环境中进行碰撞检测可能会变得非常耗时。
1.3. 功能需求
-
在某些情况下,碰撞模型和视觉模型可能会相同,特别是当准确的碰撞检测对于应用至关重要时,例如精密操纵任务。
-
在其他情况下,为了计算效率,可以牺牲一些碰撞检测的准确性,使用更简单的碰撞模型。
1.4 总结
虽然碰撞模型和视觉模型可以是相同的,但在许多情况下,它们会有所不同,以平衡准确性和计算效率。选择如何定义这些模型取决于具体应用的需求和约束。在诸如机器人操纵、路径规划和仿真等领域,了解并合理设置这两种模型是关键的。
2. 物理属性
更改后
<link name="base_link">
<visual>
<geometry>
<cylinder length="0.6" radius="0.2"/>
</geometry>
<material name="blue"/>
</visual>
<collision>
<geometry>
<cylinder length="0.6" radius="0.2"/>
</geometry>
</collision>
<inertial>
<mass value="10"/>
<inertia ixx="1.0" ixy="0.0" ixz="0.0" iyy="1.0" iyz="0.0" izz="1.0"/>
</inertial>
</link>
更改前
<link name="base_link">
<visual>
<geometry>
<cylinder length="0.6" radius="0.2"/>
</geometry>
<material name="blue"/>
</visual>
2.1 Inertia 惯性
- mass 质量
质量的单位以千克为单位。
- inertia matrix 惯性矩阵
旋转惯性矩阵由惯性元素指定。由于这是对称的,因此它只能用 6 个元素来表示
2.2 惯性矩阵的组成
惯性矩阵通常表示为一个对称矩阵。对于沿三个主轴的转动惯量,惯性矩阵可以表示为:
$\begin{bmatrix}I\_x&0&0\\0&I\_y&0\\0&0&I\_z\end{bmatrix}$
x,y,z分别表示绕对应轴的转动惯量.
1 .如果常用几何形状(如圆柱、球体、立方体等),可以使用已知的转动惯量公式计算.
-
对于复杂的形状,可以使用数值方法(如有限元分析)来计算转动惯量。
-
在某些情况下,也可以通过实验测量刚体的转动惯量。
还有以下一些没有接触到
2.3 Contact Coefficients 接触系数
mu——摩擦系数
kp——刚度系数
kd——阻尼系数
2.4 Joint Dynamics 联合动力学
friction 摩擦力 - 物理静摩擦力
damping 阻尼 - 物理阻尼值