 Open Access
 Total Downloads : 780
 Authors : Mohamed H. Mabrouk, Maged M. Abou Elyazed, Mootaz E. Abo Elnor, Hussein M. Mahgoub
 Paper ID : IJERTV4IS090476
 Volume & Issue : Volume 04, Issue 09 (September 2015)
 Published (First Online): 21092015
 ISSN (Online) : 22780181
 Publisher Name : IJERT
 License: This work is licensed under a Creative Commons Attribution 4.0 International License
Trajectory Planning of Five DOF Manipulator: Dynamic Feed Forward Controller over Computed Torque Controller
Maged M. Abou Elyazed,
Mohamed H. Mabrouk, Mootaz E. Abo Elnor, Hussein M. Mahgoub
Mechanical Equipment Department M.T.C.
Cairo, Egypt
Abstract Industrial robot control has been a challenge for decades especially for those manipulators which are assigned to work in hazardous environment. The DFF (Dynamic Feed Forward) controller and the CTM (ComputedTorque Method) based controller, are generally used for dynamic control of industrial robots. This paper presents a comparison of the two controllers applied on a five DOF manipulator case study. To verify the design of the controllers, the dynamic models of the manipulator used in this work are developed in two different ways. Firstly, the model is designed through NewtonEuler method for real time computation. Secondly the model is designed through simulations using Matlab Simmechanics for evaluating the developed controller. The experimental setup depends on using both controllers with a five DOF educational manipulator. For data analysis, a comparison between the computed torque controller and the dynamic feed forward controller is held on the same system under same conditions. The results show the efficiency of using the dynamic feed forward controller over the computed torque controller as a basis for manipulators' trajectory planning.
Keywords Graphical User Interface, Industrial Robots, Robot Modeling And Control.

INTRODUCTION
It is well established that robot manipulators are dynamically coupled, timevarying, and highly nonlinear systems that are extensively used in industrial applications. The traditional manipulator control schemes are based on independent joint control or classical linear control as a SingleInput/Single Output (SISO) system and any coupling effects due to the motion of the other links can be treated as a disturbance.
Practically, EulerLagrange dynamic equations of robot form a nonlinear and MultiInput/Multi Output (MIMO) multivariable system [1]. While the end effectors of the robot manipulators are to follow some desired trajectories as accurate as possible, the trajectory tracking problem becomes more complicated.
A conceptually simple nonlinear controller, called computedtorque controller, can fully compensate the nonlinear Coriolis and centripetal forces (continuous nonlinearities) in the robot motion and lead to high accuracy control for a variety of robot speeds and different shape
like dealing with hazardous materials and other sensitive applications, the precise control of the robot arms has become an essential requirement. Motivated by such control requirements, for practical and complex control problem of robot manipulators, many research contributions have been reported in the field of robotic control schemes such as proportionalintegrationderivative (PID) control, PD control, PI control [2], feedforward compensation control (DFF) [3], adaptive control [4,5], variable structure control [6], computed torque control (CTC) [1,7,8].
This paper presents the separate use of CTC controller and DFF controller with a 5DOF robotic manipulator case study for trajectory tracking problem. The performance of CTC controller is then compared to that of DFF controller through calculating of the error in robot endeffector position with respect to the desired position for each controller. The dynamics of the robot manipulator is modeled using MatlabÂ® Simmechanics toolbox. We modify the toolbox to include online evaluation of a nonlinear gravity compensation term to instantaneously compute current robot configuration. The use of such toolbox allows the possibility to verify modelbased control algorithm [9, 10].

MATHEMATICAL MODEL

