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

mls94-complete[1]

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

finger (the thumb) opposing the other two. The Utah/MIT hand has four fingers (three fingers and a thumb) in a very anthropomorphic configuration; each finger has four degrees of freedom and the hand is cable driven. The di erence in actuation between the Salisbury Hand and the Utah/MIT hand is in how the cables (tendons) are driven: the first uses electric motors and the second pneumatic pistons. The NYU hand is a non-anthropomorphic planar hand with four fingers moving in a plane, driven by stepper motors. Styx was a two-fingered hand with each finger having two joints, all direct driven. Like the NYU hand, Styx was used as a test bed for performing control experiments on multifingered hands.

At the current time, several kinds of multifingered hands at di erent scales—down to millimeters and even micrometers—are either being developed or put in use. Some of them are classified merely as custom or semi-custom end-e ectors. A recent multifingered hand developed in Pisa is used for picking oranges in Sicily, another developed in Japan is used to play a piano! One of the key stumbling blocks to the development of lightweight hands has been lightweight high-torque motors. In this regard, muscle-like actuators, inch-worm motors, and other novel actuator technologies have been proposed and are currently being investigated. One future application of multifingered robot hands which relies on these technologies is in minimally invasive surgery. This application is further discussed in Chapter 9.

3Outline of the Book

This book is organized into eight chapters in addition to this one. Most chapters contain a summary section followed by a set of exercises. We have deliberately not included numerical exercises in this book. In teaching this material, we have chosen numbers for our exercises based on some robot or other physical situation in the laboratory. We feel this adds greater realism to the numbers.

Chapter 2 is an introduction to rigid body motion. In this chapter, we present a geometric view to understanding translational and rotational motion of a rigid body. While this is one of the most ubiquitous topics encountered in textbooks on mechanics and robotics, it is also perhaps one of the most frequently misunderstood. The simple fact is that the careful description and understanding of rigid body motion is subtle. The point of view in this chapter is classical, but the mathematics modern. After defining rigid body rotation, we introduce the use of the exponential map to represent and coordinatize rotations (Euler’s theorem), and then generalize to general rigid motions. In so doing, we introduce the notion of screws and twists, and describe their relationship with homogeneous transformations. With this background, we begin the study of infinitesimal rigid motions and introduce twists for representing rigid

13

body velocities. The dual of the theory of twists is covered in a section on wrenches, which represent generalized forces. The chapter concludes with a discussion of reciprocal screws. In classroom teaching, we have found it important to cover the material of Chapter 2 at a leisurely pace to let students get a feel for the subtlety of understanding rigid body motion.

The theory of screws has been around since the turn of the century, and Chasles’ theorem and its dual, Poinsot’s theorem, are even more classical. However, the treatment of the material in this chapter easily extends to other more abstract formulations which are also useful in thinking about problems of manipulation. These are covered in Appendix A.

The rest of the material in the book may be subdivided into three parts: an introduction to manipulation for single robots, coordinated manipulation using a multifingered robot hand, and nonholonomic motion planning. We will discuss the outline of each part in some detail.

3.1Manipulation using single robots

Chapter 3 contains the description of manipulator kinematics for a single robot. This is the description of the position and orientation of the end- e ector or gripper in terms of the angles of the joints of the robot. The form of the manipulator kinematics is a natural outgrowth of the exponential coordinatization for rigid body motion of Chapter 2. We prove that the kinematics of open-link manipulators can be represented as a product of exponentials. This formalism, first pointed out by Brockett [12], is elegant and combines within it a great deal of the analytical sophistication of Chapter 2. Our treatment of kinematics is something of a deviation from most other textbooks, which prefer a Denavit-Hartenberg formulation of kinematics. The payo for the product of exponentials formalism is shown in this chapter in the context of an elegant formulation of a set of canonical problems for solving the inverse kinematics problem: the problem of determining the joint angles given the position and orientation of the end-e ector or gripper of the robot. These problems, first formulated by Paden and Kahan [85], enable a precise determination of all of the multiple inverse kinematic solutions for a large number of industrial robots. The extension of this approach to the inverse kinematics of more general robots actually needs some recent techniques from classical algebraic geometry, which we discuss briefly.

