diff --git a/software/rpi/config.json b/software/rpi/config.json new file mode 100644 index 0000000..94a302a --- /dev/null +++ b/software/rpi/config.json @@ -0,0 +1,14 @@ +{ + "legNames":["front_right", "center_right", "rear_right", "rear_left", "center_left", "front_left"], + "legMountX":[29.41, 36.87, 29.41, 29.41, 36.87, 29.41], + "legMountY":[55.41, 0, 55.41, 55.41, 0, 55.41], + "legMountLeftRightX":36.87, + "legMountOtherX":29.41, + "legMountOtherY":55.41, + "legRootToJoint1":20.75, + "legJoint1ToJoint2":28.0, + "legJoint2ToJoint3":42.6, + "legJoint3ToTip":89.07, + "movementInterval":5, + "movementSwitchDuration":150 +} \ No newline at end of file diff --git a/software/rpi/hexapod.py b/software/rpi/hexapod.py index 331bfbd..8444a80 100644 --- a/software/rpi/hexapod.py +++ b/software/rpi/hexapod.py @@ -8,42 +8,47 @@ from adafruit_servokit import ServoKit from leg import Leg import time +import json class Hexapod: def __init__(self): + + with open('./config.json', 'r') as read_file: + self.config = json.load(read_file) + # Objects self.pca_right = ServoKit(channels=16, address=0x40, frequency=120) self.pca_left = ServoKit(channels=16, address=0x41, frequency=120) - # rear right - self.leg_0 = Leg('rr', + # front right + self.leg_0 = Leg(0, [self.pca_left.servo[15], self.pca_left.servo[2], self.pca_left.servo[1]], correction=[-6, 4, -6]) # center right - self.leg_1 = Leg('cr', + self.leg_1 = Leg(1, [self.pca_left.servo[7], self.pca_left.servo[8], self.pca_left.servo[6]], correction=[3, -5, -6]) - # front right - self.leg_2 = Leg('fr', + # rear right + self.leg_2 = Leg(2, [self.pca_left.servo[0], self.pca_left.servo[14], self.pca_left.servo[13]], correction=[3, -6, -5]) - # front left - self.leg_3 = Leg('fl', + # rear left + self.leg_3 = Leg(3, [self.pca_right.servo[15], self.pca_right.servo[1], self.pca_right.servo[2]], correction=[-3, -4, 6]) # center left - self.leg_4 = Leg('cl', + self.leg_4 = Leg(4, [self.pca_right.servo[7], self.pca_right.servo[6], self.pca_right.servo[8]], correction=[-6, 2, 0]) - # rear left - self.leg_5 = Leg('rl', + # front left + self.leg_5 = Leg(5, [self.pca_right.servo[0], self.pca_right.servo[13], self.pca_right.servo[14]], correction=[-6, 4, 0]) @@ -56,7 +61,6 @@ class Hexapod: self.leg_5.reset() - def main(): hexapod = Hexapod()