
mls94-complete[1]
.pdf
η = (sf , so) evolve according to |
|
|
|
|
(Rc˙ f + p˙)! |
||||||
s˙f = (Ko + Kf )−1 |
|
∂so |
Rn˙ f + Ko ∂so |
||||||||
|
|
∂co T |
|
|
∂co T |
|
|
||||
s˙o = (Ko + Kf )−1 |
|
|
|
|
Rn˙ |
|
|
|
|
|
(Rc˙ f + p˙)! |
−∂so |
f + Kf ∂so |
||||||||||
|
|
|
∂co T |
|
|
∂co T |
|
(b)Derive the equations of contact for a planar, elliptical finger rolling against a flat object.
18.Consider the coordinated lifting problem shown below. Derive the constraints between the beam velocity and the robot joint velocities. Assume that each finger firmly grips the end of the beam and that the forces are transmitted to the beam at the center of the gripper.
19.Rederive the contact kinematics when the finger and object surfaces
are given as the level sets of functions hf : R3 → R and ho : R3 → R (for example, a sphere of radius ρ satisfies hf (x) = x21+x22+x23−ρ2 = 0). Test your solution using an ellipsoid rolling on a plane.
263
264
Chapter 6
Hand Dynamics and
Control
In this chapter, we study the dynamics and control of a set of robots performing a coordinated task. Our primary example will be that of a multifingered robot hand manipulating an object, but the formalism is considerably broader. It allows a unified treatment of dynamics and control of robot systems subject to a set of velocity constraints, generalizing the treatment given in Chapter 4.
1Lagrange’s Equations with Constraints
For an open-chain manipulator, the equations of motion can be derived using Lagrange’s equations or other similar methods. This involves finding a set of generalized coordinates which completely and minimally parameterize the configuration space of the system, and then writing the dynamics in terms of these coordinates and the corresponding generalized forces.
For a multifingered robot hand, the configuration of the system depends on the joint angles for the fingers as well as the position and orientation of the object. These quantities are not independent, however, since their velocities are related by the grasping constraint. Thus, we cannot apply Lagrange’s equations directly. Finding a set of generalized coordinates in such examples is non-trivial and, in some cases, impossible.
To overcome this di culty, we rederive the equations of motion for a mechanical system in the presence of constraints. That is, rather than attempting to eliminate the constraints by an appropriate choice of coordinates, we seek to incorporate the constraints directly into the equations of motion. The remainder of this section contains a sketch of this derivation. A more complete derivation can be found in Rosenberg [99] or
265
Pars [89].
For simplicity, we assume throughout this section that the configuration space Q is an open subset of Rn with coordinates q = (q1, . . . , qn). More general configuration spaces can be handled by an appropriate choice of local coordinates.
1.1Pfa an constraints
A constraint on a mechanical system restricts the motion of the system by limiting the set of paths which the system can follow. A simple example is the case of two particles attached by an inextensible, massless rod. The configuration of each particle is described as a point pi R3, but all trajectories of the particles must satisfy the algebraic constraint
kp1 − p2k2 = L2, |
(6.1) |
where L is the length of the rod. The constraint acts through the application of constraint forces, which modify the motion of the system to insure that the constraint is always satisfied. In the case of the two interconnected particles, the constraint force corresponds to the tension in the rod, which transmits forces applied on one particle to the other particle, and causes the distance between the particles to remain fixed.
The constraint in equation (6.1) is an example of a holonomic constraint. More generally, a constraint is said to be holonomic if it restricts the motion of the system to a smooth hypersurface in the (unconstrained) configuration space Q. Holonomic constraints can be represented locally as algebraic constraints on the configuration space,
hi(q) = 0, i = 1, . . . , k. (6.2)
Each hi is a mapping from Q to R which restricts the motion of the system. We assume that the constraints are linearly independent and hence the matrix
|
|
= |
∂h1 |
·.·.·. |
∂h1 |
|
|
∂h |
∂q1 |
∂qn |
|||
∂q |
|
|
||||
|
|
|
∂hk |
· · · |
∂hk |
|
|
|
∂q1 |
∂qn |
|||
|
|
|
|
|
|
is full row rank. (In the classical mechanics literature, constraints of the form in equation (6.2) are sometimes referred to as scleronomic constraints. Holonomic and scleronomic come from Greek and mean respectively “all together lawful” and “rigid” respectively. Time-varying constraints on q are called rheonomic, for “flowing.” We will not use the terms scleronomic and rheonomic in this book, only the term holonomic.)
Since holonomic constraints define a smooth hypersurface in the configuration space, it is possible to “eliminate” the constraints by choosing a set of coordinates for this surface. These new coordinates parameterize
266

