Adaptive Fuzzy Control of Puma Robot Manipulator in Task Space with Unknown Dynamic and Uncertain Kinematic

A In this paper, an adaptive direct fuzzy control system is presented to control the robot manipulator in task space. It is assumed that robot system has unknown dynamic and uncertain kinematic. The control system and adaption mechanism are firstly designed for joint space tracking. Then by using inverse Jacobian strategy, it is generalized for task space. After that, to overcome the problem of Jacobian matrix uncertainty, an improved adaptive control system is designed. All the design steps are illustrated by simulations


INTRODUCTION
Most robot applications are in task space or Cartesian space. While a lot of research has been done on controlling the robot manipulators in task space [1]- [3], most of them require exact knowledge of the system. Robot manipulator systems are highly nonlinear, and the system dynamics change when robot picks up different tools. The robot kinematics and Jacobian matrix are hence uncertain, and the transferring information from joint space to Cartesian space is not completely correct. In control systems theory, to deal with such problems, adaptive control methods are usually proposed and used in all fields [4]- [7]. In robotics system control [6], [8]- [10] proposed adaptive sliding mode control to overcome the uncertainties in dynamics and kinematics. The sliding vector is the joint space error and the adaption law is usually extracted from Lyapunov functions to guarantee the stability. In [11], an adaptive back stepping method is presented to control the position of robot manipulator based on support vector machine; the main controller is a state feedback control system and the stability is proved by Lyapunov theory. Adaptive impedance control strategies are also presented for robotic systems [12], [13]. In [13], the system uncertainties are approximated by a radial basis function neural network. In [12], a neural network is designed to approximate the unknown dynamics and drive the robot without velocity sensor. In the last decade, using of intelligent methods such as neural networks, fuzzy systems, and intelligent optimization algorithms in robotic systems and other control systems has increased. These methods may be used as the main control system, or they may approximate a part of dynamics or uncertainties. Neural networks and fuzzy systems can approximate any arbitrary nonlinear function, so they have frequently been used in many robot control systems, as a system model or control strategy. In [14], an adaptive neural network control system is designed based on unified objective bound to decrease the effect of initialization error on transient response of the robot manipulator. A neural network control system is presented in [15] to deal with input dead zone and output constraints. The input dead zone and the robot model are approximated by a neural network, and the output constraint is considered in Lyapunov function. Ref. [16] proposed an ANFIS-PD+I based hybrid force/position controller for unspecified robot dynamics in the presence of external disturbances. Fuzzy logic control (FLC) systems are widely used in robot control systems. The robustness of the control system is usually improved by using fuzzy control systems instead of classical control strategies, and the experts and operators' experiences can be added to the control system. Different fuzzy control methods, such as Simple FLC system [17], fuzzy PID control systems [18], fuzzy sliding mode control systems [19] and adaptive fuzzy systems [20] have been presented. A review on controlling a two-link robot manipulator by fuzzy techniques has been recently done in [21]. In our paper, an adaptive direct fuzzy control system is designed to control a robot manipulator in task space with unknown dynamic and uncertain kinematics. The control method is firstly designed for joint space control of the robot manipulator based on the direct adaptive fuzzy control approach presented in [22]. After that, the proposed method is generalized to task space control system by using inverse Jacobian methodology. The results are accepted when the Jacobian matrix is known, and it does not have acceptable results when there is uncertainty in Jacobian matrix. To deal with this problem, a new update law is proposed in the next step. The new presented update law guarantees the acceptable performance of robot manipulator systems with unknown dynamics and uncertain Jacobian matrix. The stability is proved by Lyapunov method. Four simulations have been done on an industrial PUMA robot to illustrate all the design steps and control system effectiveness.
The paper is structured as follows. Section 2 introduces the three-link industrial robot PUMA. Direct adaptive fuzzy control system for joint space control is designed in Section 3. A simulation on Puma robot in joint space in existence of disturbance is also provided in Section 3. Extending the control system to control the robot end effector has been discussed in Section 4. The new adaption law and improved control system have been presented in Section 5. Section 6 concludes the paper.

PUMA ROBOT MODEL
The PUMA 560 (Programmable Universal Manipulation Arm) is an industrial robot arm which has six degrees of freedom resulted from three rotational joints. It owns three joints for arm and three joints for wrist. Since the purpose of this paper is just to control the position of robot end point in task space, the robot arm joints are only considered in robot model. The wrist joints are responsible for end point final angle A PUMA schematic is shown in Figure 1. The three link robot dynamic equations can be written as [23]: where ∈ 3 are the joint coordinates, ( ) ∈ 3×3 is the symmetric positive-definite inertia matrix, ( ,̇) represents the coriolis and centripetal terms, g(q) represents the gravity effects and Q is a control input vector in 3 which represents the torques applied to three joints. The position of robot end -effector can be calculated from joint coordinates through robot kinematic equation which can be expressed as: where X is the position vector of robot end-effector in task space and h(q) is a nonlinear function extracted from kinematic equations. The velocity of end-effector is related to joint velocity through Jacobian matrix J(q) ∈ 3×3 as

