Robust control of a multirobot system

Robust control of a multirobot system

Robotics & Computer-Integrated Manufacturing, Vol. 5, No. 2/3, pp. 165-172, 1989 0736-5845/8953.00 + 0.00 Pergamon Press plc Printed in Great Britai...

760KB Sizes 1 Downloads 114 Views

Robotics & Computer-Integrated Manufacturing, Vol. 5, No. 2/3, pp. 165-172, 1989

0736-5845/8953.00 + 0.00 Pergamon Press plc

Printed in Great Britain

• Paper

ROBUST

CONTROL

OF A MULTIROBOT

SYSTEM

D. M. STOKIC and M. K. VUKOBRATOVIC Institute "Mihajlo Pupin", Beograd, Yugoslavia The synthesis of control for a multirobot system is considered in this paper. The executive control level for a system consisting of several robots, which may come into contact with each other, is synthesized as a decentralized controller. Actually, we synthesized a local controller around each joint of each robot in the system. Then we analyzed whether the multirobot system is stable with such local controllers. Since the robots may come into contact with each other the structure of the interconnections between the subsystems may change during the operation of the system. Thus, we must consider the connective stability of the robotic system. To compensate for changes in the structure of the interconnections we introduced force feedback as a global control.

1. INTRODUCTION The control of a multirobot system requires many problems to be solved: one of these problems is the coordination of the robots in time and space, another is the robustness of the controller to variation of the structure during operation etc. Due to the complexity of the control system it is usually solved in a hierarchical way. The problems related to the coordination of the robots in time and space are dedicated to the upper (strategic) control levels) -5 The strategic control levels plan the paths of all robots in the system so as to coordinate their motions. The tactical control level has to map the hand trajectories into the internal (joint) trajectories of the robots. The executive control level has to ensure the tracking of the trajectories imposed by the tactical control level. Three situations might be recognized in the coordination of several robots cooperating in one technological cell or line: (a) if the robots cooperate in the same process, but do not share a c o m m o n working space, then the robots cannot come into contact with each other; in this case the strategic control level has only to synchronize the work of the robots; (b) if the robots share a c o m m o n working space their paths must be planned to avoid collisions; (c) if the robots cooperate in such a way that they must be in contact with each other (for example if two or more robots have to lift an object together). In the third case the strategic control level has to plan the trajectories of all robots so as to achieve contacts between them and synchronize their mutual movements. However,

if the robots come into contact with each other, they become dynamically interconnected. When they separate and move without mutual contact, they behave as decoupled systems except that the strategic control level is concerned with their coordination in time and space. In other words, in cases (a) and (b), the control of robots is coupled only through the strategic control level; once the trajectories are planned and sent (via the tactical control level) to the executive control level, the robots are completely decoupled. Thus, in these cases, there are no couplings between the robots at the executive control level and they can be considered as independent (decoupled) subsystems and controlled completely independently. However, in the third case, since the robots may come into contact with each other, but they may also operate independently, the structure of the dynamic interconnections between the robots changes during task execution. Thus, the coordination of the robots cannot be accomplished (solved) only at the strategic control level, but the executive control level must be capable of withstanding variations in the structure of the interconnections. At the strategic control level, the parts of the hands of each robots are planned to accomplish a stated task (for example, the hands of two robots have to simultaneously approach an object, grasp it from two opposite sides, and simultaneously lift it and put it in some desired place). The executive control level has to realize these paths along which the structure of interconnections vary. The executive control level "must take care" about 165

166

Robotics & Computer-Integrated Manufacturing • Volume 5, Number 2/3, 1989

