Move the youbot using its wheels #5

micpalmia opened this Issue Sep 12, 2013 · 3 comments


None yet

2 participants


At the moment, the robot is floating on the ground using the gazebo plugin.

The structure for the wheels, anyway, is ready to be used, and code from the original repository can maybe be used to move the robot using its own wheels.


It's a really interesting simulation issue.

First of all, let's a look at the wheels. They are not standard wheels, they are mecanum wheels. This kind of wheels help the robot to move and rotate easily in any directions, even in congested area. The movement come from the resulting rotation speeds of the wheels, which are independent. I have found I nice explanation of the relationship between the wheels rotation and the resulting movement on this lego page. On the videos, the youBot looks like gliding on the ground.

From a design point of view, this is convenient, because it is similar to a planar joint + a revolute joint between the base and the ground. Very easy to control.

From a simulation point of view, it is a nightmare.

I doubt that the repo from youBot or WPI-RAIL did the job, because they involve casters. And there is no casters on the real KUKA youBot. If you have a look at their teleop program, you will see that this program align the wheels before the rotation, which is not the design of a mecanum wheel at all. With the mesh of the wheels, you will see it. This not natural (this is also why the wheels solid shape is a sphere). And even worst, the the rotation is therefore not supported. So for me, this model is really poor.

I raised the question on Gazebo answers. Someone suggested to use this planar controller. I considered it as a second choice, but finally, this is very close to the behavior of the real mecanum wheels, as you define the x/y velocity and rotation, which can be directly linked to the wheel individual speeds. I have remove the friction between the wheels and the ground.

On the real robot, this x/y speed and rotation translation to individual wheels speeds would also be very convenient.

A visually better solution would be to add the mesh of the wheels, and rotate them according to the planar messages. No time to work on this.

Finally, if you are looking for a very physical solution, I have found this link, where it has been done in another simulator, by mixing kinematics and dynamics solutions.

That would be really great to have more realistic solution. For my requirement, the planar controller is enough.


Last comment, I had changed the caster joints to fixed joints. The wheels moved otherwise, and this is visible with the mesh.


Branching this to issue #9

On Fri, Sep 13, 2013 at 11:37 AM, Arn-O wrote:

Last comment, I had changed the caster joints to fixed joints. The wheels
moved otherwise, and this is visible with the mesh.

Reply to this email directly or view it on GitHub

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment