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

Gazebo controller for skid steering

asked 2011-05-30 21:52:42 -0500

Ulrich gravatar image

updated 2011-06-07 00:13:59 -0500

I am trying to build an simulation environment for the Seekur Jr. robot, and am currently trying to set up the navigation stack for it. This model, along with e.g. Pioneer 3-AT, uses skid steering (in-place rotation) which slips the wheels. I was wondering if any work has been done to implement a controller for this, or if anyone have any insight as to how such a controller should be set up wrt. odometry.

My current attempt has been to modify the erratic_gazebo_plugins/libdiffdrive_plugin to use 4 wheels, i.e. assigning 4 joints to the controller and activate the motor for two wheels at the same time (The actual robot wheels are connected by rubber chain). This obviously makes the odometry readings so wrong that they go out of bonds for the amcl approximations. I tried modelling it as a "2 wheel" differential drive with a wheel in the exact center of the 4 wheels, but am unsure if this is the right approach.

The strange thing is, that when I simulate the robot and activate Odometry readings in rviz, they seem very right, even if they should not be. It's basically the exact same code as for the 2wheel differential. Driving it around with manual cmd_vel messages seems okay, and Odometry readings are well, but trying to give move_base a goal sends the robot in a circle that does not even come close to the goal (which leads me to believe that odometry/localization is off).

My question boils down to this: Are there any skid controllers implemented for Gazebo as plugins or as stand-alone nodes, inwhich odometry calculations are stable? Is there anyone out there that have experience in the making of such a controller?

edit retag flag offensive close merge delete

2 Answers

Sort by » oldest newest most voted

answered 2011-06-17 11:59:12 -0500

nkoenig gravatar image
edit flag offensive delete link more

answered 2015-07-10 11:32:05 -0500

ReedHedges gravatar image

updated 2015-07-10 11:36:16 -0500

I know this is an old question but I just happened to find it while searching for info on Gazebo skid steer control.

Gazebo does now have a built-in skid steer controller. See for how to configure this in the robot URDF model.

See Pioneer 3 AT for an example:

I have just started working on a URDF for Seekur Jr with Gazebo support. Did you already create one?

I would expect the diff drive to work almost the same but with unrealistically small error. Actually the slip/error on the real Seekur Jr. will not be as bad as the Pioneer 3-AT since the tires don't have quite as much friction/contact area as on the wide flat P3AT tires, and the Seekur Jr. motors have a lot more torque as well.

edit flag offensive delete link more

Question Tools



Asked: 2011-05-30 21:52:42 -0500

Seen: 5,984 times

Last updated: Jul 10 '15