the coupling between the robots when they come into contact with each other. This control task can be accomplished in various ways. For example, we may synthesize an adaptive control law which will automatically adapt to changes in the interconnection structures. However, the implementation of adaptive control laws is still relatively complex. Thus a robust non-adaptive control law is more appropriate. The question is whether a non-adaptive control law is capable of withstanding perturbations in the interconnection structure. The majority of robots on the market today still possess a simple decentralized controller at the executive control level, i.e. they are controlled by local servosystems around their joints. Dynamic control laws (i.e. the control which includes compensation of dynamic effects in the robotic system) are still being investigated in research laboratories 6-8 and only a few robots on the market "take care" about robot dynamics directly. Thus, it is very interesting to consider whether a simple local servosystem can accommodate a multirobot system, i.e. whether local servosystems are robust enough to withstand variations in the system structure. To answer this question, we have to analyze the stability of a multirobot system if a decentralized (servo) controller is applied. Since the structure of interconnections between joints changes if the robots come into contact with each other, we have to consider the connective practical stability of the global multirobot system. Namely, we shall apply the aggregate-decomposition method for the analysis of the stability of the global multirobot system. According to this method, we first analyze the stability of each local (decoupled) subsystem, consisting of a robot joint and its corresponding actuator. Then, we investigate the interconnections between these subsystems and analyze the stability of the global system. The interconnections between the joints of two robots may be zero (if the robots are not in contact) or they might exist (if the robots come into contact). The system must be stabilized for all possible structures of interconnections. Analysis of connective stability 9 guarantees the realization of the trajectories imposed by the higher control levels under structural pertubations. Thus, we shall analyze the connective practical stability of a multirobot system. By this we shall test whether a simple standard decentralized controller at the executive control level of the robots can stabilize a complete multirobot system. If the system is not stabilized, we shall introduce additional feedback loops in order to make the control system robust to variations of the structure of inter-

connections when the robots are connected or disconnected. We suggest the application of force feedback in order to directly compensate for these structural pertubations. Our aim is to synthesize robust non-adaptive decentralized control which stabilizes a multirobot system. 2. M O D E L OF A M U L T I R O B O T SYSTEM Let us consider a flexible manufacturing system S which includes m robots cooperating in the same control task. Let us denote the robots by S,, i E I, I = (i: i = 1, 2 . . . . . m}: the ith robot St has ni degrees of freedom (d.o.f.), i.e. it has ni joints. Each joint of each robot is driven by a single actuator. Let us denote the jth actuator (driving the jth joint) of the ith robot by Sij. Let us assume that the actuator dynamics can be described by a linear time-invariant model:

S~: Yc,; = A ~ x ? + biJu~ + f/P], V j E 14, Vi E I (1) where xij is the ni j x 1 vector of the state coordinates of the model of t h e j t h actuator of the ith robot, ni j is the order of the corr. actuator model, A? is a n~Jx n / c o n s t a n t matrix, b/, f / are n? x 1 constant vectors, u,j is the scalar input to the jth actuator of the ith robot, Pd (scalar) is the driving torque (load) acting upon the actuator, I~ are sets defined by I, = (j: j = 1, 2 . . . . . ni}, Vi E l . The driving torque acting upon each actuator is a complex nonlinear function of the state coordinates of the complete system S. Actually, driving torques are dynamic models of the mechanical parts of the robots. Let us denote by S~ the mechanical part of the ith robot. The model of the dynamics of the ith robot can be written as: Li

