Although derivations based on Gauss's principle of least constraint are
now more commonplace (thank goodness!), the principle of virtual work is an
equivalent approach that we can still find in the literature. Also called
d'Alembert's principle, it relates
constrained motions to their constraint forces.
Virtual displacements
Consider the holonomic
constraint c(q)=0, which stacks a set of equations that
our system must follow troughout its motions. It could be for instance a biped
keeping its feet in contact with the ground, or a humanoid pushing against a
wall. The corresponding constraint Jacobian is:
Jc(q)q˙=∂q∂c(q)q˙=0Let us define a virtual displacement Δq as any vector in the
nullspace of the constraint Jacobian:
Jc(q)Δq=0Note that a virtual displacement Δq is not the same thing as
an actual displacement of the robot. At the acceleration level, a virtual
displacement (Δq,Δq˙) only satisfies the constraint:
Jc(q)Δq˙+Δq⊤Hc(q)Δq=0Whereas an actual displacement (q˙,q¨) satisfies both the
constraint and the equation of motion:
M(q)q¨+q˙⊤C(q)q˙Jc(q)q¨+q˙⊤Hc(q)q˙=STτ+τg(q)+Jc(q)⊤f=0This distinction shows that virtual displacements are more general than actual
displacements. It is important to keep in mind for what follows.
Virtual work
The principle of virtual work applies to ideal
constraints, i.e., constraints whose virtual displacements are reversible. In
robotics, this basically means all constraints except those that involve
friction. The principle states that constraint forces, i.e., the joint
torques τc that maintain the constraint c(q)=0 along a virtual displacement Δq, do not produce any
virtual work. That is:
τc⊤Δq=0Since Δq can be any virtual displacement in the nullspace
N(Jc) of the constraint Jacobian, this means
τc belongs to the orthogonal to this nullspace, which is also
equal to the range of the
Jacobian transpose:
τc∈N(Jc)⊥=R(Jc⊤)As a consequence, there exists a vector f of dual vectors such that
τc=Jc⊤f. We define constraint forces as these
dual vectors. To continue our example, if the constraint is that the biped's
feet stay in contact with the ground, then f are the ground contact
forces; if our constraint is that the humanoid's hands push against the wall,
then f are the wall contact forces.
To go further
The alternative Lagrangian derivation from the principle of least constraint
characterizes forces further than what we did above. As a matter of fact, the
principle of virtual work can be seen as the critical condition associated with
the principle of least constraint: for the latter, motions minimize an
objective function (deviation from unconstrained motion), for the former,
motions are in the nullspace of the gradient of this objective function.
Informally, since the critical point of a strictly convex function is its global optimum, the
two principles are equivalent.
The principle of virtual work is not always applicable: it only works with
ideal constraints where forces do not work along virtual displacements. This is
in particular not true for sliding friction where forces are opposite
end-effector velocities. In that case, the most straightforward solution is to
use a model of the friction force and map it through the Jacobian transpose in
the constrained equations of motion. For a proof of why this is valid, see for
instance equation (13) in Wieber's comments on the structure of the dynamics
of articulated motion.
Alternatively, the Udwadia-Kalaba formulation provides
an equivalent generalization of the principle of virtual work to non-ideal
constraints. It also derives from the principle of least constraint, yet it
involves pseudoinverses which are not as numerically stable as working directly
with the constrained equation of motion.
Discussion
Feel free to post a comment by e-mail using the form below. Your e-mail address will not be disclosed.