Copyright 10 IFAC lntelligentAssembly and Disassembly, Bled, Slovenia, 1998
SIMULATIONS FOR A CLOSED-CHAIN MULTIPLE ROBOT SYSTEMS BY APPLICATION OF NEURAL NETWORK CONTROLLERS
Arbnor Pajaziti* and Peter Kopacek**
*Mechanical Engineering Faculty, University ofPrishtina, Kosova, YU E-mail:
[email protected] "Institute ofHandling Devices and Robotics, Technical University of Vienna, Austria E-mail:
[email protected]
Abstract: This paper considers the simulations for a closed-chain multiple robot systems by application of neural network (NN) controllers and the well-known computer torque method to the manipulation of a single rigid object by two redundant manipulators. The structures of the neural network controllers of multiple robot systems have been discussed. The two three-link redundant manipulators grasping a common object is adopted as an example mechanism to demonstrate proposed NN control scheme associated with computed-torque method. Back-propagation training algorithms for the NN controller have been developed. An illustrative example is included. The simulation results show that both of the redundant manipulators can maintain the contacts and manipulate the common object to follow the desired motion with the proposed scheme. Copyright © 1998IFAC Keywords: Neural Network Controllers, Multiple Robotic Systems, Control, Simulations
1. INTRODUCTION
dynamic model of the multiple robots with redundancy. The main objective is to control the position and interactive force simultaneously while the multiple robots are manipulating a single object. The tracking performance can be improved by the neural network trained an on-line learning algorithm (Wu, et al., 1993).
It has been long before recognized that multiple robot systems are capable of performing tasks that are either difficult or impossible to perform by a single manipulator. These tasks include manipulation and transportation of heavy, long, large, or flexible objects. Control methods for coordinated multiple manipulators have been an active area in robotics for more than a decade.
When we consider the use of neural networks as a robot controller, it must be compared with the control algorithms of conventional control theories, and in particular with the adaptive control theory. The goal of the NN controller is similar to that of the adaptive controller (Yabuta et al., 1990). It is therefore important to establish the differences between the adaptive controller and the NN controller. Beside many proposed control schemes it is very difficult task to achieve an acceptable system
Recently, control application of neural networks received increasing attentions due to their versatility, such as nonlinear mapping, learning capability and parallel processing (Tao, et al., 1993). The neural network plays the role of a robust controller to compensate the uncertainties of the
81
performance because high level of unpredictable interaction between multiple robots and environment. The parameter variations and disturbances can cause great level of interaction forces or loss of contacts. All mentioned facts represent the prerequisites for using ofNNs for control tasks, because with learning capabilities of NNs we can enhance significantly robotics performance with a priori low level of information's about model of multiple robots and environment. Thus, the aim of this work is intention of extending the whole theory developed to deal with more general problem of performing position and force control of multiple robots.
where mo is the mass and Mo is the inertia tensOJ (along principal axes about the center of mass C) 01 the object. W is the vector of external forces and moments acting on the object, including gravity, and bo is the 6 x 1 vector of nonlinear velocity dependent terms:
The mobility for a holonomic system is the minimum number of independent generalized coordinates required to describe the configuration of the system. If the mobility is m, the task space is described by an m-dimensional vector of generalized coordinates, Po'
The paper is organized as follows. In the next section a dynamic modeling of multiple robotics systems for the control of two cooperating arms is presented. In third section the problem of control of contacting in tracking tasks by multiple robot systems is presented. In the fourth section, the neural network is designed, and the algorithm for training the network is elaborated. The Back Propagation Network (BPN) controller is described for the further simulation of multiple robot system given is the fifth section. The paper is concluded in the final section.
r;
is transformation matrix that transforms object
velocities refereed to the center of mass to the contact point of the object and the ith end-effector. The acceleration equations can be written in the form: (3)
where gi = t i Po + f;. Pi' Pi, and Pi are position, velocity and acceleration of the end effector respectively. Here J; is the acceleration terms describing the relative motion between the two contacting bodies.
2. DYNAMIC EQUATIONS OF MOTION
The equation of motion of the ith robot with position and force constraints in joint space is given as:
2.1. Example with two planar 3-r manipulators A ( ) .. + b ( .) i qi qi i qi ,qi -
't
i
-
JT F i i
(1)
Consider two robots firmly holding a single object as shown in Figure 1. Each robot has three revolute joints making one contact with the manipulated object (j=2) on the third link with a planar palm as an effector. The object is to be manipulated using the palmar contact while a desired condition of contact is maintained (Paljug et al., 1994). Here, Po is the three dimensional and two other independent position variables. Thus the task space can be dermed by Xo ' Yo, d l and d]. di is the scalar parameter (arc length) that describes the location of the contact point on the end-effector. However, in general, it is difficult to derive closed form expressions for d j in terms of joint angles. Therefore we choose the orientation of the two palmar surfaces, <1>1 and <1>] respectively, as the two other generalized coordinates:
for i = 1,2, ... ,m, where A;: denotes the n j x n i inertia matrix of ith robot. bi : denotes the Coriolis, centrifugal effects, gravitational effects of ith robot, an n j x 1 vector.
JT:
denotes the transpose of 6 x nj Jacobian matrix of ith robot. F;: is the 6 x 1 force/moment vector applied to the object by ith robot. 't i: is the n j x 1 vector representing the joint torques or forces of ith robot. qj: represents the joint angle of ith robot, an n i x 1 vector. The equations of motion for the object with} contacts can be written as: A o (Po)Po +bo(Po 'Po) =
.f r;
1=1
F i +W
(2)
= qIJ + ql] + qJ3;
<1>]
= q]1 + q]] + q]3;
Thus, the task space variable
A o is the 6 x 6 inertia matrix of the object given by
Po = [;Xo Yo
T "'" "'" 7 . 'Vo ""'I 'V 'V2J
The dynamic equations of motion for manipulators in the joint space are given in (1).
82
the
3. POSITION AND FORCE CONTROL ALGORITHM In order to perform the task of manipulating the object by multiple robots, the controller must regulate the position and orientation of the object, and the contact conditions. The control of the contact conditions necessities the control of certain forces, e.g., the critical contact force for two 3-R manipulators. Equation (7) characterizes the motion of the robots and object. As for the output equation, we have the position and orientation of the object, Po' as part of it since they are to be controlled directly. In general case with two 6 d.o.f. anns in space, Po is 6 dimensional, and is 12 dimensional. Since the input vector u is also 12 dimensional, there are 6 surplus inputs that can be used to control the critical contact forces.
Fig. 1. Two 3-R robotic anns manipulating an object. Since the joint accelerations and the manipulator end-effector accelerations are related by: .. -1 .. -1 . . qi = J i Pi - J i J i qi
(4)
we obtain the motion equations of the manipulator in task space as follows: Hi Pi +hi + Fi = JiT'i -T
In the planar example in Figure 1, Po is three dimensional and there are six actuators. Therefore and the input vector u are six dimensional, and the state vector is twelve dimensional. There is one surplus input which can be used to control force components, in this case the projection of F J along
(5)
-1
where Hi = J i Ai J i and -T -1. -T hi = - J i Ai J i J i iJi + J i · hi Now since we want to express all equations in the object space, we use Equations (3) and (5) to get
H;r;po+(H;g;+h;)+F;
= J;-Tt ;
eJ2.
(6)
3.1. The computed-torque control method
From Equations (2) and (6), we obtain Po
= -
u -I r
r[
HI gl +hl ]
h
H 2 g2 + 2
+U
-I
D't +U
-I
The model-based computed-torque method is the basic approach to robot control. When equations of motion for the object is available, the control law can
(W+b o ) (7)
where U is the task space inertia of the complete system given by T
T
[ T
T]T
U=Ao+[1 HI [1+ [2 H 2 [2,'t='t1 't2
TT] T
[= [[I
[2
be written as (see Figure 2 with, N = 0):
'
' and D= [ [IT J I-T [2T J 2-T] ' F/
pt
a Jacobian matrix.
pt
The contact forces and moments can easily be calculated. For example, the expression for F J is obtained from Equation (6) and (7) as
F,
+
,: ,: ,:
pt
(8)
Fig. 2. Block diagram of neural network control structure.
where
(11) where Ao(Po) and bo (Po ,Po) are estimates of Ao(po)and bo(Po ' Po) and u( t) is given by:
(9)
U(I) = Pod + K D (Pod - Po) + K P (Pod - Po)
(12)
where K p and K D are n x n symmetric positive
(10)
definite gain matrices. Combining (2), (11), and (12) yields the closed loop dynamic equation:
83
called a sigmoid function which is bounded between
e+KD fHKp e=A;}(t:1Aa(PO)PO +f:!.bo(Po'Po ))
where f:!. A o (Po) = A o (Po) f:!.b o (p
0
,Po) = bo (p
0
and e = (Pod - Po)· If
o and 1:
(13)
Ao (Po ), and
ho (p 0 Ao = Aa, ho =
,Po) -
2
Sj(X) = - - - - -
(15)
I + exp(- x)
,Po), bo
The activated signals are weighted
then equation (13) becomes the following ideal linear second order equation:
(w;
k)
and
summed at each output node. Thus, the outputs at a linear output node are six joint torques L Nk ' and can be calculated from inputs as follows:
(14)
where K P and KD can be chosen to achieve (16)
decoupled critically-damped or over-damped system response.
where output of the neurons in hidden and output layers are specifIed with the simple additive model:
Since there are always uncertainties in the robot dynamic model, the ideal error response (14) can not be achieved and the performance is degraded as indicated by (13). Thus the computed-torque based control is not robust in practice. To improve robustness, NN controllers have been employed to compensate for the uncertainties as shown in Fig. 3.
(17
(18
where n/ is a number of inputs, n H is a number of 4. THE STRUCTURE OF THE NEURAL NETWORK
hidden units, Xi is the ith input of vector X, (wi j ) is the fIrst layer weight between ith input and jth
The standard feedforward neural network in Figure 3 is proposed as the controller which yields results all confIrming the superiority of the NN controllers over the computed torque method controller (Jung, et al., 1995; Tao, et al., 1993). It is composed of three layers, an input layer, a non-linear hidden layer and a linear output layer. Each robot has three rotational joints. Due to the complexity of the NN we reduce the input signals considering the position of object along the x and y axis and the interactive force along the x axis. Thus the input signals of the input layer, during the control cycle, are
hidden unit, (w} k) is the second layer weight between jth hidden and kth output unit.
d T
X = [(po)
The weight (w}j) at Y cycle is updated with the fIrst order difference equation: / w .. I
J
(Y
J
J
I)
I
(19
+ J) = w .. (y ) + Tl L\ w .. (y ) J
The is a constant learning rate selected in the < l. range 0 < Ifthejth neuron belongs to output layer, then
.d T ,..d ,..d ]T (po) "Ix 12x .
where
I
(21
x, t N1
X. X.
x-
N2
With the training signal L tk that can be derived
t
N3
from Figure 2, f:!. Wfj (y ) is computed as follows:
t N4
X.
t
X.
f
t
1 f:!.Wjj (y) =
N5
t N6 (;
HH
2
~2
k=I
a
(y))Sj (h/Y))Xj(Y)
Fig. 3. Neural network structure. The input signals are multiplied by weights
P
(L (tly)-tM(Y))Sk (Yk(y)JWjk
Ifthejth neuron belongs to hidden layer, then
(wl j
S'· = dS . / dh .
)
]
and summed at each hidden node, then the nodes are
]
]
(23
For the following simulations, due to the nature of the sigmoidal activation function, the dynamic range
activated through a nonlinear function, Sj ( x) ,
84
of each processing element is adopted from -0.9 to 0.9.
maintaining the desired interactive force on the object. First the case of a perfect model of the system is simulated. This is to verify the control law of the equation (I I). It is seen that both position and force converge to the desired values. Thus, the simultaneous position and contact force control is achieved when the dynamic model is known exactly. Consider the case where the model is not known exactly due to uncertainties of the dynamic model where desired model (AD ,bo) relate to the actual model (AD ,bo ) by half value.
5. SIMULAnONS The initial positIOn of the object m the inertial coordinate frame is:
d d d Y (xo ' Yo ' zO) = (0, Po' 0)
(24
Pb
with = 1.7033 m . The object is planned to travel in a straight line simple harmonic motion with equal accelerations and velocities in x and y directions without rotation as depicted in Figure 4. This motion is 0.3 m in magnitude and 1 circle per second in frequency. The planned motion for the object expressed in the inertial coordinate frame is:
~ = [-m·sU(ht ·t(i)), ~ -Q3·sU(ht .t(i)).OjT
Because of the shortage in the space, only the simulation results using the BPN controller will be shown. Using the control law (11) in Figure 5 and 6 is shown the position tracking errors along x and y directions obtained by BPN controller. From these figures, because the errors are so tiny (only about 0.5% of the magnitude of the planned simple harmonic motion) it can be seen that these two robots can maintain the contacts and grasp the object securely.
(25
where t(i) is the time at the ith sampling point. The friction coefficient, Il, between each link of manipulator is assumed to be 0.1 and the sampling time (At) in simulation process is 10 ms. ~
0006
Hc::In'lc:nc MotIon (119C per cycle)
000..
X.Cm) 0002
~
~
0002
15
05
Fig. 4. Initial position of two 3-R robotic arms grasping an object.
I
Time (sec)
Fig. 5. Position error Xc with BPN controller.
In order to remove the redundancy of the manipulators the joint variables of the planar manipulators are specified as follows (Pajaziti, 1997):
0.01
r---..,.....---y-------.::::-----,
Y.(m)
q=[qil qil+qi2 Qil+ Qi2+qi3f, i=1,2
(26) 4)
The simulated contact forces formulated in section 2 are adopted into the simulation. The gain matrices K p and K D are defmed as:
01
-
--<>.02 L..-_ _- ' -
.L.-_ _--'-_ _- - - \
05 I
Time (ICC)
0]
Fig. 6. Position error Yc with BPN controller.
100 0 0] [20 o K p = 0100 0 andKD= 0 20 0 . [ o 0 100 0 o 20
The contact force errors are presented in Figures 7 and 8 obtained by BPN controller. As shown in Figures 7 and 8, the absolute values of the errors are only 1.2% of the desired values. This indicates that the neural network control scheme is indeed working well for resolving the problem of the closed-chain robotic system even though only the half dynamic model is applied in control.
The desired value for the critical contact force is set to be 40 Newtons. The two robots are required to move the object from the initial position to the fmal position along the desired position trajectory while
85
05
r----=----,-------:=------,
IEEE Transactions on Robotics and Automation, Vo!. 10, No. 4, pp. 441-452. Tao J.M. and J.Y.S. Loo (1993). Application of Neural Network with Real-time Training to Robust PositionIForce Control of Multiple Robots. IEEE Transactions on Robotics and Automation, Vo!. 1, pp. 142-148. Wu e.M., B.e. Jiang and C.H. Wu (1993). Using Neural Networks for Robot Positioning Control, Robotics & Computer-Integrated Manufacturing. Vol. 10, No. 3, pp. 153-168. Yabuta T. and T. Yamada (1990). Possibility of Neural Networks Controller for Robot Manipulators. IEEE Transactions on Robotics and Automation, Vo!. 2, pp. 1686-1691.
Flh (N)
_1'--_ _--'-
---'-
......._ _- - '
Time (scc)
Fig. 7. Force error with BPN controller of robot 1.
r----,-----.---.-----,
--
.......
~
04
0.5
_ ___J
IS I
Time (scc)
Fig. 8. Force error with BPN controller of robot 2. 6. CONCLUSIONS We have presented a neural network robust controller for the coordination of multiple robots in manipulation tasks including the object trajectory as well as the trajectory of contact points and the constraint forces. Based on the simulation results, one can conclude that the neural network is well trained so that the desired tracking perfonnance can be achieved. The advantages of the presented controller in the task space is evident in the fact that the controller operate in the nature system of sensors (camera, force sensor etc.) and thus allows a simple improvement of, for instance, the force controller. Thus, it can be implemented to control a more general class of dynamic system whose model is unknown.
REFERENCES Jung S. and T.C. Hsia (1995). A New Neural Network Technique for Robot Manipulators. Robotica, Vo!. 13, pp. 477-484. Pajaziti A. (1997). Application of Neural Network Computing Controllers to Multiple Robotic Systems, Doctoral dissertation, TU Vienna. Paljug E., X. Yun and V. Kumar (1994). Control of Rolling Contacts in Multi-Ann Manipulation.
86