Another payo of using the product of exponentials formula for kinematics is the ease of di erentiating the kinematics to obtain the manipulator Jacobian. The columns of the manipulator Jacobian have the interpretation of being the twist axes of the manipulator. As a consequence, it is easy to geometrically characterize and describe the singularities of the manipulator. The product of exponentials formula is also used for deriv-

14

ing the kinematics of robots with one or more closed kinematic chains, such as a Stewart platform or a four-bar planar linkage.

Chapter 4 is a derivation of the dynamics and control of single robots. We start with a review of the Lagrangian equations of motion for a system of rigid bodies. We also specialize these equations to derive the NewtonEuler equations of motion of a rigid body. As in Chapter 2, this material is classical but is covered in a modern mathematical geometric framework. Using once again the product of exponentials formula, we derive the Lagrangian of an open-chain manipulator and show how the geometric structure of the kinematics reflects into the form of the Lagrangian of the manipulator.

Finally, we review the basics of Lyapunov theory to provide some machinery for proving the stability of the control schemes that we will present in this book. We use this to prove the stability of two classes of control laws for single manipulators: the computed torque control law and the so-called PD (for proportional + derivative) control law for single manipulators.

3.2Coordinated manipulation using multifingered robot hands

Chapter 5 is an introduction to the kinematics of grasping. Beginning with a review of models of contact types, we introduce the notion of a grasp map, which expresses the relationship between the forces applied by the fingers contacting the object and their e ect at the center of mass of the object. We characterize what are referred to as stable grasps or forceclosure grasps. These are grasps which immobilize an object robustly. Using this characterization, we discuss how to construct force-closure grasps using an appropriate positioning of the fingers on the surface of the object.

The first half of the chapter deals with issues of force exerted on the object by the fingers. The second half deals with the dual issue of how the movements of the grasped object reflect the movements of the fingers. This involves the interplay between the qualities of the grasp and the kinematics of the fingers (which are robots in their own right) grasping the object. A definition dual to that of force-closure, called manipulability, is defined and characterized. Finally, we discuss the rolling of fingertips on the surface of an object. This is an important way of repositioning fingers on the surface of an object so as to improve a grasp and may be necessitated by the task to be performed using the multifingered hand.

Chapter 6 is a derivation of the dynamics and control for multifingered robot hands. The derivation of the kinematic equations for a multifingered hand is an exercise in writing equations for robotic systems with constraints, namely the constraints imposed by the grasp. We develop the

15

necessary mathematical machinery for writing the Lagrangian equations for systems with so-called Pfa an constraints. There is a preliminary discussion of why these Pfa an or velocity constraints cannot be simplified to constraints on the configuration variables of the system alone. Indeed, this is the topic of Chapters 7 and 8. We use our formalism to write the equations of motion for a multifingered hand system. We show connections between the form of these equations and the dynamical equations for a single robot. The dynamical equations are particularly simple when the grasps are nonredundant and manipulable. In the instance that the grasps are either redundant or nonmanipulable, some substantial changes need to be made to their dynamics. Using the form of dynamical equations for the multifingered hand system, we propose two separate sets of control laws which are reminiscent of those of the single robot, namely the computed torque control law and the PD control law, and prove their performance.

A large number of multifingered hands, including those involved in the study of our own musculo-skeletal system, are driven not by motors but by networks of tendons. In this case, the equations of motion need to be modified to take into account this mechanism of force generation at the joints of the fingers. This chapter develops the dynamics of tendon-driven robot hands.

Another important topic to be considered in the control of systems of many degrees of freedom, such as the multifingered robot hand, is the question of the hierarchical organization of the control. The computed torque and PD control law both su er from the drawback of being computationally expensive. One could conceive that a system with hundreds of degrees of freedom, such as the mammalian musculo-skeletal system, has a hierarchical organization with coarse control at the cortical level and progressively finer control at the spinal and muscular level. This hierarchical organization is key to organizing a fan-out of commands from the higher to the lower levels of the hierarchy and is accompanied by a fan-in of sensor data from the muscular to the cortical level. We have tried to answer the question of how one might try to develop an environment of controllers for a multifingered robotic system so as to take into account this sort of hierarchical organization by way of a sample multi-robot control programming paradigm that we have developed here.

