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()