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.

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 +180°
Joint 2 range0° to +210°
Joint 3 range0° to +180°
Joint 4 range-97° to +90°
Joint 5 range-90° to +90°
Joint 6 range-120° to +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]

Differences from Other YAM Variants

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

Summary: YAM Ultra ≈ YAM Pro with the highest-quality components. SDK-wise, code that runs on Standard/Pro runs on Ultra unchanged — only the arm_type argument differs.

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