SiM: P / = g/(xO + E 8z~ritj x Ri~,, V / ~ I , Vi ~ I /=1

(2) where g~ is a complex nonlinear (scalar) function of the state of the ith robot, x~ = (x 1, x 2, • • .,-~ ~"~'~T is a N~ x 1 state vector of the ith robot Si, N~ is the order of the ith robot model: nt

Ni =

E ni j,

i=l

rio is a 3 x 1 position vector from t h e j t h joint of the ith robot of the lth point of contact of the ith robot with other robots, Rit is a 3 x 1 vector of the reaction force acting upon the ith robot in the lth point of contact, 8l~ is the Cronecker symbol: ~ / = 0 if there is no contact between robots in the lth point, 8zi = 1 if there is contact between the ith robot and some

Robust control of a multirobot system • D. M. STOKIC and M. K. VUKOBRATOVIC

other robot in the /th point, L~ is the number of possible contact points of the ith robot with other robots in the system, x is a N x 1 vector of the state coordinates of the complete system S, x = (x r, x2r, . . . . xmr)r, N is the order of the complete multirobot system N=

and j (i.e. the force by which one robot acts upon another and vice versa) is the function of the state vectors xi and xj of both robots: obviously R/ = R/ must be satisfied under the assumption that the lth point of contact is with the same numeration on both robots. Thus, model (2) represents the fact that the structure of the interconnections between the robots may change during the operation of the robots.

~Nt. t=l

It should be mentioned that model (2) of the multirobot system is approximate regarding the contact and reactions between the robots: the number of possible contact points might be infinite in a general case, and contacts might be such that some d.o.f, in the system are locked, but for the sake of simplicity we shall consider this approximate model. From the model of the mechanical parts of the robots S~{ it is obvious that the robot may operate either separately without contact or they may come in contact at L points, and then they are interconnected systems. If all 8?are zero (81~= 0, l = 1, 2, . . . , L~, Vi ~ I), then the robots operate separately, i.e. they are decoupled: S~{ : P? = g•(x,), V j E I~, Vi E I.

3. CONTROL TASK AND STRUCTURE As we have explained in the Introduction, the control system for a multirobot system is usually solved as hierarchical control. One solution is presented in Fig. 1. For each robot, a local contoller is implemented which has three control levels. The coordination of the robot in time and space is performed at the strategic control level. Thus, the strategic control level of the robots are "interconnected", i.e. they must exchange information about the states of the robots in order to define the paths of the robot hands. However, at the lower control levels there is no need for exchange of information on the robot states, except for the case when they have come into mutual contact in order to accomplish the control task [i.e. in the case (c) explained in the Introduction]. Since we consider this case [when 8 / i n Eq. (2) might become 1], it might be necessary to introduce exchange of information between the robots at the executive levels, i.e. we might implement executive control levels which exchange information on the robot states (dotted lines in Fig. 1). However, we would prefer to implement local independent controllers for each robot

(3)

Thus, in this case the system decouples to m subsystems each corresponding to one robot. The models of the decoupled robots are models of open kinematic chains which have been considered in Ref. 10. If there is at least one point of contact between two robots, the structure of the system changes: these two robots make a so-called closed kinematic chain. The reaction force R[ acting between the robots i

- • local

HIG

ER

CONTROL

controller

STRATEGICAL CONTROL L

,LEVEL

F

TACTICAL

I

CONTROL LEVEL

EXECUTIVEI(.

I

i

local

controller

I

1

STRATEGICALI CONTROL L

LEVEL

j

2 [

~STRATEGICALI

q

I-

CONTROL

LEVEL

TACTICAL CONTROL LEVEL

I

I

TACTICAL CONTROL LEVEL I EXECUTIVE I

] EXECUTIVEI

'

robot

LEVEL

local I controller ]I

CONTROL L_[LL-~J~---~ .... [J I LEVEL / I ....... -1

t

167

CONTROL [ LEVEL I .

t

.

.

robot 2

.

.

I CONTROL I LEVEL I .

. . . .' .

I

robot 3

Fig. 1. Hierarchical structure of the control of a multirobot system.

l

3

168

Robotics & Computer-Integrated Manufacturing • Volume 5, Number 2/3, 1989

which do not require information on the states of other robots (i.e. we want decentralized executive control level of the multirobot system). Let us consider the control task which is imposed at the executive control level. We assume that at the strategic control level the paths of the robot hands are planned so as to accomplish coordination of the robots in time and space. If the task requires that the robots must come into mutual contact, then these paths of the hands are planned so as to realize these contacts; for example, if two robots have to lift one object together, then the paths of these two robots must be planned so as to move parallel in space. These paths are sent to the lower control level, i.e. to the tactical levels of all robots. For each robot the trajectory of the hand (external coordinates) is mapped into the joint (internal) coordinates. These mappings might be performed independently for each robot, i.e. the tactical level of robot controllers might be realized independently with no exchange of information. (However, this solution might be inappropriate in a general case, for example if there are singular points etc.) The tactical control levels might be completely decoupled. The outputs of the 'tactical control levels" are trajectories of the joints which are sent to the executive control level. The executive control level has to realize these trajectories with certain accuracy in order to accomplish the states control task. Thus, at the executive control level the following task is stated: control has to ensure that the robots track imposed trajectories so that the realized paths of the robot grippers are sufficiently close to the desired paths, i.e. it has to ensure that the real trajectories of the joints are sufficiently close to the nominal trajectories imposed by the tactical control level. We shall denote by x°(t) = (x°l(t), x~(t) . . . . . x°(t)) r nominal trajectories imposed by the tactical control level. Let us denote by X t the region in the state space of allowable initial deviations of the real state vector x from the nominal initial state x°(0). Let us denote by Xt(t) the time-variable region in the state space around the nominal trajectory to which the real trajectory must belong if we wish to accomplish the stated task. For example, if we consider case (b) when the robots have to be coordinated in time and space in order to avoid collision, the allowable tolerance around nominal trajectories might be wider, since there is (usually) sufficient space to avoid collision. However, in case (c) when the robots must operate with mutual contact, these tolerances must be narrow. For example, if two robots have to hold one object together, the trajectories of their gripper must be precisely realized. Thus, the region

Xt(t) of allowable deviations around the desired nominal trajectories is defined by the task specifications and by a higher (strategic) control level. The executive control level has to ensure that for all initial states x(0) belonging to the finite region X ~ (i.e. Vx(0) ~ X I) the real system state belongs to the finite region Xt(t) around the desired trajectory x °(t) (i.e. Vx(t) E Xt(t), Vt ~ T, where T = {t: t ~ (0, r )}, r is the time period in which the task has to be accomplished). This task requires practical stability of the multirobot system around a given nominal trajectory (it is assumed that x°(0) E X ~ and

x°(t) ~ Xt(t), Vt E T). Let us assume that the regions X ~ and Xt(t) are in decoupled form: X ~ = X / x X~ × . . . × Xd, where X / is finite regions in the state space of the ith robot [around its nominal initial state x S(0)], and Xt(t) = X~(t) x X t ( t ) x . . . × X t ( t ) where X~(t) is the finite time-variable region in the state space of the ith robot [around its nominal trajectory x°~(t), Vt E T]. Thus, for each robot the executive control level has to ensure: Vx~(0) E X t implies

x,(t) E X~(t). Since we consider case (c) when the robots might be in mutual contact during an operation, the system is not physically decoupled and the structure of the interconnections between the robots might vary. As we have explained in the Introduction, it would be preferable to apply a decentralized controller, i.e. for each robot to apply an independent controller. Thus, we shall consider such a decentralized structure of the executive control level. For each robot we shall synthesize independent control which has to realize the desired trajectory, i.e. to ensure the practical stability of the robot around its nominal trajectory. Then we shall analyze the practical stability of the complete multlrobot system ff such local robot controllers are applied. If the multirobot system is not stabilized, we have to introduce global feedback loops which will take into account interconnections between the robots. •

,

\

4. SYNTHESIS OF A SINGLE ROBOT CONTROLLER Let us briefly explain the synthesis of a controller for each single robot considered as an independent plant. For each robot S~ we have to synthesize a controller which has to ensure the practical stability of this robot if it is considered to have no interconnection with other robots• However, each robot is a complex (large-scale) mechanical system, which, again, can be considered as a set of subsystems for which local controllers can be synthesized. Actually, for each robot S~ we can again apply a decentralized

Robust control of a multirobot system • D. M. STOKI(~and M. K. VUKOBRATOVI(~

controller consisting of a set of local controllers each associated with one subsystem of the robot $4. In order to synthesize a decentralized controller for the ith robot $4 we shall consider an approximate decoupled model of the system. ~1.~2 The model of the mechanical part of the robot (3) can be considered in approximate form:

P? = G?rx?, V j E 14, V i E I

(4)

where G,/are n/ x 1 vectors. Actually, the robot is "decoupled" to a set of decoupled joints. Combining this decoupled (approximate) model of the mechanical part of the robot and models of actuators (1) we obtain the models of local subsystems (actuator + joint):

S?: 2? = A?x? + b?u?, V j E 14, Vi E I

(5)

where A / i s a n~ x ni matrix, given by A / = A / +

LJc/ .

Thus, instead of the exact model (1), (3) of the robot $4, we consider the approximate decoupled model (5). Obviously in model (5) the coupling term if(P? - G?rx?) is neglected. Let us assume that the regions X{ and Xl(t) are given by X{ = X{tl~ x X/(2) x . . . . . x X~ ("o where X~~) are finite regions of allowable initial states in local state space of the jth subsystem B/, and X~(t) = X~°)(t) x X/(2)(t) x . . . . . x X~ttn4) where X ~ ( t ) are finite regions of allowable state deviations in the state space of the jth subsystem S? of the ith robot if it is assumed that the regions X{°~ and X~)(t) are around nominal trajectories xfl°~(t), where x4°(t) = (xfllr(t), xfl2r(t), • • .,

xiOniT)T.

When our control task at the executive level (practical stability of the ith robot) is applied to decoupled model of the ith robot (5), it reduces to the set of local control tasks where for each local subsystem S? we have to synthesize a local controller which ensures tracking of nominal trajectory x4°O)(t) in such a way that V x / ( 0 ) E X/~/) implies x/(t) E X~)(t), V t E T. Let us assume that the nominal trajectories xflO)(t) are imposed in such a way that functions ufl°)(t) Vt E T can be found satisfying:

2,°u)(t) = f~?xfl°)(t) + b?uflO)(t), Vj ~ 14, V i ~ I. (6) Actually, u4°°)(t) represents so-called local nominal control (feedforward) which drives a decoupled subsystem S? (actuator + joint) along xflO)(t) if there is no perturbation acting upon the subsystem and if x?(O) = xfl°)(O). We can consider a model of the deviation of the subsystem state x? from the nominal trajectory xfl°~(t), i.e. from (5) and (6) it follows: S?: A27 = . 4 ? Ax? + b?Au?, Vj ~14, Vi ~ I

(7)

169

where A x ? = x? - x t ° ° ) ( t ) is the n? x 1 vector of the subsystem state deviation from the nominal trajectory xi°°)(t), and Au?(t) = u?(t) - ufl°~(t) is the scalar deviation of the control from local nominal control ufl°)(t). We have to synthesize control' Au? which practically stabilizes ~the local subsystem (7) around the point Ax?(t) = 0. Since the local subsystem S? is a time-invariant linear subsystem, we can select a local controller in the classical linear form:

