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

mls94-complete[1]

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

The addition of the internal variables does not alter the nonmanipulable nature of the grasp since Jh still does not span the range of GT . Because rotations of the object about the line connecting the contacts are the source of the di culty, we eliminate these directions from the allowable velocities of the system. Choosing

 

 

0 0 0 0 0

 

0 0

 

 

 

 

 

H

0

 

 

 

 

 

 

 

1 0 0 0 0

 

0 0

 

 

 

 

 

 

 

 

 

H =

 

0 1 0 0 0

 

0 0

 

 

=

0 I

0 0 0 0 1

 

0 0

 

 

 

 

 

 

0 0 1 0 0

 

0 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0 0 0 1 0

 

0 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0 0 0 0 0

 

1 0

 

 

 

 

 

 

 

 

 

 

 

0 0 0 0 0

 

0 1

 

 

 

 

 

 

 

 

 

the resulting contact becomes

θ = G2 H

 

 

0 " # ,

10 x

 

0

 

 

Jh2

 

K

 

 

 

K

 

 

 

 

 

GT H

0

 

 

Jh1

 

0

 

˙

 

 

1

 

 

I

 

w

 

 

1

 

 

2

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

←−−−−−−−−−→8

 

 

←−−−−−−−−−→7

 

 

where Vpob = Hwis in the set of allowable object velocities. A detailed calculation verifies that this constraint is manipulable and that no internal motions exist. We can now solve for the dynamics of the system in terms of the workspace variables w = (w, y) R7, keeping in mind

 

¯

¯

that the pseudo-inverse of Jh must be used since Jh is surjective onto the

¯T

but not square.

 

range of G

 

4Kinematics and Statics of Tendon Actuation

In many robot applications, it is di cult to control the torques on the joints directly, due to the size of the actuators required to exert reasonably sized forces. A more practical approach is to use a transmission network to carry forces from an actuator to the appropriate joint. Such a network typically consists of some combination of linkages, tendons, gears, and pulleys.

In this section, we consider one of the more common transmission systems, a network of tendons. Tendons o er advantages in terms of weight and flexibility; however, they can complicate the kinematics of the mechanism. The basic problem which we study is to describe how forces applied at the end of a tendon relate to the joint torques applied to the mechanism. We also examine a second, somewhat less-common situation in which elastic tendons are driven by position-controlled actuators, such as a stepper motor.

293

h1

 

 

1

h2

 

h3

4

 

joint 1

joint 2

h4

 

Figure 6.7: A tendon-driven finger.

4.1Inelastic tendons

Consider a finger which is actuated by a set of inelastic tendons, such as the one shown in Figure 6.7. Each tendon consists of an inextensible cable connected to a force generator, such as a DC motor. For simplicity, we assume that each tendon/actuator pair is connected either between the base of the hand and a link of the finger, or between two links of the finger. Interconnections between tendons are not allowed. We wish to describe how forces applied at the end of the tendons are related to the torques applied at the joints.

Note that even though each tendon can be connected to only one link, pulling on a tendon may generate forces on many joints. This occurs because as we pull on a tendon, it exerts forces all along its length against whatever parts of the mechanism are holding it in place. This coupling is di cult to eliminate without awkward routing of the tendons.

We model the routing of each tendon by an extension function, hi : Q R. The extension function measures the displacement of the end of the tendon as a function of the joint angles of the finger. For simple tendon networks composed of pulleys, such as those shown in Figure 6.7, the tendon extension is a linear function of the joint angles

hi(θ) = li ± ri1θ1 ± · · · ± rinθn,

where li is the nominal extension (at θ = 0) and rij is the radius of the pulley at the jth joint. The sign depends on whether the tendon path gets longer or shorter when the angle is changed in a positive sense.

More complicated tendon geometries may involve nonlinear functions of the joint angles. For example, for the joint pictured in Figure 6.8, the top tendon has an extension function of the form

h1(θ) = l1

+ 2pa2 + b2 cos tan1

b

+

2

 

2b θ > 0,

 

 

 

 

a

 

θ

 

 

294

a

h1

a

 

h2

 

θ R

b

b

Figure 6.8: Example of tendon routing with nonlinear extension function.

while the bottom tendon satisfies

 

h2(θ) = l2 + Rθ,

θ > 0.

When θ < 0, these relations are reversed.

Once the tendon extension functions have been computed, we can determine the relationships between the tendon forces and the joint torques by applying conservation of energy. Let e = h(θ) Rp represent the vector of tendon extensions for a system with p tendons and define the

matrix P (θ) Rn×p as

 

 

 

∂h

T

 

 

P (θ) =

 

(θ).

 

 

 

 

