Mercurial > Kubik
changeset 109:970638b228a4
Remove all testing code from kubik.py
| author | Radomir Dopieralski <sheep-devel@sheep.art.pl> |
|---|---|
| date | Wed, 02 Jul 2014 14:57:32 +0200 |
| parents | 0948869675f8 |
| children | ad4e95b79a5a |
| files | kubik.py |
| diffstat | 1 files changed, 9 insertions(+), 52 deletions(-) [+] |
line wrap: on
line diff
--- a/kubik.py Wed Jul 02 09:23:31 2014 +0000 +++ b/kubik.py Wed Jul 02 14:57:32 2014 +0200 @@ -1,12 +1,9 @@ -import time import math import serial import maestro -#logging.basicConfig(level=logging.DEBUG) - def _solve_triangle(a, b, c): """Calculate an angle of a triangle using the law of cosines.""" a, b, c = abs(a), abs(b), abs(c) @@ -22,6 +19,7 @@ def _normalize_degrees(angle): + """Convert an angle to range +-180 degree range.""" while angle > 180: angle -= 360 while angle < -180: @@ -30,20 +28,25 @@ class HipServo(maestro.Servo): + """The hip servos have their range extended.""" min_position = 560 * 4 max_position = 2432 * 4 max_degrees = 180 class KneeServo(maestro.Servo): - pass + """Standard servo.""" class AnkleServo(maestro.Servo): - pass + """Standard servo.""" class Leg(object): + """A signle leg, containing 3 servos: hip, knee and ankle, and three + connections between them: coxa, femur and tibia. + """ + # Lengths of leg segments, in mm coxa = 12.5 # between the hip and the knee femur = 30.0 # between the knee and the ankle @@ -107,52 +110,6 @@ ] def home(self): - """Move all legs to the initial position.""" + """Move all legs to their initial position.""" for leg in self.legs: leg.move_to((30, 30, -35)) - - def run(self): - try: - while True: - for i in range(-35, -25): - time.sleep(0.0125) - self.legs[0].move_to((20, 0, i)) - self.legs[1].move_to((20, 0, i)) - self.legs[2].move_to((20, 0, i)) - self.legs[3].move_to((20, 0, i)) - for i in range(-25, -35, -1): - time.sleep(0.0125) - self.legs[0].move_to((20, 0, i)) - self.legs[1].move_to((20, 0, i)) - self.legs[2].move_to((20, 0, i)) - self.legs[3].move_to((20, 0, i)) - for i in range(0, 20): - time.sleep(0.0125) - self.legs[0].move_to((20-i, 0, -35)) - self.legs[1].move_to((20-i, 0, -35)) - self.legs[2].move_to((20+i, 0, -35)) - self.legs[3].move_to((20+i, 0, -35)) - for i in range(20, 0, -1): - time.sleep(0.0125) - self.legs[0].move_to((20-i, 0, -35)) - self.legs[1].move_to((20-i, 0, -35)) - self.legs[2].move_to((20+i, 0, -35)) - self.legs[3].move_to((20+i, 0, -35)) - for i in range(0, 20): - time.sleep(0.0125) - self.legs[0].move_to((20, i, -35)) - self.legs[1].move_to((20, i, -35)) - self.legs[2].move_to((20, i, -35)) - self.legs[3].move_to((20, i, -35)) - for i in range(20, 0, -1): - time.sleep(0.0125) - self.legs[0].move_to((20, i, -35)) - self.legs[1].move_to((20, i, -35)) - self.legs[2].move_to((20, i, -35)) - self.legs[3].move_to((20, i, -35)) - finally: - self.home() - - -if __name__ == '__main__': - Robot().run()