Au?(t) = - k ? r Ax/(t), Vj E 14, Vi E I

(8)

where k? is the n? x 1 vector of the local feedback gains. Here it is assumed that all state coordinates x? are measurable. The local feedback gains might be selected using some of the well-known procedures for linear control synthesis. In this way we obtain a decentralized controller for the ith robot. Around each joint and its actuator we synthesize a local controller in the form:

u?(t) = u,°°'(t) + au?(/) = ui°U'(t) - k?rAx?(t), Vj EIi, Vi ~ I.

(9)

These local controllers (servosystems) have to stabilize not only the local subsystems S?, but also the complete robot system $4 when real coupling between the robot joints is taken into account. 5. S T A B I L I T Y OF A M U L T I R O B O T S Y S T E M

In our previous papers 1i- 14 we have analyzed the practical stability of a single robot $4 if a decentralized controller (9) is applied. In Ref. 15 we have analyzed the practical stability of a two-robot system if such decentralized controllers are applied for each robot and when variations of the interconnection structure between the robots are taken into account. Here we shall not repeat this stability analysis, but we shall simply write a stability test for the multirobot system consisting of m robots. Using previous results on practical stability ~6 and connective stability 9 we can establish the following test of the connective practical stability of a multirobot system. First we examine the practical stability of a decoupled subsystem 5 / ( 5 ) if a local controller (9) is applied. According to Ref. 16 if a real valued continuously differentiable function v?(t, x?) and a real valued function of time q/?(t) which is integrable over the time interval T exist, such that ~?(t, x?) < qJ?(t), Vx? ~ X4t°~, Vt E T t

