Control Engineering Practice 7 (1999) 391—399
Coordinating mobility and manipulation using nonholonomic mobile manipulators Gilles Foulon*, J.-Yves Fourquet, Marc Renaud LAAS-CNRS, 7 avenue du Colonel Roche, 31 077 Toulouse Cedex, France Received 23 March 1998; accepted 30 September 1998
Abstract This paper deals with coordinated tasks for mobile nonholonomic manipulators. The systems are composed of a nonholonomic mobile platform and a simple kinematic chain holonomic arm. First, concepts such as redundancy and singular configurations are defined. Then, reduced differential models are introduced. It is then possible to work with a set of independent task coordinates. Applications follow for a planar system in the case of point-to-point and continuous path tasks. 1999 Elsevier Science ¸td. All rights reserved. Keywords: Robotics; Mobile robots; Redundancy; Path planning; Continuous path control; Point-to-point control
1. Introduction Traditionally, mobile platforms and robotic arms have been studied separately. Now, new tasks are being assigned to autonomous mechanical systems, both in service and intervention robotics, leading to the necessity to combine mobility and manipulation. Various types of mechanical systems have been proposed for this purpose (Khatib et al., 1996). In this paper, the generic mechanical system being considered is composed of a wheeled mobile platform—satisfying the rolling without slipping constraint and such that its turning radius is not lower-bounded (i.e. a pure rotation is possible)—together with a robotic arm of the simple kinematic chain type. Based on the physical principle that the two subsystems have dynamics—or bandwidths—that are quite different, it is often assumed that the motion of this composite mechanical system has to be treated by decomposition: first, design the motion of the platform, then, in the manipulation area, define the evolution of the arm. This decomposition may give satisfactory and simple results for specific tasks that are naturally decomposable into subtasks, devoted respectively to the platform and to the arm. Nonetheless, when
* Corresponding author. Fax: #33 5 61 33 64 55; e-mail: foulon@ laas.fr.
dealing with complex tasks, it is necessary to consider the simultaneous evolution of both subsystems, and to coordinate them. When the end-effector of an arm has to realize a motion, two questions arise: ‘Does a solution (or solutions) exist?’ and, ‘What is the nature of this (these) solution(s)?’ For a robotic arm, or more generally a holonomic system, these questions have already received wellknown answers. For the mechanical system at hand, the difficulty comes from two aspects: the nonholonomic nature of the platform—constraining the shape of its admissible paths—and the high number of actuators— leading to the problem of choice. All this relies on the way in which nonholonomy and redundancy—when properly defined—interfere. Some solutions have been proposed, most of them being presented or referenced in the works by Yamamoto and Yun (1992, 1994, 1995) and Seraji (1995, 1998). As the nonholonomic constraint occurs only from the differential viewpoint, the problems of the existence of and the choice between various solutions will be of differing nature according to whether point-to-point motion or continuous path motion is being considered. Here, the existence and the characterization of solutions are studied in both frameworks. First, some notions concerning the configuration and operational spaces are clarified, and precise definitions for the notions of degrees of mobility and freedom are given. Then, the transformation models between the above
0967-0661/99/$ — see front matter 1999 Elsevier Science Ltd. All rights reserved. PII: S 0 9 6 7 - 0 6 6 1 ( 9 8 ) 0 0 1 5 8 - 0
392
G. Foulon et al./Control Engineering Practice 7 (1999) 391—399
spaces are written. These models allow to define properly the notions of regular and singular configurations, together with those of redundancies. Finally, the different kinds of tasks to be solved are presented and some solutions are proposed. Applications to a particular system follow.
2. Configuration, location, degrees of mobility and freedom 2.1. Mechanical system The mobile platform with two driven wheels is of HILARE type (Giralt et al., 1984). It is sketched in Fig. 1. A moving frame R"(O, x, y, z) is attached to this platform (see Fig. 1). The robotic arm is a simple open kinematic chain arm with n joints; it is mounted on the platform and acts on the environment with its end-effector (EE): a gripper or a tool. 2.2. Configuration of the mechanical system The mechanical system configuration is known when the positions of all of its points are known in a fixed frame R"(O, x, y, z) (see Fig. 1). Some coordinates, chosen such that their number is at a minimum, that allow this configuration to be defined, are called mechanical system generalized coordinates (Neimark and Fufaiev, 1972). Thus, their number gives the dimension of the generalized space for the mechanical system, the manifold N, whose every point defines a configuration. Its value is l"3#n since the number of generalized coordinates of the mobile platform is 3, and that of the arm is n. Let q denote the vector of generalized coordinates of the mechanical system: q"(q , q , 2 , q )"(x, y, 0 , q , J @ q , 2 , q ) q "(x, y, 0 ) (see Fig. 1) are the generalized @ @L N
coordinates of the platform and q "(q , q , 2 , q ) @ @ @ @L those of the arm. q 3 N and q 3 N . N N @ @ 2.3. Location of the end-effector For a given configuration q of the mechanical system, its structure imposes c(q) constraints of position and orientation, i.e. of location, on the EE, with respect to R. The local degree of freedom d(q) of the EE is then: d(q)"6!c(q); it is such that: 0)d(q))6. It is defined precisely below by the computation of a matrix rank. When the configuration of the mechanical system varies by any admissible means, let *"max (d(q)) q * is called the (global) degree of freedom of the EE, with respect to R. It is such that 0)*)6. In order to describe the location of the EE k"* coordinates are necessary and sufficient. These coordinates are called the operational coordinates of the EE. Their number is then the dimension of the operational space of the mechanical system, the manifold M, whose every point defines the location of the EE. x denotes the vector of operational coordinates of the EE: x"(x , x , 2 , x ). I 2.4. Degree of mobility of the mechanical system A mechanical system’s degree of mobility is the difference between the number of its generalized coordinates, equal to l, and the number of independent nonholonomic constraints (Campion et al., 1996). Here, there is only one nonholonomic constraint, i.e. the rolling without slipping condition for the driven wheels: !sin 0 dx#cos 0 dy"0 i.e., !sin q dq #cos q dq "0 The degree of mobility is then equal to l!1"2#n. The degree of mobility can also be viewed as the dimension of the control vector u in the state equation: J\ dq" g (q)u H H H which gives a representation of the kinematic constraints acting on the mechanical system. Thus, it is the dimension of the distribution D (Nijmeijer and Van der Shaft, 1990) associated with the vector fields g . H 3. Space transform models 3.1. Direct and inverse kinematic models
Fig. 1. HILARE-like mobile platform.
The direct kinematic model (DKM) allows one to express the location of the EE from the configuration (or
G. Foulon et al./Control Engineering Practice 7 (1999) 391—399
the operational coordinates from the generalized ones). The DKM is the map f such that: x"f (q). Reciprocally, the inverse kinematic model (IKM) expresses the configuration from the location of the EE (or the generalized coordinates from the operational ones). The IKM writes: q"f \(x). In fact, generally, with an imposed location x are associated various configurations q belonging to a subset S(x) of N. 3.2. Direct differential kinematic model (DDKM) This is the model that allows the differential of the EE location to be expressed from the differential of the configuration (or the differentials of the operational coordinates from those of the generalized coordinates). This model is a linear map between the tangent space to the generalized space, for a given configuration, and the tangent space to the operational space, for the location that corresponds (by the DKM) to the given configuration. The DDKM writes: dx"J(q) dq: J(q) : RJ"¹q N PRI"¹x M dq
dx
(¹q N is the tangent space to the manifold N for the configuration q, and ¹x M the tangent space to the manifold M for the location x such that x"f (q)). (J(q) denotes the DDKM linear map as well as its k;l matrix). d(q), the local degree of freedom of the EE, with respect to R, is by definition: d(q)"rank J(q) 3.3. Reduced differential kinematic models The generalized coordinate differentials are dependent; they are linked by the nonholonomic constraint. This justifies the introduction of a differential one-form dp, whose number of components—that are now independent—corresponds to the degree of mobility of the mechanical system. It is sufficient to choose: dp"(dp , dp , 2 , dp )"(dp, dq , 2 , dq ), where p J\ J represent the curvilinear abscissa of the point O on its path in the plane (O, x, y) (see Fig. 1). The reduced direct differential kinematic model (RDDKM) is the linear map J (q), such that dx"J (q) dp: J (q) : RJ\"¹p NM PRI"¹x M dp
dx
(J (q) denotes the RDDKM linear map, as well as its k;(l!1) matrix). Let
393
and let *"max (d (q)) q
The reduced inverse differential kinematic model (RIDKM) is the inverse model of the RDDKM. There exists a solution to the RIDKM if and only if the linear system represented by the RDDKM is consistent; that is, if and only if rank J (q)"rank [J (q) " dx]. Assume that the RDDKM linear system is consistent. Let J C (q), a (l!1);k matrix, be one generalized inverse of J (q), i.e. one matrix such that: J (q)J C (q)J (q)"J (q), E the identity matrix of order l!1, and z an arbitrary (l!1);1 matrix; the RIDKM writes dp"J C (q) dx#(J C (q)J (q)!E)z
4. Singularities and differential singularities 4.1. Regular and singular configurations These notions are related to the dimension, for the given configuration, of the range of the DDKM. A regular configuration (RC) q is such that d(q)"*, and a singular configuration (SC) q is such that d(q)(*; the order of this SC is *!d(q). 4.2. Differential regular and singular configurations These notions are related to the dimension, for the given configuration, of the range of the RDDKM. A differential regular configuration (DRC) q is such that d (q)"*, and a differential singular configuration (DSC) q is such that d (q)(*; the order of this DSC is *!d (q). 5. Redundancy and differential redundancy The notion of redundancy expresses that the number l of generalized coordinates is strictly greater than the (global) degree of freedom *. Thus, the mechanical system is redundant if *(l; the order of redundancy is l!*. The mechanical system is not redundant if *"l. The condition k"*'l is impossible. The notion of differential redundancy expresses the idea that the degree of mobility, equal to (l!1), is strictly greater than *. Thus, the mechanical system is differentially redundant if *(l!1; the order of differential redundancy is l!1!*. The mechanical system is not differentially redundant if *"l!1. The condition *'l!1 is impossible.
d (q)"rank J (q) 6. Generalized and operational tasks p"(p , p , 2 , p )"(p, q , 2 , q ) belongs to the manifold NM , J\ J with dimension l!1.
A generalized task to be realized by the mechanical system consists of driving the l generalized coordinates,
394
G. Foulon et al./Control Engineering Practice 7 (1999) 391—399
and an operational task consists of driving the k operational coordinates. The path, which corresponds to changes as a function of a scalar parameter s, varying from 0 to 1, is distinguished from the motion, which corresponds to changes as a function of time t. Generally, the study of motion needs to consider dynamics. Thus, this study will be concerned with paths. Nonetheless, note that when dynamics are neglected, defining the time evolution along a path amounts to considering any application u : tPs(t) where t denotes the time and u possesses adequate smoothness properties. Here, dynamics are not taken into account, and the contribution is made inside a kinematic framework. In this setting, various types of tasks have to be considered: (1) the generalized point-to-point task (GPTPT): ¼ith an imposed q (initial configuration) and qD ( final configuration), find a generalized path q(s) (q(0)"q and q(1)"qD) joining the initial configuration to the final one, (2) the operational point-to-point task (OPTPT): ¼ith an imposed x (initial location) and xD ( final location), find an operational path x(s) (x(0)"x and x(1)"xD) joining the initial location to be final one. In practice, the initial configuration is often known. Then, it is useful to consider the following modified OPTPT: Given the current configuration q and the desired final location xD, find an operational path x(s) joining the initial configuration to the final location. (3) the operational continuous path task (OCPT): For x, xD and x"x(s) imposed (x(0)"x and x(1)"xD), find the corresponding generalized path(s) q(s). 6.1. The GPTPT Controllability theory for nonlinear systems (Nijmeijer and Van der Shaft, 1990), applied to the system: J\ dq" g (q)u H H H shows that this system is controllable. Thus, starting from the initial configuration q, it is possible to reach any final configuration qD, by means of a well-chosen control vector. On the other hand, not all the generalized paths are admissible, owing to the nonholonomic constraint. So as to search for the admissible paths, the most intuitive solution consists of studying, in a first iteration, the (class of ) curves, not in the generalized space of the system (i.e. in the manifold N with dimension l), but in the manifold NM with dimension l!1, and then of expressing this solution in the manifold N. Now, it is possible to elicit a methodology to solve this problem, whatever the arm may be. To find a solution, it is sufficient that for each of the two subsystems (arm and platform), there exists a path
allowing one to verify the initial and final conditions on the corresponding subset of generalized coordinates. In that sense, there is not really any coordination between the displacements of the platform and those of the arm. Concerning the arm, it is well known that the q can @H be chosen independently as functions of s (for example: q "q (s)" a sG; the simplest being to consider @H @H G q "q (s)"q #(q D !q )s). @H @H @H @H @H Concerning the platform, as indicated above, instead of reasoning in the manifold N , whose generic point is N (x, y, 0 ), the developments are carried out in the manifold NM , whose generic point is (p, 0 ). N As dx"cos 0 dp and dy"sin 0 dp, the most natural course is to impose a law p"p(0 ) such that p(0 )"0 and:
y(0 )"
x(0 )"
0 0 0
0
cos u p(u) du#x sin u p(u) du#y
Then, it suffices to impose the law p"p(0 ), the law p"p(0 ) being deduced by integration as p(0 )"0:
p(0 )"
0 0
p(u) du
As it is desired to go from 0 to 0 D, it is sufficient to impose a linear evolution, as a function of s, on this coordinate: 0"0 (s)"0 #(0 D!0 )s. Of course, this procedure can only be applied when 0 DO0 . If 0 D"0 , it is sufficient to impose an intermediate coordinate 0 GO0 D"0 , and to apply it twice. Assume 0 DO0 . The desired evolution is then x(s)"x(0 (s)), y(s)"y(0 (s))
0 (s)"0 #(0 D!0 )s The law p"p(0 ) must be chosen in such a way that the analytical evaluation of the previous integrals will be possible, and that the number of parameters involved will be greater than or equal to 2, in order to reach the fixed xD and yD. The simplest choice is p(0 )"a#b0, where a and b are two parameters. Integration leads to x(0 )"a(sin 0!sin 0 )#b(0 sin 0!0 sin 0 #cos 0!cos 0 )#x y(0 )"!a(cos 0!cos 0 )!b(0 cos 0!0 cos 0 !sin 0#sin 0 )#y a and b are obtained without any problem from (x, y, 0 ) and (xD, yD, 0 D). Fig. 2 presents some admissible paths for the platform, obtained with this parameterization (from now on, q"(x, y, 0 )"(0, 0, 0) N is assumed).
G. Foulon et al./Control Engineering Practice 7 (1999) 391—399
395
the time-description viewpoint, it seems necessary to study other criteria. In particular, smooth generalized paths are necessary in terms of time, i.e. if zero velocity points are to be avoided (Fourquet and Renaud, 1996). When obstacle avoidance has to be considered, the interest in a parameterized class of paths is intimately related to its ability to cover a neighborhood of each configuration (Sekhavat, 1996). 6.4. The OCPT The problem corresponding to the OCPT can be solved in the following way: E Fig. 2. Examples of GPTPT for the platform. (a) qD"(1, 0.5, n/3); N (b) qD"(!0.8, 0, 3n/2); (c) qD"2, !1, !n/10); (d) qD"(1, 0, n/20); N N N (e) qD"(1, 0, n); (f ) qD"(0, 1, n/2). N N
Remark. The above choice is not the only possibility: another interesting choice could be p(0 )"a#b sin 0.
E
E
6.2. The OPTPT The solution of the OPTPT problem is based on those of GPTPT and IKM. By the IKM an initial configuration q corresponding to the imposed initial location, and a final configuration qD, corresponding to the imposed final location, are determined; then, this leads to the GPTPT problem that consists of determining q"q(s). The desired operational path is then x"x(s)" f (q(s)). In fact, if the EE can be translated horizontally with respect to the platform, or if the arm has a first revolute vertical joint, the system is redundant. Thus, there exists an infinity of solutions to the IKM. In this case, a criterion is needed in order to extract a privileged solution. This criterion may, for example, be the maximization of the manipulability index (Murray et al., 1994) that puts the arm in a configuration far from its SC and ensures dextrous manipulation. Another approach, based on a minimum distance along a particular parameterized class of paths, is presented below. 6.3. Remark concerning the GPTPT and OPTPT For both the above problems, the paths are free, provided that they are admissible, in the generalized space as well as in the operational one. To determine an admissible path, existing results concerning mobile robots can be used that deal, for example, with shortest paths (Reeds and Shepp, 1990; Soueres and Laumond, 1996; Soueres et al., 1994). As this choice presents a limited interest from
E
E
Choose one configuration q by computation of the IKM (thus, such that x"f (q)). Assume that the configuration q"q(s) has been obtained by this computation, for the value s of the parameter (at the starting point, this is the case for s"0). Compute by the RIDKM the values dp"dp(s) corresponding to the imposed value dx"dx(s). (There exists at least one solution if and only if the linear system, represented by the RDDKM, is consistent.) When the above system is consistent, choose, if there are various solutions dp in the previous computation (i.e. if the system is differentially redundant), one of these values (for example by imposing additional tasks or by minimizing a criterion). Deduce the value of dq"dq(s) from the computation of dp"dp(s) and q"q(s) from the relations: dq " cos q dp and dq "sin q dp. The values of dq"dq(s) and q"q(s) allow the value of the following configuration to be computed.
Here, it is important to note that the redundancy does not provide the information necessary to solve the problem. In other words, there can be only one way to follow an operational path once the initial configuration is fixed. Moreover, an infinity of solutions when solving the IKM does not imply that there exists a solution when solving the RIDKM. In fact, the problem of choice that follows from differential redundancy can be treated in different ways. On the one hand, the definition of the RIDKM can be directly used: in this case, it is necessary to find one generalized inverse and a particular value for z, a particular choice being furnished by the pseudo-inverse (or Moore—Penrose inverse) and z"0. Another approach consists of reasoning about a vector pˆ 3Nª with dimension lower than that of p. As an example, if *"*, a vector pˆ with dimension * can be chosen from p. In this case, there exists a square matrix Jª with order * such that dx"Jª dpˆ . dpˆ is then obtained by a simple inversion, and dq follows. This method is presented in the example.
396
G. Foulon et al./Control Engineering Practice 7 (1999) 391—399
7.1. Direct kinematic model x "q #a cos(q #q )#a cos(q #q #q ) x "q #a sin(q #q )#a sin(q #q #q ) x "q #q #q . 7.2. Inverse kinematic model
Fig. 3. A planar system.
7. Example: A planar system The previous methods and concepts are illustrated on a mechanical system composed of a HILARE-like mobile platform, on which is mounted an horizontal double-pendulum arm (i.e. such that both rotation axes are vertical) (Yamamoto, 1994; Seraji, 1995) (see Fig. 3). The generalized coordinates of the arm are: q "(q , q ) (n"2) and the generalized coordinates @ @ @ of the mechanical system are: q"(q , q , 2 , q )" (x, y, 0 , q , q ) (l"5). The operational coordinates (in @ @ R) are: x"(x , x , x )"(l, m, t) (k"3); the two car tesian coordinates l and m specify the position of the center of the EE in R, and the third component t characterizes the orientation of the EE with respect to the axis (O, x). It is easy to see that it is possible to choose the position and the orientation of the EE arbitrarily in the
It is not possible to distinguish the action of q from that of q , as only the sum q #q appears in the DKM. Thus, this implies a simple infinity of solutions when solving the IKM, since for each value of q one can associate a value for q . In fact, there is a double infinity of solutions, since one of the elements of the pair (q , q ) can be chosen arbitrarily, the other one having to satisfy the constraint: (x !a cos x !q )#(x !a sin x !q )"a . Once q and one of the elements of the pair (q , q ) have been chosen arbitrarily, the other element of the pair is deduced from the previous equation, whereas q and q verify q "arc tan 2(x !a sin x !q , x !a cos x !q )!q q "x !arc tan 2(x !a sin x !q , x !a cos x !q ). Consequently, the set of platform configurations q " N (x, y, 0 ) that are solutions when solving the IKM for an imposed location x"(x , x , x ) in R, is the cylinder S (x) of N defined by: S (x): (x !a cos x !x)# N N N (x !a sin x !y)"a . Thus, all the points of S (x) N are such that there exists one pair (q , q ) for which the EE location in R is (x , x , x ). The set of configurations associated with a given location is a dimension-2 manifold, the dimension of this set being given by the redundancy order. 7.3. Direct differential kinematic models The DDKM writes dx"J(q) dq with
plane. Indeed, rank computation of the DDKM shows that *"3, and consequently k"3. Thus, the redundancy order is equal to 2. Rank computation of the RDDKM shows that the differential redundancy order is equal to 1, and further that the system exhibits DSC of order 1 (i.e. *"3 and q, d (q)"2).
where C "cos(q #q ), S "sin(q #q ), C " cos(q #q #q ), S "sin(q #q #q ). Here, rank computation of the DDKM shows that the (global) degree of freedom * of the EE is 3: the system is redundant with order 2, and it has only RC since the rank of J is constant over the generalized space.
1 0 !(a S #a S ) !(a S #a S ) !a S J(q)" 0 1 a C #a C a C #a C a C 0 0 1 1 1
G. Foulon et al./Control Engineering Practice 7 (1999) 391—399
397
The RDDKM writes dx"J (p) dp with
C !(a S #a S ) J (p)" S a C #a C 0 1
!(a S #a S ) !a S a C #a C a C 1 1
where C "cos q , S "sin q . The rank of J (p) is 3 almost everywhere, i.e. for q O(2k#1)n/2; for q "(2k#1)n/2, the rank is equal to 2. Thus, *"3 and for q "(2k#1)n/2, d"2. The differential redundancy order is equal to 1. Consequently, in the space tangent to the configuration space, the set of points that are associated via the RIDKM with the same differential of location constitute dimension-1 manifolds. The DSC are such that q "(2k#1)n/2. They are of order equal to 1. 7.4. Examples of OPTPT Consider the case of a known initial configuration q, the final location xD of the EE being imposed. Redundancy leads to the fact that the platform configuration qD N can be chosen in S (xD). On the other hand, by comparN ing the dynamics of each subsystem, it seems interesting to define strategies optimizing the path for the mobile platform: the arm is assumed to be able to adapt its configuration more easily and more quickly. All this leads to consideration of a lower dimensional optimization problem based on a criterion N (qD ): N N min N (q (s)) for qD 3S (xD) N N N N q N the cost being evaluated among the admissible paths given by the above generalized planner. This first step determines the final configuration of the platform qD . N Then, the final configuration of the arm qD is uniquely @ defined by IKM for this qD . N Different criteria may have physical meanings, and it is always difficult to propose a ‘natural’ criterion for this problem. The first example (see Fig. 4) has been obtained by using
optimization problem:
dx dy # ds" min g(0 D) min ds ds 0D 0D Z \LL Z \LL
Roughly speaking, this optimization process tends to minimize the projection of qD along the direction normal N to the nonholonomic distribution in the initial configuration. The second example (see Fig. 5) has been obtained by this approach. Example 2. a "a "1; q"(0, 0, 0, 3n/4, 5n/12) and xD"(!0.42, 2.08, n/3#1.7). The final configuration is then qD"(0.5, 0.7, 1.7, n/2!1.7, 1.7!n/6). Foulon et al. (1998) report the application of such a strategy with different classes of admissible paths. 7.5. Examples of OCPT Once the initial and final configuration q and qD are fixed, the natural tools for solving the OCPT problem are the reduced differential kinematic models and related notions of DSC, consistency and differential redundancy. When *"*, a useful approach consists of considering a simplified model that provides a direct inversion procedure. Here, this strategy will be followed in the general case where an arbitrary location is imposed. The computation is carried out in Nª , and a unique solution dpˆ is
ds #ds ds.
N (q (s))" N N
dx
dy
Example 1. a "a "1; q"(0, 0, 0, 3n/4, 5n/12) and xD"(2.36, 1.5, n/6). The final configuration is then qD"(0.814, 0.401, 1.05, !0.26, !0.26). Another optimization process that proved useful is the following: first, determine (xD, yD) by minimizing (yD) for qD 3 S (xD). Then, determine 0 D solving the scalar N N
Fig. 4. OPTPT — example 1.
398
G. Foulon et al./Control Engineering Practice 7 (1999) 391—399
(Yamamoto, 1994; Seraji, 1995). When the OCPT problem is defined in this way, the tools defined in Section 5, especially the redundancy order, are insufficient. In fact, it would be desirable to define redundancy not with respect to the evolution capabilities of the EE, but rather with respect to the capabilities the task requires: the notions of redundancy and differential redundancy can be defined with respect to the notion of the task’s degree of freedom (Gorla and Renaud, 1984) by a similar reasoning. Here, an example by Yamamoto and Yun, and Seraji is studied. The path is partially known by imposing the conditions on position: l"l(s)"l#(lD!l)s m"m(s)"m#(mD!m)s, Fig. 5. OPTPT — example 2.
and, accordingly:
7.5.1. Location totally specified It is natural to want to fix both the position and orientation of the EE. With the conventions described above, it is possible to write this under a square form as follows:
dl dpL dm "Jª (q , q , q ) dpL dt dpL where pˆ "(pL , pL , pL )"(p, q #q , q #q #q ), and such that Jª is a 3;3 matrix with maximum rank (equal to 3), i.e. invertible, almost everywhere. The determinant of this matrix writes: det Jª "a cos q and is zero for the DSC previously observed. Consequently, a unique solution — when it exists — is obtained for dpˆ and, accordingly, there is one simple infinity of solutions for the control vector dp"(dp, dq , dq , dq ). So as to solve this prob lem of choice, the evolution of either q or q can be imposed; then respectively q or q has to compensate in such a way that the sum dpL "dq #dq verifies the constraint imposed by the RDDKM. In summary, any operational path x(s) can be followed, and this is done through a choice over a one-dimensional manifold. It could also be shown that, owing to the particular structure of the self-motion manifold (Murray et al., 1994), the DSC impose a reconfiguration of the mechanical system that does not need to leave the operational path x(s). 7.5.2. Only the position is imposed A task may require to fix only a subset of the location coordinates. This is the case of examples treated in
(lD!l) ds (mD!m) ds
dx"dx(s)" obtained. Then, as the system is differentially redundant, a particular solution dp is chosen in N . Finally, a unique dq is deduced from dp.
s3 [0, 1]
Then, it remains to solve (truncating Jª in a pertinent way):
(lD!l) ds (mD!m) ds
dp dq #dq dq #dq #dq Thus, it is sufficient that the rank of the above 2;3 matrix be the maximum, i.e. equal to 2, in order that a solution may exist. This means that 2 parameters among +dp, dq #dq , dq #dq #dq , suffice locally to satisfy the constraints. One can, for example, arbitrarily impose the additional task dpL "dq #dq "0. This amounts to considering the new system:
"
C !a S !a S S a C a C
(lD!l) ds C !a S dp " (mD!m) ds S a C dq It is sufficient to impose the evolution of q , i.e. q "q (s) (thus, q (s) is fixed by dpL "dq #dq "0 and (q #q #q )(s) depends only on q (s)), and then to inverse this system to obtain dp and dq step by step. By a step-by-step numerical procedure, the imposed path x(s) is followed up to first order. The parameter domain is decomposed into N#1 discrete values sI"k/N (k"0, 1, 2 , N). Let q I"q (sI) and x I"x (sI) be the actual configuration and location at step k, and let qI, xI denote the corresponding desired values. The method consists of computing for every k a configuration differential dq(sI) in q (sI) that corresponds to the desired following location xI>. Thus, the inversion has to be performed by replacing the discrete equivalent of dx, dxI"xI>!xI by dx I"xI>!x I.
G. Foulon et al./Control Engineering Practice 7 (1999) 391—399
8. Conclusion In this paper, the authors considered the current problem of executing complex tasks by coordinating the displacements of a nonholonomic platform with a robotic arm. In a first part, clear definitions have been given concerning some notions that are often used ambiguously, so as to establish correctly the models of the space transform that form the basis for the synthesis of coordinated displacements. Then, an example has served as a basis to illustrate the difficulties to be solved in order to arrive to such a synthesis. This example has been chosen owing to its simplicity that allows computations to be treated analytically, and the results to be presented in lowdimension spaces. Of course, the results reported here apply to more complex systems, made of robotic arms mounted on mobile nonholonomic platforms. The implementation of such tools for a system composed of a HILARE-like mobile platform and a 6 revolute joint robotic arm is partially described in (Foulon et al., 1997).
References Campion, G., Bastin, G., & d’Andre´a-Novel, B. (1996). Structural properties and classification of kinematic and dynamic models of wheeled mobile robots. IEEE ¹rans. Robot. Automat., 12(1), 47—62. Foulon, G., Fourquet, J.-Y., & Renaud, M. (1997). On continuous path tasks for a 6-dof manipulator mounted on a nonholonomic platform. Proc. Int. Conf. on Field and Service Robotics (FSR’97), Canberra, Australia (pp. 356—363). Foulon, G., Fourquet, J.-Y., & Renaud, M. (1998). Planning point to point paths for nonholonomic mobile manipulators. Proc. IEEE/RSJ Int. Conf. on Intelligent Robots and Systems (IROS+98), Victoria, BC, Canada (pp. 374—379).
399
Fourquet, J.-Y., & Renaud, M. (1996). Time-optimal motions for a torque controlled wheeled mobile robot along specified paths. Proc. IEEE Conf. on Decision and Control, Kobe, Japan (pp. 3587—3592). Giralt, G., Chatila, R., & Vaisset, M. (1984). An integrated navigation and motion control system for autonomous multisensory mobile robots. Proc. First Int. Symp. of Robotics Research, Cambridge, MA, USA (pp. 191—214). Gorla, B., & Renaud, M. (1984). Mode% les des robots manipulateurs — application a% leur commande. Cepadues-e´ditions, Toulouse, France. Khatib, O., Yokoi, K., Chang, K., Ruspini, D., Holmberg, R., & Casal, A. (1996). Coordination and decentralized cooperation of multiple mobile manipulators. J. Robot. Systems, 13(11), 755—764. Murray, R.M., Li, Z., & Sastry, S.S. (1994). A mathematical introduction to robotic manipulation. Boca Raton, Florida: CRC Press. Neimark, Ju.I., & Fufaev, N.A. (1972). Dynamics of nonholonomic systems. Translations of mathematical monographs, vol. 33, AMS. Nijmeijer, H., & Van der Shaft, A.J. (1990). Nonlinear dynamical control systems. New York: Springer. Reeds, J.A., & Shepp, R.A. (1990). Optimal paths for a car that goes both forward and backwards. Pacific J. Math., 145(2), 367—393. Sekhavat, S. (1996). Planification de mouvements sans collisions pour syste% mes non-holonomes. The`se de Doctorat, UPS, Toulouse, France. Seraji, H. (1995). Configuration control of rover-mounted manipulators. Proc. IEEE Int. Conf. on Robotics and Automation, Nagoya, Japan (pp. 2261—2266). Seraji, H. (1998). A unified approach to motion control of mobile manipulators. ¹he Int. J. Robot. Res., 17(2), 107—118. Soueres, P., & Laumond, J.-P. (1996). Shortest paths synthesis for a car-like robot. IEEE ¹rans. Automat. Control, 41(5), 672—688. Soueres, P., Fourquet, J.-Y., & Laumond, J.-P. (1994). Set of reachable positions for a car. IEEE ¹rans. Automat. Control, 39(8), 1626—1631. Yamamoto, Y., & Yun, X. (1992). Coordinating locomotion and manipulation of a mobile manipulator. Proc. 31st IEEE Int. Conf. on Decision and Control, Tucson, USA (pp. 2643—2648). Yamamoto, Y. (1994). Control and coordination of locomotion and manipulation of a wheeled mobile manipulator. Ph. D. dissertation, University of Pennsylvania, USA. Yamamoto, Y., & Yun, X. (1995). Coordinated obstacle avoidance of a mobile manipulator. Proc. IEEE Int. Conf. on Robotics and Automation, Nagoya, Japan (pp. 2255—2260).