ROS2与Gazebo11入门教程-摩擦(Friction)
说明:
- 介绍如何使用物理引擎来实现期望的行为
引言
Gazebo的一个核心组件就是物理引擎
Gazebo中的每个物理引擎(如ODE,Bullet,Simbody,DART)都具有不同的摩擦模型。请参阅SDF参数以获取可用摩擦参数的完整列表
摩擦的工作原理
当两个物体碰撞时,例如一个球在某个平面上滚动,就会产生摩擦项。在ODE中,摩擦由两部分组成:“mu”和“mu2”,其中:
“mu”是第一摩擦方向的库仑摩擦系数;
“mu2”是第二摩擦方向(垂直于第一摩擦方向)的摩擦系数。
ODE将自动计算第一和第二摩擦方向。注意,您可以手动指定SDF中第一摩擦方向,但是这项本领不在本节教程的讨论范围之内。
发生碰撞的两个物体分别指定“mu”和“mu2”。Gazebo将从两个碰撞物体中选择最小的“mu”和“mu2”。
“mu”和“mu2”值的有效范围是任何非负数,其中0表示无摩擦接触,而较大的值近似表示具有无限摩擦的表面。
各种材料的摩擦系数值表可以在工程手册或者在线参考资料中找到。
如何指定摩擦
最好始终参考SDF文档。
下面这个示例将会指定一个具有较小摩擦的方盒:
<model name="box">
<pose>0 0 0.5 0 0 0</pose>
<link name="link">
<collision name="collision">
<geometry>
<box>
<size>1 1 1</size>
</box>
</geometry>
<surface>
<friction>
<ode>
<mu>0.01</mu>
<mu2>0.01</mu2>
</ode>
</friction>
</surface>
</collision>
<visual name="visual">
<geometry>
<box>
<size>1 1 1</size>
</box>
</geometry>
</visual>
</link>
</model>
- 这是一个更为详尽的示例。
参考:
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号