f ~,?(t')dt' ~< v~X"'(t)!(t) - v M jax,'o, ,,,, 4 to), V t E T 0

(10)

170

Robotics & Computer-IntegratedManufacturing• Volume 5, Number 2/3, 1989 jaX,~(t)

where v,n~ (t) denotes min v/ o v e r ~Xitq)(t) j i~X/°~ and Vu~ (0) denotes max v~ over ~X/°), then the subsystem S / i s stable with respect to (Xt ~°), X [ °~, z ). Here ~X(t) denotes the boundary of the corresponding region and ,~t~J)(t) = X[°)(t) - P,tm~ exp (-a,°>t). Here ai °) denotes degree of exponential shrinkage of the region X~ t°), i.e. we assume that the region X~l°) and Xtt°)(t) a r e given by: Xt I°) = {xiJ(O):

11A x?(0)II ~<

2/'% Xit°)ft)

= (x?(t): II Ax?(t)II ~<

X/q) exxx_p(-aiO)t)), V t E T, X~J) >~ S . i I(j), Oli0) ~ O. Here X/o~, X/o~, a ( j~ are real-value positive numbers I1" II denotes the Euclidean norm of the corr. vector. Since the system S is subject to structural perturbations (if ~/change from 1 to 0 or vice versa), we have to introduce a so-called fundamental interconnection matrix E according to ~ilj ak. 9 The matrix is a M x M block matrix E = [Ei~], where .nl

M = ~ n~ and E ~ = (e ik) where the elements e i~ are J=l

defined as: ik = { 1 if X~ occurs in f / P / ejt . 0 ifx~ does not occur in f / P /

guarantees the stability of a multirobot system whether the robots are in mutual contact or not. By extending the results from Ref. 15, it is easy to show that if the following conditions are satisfied: a(j,

i

t - exp(-a(J't)] + ~, ~ e ~ ¢t~ a~ u k = l l=l

• I1 - exp(-a~t)t)] + p[J)q) <~ L~(H?).~/°' exp(_otio)t) _ ~t v21"t.l j ' ~ V l ( j ) Vt E T, Vj E I,, Vi ~ I

then the complex multirobot system S is connectively practically stable with respect to (X I, X t, r ). In Eq. (12) the following notation is used. The functions W are selected in the form v~(t, x, ~) = [ AxiJTHtj AX~ ]½ where H~j are n~j assume that the local controller selected that the I) i~along (5), (9)) ~

