Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

mls94-complete[1]

.pdf
Скачиваний:
42
Добавлен:
10.06.2015
Размер:
2.8 Mб
Скачать

φ

θ

(x, y)

Figure 6.2: Disk rolling on a plane.

plane, the heading angle θ, and the orientation of the disk with respect to the vertical, φ. We write q = (x, y, θ, φ) and let ρ denote the radius of the disk. We take as inputs the driving torque on the wheel, τθ , and the steering torque (about the vertical axis), τφ.

We make the assumption that the disk rolls without slipping, just as in the case of a fingertip rolling on an object. This condition can be written as a set of velocity constraints

ρ sin θφ˙

= 0

 

0

1

0

ρ sin θ

˙

 

 

A(q)q˙ = 1

 

 

ρ cos θ q˙ = 0. (6.10)

ρ cos θφ = 0

or

0

0

These constraints require that the disk roll in the direction in which it is heading and that the velocity of the disk match the rate at which it is rolling on the plane. The constraints are everywhere linearly independent.

The Lagrangian for this system is the kinetic energy associated with the disk, ignoring the constraints. Let m be the mass of the disk, Iits inertia about the horizontal (rolling) axis, and I its inertia about the vertical axis. The Lagrangian is

1 2 2 1 I ˙ ∞I ˙ L(q, q˙) = 2 m(x˙ + y˙ ) + 2 θ + φ .

We can now proceed to derive the equations of motion for the system. Let δq = (δx, δy, δθ, δφ) represent a virtual displacement of the system. The Lagrange-d’Alembert equations are given by

 

 

0

I

I

τφ

·

 

0

1

0

ρ sin θ

 

 

m

m

0

 

 

0

 

 

1

0

0

ρ cos θ

 

 

 

 

 

 

τθ

 

δq = 0 where

 

 

 

 

δq = 0.

From the form of the constraints, we can solve for δx and δy to obtain

δx = ρ cos θδφ

(6.11)

δy = ρ sin θδφ.

273

The equations of motion can now be rewritten as

 

 

mρ cos θ

mρ sin θ y¨ + I0

I φ¨ τφ · δφ = 0,

0

0

0

¨

τθ

δθ

θ

and since δθ and δφ are free, the dynamics become

 

mρ cos θ

mρ sin θ y¨ + I0

I φ¨

= τφ .

(6.12)

0

0

0

¨

τθ

 

θ

 

We can further simplify the equations by reusing the constraints to eliminate x˙ , y˙ and x¨, y¨. Di erentiating the constraints, we have

¨

˙ ˙

 

x¨ = ρ cos θφ

ρ sin θθφ

(6.13)

¨

˙ ˙

 

y¨ = ρ sin θφ + ρ cos θθφ,

 

and substituting into equation (6.12) gives

I0

I + mρ φ¨

= τφ ,

(6.14)

0

¨

τθ

 

θ

 

which describes the motion of the system as a second-order di erential equation in θ and φ. Note that for this system the equations of motion for θ and φ do not depend on x and y, but in general this is not the case.

The motion of the x and y positions of the disk can be retrieved from the first-order di erential equations

˙

x˙ = ρ cos θφ

˙

y˙ = ρ sin θφ.

Thus, given the trajectory of θ and φ, we can determine the trajectory of the disk as it rolls along the plane. The splitting of the equations of motion into a set of second-order equations in a reduced set of variables plus a set of first-order equations representing the constraints is characteristic of nonholonomic systems.

1.4The nature of nonholonomic constraints

The machinery that we have developed in this section allows us to calculate the dynamics of a mechanical system subject to a set of Pfa an constraints without trying to integrate the constraints and find a set of generalized coordinates which completely (and minimally) parameterize the configuration of the system. In the case that the constraints are integrable, these equations are identical to those obtained by finding a set of appropriate generalized coordinates. When the constraints are nonintegrable, it is very important to incorporate the constraints in the proper

274

way. In this section, we try to shed some light on how nonintegrable constraints a ect the mechanics of the system and indicate what can go wrong if one is not careful.

