I have a Zumo Shield. It is small and tracked, and contains two micro metal gear motors soldered to it.
In theory, these motors are identical and do seem to rotate at the same speed. However, the left side seems to have considerably less torque than the right. The left side will stall on small obstacles and the robot ends up veering off course.
Another test of turning force, if I set both motors to spin at the same speed, while the robot is off the floor, I can put my finger on the track and cause the left to stop with a lot less pressure than the right.
I know it's never going to be perfect and I need some sort of feedback loop will be required to keep it straight however there is a considerable difference between the two.
What is the likely cause of this difference? Soldering? Motors? Gearing? Motor drivers? How can I go about diagnosing and therefore fixing this problem?