(11)

where j ~ I , i ~ I, l ~ Ik, k ~ I. Actually the elements ~k tell whether the/th subsystem (joint) of the kth robot can be coupled with the jth subsystem (joint) of the ith robot, or they cannot be coupled. For example, if two robots (the kth robot and the ith robot) cannot come into mutual contact (for example due to their positions), then obviously ~k = 0 Vj ~ I , V I E I~ and ~ = 0, Vj ~ Ik, VI ~ I,. The elements of the matrices E , = (e~) on the main diagonal of the matrix E tell whether the joints of the same robot can be coupled or not, i.e. the matrices E , represent the interconnection matrix of the ith robot itself. The matrix E o obviously is the interconnective matrix between the ith andjth robot. An n x n interconnection matrix E = [E~ ], Ei~ = (ej~) is said to be generated by the n x n fundamental ik ~ 0 interconnection matrix E if ~ = 0 implies ej~ for Vj~I~, V i i i , V l ~ I ~ , V k ~ I , and this is denoted by E ~ E. Combining the definition of connective stability by Siljak 9 and that of practical stability by Michael, ~6 we may define the connective practical stability of a large-scale system S as in Ref. 15: the system S is connectively practically stable if it is practically stable with respect to ( X l, X~(t), ~) for all E ~ E. This means that the system S is connectively practically stable if it is stable for all possible structural perturbations in interconnections which may occur during the operation of the multirobot system. In other words, the connective practical stability

(12)

(1 3)

x ni j positive definite matrices. We local feedback gains k~ of the jth of the ith robot (8), (9) are so following inequality is satisfied:

--V/II AX/II,

ViEI

VjEI,,

(14)

where %; > 0 are stability degrees of the local decoupled subsystems (5), (9). km and hu denote minimal and maximal eigenvalues of the corresponding matrix, respectively. ~j~ and the time functions pio)(t) in Eq. (12) are estimates of the coupling between the subsystems. Actually, the real coupling between subsystems (5) might be written as f / ( p / _ G,Jx?) = f/(p/o _ G;x OO)(t) + aP? - G?ax?)

(15)

where p/O is the so-called nominal driving torque, in the jth joint of the ith robot, which corresponds to the nominal trajectory x°(t):

L,9 P?°(t) = g?(x°~(t)) +

E 8~(t)r'o(x°(t)) /=1

x Rt(x°(t)), V j E I , Vi ~ I

(16)

where L o is the desired number of contact points between robots along the nominal trajectory. In Eq. (15) AP? denotes the deviation between the real driving torque P,; and nominal torque p?0 if the real state x(t) deviates from x°(t). Since lim AP/j ~ 0 for x(t) --> x°(t), the values of ~ki can be found which satisfy (gradv~)TfiJ( A p i j -- G~ AXt j) <~

