Gazebo differential drive robot not turning

asked 2020-03-10 15:12:28 -0500

doekaschi gravatar image

I tried to model a differential drive robot in gazebo. As stated in my previous question I had issues with the wheels slipping, which I now have solved. However, now the robot is not able to turn. Whenever I publish the following message on /cmd_vel, the robot moves forward as expected.

linear: x:1 y:0 z:0 angular: x:0 y:0 z:0

However, when I change the message to the following, the robot stops:

linear: x:1 y:0 z:0 angular: x:0 y:0 z:1

I suppose this has to the with the same issue as the slipping wheels in my previous question. I tried using this robot as a reference but had no success. Did anyone have this issue yet?

edit retag flag offensive close merge delete

Comments

Hi @doekaschi,

Did you properly set up properly the contact parameters mu, mu1, kp and kd together with min_depth, sometimes the wheels are inside the floor and ODE calculates bad efforts when you move each wheel link.

Furthermore, check on Gazebo GUI the set of contacts joints between the floor and your robot to see if this is happening and set a proper inertial matrix for your robot to avoid any weird physics behavior.

In fact looking at your Xacro file this:

<mu>0.0</mu>
<mu2>0.0</mu2>
<slip1>1.0</slip1>
<slip2>1.0</slip2>

Should not be 0 for mu and 1 for slip since ODE is unable to calculate properly the efforts to apply to the caster wheel link in order to twist. I am sure tuning those parameter will be sufficient to solve the issue.

Weasfas gravatar image Weasfas  ( 2020-03-11 06:15:12 -0500 )edit