A common mistake when deriving the equations of motion for a mechanical system with nonholonomic constraints is to substitute the constraints into the Lagrangian and then apply Lagrange’s equations. This would seem to eliminate the dependent variables and minimize computations. As we shall see in a moment, however, this gives the wrong equations of motion for the system. We have been very careful in this section to always compute the unconstrained Lagrangian, substitute into the Lagrange-d’Alembert equations, and then reapply the constraints to eliminate the dependent variables.

To see what happens when the constraints are used at the wrong time, consider a three-dimensional, unforced Pfa an system with configuration q = (r, s) R2 × R, constraint

s˙ + aT (r)r˙ = 0 a(r) R2,

and Lagrangian L(r, r,˙ s˙). For simplicity, we assume that both the Lagrangian and the constraints do not depend on the variable s. Define the constrained Lagrangian as

Lc(r, r˙) = L(r, r,˙ aT (r)r˙).

The constrained Lagrangian is the kinetic minus potential energy of the system, but evaluated with the constraints taken into account.

Suppose we substitute the constrained Lagrangian into the Lagrange- d’Alembert equations. Since there is no dependence on either s or s˙, these equations yield

d ∂Lc

∂Lc

= 0 i = 1, 2.

 

 

 

 

dt ∂r˙i

∂ri

Expanding the equations using the definition of Lc, we obtain

 

 

 

 

d

 

 

∂L

 

∂L

 

∂L

∂L

j

 

∂aj

j

 

 

 

 

dt

∂r˙i

ai(r) ∂s˙

∂ri

∂s˙

 

∂ri

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

and, rearranging terms, we can write this equation as

 

 

d ∂L

 

 

 

∂L

 

 

d ∂L

 

∂L

∂L

 

 

 

 

 

 

 

 

 

 

ai(r)

 

 

 

 

 

=

 

i(r)

dt

∂r˙i

∂ri

dt

∂s˙

∂s

∂s˙

= 0

j

∂ri i .

X

 

∂aj

(6.15) Notice that the left-hand side of this equation is exactly the Lagrange-

d’Alembert equation for the system. The right-hand side of the equation represents spurious terms that arise from substituting the constraints

275

into the Lagrangian. This shows that, in general, substituting a set of Pfa an constraints into the Lagrangian and then applying the Lagrange- d’Alembert equations gives the wrong equations.

Suppose now that the constraint is actually holonomic. For simplicity, we assume that the constraint is explicitly integrable, so that there exists a function h(r) such that

 

 

 

 

 

 

 

 

∂h

 

 

 

 

 

 

ai(r) =

 

.

 

 

 

 

 

 

∂ri

 

 

In this case, the right-hand side of equation (6.15) is

∂rj ∂ri

 

∂s˙

(a˙ i(r) j

∂ri

i) = ∂s˙

 

X

∂ri∂rj j

X

 

∂L

X

∂aj

 

∂L

 

 

2h

2h

i ,

which is identically zero since mixed partials commute. Hence, if the constraints happen to be holonomic, then substituting the constraints into the Lagrangian will give the correct equations of motion.

2Robot Hand Dynamics

Using the results from the previous section, we now derive the equations of motion for a system of robots performing a coordinated task. We begin with a multifingered hand manipulating an object and then show how the same formalism can be applied to other problems.

2.1Derivation and properties

The overall dynamics for a multifingered hand grasping an object are obtained by combining the dynamics of the fingers and the object via the grasp constraint. Adopting the notation of the previous chapters, the finger dynamics have the form

¨

 

˙ ˙

˙

(6.16)

Mf (θ)θ + Cf (θ, θ)θ + Nf (θ, θ) = τ,

Rn

 

 

 

where θ = (θf1 , . . . , θfk ) n

 

is the vector of joint angles for all of the fin-

gers in the hand and τ R

is the corresponding vector of joint torques.

Mf , Cf , and Nf are formed by appropriately stacking the quantities

obtained for the individual fingers:

 

. . .

 

 

..

.

Mf =

 

. . .

 

Cf =

Nf =

 

Mf1

 

0

 

Cf1

0

 

 

 

Nf1

 

 

0

 

Mfk

 

