# PD-SVM Integrated Controller for Robotic Manipulator Tracking Control

Authors: Neha Kapoor; Jyoti Ohri
Journal: Chinese Journal of Engineering
 (2014)

---

## Abstract

Highly precise tracking of a robotic manipulator in presence of uncertainties like noise, disturbances, and friction has been addressed in this particular paper. An integrated proportional derivative and support vector machine (SVMPD) controller has been proposed for manipulator tracking. To illustrate the efficiency of the proposed controller, simulations have been done on a 2-DOF manipulator system. Performance of the proposed controller has been checked and verified with respect to to a simple PID controller and the radial bias neural network proportional integral derivative (RBNNPD) controller. It has been proved that the proposed controller can achieve better tracking performance as compared to other controllers as the range of errors is less and the time taken by the controller has reduced up to 14 times as compared to RBNN.


---

## Body

## 1. Introduction

Despite of the increase in complexity of modern control systems, due to simplicity and satisfactory performance, most industrial robots employ simple independent PD/PID controller [1–3]. In spite of so much popularity of PD controllers, this controller has some of the major drawbacks like frustrating tuning process and nonadaptability to time varying, nonlinear and coupling problems. Hence, with the growth of modern intelligent control techniques; PD is made to hybrid with these intelligent control techniques. These intelligent PD controllers have shown improved performance in past like fuzzy PID [4, 5], neural network based PID [6, 7], and genetic algorithm based PID [8].Among all of the controllers, learning capability of the NN and SVM is used for learning nonlinear functions and any other characteristics of a system had made the researchers to pay a lot of attention. After learning, NN and SVM networks have the capabilities of generalization and then respond optimally to the unknown situations. In this, some drawbacks of NN the like; there is no general way for deciding the network topology, that number of neurons required are also has to be determined experimentally, and local minima, limits its wide application. Hence, in recent years, SVM theory, has replaced many of the control problems. SVM was originally developed for pattern recognition and classification tasks [9]. It has been proved that is newly developed SVM by Vapnik [9] has better generalization and easier to find global optimal solution in comparison to neural networks with less number of training data [10, 11]. Vapnik in 1995 successfully extended the SVM to solve the regression problems. With the passage of time SVM had shown a great performance in regression and time series prediction applications [12].Uncertainties present in the robotic manipulator dynamics are one of the major limitations in achieving a high precision performance control. A few of these uncertainties include the friction, noise and disturbances in the path of the manipulator. To improve the performance of the tracking performance of the manipulator, in this paper PD-SVM integrated controller has been proposed. Supremacy of the proposed controller has been proved by simulations on a 2-DOF robotic manipulator. Further paper is sectioned as follows Section2 has problem formulation in it, Section 3 has the various controllers applied to the manipulator, simulation example is given in Section 4 and lastly conclusions are given in Section 5.


## 2. Problem Formulation

The dynamic equations of the robot manipulator are found through the use of the Lagrangian formulation, and the dynamic equation of ann-degree of freedom manipulator can be written as [13, 14] in
(1)M(q)q¨+V(q,q˙)+G(q)+Td+F=τ
with q∈Rn as the join position variables, τ∈Rn as vector of input torque, M(q)∈Rn×n being the inertia matrix which is symmetric and positive definite, V(q,q˙)∈Rn×n being the coriolis and centripetal matrix, G(q)∈Rn includes the gravitational forcesing and Td∈Rn being the uncertainties in the robotic manipulator dynamics. F∈Rn is the LuGre friction model.


### 2.1. Disturbances