3.3Nonholonomic behavior in robotic systems

In Chapter 6, we run into the question of how to deal with the presence of Pfa an constraints when writing the dynamical equations of a multifingered robot hand. In that chapter, we show how to incorporate the constraints into the Lagrangian equations. However, one question that is left unanswered in that chapter is the question of trajectory planning for the system with nonholonomic constraints. In the instance of a mul-

16

tifingered hand grasping an object, we give control laws for getting the grasped object to follow a specified position and orientation. However, if the fingertips are free to roll on the surface of the object, it is not explicitly possible for us to control the locations to which they roll using only the tools of Chapter 6. In particular, we are not able to give control strategies for moving the fingers from one contact location to another. Motivated by this observation, we begin a study of nonholonomic behavior in robotic systems in Chapter 7.

Nonholonomic behavior can arise from two di erent sources: bodies rolling without slipping on top of each other, or conservation of angular momentum during the motion. In this chapter, we expand our horizons beyond multifingered robot hands and give yet other examples of nonholonomic behavior in robotic systems arising from rolling: car parking, mobile robots, space robots, and a hopping robot in the flight phase. We discuss methods for classifying these systems, understanding when they are partially nonholonomic (or nonintegrable) and when they are holonomic (or integrable). These methods are drawn from some rudimentary notions of di erential geometry and nonlinear control theory (controllability) which we develop in this chapter. The connection between nonholonomy of Pfa an systems and controllability is one of duality, as is explained in this chapter.

Chapter 8 contains an introduction to some methods of motion planning for systems with nonholonomic constraints. This is the study of trajectory planning for nonholonomic systems consistent with the constraints on the system. This is a very rapidly growing area of research in robotics and control. We start with an overview of existing techniques and then we specialize to some methods of trajectory planning. We begin with the role of sinusoids in generating Lie bracket motions in nonholonomic systems. This is motivated by some solutions to optimal control problems for a simple class of model systems. Starting from this class of model systems, we show how one can generalize this class of model systems to a so-called chain form variety. We then discuss more general methods for steering nonholonomic systems using piecewise constant controls and also Ritz basis functions. We apply our methods to the examples presented in the previous chapter. We finally return to the question of dynamic finger repositioning on the surface of a grasped object and give a few di erent techniques for rolling fingers on the surface of a grasped object from one grasp to another.

Chapter 9 contains a description of some of the growth areas in robotics from a technological point of view. From a research and an analytical point of view, we hope that the book in itself will convince the reader of the many unexplored areas of our understanding of robotic manipulation.

17

4Bibliography

It is a tribute to the vitality of the field that so many textbooks and books on robotics have been written in the last fifteen years. It is impossible to do justice or indeed to list them all here. We just mention some that we are especially familiar with and apologize to those whom we omit to cite.

One of the earliest textbooks in robotics is by Paul [90], on the mathematics, programming, and control of robots. It was followed in quick succession by the books of Gorla and Renaud [36], Craig [21], and Fu, Gonzalez and Lee [35]. The first two concentrated on the mechanics, dynamics, and control of single robots, while the third also covered topics in vision, sensing, and intelligence in robots. The text by Spong and Vidyasagar [110] gives a leisurely discussion of the dynamics and control of robot manipulators. Also significant is the set of books by Coi et [20], Asada and Slotine [2], and Koivo [52]. As this book goes to print, we are aware also of a soon to be completed new textbook by Siciliano and Sciavicco. An excellent perspective of the development of control schemes for robots is provided by the collection of papers edited by Spong, Lewis and Abdallah [109].

The preceding were books relevant to single robots. The first monograph on multifingered robot hands was that of Mason and Salisbury [69], which covered some details of the formulation of grasping and substantial details of the design and control of the Salisbury three-fingered hand. Other books in the area since then have included the monographs by Cutkosky [22] and by Nakamura [79], and the collection of papers edited by Venkataraman and Iberall [116].

