My robot doesn’t turn enough (less than calculations)
Hi everyone!
I’m currently facing a problem with my robot in my simulation: he doesn’t follow (enough) the theorical trajectory. It's a basic two-wheeled robot with a caster wheel (a fixed wheel with no friction, actually). Like this one:
His behavior is good in a straight line but when it comes to turn, he draws a circle 4% larger than the theorical one.
My calculation:
- For a turning radius R and a linear speed in turn V, I calculate a turning speed ω.
- With the length ‘l’ between the two wheels and V, I can calculate the speed of each wheel (Vg and Vd) with those formula:
But then, instead of having the good turning radius, for example: 10 m, I have 10,6 m. Consequently, I cannot control the good trajectory of my robot because it came wrong since he starts turning. I know that 6% isn’t catastrophic but it’s still too much. There is example of my measure :
Here are, the commands associated to this trajectory, published on the topics:
Some key points and test I already made:
- I’m 100% sure of my calculation, about wheels speeds. I can show them if you want.
- My measurement point is between the two wheels
- If I let the robot doing many circles, it keeps the same wrong trajectory. It doesn’t evolute.
- The real robot I try to simulate doesn’t have a such large gap (Without any engineering control)
- I tried to increase or decrease the friction coefficient of the traction wheels, it’s never better.
- The mass and the inertia of the parts are very close to the truth.
- The error increase with the linear speed.
- I’m pretty sure of the distance between the two wheels too
- The wheels are made with gazebo cylinder and not with STL files (as it was for my firsts tests)
Thank you for reading and thank you in advance for your answers
Asked by mechatronics on 2022-03-01 11:44:02 UTC
Comments