rename folders
This commit is contained in:
64
software/raspberry pi/leg.py
Normal file
64
software/raspberry pi/leg.py
Normal file
@ -0,0 +1,64 @@
|
||||
#!python
|
||||
#
|
||||
# 2021 Zhengyu Peng
|
||||
# Website: https://zpeng.me
|
||||
#
|
||||
# ` `
|
||||
# -:. -#:
|
||||
# -//:. -###:
|
||||
# -////:. -#####:
|
||||
# -/:.://:. -###++##:
|
||||
# .. `://:- -###+. :##:
|
||||
# `:/+####+. :##:
|
||||
# .::::::::/+###. :##:
|
||||
# .////-----+##: `:###:
|
||||
# `-//:. :##: `:###/.
|
||||
# `-//:. :##:`:###/.
|
||||
# `-//:+######/.
|
||||
# `-/+####/.
|
||||
# `+##+.
|
||||
# :##:
|
||||
# :##:
|
||||
# :##:
|
||||
# :##:
|
||||
# :##:
|
||||
# .+:
|
||||
|
||||
import numpy as np
|
||||
|
||||
|
||||
class Leg:
|
||||
def __init__(self,
|
||||
id,
|
||||
junction_servos,
|
||||
correction=[0, 0, 0],
|
||||
constraint=[[35, 145], [10, 165], [30, 150]]):
|
||||
self.id = id
|
||||
self.junction_servos = junction_servos
|
||||
self.correction = correction
|
||||
self.constraint = constraint
|
||||
|
||||
def set_angle(self, junction, angle):
|
||||
set_angle = np.min(
|
||||
[angle+self.correction[junction], self.constraint[junction][1]+self.correction[junction], 180])
|
||||
set_angle = np.max(
|
||||
[set_angle, self.constraint[junction][0]+self.correction[junction], 0])
|
||||
self.junction_servos[junction].angle = set_angle
|
||||
|
||||
def set_raw_angle(self, junction, angle):
|
||||
self.junction_servos[junction].angle = angle
|
||||
|
||||
def move_junctions(self, angles):
|
||||
self.set_angle(0, angles[0])
|
||||
self.set_angle(1, angles[1])
|
||||
self.set_angle(2, angles[2])
|
||||
|
||||
def reset(self, calibrated=False):
|
||||
if calibrated:
|
||||
self.set_angle(0, 90)
|
||||
self.set_angle(1, 90)
|
||||
self.set_angle(2, 90)
|
||||
else:
|
||||
self.set_raw_angle(0, 90)
|
||||
self.set_raw_angle(1, 90)
|
||||
self.set_raw_angle(2, 90)
|
Reference in New Issue
Block a user