all allowable motions of the system and are not subject to any further constraints. In fact, this is precisely the technique which we use when writing down the motion of a rigid body in terms of the position and orientation of a single coordinate frame rather than the (constrained) motion of the individual points of the rigid body.
The constraint forces for a set of holonomic constraints of the form in equation (6.2) are linear combinations of the gradients of the constraint functions hi : Q → R. Letting h : Q → Rk represent the vector-valued constraint function, we can thus write the constraint force as
= ∂h∂q T λ,
where λ Rk is the vector of relative magnitudes of the constraint forces. These constraint forces can be viewed as acting normal to the constraint surface, with the magnitude of the forces chosen to insure that the system remains on the constraint surface defined by equation (6.2). Note that no work is done by the constraints when the system is moved along feasible trajectories since
· q˙ = λT ∂h∂q q˙ = λT dtd h(q) = 0.
A fundamentally di erent type of constraint occurs in the context of multifingered grasping, where the allowable motions of the system are restricted by the velocity constraint
˙ |
T |
b |
Jh(θ, xo)θ = G |
|
(θ, xo)Vpo. |
More generally, for a system with configuration space Q, we consider velocity constraints of the form
A(q)q˙ = 0,
where A(q) Rk×n represents a set of k velocity constraints. A constraint of this form is called a Pfa an constraint. We assume that the constraints are pointwise linearly independent and hence that A(q) is full row rank at q Q. For a multifingered hand, the matrix A has the form
A(q) = Jh(q)
−GT (q) ,
where q = (θ, x) and x represents a choice of local coordinates for the object position and orientation.
Since a Pfa an constraint restricts the allowable velocities of the system but not necessarily the configurations, we cannot always represent it as an algebraic constraint on the configuration space. A Pfa an constraint is said to be integrable if there exists a vector-valued function
267
h : Q → Rk such that |
|
|
|
|
|
∂h |
|
A(q)q˙ = 0 |
|
q˙ = 0. |
|
∂q |
Thus, an integrable Pfa an constraint is equivalent to a holonomic constraint. It is important to note that we do not require that A = ∂h∂q , but only that they define the same subspace of the allowable velocities at every q Q.
A Pfa an constraint which is not integrable is an example of a nonholonomic constraint. Nonholonomic constraints of this type occur when the instantaneous velocities of the system are constrained to an n − k dimensional subspace, but the set of reachable configurations is not restricted to some n−k dimensional hypersurface in the configuration space. As we shall see in the next chapter, not all Pfa an constraints are integrable, and hence we must extend our derivation of the equations of motion to account for this case.
Despite the possibility that a constraint may be nonholonomic, it is still possible to speak of the forces of constraint. They are the forces which are generated by a set of Pfa an constraints so as to insure that the system does not move in the directions given by the rows of the constraint matrix A(q). The constraint forces at a configuration q Q have the form
= AT (q)λ,
where λ Rk is the vector of relative magnitudes of the constraint forces. If the constraint happens to be integrable, then this is identical to the holonomic case since AT (q) and ∂h∂q T will have the same range space.
The constraint forces for a set of Pfa an constraints prevent motion of the system in directions which would violate the constraints. In order to include these forces in the dynamics, we must add one additional assumption about the nature of the constraints. Namely, we assume that the forces which are generated by the constraints do no work on the system, and hence conserve energy. This assumption is often referred to as d’Alembert’s principle.
The assumption that the constraints do no work is easy to justify in many situations. In particular, if a system is subject to rolling, either about a point or along a surface, then the frictional forces due to this rolling are very small and can usually be ignored. However, if some sliding occurs in addition to rolling, the work done depends upon the magnitude of the normal force, and the constraints cease to be workless. In cases such as these, friction and other nonconservative forces can be incorporated by ignoring them initially, and then adding them as external forces once the dynamics have been derived.
268
1.2Lagrange multipliers
We can now proceed to derive the equations of motion for a mechanical system with configuration q Rn subject to a set of Pfa an constraints. Let L(q, q˙) represent the Lagrangian for the unconstrained system and let the constraints have the form
A(q)q˙ = 0 A(q) Rk×n. |
(6.3) |
We assume that constraints are everywhere smooth and linearly independent and that the forces of constraint do no work on the system.
The equations of motion are formed by considering the constraint forces as an additional force which a ects the motion of the system. Hence, the dynamics can be written in vector form as
d ∂L |
− |
∂L |
+ AT (q)λ − Υ = 0, |
(6.4) |
||
|
|
|
|
|||
dt ∂q˙ |
∂q |
where the columns of AT form a non-normalized basis for the constraint forces and λ Rk gives the relative magnitudes of the forces of constraint. As before, Υ represents nonconservative and externally applied forces.
The scalars λi, . . . , λk are called Lagrange multipliers. They are determined by solving equations (6.3) and (6.4) for the n + k variables q and λ, insuring that no motion occurs in the constrained directions, and hence equation (6.3) holds for all time. In general, each λi will be a function of q, q˙, and Υ, since the constraint forces vary with the configuration, velocity, and applied force. Solving for these multipliers and substituting them back into the equations of motion gives a description of the dynamics of the system.
In the case that the Lagrangian has the form L(q, q˙) = 12 q˙T M (q)q˙ − V (q) (kinetic minus potential), we can derive an explicit formula for the Lagrange multipliers. Using the notation from Chapter 4, the equations of motion can be written as
M (q)¨q + C(q, q˙)q˙ + N (q, q˙) + AT (q)λ = F, |
(6.5) |
where F corresponds to the vector of external forces and N (q, q˙) includes nonconservative forces as well as potential forces. Di erentiating the constraint equation (6.3) yields
˙
A(q)¨q + A(q)q˙ = 0
and, solving for q¨ from equation (6.5), we obtain
(AM −1AT )λ = AM −1(F |
− |
Cq˙ |
− |
N ) + Aq,˙ ˙ |
|
|
|
where we suppress the dependence on q and q˙. The configuration dependent matrix AM −1AT is full rank if the constraints are independent, and
269