There are a large number of collections of edited papers on robotics. Some recent ones containing several interesting papers are those edited by Brockett [13], based on the contents of a short course of the American Mathematics Society in 1990; and a collection of papers on all aspects of manipulation edited Spong, Lewis, and Abdallah [109]; and a recent collection of papers on nonholonomic motion planning edited by Li and Canny [61], based on the contents of a short course at the 1991 IEEE International Conference on Robotics and Automation.

Not included in this brief bibliographical survey are books on computer vision or mobile robots which also have witnessed a flourish of activity.

18

Chapter 2

Rigid Body Motion

A rigid motion of an object is a motion which preserves distance between points. The study of robot kinematics, dynamics, and control has at its heart the study of the motion of rigid objects. In this chapter, we provide a description of rigid body motion using the tools of linear algebra and screw theory.

The elements of screw theory can be traced to the work of Chasles and Poinsot in the early 1800s. Chasles proved that a rigid body can be moved from any one position to any other by a movement consisting of rotation about a straight line followed by translation parallel to that line. This motion is what we refer to in this book as a screw motion. The infinitesimal version of a screw motion is called a twist and it provides a description of the instantaneous velocity of a rigid body in terms of its linear and angular components. Screws and twists play a central role in our formulation of the kinematics of robot mechanisms.

The second major result upon which screw theory is founded concerns the representation of forces acting on rigid bodies. Poinsot is credited with the discovery that any system of forces acting on a rigid body can be replaced by a single force applied along a line, combined with a torque about that same line. Such a force is referred to as a wrench. Wrenches are dual to twists, so that many of the theorems which apply to twists can be extended to wrenches.

Using the theorems of Chasles and Poinsot as a starting point, Sir Robert S. Ball developed a complete theory of screws which he published in 1900 [6]. In this chapter, we present a more modern treatment of the theory of screws based on linear algebra and matrix groups. The fundamental tools are the use of homogeneous coordinates to represent rigid motions and the matrix exponential, which maps a twist into the corresponding screw motion. In order to keep the mathematical prerequisites to a minimum, we build up this theory assuming only a good knowledge of basic linear algebra. A more abstract version, using the tools of matrix

19

Lie groups and Lie algebras, can be found in Appendix A.

There are two main advantages to using screws, twists, and wrenches for describing rigid body kinematics. The first is that they allow a global description of rigid body motion which does not su er from singularities due to the use of local coordinates. Such singularities are inevitable when one chooses to represent rotation via Euler angles, for example. The second advantage is that screw theory provides a very geometric description of rigid motion which greatly simplifies the analysis of mechanisms. We will make extensive use of the geometry of screws throughout the book, and particularly in the next chapter when we study the kinematics and singularities of mechanisms.

1Rigid Body Transformations

The motion of a particle moving in Euclidean space is described by giving the location of the particle at each instant of time, relative to an inertial Cartesian coordinate frame. Specifically, we choose a set of three orthonormal axes and specify the particle’s location using the triple (x, y, z) R3, where each coordinate gives the projection of the particle’s location onto the corresponding axis. A trajectory of the particle is represented by the parameterized curve p(t) = (x(t), y(t), z(t)) R3.

In robotics, we are frequently interested not in the motion of individual particles, but in the collective motion of a set of particles, such as the link of a robot manipulator. To this end, we loosely define a perfectly rigid body as a completely “undistortable” body. More formally, a rigid body is a collection of particles such that the distance between any two particles remains fixed, regardless of any motions of the body or forces exerted on the body. Thus, if p and q are any two points on a rigid body then, as the body moves, p and q must satisfy

kp(t) q(t)k = kp(0) q(0)k = constant.

A rigid motion of an object is a continous movement of the particles in the object such that the distance between any two particles remains fixed at all times. The net movement of a rigid body from one location to another via a rigid motion is called a rigid displacement. In general, a rigid displacement may consist of both translation and rotation of the object.

Given an object described as a subset O of R3, a rigid motion of an object is represented by a continuous family of mappings g(t) : O R3 which describe how individual points in the body move as a function of time, relative to some fixed Cartesian coordinate frame. That is, if we move an object along a continuous path, g(t) maps the initial coordinates of a point on the body to the coordinates of that same point at time t. A rigid displacement is represented by a single mapping g : O R3 which

