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 ID | Joint Name | Motion Range (rad) | Effort Limit (Nm) | Velocity Limit (rad/s) | Kt |
|---|---|---|---|---|---|
| EC-A6416-P2-25 | left_hip_pitch_joint | -2.09 ~ 1.00 | 120.00 | 12.57 | 2.75 |
| EC-A5013-H17-100 | left_hip_roll_joint | -0.79 ~ 0.79 | 90.00 | 3.98 | 7.15 |
| EC-A3814-H14-107 | left_hip_yaw_joint | -0.79 ~ 0.79 | 60.00 | 5.45 | 5.70 |
| EC-A4315-P2-36 | left_knee_joint | 0.00 ~ 1.50 | 75.00 | 12.25 | 2.53 |
| EC-A4310-P2-36 | left_ankle_pitch_joint | -0.50 ~ 0.50 | 36.00 | 9.32 | 1.81 |
| EC-A4310-P2-36 | left_ankle_roll_joint | -0.35 ~ 0.35 | 36.00 | 9.32 | 1.81 |
| N/A(passive joint) | left_toe_joint | -0.60 ~ 0.00 | N/A | N/A | N/A |
| EC-A6416-P2-25 | right_hip_pitch_joint | -1.00 ~ 2.09 | 120.00 | 12.57 | 2.75 |
| EC-A5013-H17-100 | right_hip_roll_joint | -0.79 ~ 0.79 | 90.00 | 3.98 | 7.15 |
| EC-A3814-H14-107 | right_hip_yaw_joint | -0.79 ~ 0.79 | 60.00 | 5.45 | 5.70 |
| EC-A4315-P2-36 | right_knee_joint | -1.50 ~ 0.00 | 75.00 | 12.25 | 2.53 |
| EC-A4310-P2-36 | right_ankle_pitch_joint | -0.50 ~ 0.50 | 36.00 | 9.32 | 1.81 |
| EC-A4310-P2-36 | right_ankle_roll_joint | -0.35 ~ 0.35 | 36.00 | 9.32 | 1.81 |
| N/A(passive joint) | right_toe_joint | 0.00 ~ 0.60 | N/A | N/A | N/A |
2. Ankle Parallel Mechanism
Parallel Mechanical Design
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
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 angletheta_B: motor B rotation angler_A,r_B: effective crank/linkage radii of motors A and Br: common radius whenr_A = r_B = rd: distance from the ankle pivot to the bar midpoint linec: 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_Aandr_Bare constant effective radii (no compliance, backlash, or slip)- Sign convention is fixed and consistent:
+yis away from the ground,-yis 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
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
- 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?