NewtonEuler Model
Now the problem of computing the joints' torques corresponding to a given trajectory of a manipulator is considered. Assuming that the position, velocity, and acceleration of the joints are determined, the joint torques corresponding to the required trajectory can be calculated using the kinematics and the mass distribution information of the robot. The algorithm for computing joint torques includes two main processes. First, link velocities and accelerations are iteratively computed from link 1 to link n applying NewtonEuler equations for each link. Second, forces and torques of interaction and joint actuator torques are computed recursively from link n back to link 1. For the outward iterations from link 1 to link n (i from 0 to n1 ), the algorithm equations for the case of all rotational joints manipulator of n joints are as follows [11],
i1 Ri1i Zi1
workspace. With the use of the robots in critical applications
i1 i i i1 i1
(1)
R R x Z Zi1
Â¨
i1 i1 i i1 i i1 i1
i1 i i i i i1 i1 i1
(2)
Vi1 Ri1 (i xPi

i x i xPi
Vi )
i1 i i i1 i i i1 i
Vi1 i1xPi1 i1 x i1 x Pi1 Vi1 )
(3)
ci1
i1 ci1 i1 i1 ci1 i1
(4)
F m V
i1 i1
i1 i1 ci1
N I xI
i1 i1 i1 i1 i1 i1 i1 ci1 i1 i1 ci1 i1
Inward iterations from link n to link 1 (i from n to 1 )
(5)
(6)
Fig. 1. RV2AJ robot arm CAD model
f i Ri
f i1 Fi
i i1 i1 i
ni Ni1 Ri
ni1 Pi xFi Pi
xRi
f i1
(7)
Fig. 2. RV2AJ robot manipulator model
i i1 i1 i1 ci i i1 i1 i1
n Z
Ti i
i i i
(8)
(9)



EXPERIMENTAL SETUP
In this paper, we use a five DOF MitsubishiÂ® RV2AJ
Where is the rotational velocity, is the angular acceleration, V is the linear acceleration from link to link, Vc is linear acceleration of the mass center, F is the inertial force; and N is inertial Torque at mass center of each link. f and n are force and torque so that they appear as iterative relationships from highernumbered neighbor to lower numbered neighbor. Finally, R is rotation matrix, P is
educational manipulator, as shown in Fig. 3. To feed the robot with the updated target point position calculated by the developed target positioning system, serial communication between the computer and robot controller need to be installed. MELFA basic language is used through MATLABÂ® environment to control the manipulator via the computer serial port [12]. Both CTC based controller and DFF controller are used one by one for controlling the robot manipulator for trajectory tracking problem. The design of both controllers is
position vector from joint to joint, and
from joint to center of mass.

MatlabÂ® Simmechanics Model
Pc is position vector
explained in the next section.
A graphical user interface (GUI) environment, shown in Fig. 4, is developed to facilitate the communication between the computer and the robot. Path defining which is simply
Simmechanics is a MatlabÂ® toolbox that enable importing CAD model from a CAD environment to the Simulink environment as blocks of links connected by joints. Moreover, Simulink provides users with a tool to specify bodies and their mass properties, their possible motions, kinematic constraints, coordinate systems and the means of initiating and measuring motions. This makes it easier to do the analytical modeling without going through a complex modeling process. Firstly, a CAD model for our case study, the fiveDOF (RV2AJ) robot manipulator, needs to be built. Autodesk InventorÂ® is used as a suitable platform for building such a model, as shown in Fig. 1. Then the manipulator CAD model is imported to MatlabÂ® Simulink as an XML file by the aid of Simmechanics toolbox. The RV2AJ robot manipulator model is shown in Fig. 2.
determining the dominant points that define a path is performed easily through the interface. Also the interface gives charts which represent online evolution of robot end effector current position related to the defined path and robot joints operating parameters with time.
Fig. 3. Experimental setup (MitsubishiÂ® RV2AJ) educational manipulator
Fig. 4. Graphical user interface (GUI)


