Thanks for these items for checklist... I'll want to keep these in mind for our new off-season drive we'll be experimenting on. I guess after seeing this same problem on 4 different robots... it's time to really put some effort into fixing this mechanically.
For now, I have however fixed this problem in software by simply changing the overall scale of voltage prior to applying the polynomial equation to linearize the victors. It looks something like this:
Code:
LeftVoltage=(LeftVelocity+m_ErrorOffset_Left)/ (MAX_SPEED + m_TankRobotProps.LeftMaxSpeedOffset);
RightVoltage=(RightVelocity+m_ErrorOffset_Right)/ (MAX_SPEED + m_TankRobotProps.RightMaxSpeedOffset);