--- id: joint-configuration title: "Joint Configuration & Actuators" status: established source_sections: "reference/sources/official-product-page.md, reference/sources/official-developer-guide.md, reference/sources/official-dds-services.md" related_topics: [hardware-specs, locomotion-control, manipulation, equations-and-bounds, safety-limits] key_equations: [] key_terms: [dof, actuator, joint, pmsm, dual_encoder, force_position_hybrid, lowcmd, lowstate, motor_cmd] images: [] examples: [] open_questions: - "Per-joint velocity limits (dq_max) for all joints" - "Actuator model numbers and detailed datasheets" - "Ankle joint range of motion (not in public specs)" - "Exact gear ratios per joint" --- # Joint Configuration & Actuators Detailed breakdown of the G1's joint structure, actuator specifications, and range of motion. ## 1. DOF Configurations The G1 is available in three primary DOF configurations: [T0 — Spec Sheet] | Configuration | Total DOF | Legs | Waist | Arms | Hands | Variants | |--------------|-----------|------|-------|------|-------|----------| | Base (23-DOF) | 23 | 6+6 | 1 | 5+5 | 0 | G1 Standard | | Mid (29-DOF) | 29 | 6+6 | 3 | 7+7 | 0 | G1 EDU Standard | | Full (43-DOF) | 43 | 6+6 | 3 | 7+7 | 7+7 | G1 EDU Ultimate | ## 2. Joint Enumeration ### Leg Joints (6 per leg, 12 total) | Joint Name | Axis | Type | Range (degrees) | Range (radians) | Notes | |--------------------|------|----------|-----------------|-------------------|-----------------| | left/right_hip_yaw | Z | Revolute | ±158° | ±2.758 | Rotation around vertical | | left/right_hip_roll | X | Revolute | -30° to +170° | -0.524 to +2.967 | Lateral splay | | left/right_hip_pitch| Y | Revolute | ±154° | ±2.688 | Forward/back | | left/right_knee | Y | Revolute | 0° to 165° | 0 to 2.880 | Extension only, max torque joint | | left/right_ankle_pitch | Y | Revolute | — | — | Range not yet confirmed | | left/right_ankle_roll | X | Revolute | — | — | Range not yet confirmed | [T0 — Official specs for hip/knee; ankle ranges still unconfirmed] ### Waist/Torso Joints | Configuration | Joints | Notes | |--------------|--------|-------| | 23-DOF (base) | 1 joint: waist_yaw (Z-axis, ±155°) | Single rotation axis | | 29/43-DOF | 3 joints: waist_yaw, waist_pitch, waist_roll | Full 3-axis torso articulation | ### Arm Joints (per arm) | Configuration | Joints per Arm | Notes | |--------------|---------------|-------| | 23-DOF (base) | 5 joints: shoulder_pitch, shoulder_roll, shoulder_yaw, elbow, wrist_yaw | Basic arm | | 29/43-DOF | 7 joints: above + wrist_pitch, wrist_roll | Articulated wrist (2 extra DOF) | ### Hand Joints — Dex3-1 (43-DOF variant, 7 per hand) | Finger | Active DOF | Actuator Type | |---------|-----------|---------------| | Thumb | 3 | Micro brushless force-control | | Index | 2 | Micro brushless force-control | | Middle | 2 | Micro brushless force-control | | **Total per hand** | **7** | 6 direct-drive + 1 gear-drive | Additional Dex3-1 specs: - 33 integrated tactile sensors per hand [T0] - Force-position hybrid control [T0] - DDS topics: `rt/dex3/(left|right)/cmd` and `rt/dex3/(left|right)/state` [T0] - Message protocol: `unitree_hg` [T0] ## 3. Actuator Specifications All joints use proprietary Unitree actuators: [T0 — Official specs] | Property | Specification | |-------------------|------------------------------------------------------| | Motor type | Low-inertia internal rotor PMSM | | Shaft design | Hollow (reduced weight, internal wiring routing) | | Transmission | Compact planetary gearboxes | | Backdrivability | Yes (backdrivable design) | | Bearings | Industrial-grade crossed roller bearings | | Feedback | Dual encoders per joint (position + velocity) | | Thermal monitoring | Built-in temperature sensors per motor | | Control | Force-position hybrid, torque limiting | | Servo rate | 500 Hz | ### Peak Torques | Joint Region | Standard (base) | EDU Variants | Notes | |-------------|----------------|--------------|-------| | Knee (max) | 90 Nm | 120 Nm | Highest-torque joint | | Other joints | Not published | Not published | See open questions | ## 4. Low-Level Control Interface Joint-level control is performed via DDS publish/subscribe: [T0 — Developer Guide] ### Subscription (read robot state) - **Topic:** `rt/lowstate` - **Type:** `unitree_hg::msg::dds_::LowState_` - **Contents:** mode_pr, mode_machine, tick (1ms increment), imu_state, motor_state (all joints), wireless_remote, crc checksum ### Publishing (send commands) - **Topic:** `rt/lowcmd` - **Type:** `unitree_hg::msg::dds_::LowCmd_` - **MotorCmd_ structure per joint:** - `mode`: 0 (Disable) / 1 (Enable) - `q`: Target joint position (rad) - `dq`: Target joint velocity (rad/s) - `tau`: Feed-forward torque (Nm) ## Key Relationships - Defined by: [[hardware-specs]] (physical platform) - Enables: [[locomotion-control]] (leg joints) - Enables: [[manipulation]] (arm + hand joints) - Bounded by: [[safety-limits]] (joint limits, torque limits) - Numerical limits in: [[equations-and-bounds]]