0

Cfk

 

Nfk

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

The object dynamics are given by the Newton-Euler equations, derived in Chapter 4. These equations have the form

 

mI 0

b

+

ωb × mvb

= F b,

0 I

ω˙ b

 

ωb × Iω

 

276

where V b = (vb, ωb) is the body velocity of the object, F b is the body wrench, m is the mass, and I is the moment of inertia matrix, all with respect to a frame attached at the center of mass. We write xo = (p, R) for the configuration of the object. If the object is subject to gravity alone, the dynamics can be written as

 

0

 

V

+

0

21 b

 

ω ) V

 

+

0

= 0, (6.17)

 

mI

0

˙ b

 

b

 

0

 

b

 

RT (m~g)

 

 

 

I

 

 

b

b

I − I

b

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

where ~g is a vector in the direction of gravity, usually taken to be ~g = (0, 0, 1).

In order to apply the Lagrange-d’Alembert equations, it is necessary to rewrite the Newton-Euler equations in local coordinates. Letting x R6 be a local parameterization for xo SE(3), the object dynamics can be written as

Mo(x)¨x + Co(x, x˙ )x˙ + No(x, x˙ ) = 0,

which has the same form as the robot dynamics in equation (6.16). It

 

˙

 

is skew-symmetric (see

can be shown that Mo(x) > 0 and Mo 2Co

Exercise 4).

 

 

 

The fingers and object are connected by the grasp constraints

˙

T

(θ, x)x,˙

(6.18)

Jh(θ, x)θ = G

 

written here in local coordinates. We make three assumptions about the structure of the grasp:

1.The grasp is force-closure and manipulable. Recall that this is equivalent to the conditions

G(F C) = Rp and R(GT ) R(Jh)

for all possible configurations.

2.The hand Jacobian is invertible. This condition insures that there are no redundant motions of the fingers and hence the hand has exactly the number of degrees of freedom required to complete the task.

3.The contact forces remain in the friction cone at all times. This condition is necessary in order to insure that the grasp constraints in equation (6.18) hold at all times. It is the task of the control law to insure that this condition holds, since otherwise the object can slip or drop from the grasp.

The first two assumptions can be relaxed; we discuss those cases in the next section.

277

The Lagrangian for the composite system is given by

 

 

1

˙T

˙

1

 

T

 

Vf (θ) Vo(x),

 

L =

2

θ

Mf θ +

2

 

Mo

(6.19)

where Vf and Vo are the potential energy terms due to gravity. Let q = (θ, x) represent the overall configuration of the system.

We can now apply the results of the previous section to derive the equations of motion. The velocity constraint in equation (6.18) generates a constraint on the virtual displacements δθ and δx, namely δθ = Jh1GT δx. Making use of this relationship, we can rewrite the Lagrange-

d’Alembert equations as

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

d ∂L

 

∂L

 

 

 

 

 

 

τ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0 · δq

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

dt

∂q˙

∂q

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

= "

d ∂L

 

 

∂L

τ

 

δθ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

dt

 

 

 

 

˙

 

 

∂θ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

∂θ

 

 

 

 

 

∂L

# ·

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

d

∂L

 

δx

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

dt ∂x˙

 

 

 

∂x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

· δx

 

 

 

 

 

=

d ∂L

 

 

 

 

∂L

τ · Jh1GT δx +

d ∂L

 

∂L

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

dt

∂θ˙

∂θ

dt

∂x˙

∂x

 

 

 

 

 

= GJhT

 

d ∂L

 

∂L

 

 

d ∂L

 

∂L

 

 

 

 

 

 

 

 

 

 

 

τ · δx +

 

 

 

 

 

 

· δx,

 

 

 

 

 

dt

∂θ˙

∂θ

dt

∂x˙

∂x

where we have used the properties of the inner product in the final step to isolate δx. Since δx is free,

 

d ∂L

∂L

+ GJhT

 

d ∂L

∂L

= GJhT τ.

(6.20)

 

 

 

 

 

 

 

 

 

 

 

 

dt

∂x˙

∂x

dt

∂θ˙

∂θ

