Performance Study of PID and Fuzzy Controllers for Position Control of 6 DOF arm Manipulator with Various Defuzzification Strategies

Today’s arm manipulators are more and more demanding in terms of productivity. Conventional controllers are not always able to provide good and accurate results. To complete a position movement of the manipulator’s end-effector, a set of joint angles of manipulator first required to be converted to the position coordinates by using the forward kinematics method, and each joint rotation is executed using a servomotor feedback control. The kinematic model has been validated using MATLAB® robotics toolbox. An end-effector based 6 degree of freedom (6-DOF) platform is proposed in this work which uses DC servomotor for actuation of the three revolute joints. PID controller is used as a reference benchmark. And FLC controller with different defuzzification strategies was employed. Results were compared in terms of time response criteria. Simulation results using MATLAB are demonstrated that PID has superior performance in terms of transient parameters. In Steady state response, both PID and FLC manage to converge to the desired output but in terms of overshot FLC is outperformed.


Introduction
Arm manipulators are the most commonly used robots in industrial applications.Arm manipulator consists of a series of links, connected by joints, which can be moved translationally or rotationally.Parts of all of the joints are actuated and extend from a base to an end-effector.Arm manipulator is analogous to the human hand, and the end-effector can be designed to perform any desired task [1].To successfully fulfil the desired task, the kinematics and dynamics of a manipulator must be studied first, and then the controllers also need to be designed and implemented in the mechanical manipulator system.
Various controllers have been designed and applied in the robot manipulator.Different types of these controllers in terms of performance index will be evaluated.Proportional Integral Derivative (PID) controller may be the most widely used controller in the industrial and commercial applications for the early decades.Due to its simplicity of designing and implementation, so the first attempt is to apply PID control.
Due to high reliabilities, flexibilities and low costs, DC motors are widely used in industrial applications, robot manipulators and home appliances where speed and position control of motor are required.Numerous papers about DC motor fuzzy control system design.In [2] authors reviewed fuzzy-logic applications for robot systems and flexible links manipulators.Delibasi and Türker presented the position control of DC motor using FLC and PID control algorithms.The two controllers were designed based on LabVIEW program.Results showed that the fuzzy controller better than using PID controller for achieving the desired position.They featured the influence of fuzzy logic controller upon the performance of robot movement simulation [3].Lin et al. compared PID and FLC for position control and observed that FLC performed better than PID [4].Azevedo et al. have shown that FLC is less sensitive than PID to load variations [5].Sreentha and Pradhanb designed fuzzy controller for the position control of single flexible link revolute.In this controller, time rate of change and error in joint angular displacement as input variables were used.Both theoretical and experimental results showed that the angular displacement at the base joint is highly oscillatory and settling time extremely large [6].Mishra et.al, made a comparison between PID and FLC for servomotor control and described that PID parameters had to be tuned again under variations of plant parameters external disturbance or noise [7].Young and Shih designed Fuzzy-PID controller of a six axis serial manipulator.Results compared with PID and two fuzzy controllers, Study shown that Fuzzy-PID has smaller steady state errors [8].
In this work, 6 DOF robot Manipulator proposed the robotic arm has five revolute joints include tool, wrist, elbow, shoulder, waist or base joints as shown in Figure 1.An important contribution is the use of servomotors for actuation of the revolute joints.The advantages of the servomotors is that they have a high accuracy and efficiency and reliability, low maintainability, and good dynamic control for variable speed applications .The rest of the paper are organized as follows: section 2 describes the kinematic model of the proposed platform, section 3 describes the DC servo motor design and value of transfer function.Different control schemes were introduced in section 4, simulations carried out in section 5 and the last section is the result analysis.

The Robot Model
In this work, 6 DOF robot Manipulator proposed the robotic arm has five revolute joints include tool, wrist, elbow, shoulder, waist or base joints as shown in Fig. 1.This robot is available for studies in machinery design and theory Laboratory in Beijing University of Chemical Technology, and used by students of Robotics.

The kinematic model
Kinematic problem is associated with the motion of robots.It does not deal with the forces that cause the motion.It is further divided into two categories, a) Forward Kinematic, b) Inverse Kinematics, forward kinematic deals with the computation of end-effector coordinates knowing the achieved joint angles, the most commonly used methods for kinematic modelling are Denavit-Hartenberg (D-H) and successive screw displacement, In D-H formulation approach, first D-H parameters are defined.Having the knowledge of these parameters, the kinematic model can be described for any robot [9].In contrast, inverse kinematic model computes the required joint angles for the given coordinates and is more complex than forward kinematic [10].
The relationship between the individual joints of the rehabilitation device and the position and orientation of the robot's end-effector is expressed concisely by the four D-H parameters given in Table .1.The four parameters a i , αi, d i , θ i are generally known as the link length, link twist, link offset, and joint angle respectively [11].