External changes that affect performance of the system are referred to be as disturbances. Whatever the source of the change-internal or external, it is desired that the controller chosen is like that it makes the effects of the change (disturbance) as small as possible. These disturbances are the major limitations to achieve high precision performance control of nonlinear systems like manipulators. Major disturbances taken in this paper are as follows.(a)
Continuous disturbance: disturbance is changes continuously with time are continuous disturbance. affect of this torque has been seen on the robotic manipulator.(b)
Uniform random white noise: uniform random white noise is a random signal with a flat (constant) power spectral density. A pictorial view of inserted uniform random white noise in the manipulator system is Figure1.(c)
Friction: The LuGre model is a dynamic friction model presented in [15]; Friction is modeled as the average deflection force of elastic springs, when a tangential force is applied the bristles will deflect like springs, if the deflection is sufficiently large the bristles start to slip. The average bristle deflection for a steady state motion is determined by the velocity. It is lower at low velocities, which implies that the steady state deflection decreases with increasing velocity, this models the phenomenon that the surfaces are pushed apart by the lubricant. LuGre Fiction can be modeled mathematically as follows:
(2)z˙=v-|v|g(v)z,F=σoz+σ1z˙+σ2v,g(v)=Fc+(Fs-Fc)exp(vvs)2,
where z is average bristle deflection, σo is stiffness of bristles, σ1 is bristle damping coefficient, σ2 is viscous damping coefficient, v is relative velocity between moving parts, Fc is coulomb coefficient, Fs is static coefficient, and vs is stribeck velocity.Figure 1
Uniform random white noise.


## 2.1. Disturbances

External changes that affect performance of the system are referred to be as disturbances. Whatever the source of the change-internal or external, it is desired that the controller chosen is like that it makes the effects of the change (disturbance) as small as possible. These disturbances are the major limitations to achieve high precision performance control of nonlinear systems like manipulators. Major disturbances taken in this paper are as follows.(a)
Continuous disturbance: disturbance is changes continuously with time are continuous disturbance. affect of this torque has been seen on the robotic manipulator.(b)
Uniform random white noise: uniform random white noise is a random signal with a flat (constant) power spectral density. A pictorial view of inserted uniform random white noise in the manipulator system is Figure1.(c)
Friction: The LuGre model is a dynamic friction model presented in [15]; Friction is modeled as the average deflection force of elastic springs, when a tangential force is applied the bristles will deflect like springs, if the deflection is sufficiently large the bristles start to slip. The average bristle deflection for a steady state motion is determined by the velocity. It is lower at low velocities, which implies that the steady state deflection decreases with increasing velocity, this models the phenomenon that the surfaces are pushed apart by the lubricant. LuGre Fiction can be modeled mathematically as follows:
(2)z˙=v-|v|g(v)z,F=σoz+σ1z˙+σ2v,g(v)=Fc+(Fs-Fc)exp(vvs)2,
where z is average bristle deflection, σo is stiffness of bristles, σ1 is bristle damping coefficient, σ2 is viscous damping coefficient, v is relative velocity between moving parts, Fc is coulomb coefficient, Fs is static coefficient, and vs is stribeck velocity.Figure 1
Uniform random white noise.


## 3. Controllers

The control problem in the manipulator can be defined as finding out the input torque given to the manipulator joints, in order to have the accurate tracking performance even in the presence of the uncertainties. These input torqueses are taken as the output from the controllers. Figure2 represents the general block diagram of the control system for the manipulator.Figure 2
General block diagram for manipulator control.The controller(U) is PD, RBNNPD and SVMPD and the Td are the various disturbances naming continuous disturbance, white noise and F is LuGrefriction.Let the tracking error vector and error velocity be defined in (3) as
(3)e=q-qd,∈Rn,e˙=q˙-qd,∈Rn.


### 3.1. Proportional Derivative (PD) Controller

The following control term is obtained for the PD controller:(4)τ=Kpe(t)+Kde˙(t)-Td-F,
where Kp and Kd are suitable positive definite diagonal n×n matrices. Values of the controller constants, that is, Kd and Kp, are being decided by TAE (Trial And Error) method.


### 3.2. Radial Bias Neural Network PD (RBNNPD) Controller

