Compare commits
1 Commits
recovered-
...
2025_04_11
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
44ffa155f4 |
1
.cache/calibration/so100/main_follower.json
Normal file
1
.cache/calibration/so100/main_follower.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"homing_offset": [-2090, 3086, -952, -2089, 2063, -2472], "drive_mode": [0, 1, 0, 0, 1, 0], "start_pos": [2077, 3156, 908, 2047, 2047, 2048], "end_pos": [3114, -2062, 1976, 3113, -1039, 3496], "calib_mode": ["DEGREE", "DEGREE", "DEGREE", "DEGREE", "DEGREE", "LINEAR"], "motor_names": ["shoulder_pan", "shoulder_lift", "elbow_flex", "wrist_flex", "wrist_roll", "gripper"]}
|
||||||
1
.cache/calibration/so100/main_leader.json
Normal file
1
.cache/calibration/so100/main_leader.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"homing_offset": [-2038, 2985, -1088, -2115, 2060, -1962], "drive_mode": [0, 1, 0, 0, 1, 0], "start_pos": [2052, 3087, 960, 2047, 2011, 2047], "end_pos": [3062, -1961, 2112, 3139, -1036, 2986], "calib_mode": ["DEGREE", "DEGREE", "DEGREE", "DEGREE", "DEGREE", "LINEAR"], "motor_names": ["shoulder_pan", "shoulder_lift", "elbow_flex", "wrist_flex", "wrist_roll", "gripper"]}
|
||||||
@@ -443,7 +443,7 @@ class So100RobotConfig(ManipulatorRobotConfig):
|
|||||||
leader_arms: dict[str, MotorsBusConfig] = field(
|
leader_arms: dict[str, MotorsBusConfig] = field(
|
||||||
default_factory=lambda: {
|
default_factory=lambda: {
|
||||||
"main": FeetechMotorsBusConfig(
|
"main": FeetechMotorsBusConfig(
|
||||||
port="/dev/tty.usbmodem58760431091",
|
port="/dev/ttyACM0",
|
||||||
motors={
|
motors={
|
||||||
# name: (index, model)
|
# name: (index, model)
|
||||||
"shoulder_pan": [1, "sts3215"],
|
"shoulder_pan": [1, "sts3215"],
|
||||||
@@ -460,7 +460,7 @@ class So100RobotConfig(ManipulatorRobotConfig):
|
|||||||
follower_arms: dict[str, MotorsBusConfig] = field(
|
follower_arms: dict[str, MotorsBusConfig] = field(
|
||||||
default_factory=lambda: {
|
default_factory=lambda: {
|
||||||
"main": FeetechMotorsBusConfig(
|
"main": FeetechMotorsBusConfig(
|
||||||
port="/dev/tty.usbmodem585A0076891",
|
port="/dev/ttyACM1",
|
||||||
motors={
|
motors={
|
||||||
# name: (index, model)
|
# name: (index, model)
|
||||||
"shoulder_pan": [1, "sts3215"],
|
"shoulder_pan": [1, "sts3215"],
|
||||||
@@ -476,14 +476,14 @@ class So100RobotConfig(ManipulatorRobotConfig):
|
|||||||
|
|
||||||
cameras: dict[str, CameraConfig] = field(
|
cameras: dict[str, CameraConfig] = field(
|
||||||
default_factory=lambda: {
|
default_factory=lambda: {
|
||||||
"laptop": OpenCVCameraConfig(
|
"top": OpenCVCameraConfig(
|
||||||
camera_index=0,
|
camera_index=2,
|
||||||
fps=30,
|
fps=30,
|
||||||
width=640,
|
width=640,
|
||||||
height=480,
|
height=480,
|
||||||
),
|
),
|
||||||
"phone": OpenCVCameraConfig(
|
"wrist": OpenCVCameraConfig(
|
||||||
camera_index=1,
|
camera_index=0,
|
||||||
fps=30,
|
fps=30,
|
||||||
width=640,
|
width=640,
|
||||||
height=480,
|
height=480,
|
||||||
|
|||||||
@@ -36,6 +36,11 @@ ZERO_POSITION_DEGREE = 0
|
|||||||
ROTATED_POSITION_DEGREE = 90
|
ROTATED_POSITION_DEGREE = 90
|
||||||
|
|
||||||
|
|
||||||
|
def reset_middle_positions(arm: MotorsBus):
|
||||||
|
input("Please move the robot to the new middle position for calibration, then press Enter...")
|
||||||
|
# Write 128 to Torque_Enable for all motors.
|
||||||
|
arm.write("Torque_Enable", 128)
|
||||||
|
|
||||||
def assert_drive_mode(drive_mode):
|
def assert_drive_mode(drive_mode):
|
||||||
# `drive_mode` is in [0,1] with 0 means original rotation direction for the motor, and 1 means inverted.
|
# `drive_mode` is in [0,1] with 0 means original rotation direction for the motor, and 1 means inverted.
|
||||||
if not np.all(np.isin(drive_mode, [0, 1])):
|
if not np.all(np.isin(drive_mode, [0, 1])):
|
||||||
@@ -439,6 +444,8 @@ def run_arm_manual_calibration(arm: MotorsBus, robot_type: str, arm_name: str, a
|
|||||||
|
|
||||||
print(f"\nRunning calibration of {robot_type} {arm_name} {arm_type}...")
|
print(f"\nRunning calibration of {robot_type} {arm_name} {arm_type}...")
|
||||||
|
|
||||||
|
reset_middle_positions(arm)
|
||||||
|
|
||||||
print("\nMove arm to zero position")
|
print("\nMove arm to zero position")
|
||||||
print("See: " + URL_TEMPLATE.format(robot=robot_type, arm=arm_type, position="zero"))
|
print("See: " + URL_TEMPLATE.format(robot=robot_type, arm=arm_type, position="zero"))
|
||||||
input("Press Enter to continue...")
|
input("Press Enter to continue...")
|
||||||
|
|||||||
Reference in New Issue
Block a user