We are working on a PID for our autonomous and for some reason when we try to make it go straight it ends up spinning the robot so here is the code and were wondering if you are able to fix it.
if Drive_straight_Distance_Heading_Velocity_KP__Velocity > 0:
while FLW.position(DEGREES) < Drive_straight_Distance_Heading_Velocity_KP__Distance:
Error = Drive_straight_Distance_Heading_Velocity_KP__Heading + Inertial_.rotation(DEGREES)
Output = Error * Drive_straight_Distance_Heading_Velocity_KP__KP
FLW.set_velocity((Drive_straight_Distance_Heading_Velocity_KP__Velocity - Output), PERCENT)
FRW.set_velocity((Drive_straight_Distance_Heading_Velocity_KP__Velocity + Output), PERCENT)
MLW.set_velocity((Drive_straight_Distance_Heading_Velocity_KP__Velocity - Output), PERCENT)
MRW.set_velocity((Drive_straight_Distance_Heading_Velocity_KP__Velocity + Output), PERCENT)
BLW.set_velocity((Drive_straight_Distance_Heading_Velocity_KP__Velocity - Output), PERCENT)
BRW.set_velocity((Drive_straight_Distance_Heading_Velocity_KP__Velocity + Output), PERCENT)
FLW.spin(FORWARD)
FRW.spin(FORWARD)
MLW.spin(FORWARD)
MRW.spin(FORWARD)
BLW.spin(FORWARD)
BRW.spin(FORWARD)
wait(5, MSEC)
else:
while FLW.position(DEGREES) > Drive_straight_Distance_Heading_Velocity_KP__Distance:
Error = Drive_straight_Distance_Heading_Velocity_KP__Heading - Inertial_.rotation(DEGREES)
Error = Error * Drive_straight_Distance_Heading_Velocity_KP__KP
FLW.set_velocity((Drive_straight_Distance_Heading_Velocity_KP__Velocity - Output), PERCENT)
MLW.set_velocity((Drive_straight_Distance_Heading_Velocity_KP__Velocity - Output), PERCENT)
BLW.set_velocity((Drive_straight_Distance_Heading_Velocity_KP__Velocity - Output), PERCENT)
FRW.set_velocity((Drive_straight_Distance_Heading_Velocity_KP__Velocity + Output), PERCENT)
MRW.set_velocity((Drive_straight_Distance_Heading_Velocity_KP__Velocity + Output), PERCENT)
BRW.set_velocity((Drive_straight_Distance_Heading_Velocity_KP__Velocity + Output), PERCENT)
FLW.spin(FORWARD)
MLW.spin(FORWARD)
BLW.spin(FORWARD)
FRW.spin(FORWARD)
MRW.spin(FORWARD)
BRW.spin(FORWARD)
wait(5, MSEC)
FLW.stop()
MLW.stop()
BLW.stop()
FRW.stop()
MRW.stop()
BRW.stop()