Equation (6.20) together with the velocity constraints given in equation (6.18) describe the system completely. Note that equation (6.20) is a second-order vector equation with n m rows and equation (6.18) is a first-order vector equation with m rows.

Since the Lagrangian for the system splits into two separate parts, the two terms on the left-hand side of equation (6.20) simplify into the object dynamics and the finger dynamics, respectively. Using this fact

˙

¨

 

 

 

 

 

 

and eliminating θ and θ via the constraints, the equations of motion

become

 

 

 

 

 

 

 

˜

˜

˜

 

 

 

(6.21)

M (q)¨x + C(q, q˙)x˙ + N (q, q˙) = F,

 

 

where q = (θ, x) and

 

 

 

 

 

 

 

M˜ = Mo + GJhT Mf Jh1GT

 

 

 

 

 

 

N˜ = No + GJ T Nf

 

d

 

 

 

C˜ = Co + GJhT Cf Jh1GT + Mf

dt

Jh1GT

 

 

(6.22)

h

F = GJhT τ.

278

These equations have the same form as the equations for a single open-

˜

 

chain manipulator. M is called the the e ective mass of the object,

˜

˜

C the e ective Coriolis matrix,

and N the e ective gravitational and

nonconservative forces. These quantities include the dynamics of the fingers; however, the details of the finger kinematics and dynamics are

˜ ˜ ˜

e ectively hidden in M , C, N . The following lemma verifies that these equations also satisfy the same structural properties as the unconstrained case.

Lemma 6.1. Structural properties of the equations of motion

Equation (6.21) satisfies the following properties:

˜

1. M (q) is symmetric and positive definite.

˙

˜ ˜

2. M (q) 2C is a skew-symmetric matrix.

Proof. Since the grasp is assumed to be force-closure and manipulable and Jh is assumed injective, property 1 follows from its definition. To show property 2,

˙

 

 

 

M˜ 2C˜ = (M˙ o 2Co) + GJ T (M˙ f 2Cf )J 1GT

 

+

d

GJ T Mf J 1GT GJ T Mf

d

J 1GT

dt

dt

The first line is the sum of skew-symmetric pieces. Taking transposes and using symmetry of Mf inverts the sign of the last line, and hence it too is skew-symmetric.

Equation (6.21) was derived in terms of a local parameterization of SE(3). This was necessary since the Lagrange-d’Alembert equations only make sense for q Rn. Since SE(3) is not locally Euclidean, we cannot apply the Lagrange-d’Alembert equations directly in terms of xo SE(3). However, having derived the equations of motion in local coordinates, we can now revert to SE(3) and write the dynamics as

 

˜ ˙ b

˜

b

˜

b

,

(6.23)

 

M (q)Vo

+ C(q, q˙)Vo

+ N (q, q˙) = F

˜ ˜

˜

 

 

 

 

 

 

where M , C, and N are described precisely as before except using the

global versions of the inertial parameters. The proof of this fact is left as an exercise. We make use of the local parameterization of the system for the remainder of this section since it simplifies the exposition.

2.2Internal forces

In Chapter 5, we saw that if a grasp is force-closure, then there exist contact forces which produce no net wrench on the object. These forces are called internal forces. Their presence in the dynamics is seen in the

279

forcing term F = GJhT τ , which maps joint torques into object forces. If JhT τ N(G), then no net wrench is generated.

However, even if JhT τ has no component in N(G), internal forces may still be present in the system. These internal forces can arise due to the constraint forces which the Lagrange-d’Alembert equations eliminated. Defining q = (θ, x), the full equations of motion can be written as

 

 

 

d ∂L

∂L

+ AT (q)λ Υ = 0,

 

 

 

 

 

 

 

 

 

 

dt ∂q˙

∂q

T

Rm is the vector of Lagrange multipliers and the columns of

where λ

 

A (q) correspond to the constraint directions. For a multifingered grasp we can choose

 

 

 

 

 

A(q) = Jh(θ, x) GT (θ, x)

 

 

and the full equations of

motion have the form

 

 

 

 

 

 

+ No +

Gh

λ = 0 .

 

 