One of the most important and widely used techniques for regression is based on neural networks. Learning capability of the NN is used for learning nonlinear functions for direct/indirect dynamics and any other characteristics of a system had made the researchers to pay a lot of attention to the field. After learning, NN has a capability of generalization and then respond optimally to the unknown situations. Radial bias function network (RBFN) is a type of neural network having great mapping ability.Input torque given to the manipulator is very important. In this paper, a RBNN network is trained by using the data of a simple PD controller. Input given to the NN is error and velocity error (e and e˙) and output is taken as torque. Gaussian function is used as the activation function of each neuron in the hidden layer. The excitation values of these Gaussian function are distributed between the input values of the sliding surface value, s. The output of the network is given by (5) as
(5)u=∑j=1nwjexp[-∥s-cj∥2σj2],
where j is the jth neuron of the hidden layer, cj is the central position of the neuron j, and σj is the spread factor of Gaussian function. A general diagram representing RBNNPD is shown in Figure 3.Figure 3
RBNNPD controller.This trained RBNNPD is used further to find the output torque to be given to the manipulator.


### 3.3. Support Vector Machine PD (SVMPD) Controller

Support vector machine is used to replace the neural networks by overcoming all the drawbacks of the neural network [11]. In a short time of span, control using SVM technique has shown the better results [16]. The main objective of the regression is to estimate a function from a set of samples given. Defining some of the basics of the ε-SVM regression as N data points {xk,yk}(k=1⋯N) with xk∈Rn and output yk∈Rn. The models take the form as in (6)(6)f(x)=〈w,x〉+b,
where 〈·,·〉 denotes inner product. Optimal regression function is determined by the minimum of
(7)ϕ(w)=12∥w∥2.ε is the tolerance loss function. ε-SVR is defined as maximizing the geometric margin and minimizing the training error. This can be formulated as
(8)min(w,b,ξi,ξi*)v(12∥w∥+C∑i=1l(ξi+ξi*))subjecttoyi-〈w,xi〉-b≤ε+ξi〈w,xi〉+b-yi≤ε+ξi*ξi,ξi*≥0,
where ∥w∥ is the Euclidean norm of weights representing model complexity. C>0 determines the tradeoff between model complexity and empirical loss function. ξi,ξi* are the slack variables representing upper and lower constraints on output of system. The most common choice for the loss function is the following ε-insensitive loss function defined by Vapnik [9]:
(9)Lg[y,f(x)]={0,|y-f(x)|≤ε|y-f(x)|-ε,|y-f(x)|>ε.
Introducing Lagrange multiplier and Kernel techniques, the resulting convex programming problem expressed in (10) is solved by its Wolfe dual formulation
(10)L=min∝i,∝i*(12∑i,j=1l(∝i*-∝i)(∝j*-∝j)K(xi,xj)-∑i=1l(∝i*-∝i)yi+ε∑j=1l(∝i*+∝i))Subjectto∑i=1l(∝i*-∝i)=0,
where
(11)0≤∝i,∝i*≤C,i=1⋯l.∝i,∝i* are nonzero Lagrange multipliers [17] and K(xi,xj) is the kernel function. For linearly separable data linear kernels are used and for nonlinear separable data non linear kernels are used. In this paper non linear ε-SVM regression technique with Radial Bias kernel function is used which can be formulated as
(12)K(xi,xj)=exp(-γ|u-v|2).
Using KKT conditions offset b can be calculated as in (13)
(13)b={yi-∑j=1l(∝j*-∝j)K(xi,xj)+ε∝i>0,yi-∑j=1l(∝j*-∝j)K(xi,xj)-ε∝i*>0.
Finally output of SVM is given as
(14)f^(x)=∑i=1l(∝i*-∝i)K(xi,xj)+b-,
where b- is the average of b by using (13).Error of the system should be(15)|f^(x)-f(x)|≤ε.
This ε-SVM regression controller is trained by using the data of a PD controller. Same as RBNNPD inputs given to the ε-SVM regression model is error and velocity error (e and e˙) and output is taken as torque.


## 3.1. Proportional Derivative (PD) Controller

The following control term is obtained for the PD controller:(4)τ=Kpe(t)+Kde˙(t)-Td-F,
where Kp and Kd are suitable positive definite diagonal n×n matrices. Values of the controller constants, that is, Kd and Kp, are being decided by TAE (Trial And Error) method.


## 3.2. Radial Bias Neural Network PD (RBNNPD) Controller

One of the most important and widely used techniques for regression is based on neural networks. Learning capability of the NN is used for learning nonlinear functions for direct/indirect dynamics and any other characteristics of a system had made the researchers to pay a lot of attention to the field. After learning, NN has a capability of generalization and then respond optimally to the unknown situations. Radial bias function network (RBFN) is a type of neural network having great mapping ability.Input torque given to the manipulator is very important. In this paper, a RBNN network is trained by using the data of a simple PD controller. Input given to the NN is error and velocity error (e and e˙) and output is taken as torque. Gaussian function is used as the activation function of each neuron in the hidden layer. The excitation values of these Gaussian function are distributed between the input values of the sliding surface value, s. The output of the network is given by (5) as
(5)u=∑j=1nwjexp[-∥s-cj∥2σj2],
where j is the jth neuron of the hidden layer, cj is the central position of the neuron j, and σj is the spread factor of Gaussian function. A general diagram representing RBNNPD is shown in Figure 3.Figure 3
RBNNPD controller.This trained RBNNPD is used further to find the output torque to be given to the manipulator.


## 3.3. Support Vector Machine PD (SVMPD) Controller

Support vector machine is used to replace the neural networks by overcoming all the drawbacks of the neural network [11]. In a short time of span, control using SVM technique has shown the better results [16]. The main objective of the regression is to estimate a function from a set of samples given. Defining some of the basics of the ε-SVM regression as N data points {xk,yk}(k=1⋯N) with xk∈Rn and output yk∈Rn. The models take the form as in (6)(6)f(x)=〈w,x〉+b,
where 〈·,·〉 denotes inner product. Optimal regression function is determined by the minimum of
(7)ϕ(w)=12∥w∥2.ε is the tolerance loss function. ε-SVR is defined as maximizing the geometric margin and minimizing the training error. This can be formulated as
(8)min(w,b,ξi,ξi*)v(12∥w∥+C∑i=1l(ξi+ξi*))subjecttoyi-〈w,xi〉-b≤ε+ξi〈w,xi〉+b-yi≤ε+ξi*ξi,ξi*≥0,
where ∥w∥ is the Euclidean norm of weights representing model complexity. C>0 determines the tradeoff between model complexity and empirical loss function. ξi,ξi* are the slack variables representing upper and lower constraints on output of system. The most common choice for the loss function is the following ε-insensitive loss function defined by Vapnik [9]:
(9)Lg[y,f(x)]={0,|y-f(x)|≤ε|y-f(x)|-ε,|y-f(x)|>ε.
Introducing Lagrange multiplier and Kernel techniques, the resulting convex programming problem expressed in (10) is solved by its Wolfe dual formulation
(10)L=min∝i,∝i*(12∑i,j=1l(∝i*-∝i)(∝j*-∝j)K(xi,xj)-∑i=1l(∝i*-∝i)yi+ε∑j=1l(∝i*+∝i))Subjectto∑i=1l(∝i*-∝i)=0,
where
(11)0≤∝i,∝i*≤C,i=1⋯l.∝i,∝i* are nonzero Lagrange multipliers [17] and K(xi,xj) is the kernel function. For linearly separable data linear kernels are used and for nonlinear separable data non linear kernels are used. In this paper non linear ε-SVM regression technique with Radial Bias kernel function is used which can be formulated as
(12)K(xi,xj)=exp(-γ|u-v|2).
Using KKT conditions offset b can be calculated as in (13)
(13)b={yi-∑j=1l(∝j*-∝j)K(xi,xj)+ε∝i>0,yi-∑j=1l(∝j*-∝j)K(xi,xj)-ε∝i*>0.
Finally output of SVM is given as
(14)f^(x)=∑i=1l(∝i*-∝i)K(xi,xj)+b-,
where b- is the average of b by using (13).Error of the system should be(15)|f^(x)-f(x)|≤ε.
This ε-SVM regression controller is trained by using the data of a PD controller. Same as RBNNPD inputs given to the ε-SVM regression model is error and velocity error (e and e˙) and output is taken as torque.


## 4. Simulation Example

### 4.1. Robot Dynamics

In order to show the effectiveness of the proposed intelligent control law, this have been applied to two-links robot with the parameters given below. The dynamics of a 2-DOF manipulator used in all types of controllers and satisfying (1) is given as
(16)M(q)=[8.77+1.02*cosq20.76+.51*cosq20.76+.51*cosq20.62],V(q,q˙)=[-.51sin(q2)q˙2-.51sin(q2)(q˙1+q˙2)-.51sin(q2)q˙10],G(q)=[74.48sin(q1)+6.174sin(q1)+q26.174sin(q1)+q2].
This 2-DOF manipulator has been commanded to track the path shown in Figure 4 and given by
(17)q1d=[.3sin(.7t-Π2)+.3sin(.1t-Π2)+.7],q2d=[.5sin(.9*t-Π2)+.5sin(.1t-Π2)+1.1].Figure 4
Desired trajectories by joint 1 and joint 2.


### 4.2. Disturbances

Continuous disturbance in the path of manipulator is taken as(18)Td=[2cos(.02t)1.7sin(.02t)].
And the LuGre Friction model is defined by constants as
(19)σ0=.6,σ1=.009,σ2=.6,vs=.04,Fs=.01,Fc=10.


### 4.3. Controllers Parameters

Design parameters for PD controller are taken as(20)Kp=[80000120],Kd=[700050].
For RBNNPD controller spread is taken as 2.Forε-SVM regression, two MATLAB SVM libraries, namely, svmtrain and svmpredict, are used.These libraries have the given format. For training SVMmodel = svmtrain(training_output, training_input,  “libsvm options”).To predict class of new input data according to pretrained model predict_label = svmpredict(testing_output, testing_input, “libsvm options”).Values for radial bias kernel function are [γ,C]=[1991,.5064];[.73,9099] for joint 1 and joint 2, respectively.Figures5 and 6 represent the actual trajectory tracked by the robotic manipulator with different controllers. It has been clearly represented in Figures 5 and 6 that for both the joints 1 and 2 the tracking performance of the SVMPD is much improved than the PD and RBNNPD controllers. Figures 7 and 8 are giving the continuous errors in joints 1 and 2 with different controllers. In Figures 7 and 8, it can be observed that the range of errors in joint 1 and joint 2 is minimum for SVMPD. RBNNPD has lesser continuous error when compared to a classical PD controller. Comparative results for the three controllers, namely, PD, RBNNPD and SVMPD have been tabulated in Table 1.Table 1
Comparative results for the various controllers.
Controllers(with uncertainties)
Mean square error (MSE)
Time taken(in sec)
Joint 1
Joint 2
PD
0.0035
0.0142
1.24
RBNNPD
0.0024
0.0062
79.589
SVMPD
4.65E-06
7.39E-04
5.891Figure 5
Trajectory tracked by joint 1. Path of joint 1 with different controllers.Figure 6
Trajectory tracked by joint 2. path of joint 2 with different controllers.Figure 7
Error of joint 1 with different controllers.Figure 8
Error of joint 2 with different controllers.It can be observed from Table1 that mse error of SVMPD is about 106 and 104 times lesser than the other two PD and RBNNPD controllers. Time taken by SVMPD is about 14 times lesser than the time taken by RBNNPD for control purpose.


## 4.1. Robot Dynamics

In order to show the effectiveness of the proposed intelligent control law, this have been applied to two-links robot with the parameters given below. The dynamics of a 2-DOF manipulator used in all types of controllers and satisfying (1) is given as
(16)M(q)=[8.77+1.02*cosq20.76+.51*cosq20.76+.51*cosq20.62],V(q,q˙)=[-.51sin(q2)q˙2-.51sin(q2)(q˙1+q˙2)-.51sin(q2)q˙10],G(q)=[74.48sin(q1)+6.174sin(q1)+q26.174sin(q1)+q2].
This 2-DOF manipulator has been commanded to track the path shown in Figure 4 and given by
(17)q1d=[.3sin(.7t-Π2)+.3sin(.1t-Π2)+.7],q2d=[.5sin(.9*t-Π2)+.5sin(.1t-Π2)+1.1].Figure 4
Desired trajectories by joint 1 and joint 2.


## 4.2. Disturbances

Continuous disturbance in the path of manipulator is taken as(18)Td=[2cos(.02t)1.7sin(.02t)].
And the LuGre Friction model is defined by constants as
(19)σ0=.6,σ1=.009,σ2=.6,vs=.04,Fs=.01,Fc=10.


## 4.3. Controllers Parameters

Design parameters for PD controller are taken as(20)Kp=[80000120],Kd=[700050].
For RBNNPD controller spread is taken as 2.Forε-SVM regression, two MATLAB SVM libraries, namely, svmtrain and svmpredict, are used.These libraries have the given format. For training SVMmodel = svmtrain(training_output, training_input,  “libsvm options”).To predict class of new input data according to pretrained model predict_label = svmpredict(testing_output, testing_input, “libsvm options”).Values for radial bias kernel function are [γ,C]=[1991,.5064];[.73,9099] for joint 1 and joint 2, respectively.Figures5 and 6 represent the actual trajectory tracked by the robotic manipulator with different controllers. It has been clearly represented in Figures 5 and 6 that for both the joints 1 and 2 the tracking performance of the SVMPD is much improved than the PD and RBNNPD controllers. Figures 7 and 8 are giving the continuous errors in joints 1 and 2 with different controllers. In Figures 7 and 8, it can be observed that the range of errors in joint 1 and joint 2 is minimum for SVMPD. RBNNPD has lesser continuous error when compared to a classical PD controller. Comparative results for the three controllers, namely, PD, RBNNPD and SVMPD have been tabulated in Table 1.Table 1
Comparative results for the various controllers.
Controllers(with uncertainties)
Mean square error (MSE)
Time taken(in sec)
Joint 1
Joint 2
PD
0.0035
0.0142
1.24
RBNNPD
0.0024
0.0062
79.589
SVMPD
4.65E-06
7.39E-04
5.891Figure 5
Trajectory tracked by joint 1. Path of joint 1 with different controllers.Figure 6
Trajectory tracked by joint 2. path of joint 2 with different controllers.Figure 7
Error of joint 1 with different controllers.Figure 8
Error of joint 2 with different controllers.It can be observed from Table1 that mse error of SVMPD is about 106 and 104 times lesser than the other two PD and RBNNPD controllers. Time taken by SVMPD is about 14 times lesser than the time taken by RBNNPD for control purpose.


## 5. Conclusion

In this paper, problem of path tracking of robotic manipulator with disturbances has been solved upto the best level. Along with the widely used controllers like PD, RBNNPD one of the advance upcoming controller, namely, SVMPDd has been implemented. Results have been checked by simulations on a 2-DOF manipulator. It has been found in the results that the proposed SVMPD controller takes less time for control and is the most robust controller. Even in presence of various disturbances, SVMPD performs better than the other controllers.



---

*Source: 295210-2014-02-03.xml*