Gazebo | Ignition | Community
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Making wheel rotate freely and turn (four-wheeled robot)

Hi.

I want to create a four-wheeled robot, where two front wheels have fixed axis, but are rotated by a SetVelocity() command in a Gazebo plugin. The two rear wheels should rotate freely in the main axis, but I should be able to turn them in the other axis with the SetVelocity() command (for turning the robot).

I have tried to do this, but there seems to be a conflict between making the rear wheels rotate freely(motion in one axis of the joint) and being able to turn them according to my commands.

Here is the model of my robot : http://pastebin.com/1EEkfb6A Initially I have used it in the empty_world template that comes with ROS Groovy.

The main symptoms of the problem is that if I do SetMaxForce for any axis, then the main axis of the wheels is blocked and the wheels don't rotate.

Is it possible to give two axis of the same joint different properties? So that in one axis my wheel rotates freely and in the other I control it with SetVelocity. How?

Or why can't I achieve the desired result?

Any help is much appreciated.

I am testing this on Gazebo 1.2.5 that came with ROS Groovy.

Making wheel rotate freely and turn (four-wheeled robot)

Hi.

I want to create a four-wheeled robot, where two front wheels have fixed axis, but are rotated by a SetVelocity() command in a Gazebo plugin. The two rear wheels should rotate freely in the main axis, but I should be able to turn them in the other axis with the SetVelocity() command (for turning the robot).

I have tried to do this, but there seems to be a conflict between making the rear wheels rotate freely(motion in one axis of the joint) and being able to turn them according to my commands.

Here is the model of my robot : http://pastebin.com/1EEkfb6A (joint definition is in the bottom). Initially I have used it in the empty_world template that comes with ROS Groovy.

The main symptoms of the problem is that if I do SetMaxForce for any axis, then the main axis of the wheels is blocked and the wheels don't rotate.

Is it possible to give two axis of the same joint different properties? So that in one axis my wheel rotates freely and in the other I control it with SetVelocity. How?

Or why can't I achieve the desired result?

Any help is much appreciated.

I am testing this on Gazebo 1.2.5 that came with ROS Groovy.