A Fuzzy Self-Tuning Hybrid Force/Position Controller for Robotic Manipulator

The major problems of hybrid force/position control arise from uncertainty of the robot manipulator and unknown parameters of the task environment. This paper proposes a self-tuning fuzzy hybrid force/ position control scheme, which can force the end-effector to tracking a desired force and position trajectories in the Cartesian space. The output of the self-tuning algorithm adjusted on-line by the Scaling Factor ( SF ). The selection of SF value depends on the values of error ( e ) and change of error ( e & ). The present work is applied to the control of a two degrees-of-freedom ( DOF ) planar robot manipulator. The simulation results were carried out by using matlab5.3 program


1-Introduction
In many industrial and manufacturing applications, a robot manipulator is required to make contact with the environment, typical examples of these tasks are assembly of mechanical parts, deburring, painting, grinding, scribing, following contour, and assembly related tasks [1] [2].In these applications, contact forces between the robot manipulator endeffector and the environment are generated; therefore, simultaneous control of the endeffector position and the interaction force is required to successfully execute these tasks [3].During the past years, the force control schemes are often referred to as compliant control or hybrid force/position control in literature [4] [5][6] [7].
Generally, the compliant control is trying to simultaneously solve the force control problem and the positions control problem in the task frame, and provide reconciliation between the respective solutions of these problems.Contrarily, the hybrid force/position control is to carefully formulate the task frame so that the associated task space can be easily decomposed into force control subspace and position control subspace, and then achieves the desired respective objectives.The control strategy is primarily based on the fact that the total degrees of freedom (denoted by n) for the force/position problem can be partitioned into m position objectives and k force control objectives (i.e., n = m + k) [4].This decoupling is accomplished by employing the reduced order transformation of [3][4] to develop n dynamic equations, which are used to develop the position and force controller separately.
When the robot manipulators are in contact with their surrounding environment the uncertainties of the parameters arise and the control system must be able to deal with these variations in the parameters.In the presence of such uncertainties, linear feedback controllers (for example, PD or PID) cannot provide consistent performance.Therefore, in order to control the robot manipulator, it is necessary a control algorithm having simple computation and robustness to uncertainties.Fuzzy logic controllers (FLC's) have been reported to be successfully used for a number of complex and nonlinear process [8][9][10] [11].The selftuning algorithm can tune their output automatically depending on the scale factor (SF) term, which can be selected on-line depend on the values of the error e and the change of error e & [12].The overall control scheme drives the tracking errors to a neighborhood of zero.

2-The Dynamic Model of the Robot Manipulator
Consider an n degree-of-freedom robot manipulator its dynamic model in joint space defined as : are the position, velocity, and acceleration in the joint space.
: is the inertia matrix.
) , ( q q V m & : is the vector representing the centrifugal and coriolis forces satisfying is a skew-symmetric matrix, G(q): is the vector of gravitational forces, ) (q F & : is the vector of friction forces, and e τ : is an nx1 vector in joint space coordinates which denotes the force exerted on the environment.The robot manipulator equation is usually given by f Where is the output forces and torque in task space.f can be defined as ) ( Where K e : is an nxn diagonal, positive semi-definite, constant matrix used to denote the environmental stiffness, and : is the static location of the environment at rest, and n X ℜ ∈ : is the end-effector position and orientation in the task space. If x defined by ), ( q h x = (4) Where h(q) is the task space coordinates in terms of the joint space coordinates that can be found from the manipulator kinematics and the appropriate relationships between the joint and the task spaces.And n is the number of links of the robot manipulator.The derivative of x with respect to time is defined as.
(5) Where J(q) is an 6xn task space Jacobian matrix relating joint space velocity and task space velocity [13].
By differentiate (5) with respect to time we obtain that , is the pseudo inverse of the Jacobian matrix.When n=6, it is a square matrix and The corresponding feedback linearization control for the dynamics given by ( 9) is given by .
Where a is an nx1 vector used to represent the linear position and force control strategies.From ( 9) and ( 10 ; then ) Therefore, the motion of the manipulator can be controlled independently for each direction.Obviously, the control in the tangent directions will not have an effect on dynamics in the normal directions and vice versa.Fig. 2 shows the geometric of the robot and its environment.For the purpose of feedback control, define the tracking error to be  In the free motion period only the position control is used in the tangent and normal directions and the controller in the tangent direction will be , (15) Where K Tv and K Tp are positive control gains and t sw represents the time of the detection of the compact and In the normal direction, the position control is used before the detection of the impact: that is, , Where On the detection of the impact, the controller will switch from position control to force control in the normal directions.Therefore, is the time period of free motion mode and is period that the desired force trajectory needs to be tracked in the normal directions.Assume that the environment can be modeled as a spring.Specifically, the normal force f N exerted on the environment is given by ) ( where k e is the environmental stiffness, and x e is used to represent the static location of the environment in the of the normal space x N .To formulate the force dynamics taking the second derivative of (17) with respect to time gives the expression , 1 where the normal task space acceleration is written in terms of the second derivative of the normal force.Substituting ( 14) into ( 12) yields the force dynamics . 1 For the purpose of feedback control, define the force tracking error to be , (20) where f Nd represents the component of the desired force exerted normal to the environment.The corresponding linear controller is then given by ) ( 1 with K Nv and K Np are positive control gains.

3-The Proposed Self-Tuning Fuzzy Controller
Let the controller given in (10) to be .where ast is an n x 1 vector used to represent the linear position and force control strategies where where a NZ is the mx1 vector represent the linear space controller in the normal direction.And a TZ is the (n-m)x1 component that represent the linear space controller in the tangent space direction.Let Where u NZ is the fuzzy component that represent the PD term in a NZ .This term will be computed by using the self-tuning fuzzy control system.And ) ( (25) Where u TZ is the fuzzy component that represent the PD term in a TZ .This term also will be selected by using the self-tuning fuzzy control system.The gain (output SF α) of the fuzzy controllers are adjusted on-line according to the current states of the controlled processes, thereby making them self-tuning FLC's.The objective here is to adapt the output SF for given input to achieve better control performance.The block diagram of the proposed self-tuning FLC is shown in Fig. 4.

The simulation result
The control algorithm was implemented on a two-link planar robot manipulator.The model is showing in appendix A. The results of the conventional PD hybrid force/position control are carried out with proportional constant of k p = diag {100,100} and derivative constant of k v = diag {20,20}.The environment is modeling as a spring with environment stiffness k e =1000 N/m.In all cases the trajectory of the position is a 5 th order polynomial represented as follows 5 5 Where y i (t) is the position of the robot manipulator in the Cartesian space with a 0i = ) 0 ( : is tne initial velocity, and the final velocity is considered to be zero.If we use an exponential trajectory for the force the results shows in Fig (6) and Fig (7)

Conclusion
In this paper we have proposed a self-tuning fuzzy logic controller for robot manipulator under constrained motion.The simulation is carried out on a simple two-link planner robot manipulator.It is shown that the gain output SF (α) of the proposed fuzzy controller is adjusted on-line according to the current states of the controlled process, thereby making them self-tuning fuzzy logic controller.When the simulation is carried out using the conventional PD controller, the position and force trajectories is tracking with error and the values of the error is so high.But when the proposed self-tuning fuzzy logic controller is applied, the system gives good performance and the values of the output errors are reduced.
x T represent the mx1 vector of output positions and orientation in the tangent direction ("T") and x N represent the (n-m)x1 vector of output positions and orientation in the normal direction ("N"), i.e., Let a T and a N represent the acceleration input vector correspondingly, i.e.,

Fig. 4 . 2 .
Fig. 4. a) Block diagram of the proposed self-tuning FLC b) Structure of the FLC. e 0) : is the initial position y f (0) : is the final position )

Fig. 8 Fig. 9
Fig. 8 The conventional PD controller response d) the desired and actual force trajectory d Tab. 1. Fuzzy rules for computation of u n .