DECOUPLING CONTROL
Decoupling control can be accomplished by using the feedback linearization of nonlinear systems, Lyapunove design, or inverse dynamics control. The work presented in this paper is influenced by feedback linearization control method to solve the problem of manipulator control. In some sense, the linearizing control law implements an inverse model of the system being controlled. The nonlinearities in
Fig. 5. A modelbased manipulatorcontrol system
The modelbased manipulatorcontrol system is shown in Fig. 5. Using equations from Eq. (10) to Eq. (15); it is easy to show that the closedloop system is characterized by the error equation as follows,
E K E K E 0
the system cancel those in the inverse model; these, together
d v p
(16)
with a servo law, results in a linear closedloop system. There are a many control algorithms for robot manipulators that depend on decoupling control. This paper used two of the
Equation (16) can be written on a jointbyjoint basis to be
most commonly used dynamic controllers for the industrial robot manipulators; the CTC (Computed Torque Controller)
ed Kve K pe 0
(17)
and DFF (Dynamic FeedForward) controller.

Computed Torque Controller (CTC)
In the previous section a model and the corresponding equations of motion of the robot is developed, and the dynamics are simply described by the following equation
The computed torque controller computes the online
dynamics of the manipulator, using the sampled joint position and velocity data. where; V is centrifugal and coriolis terms, G () is gravity terms, is the joint positions, torque needed to achieve the given trajectory, d joint target positions, E is the error between target and actual position. Kp controller proportional constant of the PD controller, Kv controller
derivative constant of the PD controller.
M V , G()
(10)
It can be seen from Fig. 6 that the computed torque is
The problem of controlling a complicated nonlinear robot manipulator system can be handled by the partitioned controller scheme presented in [5, 11, 13]. This control scheme has two parts, the linearizing modelbased portion expressed by equations from Eq. (11) to Eq. (13) and the servolaw portion expressed by equations from Eq. (14) to Eq. (15) as follows,
calculated online by two function blocks ( M , and V, G() ). Both of these blocks consist of MatlabÂ® mfile based on Newton Euler method to calculate required torque. The second block contains coriolis, centripetal, and gravity forces (continuous nonlinearities in the robot motion). These nonlinearities are calculated online using the measured values for positions (tp, tp, tp, th4, and tp) and the
M
V , G()
d Kv E K p E
(11)
(12)
(13)
(14)
measured velocities (thd1, thd2, thd3, thd4, and thd5) for the five actuators respectively. These nonlinearities are delivered to the robot model as (C.T1, C.T2, C.T3, C.T4, and C.T5) to compensate its nonlinearities, therefore the robot system is linearized. On the other hand the error between the desired and the measured positions and velocities are calculated and then delivered to PD controller that work as a servo loop outside the linearized inner loop (linearized robot system) to
get (T1,T2,T3,T4,T5), where

K E K E . The PD
E d
(15)
d v p
controller function block delivers the robot model with
as (B.T1, B.T2, B.T3, B.T4, and B.T5)



RESULTS AND DISCUSSION
The results are discussed here in two main perspectives; the controllers performance during the path tracking process and the robustness of the controllers in spite of parameters uncertainties.

Controllers Performance during Path Tracking
For evaluating the performance of each controller, we use the CTC controller and the DFF controller to control the motion of the 5DOF RV2AJ robot manipulator to perform a linear quantic trajectory in three dimensional spaces forcing the path to have specific position, velocity, and acceleration at boundaries, so a fifth order polynomial is needed to express
0 1 2 3 4 5
Fig. 6. MatlabÂ® function block diagram for the CTC controller
Xt a a t a t2 a t3 a t4 a t5
(21)

