Gazebo 中为地面和车轮添加摩擦属性

Gazebo 中为地面和车轮添加摩擦属性

Link friction properties not applied from URDF to Gazebo

SDFormat Specification

Adding friction to model wheels

Gazebo中模型自行滑动(后溜)的原因探究

移动机器人在仿真时,一旦以较大的速度启动,就会翘头导致翻车

考虑是没有地面摩擦力,因此尝试地面和车轮添加摩擦属性

地面的摩擦系数在 SDF 文件中配置,参考 cafe.world 编辑 empty.world

<sdf version='1.6'>
  <world name='default'>
    <model name='ground_plane'>
      <static>1</static>
      <link name='link'>
        <collision name='collision'>
          <geometry>
            <plane>
              <normal>0 0 1</normal>
              <size>100 100</size>
            </plane>
          </geometry>
          <surface>
            <friction>
              <ode>
                <mu>1</mu>
                <mu2>0.9</mu2>
              </ode>
              <torsional>
                <ode/>
              </torsional>
            </friction>
            <contact>
              <ode/>
            </contact>
            <bounce/>
          </surface>
          <max_contacts>10</max_contacts>
        </collision>
        <visual name='visual'>
          <cast_shadows>0</cast_shadows>
          <geometry>
            <plane>
              <normal>0 0 1</normal>
              <size>100 100</size>
            </plane>
          </geometry>
          <material>
            <script>
              <uri>file://media/materials/scripts/gazebo.material</uri>
              <name>Gazebo/Grey</name>
            </script>
          </material>
        </visual>
        <self_collide>0</self_collide>
        <kinematic>0</kinematic>
      </link>
    </model>
    <light name='sun' type='directional'>
      <cast_shadows>1</cast_shadows>
      <pose frame=''>0 0 10 0 -0 0</pose>
      <diffuse>0.8 0.8 0.8 1</diffuse>
      <specular>0.2 0.2 0.2 1</specular>
      <attenuation>
        <range>1000</range>
        <constant>0.9</constant>
        <linear>0.01</linear>
        <quadratic>0.001</quadratic>
      </attenuation>
      <direction>-0.5 0.1 -0.9</direction>
    </light>
    <gravity>0 0 -9.8</gravity>
    <magnetic_field>6e-06 2.3e-05 -4.2e-05</magnetic_field>
    <atmosphere type='adiabatic'/>
    <physics name='default_physics' default='0' type='ode'>
      <max_step_size>0.001</max_step_size>
      <real_time_factor>1</real_time_factor>
      <real_time_update_rate>1000</real_time_update_rate>
    </physics>
    <scene>
      <ambient>0.4 0.4 0.4 1</ambient>
      <background>0.7 0.7 0.7 1</background>
      <shadows>1</shadows>
    </scene>
    <spherical_coordinates>
      <surface_model>EARTH_WGS84</surface_model>
      <latitude_deg>0</latitude_deg>
      <longitude_deg>0</longitude_deg>
      <elevation>0</elevation>
      <heading_deg>0</heading_deg>
    </spherical_coordinates>
    </world>
</sdf>
  • <surface>: 定义碰撞元素的物理属性
    • <friction>: 描述碰撞表面的摩擦属性
      • <ode>: 使用ODE作为物理引擎
      • <mu>1.0</mu>: 静摩擦系数
      • <mu2>1.0</mu2>: 动摩擦系数
    • <contact>: 描述碰撞元素的接触属性
  • <max_contacts>10</max_contacts>: 设置最大接触数

在URDF中配置链接(link)的摩擦属性可以使用 <gazebo> 元素,其中包含 <mu1><mu2> 元素来指定静摩擦系数和动摩擦系数

<link name="my_link">
  <!-- 其他链接属性 -->

  <gazebo>
    <mu1>0.5</mu1> <!-- 静摩擦系数 -->
    <mu2>0.3</mu2> <!-- 动摩擦系数 -->
  </gazebo>

  <!-- 其他链接元素,如碰撞、视觉等 -->
</link>

为地面和车轮添加摩擦属性后效果几乎没有,将整车质量由 100kg 调整为 150kg,并且将 base_linksteer_link 的重心下移后,在 0.5m/s 及以下速度启动不会有翘头现象

  • 8
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Gazebo是一个用于仿真机器人和复杂系统的开源三维仿真环境。在Gazebo添加行人可以帮助我们模拟真实世界中的人类行为和交互。 在Gazebo中,我们可以通过一些步骤来添加行人。首先,我们需要创建一个行人模型。可以使用CAD软件或者从已有的行人库中选择一个合适的模型。接下来,我们需要定义行人的运动方式。这可以通过编写行人控制算法或者使用预定义的行人行走模式来实现。在定义好行人的模型和运动方式后,我们需要将其添加Gazebo的世界中。 可以通过创建行人的SDF(Simulation Description Format)文件来添加行人。SDF文件是一种用于描述仿真世界的XML格式文件。在SDF文件中,我们可以指定行人的名称、外观、运动方式、初始位置等属性。将行人的SDF文件保存到指定的目录后,我们可以通过调用Gazebo的API函数,在仿真环境中加载并显示这个行人模型。 在Gazebo添加行人后,我们可以通过一些方法来控制和观察他们的行为。例如,我们可以通过键盘或者游戏手柄来控制行人的运动,使其在仿真环境中行走、跑步或者停留。同时,我们还可以利用Gazebo提供的传感器模型,如摄像头或激光雷达,来观察行人的位置、速度等信息,并进行相关的分析和研究。 总之,通过在Gazebo添加行人,我们可以模拟真实世界中的行人行为和交互,从而更好地理解和研究人类活动。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Prejudices

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值