YAM Ultra
YAM Ultra is the top-tier standard-form-factor YAM arm — same motor topology as YAM Standard and Pro, with the highest spec components and a tightened joint 3 range for production-style deployments where conservative kinematic limits are desired.
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,299 |
| Degrees of Freedom | 6 |
| Communication | CAN bus (1 Mbit/s) |
| Shoulder motors | 3× DM4340 |
| Elbow / Wrist motors | 3× DM4310 |
| Joint 1 range | -150° to +175° |
| Joint 2 range | 0° to +209° |
| Joint 3 range | 0° to +180° (tighter than Standard / Pro) |
| 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.YAM_ULTRA (or the lowercase string "yam_ultra") 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.YAM_ULTRA,
gripper_type=GripperType.LINEAR_4310,
)Command line
python i2rt/robots/get_robot.py --arm yam_ultra --channel can0 --gripper linear_4310Control gains
Identical to YAM Standard and YAM Pro:
kp: [80.0, 80.0, 80.0, 40.0, 10.0, 10.0]
kd: [5.0, 5.0, 5.0, 1.5, 1.5, 1.5]
gravity_comp_factor:[1.0, 1.1, 1.1, 1.2, 1.0, 1.0]
grav_comp_kd: [0.1, 0.1, 0.1, 0.3, 0.05, 0.05]
coulomb_friction: [0.3, 0.3, 0.3, 0.06, 0.06, 0.06]Joint 3 limit is narrower
YAM Ultra uses a tighter joint 3 range (0–180° vs 0–210° on Standard / Pro). If you're porting a trajectory recorded on a Standard arm, verify that joint 3 stays within the Ultra range or the controller will clip / reject the command.
Differences from Other YAM Variants
| Standard | Pro | Ultra | BIG YAM | |
|---|---|---|---|---|
arm_type | YAM | YAM_PRO | YAM_ULTRA | BIG_YAM |
| Motors | DM4340×3 + DM4310×3 | same | same | DM6248×2 + DM4340×2 + DM4310×2 |
| Joint 3 range | 210° | 210° | 180° | 180° |
| Default PD gains | identical | identical | identical | different |
| Build / repeatability | base | enhanced | top spec | rugged |
Summary: YAM Ultra ≈ YAM Pro with the highest-quality components and a more conservative joint 3 range. Code that runs on Pro/Standard runs on Ultra unchanged, as long as it respects the narrower joint 3 limit.
Checking joint limits at runtime
Joint limits live in the MuJoCo XML (i2rt/robot_models/arm/yam_ultra/yam_ultra.xml) and are enforced automatically by the SDK with a 0.15 rad safety buffer. To check programmatically:
info = robot.get_robot_info()
print(info["joint_limits"])
# array([[lower limits, ...], [upper limits, ...]])See get_robot_info() on the YAM Series page for the full schema.
See Also
- YAM Arm Series — full SDK API and shared documentation
- YAM Standard, YAM Pro, BIG YAM — sibling variants
- Grippers