k=l

/=1

~'~ (17) -- jl l ~~11AxFII Jl

V(t, x) E T x Xt(t), V j E I,, V i E I.

Robust control of a multirobotsystem• D. M. STOKI~and M. K. VUKOBRATOVI~ Also we can find real value functions p i°~(t) which satisfy: t

f (gradv?)rf~)(P,°~(t) - G~;x?°(t))dt <~ p?(t), o

V(t,x) E T x Xt(t), V] Eli, Vi E 1

(18)

Thus, the tests (12) can serve us to analyze the connective practical stability of the complete multirobot system S. If tests (12) are satisfied we may guarantee that the multirobot system S is practically stable around nominal trajectories whether the robots come into contact or they operate separately. Actually, in determining values of ¢~k we must take into account all possible contacts between robots. The same holds for fundamental interconnection matrix E. Then, we have to test the conditions (12) when all interconnections are taken into account, i.e. when eo is 1 for all possible interconnections between subsystems. Depending on the type of contact between the robots some of the interconnections between the joints of the robots might vanish, which means that the interconnection matrix E will change. If the robots are not in contact then Eik = 0 , i.e. the robots are decoupled from each other and they operate as decoupled subsystems St and Sk. However, the stability test (12) guarantees the practical stability of the system with decentralized controller. It should be noted that when robots come into mutual contact, they make closed kinematic chains. Thus, some of the degrees of freedom are "locked", and the number of independent subsystems decreases. However, we may still use the stability test (12) but in determining values of ~ik in Eq. (17) we must take into account this change in the model structure, i.e. we must determine interconnections between "new" subsystems (which correspond to a closed kinematic chain) and then we must determine equivalent interconnections between original subsystems (corresponding to an open kinematic chain), for which the test Eq. (12) is defined. Using the stability test Eq. (12), an algorithm for the iterative choice of a decentralized controller of a multirobot system which guarantees connective practical stability of a complete system S has been established. 15 6. GLOBAL CONTROL SYNTHESIS If we cannot determine a decentralized controller which is capable of withstanding all perturbations in the interconnection structure, we must introduce additional feedback loops. We have to add global control loops which will compensate for the influ-

171

ence of coupling between subsystems. In our previous papers we have proposed various forms of global control to compensate for coupling between the joints of a single robot. We have proposed global control in the following form:

A ui Gj = - k i Gj[(gradv/)rb/]- l(gradvtJ)rf~JPi ~*

(19)

