Proceedings of International Joint Conference on Neural Networks, San Jose, California, USA, July 31 – August 5, 2011
Decentralized Neural Block Control for an Industrial PA10-7CE Robot Arm R. Garcia-Hernandez, E. N. Sanchez, V. Santiban˜ ez and J. A. Ruz-Hernandez Abstract— This paper presents a solution of the trajectory tracking problem for robotic manipulators using a recurrent high order neural network (RHONN) structure to identify the robot arm dynamics, and based on this model a discrete-time control law is derived, which combines block control and the sliding mode techniques. The block control approach is used to design a nonlinear sliding surface such that the resulting sliding mode dynamics is described by a desired linear system. The neural network learning is performed on-line by Kalman filtering. The local controller for each joint uses only local angular position and velocity measurements. The applicability of the proposed control scheme is illustrated via simulations.
I. I NTRODUCTION Nowadays, Robotic arms are employed in a wide range of applications such as in manufacturing to move materials, parts, and tools of various types. Future applications will include nonmanufacturing tasks, as in construction, exploration of space, and medical care. In this context, a variety of control schemes have been proposed in order to guarantee efficient trajectory tracking and stability [1], [2]. Fast advance in computational technology offers new ways for implementing control algorithms within the approach of a centralized control design.However, there is a great challenge to obtain an efficient control for this class of systems, due to its highly nonlinear complex dynamics, the presence of strong interconnections, parameters difficult to determine, and unmodeled dynamics. Considering only the most important terms, the mathematical model obtained requires control algorithms with great number of mathematical operations, which affect the feasibility of real-time implementations. On the other hand, within the area of control systems theory, for more than three decades, an alternative approach has been developed considering a global system as a set of interconnected subsystems, for which it is possible to design independent controllers, considering only local variables to each subsystem: the so called decentralized control [3]. Decentralized control has been applied in robotics, mainly in cooperative multiple mobile robots and robot manipulators, where it is natural to consider each mobile robot or each part of the manipulator as a subsystem of the whole system. For robot manipulators each joint and the respective link is considered as a subsystem in order to develop local controllers, which just consider local angular R. Garcia-Hernandez and J. A. Ruz-Hernandez are with Facultad de Ingenieria, Universidad Autonoma del Carmen, Cd. del Carmen, Campeche, Mexico.
[email protected] E. N. Sanchez is with CINVESTAV, Guadalajara, Jalisco, Mexico.
[email protected] V. Santiba˜nez is with Instituto Tecnologico de la Laguna, Torreon, Coahuila.
[email protected]
978-1-4244-9636-5/11/$26.00 ©2011 IEEE
position and angular velocity measurements, and compensate the interconnection effects, usually assumed as disturbances. The resulting controllers are easy to implement for real-time applications [4]. In [5], a decentralized control of robot manipulators is developed, decoupling the dynamic model of the manipulator in a set of linear subsystems with uncertainties; simulation results for a robot of two joints are shown. In [6], an approach of decentralized neural identification and control for robots manipulators is presented using models in discretetime. In [7], a decentralized control for robot manipulators is reported; it is based on the estimation of each joint dynamics, using feedforward neural networks. A decentralized control scheme, on the basis of a recurrent neural identifier and the block control structure is presented in [8]. This approach was tested only via simulation, with a two degrees of freedom robot manipulator, and with an Articulated Nimble Adaptable Trunk (ANAT) manipulator, with seven degrees of freedom. In [9] the authors present a discrete-time decentralized neural identification and control scheme for large-scale uncertain nonlinear systems, which is developed using recurrent high order neural networks (RHONN); the neural network learning algorithm uses an extended Kalman filter (EKF). The discrete-time control law proposed is based on block control and sliding mode techniques. The control algorithm is first simulated, and then implemented in real time for a two degree of freedom (DOF) planar robot. In this paper, the authors propose a decentralized control structure for robot manipulators, using an Extended Kalman Filter (EKF)-based training algorithm for a recurrent high order neural network (RHONN) modified, in order to identify the robot arm dynamics. Based on this model, a control law is derived, which combines discrete-time block control and sliding mode techniques. The block control approach is used to design a nonlinear sliding surface such that the resulting sliding mode dynamics is described by a desired linear system [10]. Additionally, Simulations for the proposed control scheme using a Mitsubishi PA10-7CE robot arm are presented.
II. D ISCRETE -T IME D ECENTRALIZED S YSTEMS Let consider a class of discrete-time nonlinear perturbed and interconnected system which can be presented in the nonlinear block-controllable (NBC) form [11] consisting of
2787
S(•) is the activation function, and ui (k) represents the input vector. It is worth to note that (3) constitutes a series-parallel identifier [12], and does not consider explicitly the interconnection terms, whose effects are compensated by the neural network weights update.
r blocks χ1i (k + 1)
=
fi1
χ2i (k + 1)
= .. . =
fi2
(k + 1) χr−1 i χri (k + 1)
1
χi + Bi1 χ1i χ2i + Γ1i` χ1i , χ2i + Bi2 χ1i , χ2i χ3i + Γ2i`
fir−1 χ1i , χ2i , . . . , χr−1 i
(1) r r−1 χi + Γi`
+Bir−1 χ1i , χ2i , . . . , χr−1 i fir χi + Bir χi ui + Γri`
=
T where χi ∈ τimax i
where ueqi (k) is obtained from SDi (k + 1) = 0 as ueqi (k) = Fig. 3.
Mitsubishi PA10-7CE robot axes
1 2 1 0 [−(wi1 (k)S(χi (k)) wi 2 2 + wi2 (k)S(χ2i (k))) + x2id (k + 1)]
(25)
and the control resources are bounded by τimax .
2790
IV. S IMULATION R ESULTS
V. C ONCLUSIONS
For simulation, we select the following discrete-time trajectories [15]
3
A decentralized neural identification and control scheme for trajectory tracking is applied to a discrete-time seven DOF robot arm model. The training of the each recurrent high-order neural network is performed online using an extended Kalman filter in a series-parallel configuration. It is important to remark that the present control scheme does not require to know the plant parameters and the external disturbances; The obtained simulation results are very encouraging. Research will proceed to test in real-time the whole scheme.
3
ACKNOWLEDGMENT
3
x11d (k) = c1 (1 − ed1 kT )sin(ω1 kT )[rad] 3
x12d (k) = c2 (1 − ed2 kT )sin(ω2 kT )[rad] 3
x13d (k) = c3 (1 − ed3 kT )sin(ω3 kT )[rad] 3
x14d (k) = c4 (1 − ed4 kT )sin(ω4 kT )[rad] x15d (k) x16d (k) x17d (k)
= c5 (1 − e
d5 kT 3
(26)
)sin(ω5 kT )[rad]
= c6 (1 − ed6 kT )sin(ω6 kT )[rad] = c7 (1 − ed7 kT )sin(ω7 kT )[rad]
the selected parameters ci , di and ωi for desired trajectories of each joint are shown in Table I. The sampling time is selected as T = 1 millisecond. TABLE I PARAMETERS FOR DESIRED TRAJECTORIES i-th Joint 1 2 3 4 5 6 7
ci π/2 π/3 π/2 π/3 π/2 π/3 π/2
di 0.001 0.001 0.01 0.01 0.01 0.01 0.01
ωi 0.285 rad/s 0.435 rad/s 0.555 rad/s 0.645 rad/s 0.345 rad/s 0.615 rad/s 0.465 rad/s
These selected trajectories (26) incorporate a sinusoidal term to evaluate the performance in presence of relatively fast periodic signals, for which the non-linearities of the robot dynamics are really important. Simulation results for identification and trajectory tracking using the decentralized neural block control (DNBC) scheme are shown in Figs. 4 to Fig. 10. The initial conditions for the plant are different that those of the neural identifier and the desired trajectory. According to these figures, the tracking errors for all joints present a good behavior and remain bounded as shown in Fig. 11. The applied torques to each joint are presented in Figs. 12 to Fig. 18. The torques are always inside of the prescribed limits given by the actuators manufacturer (see Table II); that is, their absolute values are smaller than the bounds τ1max to τ7max , respectively. TABLE II M AXIMUM TORQUES Joint 1 2 3 4 5 6 7
Max Torque 232 N-m 232 N-m 100 N-m 100 N-m 14.5 N-m 14.5 N-m 14.5 N-m
The first author thanks to Universidad Autonoma del Carmen (UNACAR) and the Programa de Mejoramiento del Profesorado (PROMEP) for supporting this research. R EFERENCES [1] E. N. Sanchez and L. J. Ricalde, “Trajectory tracking via adaptive recurrent neural control with input saturation,” in Proceedings of International Joint Conference on Neural Networks, Portland, Oregon, USA, 2003, pp. 359–364. [2] V. Santiba˜nez, R. Kelly, and M. A. Llama, “A novel global asymptotic stable set-point fuzzy controller with bounded torques for robot manipulators,” IEEE Transactions on Fuzzy Systems, vol. 13, no. 3, pp. 362–372, June 2005. [3] S. Huang, K. K. Tan, and T. H. Lee, “Decentralized control design for large-scale systems with strong interconnections using neural networks,” IEEE Transactions on Automatic Control, vol. 48, no. 5, pp. 805–810, 2003. [4] M. Liu, “Decentralized control of robot manipulators: nonlinear and adaptive approaches,” IEEE Transactions on Automatic Control, vol. 44, no. 2, pp. 357–363, 1999. [5] M. L. Ni and M. J. Er, “Decentralized control of robot manipulators with coupling and uncertainties,” in Proceedings of the American Control Conference, Chicago, Illinois, USA, 2000, pp. 3326–3330. [6] A. Karakasoglu, S. I. Sudharsanan, and M. K. Sundareshan, “Identification and decentralized adaptive control using dynamical neural networks with application to robotic manipulators,” IEEE Transactions on Neural Networks, vol. 4, no. 6, pp. 919–930, 1993. [7] R. Safaric and J. Rodic, “Decentralized neural-network sliding-mode robot controller,” in Proceedings of 26th Annual Conference on the IEEE Industrial Electronics Society, Nagoya, Aichi, Japan, 2000, pp. 906–911. [8] E. N. Sanchez, A. Gaytan, and M. Saad, “Decentralized neural identification and control for robotics manipulators,” in Proceedings of the IEEE International Symposium on Intelligent Control, Munich, Germany, Oct 2006, pp. 1614–1619. [9] F. Ornelas, A. G. Loukianov, E. N. Sanchez, and E. Bayro-Corrochano, “Decentralized neural identification and control for uncertain nonlinear systems: Application to planar robot,” Journal of The Franklin Institute, vol. 347, no. 6, pp. 1015–1034, 2010. [10] A. Y. Alanis, E. N. Sanchez, A. G. Loukianov, and G. Chen, “Discretetime output trajectory tracking by recurrent high-order neural network control,” in Proceedings of the 45th IEEE Conference on Decision and Control, San Diego, CA, USA, 2006, pp. 6367–6372. [11] V. H. Benitez, E. N. Sanchez, and A. G. Loukianov, “Decentralized adaptive recurrent neural control structure,” Engineering Applications of Artificial Intelligence, vol. 20, no. 8, pp. 1125–1132, 2007. [12] P. A. Ioannou and J. Sun, Robust Adaptive Control. New Jersey, USA: Prentice Hall, Inc, 1996. [13] S. Haykin, Kalman Filtering and Neural Networks. New York, USA: John Wiley & Sons, Inc, 2001. [14] V. Utkin, J. Guldner, and J. Shi, Sliding Mode Control in Electromechanical Systems. Philadelphia, USA: Francis & Taylor, 1999. [15] C. Ramirez, “Dynamic modeling and torque-mode control of the Mitsubishi PA10-7CE robot,” Master Dissertation (in Spanish), Instituto Tecnol´ogico de la Laguna, Torre´on, Coahuila, Mexico, 2008.
2791
2
2
x11d Desired trajectory
x14d Desired trajectory
χ11 Plant
1.5
x11 Neural identifier
Position (rad)
1.5
1
1
χ14 Plant
Position (rad)
↑ Initial condition 0.15
−0.5 Position (rad)
Position (rad)
0
−1
−1.5
0.5
0
x14 Neural identifier
← x14d(0)=0.05
0.05 0
0.5
← x14(0)=0.1
0.1
0
0.01
0.02
Time(s)
↑ Initial condition
−0.5
← x11(0)=0.1
0.1
−1
← x11d(0)=0.05
0.05 0
−1.5
0
0.01
0.02
Time(s)
−2
−2
0
2
4
6
8
10
12
14
16
18
20
0
2
4
6
8
10
12
14
Fig. 4. Identification and tracking for joint 1 x11d (k) (solid line), χ11 (k) (dashed line), and x11 (k) (dashdot line)
x15d Desired trajectory
χ12 Plant
1.5
x12
x15 Neural identifier
Neural identifier 1
↑ Initial condition 0.15
−0.5
−1
−1.5
0.5
0
↑ Initial condition 0.15
−0.5 Position (rad)
Position (rad)
0.5
Position (rad)
Position (rad)
χ15 Plant
1.5
1
← x12(0)=0.1
0.1
−1 ← x12d(0)=0.05
0.05 0
−1.5 0
0.01
0
0.02
← x15(0)=0.1
0.1
← x15d(0)=0.05
0.05
0
0.01
−2 0
2
4
6
0.02
Time(s)
Time(s)
8
10
12
14
16
18
20
0
2
4
6
8
10
12
14
Fig. 5. Identification and tracking for joint 2 x12d (k) (solid line), χ12 (k) (dashed line), and x12 (k) (dashdot line)
20
2 x16d Desired trajectory
1.5
1
← x13(0)=0.1
0.1
1.5
x13 Neural identifier
← x13d(0)=0.05
0.05 0
χ13 Plant
0
1
0.01
Position (rad)
↑ Initial condition
−0.5
0.5
0
−1
−1.5
−1.5
2
4
6
8
10
12
14
16
18
20
Time (s)
Fig. 6. Identification and tracking for joint 3 x13d (k) (solid line), χ13 (k) (dashed line), and x13 (k) (dashdot line)
x16 Neural identifier
← x16d(0)=0.05
0.05
0
0.01
0.02
Time(s)
↑ Initial condition
−0.5
−1
0
χ16 Plant ← x16(0)=0.1
0.1
0
0.02
Time(s)
0.5
Position (rad)
Position (rad)
x13d Desired trajectory
Position (rad)
18
Fig. 8. Identification and tracking for joint 5 x15d (k) (solid line), χ15 (k) (dashed line), and x15 (k) (dashdot line)
2
−2
16
Time (s)
Time (s)
0
20
2 x12d Desired trajectory
−2
18
Fig. 7. Identification and tracking for joint 4 x14d (k) (solid line), χ14 (k) (dashed line), and x14 (k) (dashdot line)
2
0
16
Time (s)
Time (s)
−2
0
2
4
6
8
10
12
14
16
18
20
Time (s)
Fig. 9. Identification and tracking for joint 6 x16d (k) (solid line), χ16 (k) (dashed line), and x16 (k) (dashdot line)
2792
2
100
x17d Desired trajectory
τ2
χ17 Plant
1.5
80
x17 Neural identifier 60
1
Torque (Nm)
0
↑ Initial condition
−0.5
0.15 Position (rad)
Position (rad)
40 0.5
−1
−1.5
0.1 0.05 0
20
0
−20
← x17(0)=0.1
−40
← x17d(0)=0.05
−60
0
0.01
−80
0.02
Time(s)
−2
0
2
4
6
8
10
12
14
16
18
20
−100
Time (s)
0
2
6
8
10
12
14
16
18
Fig. 13.
Applied torque to joint 2
50
0.2 0 −0.2 0.2 0 −0.2 0.2 0 −0.2 0.2 0 −0.2 0.2 0 −0.2 0.2 0 −0.2
τ3
e11Track 0
2
4
6
8
10 Time (s)
12
14
16
18
0
2
4
6
8
10 Time (s)
12
14
16
18
40
20
e12Track
30 20 20
e13Track 0
2
4
6
8
10 Time (s)
12
14
16
18
20
e14Track 0
2
4
6
8
10 Time (s)
12
10 Time (s)
12
14
16
18
20
Torque (Nm)
0.2 0 −0.2
10
0
−10
e15Track 0
2
4
6
8
14
16
18
−20
20
e16Track 0
2
4
6
8
10 Time (s)
12
14
16
18
−30 20 −40
e17Track 0
2
4
Fig. 11.
6
8
10 Time (s)
12
14
16
18
−50
20
0
2
4
6
8
10
12
14
16
18
Fig. 14.
Tracking error for joints 1 to 7
Applied torque to joint 3
50 τ4
τ1 40
6
30
4
20
Torque (Nm)
8
2
0
−2
10
0
−10
−4
−20
−6
−30
−8
−40
−10
20
Time (s)
10
Torque (Nm)
20
Time (s)
Fig. 10. Identification and tracking for joint 7 x17d (k) (solid line), χ17 (k) (dashed line), and x17 (k) (dashdot line)
Error (rad) Error (rad) Error (rad) Error (rad) Error (rad) Error (rad) Error (rad)
4
−50 0
2
4
6
8
10
12
14
16
18
20
0
2
4
Fig. 12.
Applied torque to joint 1
6
8
10
12
14
16
18
20
Time (s)
Time (s)
Fig. 15.
Applied torque to joint 4
2793
0.1 τ5 0.08
0.06
Torque (Nm)
0.04
0.02
0
−0.02
−0.04
−0.06
−0.08
−0.1
0
2
4
6
8
10
12
14
16
18
20
Time (s)
Fig. 16.
Applied torque to joint 5
0.1 τ6 0.08
0.06
Torque (Nm)
0.04
0.02
0
−0.02
−0.04
−0.06
−0.08
−0.1
0
2
4
6
8
10
12
14
16
18
20
Time (s)
Fig. 17.
Applied torque to joint 6
0.01 τ7 0.008
0.006
Torque (Nm)
0.004
0.002
0
−0.002
−0.004
−0.006
−0.008
−0.01
0
2
4
6
8
10
12
14
16
18
20
Time (s)
Fig. 18.
Applied torque to joint 7
2794