BIG YAM
BIG YAM is the heaviest, highest-payload arm in the YAM family — a larger 6-DOF arm with DM6248 shoulder motors for substantially more torque, and a redesigned joint 2 with reversed direction. Use BIG YAM when YAM Standard / Pro / Ultra can't handle the payload or reach requirements.
For the full SDK reference and API documentation that applies to all YAM variants, see the YAM Arm Series page.
Specifications
| Parameter | Value |
|---|---|
| Price | $4,999 |
| Degrees of Freedom | 6 |
| Communication | CAN bus (1 Mbit/s) |
| Shoulder motors (joints 1–2) | 2× DM6248 (vs DM4340 on YAM/Pro/Ultra) |
| Middle motors (joints 3–4) | 2× DM4340 |
| Wrist motors (joints 5–6) | 2× DM4310 |
| Joint 1 range | -150° to +175° |
| Joint 2 range | 0° to +180° (narrower than YAM/Pro) |
| Joint 3 range | 0° to +180° |
| Joints 4, 5 range | ±90° |
| Joint 6 range | ±120° |
| Payload | TBD — see i2rt.com |
| Reach | TBD — see i2rt.com |
| Weight | TBD — see i2rt.com |
| Build / Materials | TBD — see i2rt.com |
API Usage
Pass ArmType.BIG_YAM (or the lowercase string "big_yam") to get_yam_robot():
from i2rt.robots.get_robot import get_yam_robot
from i2rt.robots.utils import ArmType, GripperType
robot = get_yam_robot(
channel="can0",
arm_type=ArmType.BIG_YAM,
gripper_type=GripperType.LINEAR_4310,
)Command line
python i2rt/robots/get_robot.py --arm big_yam --channel can0 --gripper linear_4310Control gains (different from YAM/Pro/Ultra)
BIG YAM ships with a different set of default gains because its shoulder motors (DM6248) and joint geometry differ:
motor_list:
- [0x01, "DM6248"] # vs DM4340 on YAM
- [0x02, "DM6248"] # vs DM4340 on YAM
- [0x03, "DM4340"]
- [0x04, "DM4340"] # vs DM4310 on YAM
- [0x05, "DM4310"]
- [0x06, "DM4310"]
directions: [-1, -1, 1, 1, -1, 1] # joints 1, 2, 5 are reversed
kp: [80.0, 80.0, 80.0, 40.0, 40.0, 10.0] # kd[4] = 40 (vs 10)
kd: [5.0, 5.0, 5.0, 3.0, 1.5, 1.5] # kd[3] = 3.0 (vs 1.5)
gravity_comp_factor:[1.0, 1.1, 1.0, 1.1, 1.0, 1.0] # factor[2,3] differ
grav_comp_kd: [0.5, 0.5, 0.5, 0.3, 0.1, 0.1] # higher shoulder damping
coulomb_friction: [0.1, 0.1, 0.3, 0.3, 0.06, 0.06] # less stiction on shouldersJoint direction reversed
Joints 1, 2, and 5 are mechanically reversed on BIG YAM (directions: [-1, -1, 1, 1, -1, 1]). The SDK handles this internally — command_joint_pos(q) still uses the standard convention — but raw motor commands or per-motor diagnostics will see flipped signs on those joints.
Don't reuse YAM/Pro/Ultra trajectories directly
Because of the reversed joint directions and different joint 2/3 limits, trajectories recorded on a YAM Standard/Pro/Ultra will NOT play back correctly on BIG YAM without remapping. If you need a portable trajectory, record it via command_joint_pos() (logical convention) rather than raw motor values.
When to Choose BIG YAM
| Task | Standard / Pro / Ultra | BIG YAM |
|---|---|---|
| Light pick-and-place | ✅ | overkill |
| Tabletop teleop demo | ✅ | overkill |
| Heavy / dense object lifting | ⚠ may struggle | ✅ |
| Long-reach work | ⚠ | ✅ |
| High duty-cycle production | ⚠ | ✅ |
Differences from Other YAM Variants
| Standard | Pro | Ultra | BIG YAM | |
|---|---|---|---|---|
arm_type | YAM | YAM_PRO | YAM_ULTRA | BIG_YAM |
| Shoulder motors | DM4340 | DM4340 | DM4340 | DM6248 |
| Joint 2 / 3 range | 209° / 210° | 209° / 210° | 209° / 180° | 180° / 180° |
| Joint directions | all +1 | all +1 | all +1 | [-1, -1, 1, 1, -1, 1] |
| Default PD gains | base | same | same | higher kd on J4, higher grav_comp_kd |
| Gravity comp factor | [1.0,1.1,1.1,1.2,1.0,1.0] | same | same | [1.0,1.1,1.0,1.1,1.0,1.0] |
See Also
- YAM Arm Series — full SDK API and shared documentation
- YAM Standard, YAM Pro, YAM Ultra — smaller siblings
- Grippers
- Gravity & Friction Compensation