JOINT SPACE CONTROL SYSTEM
The control objective is to design a feedback controller = ( | ) based on fuzzy systems and an adaptation law for adjusting the parameter vector , such that the robot joint angles q follows the ideal output , as close as possible. The fuzzy controller is designed with nine fuzzy rules in the form of: where denotes the j-th fuzzy rule defined in Table 1. The inputs are 1 = − and 2 =̇−̇ and = [ 1 , 2 ] .
are the fuzzy input sets which are shown in Figure 2 and it is the same for both of inputs. is the output, for = 1,2, … ,9 and = 1,2. Specifically, using the product inference engine, singleton fuzzifier and center average defuzzifier, the output ( ) ∈ ⊂ of the fuzzy system is in form of where ̅ is the center of output membership function for the j-th rule. Let ̅ be the free parameters that are collected into a vector of θ ∈ 9 . The output membership functions of the proposed fuzzy system with initialized center ( 0 ) are shown in Figure 3. The objective is to update vector θ to improve the controller performance. Hence, the center of output membership function is changed adaptively to overcome the uncertainty and unknown dynamics. We can rewrite the ( | ) in form of k=1, 2 , …., 9 (5) and parameters in vector θ will be changed during online operation. The next task is to design an adaptation law for θ, such that the tracking error e is minimized.
where = − , = ( ,) , = ( 1 , 2 ) , then we obtain that closed-loop system stability is governed by Since (q, q̇) are unknown, the ideal controller above cannot be implemented. Then the control objective changes to estimating * by an adaptive fuzzy controller u( |θ). Substituting = ( | ) into (6) and by rearrangement, we obtain the closed-loop dynamics can be written into the vector form define the optimal parameters * = arg min θ∈R 9 and the minimum approximation error we can rewrite the error (11) as Consider the Lyapunov function candidate Let be the last column of P, then from b = (0, ..., 0, b) we have T = T . So, we can rewrite ̇ as If we choose the adaptation law as then Since > 0 and is the minimum approximation error, it is expected that by designing the fuzzy system u(Z|θ) with a sufficiently large number of rules, the would be small enough such that | T ω| < 1 2 T Q , which results in ̇< 0.
So, the adaption law is extracted from Lyapunov function to guarantee the stability. The joint space control structure is displayed in Figure 4. The parameter is the convergence rate. By increasing , the error usually decreases faster, but if it is set as a large number, small change in error results in a large change in adjustable parameters which is not acceptable.

Joint space control simulation (simulation A)
To illustrate the effectiveness of the proposed controller in joint space, a simulation on PUMA 560 robot has been done in Matlab software. A desired trajectory shown in Figure 5 is considered for joint coordinates. The vector is the center of fuzzy output membership functions. The goal of adaptive controller is to update the vector according to (18) to improve the control performance. The initial center of fuzzy output membership functions is set to 0 = [ −12 − 9 − 6 − 3 0 3 6 9 12] To illustrate the effect of adaption law, one of controllers which is applied to joint 2 is non-adaptive control system. The center of fuzzy output membership function related to joint 2 controller is fixed and it is same as 0 . The other two controllers applied to joint1 and joint 3 will be adapted by (18). A disturbance pulse is also added to output joint coordinates which is started in second 1, and it will be ended in second 2. The tracking errors of joints are displayed in Figure 6. It is clear that joints 1 and 3, in which the controllers are adapted by adaption law, have smaller errors and better performance in presence of disturbance. The center of "zero" membership functions related to fuzzy outputs is shown in Figure 7. This figure illustrates how the membership functions change adaptively to compensate the system error and to overcome the disturbance. From all the results, the proposed controller has acceptable performance in presence of unknown dynamics and disturbance.

TASK SPACE CONTROL SYSTEM
In joint space control strategies, it is assumed that a desired trajectory is specified for joint variables such as joint position or velocity. But the robot motion is usually defined in task space or Cartesian space. The control methods in which the error is defined based on robot end-effector position and velocity in Cartesian space are named task space control schemes. There are some different control systems in this field, but one of the most known methods is inverse Jacobian strategy displayed in Figure 8. Cartesian error is mapped to joint space error through inverse Jacobian matrix based on (3). The main problem that limits the application of this method is uncertainties in robot kinematics and Jacobian matrix. Therefore, the control system would not have successful performance if the Jacobian matrix is not exact. The proposed method in the last section is used for task space control by using inverse Jacobian strategy. Two different simulations have been done with exact and non-exact Jacobian matrix. When the Jacobian matrix is exact, the control system has acceptable performance in task space although the robot dynamics are unknown. On the other hand, the proposed control system does not work perfectly when Jacobian matrix is uncertain. The proposed control structure in task space is displayed in Figure 9.
simulations will be explained in following subsections.