y
x
θ |
|
|
|
|
|
|
|
|
mg |
|
|
Figure 6.1: Idealized planar pendulum. |
|
|
hence the Lagrange multipliers are |
|
|
λ = (AM −1AT )−1 AM −1(F − Cq˙ − N ) + Aq˙ ˙ . |
(6.6) |
Using this equation, the Lagrange multipliers can be computed as a function of the current state, q and q˙, and the applied forces, F . The equations of motion are now given by equation (6.5) with λ defined as in equation (6.6).
Example 6.1. Dynamics of an idealized planar pendulum
Consider an idealized pendulum, with its mass concentrated at the tip, as shown in Figure 6.1. The mass is a particle with two degrees of freedom; the pendulum mechanism acts as a constraint which restricts the motion to a single degree of freedom. Rather than parameterize the system in terms of the angular variable θ, we instead derive the equations using the method of Lagrange multipliers.
The configuration of the system is given by q = (x, y) R2. The constraint that the length of the pendulum remain fixed can be written
as
x2 + y2 = l2.
Di erentiating this constraint and dividing by two, we obtain the Pfa an
constraint |
|
|
|
|
|
y˙ |
|
|
|
|
|
|
x |
|
y |
= 0. |
|
|
|
|
|||
|
A(q) |
x˙ |
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
The (unconstrained) |
Lagrangian is simply L(q, q˙) = 1 |
2 |
+ y˙ |
2 |
) − mgy. |
||||||
| |
{z |
} |
|
2 m(x˙ |
|
|
Substituting into equations (6.5), Lagrange’s equations for the con-
strained system become |
|
|
mg |
|
y |
|
0 m y¨ |
+ |
+ |
λ = 0. |
|||
m 0 |
x¨ |
|
0 |
|
x |
|
270
The Lagrange multiplier λ is determined from equation (6.6), which gives
|
|
|
m− |
1 |
|
T |
|
− |
1 |
2 |
|
− 2 |
− m |
− N ) −2Aq˙ |
2 |
||
|
λ = (AM |
|
A |
|
) |
|
|
AM |
|
(Q Cq˙ |
|
|
|||||
|
|
= |
|
(−gy − x˙ − y˙ ) = − |
|
(gy + x˙ + y˙ ), |
|||||||||||
|
|
x2 + y2 |
l2 |
||||||||||||||
and hence the equations of motion are |
|
|
|
|
|||||||||||||
|
0 |
m y¨ + mg − l2 |
y |
mgy + m(x˙ 2 + y˙2) |
= 0. |
||||||||||||
|
m |
0 x¨ |
|
|
|
0 |
|
1 |
|
x |
|
|
|
|
Note that this is a second-order di erential equation in two variables, x and y, even though the actual system only has one degree of freedom. Thus, we have increased the number of variables required to represent the motion of the system. On the other hand, we have an explicit measure of the tension in the rod supporting the mass, namely
Tension = |
y |
|
λ = l |
y + |
l (x˙ 2 |
+ y˙2). |
||
|
|
x |
|
mg |
m |
|
1.3Lagrange-d’Alembert formulation
It is convenient and useful to rederive the equations of motion without explicitly solving for the instantaneous constraint forces present in the system. In essence, this proceeds by projecting the motion of the system onto the feasible directions and ignoring the forces in the constrained directions. In doing so, we will be able to get a more concise description of the dynamics which is in a form well suited for closed-loop control.
At a given configuration q Rn, the instantaneous set of directions in which the system is allowed to move is given by the null space of the constraint matrix, A(q). We adopt the classical notation and call a vector δq Rn which satisfies A(q)δq = 0 a virtual displacement. If F is a generalized force applied to the system, then we call δW = F · δq the virtual work due to a force F acting along a virtual displacement δq. D’Alembert’s principle states that the forces of constraint do no virtual work. Hence,
(AT (q)λ) · δq = 0 for A(q)δq = 0.
It is important to keep in mind that δq is not the same as q˙. The generalized velocity q˙ satisfies both the velocity constraints and the equations of motion. The virtual displacement only satisfies the constraints. Hence, d’Alembert’s principle asserts that constraint forces do no work for any instantaneous motion which satisfies the constraints, not just for the motion which the system actually follows.
271
To eliminate the constraint forces from equation (6.4), we project the equations of motion onto the linear subspace generated by the null space
of A(q). Since (AT λ) · δq = 0, equation (6.4) becomes |
|
|||||||
|
d ∂L |
|
∂L |
|
||||
|
|
|
|
|
− |
|
− Υ · δq = 0, |
(6.7) |
dt |
∂q˙ |
∂q |
||||||
where δq Rn satisfies |
A(q)δq = 0. |
(6.8) |
||||||
|
|
|
|
|
We call equations (6.7) and (6.8) the Lagrange-d’Alembert equations. Note that in the case where there are no constraints on the system, δq is free and equation (6.7) reduces to the usual form of Lagrange’s equations.
To get a more explicit description of the dynamics, we assume that A(q) has the form
|
|
|
|
|
A(q) = A1(q) A2(q) , |
|
|
× |
|
|
invertible. This can always be achieved locally by |
||
where A2(q) |
Rk |
k |
is |
|||
|
|
|
|
reordering the configuration space variables. We now relabel the configuration as q = (q1, q2) Rn−k × Rk so that
A(q) · δq = 0 δq2 = −A−2 1(q)A1(q)δq1,
where δq1 is free (unconstrained). Making use of this same notation in the Lagrange-d’Alembert equations yields
dt ∂q˙ |
− ∂q −Υ · δq |
|
|
|
|
|
|
|||||||||||
|
d ∂L |
|
|
∂L |
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
∂q1 −Υ1 ·δq1 |
+ dt ∂q˙2 − |
∂q2 −Υ2 ·δq2 |
|
|||||
|
|
|
= |
dt ∂q˙1 − |
|
|||||||||||||
|
|
|
|
|
d |
|
∂L |
|
∂L |
|
d ∂L |
∂L |
|
|||||
= |
dt ∂q˙1 − |
∂q1 −Υ1 ·δq1 |
+ dt ∂q˙2 − |
∂q2 −Υ2 · −A2−1A1 |
||||||||||||||
|
|
|
|
|
d |
|
∂L |
|
∂L |
|
d ∂L |
∂L |
|
|||||
and since δq1 is free, the equations of motion become |
|
|||||||||||||||||
|
dt ∂q˙1 − ∂q1 |
− Υ1 − A1T A2−T dt ∂q˙2 |
− ∂q2 − Υ2 |
= 0. |
||||||||||||||
|
|
|
d ∂L |
|
|
|
∂L |
|
|
|
|
d ∂L |
|
∂L |
|
δq1,
(6.9)
Equation (6.9) is a second-order di erential equation in terms of q = (q1, q2). We can further simplify this equation using the constraint q˙2 = −A−2 1A1q˙1 to eliminate q˙2 and q¨2. The evolution of q2 can be retrieved by reapplication of the constraint equations. This procedure is illustrated in the next example.
Example 6.2. Dynamics of a rolling disk
Consider the example of a disk rolling on the plane, as shown in Figure 6.2. The configuration of the disk is given by the xy position in the
272