∂θ

 

 

 

 

 

 

 

Then,

 

 

 

 

 

 

 

 

e˙ =

∂h

˙

 

T

˙

 

 

 

∂θ

(θ)θ = P

 

(θ)θ.

Since the work done by the tendons must equal that done by the fingers (in the absence of friction or other losses), we can use conservation of energy to conclude

τ = P (θ)f,

where f Rp is the vector of forces applied to the ends of the tendons. The matrix P (θ) is called the coupling matrix and plays a role similar to that of the grasp map defined in Chapter 5.

The kinematics of the tendon network can be combined with the dynamics of the mechanism to yield

¨ ˙ ˙ ˙

M (θ)θ + C(θ, θ)θ + N (θ, θ) = P (θ)f.

The structure of this equation relies on the assumption that the actuator and tendon dynamics can be ignored, and hence a force applied at the end of the tendon is immediately transmitted to the joints through the coupling matrix.

295

θ2

h1

θ1 h2

h3

h4

Figure 6.9: Planar tendon-driven finger.

Example 6.4. Two-link tendon-driven finger

As an example, we consider the planar finger shown in Figure 6.9. It consists of two revolute joints driven by four tendons. The tendons are routed through sheaths attached to the sides of the links.

The extension functions for the tendon network are calculated by adding the contribution from each joint. The two tendons attached to the first joint are routed across a pulley of radius R1, and hence

h2 = l2 R1θ1 h3 = l3 + R1θ1.

The tendons for the outer link have more complicated kinematics due to the routing through the tendon sheaths. Their extension functions are

h1

= l1

+ 2

a2 + b2 cos tan1 b

+

 

2 2b R2θ2 θ1 > 0.

 

 

p

 

 

 

 

 

 

θ1

 

h4

= l4

+ R1

θ1

+ R2

θ2

 

 

 

 

 

 

 

 

a

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

When θ1 < 0, these relations are reversed.

The coupling matrix for the finger is computed directly from the ex-

tension functions. When θ1 > 0,

b

 

0 1

 

R2 .

P (θ) = ∂θ =

 

 

R2

2

0

 

∂h T

a2

+ b2

sin(tan1

a

+ θ1 )

R

R1

R1

Note that pulling on the tendons routed to the outer joints (tendons 1 and 4) generates torques on the first joint as well as the second joint.

4.2Elastic tendons

The preceding kinematic analysis can also be extended to elastic tendons. We assume that the tendons are completely free to slide along the fingers,

296

e1

h1

 

 

 

e2

h2

1

 

e3

h3

4

 

 

 

e4

joint 1

joint 2

h4

 

Figure 6.10: Planar finger with position-controlled elastic tendons.

and hence we can lump all elasticity into a single spring element at the base of the tendon, as shown in Figure 6.10. We further assume that the tendon is massless and hence has no dynamics. In practice, this is a good approximation since tendon networks are usually much faster than the dynamics of the underlying robot.

Since tendons are one-dimensional devices, the force relationships derived for inelastic tendons also hold in the case when the tendons are elastic. To see why this is so, consider the instantaneous e ect of applying a force to the end of a tendon. Assuming the tendon has negligible mass, the tendon will immediately stretch until the force due to the displacement of the tendon balances the applied force. However, in this case, the tendon will be applying exactly the same amount of force to the mechanism, and hence our previous analysis holds.

When elastic tendons are used, it is also possible to control the position of the end of the tendon and use the elasticity of the tendon to convert this into a force. Let ei be the extension of the tendon as commanded by the actuator and let hi(θ) be the extension of the tendon due to the mechanism. We assume that when θ = 0 and ei = 0 the tendon is under zero tension. The net force applied to the tendons is given by

fi = ki(ei + hi(0) hi(θ)),

where ki is the sti ness of the tendon.

Letting K be the diagonal matrix of tendon sti nesses, we have, for a completely elastic network of tendons with extension e,

f = K(e + h(0) h(θ))

and the dynamics become

˙ ˙

˙

M (θ) + C(θ, θ)θ

+ N (θ, θ) + P K(h(θ) h(0)) = P Ke

The function S(θ) := P K(h(θ) h(0)) models the sti ness of the tendon network while Q := P K becomes the new coupling matrix between the

297

tendon extension and the equivalent joint torques. If the input positions are constant, then S(θ) gives the restoring force generated as a result of bending the finger away from the equilibrium configuration.

Forceand position-controlled tendons can also be combined, as illustrated in the exercises.

Example 6.5. Coupling matrix for a finger with elastic tendons

Consider the example shown in Figure 6.10. The extension functions are given by

h1 = l1 + r11θ1 r12θ2

