## Simulating a differential

Typically: "How do I... ", "How can I... " questions
vrepUser94
Posts: 9
Joined: 08 Jan 2018, 08:41

### Simulating a differential

Hello,

I would like to simulate a car like (all wheel drive) robot.
I set the target velocity of the drive shaft (i neglect effects of motor and gearing for simplification). In Order to simulate an appropriate dynamical behavior of the vehicle I need to implement a differential at both axles.

I don't want to simulate the differential with joints and stuff like it is done in the "manta" model, so this is actually no help for me.
I would prefer to somehow calculate the behavior of this mechanical object when driving in a curve.

My idea is something like:
• set the target velocity of the drive shaft
• use information from the simulation about friction ground/wheel OR use a force sensor between the wheel and the chassis in order to get resulting torque
• use the simulated torque and the target velocity to calculate the distribution of rpm between the two wheels on the axles
• set the calculated velocities of the different wheels
Any ideas how I could handle this problem. It is pretty important for my simulation to get realistic dynamic behavior. Therefore I would be happy about every kind of help!

My setup:
I use ROS kinetic to set all the commands for my robot. I would also love to simulate the differential behavior in ROS.
Some not-ROS-relevant things which I need (like storing important data,...) are implemented as some C++ code.

Thank you for your professional support!

coppelia
Posts: 6914
Joined: 14 Dec 2012, 00:25

### Re: Simulating a differential

Hello,

if you want to implement the differential in a different way as it was done in the Manta model, then you should use the Vortex engine which supports connections between two or more joints. Have a look at the demo scene gearMechanism.ttt. You will have to work with the Joint dependency parameters of the Vortex engine properties for joints.

Cheers