< >
Home » ROS2与Gazebo11入门教程 » ROS2与Gazebo11入门教程-摩擦(Friction)

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>

参考:

纠错,疑问,交流: 请进入讨论区点击加入Q群

获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号


标签: ros2与gazebo11入门教程