h2 = l2 r21θ1

h3 = l3 + r31θ1

h4 = l4 r41θ1 + r42θ2,

where rij is the radius of the pulley for the ith tendon on the jth joint. The coupling matrix is

 

∂θ

r12

0

0

r42

P (θ) =

∂h

T =

r11

r21

r31

r41 .

 

 

 

Since all of the extension functions are linear, the coupling matrix is constant.

To compute the relationship between the actuator position and the joint torques, we use the sti ness matrix

K =

01

k2

0

0 ,

 

 

k

0

0

0

 

 

 

0

0

03

k

 

 

 

 

 

 

4

 

 

 

0

0

k

0

 

 

 

 

where ki > 0 is the sti ness of the ith tendon. The overall sti ness is given by

S(θ) = P K(h(θ) h(0))

= k1r112 + k2r212 + k3r312 + k4r412 k1r11r12 k4r41r42

k1r11r12 k4r41r42 θ, k1r122 + k4r422

and the coupling matrix between the actuator extension and the joint torques is

k1r12

0

0

k4r42

Q = P K = k1r11

k2r21

k3r31

k4r41 .

4.3Analysis and control of tendon-driven fingers

One peculiarity of using tendon networks is that all tendon tensions must be strictly positive. Hence, the set of all torques which can be applied

298

is given by the positive span of the columns of P (θ). This is analogous to grasping using frictionless point contacts, and the same tools can be applied to analyze the kinematic properties of the tendon network.

A control law for a tendon-driven robot computes the joint torques τ Rn which must be generated by applying forces to the tendons. We say that a tendon network is force-closure if for any τ Rn there exists a set of forces f Rp such that

P (θ)f = τ and fi > 0, i = 1, . . . , p. (6.34)

As in the grasping case, a necessary and su cient condition for a tendon network to be force-closure is that P (θ) be surjective and there exist a strictly positive vector of internal forces fN Rp, fN,i > 0 such that P (θ)fN = 0.

Limits on the number of tendons necessary to construct a force-closure tendon network are given by Caratheodory’s and Steinitz’s theorems, which were given in Chapter 5, Section 4. Caratheodory’s theorem asserts that for a robot with n links, at least n + 1 tendons are required to actuate it, while Steinitz’s theorem proves that any more than 2n tendons are redundant. In fact, these two bounds correspond to the two most common types of tendon networks, referred to as “N + 1” and “2N ” tendon configurations. The N +1 configuration usually consists of a single tendon which pulls on all of the joints in one direction, together with n additional tendons which generate torques in the opposite direction. The 2N configuration is the one used in all of the examples here, where we attach two tendons to each joint, acting in opposite directions.

For tendon networks which are actuated by force-controlled devices, the tendon forces chosen to exert a given vector of joint torques have the form

 

f = P +(θ)τ + fN ,

where P + = P T (P P T )1

 

 

Rm×n is the pseudo-inverse of the coupling

matrix and fN N(P) R+ is an internal force that insures that all tendon tensions are positive. In most situations, fN will be chosen as small as possible, so that the tendons remain taut but are not subjected to excessive internal forces.

The case of elastic tendons with position-controlled actuators is handled exactly the same way, except that we must solve

P (θ)Ke = τ and ei + hi(0) hi(θ) > 0, i = 1, . . . , p.

(6.35)

Since K Rp×p is an invertible sti ness matrix, if the tendon network is force-closure, then there exists a vector of extensions eN Rp such that eN,i > 0 and P KeN = 0. By choosing

e = (P K)+τ + eN

299

with eN su ciently large in magnitude, we can insure that the constraints in equation (6.35) are satisfied.

The tools presented here can be extended to the case of mixed networks of rigid and elastic tendons and also to tendons which extend between two links in the robot. These cases are explored in the exercises.

5Control of Robot Hands

In this section, we concentrate on the control aspects of multifingered robot hands and show how to extend previous controllers (presented in Chapter 4) to apply to grasping and other coordinated manipulation tasks. In addition, we include some thoughts on organization of complex controllers motivated in part by the type of control mechanisms found in biological motor control systems.

5.1Extending controllers

For a constrained manipulation problem, we can break the control problem into two main parts:

1.Tracking a given object (or workspace) trajectory

2.Maintaining a desired internal force

Under the assumption that all objects and links are rigid and their geometries completely known, these two problems can be partially decoupled. We first find joint torques which satisfy the tracking requirement and then add su cient internal forces to keep the contact forces inside the appropriate friction cones or satisfy some other force objective.

More specifically, suppose that we have a constrained robotic system with dynamics of the form

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

