You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

9.7 KiB

id title status source_sections related_topics key_equations key_terms images examples open_questions
equations-and-bounds Equations, Constants, and Validation Bounds established reference/sources/official-product-page.md, reference/sources/official-developer-guide.md [hardware-specs joint-configuration locomotion-control safety-limits push-recovery-balance whole-body-control motion-retargeting] [forward_kinematics inverse_dynamics com zmp battery_runtime] [dof actuator joint torque] [] [] [Per-joint velocity limits (dq_max) — not published Exact link masses and inertia tensors (available in URDF) Ankle joint range of motion]

Equations, Constants, and Validation Bounds

Reference for all formulas, physical constants, and validation ranges used across the knowledge base. Always check values here before using a number in a calculation.


1. Physical Constants

Constant Symbol Value Unit
Gravity g 9.81 m/s^2
Pi pi 3.14159...

2. Robot Parameters

Parameter Symbol Value Unit Source Tier
Total mass m_total ~35 kg Official product page T0
Standing height h_stand 1.32 m Official product page T0
Folded height h_fold 0.69 m Official product page T0
Width w 0.45 m Official product page T0
Depth d 0.20 m Official product page T0
Leg length (combined) l_leg 0.60 m Official product page T0
Total DOF (base variant) n_dof 23 count Official spec sheet T0
Total DOF (mid variant) n_dof 29 count Official spec sheet T0
Total DOF (full variant) n_dof 43 count Official spec sheet T0
Battery voltage (charger) V_charge 54 V Official spec sheet T0
Battery voltage (nominal) V_batt ~48.1 V 13-cell × 3.7V/cell T3
Battery capacity Q_batt 9,000 mAh Official spec sheet T0
Battery energy (estimated) E_batt ~432 Wh 9Ah × 48.1V T3
Max walking speed v_max 2.0 m/s Official spec sheet T0
Max payload per arm (base) m_pay 2 kg Official spec sheet T0
Max payload per arm (EDU) m_pay 3 kg Official spec sheet T0
Max knee torque (base) tau_knee 90 Nm Official spec sheet T0
Max knee torque (EDU) tau_knee 120 Nm Official spec sheet T0
Control loop rate f_ctrl 500 Hz Developer guide T0
DDS latency t_dds 2 ms Developer guide T0
Runtime (continuous) t_run ~2 hr Official spec sheet T0

3. Joint Limits

Leg Joints (per leg)

Joint Name q_min (deg) q_max (deg) q_min (rad) q_max (rad) tau_max (Nm) Source Tier
hip_yaw -158 +158 -2.758 +2.758 Official specs T0
hip_roll -30 +170 -0.524 +2.967 Official specs T0
hip_pitch -154 +154 -2.688 +2.688 Official specs T0
knee 0 +165 0 +2.880 90/120 Official specs T0
ankle_pitch Not documented
ankle_roll Not documented

Waist Joints

Joint Name q_min (deg) q_max (deg) q_min (rad) q_max (rad) Source Tier
waist_yaw -155 +155 -2.705 +2.705 Official specs T0
waist_pitch 29/43-DOF only
waist_roll 29/43-DOF only

Arm/Hand Limits

Arm and hand joint limits not yet published in official documentation. Available in URDF files at unitree_ros/robots/g1_description/.


4. Key Equations

4a. Forward Kinematics

T_ee = T_base * T_1(q_1) * T_2(q_2) * ... * T_n(q_n)

Where T_i(q_i) is the homogeneous transformation for joint i at angle q_i. DH parameters available in URDF model.

4b. Inverse Dynamics (Recursive Newton-Euler)

tau = M(q) * ddq + C(q, dq) * dq + G(q)
  • M(q): mass/inertia matrix (29×29 for 29-DOF config)
  • C(q, dq): Coriolis and centrifugal terms
  • G(q): gravity vector (dominated by 35 kg total mass at g=9.81)

4c. Center of Mass

CoM = (1/m_total) * sum(m_i * p_i)

Where m_i and p_i are the mass and position of each link. Link masses available in URDF.

4d. Zero Moment Point (ZMP)

ZMP_x = (sum(m_i * (g * x_i - z_i * ddx_i + x_i * ddz_i))) / (sum(m_i * (g + ddz_i)))

Critical for bipedal balance — ZMP must remain within the support polygon. Note: The G1's RL-based controller learns ZMP-like constraints implicitly rather than using explicit ZMP computation. [T1]

4e. Battery Runtime Estimate

t_runtime = E_batt / P_avg
  • E_batt ≈ 432 Wh [T3]
  • P_avg varies: ~216 W for 2hr runtime (walking), lower for standing [T3]
  • P_avg = E_batt / t_runtime = 432 / 2 ≈ 216 W average during continuous operation [T3]

4f. Control Loop Timing

dt_control = 1 / f_ctrl = 1 / 500 = 0.002 s = 2 ms

Motor commands should be published at this rate for smooth control. [T0]

4g. Support Polygon (Balance)

For double support (both feet on ground):
  Support polygon = convex hull of all foot contact points

For single support (one foot):
  Support polygon = convex hull of stance foot contact points

Balance condition (static):
  ZMP ∈ support polygon

The CoM projection onto the ground plane must remain within the support polygon for static stability. Dynamic stability (walking) allows temporary excursions. See push-recovery-balance. [T1]

4h. Control Barrier Function (CBF)

Safety function:    h(x) ≥ 0       (safe region)
CBF condition:      ḣ(x,u) + α·h(x) ≥ 0    (forward invariance)
  • α > 0: convergence rate parameter
  • For balance: h(x) = distance from CoM projection to nearest support polygon edge
  • For joint limits: h(x) = min(q - q_min, q_max - q) See push-recovery-balance §3c and safety-limits §8. [T1]

4i. Kinematic Scaling (Motion Retargeting)

q_robot = retarget(p_human)

Simple scaling:
  p_robot_i = p_human_i * (l_robot_i / l_human_i)

Where:
  l_robot_i = robot limb segment length
  l_human_i = human limb segment length

After scaling, solve IK to get joint angles. Must clamp to robot joint limits. See motion-retargeting. [T1]

4j. Residual Policy Action

a_final = a_base + α * a_residual

Where:
  a_base = base controller output (stock or trained policy)
  a_residual = correction from residual policy
  α ∈ [0, 1] = safety scaling factor

Smaller α = more conservative (stay closer to base). See push-recovery-balance §3b. [T1]


5. Validation Bounds

Use these to sanity-check calculations:

Quantity Valid Range Notes Tier
Joint position (hip) [-2.97, +2.97] rad Most permissive hip range (roll) T0
Joint position (knee) [0, 2.88] rad Extension only T0
Joint torque (knee) [-120, +120] Nm EDU variant max T0
Walking speed [0, 2.0] m/s Official max T0
Battery voltage ~42-54 V Depleted to fully charged estimate T3
Control loop rate 500 Hz Fixed by locomotion computer T0
DDS latency ~2 ms Internal network T0
Robot mass ~35 kg Without external payload T0
Payload per arm 0-3 kg EDU max T0
Standing height 1.32 m T0
Push recovery (standing) ~30-60 N·s Impulse, estimated from papers T3
CoM height (standing) ~0.7-0.9 m Estimated from proportions T3
Support polygon width ~0.15-0.25 m Foot width, stance dependent T3

6. Unit Conversion Reference

From To Multiply by
degrees radians pi / 180
radians degrees 180 / pi
rpm rad/s 2*pi / 60
Wh J 3600
mAh Ah 1/1000
kg*m/s^2 N 1