mirror of
https://github.com/huggingface/lerobot.git
synced 2026-07-23 09:46:00 +00:00
ec66ca42bb
Add the lerobot_robot_ax_arm package with the AXArm robot, its config, URDF joint mapping, an end-effector keyboard teleop example, and packaging metadata.
1.4 KiB
1.4 KiB
lerobot_robot_ax_arm
A third-party LeRobot robot: a 4-DoF arm driven by Dynamixel AX-series servos (e.g. AX-12A) over Protocol 1.0.
| Motor ID | Joint | Normalization |
|---|---|---|
| 1 | shoulder_pan |
[-100, 100] |
| 2 | shoulder_lift |
[-100, 100] |
| 3 | elbow_flex |
[-100, 100] |
| 4 | gripper |
[0, 100] |
Protocol 1.0 notes
AX-series motors differ from the X-series (Protocol 2.0) used elsewhere in LeRobot:
- No Sync Read — positions are read sequentially (
get_observation/ calibration). Sync Write is still used forGoal_Position. - No
Operating_Mode/ PID registers —configure()only lowers the return delay time. - No homing offset register — calibration records the range of motion only (
homing_offset = 0) and is stored via the CW/CCW angle limits.
Install
pip install -e .
This is discovered automatically by LeRobot thanks to the lerobot_robot_ package prefix.
Usage
lerobot-record \
--robot.type=ax_arm \
--robot.port=/dev/tty.usbserial-AL02L1E0 \
# ... other arguments
Or from Python:
from lerobot_robot_ax_arm import AXArm, AXArmConfig
robot = AXArm(AXArmConfig(port="/dev/tty.usbserial-AL02L1E0"))
robot.connect()
obs = robot.get_observation()
robot.disconnect()