ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

ODE integration method world VS quick in gazebo ROS Fuerte

asked 2012-10-24 06:16:59 -0500

this post is marked as community wiki

This post is a wiki. Anyone with karma >75 is welcome to improve it.

Hi all,

I have a really weird situation. I created both a quadrotor model and mobile robot one. My problem is that if I use the method "quick" it does not work with my position quadrotor controller since it follows on ground (while if I set the "world" one it works perfectly). On the contrary, if I set the "world" method when I use the ground robot, it follows on the ground and the simulation crashes. Alternatevely, it crashes when the simulation starts (it may happen that the simulation crashes when the robot is falling down).

My opinion is that there is something strange during the contact ground-robot. Every suggestion is welcome,

Neostek

P.S. In the following my world file:

<gazebo version="1.0"> <world name="default"> <scene> <ambient rgba="0.5 0.5 0.5 1"/> <background rgba="0.5 0.5 0.5 1"/> <shadows enabled="false"/> </scene>

<physics type="ode">
  <gravity xyz="0 0 -9.8"/>
  <ode>
    <solver type="world" dt="0.001" iters="10" sor="1.3"/>
    <constraints cfm="0.0" erp="0.2" contact_max_correcting_vel="100.0" contact_surface_layer="0.001"/>
  </ode>
</physics>

<!-- Ground Plane -->
<model name="plane1_model" static="true">
  <link name="body">
    <collision name="geom_1">
      <geometry>
        <plane normal="0 0 1"/>
      </geometry>
      <surface>
        <friction>
          <ode mu="10.0" mu2="10.0" fdir1="0 0 0" slip1="0" slip2="0"/>
        </friction>
        <bounce restitution_coefficient="0" threshold="1000000.0"/>
        <contact>
          <ode soft_cfm="0" soft_erp="0.2" kp="1e10" kd="1" max_vel="100.0" min_depth="0.0001"/>
        </contact>
      </surface>
    </collision>

    <visual name="visual_1" cast_shadows="false">
      <geometry>
        <plane normal="0 0 1"/>
      </geometry>
      <material script="Gazebo/Grey"/>
    </visual>
  </link>
</model>

<light type="directional" name="my_light" cast_shadows="false">
  <origin pose="0 0 30 0 0 0"/>
  <diffuse rgba=".9 .9 .9 1"/>
  <specular rgba=".1 .1 .1 1"/>
  <attenuation range="20"/>
  <direction xyz="0 0 -1"/>
</light>
<plugin name="joint_trajectory_plugin" filename="libgazebo_ros_joint_trajectory.so"/>

</world> </gazebo>

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
0

answered 2012-10-26 05:08:43 -0500

this post is marked as community wiki

This post is a wiki. Anyone with karma >75 is welcome to improve it.

[Solved] The trick is to set "quick" method with contact_max_correcting_vel="10000.0" instead of standard 100. It solves the crash problem and the robot is able to move on the ground.

edit flag offensive delete link more

Question Tools

1 follower

Stats

Asked: 2012-10-24 06:16:59 -0500

Seen: 847 times

Last updated: Oct 26 '12