DC Servomotor Modeling
DC servomotor is a common actuator found in many mechanical systems and industrial applications such as industrial and educational robots [13].
Using block diagram open loop system could be represented and the motor has built-in feedback EMF, which tends to reduce the current flow.Using SIMULINK, the model of the motor was created.Table 3 shows DC servomotor parameters and values chosen for motor simulation.The overall transfer function of the system is given below:

Controller Design
To be able to control a motion process, the precise position of object needs to be measurable and maintained.
The designed system should respond to the applied input with a suitable overshoot a settling time and a zero steady state error as possible.To simplify the process of robot and control design and analysis, two suggested MATLAB function block models with its function block parameters for arm robot will be proposed.

PID Controller
PID controller [14] uses the Error E (t) between the reference input R (t) and the output U (t) as input, and then generates a control signal U (t) for the controlled system.The transfer function of the PID controller has the following form: where K p , K i and K d are the proportional, integral, and derivative gains respectively.Another useful equivalent form of the PID controller is in the form: where T K K are known as integral and derivative time constant respectively.For Tuning PID parameters there are some rules should be considered as: -If the error E (t) =R (t) -Y (t) is positive high then the proportional gain K p must be high, integral term K i low and the derivative term K d is low.Therefore this will speed the system output.
-If the current error is very small the PID parameters will have to be smaller value for proportional gain, larger value of integral time constant and larger value of derivative gain.So the speed of the system response will be small to reduce the overshoot of the output.
Parameters of PID controller were tuned using a Simulink block instead of conventional tuning methods.Initial values of parameters were defined as and the new parameter values were adjusted in just a few iterations as shown in Fig. 6.Thus the time and effort for tuning parameters decreased considerably.

Fuzzy Logic Controller
In the design of fuzzy logic controllers there are four main components: fuzzifier, knowledge base, inference mechanism and Defuzzifier [15].Fuzzifier converts a crisp input signal into a fuzzified signals identified by membership functions into fuzzy sets.The knowledge base consists of rule base and the data base.The inference mechanism evaluates which control rules are relevant at the current time and then decides what the input to the plant should be.Finally the defuzzification process converts the fuzzy output into crisp controlling signal.
Designing procedure of the fuzzy controller [16] is described as follows: -Define the input and output of FLC.There are two inputs of FLC, the error E (t) and change of error Δ (t) and One output is a control signal to the plant.
-Fuzzifying input and output variables.Each variable of fuzzy control inputs has five fuzzy sets ranging from negative high (NH) to positive high (PH).
-Design the inference mechanism rule to find the input-output relation.This paper uses Mamdani (Pro-Max) inference mechanism.
-Defuzzifying the output variable of fuzzy mechanism.Different Defuzzification methods were used and compared to obtain the control signal.

No
Rule Description Rule base and membership functions were designed.Fig. 9 shows the Simulink model for FLC controller.

Defuzzification strategies
Defuzzification is a process with the aim to produce a non-fuzzy action; it transforms a union of fuzzy sets into a crisp value.The most common methods are as follows: 1

-Centre of Gravity (COG). 2-Bisector of Area (BOA). 3-Mean of maximum (MOM). 4-Smallest of Maximum (SOM). 5-Largest of Maximum (LOM).
An idea of Centre of Gravity (COG) where the crisp control value COG u is the abscissa of the centre of gravity of the fuzzy set, COG u is calculated as follows: ( ) ( ) where x i is a point in the universe of the conclusion (i=1,2...) and ( ) The (BOA) defuzzification method calculates the abscissa of the vertical line that divides the area of the resulting membership function into two equal areas.
Here max i is the index of the largest abscissa max i x , BOA is considered a computationally complex method.Another approach to obtain the crisp value is to choose the point with the highest membership.There may be several points in the overall implied fuzzy set which have maximum membership value.Therefore it's a common practice to calculate the mean value of these points.This method is called (MOM) and the crisp value is calculated as follows: ^max , ( ) Here I is the (crisp) set of indices i where ( ) x P reaches its maximum max P , and I is its cardinality (the number of members).
One can also choose the leftmost point among the points which have maximum membership to the overall implied fuzzy set.This method is (SOM) defuzzification method.Crisp value is calculated as follows: min( ) SOM I u x (10) Another possibility is to choose the right most point among the points which have maximum membership to the overall implied fuzzy set.This method is called (LOM) defuzzification method where crisp value is calculated as: max( ) LOM I u x (11) These strategies proposed in the literature.Four of them will be adopted in this work.