Dynamic Feed Forward (DFF) Controller
DFF controller is usually used as an alternative to the CTC controller for the online computation requirements. The dynamic model is computed as a function of the desired path only, and so when the desired path is known in advance, values could be computed offline before motion begins. At run time, the precomputed torque histories would then be read out of memory. The control scheme for this kind of
The other coordinates kinematic behavior is determined as functions of (X) by a geometric space curve. In this case all velocities and accelerations at the start and the end are assigned to be zero. Fig. 8 and Fig. 9 respectively show the time evolution of position, velocity, and acceleration along the presented path for the robot endeffector and the robot joints.
endeffector position
300
250
Xaxis
200 Yaxis
Zaxis
controllers is shown in Fig. 7.
It is clearly seen in Fig. 7 that the model based portion is outside the servolaw portion. It is worth mentioning that servo portion is the portion that work to eliminate the error using the feedback measured positions and velocities. It can be described in equation form from Eq. (18) to Eq. (20) as follows
150
100
endeffector velocity endeffector acceleration
0.05
0
0.05
0.02
10 20 30 40 50 60 70 80 90 100
time
10 20 30 40 50 60 70 80 90 100
time
T1 T 2
T1 M V , G()
(18)
(19)
0.01
0
0.01
T 2 EK
p EKv
(20)
0.02
10 20 30 40 50 60 70 80 90 100
time
Fig. 8. Robot endeffector position, velocity, and acceleration along the along the quantic path versus time.
Fig. 7. Control scheme with the modelbased portion "outside" the servo
100
joint angle
50
0
50
100
joint velocity
10
0
10
joint acceleration
5
0
5
Joint1
Joint2
Joint3
Joint4
10 20 30 4050 60 70 80 90 100
10 
20 
30 
40 
50 
time 
70 
80 
90 
100 

10 
20 
30 
40 
50 
time 
70 
80 
90 
100 
time
60
60
Fig. 9. Robot joints position, velocity, and acceleration along the quantic path versus time
endeffector position(xaxis)
Refrence CTC DFF 

160
150
position(mm)
140
130
120
110
100
267.005
0 2 4 6 8 10 12
Time
(a)
Refrence
CTC
DFF
endeffector position(yaxis)
3
x 10
CTC Without load CTC With load 

DFF Without load DFF With load 

14
12
(a)
Path tracking error(yaxis)
10
267
position(mm)
8
Error
6
266.995 4
2
266.99
130.01
0 2 4 6 8 10 12
Time
(b)
endeffector position(zaxis)
0
2
0 2 4 6 8 10 12
Time
(b)
130
129.99
position(mm)
129.98
129.97
Refrence CTC
DFF
0.09
CTC Without load 

CTC With load DFF Without load DFF With load 

0.08
0.07
0.06
Path tracking error(zaxis)
129.96
129.95
129.94
129.93
0.05
Error
0.04
0.03
0.02
129.92
0 2 4 6 8 10 12
Time
(c)
0.01
0
0 2 4 6 8 10 12
Time
Fig. 10. Path tracking performance for endeffector (a) xaxis, (b) yaxis, and
(c) zaxis
Fig. 10 (a, b, c) shows the endeffector position in x, y, and z coordinates respectively versus time using the CTC controller presented in solid line and the DFF controller presented in dashed line. The figure shows that both controller matching the desired Cartesian path, however results show that path tracking performance for DFF controller is closer to the reference path than that of CTC controller especially for y and z axes.
(c)
Fig. 11. Endeffector position error in (a) xaxis, (b) yaxis, and (c) zaxis
Fig. 11 (a, b, c) respectively show the endeffector position error along x, y, and z axes versus time along the path for both CTC and DFF control methods with and without load. It is obviously seen that DFF have a better accuracy than the CTC. In the other hand for both controllers, accuracy has a noticeable change with load adding, but DFF still more accurate than CTC. These results verify the superiority of DFF controller over the CTC controller. The maximum error along the path with CTC method is about 78*106 m, in the other hand, the maximum error along the path with DFF method is about 45*106 m.
B. Robustness of the Controllers to Uncertainities
In robot control algorithm applications the problem of handling the uncertain parameter is very important. In this work, the controller robustness is evaluated by using uncertain payload mass where the same controllers are used to control the same robot in two cases. The first case is when the robot grips the maximum gripping load and the other case when it has an empty gripper.
CTC Without load CTC With load DFF Without load DFF With load 

