make it work

This commit is contained in:
Remi Cadene
2024-10-16 20:37:46 +02:00
parent 79ac1ad271
commit 1990f9c9bc
2 changed files with 7 additions and 7 deletions

View File

@@ -392,8 +392,7 @@ class FeetechMotorsBus:
return [idx for idx, _ in self.motors.values()] return [idx for idx, _ in self.motors.values()]
def set_calibration(self, calibration: dict[str, list]): def set_calibration(self, calibration: dict[str, list]):
pass self.calibration = calibration
# self.calibration = calibration
def apply_calibration_autocorrect(self, values: np.ndarray | list, motor_names: list[str] | None): def apply_calibration_autocorrect(self, values: np.ndarray | list, motor_names: list[str] | None):
"""This function apply the calibration, automatically detects out of range errors for motors values and attempt to correct. """This function apply the calibration, automatically detects out of range errors for motors values and attempt to correct.

View File

@@ -128,7 +128,7 @@ def run_arm_calibration(arm: MotorsBus, robot_type: str, arm_name: str, arm_type
calib_mode = [CalibrationMode.DEGREE.name] * len(arm.motor_names) calib_mode = [CalibrationMode.DEGREE.name] * len(arm.motor_names)
# TODO(rcadene): make type of joints (DEGREE or LINEAR) configurable from yaml? # TODO(rcadene): make type of joints (DEGREE or LINEAR) configurable from yaml?
if robot_type == "aloha" and "gripper" in arm.motor_names: if robot_type in ["aloha", "so_100"] and "gripper" in arm.motor_names:
# Joints with linear motions (like gripper of Aloha) are experessed in nominal range of [0, 100] # Joints with linear motions (like gripper of Aloha) are experessed in nominal range of [0, 100]
calib_idx = arm.motor_names.index("gripper") calib_idx = arm.motor_names.index("gripper")
calib_mode[calib_idx] = CalibrationMode.LINEAR.name calib_mode[calib_idx] = CalibrationMode.LINEAR.name
@@ -555,13 +555,14 @@ class ManipulatorRobot:
for name in self.follower_arms: for name in self.follower_arms:
self.follower_arms[name].write("Mode", 0) self.follower_arms[name].write("Mode", 0)
# self.follower_arms[name].write("P_Coefficient", 255, "shoulder_pan") # self.follower_arms[name].write("P_Coefficient", 255, "shoulder_pan")
self.follower_arms[name].write("P_Coefficient", 32, "shoulder_pan") self.follower_arms[name].write("P_Coefficient", 16, "shoulder_pan")
# self.follower_arms[name].write("D_Coefficient", 230, "shoulder_pan") # self.follower_arms[name].write("D_Coefficient", 230, "shoulder_pan")
self.follower_arms[name].write("D_Coefficient", 32, "shoulder_pan") self.follower_arms[name].write("D_Coefficient", 32, "shoulder_pan")
# self.follower_arms[name].write("Acceleration", 254) # self.follower_arms[name].write("Acceleration", 0)
# self.follower_arms[name].write("Minimum_Startup_Force", 16) # self.follower_arms[name].write("Minimum_Startup_Force", 0)
self.follower_arms[name].write("Lock", 0) self.follower_arms[name].write("Lock", 0)
self.follower_arms[name].write("Maximum_Acceleration", 250) # self.follower_arms[name].write("Maximum_Acceleration", 250)
self.follower_arms[name].write("Maximum_Acceleration", 150)
# for name in self.leader_arms: # for name in self.leader_arms:
# self.leader_arms[name].write("Max_Torque_Limit", 50, "gripper") # self.leader_arms[name].write("Max_Torque_Limit", 50, "gripper")