I have tried different angles from 45 degrees to 360, it always over turns 16 degrees. I printed the value of the gyro to the controller before and after it leaves the while loop and the numbers match the angle I am setting it for. I brake immediately and print the value after braking and it overshoots 16 degrees . I am out of ideas.
set the target 16 degrees less.
The problem is when we want to use the gyro to correct the robot after stopping quickly where the angle is less than 16 degrees.
There seems to be a delay in stopping. We even tried reversing the motors with the same results