Static Forces and Joint Torques
Learning Objectives
- State together with its hypotheses: static equilibrium, frictionless joints, rigid links, gravity handled separately, and a Jacobian and a force that refer to the same point and frame.
- Derive the relation from the principle of virtual work, then check it numerically with finite joint displacements and with moment arms.
- Add the gravity torques to the contact torques, and recognize gravity itself as applied to the weights of the links.
- Explain what happens at and near a singularity: forces carried by the structure, torques that no tip force can balance, and torque errors that grow into large force errors.
Context & Motivation
velocity-kinematics-and-the-jacobian builds the Jacobian, the matrix that turns joint velocities into end-effector velocity, and singularities-and-manipulability studies the configurations where it loses rank. This lesson uses the same matrix, transposed, in the opposite direction: from a force at the end effector to the joint torques that hold it.
The question comes up whenever a robot touches something. A polishing arm presses a pad against a surface with a set force. An assembly robot pushes a peg into a hole. A robot without a force sensor can estimate the contact force from its joint torques. Each case needs the map between joint torques and end-effector force, and each case needs to know when that map stops being trustworthy.
Core Theory
The arm and its conventions
The running example is a planar two-link arm with revolute joints. The base frame has horizontal and vertical, upward. The angle is measured from the axis to link 1, counterclockwise positive; is the angle of link 2 relative to link 1. Vectors are columns. The link lengths are assumed values: m and m. With , and so on, the tip position and the Jacobian of the tip's linear velocity are
Virtual work
Let the arm be at rest at . Joint torques act on the links, and the end effector presses on the environment with a force ; by Newton's third law the environment presses back with . A virtual displacement is an infinitesimal change of configuration that respects the joints; it moves the tip by . The principle of virtual work says that a frictionless mechanism is in equilibrium exactly when the total virtual work of the applied forces vanishes for every admissible displacement. The constraint forces inside the joints do no work, because a frictionless joint only resists motion that the joint does not allow. So
The last step needs the components of to be independent, which they are for an open chain because the joint angles are generalized coordinates. This is the proof given as Theorem 6.1 in Asada's MIT 2.12 notes. Lynch and Park reach the same equation in Modern Robotics by a power balance, , taken in the limit of zero velocity.
The hypotheses are part of the result:
- Static equilibrium. No acceleration and, in the limit, no velocity. When the arm moves, the inertial and velocity terms of
lagrangian-dynamics-of-an-open-chain-robotare added. - Frictionless joints. With static friction a joint can hold any torque up to its friction limit without moving, so the torque that holds a given is no longer unique.
- Rigid links. A flexing link adds coordinates that does not describe.
- Gravity separate. is only the part that balances the contact force. Asada calls it the equivalent joint torques and says it does not account for gravity and friction.
- Same point, same frame. must give the velocity of the point where acts, in the frame where is written. In this lesson is the force the robot applies to the environment. Some texts use the force the environment applies to the robot, which flips the sign.
Moments and the wrench
If the end effector also applies a moment about the axis normal to the plane, the angular velocity of link 2, , enters the power balance with the row , so . In space, force and moment are stacked into a six-component wrench, and Modern Robotics writes with the body Jacobian and the wrench in the end-effector frame, or with both in the space frame. The book orders the twist as angular then linear velocity, and the wrench as moment then force, so the rows match. A Jacobian whose rows are derivatives of Euler angles (an analytic Jacobian) pairs with whatever quantity makes power with Euler-angle rates. That quantity is not the physical moment, so physical moments need the geometric Jacobian.
Gravity is the same law
Each link's weight is a force at its center of mass. Applying the virtual-work argument to the weights gives the torques that hold the arm still against gravity:
where is the Jacobian of the center of mass of link , is the gravitational acceleration and is the potential energy. The total holding torque is . The masses assumed for this arm are kg and kg, with centers of mass at m and m from their joints, and . Then
Duality and singularities
is defined for every : the map from force to torque never fails. The reverse question, which tip force a given produces or measures, is where trouble lives. For a square nonsingular , . If is a singular value decomposition, then : the directions that are slow for velocity (small ) are the directions where a given torque buys a large force. Asada calls this the duality of differential kinematics and statics, and states the subspace version: the null space of is the set of tip forces that need no joint torque, because the structure carries them, and these are exactly the directions in which the tip cannot move. The range of is the set of torques that some tip force can balance; a torque with a component outside it cannot be held statically, and the arm moves.
For a redundant arm ( joints, larger than the task dimension) is tall, so not every torque is in its range. Modern Robotics notes that such an arm is not immobilized even with its end effector fixed in place, and that dynamics is then needed to know what happens.
Worked Examples
Example 1: pushing on a wall
At link 2 points straight up, the elbow is at m and the tip at m. The arm pushes a wall on its right with N, and gravity is ignored for now.
Moment arms confirm it. A horizontal force at height m above joint 1 produces a moment about joint 1, and the tip is m above joint 2, giving . Both are clockwise, so both torques are negative: rotating a vertical link 2 clockwise moves its tip to the right, into the wall.
Now check virtual work with finite displacements. Take a direction in joint space (, the vector numpy.random.default_rng(0).standard_normal(2) normalized to length 1), move to with the exact forward kinematics, and compare the work with :
textepsilon joint work tip work relative difference 1e-1 -1.5837e-01 -1.6852e-01 -6.4e-02 1e-2 -1.5837e-02 -1.5940e-02 -6.5e-03 1e-3 -1.5837e-03 -1.5847e-03 -6.5e-04 1e-4 -1.5837e-04 -1.5838e-04 -6.5e-05
The difference shrinks in proportion to , which is what "equal to first order" means: the finite displacement adds a second-order term from the curvature of , and the virtual displacement leaves it out. A central difference of in each joint direction, with step , gives to the printed precision, the same vector as .
Example 2: adding gravity
At the same configuration, , so link 2's weight passes through joint 2 and . Joint 1 carries both links:
Two independent computations give the same : the sum and a central-difference gradient of both return . Gravity and the wall partly cancel at joint 1. A motor sized from the contact force alone, or from gravity alone, would be sized wrong.
Example 3: walking into the stretched singularity
Fix and bring the elbow toward , where the arm lies straight along and has rank 1. The table gives the singular values of , the torques for a 10 N push along (along the arm) and along (across it), the largest allowed by a torque limit N m, and the worst-case force error caused by a torque uncertainty of N m on each joint (from static friction or from a torque sensor), computed as the largest over the corners of that box:
textq2 sigma_1 sigma_2 tau for Fx=10 N tau for Fy=10 N max Fx (N) force error (N) 0 deg 0.9849 0 (0, 0) (9.0, 4.0) unbounded unbounded 1 deg 0.9848 0.0035 (-0.07, -0.07) (9.0, 4.0) 2865 186 5 deg 0.9840 0.0177 (-0.35, -0.35) (8.98, 3.98) 574 37 30 deg 0.9515 0.1051 (-2.0, -2.0) (8.46, 3.46) 100 6.3 90 deg 0.6986 0.2863 (-4.0, -4.0) (5.0, 0.0) 50 2.4
Four things happen as .
The structure takes the load. At a push along the arm needs zero torque: is in the null space of . The links work in compression, like a column, and the joints feel nothing about their axes.
Some torques cannot be balanced. The range of at is the line spanned by . The torque is not on it; the least-squares tip force leaves a torque residual of N m that nothing balances, so the arm cannot stay put.
Force is cheap along the lost direction. At a 20 N m limit allows a 2865 N push along the arm, 57 times more than at . This is the mechanical advantage of a nearly straight linkage. The required torque also changes sign across the singularity: at the same push needs N m, so a controller holding a large axial force near has to know on which side the elbow is.
Force estimates break. Reading the contact force from joint torques uses , whose largest gain is : 3.5 at , 282 at . A torque uncertainty of N m, harmless at (2.4 N of force error), becomes 186 N at . A force estimated from joint torques is therefore least reliable along the directions where the arm is strongest.
Common Misconceptions & Pitfalls
- " is the motor torque." It is the part that balances the contact force. Gravity, friction and, during motion, the dynamic terms are added; in Example 2 gravity was larger than the contact term at joint 1.
- "Near a singularity the arm is weak." It is weak across the lost direction for motion and very strong along it for force: 2865 N against 50 N in Example 3. What fails is the ability to choose the force freely and to measure it.
- " always works." It needs square and nonsingular. At a singularity some torques have no balancing force, and for a redundant arm is not square.
- "The sign takes care of itself." is the force on the environment here. Using the force on the robot without changing the sign gives torques that push the wrong way.
- "Any Jacobian will do." must belong to the point where the force acts and be written in the frame of . An analytic Jacobian built from Euler-angle rates does not map physical moments.
- "Static means the formula is exact." With static friction the holding torque lies in a band per joint, and Example 3 shows how far that band reaches in force space near a singularity.
Summary
At static equilibrium with frictionless joints and rigid links, the joint torques that balance an end-effector force are , where is the Jacobian of the contact point in the frame of and is the force the robot applies. Virtual work gives the result in one line, and finite displacements confirm it to first order: the relative difference fell from to as went from to . Gravity is the same law applied to the weights, , and is added to the contact torques. The map from force to torque is always defined; the map back, , has gain . At the stretched singularity a force along the arm needs no torque, some torques have no balancing force, a 20 N m limit buys thousands of newtons along the arm, and a N m torque error turns into a 186 N force error one degree away.