When our robot accelerates quickly, it turns slightly left. Once it’s up to full speed, it goes straight. We’ve tested everything we can think of, checked our code, replaced the motors, made sure the left side isn’t heavier, etc. Anyone know what the issue could be or dealt with a similar issue?
Small differences in friction and motor power can do this when under unconstrained acceleration. This is a pretty common thing. The most thorough solution is to add management to the acceleration by watching the difference in progress between the two sides, and correcting for inconsistencies on the fly.
if you’re using v5 you can tell your motors to spin at a certain rpm. the motors will spin at that speed, because of the build in pid, so you can guarantee that your robot will drive straight (unless you have some extremely severe friction issue in one side)
We have had this issue and have looked into it in depth. It occurs when one side of the drivetrain kicks on a few milliseconds before the other. We have tried lots of options but the best is to start the Left side have the program wait for a few milliseconds and then fire the right side. You will have to play around with it to get it right.