Menlo
Hardware Design

Joint Design and Actuation

This chapter documents joint-level actuation limits and the ankle mechanism model used for design and control.

1. Joint Actuator Specification

The table below maps the leg joints to their actuator entries and limit values. Torque and velocity limits are from the URDF joint limits. Passive toe joints are included for completeness and are marked with N/A for actuator-specific fields.

Actuator IDJoint NameMotion Range (rad)Effort Limit (Nm)Velocity Limit (rad/s)Kt
EC-A6416-P2-25left_hip_pitch_joint-2.09 ~ 1.00120.0012.572.75
EC-A5013-H17-100left_hip_roll_joint-0.79 ~ 0.7990.003.987.15
EC-A3814-H14-107left_hip_yaw_joint-0.79 ~ 0.7960.005.455.70
EC-A4315-P2-36left_knee_joint0.00 ~ 1.5075.0012.252.53
EC-A4310-P2-36left_ankle_pitch_joint-0.50 ~ 0.5036.009.321.81
EC-A4310-P2-36left_ankle_roll_joint-0.35 ~ 0.3536.009.321.81
N/A(passive joint)left_toe_joint-0.60 ~ 0.00N/AN/AN/A
EC-A6416-P2-25right_hip_pitch_joint-1.00 ~ 2.09120.0012.572.75
EC-A5013-H17-100right_hip_roll_joint-0.79 ~ 0.7990.003.987.15
EC-A3814-H14-107right_hip_yaw_joint-0.79 ~ 0.7960.005.455.70
EC-A4315-P2-36right_knee_joint-1.50 ~ 0.0075.0012.252.53
EC-A4310-P2-36right_ankle_pitch_joint-0.50 ~ 0.5036.009.321.81
EC-A4310-P2-36right_ankle_roll_joint-0.35 ~ 0.3536.009.321.81
N/A(passive joint)right_toe_joint0.00 ~ 0.60N/AN/AN/A

2. Ankle Parallel Mechanism

Parallel Mechanical Design

alt text Figure: RSU ankle parallel mechanism

Asimov uses a parallel RSU ankle (Revolute-Spherical-Universal) instead of a simple serial single-DOF ankle. The RSU layout provides two ankle DOFs (pitch and roll) while allowing coupled actuation through two revolute motors.

Kinematic Mapping for the Parallel Mechanism

alt text Figure: Ankle joint overview

In simulation, we model the ankle pitch and roll joints as directly actuated at their ideal joint locations to avoid the computational cost of simulating the full parallel mechanism. In hardware, pitch and roll are controlled by moving two endpoints on a straight bar; these endpoints are connected through parallel linkages to ankle motors A and B. Because the ankle pitch and roll joints are not directly actuated in the real system, kinematic mapping is required for sim-to-real policy deployment.

We define the following variables:

  • theta_p: ankle pitch angle (joint space)
  • theta_r: ankle roll angle (joint space)
  • theta_A: motor A rotation angle
  • theta_B: motor B rotation angle
  • r_A, r_B: effective crank/linkage radii of motors A and B
  • r: common radius when r_A = r_B = r
  • d: distance from the ankle pivot to the bar midpoint line
  • c: distance between the left and right bar endpoints

Assumptions:

  • Small-angle approximation is used: sin(theta) ≈ theta, tan(theta) ≈ theta (angles in radians)
  • The bar/linkage geometry is rigid and symmetric
  • r_A and r_B are constant effective radii (no compliance, backlash, or slip)
  • Sign convention is fixed and consistent:
    • +y is away from the ground, -y is toward the ground
    • Positive motor/joint rotation directions are predefined and unchanged
  • The same derivation frame (right-leg convention) is used when applying the equations
  • For simplified forms, assume r_A = r_B = r

Mapping equations (AB -> PR):

theta_p = (r_A * theta_A - r_B * theta_B) / (2 * d)

theta_p = (theta_A - theta_B) * (r / (2 * d))

theta_r = - (1 / c) * (r_A * theta_A + r_B * theta_B)

theta_r = - (theta_A + theta_B) * (r / c)

Code example:

float right_pitch = (right_A - right_B) / (2.0f * K_PITCH);
float right_roll  = -(right_A + right_B) / (2.0f * K_ROLL);

float left_pitch  = (left_A - left_B) / (2.0f * K_PITCH);
float left_roll   = -(left_A + left_B) / (2.0f * K_ROLL);

For more information on deriving the ankle mechanism equations, see the ankle mechanism derivation note.

3. Passive toe joints

alt text Figure: Passive toe joint design

Similar to how human toes passively bend to conform to the ground during stance, an articulated toe increases effective contact area and helps distribute load more evenly. The main benefit appears during the stance-to-push-off transition.

As the body moves forward, the toe rocker allows the foot to roll rather than pivot on a rigid edge. This reduces peak local forces, maintains ground contact, and increases effective contact area, improving traction stability and forward propulsion.

In Asimov, this is implemented as an additional toe hinge that is articulated but not actively actuated. The toe joint is passive and compliant, using elastic/spring-like return behavior instead of a dedicated motor drive. This approach captures most toe-rollover benefits while avoiding the added complexity, mass, and control burden of another powered joint.

4. References

  1. Unitree G1 developer documentation (parallel-ankle context): https://support.unitree.com/home/en/G1_developer/basic_motion_routine

After the previous chapters, you should now have a clear understanding of our mechanical design. You can now begin manufacturing the parts to build your robot in 3D Printing and Fabrication.

How is this guide?

On this page