Neural Network Techniques for Robust Force Control of Robot Manipulators Seul Jung and T.C. Hsia Robotics Research Laboratory Department of Electrical and Computer Engineering University of California, Davis Davis, CA 95616 email:
[email protected] and
[email protected]
Abstract
In this paper a neural network force/position control scheme is proposed to compensate uncertainties in both robot dynamics and unknown environment. The proposed impedance control allows us to regulate force directly by specifying a desired force. Training signals are proposed for a feed forward neural network controller. The robustness analysis of the uncertainties in environment position is presented. Simulation results are presented to show that both position and force tracking are excellent in the presence of uncertainties in robot dynamics and unknown environment.
I Introduction It is well known that impedance control technique of Hogan [1] is an eective way for controlling the contact force between a robot end eector and an environment. The principle idea of this technique is to regulate the contact force and the endeector position based on a desired mechanical impedance. It is also known that the contact force can be controlled to track a desired force if the reference trajectory of the robot is speci cally designed using the information of the environment position and stiness [1]. In many applications, force tracking impedance control is of great interest. We can see that a successful implementation of the force tracking impedance control requires a high quality robot position controller and accurate knowledge of environment position and environment stiness. These requirements are usually dicult to ful ll simultaneously. Thus, it remains to be a strong challenge for researchers to solve the problem in a meaningful way. It has been shown that adaptive techniques can be eectively applied to deal with the problems of uncer
tainties in robot dynamics and environment stiness [2, 3, 4]. Seraji and Colbaugh [2] has proposed the adaptive technique to adjust the reference trajectory using force tracking errors so that the controller can accommodate the lack of knowledge of environment position and stiness. Seraji [4] has implemented the adaptive PID or PI controllers to deal with unknown environment stiness. A non adaptive approach using a combination of disturbance rejection and integral control has also been proposed to solve the problem of uncertainties in robot model and environment [5]. Colbaugh and Engelmann [6] has proposed the adaptive motion control which does not require any knowledge of either robot dynamics or environment. Recently the authors have developed a solution for force tracking impedance control using a neural network controller and an environment position modi cation technique to compensate for uncertainties in robot dynamic model and environment stiness is assumed to be unknown [7, 8]. The purpose of this paper is to present our latest research result for the force control problem as an extension to [7, 8]. We show that a single neural network controller can be trained online to achieve accurate position control in free space and force control in contact space in the presence of robot dynamic model uncertainties and the absence of the knowledge of environment stiness. Furthermore the robustness of the proposed controller with respect to environment position uncertainty is analyzed. It is shown that two possible solutions for the contact force exist depending on the nature of the environment position error. Thus, correct force tracking is not always guaranteed. Simulation results are presented to show the controller performance.
II Impedance Force Control
III Proposed NN Control Algorithm
Let the robot dynamic equation model including disturbance forces in Cartesian space be (1) D X + h + Ff = F ? Fe _ ?1 X, _ where D?1 = J T ?1 DJ ?1 , h = J T ?1 h ? D JJ T Ff = J f and f is the disturbance torque at the joints. In most practical cases, the robot model (1) is not known exactly. instead only nominal estimates of the model are available for controller design. Impedance control allows us to specify the robot stiness for a given task under contact with the environment. The control law F for impedance force control is F = D^ u + h^ + Fe (2) where D^ ; ^h are estimates of D ; h and Fe is the force exerted on the environment by the end eector, and u is given by _ + K(Xr ? X) ? Fe] (3) u = Xr + M ?1[B(X_r ? X) where M B and K are diagonal n x n symmetric positive de nite matrices of desired inertia, damping, and stiness gains in the robot impedance function, and Xr is the appropriately designed reference endpoint trajectory. Combining (1),(2), and (3) yields the closed loop position tracking error equation E +M ?1 [B E_ +KE ? Fe ] = D^ ?1 [Dx +h +Ff ] (4) where D = D ? D^ ; h = h ? h^ , and E = (Xr ? X). In the ideal case where D = h = 0, and Ff = 0, the closed loop robot satis es the target impedance relationships Fe = M E + B E_ + KE (5) When the environment position and stiness are known exactly, Xr can be exactly speci ed in such a way that Fe in (5) will track a desired contact force Fd . Since there are always uncertainties in the robot dynamic model, the ideal target impedance relation (5) can not be achieved in general. Thus the impedance based force control law is not robust in practice. To improve the robustness, an NN control can be introduced in (2) to compensate for the model uncertainties in (4) [7]. Another problem that exists in practice is the diculty of knowing the environment stiness accurately in advance for us to design the reference trajectory Xr in order to achieve the desired contact force [7, 8]. We will show that this problem can be solved as well by the proposed NN control given below.
In this section, we present an NN controller for force tracking impedance control as shown in Figure 1. First, let the NN output be denoted as . The new control law is F = D^ (u + ) + h^ + Fe (6) where u is the same as de ned in (3). Combining (6) with (1) yields the new closed loop error system E + M ?1 [B E_ + KE ? Fe] = M ? (7) where M = D^ ?1 (D x+h +Ff ). For simplicity, let m; b; k; fe; m ; ; e be the elements of the diagonal matrices M; B; K and vectors Fe; M ; ; E; respectively. Then, each element in equation (7) becomes (8) e + m1 (b_e + ke ? fe ) = m ? Let xr be denoted as xr = xe +xr where xe is the environment position. The elements in xr and xe satisfy the relationships xr = xe + xr , x_ r = x_ e + x_ r and xr = xe + xr . If we substitute these relationships into (8) and de ne " = xe ? x, then "+ m1 [b_"+k"]+xr + m1 [b_xr +kxr ? fe ] = m ? (9) This equation indicates that the reference trajectory for the robot control system is xe(see Figure 1) instead of xr used in the traditional design. By de ning f = xr + m1 b_xr (9) can be simpli ed to be " + m1 [b_" + k"] + m1 [kxr ? fe ] = m ? f ? (10) It is well known that xr satis es the relationship e xr = kfeffd where keff = kkk +ke where ke is the environment stiness [9]. Substituting xr into (10) yields " + m1 (b"_ + k" + fd kk + fd ? fe )= m ? f ? (11) e In this paper we assume that ke is unknown. As a solution, we estimate ke based on the measured force fe and the relationship fe = ke (x ? xe ) = ?ke ". So replacing ke by ? f"e in (11) results in " + m1 (b"_ + k"(1 ? ffd ) + fd ? fe ) = m ? f ? (12) e 2
The control objective is to require m ? f ? = 0 such that the ideal result m" + b"_ + k"(1 ? ffd ) + fd ? fe = 0 (13) e is obtained. We noted that (13) satis es the target impedance relationship (5) in which fe tracks fd in steady state. The new results (13) is more useful in that it allows fd to be speci ed directly and no knowledge of ke is required. In order for the NN output to cancel out the uncertainties m and f , we choose a training signal v for the NN controller as v = m" + b"_ + k"(1 ? ffd ) + fd ? fe (14) e We see that by minimizing v to zero, the NN will force to cancel (m ? f ) as indicated in (12)(13). Note that the training signal v is not valid when fe = 0 or fe = fd = 0. So for free space motion control when fe = 0, we will use a dierent training signal in the form of v = m" + b"_ + k" + fd (15) Thus combination of (14) and (15) allows us to train the NN for both contact and noncontact robot motion control. It is important to note that in the contact phase, the steady state of (13) is k"(1 ? ffd ) + fd ? fe = 0 e orfe2 ? (fd ? k")fe ? k"fd = 0 (16) which is a second order quadratic equation of fe . Solving for fe leads to two possible solutions fe = f d ; fe = k" (17)
performance. We proceed our analysis as follows. Let the reference input to the control system be x0e where x0e = xe + xe; xe being uncertainty of xe. De ne "0 = " + xe. The corresponding steady state of (15) and (16) becomes k"0 +fd = 0 free space (18) fe2 ?(fd +k"0 )fe ?k"0 fd = 0 contact space (19) We examine two cases of xe i) xe < 0 case For convenience of analysis, we assume x; xe > 0 so that xe < 0 implies that x0e is o the surface of the environment de ned by xe (x0e < xe). Suppose the end eector is initially in free space, i.e. x < xe . From (18), we get k(xe + xe ? x) + fd = 0 (20) or x = xe + xe + fkd
Two possibilities exist: a) x < xe if xe + fkd < 0 (or xe < ? fkd ). This case means that the steady state x remains outside the environment, so no contact between robot and environment would ever occur as it would be when xe = 0. The free space controller using x0e instead of xe would fail to function properly in this case. b) x > xe if xe + fkd > 0 (or xe > ? fkd ). This says that contact would occur if 0 > xe > ? fkd . This condition can usually be met in practice since jxej would be generally smaller than fkd . Once the contact is made and the robot is under contact space control, two steady state fe solutions exist : fe = fd and fe = k"0 . It can be shown that fe = fd is the only valid solution in that the solution fe = k"0 requires ke = ?k which is not possible. Thus desired force tracking can be achieved. ii) xe > 0 case Starting from free space x < xe, the robot end eector steady state position of (18) is x > xe because xe + fkd > 0. So contact is always made if x0e > xe . Again, during contact, fe has two values fe = fd or fe = k"0 . In this case however, both solutions can be valid depending on the magnitude of xe. Thus contact force tracking may be problematic. Further research is required.
However, fe = ?ke " by de nition, so equating this solution to that of fe = k" requires that ?ke " = k" or ke = ?k for all " 6= 0. Since this is physically impossible, the desired solution fe = fd is then guaranteed.
IV Robustness Analysis to Inexact Environment Location Here we investigate the robustness of the proposed controller when the environment location xe is not exactly known. This is an important concern in practice because there are always uncertainties about the environment locations. Our interest is to know how these uncertainties eect the behavior of the controller
V Neural Network Controller Design The twolayer feedforward neural network is proposed to be used as the controller. It is composed of an 3
2 (t) = vk sj + w2 (t ? 1) wjk jk
input buer, a nonlinear hidden layer, and a linear output layer. As shown in Figure 1, the delayed inputs X = [xr (t)T xr (t ? 1)T xr (t ? 2)T ]T are used [10], and they are multiplied by weights wij1 and summed at each hidden node(or neuron). Then the summed signal at a hidden node activates a nonlinear function f(), called a sigmoid function, which is bounded in magnitude between ?1 and 1: ? exp(?()) (21) f() = 11 + exp(?()) 2 and The outputs from all f() are weighted by wjk summed at each output node. Thus, the kth output k at a linear output node can be calculated from its inputs as follows: P I x w1 + b1)) nH X 1 ? exp(?( ni=1 i ij j 2 2 w ( = [ k jk 1 + exp(?(PnI x w1 + b1 )) )] + bk i=1 i ij j j =1 (22) where nI is the number of inputs, nH is the number of hidden nodes, xi is the ith element of input of X, wij1 is the rst layer weight between ith input and jth 2 is the second layer weight between hidden node, wjk jth hidden node and kth output node, b1j is a biased weight for jth hidden node and b2k is a biased weight for kth output node. If n is the number of output nodes, the total number of weights(wT ) is wT = (nI + 1)nH +(nH +1)n. The total number of nodes is nT = nH + n. The weight updating law minimizes the objective function J which is a quadratic function of the training signal v derived above. (23) J = 12 vT v Making use of (11) and the de nition of v (14) or (15) yields the gradient of J as @J = @vT v = ? @ T v (24) @w @w @w T is used. The backin which the fact @
[email protected] = ? @@w propagation update rule for the weights with a momentum term is T w(t) = @ (25) @w v + w(t ? 1) where is the update rate and is the momentum coecient. Speci cally, the following algorithm can be derived by making use of (22). wij1 (t) = sj (1 ? sj )xi [
n X k=1
b1j (t) = sj (1 ? sj )[
n X
2 ] + b1(t ? 1) vk wjk j
k=1 2 2 bk (t) = vk + bk(t ? 1)
sj = 1 + exp(?(Pn1I x w1 + b1 )) i=1 i ij j
sk =
nH X j =1
2 + b2 sj wjk k
(26)
where sj is the output of the jth hidden node.
VI Simulation Studies A comprehensive simulation study has been carried out using a three link rotary robot manipulator whose parameters are taken from the rst three links of Puma 560 arm. The nominal system parameters are ^ used as the basis in forming the robot model D(q) ^ and H(q; q). _ Model uncertainties included a 10 Kg mechanical tool attached to the third link, Coulomb friction and viscous friction forces f (q)_ added to each joint where f (q)_ = 0:5sgn(q)_ + 0:8(q). _ For the NN controller, we have chosen six hidden nodes (nH = 6). The back propagation algorithm parameters are: = 0:001 and = 0:9. Initial weights are randomly selected. The performances of the proposed scheme is tested by commanding the end eector to track a sine wave on a at wall with a speci ed contact force as shown in Figure 2. The controller gains are selected as KD = diag[200; 40; 40] and KP = diag[500; 100; 100] which give overdamped motions at the three joints. In order to show the robustness of the controller to unknown environment stiness, we used time varying environment stinesses with the pro le
8 30000 0 t < 2 < ke = : 50000 2 t < 4 30000 4 t < 6
(27)
which is plotted in Figure 3. We assume that xe is exactly known to be xe = 0:6109m. Starting out with the end point away from the at wall in free space and controlled under free space training algorithm (15) for the NN, the robot then made contact with the wall and performed position and force tracking. The desired contact force with the wall is fd = 20N. Sample tracking results are plotted in Figures 4, 5 and 6. Figure 4 shows that the force tracking is very eective and the NN convergence rate is very fast.
2 ] + w1 (t ? 1) vk wjk ij
4
References
The reference trajectories and actual trajectories in x; z axis are shown in Figure 5 and 6, respectively. It is interesting to see that the proposed controller can follow the timevarying reference force. The next simulation used a sinusoidal fd as fd = 20 + sin( t)
[1] N. Hogan, \Impedance control : An approach to manipulator, part i, ii, iii", ASME Journal of Dynamic Systems, Measurement, and Control, vol. 3, pp. 1{24, 1985.
(28)
[2] H. Seraji and R. Colbaugh, \Force tracking in impedance control", Proc. of the IEEE International Conference on Robotics and Automation, pp. 499{506, 1993.
The performances with the ke pro le (27) are shown in Figure 7, 8 and 9. In this case as larger of = 0:01 is used. Figure 7 shows that the force tracking is again quite good. Comparisons between Figure 4 and 7 shows that the larger gives a faster force response and a lightly larger overshoot at contact. We also note that the initial time required to make contact with the wall is less for a larger . Position tracking shown in Figures 8 and 9 is also better than those in Figures 5 and 6. The proposed NN controller performance is further examined when the wall location xe is not estimated correctly. Two cases are tested: One is that the estimated xe is o the surface(xe < 0), but the condition xe > ? fkd is satis ed. Another is when xe > 0 or the estimated wall position is inside the wall. Figures 10 and 11 show the tracking performances x0e = xe ?0:01m for case 1 and x0e = xe +0:01m for case 2. The results show that good performance can be achieved.
[3] R. Colbaugh, H. Seraji, and K. Glass, \Direct adaptive impedance control of robot manipulators", Journal of Robotic Systems, vol. 10, pp. 217{248, 1993. [4] H. Seraji, \Adaptive admittance control : An approach to explicit force control in compliant motion", Proc. of the IEEE International Conference on Robotics and Automation, pp. 2705{ 2712, 1994. [5] T. Lasky and T.C. Hsia, \On forcetracking impedance control of robot manipulators", Proc. of the IEEE International Conference on Robotics and Automation, pp. 274{280, 1991.
[6] R. Colbaugh and A. Engelmann, \Adaptive compliant motion of manipulators : Theory and experiments", IEEE Conference on Robotics and Automations, pp. 2719{2726, 1994.
VII Conclusions
[7] S. Jung and T. C. Hsia, \On neural network application to robust impedance control of robot manipulator", accepted to IEEE International
A robust neural network scheme for position and force tracking control of robot manipulator is presented in this paper. The proposed NN controller is capable of compensating for the uncertainties in the robot dynamics and the environment stiness. Neural network training signals are proposed for both free space and contact space control. Computer simulation studies on a three link robot manipulators have been made, and the results show that the proposed training signals are able to achieve excellent force/position tracking in the presence of robot dynamic uncertainties and unknown environment stiness. Controller robustness with respect to environment position uncertainties was also analyzed and con rmed by the simulation results. The system performance under the proposed control scheme is excellent. Thus, the proposed NN controller is feasible for online robot control. The future research topic is to study the condition of two solutions for fe in equation (16).
Conference on Robotics and Automation for publication, Nagoya, 1995.
[8] S. Jung, T. C. Hsia, and B. G. Bonitz, \Force tracking impedance control under unknown environment stiness", submitted to the Journal of Robotic System, February, 1995. [9] Mark W. Spong and M. Vidyasagar, Robot Dynamics and Control, John Wiley and Sons, 1989. [10] K. Narendra and K. Parthasarathy, \Identi cation and control of dynamical systems using neural networks", IEEE Trans. on Neural Networks, vol. 1, pp. 4{27, 1990. 5
Environment Stiffness Profile(30000>50000>30000)
4
xe (t)
Neural Network
xe (t1) xe(t2)
M
1
..
v +
.
−
Σ
+
xe (t)
+
ε
1
M B
+
Σ
+ +
+
+ u
Σ
^ D*
Σ
+
5
Finite Difference
Σ
+
+
Σ
J
T
τ
Σ
M
1
M
K
4
+ h^ *
ε
.
1
−
x (t) x (t)
Robot
Ke (N/m)
+
x (t)

+
xe (t) .
x 10
Φ
Fd ..
xe (t)
6
Fe
3
F e
2
1
Figure 1: NN Force Control Structure
0 0
1
2
3 time (sec)
4
5
6
Figure 3: Time Varying Environment Stiness Pro le 
q
3
Force Tracking : Desired(), Actual(___) z
l
l
2
35
3
30 q
2
 f
x
e
25
Environment
Fe (N)
20
15
l1
10
q1
5
y
x 0
xe = 0.6109 m x r
0 0
Figure 2: Sine Wave Tracking on Flat Surface Environment
1
2
3 time (sec)
4
Figure 4: Constant Desired Force Tracking 6
5
6
Position Tracking in X axis : Desired(), Actual(___)
Force Tracking : Desired(), Actual(___)
0.612 35
0.61 30
25
Fe (N)
X axis (m)
0.608
0.606
20
15
0.604 10
0.602
5
0
0
1
2
3 time (sec)
4
5
1
2
6
3 time (sec)
4
5
6
Figure 7: TimeVarying Force Tracking
Figure 5: Position Tracking in x axis
Position Tracking in X axis : Desired(), Actual(___)
Position Tracking in Z axis : Desired(), Actual(___) 0.8 0.612
0.75
0.61
0.608
Z axis (m)
X axis (m)
0.7
0.606
0.65 0.604
0.6
0.55 0
0.602
1
2
3 time (sec)
4
5
0
6
1
2
3 time (sec)
4
Figure 8: Position Tracking in x axis
Figure 6: Position Tracking in z axis 7
5
6
Position Tracking in Z axis : Desired(), Actual(___) 0.8
0.75
Z axis (m)
0.7
0.65
Position Tracking: Xe(), X of Xe’>Xe(......), X of Xe’Xe(......), Force of Xe’