I am only going Front-Stop-Back, but the robot rotates by itself because of the caster wheels.
I have removed physics material on caster wheels, I have assigned physics material on drive wheels with friction value 1.0 (Just like in Carter tutorial).
All the revolute joints of the caster wheels have following properties -
I am using a cylinder collider with a refinement level 2 to 5. I had initially set the height of the cylinder as the actual width of the wheel, but now I have reduced it to the minimum height of 0.00001 (to allow point contact instead of line contact).
This has improved the motion, but still not exactly straight (I tried with multiple friction values on the caster wheel, but still no changes).
Please note that i am only making Front-Stop-Back motions repeatedly. The robot rotates a little at every start and stop.
I am currently using the setup mentioned in my earlier post (Cylinder collider with 0.00001mm thickness with caster wheel friction - 0.1, driving wheel friction - 1.0). The robot still rotates a little when it stops sometimes, but this is the best I could manage right now. Let me know if you get a better setup!
The only “setup” i found that works is to set the mass extremely high (1000+ kg) which is not a viable solution.
Using your setup my MIR is unable to turn in place and has a hard time accelerating from a stand still. I’ve only been able to set refinement level manually. Have you had luck doing it programmatically?
The setup that has worked the best for me was:
Drive wheels
static friction: 4.0
Dynamic friction: 2.0
Caster wheels
static friction: 0.1
Dynamic friction: 0.1
This still has issues with turning in place but it can be mitigated by adding a small forward velocity.