Change in path-following behavior for no apparent reason

Last Tuesday, we succesfully calibrated our path following algorithm for our autonomous. We are using Pathweaver for trajectory generation and the wpilib Ramsete library for the actual path following. We accurately tracked the trajectory with a maximum velocity of about 3 m/s. The autonomous routine was repeated many many times during the evening, with very good consistency.

Two days later, with no mechanical or programming changes, we cannot follow the track anymore. We are always overshoot when turning. The feedforward and feedback gains are the same. We are using the exact same paths in Pathweaver, but now we can barely follow the path at 1 m/s. All other commands seem to work as intended and we can drive very well in teleop. We validated that our encoders and gyro are working correctly.

The only change on the robot was that we swapped the PCM, but we doubt it would affect the path following.

We are honestly at a lost about the cause of this change. Any help would be appreciated.

Thanks !!

Can you post your code/github?

One thing that we found was although we were calling our auto command when we enabled into auto, it was being instantiated on deploy, this caused our reset odometry to run on start so if we enabled into teleop and then auto, our robot though it was in a completely different place because we chose to not zero our encoders on auto init. I have no idea if this is your problem without access to your code. But look a little deeper into what’s going on. println is your friend! :joy:

For everyone, here is the github