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
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!