Skip to content

YAM Ultra

✓ Python SDK✓ MuJoCo Sim✓ Gravity Compensation

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

ParameterValue
Price$4,299
Degrees of Freedom6
CommunicationCAN bus (1 Mbit/s)
Shoulder motors3× DM4340
Elbow / Wrist motors3× DM4310
Joint 1 range-150° to +175°
Joint 2 range0° to +209°
Joint 3 range0° to +180° (tighter than Standard / Pro)
Joints 4, 5 range±90°
Joint 6 range±120°
PayloadTBD — see i2rt.com
ReachTBD — see i2rt.com
WeightTBD — see i2rt.com
Build / MaterialsTBD — see i2rt.com

API Usage

Pass ArmType.YAM_ULTRA (or the lowercase string "yam_ultra") to get_yam_robot():

python
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

bash
python i2rt/robots/get_robot.py --arm yam_ultra --channel can0 --gripper linear_4310

Control gains

Identical to YAM Standard and YAM Pro:

yaml
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

StandardProUltraBIG YAM
arm_typeYAMYAM_PROYAM_ULTRABIG_YAM
MotorsDM4340×3 + DM4310×3samesameDM6248×2 + DM4340×2 + DM4310×2
Joint 3 range210°210°180°180°
Default PD gainsidenticalidenticalidenticaldifferent
Build / repeatabilitybaseenhancedtop specrugged

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:

python
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

Released under the MIT License. · Questions? support@i2rt.com