The integer values in this line here (4,3) are the acceleration and velocity values that the path should be using as targets while running the path. The PID tuning you do should be correcting for the error in achieving the target position/speed.
I also believe in the PathPlanner UI there is a set of Acceleration, Velocity generation values but I thought the coded accel/velocity parameter values for the loadPath method would overwrite the ones you set in the UI, but maybe that is not the case.
PathPlanner.loadPath("BasicAuto", 4, 3, false);
Another thing I looked in your swerve drive class and your drive motor current limits are set at 20 amps which is pretty low for a drivetrain. I think the way the motors behave with the limit set that low may also be a part of your problem.
Have you checked that your odometry updates correctly? Like display your robot position on a Field2D visualization on the dashboard and then drive it around and validate that your sensor readings correspond correctly to what Pose data you are updating.
Your PID constants are wayy too small is another thing, and again I’m not able to check over every detail of your code.
I understand, Thank you for your help, looking at the 2d visualizer the robot does not move like we would expect.
It is moving much slower on the visualizer similar to what we are seeing in the auto, but when the robot spins it matches the same as the robot. Is there a resource that I can look to see what that maps to?
We had moved the PID up and down, I put it back to 5 and didnt see movement.