Task space control system with exact Jacobian matrix simulation (simulation B)
In this simulation, it is considered that Jacobian matrix is exact and there is no kinematic uncertainty in robot manipulator. The error is calculated in Cartesian space, and it is transmitted to joint space correctly by using exact inverse of Jacobian matrix. The robot end effector position tracking the desired path is shown in Figure 10. Tracking is performed completely. The Cartesian error is displayed in Figure 11. The voltage of the motors which move the joints are shown in Figure 12. The voltages are limited and acceptable. From all the simulation results, that proposed control system has acceptable performance using exact Jacobian matrix.

Task space control simulation with uncertain Jacobian matrix (simulation C)
To investigate the control performance using uncertain Jacobian matrix, 50 percent uncertainty is considered for kinematic parameters (Denavit Hartenberg parameters). The Jacobian matrix is hence inexact and imperfect error is transmitted to joint space. The control system is applied to PUMA robot to track a circle the same as the last subsection. Tracking error in Cartesian space is displayed in Figure 13, and the motor voltages are shown in Figure 14. Tracking error increases in comparison with simulation B. The motor voltages are increased in unstable manner to compensate the error. Therefore, the system is out of control. It can be found that the proposed control does not have acceptable performance if there exists uncertainty in Jacobian matrix. To overcome this problem, an improved adaptive fuzzy task space control is presented in the next section.  Input voltage for joint actuators in simulation C. It shows that the control system is not applicable when the Jacobian matrix is not exact.

IMPROVED TASK SPACE ADAPTIVE FUZZY CONTROL SYSTEM
To overcome the problem of uncertainty in Jacobian matrix, the presented control system should be improved. The controller is now designed directly in task space. The control objective is now to design a feedback law = ( | ) based on fuzzy systems and an adaptation law for adjusting the parameter vector , such that the robot end effector position X follows the ideal output , as close as possible. The main fuzzy system is the same as Section 3, and vector is also the center of fuzzy output membership function. It is necessary to rewrite the robot dynamics in task space. Derivative of (3) would be Since the robot dynamic is unknown, the control objective is to design a fuzzy controller ( | ) which estimate * . Z is vector of fuzzy system input. By applying ( | ) to system (considering ( ( | ) = * + [ ( | ) − * ])) , the error dynamic system would be now by defining the matrixes Λ and B as the error dynamics can be rewritten in matrix form as by using the same definitions for ideal parameter * and least estimation error in (12) and (13), (31) can be written as now, it is required to stabilize the error dynamic (32). The following Lyapunov is the candidate to guarantee the stability.
where is a positive constant and P is a positive definite matrix which satisfies the following Lyapunov relation. which is like Section 3. If the fuzzy system is designed well with small estimation error such that | T ω| < 1 2 T Q , then (38) results in ̇< 0. The updating law is like (18) but now it depends on the task space error, and Jacobian matrix is added to the equation. Hence, the controller can compensate the uncertainty in the Jacobian matrix. The controller structure is shown in Figure 15. The proposed improved adaptive controller is applied to PUMA robot, and simulation results are investigated in the following subsection. Figure 15. Improved task space adaptive fuzzy control structure

Improved task space adaptive control system simulation (simulation D)
To investigate the performance of the proposed controller, it is applied to PUMA 560 robot system to track a desired circle in Cartesian space. The tracking error is calculated in task space along the axes of x,y and z. These errors are used for adaption mechanism. Then by using inverse Jacobian, the joint error is calculated from measured task space error. The joint space error is then sent to fuzzy systems to control the joints. Like |Simulation C, the Jacobian matrix has 50 percent uncertainty. By considering = 20 , the robot end effector position tracking desired trajectory is displayed in Figure 16. Tracking errors are shown in Figure 17. The error is smaller than 0.1 millimeter in steady state. The actuators voltages are displayed in Figure 18 which are limited and acceptable. Figure 19 illustrates the change of center of fuzzy output membership function during simulation. The rules which are fired with higher weight, the corresponding center of output function will be adapted more. From all the simulation results, the proposed control system has successful performance in presence of kinematic uncertainty.

CONCLUSION
An adaptive fuzzy control system is proposed in this paper to control the robot manipulator in task space subjected to both dynamic and kinematic uncertainty. The proposed system is first designed for joint space tracking and then is improved to control the robot end effector in task space. Four different simulations have been conducted to illustrate the successful performance of the proposed controller in both joint and task spaces.