Skip to content

Instantly share code, notes, and snippets.

@auxiliary-character
Last active August 29, 2015 14:13
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save auxiliary-character/0e30e57b61851b11b577 to your computer and use it in GitHub Desktop.
Save auxiliary-character/0e30e57b61851b11b577 to your computer and use it in GitHub Desktop.
Some helper code for the PID controller.
import math
def returnPIDInput(self):
angle = self.gyro.getAngle()
set_point = self.pid_controller.getSetPoint()
angle_greater = angle + 2*math.pi
angle_lesser = angle - 2*maht.pi
use_angle = math.fabs(angle-set_point) < math.fabs(angle_greater - set_point)
use_angle = use_angle and math.fabs(angle-set_point) < math.fabs(angle_lesser - set_point)
if use_angle:
return angle
elif math.fabs(angle_greater-set_point) < math.fabs(angle_lesser - set_point):
return angle_greater
else:
return angle_lesser
def usePIDOutput(self, output):
self.pid_output = output
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment