Statics and dynamics
Statics asks which joint torques hold a load still. Dynamics adds the torques that accelerate masses. Together they tell you whether a servo is strong enough and how hard each part is loaded. This page derives
In Strido
- Servo limits: SPT5435LV-180W, stall torque
at ( hardware/strength.yaml), no-load speed(servos). - Mass:
including the battery and the wiring harness; per-link masses in ros2/strido_description/config/mass_report.yaml. - Linkage forces:
packages/strido-verify/src/strido_verify/strength.pysweeps the knee linkage at stall. Results are indocs/verification/data/strength.json, explained in strength. - Simulation: MuJoCo clamps every actuator to
( models/mujoco/strido.xml).
Virtual work and
Suppose the foot pushes on the ground with force
This must hold for every
Two consequences:
- At a singularity,
loses rank. Some foot forces then need no joint torque at all: a straight leg carries a load along its length "on the bones". At the same time, the leg cannot push in the lost direction. - Velocity gain and force gain trade off. Where a joint moves the foot fast (large Jacobian entries), it pushes weakly, and the other way round.
The same argument works for any mechanism with one input and one output. If the output angle changes by
Mechanical advantage of the knee drive
The knee servo reaches the tibia through two linkages (see kinematics). For a link that carries force
Here strength.py chains this rule through the drive:
- Parallelogram. Opposite sides are equal (
), so and . The ratio is . The link force , however, grows as . - Four-bar. The torque ratio is
and it changes with the pose. When the transmission angle or approaches or , the forces become very large or the drive loses all leverage. That is why the joint limits require at least ( hardware/joint_limits.yaml).
Sweeping every pose inside the limits with the knee servo at stall, the worst cases (docs/verification/data/strength.json) are
Dynamics: inertia and Newton–Euler
Moving bodies need more torque. For a single rigid body, the Newton–Euler equations are:
Here
Chaining Newton–Euler through every link yields the standard manipulator equation:
The terms are: the mass matrix armature="0.012" (
Power and the torque–speed line
Mechanical power is
For the SPT5435LV at
The linear line is a model; the datasheet gives only the two end points. A servo can deliver full torque or full speed, never both at once. The firmware caps joint speed at MAX_JOINT_SPEED_RAD_S in strido/policy.py, mirroring safety.h). At that speed the line leaves only about
Worked example: holding the stand pose
At the stand pose (
With four feet down, each foot carries a quarter of the weight:
The foot pushes down on the ground, so with the convention above
The thigh needs no torque, because the foot is straight under its pivot and the load passes through the joint. The knee needs
Through the four-bar,
As a cross-check, the lever-arm rule with the transmission angles
Dynamics check. The calf weighs mass_report.yaml) the knee sees about
Landing. strength.py assumes a hard landing of
per foot. Acting on the
Check yourself
- Derive
in one line from virtual work. - Why does the parallelogram not change the torque, yet can still overload the short link?
- Why does the thigh need almost no torque in the stand pose?
- Can the servo deliver
while turning at ?
Answers
for all , so . - Its input and output cranks are equal, so the
terms cancel in the torque ratio. The link force is , though, and it grows without bound as . - The foot is directly below the thigh pivot (
), so the vertical force has no lever arm about it. In the Jacobian, . - No. Under the linear model, about
is left at . Stall torque exists only at zero speed.
Further reading
- K. M. Lynch and F. C. Park, Modern Robotics, Cambridge University Press, 2017, ch. 5.2 (statics) and ch. 8 (dynamics of open chains).
- R. Featherstone, Rigid Body Dynamics Algorithms, Springer, 2008.
- B. Siciliano et al., Robotics: Modelling, Planning and Control, Springer, 2009, ch. 3.8 and 7.
- R. L. Norton, Design of Machinery, McGraw-Hill (linkage force analysis, transmission angle).
- Strength of the printed parts and servos in this wiki.