with q = (θ, x) Rn × Rp. As we saw in the first part of this chapter, a large class of systems can be modeled by equations of this form with GJ T : Rn Rp a surjective map. In this framework, x Rp represents the position variable and the null space of G corresponds to the internal force directions (assuming J is invertible). In addition to the general form of the dynamics, we also assume that M (q) > 0 for all q and that

˙

M 2C is a skew-symmetric matrix. These properties hold for all of the systems given in this chapter with the proper definition of J and G.

The tracking problem is to find joint torques which cause the system to asymptotically track a given workspace trajectory xd(·). To solve this problem, we begin by treating F as a direct input to the system. Since GJ T is surjective, it is always possible to find a set of torques τ

300

which realizes this virtual input. Furthermore, since M and C satisfy the properties of Lemma 6.1, we can use any of the controllers derived for open-chain manipulators to asymptotically track a trajectory xd(t).

As an example, the computed torque controller for a constrained robot system becomes

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

where e := x xd. Note that in this controller M (q) depends on both θ and x. In the special case that the system constraints are holonomic, the dependence on θ can be removed, but this usually involves inverting a

nonlinear map. However, since the only essential properties required by

˙ the proofs of convergence are that M (q) be positive definite and M 2C

skew-symmetric, all of the previous proofs apply directly.

Once F has been determined, the joint torques τ are chosen so that GJ T τ = F . It is always possible to find some such τ , since by assumption GJ T is surjective. However, GJ T is not necessarily injective and hence there may be many values of τ which generate F . In fact, since J is taken to be invertible, the extra freedom in τ corresponds to the existence of internal forces in the system. The general solution to GJ T τ = F has the form

τ = J T G+F + J T fN ,

(6.36)

where G+ = GT (GGT )1 is the pseudo-inverse of G and fN N(G). Since GfN = 0, fN can be chosen arbitrarily without a ecting the trajectory tracking characteristics of the controller.

The extra freedom in τ is used to satisfy the second part of the control problem, regulating internal forces. For a grasping problem, fN must be chosen such that the net contact force lies in the friction cone F C. This is an extremely important condition, since our entire problem formulation assumed that the fingers remained in contact with the object (in the directions specified by the contact model). For other types of problems, such as coordinated lifting, the regulation of the internal forces is not quite so critical, since the mechanical structure will act to enforce the constraints at all times. In this case we often choose fN = 0 to minimize application of internal forces.

In situations in which regulation of internal forces is desired, a further complication arises from the fact that the net contact force is not given simply by G+F + fN . Rather, this is the contact force due to the actuators. Additional contact forces may be generated by the dynamics of the system, as discussed in Section 2.2. To truly insure that the contact forces remain inside the friction cone, the full dynamics must be taken into account. This can be done either by computing the forces of constraint or measuring them.

Fortunately, for many problems a detailed analysis of the internal forces is not necessary. If the forces of constraint due to non-quasistatic

301

motion are small compared to the desired internal force, they can often be ignored. We make that assumption here and assume that we are given a desired internal force fN,d(·) which we wish to regulate and that the dynamic forces of constraint can be ignored. In this case the final control law has the form

τ = JhT G+F + JhT fN,d

where F is the virtual force generated to satisfy the trajectory tracking requirement.

A second possibility for controlling internal forces is to measure the applied internal forces and adjust fN using a second feedback control law. This must be done carefully since, for a rigid robot system, forces are transmitted instantaneously and have no associated dynamics. This can lead to problems in which the control problem is ill-posed due to the existence of algebraic loops. For example, consider a “robot” which only applies forces. Let f be the applied force and fd the desired force. A proportional controller regulating the force is given by

f = α(f fd).

For α 6= 0, this controller only satisfies f = fd if f = fd = 0. For any other fd, we have an algebraic loop which is never satisfied.

One common way to overcome this problem is to use an integrator. Again we let fd be the desired force and set

Z

f = fd + α (f fd) dt.

This controller consists of a feedforward piece, fd, and an integrating compensator. Setting f = fd generates no contradictions, and hence this controller is well-posed. It is important to note that adding an integrator must be done carefully to avoid introducing unstable behavior into the system due to measurement noise and “integrator-windup.” Details of these problems can be found in standard undergraduate texts on control engineering, such as [3] and [34].

5.2Hierarchical control structures

A multifingered robot hand can be modeled as a set of robots which are coupled to each other and an object by a set of velocity constraints. The analysis presented in the beginning of this chapter allows us to model this interconnection and create a new dynamical system which incorporates the constraints. In fact, this procedure is su ciently straightforward that it may be automated: by specifying the contact constraint between the robots and the object, the new equations of motion for the composite robot can be derived using a symbolic manipulation program.

302

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