Paper received: 6.6.2007 Paper accepted: 28.9.2007 PI+PD Type Fuzzy Logic Controlled Dual-Arm Robot in Load Transfer Yuksel Hacioglu - Yunus Ziya Arslan - Nurkan Yagiz* Istanbul University, Faculty of Engineering, Department of Mechanical Engineering, Turkey This paper presents a PI+PD type fuzzy logic control method for simultaneous cooperative motion of a dual arm robot in load transfer tasks. First, physical model of dual arm robot with the load are presented and dynamic equations of the system are derived while constrained conditions are also taken into account. Since fuzzy logic controllers can successfully be designed even if the exact mathematical model of the system is unknown, this control method is preferred in many applications. Therefore, PI+PD typefuzzy logic controller is introduced to achieve cooperative coordination of dual arms. In order to verify the safety performance of the proposed controller, unexpected disturbances are introduced to the system. These are noise components, which are thought as disturbance torques, and an elastic element unintentionally catching the first robot arm. Finally, numerical results are presented and the performance of the control method is discussed. © 2008 Journal of Mechanical Engineering. All rights reserved. Keywords: fuzzy logic, dual-arm robot, cooperative motion control, load transfer 0 INTRODUCTION Using dual arm robots instead of single arm robots offers many advantages, especially with their greater capability in handling large objects with higher precision than single arm robots [1] to [4]. Therefore, cooperative dual arm robots have a wide range of application area in industrial automation such as holding heavy and large welding machines; in medical applications such as physical rehabilitation [5]; in dangerous environment tasks such as transporting of radioactive materials in nuclear power plants, disposing of explosive ordnances [6], and in aerospace robotics [7]. These sophisticated tasks require solving complex problems such as analysis of closed kinematic chain [8] and motion synchronization of the robot arms [9]. The motion control problem of cooperative dual arm robots has been studied by many investigators in recent years [10] to [14]. The main problem in controlling such systems is that unless the robot arms are carefully coordinated, conflicting motions among them may cause undesired extra stresses on the manipulated object [15] that may cause breakage or dropping of the object. Fuzzy logic control is a knowledge-based control method and it is based on the fuzzy set theory which was first presented by Zadeh in 1965 [16]. This control method has become widespread within automatic control research community since it has applicability to systems with unknown mathematical model. Another important reason for its wide use is its rule-based structure. In this system, the knowledge coming from human operators or experts can be expressed by fuzzy rules and they are used directly during the control signal calculations. Because of these attractive properties, fuzzy logic controllers are used in wide range of applications such as in robotic manipulator control [17], control of unmanned underwater vehicles [18], vehicle active suspension control [19], power systems [20], and so on. In general, there are two main types of fuzzy logic controllers, namely, PD-type and Pi-type fuzzy logic controllers [21]. Generally, in both types the error and its derivative are used as inputs. The output for the PD-type fuzzy logic controller is control signal whereas the output for the PI-type fuzzy logic controller is the incremental change in control signal. It is well known that PD-type fuzzy logic controller has good transient performance but sometimes steady state error cannot be eliminated. On the other hand PI-type fuzzy logic controllers can remove steady state error but it gives poor transient performance [22] and [23]. In fact, it is possible to design a PID-type fuzzy logic controller, but constructing a 3-D rule base is difficult and *Corr. Author's Address: Istanbul University, Faculty of Engineering, Department of Mechanical Engineering, 34320 Avcilar, Istanbul, Turkey, nurkany@istanbul.edu.tr 347 this type of controllers are rarely used if compared with PD-type and PI-type fuzzy logic controllers [24] and [25]. Therefore, in order to bring together the advantages of the PD type and PI type fuzzy logic controllers, a PI +PD type fuzzy logic controller is designed and applied to the dual arm robot system in load transfer. 1 PHYSICAL MODEL The physical model of the dual arm robot consisting of two planar robot arms with actuating motors at revolute joints is seen in Figure 1. Without being contact of the robot arms with the load, the robot system would have four degrees of freedom (DoF). Since the robots handle the object, because of the constraints, the DoF of the system reduces to two. It should be noted that the load is not allowed to rotate. In physical model of the robot system, mt, It and Lt represents the mass, mass moment of inertia and length of the related links. at is the distance of the mass center and at is the joint angle of the related links. Also, there are viscous frictions on all of the joints denoted by ba. M is the load mass. Numerical values of the parameters are given in the Appendix. The spring which is represented by stiffness k stands for an undesired elastic element catching the first arm at a certain moment during the transportation process. The dual arm robot works in xy -plane and gravity acts in negative z -direction. There are two phases in motion task of the robots. First, robots start from their home position and move towards the load. Then, in the second part, robots handle the load and move it to its new position while tracking the given trajectory as seen in Figure 2. Handling and transportation task of the load are carried by the forces F1, F2 applied from arm tips to the load. The vector representations of the force interactions are shown in Figure 3. Friction-assisted handling prevents slipping of the load from the contact points during motion. Friction forces Fs1, Fs2 and their components Fs1y, Fs1z, Fs2 , Fs2 z between arm tips and load surface are shown in Figure 3. ¡1 is the coefficient of dry friction. In this paper it is aimed that the load is moved without rotation. Thus, Fs1y and Fs2y are equal preventing the rotation about z-axis. Similarly, Fs1z and Fs2z are equal since there is no rotation about y -axis, too. Then: Fs1 y = Fs 2 y (1) Fsiz = Fs 2 z = Mg /2 (2). Equations of motion after handling the load are: a 1 (A + A2 + 2 A3 cosa2) + a2 (A2 + Aj cosa2) -- A3sina2 (a22 + 2ca1ci:2) + bfiix = u1 - F1[L1 sin a1 + Ll sin(a1 + a2)] --Fs1y [L cos a + L2 cos(a +«2)] + Te (t) + Td1(t) A2a2 +«(A2 + A3 cosa2) + A««2 sina2 + b2a2 = (4) = u2 - F1L2 sin« +a2) - Fs1yL2 cos(a1 +a2) + Td2 (t) (xz. yt) a3( A4 + A5 + 2 A cosa4) +a4( A5 + A cosa4) --A sina4 (a42 + 2a3d4) + b3oi3 = u3 + F2[L sina3 + L4 sin(a3 +a4)] - (5) -Fs2y[L3 cosa3 + L4 cos(a3 + «4)] + Td3 (t) A®4 + a3(A + A6 cosa4) + A6cx3z sina4 + b4a4 = = u4 + FL4 sin(a3 +a4) - Fs2yL4 cos(a3 +a4) + Td4 (t) (6), where A. are constant coefficients given in the Appendix. The u in governing equations are the torque inputs induced by PI+PD type fuzzy logic controller. T (t) represents an unexpected problem such that, the first arm is caught by an elastic element which was supposed not to exist in the actual transfer operation: [0 ; t < 2.2 Te(t' ~\-kxk(t) csin(a1 + P) ; t> 2.2 (7) Here xk(t) is the extension in elastic element. Note that the load transfer starts at 2nd second. In these equations, all of the Tdi(t) represent the undesired noise acting on related robot arms. As, the x, y coordinates of the load mass center are the same in designing trajectory of the arms, the DoF of the overall system becomes two: xM = ^+L cos $1 + l cos(01 + e2) - d1 = = -+ L3 cos03 + L4cos(03 +04) + (8) yM = L sin 6l + L2 sin(0j + 02) = L3 sin 03 + L4 sin(03 + 04) (9). The dynamic equations of the load are: M xM = F2 - F1 (10) M yM = 2Fs1y = 2 Fs2 7 (11), and the constraints for the friction forces: Fs1 y2 + (M)2 < (<^)2 Fs2y2 + (M)2 < (MF2)2 (12) (13). 2 PI+PD FUZZY LOGIC CONTROLLER DESIGN Fuzzy logic control is a knowledge-based control system, and it gives the ability to use linguistic expressions during the controller design. These heuristic decision rules generally include the intuition of human operators or experts, and they are generally in the following form for a system with two inputs and single output: if (xis X) and (y is Y) then (u is U) (14). There are three important steps in fuzzy logic control applications, namely, fuzzification, inference and defuzzification. In the first step, membership functions and their ranges are defined for the variables used. In the second step, the controller output is determined according to predefined rules which are based on the knowledge about system characteristics coming from human operators or experts. In the last step, the output is converted to a crisp value by a suitable defuzzification method, since the output values could not be used directly. There are different defuzzification methods available in the literature such as, max membership principle, weighted average method, centroid method, while the last one is often preferred by the researchers and it is used in this paper. In order to bring the useful properties of the PD-type and PI-type fuzzy logic controllers, a PI +PD type fuzzy logic controller is used in this paper. Structure of the controller is given in Figure 4. The controller consists of two parts, which are the PD-type fuzzy logic controller and PI-type fuzzy logic controller. Both of the fuzzy logic controllers use the error eN and its derivative eN as inputs. The output of the PD-type fuzzy controller is the control signal uN and the output of the PI-type fuzzy logic controller is the incremental change in control signal AuN. For the PI type controller the resulting output is calculated as: pi = au w pi + u(t -St) pj (15), where St is the sampling time. Since the incremental control signal is added up to the control signal belonging to the previous step, the PI part of the PI+PD type fuzzy logic controller ensures that there is no steady state error. On the other hand, PD part of the PI+PD type fuzzy logic controller gives faster response ability to the controller. That is by combining them an efficient controller is obtained. Thus, the control signals u(t)PD and u(t)pl are added up in order to obtain the final control input u(t)pD+pl to the system as given below: u(t)p = u(t)pD + u(t) p (16). Fuzzy UN Logic —► Controller \ u(t) PD SF»>— ► Fuzzy AuN Logic —► Controller 7H3] + The Dual Arm Robot u(t -St) Reference Fig. 4. General structure of the controller Gaussian membership functions are used for the fuzzification of the input and output variables. Membership functions for the error eN and its derivative eN are given in Figure 5a and membership functions for the outputs uN and AuN are given in Figure 5b. For the membership functions used, NB, NM, NS, Z, PS, PM and PB denotes negative big, negative medium, negative small, zero, positive small, positive medium and positive big, respectively. All the membership functions are defined on the [-1,1] closed interval. SFj, SF2, SF3 and SF4 are the input scaling factors. SFu and SFAu are the output scaling factors of the PD-type and PI-type fuzzy logic controllers, respectively. All these scaling factors are used in order to map the related crisp values to their fuzzy universe of discourse. Relations between the input and output variables for the PD type controller are: u(t) pD = SF" uh (19) In the Equations (17 to (19), the subscript N denotes the normalized variable. Relations between the input and output variables for the PI type controller are: = SF3 e eN = SF4 e Au(t) pj = sFA" A"n (20) (21) (22). eN = SF1 e eN = SF2 e (17) (18) NB NS The rule table, for computing u N for the PD-type fuzzy logic controller and for computing AuN for the PI-type fuzzy logic controller, is given in Table 1. The following manner is used for the construction of rule base: Suppose that the system output is far from the desired output i.e. eN is PB and eN is Z (Fig. 6, case 1) then uN or AuN is selected to be PM in order to decrease the error value and bring the system state to the desired value rapidly. In case 2, ^(un , Aun ) Z PS PM PB -1 0 1 e , e -1 0 1 u Au N N UN'Au a) b) Fig. 5. Membership functions for a) input variables b) output variables Table 1. Rule table for uN and Aun eN NB NS Z PS PB NB NB NB NM NS Z NS NB NM NS Z PS Z NM NS Z PS PM PS NS Z PS PM PB PB Z PS PM PB PB e e(t) case 1 Fig. 6. Graphical representations for the sample rules the e is Z but it tends to increase due to the nonzero N e&N thus, uN or Au N should not be zero and it is selected to be NM. In case 3, both eN and eN are Z, which is the desired case and the system does not need any control input therefore, uN or AuN is selected to be Z. The rules are in the following form for the PD-type fuzzy logic controller: If (eN is PB) and If (eN is Z) Then (uN is PM) case 1 If (eN is Z) and If ( eN is NB) Then (uN is NM) case 2 If (eN is Z) and If (eN is Z) Then (uN is Z) case 3 And for the PI-type fuzzy logic controller: If (eN is PB) and If (eN is Z) Then (AuN is PM) case 1 If (eN is Z) and If (eN is NB) Then ( Au N is NM) case 2 If (eN is Z) and If (eN is Z) Then ( Au N is Z) case 3 (23) (24) (25). (26) (27) (28). 3 NUMERICAL RESULTS In this section, numerical results for dual arm robot system are presented. The parameters of the designed PI+PD type fuzzy logic controller are given in the Appendix. In order to reveal the performance of the designed controller better, the conventional (PD type) fuzzy logic controller is also included in the numerical analysis and numerical parameters for the conventional fuzzy logic controller are same as the PD part of the designed PI+PD fuzzy logic controller. Normally distributed noise components which are thought as random disturbing torques acting on the related joints and unexpected nonlinear torque disturbance because of the elastic element catching the first arm are shown in Figure 7a and b, respectively. These disturbances are introduced to the system in order to test the robust behavior of the controller used. During the motion of the robot arms, there are two stages, namely approaching and transportation stages. Transportation stage consists of two periods. First, the first arm is free; in second period the first arm is caught by an unexpected elastic element. In the beginning, the robot arms are at rest and the corresponding initial values of the joints are $ (0) = 0, 02(O) = 9n /10 , 03 (0) = n and 04 (0) = -9n/10. In the first part of the motion, the robots are approaching to the load and in the second part of the motion the robot arms handle the load and transfer it to its new location. The reference trajectories for the coordinates of the load center during the transportation are defined by: XMr (t) = Xf + (x - Xf) exp (-20 (t- 2)2) (29) yMr (t) = yf + (y - yf )exp (-20(f - 2)2) (30). -100 a) b) Fig. 7. a) Noise acting on links b) The resulting torque disturbance of the elastic element on first link 1.4 1.2 1 0.6 0.4 °-ft.6 -0.3 0 0.3 0.6 x(m) Fig. 8. Robot arm trajectories (-First robot arm ,-Second robot arm) The initial and final coordinates of the load are given in the Appendix. The approaching motion is accomplished until 2nd second and the transportation starts after that moment. The actual trajectories of the robot arm tips during approaching and transportation motion are given in Figure 8. It should be noted that for all subsequent figures, the first two seconds correspond for the approaching motion and the second two seconds correspond for the transportation motion of the robot arms. The reference angles for the controllers, which are given in Figure 9, are obtained by inverse kinematics using the desired trajectory for the load. It is clear from Figure 9 that, both conventional fuzzy logic controller and proposed PI+PD controller ensured that both of the robot arms track their trajectory successfully in spite of the external disturbances since the reference and actual angle values are the same. In order to evaluate and clarify the performance of the proposed controller, tracking errors of the related joints for the conventional and designed PI+PD fuzzy logic controller are shown in Figure 10. It is observed that the proposed controller successfully overcomes the effect of the undesired noise components and unexpected nonlinear torque disturbance whereas the conventional fuzzy logic controller could not remove the steady state errors and the steady state error for the first joint angle of the first robot arm is fairly big due to the unexpected nonlinear torque disturbance. Additionally, the magnitudes of the error values for the PI+PD type controller are smaller and they converge to zero, rapidly. Thus, it is concluded that the tracking performance of the proposed PI+PD type fuzzy logic controller during the approaching and transportation motions is highly acceptable. Figure 11 depicts the time history of the interaction forces F1 and F2 for the PI+PD type fuzzy logic controller. Since there is no interaction between the robot arms and load during the approaching motion, the magnitudes of those forces are identically zero until 2nd second. After that moment the load is handled and transportation begins. Thus, the magnitudes of the forces increase at the beginning of the transportation and thereafter smoothly changes. Also, it should be noted that at the end of the motion there are residual forces both for F1 and F2 due to the weight of the load and they are both equal to Mg/2^. 180 t (s) t (s) Fig. 9. Joint angles (reference........, conventional fuzzy controlled-, PI+PD type fuzzy controlled-) en 0 a) TS «T -2 JV 2 t(s) u> 0 œ c Cl .1 0) 1 -2 1 3 0 ai TD 01 1 -2 v> 2 t(s) 1 2 t(s) Fig. 10. Joint angle tracking errors (PD type fuzzy logic controlled ■ PI+PD type fuzzy logic controlled-) 501-■-■-■- 50 40 30 20 10 0 40 30 20 10 0- 2 t (s) Fig. 11. Interaction forces 400 r 200 { 0 -200 -400 -600 -800J- 2 t (s) -800„ 2 t (s) Fig. 12. Applied joint torques Figure 12 presents the control torque inputs to joints which are induced on the related joints by the proposed PI+PD type fuzzy logic controller. The load handling produces interaction forces at the contact points between the load and robot arm tips resulting in changes in control torque inputs. 4 CONCLUSION Kinematics, dynamics and control scheme of a dual arm robot handling and transferring a load were investigated in this paper. First, dynamic equations of the robot arms and the load were derived. In order to maintain the desired cooperative motion trajectory, PI+PD type fuzzy logic controller was designed for the dual arm robot system. The disturbances such as noise components and an unexpected elastic obstacle were introduced to the system to test the success of the controller. Numerical results showed that PI+PD type fuzzy logic control method showed a satisfactory performance such that the trajectory tracking errors were too small despite the unexpected disturbances. It is concluded that this control method can be used in dangerous environment tasks safely as well as in the applications of industrial automation, medical, and aerospace robotics. 5 APPENDIX i) Numerical parameters of the two-arm robot system: mt = 2 [kg] It = 0.135 [kgm2] L = 0.9 [m] ba = 90 [Nms] at = 0.36 [m] M = 1.5 [kg] H = 0.4 k = 1000 [N/m] d = 0.15 [m] d2 = 0.9 [m] d3 = 1.35 [m] i = 1,2,3,4 ii) Constant coefficients used in the equations of motion of the robot arms: A = miai2 + m2 L2 + I1 A2 = m2 a2 2 + h A3 = m2 L!a2 jj - ,112^1^2 A4 = m3 a32 + m4 + I3 A5 = m4 a42 + I4 A = m4 L3 a4 iii) Numerical parameters of the controller: SFj = 10 SF2 = 1 SF3 = 10 SF4 = 1 SFu = 1500 SFÄn = 20 Controller parameters are the same for all joints iv) The initial and final coordinates of the load: (x, y) = (0.3,0.8) [m]; (Xj> y) = (-0.3,1.2) [m] 6 REFERENCES [1] Carignan, C.R., Akin, D.L. Cooperative control of two arms in the transport of an inertial load in zero gravity. IEEE Transactions on Robotics and Automation, 4(4), 1988, p. 414-419. [2] Meier, W., Graf, J. A two-arm robot system based on trajectory optimization and hybrid control including experimental evaluation. Proceedings of the IEEE International Conference on Robotics and Automation, 1991, p. 2618-2623. [3] Xue, Q., Maciejewski, A.A., Sheu, P.C.-Y. Determining the collision-free joint space graph for two cooperating robot manipulators. IEEE Transactions on Systems, Man, and Cybernetics, 23(1), 1993, p. 285-294. [4] Yamano, M., Kim, J.S., Konno, A., Uchiyama, M. Cooperative control of a 3D dual-flexible-arm robot. Journal of Intelligent and Robotic Systems, no. 39, 2004, p. 1-15. [5] Khalili, D., Zomlefer, M. An intelligent robotic system for rehabilitation of joints and estimation of body segment parameters. IEEE Transactions on Biomedical Engineering, 35(2), 1988, p. 138-146. [6] Kron, A., Schmidt, G. Haptic telepresent control technology applied to disposal of explosive ordnances: Principles and experimental results. IEEE International Symposium on Industrial Electronics, Croatia, 2005, p. 1505-1510. [7] Tarn, T.J., Bejczy, A.K., Yun, X. New nonlinear control algorithms for multiple robot arms. IEEE Transactions on Aerospace and Electronic Systems 24(5), 1988, p.571-583. [8] Tarn, T.J., Bejczy, A.K., Yun, X. Design of dynamic control of two cooperating robot arms: closed chain formulation. Proceedings of the IEEE International Conference on Robotics and Automation, Raleigh, NC, 1987, p.7-13. [9] Uchiyama, M., Dauchez, P. A symmetric hybrid position/force control scheme for the coordination of two robots. Proceedings of the IEEE International Conference on Robotics and Automation, Philadelphia, 1988, p. 350-356. [10] Laroussi, K., Hemami, H., Goddard, R.E. Coordination of two planar robots in lifting. IEEE Journal of Robotics and Automation, 4(1), 1988, p. 77-85. [11] Liu, Y.H., Arimoto, S. Distributively controlling two robots handling an object in the task space without any communication. IEEE Transactions on Automatic Control, 41(8), 1996, p. 1193-1198. [12] Yim, W., Selvarajan, M., Wells, W.R. Sliding mode cooperative motion control of dual arm manipulators. Artif. Life Robotics, 3, 1999, p.166-159. [13] Liu, J.F., Abdel-Malek, K. Robust control of planar dual-arm cooperative manipulators. Robotics and Computer-Integrated Manufacturing, vol. 16, no. 2-3, 2000, p. 109-120. [14] Nagchaudhuri, A., Garg, D.P. Adaptive control and impedance control for dual robotic arms manipulating a common heavy load. International Conference on Advanced Intelligent Mechatronics Proceedings, Italy, 2001, p.683-688. [15] Hsu, P. Coordinated control of multiple manipulator systems. IEEE Transactions on Robotics and Automation, 9(4), 1993, p. 400-410. [16] Zadeh, L.A. Fuzzy sets. Information and Control, 8, 1965, p. 338-353. [17] Emami, M.R., Goldenberg, A.A., Turksen, I.B. Fuzzy-logic control of dynamic systems: from modeling to design. Artificial Intelligence, 13, 2000, p.47-69. [18] Zanoli, S.M., Conte, G. Remotely operated vehicle depth control. Control Engineering Practice, 11, 2003, p. 453-459. [19] Taskin, Y., Hacioglu, Y., Yagiz, N. The use of fuzzy-logic control to improve the ride comfort of vehicles. Strojniski Vestnik-Journal of Mechanical Engineering, 53(2007)4, p. 233-240. [20] Yesil, E., Guzelkaya, M., Eksin, I. Self tuning fuzzy PID type load and frequency controller. Energy Conversion and Management, 45, 2004, p. 377-390. [21] Lee, J. On methods for improving performance of PI-type fuzzy logic controllers. IEEE Transactions on Fuzzy Systems 1(4), 1993, p. 298-301. [22] Woo, Z.W., Chung, H.Y., Lin, J.J. A PID type fuzzy controller with self-tuning scaling factors. Fuzzy Sets and Systems, 115, 2000, p. 321-326. [23] Guzelkaya, M., Eksin, I., Yesil, E. Self-tuning of PID-type fuzzy logic controller coefficients via relative rate observer. Engineering Applications of Artificial Intelligence, 16, 2003, p. 227-236. [24] Mudi, R.K., Pal, N.R. A robust self-tuning scheme for PI- and PD-type fuzzy controllers. IEEE Transactions on Fuzzy Systems, 7(1), 1999, p. 2-16. [25] Xu, J. X., Hang, C.C., Liu, C. Parallel structure and tuning of a fuzzy PID controller. Automatica, 36, 2000, p. 673-684.