20

maps the coordinates of points in the rigid body from their initial to final configurations.

Given two points p, q O, the vector v R3 connecting p to q is defined to be the directed line segment going from p to q. In coordinates this is given by v = q p with p, q R3. Though both points and vectors are represented by 3-tuples of numbers, they are conceptually quite di erent. A vector has a direction and a magnitude. (By the magnitude

of a vector, we will mean its Euclidean norm, i.e.,

v2

+ v2

+ v2

.) It

 

 

1

2

3

 

is, however, not attached to the body, since there

may be other pairs of

 

p

 

 

 

points on the body, for instance r and s with q p = s r, for which the same vector v also connects r to s. A vector is sometimes called a free vector to indicate that it can be positioned anywhere in space without changing its meaning.

The action of a rigid transformation on points induces an action on vectors in a natural way. If we let g : O R3 represent a rigid displacement, then vectors transform according to

g (v) = g(q) g(p).

Note that the right-hand side is the di erence of two points and is hence also a vector.

Since distances between points on a rigid body are not altered by rigid motions, a necessary condition for a mapping g : O R3 to describe a rigid motion is that distances be preserved by the mapping. However, this condition is not su cient since it allows internal reflections, which are not physically realizable. That is, a mapping might preserve distance but not preserve orientation. For example, the mapping (x, y, z) 7→(x, y, z) preserves distances but reflects points in the body about the xy plane. To eliminate this possibility, we require that the cross product between vectors in the body also be preserved. We will collect these requirements to define a rigid body transformation as a mapping from R3 to R3 which represents a rigid motion:

Definition 2.1. Rigid body transformation

A mapping g : R3 R3 is a rigid body transformation if it satisfies the following properties:

1.Length is preserved: kg(p) g(q)k = kp qk for all points p, q R3.

2.The cross product is preserved: g (v × w) = g (v) × g (w) for all vectors v, w R3.

There are some interesting consequences of this definition. The first is that the inner product is preserved by rigid body transformations. One way to show this is to use the polarization identity,

v1T v2 = 14 (||v1 + v2||2 − ||v1 v2||2),

21

and the fact that

kv1 + v2k = kg (v1) + g (v2)k kv1 v2k = kg (v1) g (v2)k

to conclude that for any two vectors v1, v2,

v1T v2 = g (v1)T g (v2).

In particular, orthogonal vectors are transformed to orthogonal vectors. Coupled with the fact that rigid body transformations also preserve the cross product (property 2 of the definition above), we see that rigid body transformations take orthonormal coordinate frames to orthonormal coordinate frames.

The fact that the distance between points and cross product between vectors is fixed does not mean that it is inadmissible for particles in a rigid body to move relative to each other, but rather that they can rotate but not translate with respect to each other. Thus, to keep track of the motion of a rigid body, we need to keep track of the motion of any one particle on the rigid body and the rotation of the body about this point. In order to do this, we represent the configuration of a rigid body by attaching a Cartesian coordinate frame to some point on the rigid body and keeping track of the motion of this body coordinate frame relative to a fixed frame. The motion of the individual particles in the body can then be retrieved from the motion of the body frame and the motion of the point of attachment of the frame to the body. We shall require that all coordinate frames be right-handed: given three orthonormal vectors x, y, z R3 which define a coordinate frame, they must satisfy z = x×y.

Since a rigid body transformation g : R3 R3 preserves the cross product, right-handed coordinate frames are transformed to right-handed coordinate frames. The action of a rigid transformation g on the body frame describes how the body frame rotates as a consequence of the rigid motion. More precisely, if we describe the configuration of a rigid body by the right-handed frame given by the vectors v1, v2, v3 attached to a point p, then the configuration of the rigid body after the rigid body transformation g is given by the right-handed frame of vectors g (v1), g (v2), g (v3) attached to the point g(p).

The remainder of this chapter is devoted to establishing more detailed properties, characterizations, and representations of rigid body transformations and providing the necessary mathematical preliminaries used in the remainder of the book.

2Rotational Motion in R3

We begin the study of rigid body motion by considering, at the outset, only the rotational motion of an object. We describe the orientation of

22

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