Simulation Results
The simulation is carried out with the various Controllers.In order to assess the performance of the controller, PID and Fuzzy Controllers were designed and simulations are presented.In this work the first joint (Base θ 1 ) sought to move 90̊ in 8 second for the step time.

PID Controller
Using a PID controller, the position time response of the DC servomotor is shown in Fig. 10, where the dashed line refers to a desired signal, the solid line refers to a simulation result.

Figure 11.
Response of DC servo motor using Fuzzy Controller.

Fuzzy controller
Using a fuzzy logic controller, the position time response of the DC servomotor is shown in Fig. 11, where the dashed line refers to a desired signal, the solid line refers to a simulation result.

Result Comparison
The model has been subjected to reference step inputs signal.Simulation results in Fig. 10.11 show the output response performance of PID and fuzzy Controller respectively.The results show that all Controllers can complete the desired motion of the Manipulator's Servomotor.
The time response parameters, including rise time (t r ), percent overshoot (Mp), settling time (t s ) and steady state error (E ss ) of the PID Controller and the fuzzy logic Controller (FLC) for the higher order system transfer function of Manipulator 's servo motor are obtained.PID controller produces faster rise time, settling time, whereas FLC producing lower steady state error with zero overshoot.The comparison between two controllers is summarized in Table (5).Different defuzzification strategies were investigated and results are shown in Table 6.The results obtained using the four Defuzzification strategies have been shown in Table 6.From this table, noticed that Bisector of Area, Mean of Maximum and Smallest of Maximum strategy are giving approximately the same results, whereas for the Centre of Gravity approach there is wide variations in the results that are obtained.Due to complex operations as fuzzification and particularly Defuzzification, implementing simplified Defuzzification strategy leads to optimize the system.That means recommended avoiding Centre of Gravity strategy.

Conclusion
One of the most problems with fuzzy controller is that the computing time is longer that for PID .The comparative analysis based on the simulation for Manipulator's servomotor is tabulated which shows the performance index of the two proposed controllers.This work presents design and performance comparison of PID and FLC strategies.Given step input signal to characterize the response, simulation results demonstrate that PID has superior performance in terms of transient parameters.In Steady state response, both PID and FLC manage to converge to the desired output but in terms of overshot FLC outperformed with zero value.Different defuzzification strategies were employed.Results shown that Bisector of Area, Mean of Maximum and Smallest of Maximum strategies are outperformed as compared with Centre of Gravity.
Based on the user-defined desired angles, the developed forward kinematic model computes the corresponding positions.These positions are calculated using MATLAB©, Fig.2.shows the side and top view.

Figure 2 .
Figure 2. Side and top view.

2. 2
Forward kinematic model validationGoing one step forward, for well visualizing, the derived forward kinematic model has been validated using MATLAB® environment, The Toolbox developed by Peter Corke provides functions for manipulating and converting between datatypes e.g (vectors, homogeneous transformations, roll-pitch-yaw and Euler angles) which are necessary to represent 3-Dimensional position and orientation[12].Visual plot of a robot gives clear insight of the kinematic behaviour of a robot.Given various angle set as input to the developed forward kinematics model (1) and MATLAB toolbox, corresponding results have been compared and plotted.Considering joint angles configuration [θ 1 , θ 2 , θ 3 , θ 4 , θ 5 ] as [0 ᵒ ,-60 ᵒ ,-30 ᵒ ,-30 ᵒ , 0 ᵒ ], the position and orientation of the end-effector expressed in the base coordinates is: joint

Figure 5 .
Figure 5. Block diagram of DC servo motor.The advantage of using the block diagram gives a clear picture of the transfer function relation between each block of the system.Using SIMULINK, the model of the motor was created.Table3shows DC servomotor parameters and values chosen for motor simulation.

Figure 6 .
Figure 6.Block Diagram of Servomotor with PID Controller.

Figure 8 .
Figure 8. Membership functions of output.The fuzzy membership functions for the two input parameters are shown in Fig. 7, and the membership function for the output is shown in Fig. 8.For error (E) as input and control as output, here NH means Negative High, NM means Negative Medium, Z means Zero, PM means Positive Medium, and PH means Positive High.For change of errors (Delta DE) as input, here N means Negative and P means Positive.

Figure 9 .
Figure 9. Block diagram of servomotor with fuzzy controller.
the membership value of the resulting conclusion set.For continuous sets summations are replaced by integrals.

Figure 10 .
Figure 10.Position response of DC servo motor using PID Controller.

Table 2 .
The link lengths of Manipulator.

Table 5 .
Comparison between PID and FLC Controllers.

Table 6 .
Comparison between various Defuzzification strategies of FLC Controller.