Endeffector position(xaxis)
Fig. 12 (a, b, c) shows the robot endeffector position in x, y and z coordinates respectively versus time using the CTC controller and the DFF controller both with and without load. The figure shows that the path error becomes larger when load is added, especially in case of CTC. Error increases because of the sensitivity of these methods to the model parameters. So the accurate parameters are necessary for dynamic control. It can be noticed that path error become
larger when uncertainties are added, especially in case of CTC. The error increases because of the sensitivity of these
160
150
position(mm)
140
130
120
110
100
0 2 4 6 8 10 12
Time
(a)
Endeffector position(yaxis)
methods to the model parameters. So the accurate parameters are necessary for dynamic control.
CONCLUSIONS
Robot path planning is one of the most important tasks especially for manipulators that need to follow a special path in hazard environments. In this paper, the performance of two controllers, dynamic feed forward (DFF) controller and the computed torque method (CTM) based controller, have been experimentally investigated using both controllers with a 5 DOF educational robot manipulator (MitsubishiÂ® RV2AJ). The results show that the designed controllers are effective and useful. Also the results prove that DFF controller is better than CTC based controller, and more Robust. For some extent of system parameter uncertainties, the effectiveness of dynamics based model is still superior to the conventional
CTC Without load CTC With load DFF Without load DFF With load 

267
position(mm)
266.995
one. But for the best performance, exact information of system parameters is required.
REFERENCES
266.99
266.985
130.01
130
129.99
129.98
position(mm)
129.97
129.96
129.95
129.94
129.93
129.92
129.91
0 2 4 6 8 10 12
Time
(b)
Endeffector position(zaxis)
CTC Without load 

CTC With load DFF Without load DFF With load 


F.L. Lewis, C.T. Abdallah, and D.M. Dawson, Control of Robot Manipulators, New York: Macmillan, 1993.

J.Y.S. Luh, "Conventional controller design for industrial robotsa tutorial", IEEE Trans. Systems Man Cybernet. 13 (1983) 298316.

P.K. Khosla, T. Kanade, "Experimental evaluation of nonlinear feedback and feedforward control schemes for manipulator", Int. J. Robot. Res. 7 (1988) 1828.

J.J.E. Slotine, W. Li, "Adaptive manipulator control: a case study", IEEE Trans. Automat. Control 33(1988) 9951003.

FarzinPiltan, N. Sulaiman, A. Jalali& F. Danesh Narouei, Design of model free adaptive fuzzy computed torque controller: applied to nonlinear second order system, International Journal of Robotics and Automation, 2 (4):232244,2011.

Mark W.Spong and M.Vidyasagar, Robot Dynamics and Control, John Wiley & Sons,2004.

Zuoshi Song, Jianqiang Yi, Dongbin Zhao, Xinchun Li, A computed torque controller for uncertain robotic manipulator systems: fuzzy approach Fuzzy Sets and Systems 154 (2005) 208226, China.

C. S. Kim, K. W. Lee, "Robust control of robot manipulators using dynamic compensator", Control and Automation, 2009.ICCA 2009.
IEEE International Conference, 911 Dec., pp 10071012,2009

FarzinPiltan, Mohammad Hossein Yarmahmoudi, PUMA560 robot manipulator position computed torque control methods using matlab/simulink and their integration into graduate nonlinear control and matlab courses IJRA, Volume (3): Issue (3): 2012

DanutReceanu Modeling and simulation of the nonlinear computed torque control in simulink/matlab for an industrial Tech Science Press SL, vol.10, no.2, pp.95106, 2013
0 2 4 6 8 10 12
Time
(c)
Fig. 12. Path tracking performance for the endeffector with & without load for (a) xaxis, (b) yaxis, (c) zaxis

John J. Craig, Introduction to Robotics Mechanics and Control, third edition, Pearson Prentice Hall, 2005.

Mitsubishi Melfa RV2AJ manipulator user manual, 2010.

Reza N. Jazar, Theory of Applied Robotics, second edition, Springer Science+Business Media, LLC 2010