Mercurial > Kubik
changeset 134:2607d82685d2
new geometry
| author | Radomir Dopieralski <sheep-devel@sheep.art.pl> |
|---|---|
| date | Tue, 15 Jul 2014 00:50:41 +0200 |
| parents | 6cfedf4dc1b7 |
| children | 21f3cbb3839b |
| files | creep.py kubik.py |
| diffstat | 2 files changed, 14 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/creep.py Sun Jul 13 15:54:07 2014 +0000 +++ b/creep.py Tue Jul 15 00:50:41 2014 +0200 @@ -4,7 +4,6 @@ SPEED = 2 SWING = 24 SWING_SPEED = 4 -SPREAD = 35 HEIGHT = -35 STEP = -5 OVERLAP = 0
--- a/kubik.py Sun Jul 13 15:54:07 2014 +0000 +++ b/kubik.py Tue Jul 15 00:50:41 2014 +0200 @@ -57,10 +57,11 @@ """ # Lengths of leg segments, in mm - coxa = 12.5 # between the hip and the knee + coxa = 36.0 # between the hip and the knee femur = 30.0 # between the knee and the ankle tibia = 36.0 # between the ankle and the foot base = 45.0, 45.0 # from the center of body + home = 45.0, 45.0, -35.0 def __init__(self, hip, knee, ankle, front=True): self.hip = hip @@ -72,7 +73,8 @@ else: self.y_direction = -1 self.hip_offset = -45 * self.y_direction - self.position = 30.0, 30.0 * self.y_direction, -35.0 + self.position = ( + self.home[0], self.home[1] * self.y_direction, self.home[2]) def __iter__(self): """Iterate over all joints.""" @@ -139,7 +141,7 @@ KneeServo(m, 2, trim=-200), AnkleServo1(m, 0, trim=0, center=1500 * 4), False), - Leg(HipServo(m, 4, trim=-100), + Leg(HipServo(m, 4, reverse=True, trim=-100), KneeServo(m, 5, reverse=True, trim=-200), AnkleServo2(m, 3, reverse=True, trim=-400, center=1500 * 4), True), @@ -171,18 +173,18 @@ ] for leg, shift in zip(self.legs, shifts): x, y, z = leg.position - if (x, y) != (30, 30 * leg.y_direction): + if (x, y) != (leg.home[0], leg.home[1] * leg.y_direction): self.shift = shift leg.move_to((None, None, 5)) for i in range(2): yield - leg.move_to((30, 30 * leg.y_direction, None)) + leg.move_to((leg.home[0], leg.home[1] * leg.y_direction, None)) for i in range(2): yield - leg.move_to((None, None, -34)) + leg.move_to((None, None, leg.home[2] + 1)) for i in range(4): yield - leg.move_to((None, None, -35)) + leg.move_to((None, None, leg.home[2])) self.shift = [0, 0, 0] def home(self): @@ -212,3 +214,8 @@ self._run_animations(animations, fps) finally: self.home() + + +if __name__ == "__main__": + robot = Robot() + robot.home()