0

Mo

+

0

Co

 

(6.24)

 

Mf

0

¨

 

Cf

0

˙

Nf

J

T

τ

 

 

θ

 

θ

 

 

 

We see immediately from equation (6.24) that the Lagrange multipliers λ Rm can be interpreted as contact forces. The net constraint forces act as external forces applied at the tip of the fingers and at the contact points on the object. If λ has a component in the null space of G, then internal forces will be present.

To solve for the instantaneous forces during motion, we solve for the

¯ ¯

Lagrange multipliers using the results of Section 1.2. Letting M , C, and

¯

N represent the block matrices in equation (6.24), we have

λ = (AM¯ 1AT )1

AM¯ 1

0

C¯N¯ + Aq˙ ˙ .

(6.25)

 

 

τ

 

 

We can compute the internal forces as a function of the current configuration, velocity, and applied torques by projecting λ onto the null space of G. The computation of λ and its projection is evidently extremely messy. In practice, the internal forces generated by non-quasistatic motion are either ignored or measured directly (via force sensors at the contacts).

An alternative way to find the constraint forces is to solve for them in terms of the joint accelerations. If Jh is invertible, the contact forces satisfy

T ¨ ˙

λ = Jh τ Mf θ Cf θ Nf .

From this equation it is clear that if the system is in motion, then internal forces may exist even if JhT τ has no component in the null space of G: the dynamic terms may generate internal forces. Notice also that λ = fc := JhT τ only when the system is at rest.

280

Figure 6.3: Coordinated lifting.

All of the analysis presented here relies on the assumption that the fundamental grasping constraint holds at all times. Even though we are solving for the contact forces, it is important to remember that the contact forces are generated by the constraints. If the contact forces fall outside of the friction cone, then the velocity constraints on the system no longer hold and the equations of motion are no longer given by equation (6.24). It is one of the tasks of control system to keep the contact forces inside the friction cone so that the models we use here remain valid.

2.3Other robot systems

Although the analysis so far has been motivated by grasping, the basic formulation holds for any robot system subject to constraints of the form

˙

T

(q)x˙

J (q)θ = G

 

with q = (θ, x). Any such system will automatically have dynamics with the same form and structure as those of an open-chain manipulator. In this section, we describe several such examples.

Coordinated lifting

Consider a robotic system which consists of several individual robots lifting a single object, such as the example shown in Figure 6.3. Assume that each robot firmly grasps the object and can exert arbitrary wrenches without losing contact.

To derive the kinematics of this system we can treat each robot as a single finger. The contact model for a robot firmly grasping an object is given by Bci = I Rp×p and F C = Rp. This is just the mathematical statement that the robot can exert arbitrary forces and torques. Substituting these relations into the grasp constraint and identifying the

281

Figure 6.4: The Motoman K10MSB robot performing an arc welding task. (Photograph courtesy of Motoman)

contact and tool frames, we have

 

θ˙ =

 

 

.. ot1 V b .

 

gs1t1

s1t1 . .

 

 

 

 

 

 

Ad1

J s

 

 

0

 

 

 

Adg1

 

 

 

 

 

.

 

k k

 

.

 

k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

1

s

 

 

 

1

 

 

 

 

 

 

 

Adgs t

Jsk tk

Adgot

 

 

|

 

 

 

{z

 

 

 

 

}

|

 

 

{z

 

 

 

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

J

 

 

 

 

 

 

GT

 

 

 

 

The dynamics of the system follow exactly as in the grasping case.

Workspace dynamics

Many robot systems perform tasks which are most naturally described in workspace coordinates rather than joint space coordinates. For example, in the welding application depicted in Figure 6.4, a natural description of the task would be in terms of the position and orientation of the welding tip. Rather than solve an inverse kinematics problem to generate the corresponding path in joint space, it is possible to directly specify the dynamics in terms of the workspace coordinates (SE(3) for this example).

For simplicity, we work in local coordinates. Let g : Q Rp represent the forward kinematics of the manipulator and J (θ) = ∂g∂θ the Jacobian. We assume that J is square and nonsingular. We take dynamics of the

282

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]