YAM Arm
✓ Python SDK✓ MuJoCo Sim✓ Gravity Compensation
The YAM Arm is the follower/manipulation arm in the YAM family — a 6-DOF, CAN bus–driven manipulator built for real-world research and embodied AI data collection. Pair it with a YAM Leader for teleoperation, or run it standalone with the Python SDK.


Models
| Model | Price | Notes |
|---|---|---|
| YAM | $2,999 | Standard research arm |
| YAM Pro | $3,499 | Enhanced actuators |
| YAM Ultra | $4,299 | Highest spec standard arm |
| BIG YAM | $4,999 | Larger reach and payload |
Specifications
| Parameter | Value |
|---|---|
| Degrees of Freedom | 6 |
| Communication | CAN bus (1 Mbit/s) |
| Motor Series | DM series brushless |
| Control Modes | Joint position PD · Gravity compensation · Zero-gravity |
| Simulation | MuJoCo (MJCF + URDF provided) |
| Safety | 400 ms motor timeout (configurable) |
| Mounting | Table-top (standard) |
Grippers
| Gripper | Motor | Notes |
|---|---|---|
crank_4310 | DM4310 | Zero-linkage crank — minimal sweep width |
linear_3507 | DM3507 | Lightweight linear; requires closed-position calibration |
linear_4310 | DM4310 | Standard linear; slightly higher force |
See Grippers for calibration and model details.
3D Model
i2rt/robot_models/arm/yam/
├── yam.urdf
├── yam.xml
└── assets/ # STL meshes (visual + collision)Videos
Video — Coming Soon
YAM arm performing a pick-and-place task on a cluttered tabletop. Close-up of gripper engagement. 30–60 seconds.
Quick Start
python
from i2rt.robots.motor_chain_robot import get_yam_robot
import numpy as np
robot = get_yam_robot(channel="can0", gripper_type="linear_4310")
# Read joint positions (radians)
q = robot.get_joint_pos() # shape: (6,)
# Command home position
robot.command_joint_pos(np.zeros(6))See Also
- YAM Leader — teaching handle for teleoperation
- YAM Arm API
- Grippers
- Hardware Setup