where ki Gj is the global feedback gain (scalar) in the jth joint of the ith robot, and Pd* is the value which represents the coupling upon the jth subsystem of the ith robot. The value of P/* is proportional to the coupling and it can be obtained in two ways: either by on-line computation of the driving torque Pij, or by direct measurement of the driving torque. Namely, the couplings between subsystems S/ are driving torques (forces) which can be directly measured by force transducers. This solution of global control is very simple from the standpoint of computation that has to be performed in order to calculate global control signals, but it requires implementation of force transducers which increases the price of the control system. However, in a multirobot system possible interconnections between two robots (when they come in mutual contact) also can "destabilize" the system. Thus, we have to introduce global control which should compensate for these interconnections between the robot. On-line computation of forces acting between the robots.might be, in a general case, very time consuming and require a powerful control computer. On the other hand, by measuring forces, we obtain direct information on interconnections. The implementation of force transducers in the robot joints might be unsuitable from a technical point of view. However, we may directly measure the interconnection forces between the robots. Usually the contacts between robots are realized via payload, or directly via the grippers of the robots. If we measure forces at certain points of the robot grippers we may obtain information on mutual interconnections. In our previous papers, 17 we have described a special experimental gripper which has been developed in the "M. Pupin" Institute, Beograd, which includes six force transducers (three on each side of the gripper) by which we directly measure reaction forces (all three components on each side) between the gripper and the payload. A diagram of the gripper is presented in Fig. 2. In Ref. 17 we have described the implementation of this gripper in a assembly task and in making the robot robust to payload parameter variations. Namely; by measuring reaction forces between the gripper and the payload we obtain information on the external

Robotics & Computer-Integrated Manufacturing • Volume 5, Number 2/3, 1989

172 ~2

system if, besides local controllersl global control is also applied. It should be noted that global control (19) and (20) is effective only if ( g r a d v / ) T b / # O. Thus, the regions in the state space for which ( g r a d v / ) r b / ~ 0 must be carefully studied. 13

z

I

X

$1 ! sS

Fig. 2. Experimental gripper with force transducers.

forces acting upon the payload in an assembly task; thus, we can use this gripper to establish force feedback control which is capable of ensuring the completion of a "peg in hole" task. On the other hand, the information from force transducers might be used to identify parameters of the payload and, by this, to make the control system robust to payload parameter variations. Obviously this gripper can be used to make the controller of the robot robust to structural perturbations due to contacts between the robots. Namely, if we measure the forces between the payload and the gripper and if the same payload is holding by the gripper of another robot, then we get information on the reaction forces between these two robots. By applying force feedback from these transducers on the gripper we make the system robust to structural perturbations appearing due to contacts between the robots. If we measure the forces R / ( o n the gripper of the ith robot), and we apply global control in the form: A u, Gj = -k,Gj[(gradv?)rb? ]-l(gradviJ)Tftj 2

X

x R,'

(20)

l=1

where we assume that we measure two contact forces (at each side of the gripper), then it can be easily shown that the interconnections between these two robots are compensated and the controller of the ith robot is robust to structural perturbations caused by another robot holding the same object. The above test of the connective practical stability can be easily used to analyze the stability of the

REFERENCES 1. Albus, S.J., Mclean, R.C., Barbera, J.A., Fitzerald, M.: Hierarchical control of robots in an automated factory. Proceedings of 13th ISIR/ROBOTS 7, 1, 1983. 2. Freund, E.: Nonlinear control with hierarchy for coordinated operation of robots. NATO ASI Series, F l l , pp. 321-344, 1984. 3. Hoyer, H.: On-line collision avoidance for industrial robots. Preprints, Symposium on Robot Control, Barcelona, pp. 477-486, Nov. 1985. 4. Zapata, R., Coiffet, P., Fournier, A.: Trajectory planning for multi-arm robot in an assembly task. Digital Systems for Industrial Automation, Vol. 2, No. 2, 1985. 5. Blanchfield, P.: Multi-robot cell controller using an expert systems approach. Proceedings of the 16th International Symposium on Industrial Robots, Brussels, Oct. 1986. 6. Paul, R.R.: Robot Manipulators: Mathematics, Programming, and Control. MIT Press, Cambridge, 1981. 7. Freund, E.: Fast nonlinear control with arbitrary pole-placement for industrial robots and manipulators. Int. J. Robotic Res. 1: 65-78, 1982. 8. Vukobratovi6, K.M., Stoki6, M.D.: Control of Manipulation Robots: Theory and Applications. Springer, Berlin, 1982. 9. ~iljak, D.D.: Large-Scale Dynamic Systems: Stability and Structure. North-Holland, New York, 1978. 10. Vukobratovid, K.M., Potkonjak, V.: Dynamics of Manipulation Robots. Springer, Berlin, 1982. 11. Stoki6, M.D., Vukobratovi6, K.M.: Practical stabilization of robotic systems by decentralized control. Automatica 10: 353-358, 1984. 12. Vukobratovi6, K.M., Stoki6, M.D.: Suboptimal synthesis of a robust decentralized control for large-scale mechanical systems. Automatica 28: 803-807, 1984. 13. Vukobratovi6, K.M., Stoki6, M.D., Kir6anski, M.N.: Non-Adaptive and Adaptive Control of Manipulation Robots. Springer, Berlin, 1985. 14. Stoki6, M.D., Vukobratovi6, K.M.: Synthesis of robust decentralized control for manipulation robots in parametric plane. Proceedings of a Symposium on Theory of Robots, Vienna, 1986. 15. Vukobratovi6, K.M., Stoki6, M.D.: Control and stability of the multi-robots system. 4th IFAC/IFORS Symposium on Large Scale Systems, Zurich, 1986. 16. Michael, N.A.: Stability, transient behaviour and trajectory bounds of interconnected systems. J. Control 11: 703-715, 1970. 17. Stoki6, M.D., Vukobratovi6, K.M., Hristi6, S.D.: Implementation of force feedback in control of manipulation robots. Int. J. Robotic Res. No. 2, 1986.