Can we make a 4-independent-wheel robot in Gazebo?
For Gazebo, in case of a 4-separated-wheel robot (such as Pioneer2at which has a motor responsible for each wheel). Is it possible to create a controller which can control each wheel independently?
My problem is for example if I use differential_position2d as a controller to control Pioneer2at, both front and rear wheels on the same side of the robot are just turning at the same speed and direction.
So my questions are
1. Is it possible to set velocity of each wheel separately?
2. In order to do this, would this mean I have to create a new controller which can separately set up velocity for each wheel (Probably modify differential_position2d)?
3. If velocity of each wheel can be set independently, can Gazebo simulate the real effect which are going to occur? (For example, if we set velocity of the front and rear wheels on the same side of the robot differently - such as front wheel:forward 10 cm/s but rear wheel:backward 5 cm/s, it should make the robot moving differently from if we set them the same velocity)
To give you guys some more details, I would like to create a robot (probably 6-wheel robot) which each wheel is controlled separately by a motor. Then at runtime, I will inject fault to some wheels (probably by making some wheel stop working) and let the robot independently change velocity of each remaining wheel in order to recover from the fault occurred.
Do you guys have any idea is it possible? If it is possible, can you give me some advice what I should looking at in order to make it possible?