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

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

<link name="my_link">
  

  <gazebo>
    <mu1>0.5mu1> 
    <mu2>0.3mu2> 
  gazebo>

  
link>

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

你可能感兴趣的:(开发,机器人)