Next Article in Journal
Numerical Study of Heat Transfer in a Gun Barrel Made of Selected Steels
Previous Article in Journal
Stress and Pressure Pulsation Analysis of Low Temperature Compressor Piping System in LNG Vaporizing Station
Previous Article in Special Issue
Research on Compound Sliding Mode Control of a Permanent Magnet Synchronous Motor in Electromechanical Actuators
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Robust Sliding Mode Fuzzy Control of Industrial Robots Using an Extended Kalman Filter Inverse Kinematic Solver

by
Mojtaba Ahmadieh Khanesar
* and
David Branson
Faculty of Engineering, University of Nottingham, Nottingham NG7 2RD, UK
*
Author to whom correspondence should be addressed.
Energies 2022, 15(5), 1876; https://doi.org/10.3390/en15051876
Submission received: 15 January 2022 / Revised: 19 February 2022 / Accepted: 22 February 2022 / Published: 3 March 2022
(This article belongs to the Special Issue Sliding Mode Control in Electromechanical Systems)

Abstract

:
This paper presents a sliding mode fuzzy control approach for industrial robots at their static and near static speed (linear velocities less than 5 cm/s). The extended Kalman filter with its covariance resetting is used to translate the coordinates from Cartesian to joint angle space. The translated joint angles are then used as a reference signal to control the industrial robot dynamics using a sliding mode fuzzy controller. The stability and robustness of the proposed controller is proven using an appropriate Lyapunov function in the presence of parameter uncertainty and unknown dynamic friction. The proposed controller is simulated on a 6-DOF industrial robot, namely the Universal Robot-UR5, considering the maximum allowable joint torques. It is observed that the proposed controller can successfully control UR5 under uncertainties in terms of unknown dynamic friction and parameter uncertainties. The tracking performance of the proposed controller is compared with that of the sliding mode control approach. The simulation results demonstrate superior performance of the proposed approach over the sliding mode control method in the presence of uncertainties.

1. Introduction

Industry 4.0 is the fourth generation of industry. It has accommodated advanced machine learning approaches as well as artificial intelligence into the core of manufacturing to improve production [1,2]. This has resulted in more intelligent factory floors that can respond to customer needs through increasingly customizable products [3,4]. Robots serve as an indispensable part of industrial environments, increasing productivity and reducing design-to-market time through their ability to efficiently improve production in highly repetitive tasks [5]. Precision of the factory elements is a primary issue that must be improved to increase manufacturing performance [6,7]. Industrial tasks on a factory floor, such as object handling [8] and manipulation [9], require ahigh level of precision while maintaining safe operation. Industrial robots are serial architectures, with several joints making up their construction. Their architecture results in high coupling between different link dynamics. Modelling uncertainties include simplifications, dead zones, backlashes [5], and variable load for industrial robots. In particular, operating at or near static conditions can cause dynamic control problems due to changes in motion state. We believe that a sliding mode control approach is a robust control method that can be used to guarantee the tracking behavior of industrial robots in finite time in the presence of matched uncertainties [10].
The sliding mode control approach is a nonlinear and robust control approach. In this controller, the desired behavior of the robot is defined in terms of a sliding surface [11,12]. The Lyapunov stability theorem is used to design the control signal to guarantee reaching the sliding surface [13,14,15,16]. When the states of the robot reach the sliding surface, the high frequency switching law maintains sliding mode for a stable reference signal [13,14]. The most prominent features of sliding mode control for industrial robots are robustness to unmodelled dynamic and unknown variable loads [17].
To track a desired Cartesian space coordinate, an inverse kinematic solver is required to translate industrial robot motion in a Cartesian space to its desired joint space motion. There exist different approaches to solve the inverse kinematic of industrial robots. Geometric approaches are used to find the inverse kinematic of the robot in a closed form [18]. Geometrical approaches to solve inverse kinematic have already been used for planar hyper-redundant manipulators [18,19], the 7R 6-DOF Robot-Manipulator [20], and hybrid parallel-serial five-axis machine tools [21]. Neural networks [22,23,24], neuro-fuzzy approaches [25], and deep neural networks [26,27] can be put in the second category of inverse kinematic solvers. The third category is the one that uses estimation algorithms to solve the inverse kinematic. Although the kinematic model of industrial robots is highly nonlinear, it can be linearized using Taylor expansions. Estimation algorithms such as Levenberg–Marquardt [28], least squares [29,30], recursive least square, and extended Kalman filter [30,31] may also be utilized to find the corresponding joint angles of robots. The second and third categories of inverse kinematic solvers can be identified as machine learning approaches. Among the listed estimation algorithms, the extended Kalman filter is used in [32,33] for the accurate inverse kinematic and calibration of industrial robots. This method has previously outperformed least squares for solving the inverse kinematic problem of the Kawasaki RS10N industrial robot and a 4-DOF laboratory setup in terms of accuracy as well as number of iterations [32,33].
Fuzzy systems are effective approaches to deal with uncertainty in control systems. They can effectively approximate any smooth nonlinear function, provided enough rules are used in their structure. Fuzzy systems have been used to enhance the performance of classical control approaches such as the model reference control method and sliding mode controllers [34]. The combination of fuzzy systems and sliding mode approaches results in a robust adaptive control approach, which benefits from the rigorous mathematical backbone of sliding mode control theory and the adaptation capabilities of fuzzy systems. Such approaches have been used to control induction servomotors, anti-lock braking systems [35,36], and active suspension systems for vehicles [37,38].
In this paper, a sliding mode fuzzy control (SMFC) approach is used to control an industrial robot in its low-speed motion (linear velocity less than 5 cm/s). The reference signal is given in terms of Cartesian position and orientation, which is then translated to the joint space using the inverse kinematic approach. The inverse kinematic approach used in this paper uses an extended Kalman filter for joint angle estimation. This approach has been shown to find the desired robot joint angles in a smaller number of iterations compared to the least square method [32]. In this paper, the sample time considered for the inverse kinematic solver and the controller are both equal to 1   msec . Different from the sliding mode controller, which was designed for UR5 in [39], the control signal designed in this paper does not include angular acceleration, which makes it easier to implement. The desired behavior of the industrial robot is defined in terms of a sliding mode, and the parameter update rules for the fuzzy system in the SMFC are derived from Lyapunov stability theorem. The robustness of the controller in the presence of unknown friction torques and parameter uncertainty is analyzed using the Lyapunov function. Simulations are performed under MATLAB/Simulink® software. The Cartesian space reference signal is given with slow changes to ensure results are tracked at near static speeds (up to 5 cm/s). The results demonstrate the implementability, showing the satisfactory performance of the overall controller in the presence of unknown friction and parameter uncertainties in the robot dynamics. Comparison is made to a previous sliding mode control approach, used to control UR5 [39]. The comparison results show a smaller tracking error value as compared to the sliding mode control approach used in [39] to control UR5. In summary, the contributions of the proposed approach over approaches in the literature are
  • Use of an extended Kalman filter as an inverse kinematic solver along with SMFC to control industrial robots;
  • Elimination of the necessity to include a second order time derivative of joint angles in the control law;
  • Superior performance over the sliding mode controller for UR5 as presented in [39].
This rest of this paper is organized as follows. The dynamic model of the industrial robot and its kinematics are given in Section 2. The overall control architecture is proposed in Section 3, where the overall control architecture, adaptation laws, and the stability analysis of the system are discussed. The simulation results are given in Section 4, and concluding remarks are presented in Section 5.

2. Industrial Robot Dynamic and Kinematics

2.1. Industrial Robot Dyanmics

The general dynamic of a rigid link 6-DOF industrial robot can be formulated in terms of ordinary differential equations composed of interacting forces on the robot, as follows [40,41]:
M ( q ) q ¨ + C ( q , q ˙ ) q ˙ + G ( q ) + F ( q ˙ ) = τ ,
where q 6 × 1 is the robot joint angle vector, M ( q ) 6 × 6 represents the inertial forces in the industrial robot, C ( q , q ˙ ) 6 × 6 represents the Coriolis and centrifugal forces, G ( q ) 6 × 1 presents the robot gravitational force terms, F ( q ˙ ) 6 × 1 represents the dynamic friction terms of the robot, and τ 6 × 1 presents the input torque vector to control the robot. The matrix M ( q ) satisfies the following equation for the kinetic energy of the robot.
K = 1 2 q ˙ T M ( q ) q ˙
The elements of the vector G ( q ) , the gravitational forces of the robot, are partial derivatives of potential energy with respect to the corresponding robot joint angles.
g k = P q k ,   k = 1 , , 6
where P is the potential energy of the robot and g k represents the elements of the G ( q ) vector such that G ( q ) = [ g 1 g 6 ] T . Furthermore, the elements of the matrix C ( q , q ˙ ) , the Coriolis and centrifugal force matrix, satisfy the following equation:
c k j = i = 1 n c i j k ( q ) q ˙ i
where c i j k ( q ) represents the Christoffel symbols [41]:
c i j k ( q ) = 1 2 { d k j q i + d k i q j d i j q k }
Finally, F ( q ˙ ) represents the dynamic friction terms of the robot [42].

2.2. Inverse Kinematic Calculation for Industrial Robots

The forward kinematic is a function that finds the Cartesian coordinates of robot within 3D space as a function of its joint angles. The inverse kinematic is the reverse procedure to assign appropriate joint angles to industrial robots to maintain the desired position and orientation. There exist different solutions for the inverse kinematic for industrial robots at a given pose/alignment of the end-effector and many solutions to determine optimal results. Among them, an algorithm was recently investigated in [32] that uses an extended Kalman filter approach to estimate the joint angles of industrial robot. This approach contributes to a higher degree of precision as compared to least squares approaches to estimate the joint angles of industrial robots. Because of the high precision of this algorithm, we selected it for use in this paper. The link transformation matrix from the link i −1 to the link i using the Denavit–Hartenberg (D–H) parameters of the robot depends on joint angles, as follows [43]:
T 1 0 = [ c o s θ 1 0 s i n θ 1 0 s i n θ 1 0 c o s θ 1 0 0 0 0 0.08916 0 0 0 1 ] ,   T 2 1 = [ c o s θ 2 s i n θ 2 0 0.425 c o s θ 2 s i n θ 2 c o s θ 2 0 0.425 s i n θ 2 0 0 0 0 0 0 0 1 ] T 3 2 = [ c o s θ 3 s i n θ 3 0 0.392 c o s θ 3 s i n θ 3 c o s θ 3 0 0.392 s i n θ 3 0 0 0 0 0 0 0 1 ] ,   T 4 3 = [ c o s θ 4 0 s i n θ 4 0 s i n θ 4 0 c o s θ 4 0 0 1 0 0.1092 0 0 0 1 ] T 5 4 = [ c o s θ 5 0 s i n θ 5 0 s i n θ 5 0 c o s θ 5 0 0 1 0 0.0947 0 0 0 1 ] ,   T 6 5 = [ c o s θ 6 s i n θ 6 0 0 s i n θ 6 c o s θ 6 0 0 0 0 1 0.0823 0 0 0 1 ]
The industrial robot end effector position and orientation in the fixed world coordinate attached to the base of the industrial robot is calculated as the multiplication of all link transformation matrices.
T e = T 6 0 = T 1 0 T 2 1 T 3 2 T 4 3 T 5 4 T 6 5
The overall end-effector position and orientation error can be approximated by linear superpositions of the joint angle deviations weighted by their sensitivity function.
Δ T e = T e θ 1 Δ θ 1 + + T e θ 6 Δ θ 6 + H . O . T .
The parameter T e θ i is the sensitivity function of the end-effector transformation matrix with respect to i-th joint angle of the robot and can be calculated analytically.
Remark 1. 
It is noted that in the industrial robot investigated in this paper, the only changeable D–H parameter is the joint angles of the robot θ i ’s. However, in a more general case where other D–H parameters of the robot are changeable, the matrix Δ T e is approximated as a linear superposition of all deviations in all D–H parameters, weighted by their corresponding sensitivity matrix.
According to [32], the extended Kalman filter estimation method results in a more precise positioning of the robot than the least squares solution. The EKF estimation iteratively estimates the joint angles of the robot as follows [36]:
θ k + 1 = θ k + K k [ T d h k ( θ k ) ]
P k = P k H k ( R + H k T P k H k ) 1
P k + 1 = P k P k H k T P k + Q k
where θ k = [ θ 1 k θ 6 k ] T is the vector of the unknown joint angles of the robot at the k-th iteration, P k 6 × 6 is the parameter covariance matrix at the k-th iteration, R 12 is the measurement noise covariance matrix, and Q k 6 × 6 is the process noise covariance matrix. H k is defined as follows:
H k = [ h θ 1 k h θ 6 k ] T
and the function h is a vector function of θ k , defined as follows:
h k = [ T e 11 k T e 14 k T e 31 k T e 34 k ] T
where T e is obtained from Equation (7). The function T d is the desired position and orientation of the robot in a vector form, as follows:
T d = [ T d e 11 T d e 14 T d e 31 T d e 34 ] T
where T d e includes the desired position and orientation of the robot.

3. Control Architecture

3.1. Overall Control Structure

The overall control structure is denoted in Figure 1. The desired position of the robot end effector is denoted by [ x d y d z d ] T , and its desired orientation is represented by [ α d β d γ d ] T . Using the inverse kinematic of the robot as explained in Section 2.2, it is possible to find the desired joint angles of the robot [ q 1 d q 6 d ] T . In the next stage, the sliding mode fuzzy controller is responsible for controlling the robot and pushing the joint angles of the robot towards their desired value. Joint angles of the robot are measured using the joint encoders on the shafts of the robot. The SMFC approach and its stability analysis are explained in the next subsection. The proposed SMFC is responsible uses measured joint angles and their desired values to generate the torque values to control UR5. The Cartesian space coordinate of the robot is calculated using its forward kinematic in Equation (6). The position and orientation error of the robot is calculated as the difference between the desired coordinate of the robot and its real coordinate, as the output of its forward kinematics.

3.2. Sliding Mode Fuzzy Controller

3.2.1. Fuzzy System Structure

Two fuzzy systems are considered in the control structure of each joint. The j-th fuzzy IF-THEN rule of the first controller to control the i-th joint is in the following form:
j - th   rule :   IF   e i   is   A 1 i j   and   e ˙ i   is   B 1 i j   Then   τ f 1 i j   is   ψ i j s g n ( s i )
where τ f 1 i is an additive part of the control signal for the i-th joint. The mathematical formulation of this fuzzy system output is as follows:
τ f 1 i j = j = 1 M h i j ψ i j s g n ( s i )
where ψ i j represents the consequent part parameters of the fuzzy system, and h i j represents the weights associated with the j-th fuzzy rule, which can be calculated as follows:
h i j = μ i j ( e ) μ i j ( e ˙ ) j = 1 M μ i j ( e ) μ i j ( e ˙ ) , j = 1 , , M
and μ i j ( . ) represents the membership functions considered for the inputs of the fuzzy system e and e ˙ . The fuzzy IF-THEN rules of the second fuzzy system are in the following form:
j - th   rule :   IF   e i   is   A 2 i j   and   e ˙ i   is   B 2 i j   Then   τ f 2 i j   is   β i j s i
The mathematical formulation of the fuzzy system is as follows:
τ f 2 i = j = 1 M w i j β i j s i
where β i j represents the consequent part parameters of the fuzzy system, and w i j represents the weights associated with the jth fuzzy rule, which can be calculated as follows:
w i j = π i j ( e ) π i j ( e ˙ ) j = 1 M π i j ( e ) π i j ( e ˙ ) , j = 1 , , M
and π i j ( . ) represents the membership functions considered for the inputs of the fuzzy system.

3.2.2. Sliding Mode Fuzzy Controller

The joint space controller of the robot is a robust sliding mode fuzzy controller. The general dynamic model of industrial robots is as in (1) [44,45]. SMFC is a robust control approach that can control a wide range of robots in the presence of unmodelled dynamic and variable loads for the robot [46]. The tracking error for the industrial robot is defined as follows:
e = q d q
where q d 6 is the desired joint angles of the robot and e 6 is the tracking error for the industrial robot. The sliding surface defines the desired trajectory of the robot and needs to be stable. In the case of the 6-DOF industrial robot, it is defined in a vector form.
s = e ˙ + λ e ,   λ 0
where s 6 and λ define the decay ratio for the tracking error in the sliding mode. The time derivative of the sliding surface is obtained as follows:
s ˙ = e ¨ + λ e ˙ = q ¨ d q ¨ + λ ( q ˙ d q ˙ )
Applying the robot dynamic Equation (1) to (21), the following equation is obtained.
s ˙ = q ¨ d + M 1 ( C ( q , q ˙ ) q ˙ + G ( q ) + F ( q ˙ ) τ ) + λ ( q ˙ d q ˙ )
To analyze the stability of the overall control system, the following Lyapunov function is considered.
V = 1 2 s T M s + i 1 2 γ i θ ˜ i T θ ˜ i + i 1 2 ρ i ψ ˜ i T ψ ˜ i
where the parameters θ ˜ i and ψ ˜ i are defined as follows:
θ ˜ i = θ i θ i *
ψ ˜ i = ψ i ψ i *
and the parameters γ i and ρ i are positive parameters.
V ˙ = 1 2 s T M ˙ ( q ) s + s T M ( q ) s ˙ + i 1 2 γ i θ ˜ i T θ ˙ i + i 1 2 ρ i ψ ˜ i T ψ ˙ i
The input control torque is defined as follows:
τ = M n ( q ) q ¨ d + C n ( q , q ˙ ) q ˙ + G n ( q ) + [ τ f 1 1 τ f 1 6 ] T + [ τ f 2 1 τ f 2 6 ] T
where M n ( q ) , C n ( q , q ˙ ) , and G n ( q ) are the nominal and known parts of M ( q ) , C ( q , q ˙ ) , and G ( q ) , which satisfy
Δ M ( q ) = M ( q ) M n ( q ) , Δ C ( q , q ˙ ) = C ( q , q ˙ ) C n ( q , q ˙ ) , Δ G ( q ) = G ( q ) G n ( q ) ,  
and Δ M ( q ) , Δ C ( q , q ˙ ) , and Δ G ( q ) are the unknown uncertainties in the dynamic model of the industrial robot. Considering the control signals as in Equations (26), (14), and (17), we have the following equation for industrial robot control signal.
τ = M n q ¨ d + C n ( q , q ˙ ) q ˙ + G n ( q )
+ [ h 1 T ψ 1 s g n ( s 1 ) h 6 T ψ 6 s g n ( s 6 ) ] T
+ [ w 1 T θ 1 s 1 w 6 T θ 6 s 6 ] T
Remark 2. 
To implement the control signal in Equation (28), the desired joint angles of the system q d need to be a sufficiently smooth function of time so that q ¨ d exists.
Considering the dynamic equation of industrial robot in Equation (1), the time derivative of the Lyapunov function can be rewritten as follows:
V ˙ = 1 2 s T M ˙ ( q ) s + s T M ( q ) ( q ¨ d + M 1 ( q ) ( C ( q , q ˙ ) q ˙ + G ( q ) τ ) + λ ( q ˙ d q ˙ ) )
+ i 1 2 γ i θ ˜ i T θ ˙ i + i 1 2 ρ i ψ ˜ i T ψ ˙ i
By inserting the torque control signal of Equation (28) to the time derivative equation of the Lyapunov function in Equation (29), the following equation is obtained.
V ˙ = 1 2 s T M ˙ ( q ) s + s T ( Δ M q ¨ d + Δ C ( q , q ˙ ) + Δ G ( q ) + F ( q ˙ ) ) s T τ r
s T [ h 1 T ψ 1 s g n ( s 1 ) h 6 T ψ 6 s g n ( s 6 ) ] T
s T [ w 1 T θ 1 s 1 w 6 T θ 6 s 6 ] T + i 1 2 γ i θ ˜ i T θ ˙ i + i 1 2 ρ i ψ ˜ i T ψ ˙ i
By adding and subtracting the term i h i T θ i * s i 2 + i h i T ψ i * | s i | to the time derivative of the Lyapunov function in Equation (30), the following equation is obtained.
V ˙ = 1 2 s T M ˙ ( q ) s + s T ( Δ M q ¨ d + Δ C ( q , q ˙ ) + Δ G ( q ) + F ( q ˙ ) ) s T τ r s T [ h 1 T ψ ˜ 1 s g n ( s 1 ) h 6 T ψ ˜ 6 s g n ( s 6 ) ] T
s T [ w 1 T θ ˜ 1 s 1 w 6 T θ 6 s 6 ] T + i 1 γ i θ ˜ i T θ ˙ i
+ i 1 ρ i ψ ˜ i T ψ ˙ i i h i T θ i * s i 2 i h i T ψ i * | s i |
The adaptation laws for the parameters ψ i and θ i are taken as follows:
ψ ˙ i = ρ i h i | s i | , i = 1 , , 6
θ ˙ i = γ i w i s i 2 , i = 1 , , 6
This results in the following equation for the time derivative of the Lyapunov function V .
V ˙ = 1 2 s T M ˙ ( q ) s + s T ( Δ M q ¨ d + Δ C ( q , q ˙ ) + Δ G ( q ) + F ( q ˙ ) ) i h i T ψ i * s i 2   i h i T θ i * | s i |
Using the upper bound for uncertainty as | | Δ M q ¨ d + Δ C ( q , q ˙ ) q ˙ + Δ G ( q ) + F ( q ˙ ) | | N , and considering the fact that | | s | | i | s i | , the time derivative of the Lyapunov function in Equation (34) can be further manipulated as
V ˙ 1 2 s T M ˙ ( q ) s + N i | s i | i h i T ψ i * s i 2 i h i T θ i * | s i |
Considering the following nonequality for the norm of time derivative of M ( q ) :
| | M ˙ ( q ) | | λ m a x ( M ˙ ( q ) )
the time derivative of the Lyapunov function is obtained as follows:
V ˙ = 1 2 λ m a x ( M ˙ ( q ) ) | | s | | 2 + N i | s i | i h i T ψ i * s i 2 i h i T θ i * | s i |
Let m i n ( ψ i * ) and m i n ( h i ) be the minimum values of the elements of vectors ψ i * and h i , respectively. Provided that
λ m a x ( M ˙ ( q ) ) 2 m i n ( h i ) m i n ( ψ i * )
we have the following equation for V ˙ :
V ˙ N i | s i | i h i T ψ i * | s i |
It is further possible to consider the minimum element value of ψ i * such that
η 1 m i n ( h i ) m i n ( ψ i * )
This results in the following inequality for the time derivative of the error.
V ˙ N i | s i | i η 1 | s i |
which further guarantees the finite time convergence of the sliding surfaces to zero if it is further modified as
V ˙ i η | s i |
where the parameter η is chosen as η = η 1 N . This finite time can be calculated as follows:
t m a x 1 η i | s i ( 0 ) |  
Remark 3. 
To avoid the drift in the parameters of the fuzzy system, it is necessary to use the δ -modification rule for the adaptation laws for the parameters of the fuzzy system [47,48].
ψ ˙ i = ρ i h i | s i | ρ i δ ψ i , i = 1 , , 6
θ ˙ i = γ i w i s i 2 γ i δ θ i , i = 1 , , 6
The δ -modification avoids too-high parameter values for the adaptable parameters of ψ i and θ i by pushing these parameters towards zero. However, it is necessary to choose a small value for δ to avoid disturbing the adaptation law.

4. Simulation Results

The proposed controller as demonstrated in Figure 1 is simulated on a UR5 robot model. The model of UR5 and its parameter values are given in https://github.com/kkufieta/force_estimate_ur5/ (accessed on 14 January 2022). The URLs of the file associated with M ( q ) , C ( q , q ˙ ) q ˙ ,   G ( q ) ,   and   T ( q ) under this repository are presented in Table 1.
The parameters of dynamic friction in this robot are obtained from [42]. The sliding surface dynamics taken for the sliding mode controller are as follows:
s = e ˙ + 50 e
As soon as the states of the robot converge to this sliding surface, the sliding mode controller guarantees the exponential convergence of the error to zero. The sample time considered for the sliding mode fuzzy controller is 1 msec, and the same sample time is taken for the inverse kinematic solver of the robot. However, 200 epochs are required at each step for the inverse kinematic solver to find the desired joint angles. Simulations are performed in the MATLAB/Simulink® environment. Other parameters taken for the adaptation laws and the covariance matrix are listed in Table 2. These parameters are the design parameters that were selected after trial and error.
The simulations are performed in the presence of unknown dynamic friction for the robot. The reference signal is a ramp signal for the position in x and y dimensions and zero for the z dimension and robot orientations.
D e s i r e d   t r a j e c t o r y   # 1 = { x d = 0.37 + 0.05 t y d = 0.37 0.05 t z d = 0 α d = 0 β d = 0 γ d = 0
The SMFC is responsible for controlling the robot using the reference joint angles of the robot (see Figure 1). While the maximum applicable torque for the first three joints of UR5 is equal to 150 N.m., it is equal to 28 N.m. for the next three joints. These limitations are due to the motors used to control UR5 by the manufacturer. A maximum of 10% uncertainty is added to each element of M ( q ) , C ( q , q ˙ ) q ˙ ,   and   G ( q ) used in the controller structure to test its robustness. The time response of the industrial robot in terms of real joint angles versus time is presented in Figure 2. The parameters q 1 , , q 6 refer to the joint angles #1–#6 of UR5. As can be seen from the figure, the controller is performing well, and joint angle position errors are very small. The 3D orientation tracking of the UR5 end-effector is illustrated in Figure 3. As can be seen from the figure, the steady-state errors of the industrial robot for α ,   β , and γ coordinates are small.
The position tracking of the UR5 is illustrated in Figure 4, which demonstrates a very small tracking error in the UR5 end-effector position.
To have a comparison with a state-of-the-art control algorithm for UR5, the proposed approach is compared with sliding mode control approach, which was previously applied to a UR5 in [39]. The trajectory given for the robot is the same as the one given in [39], as follows:
D e s i r e d   t r a j e c t o r y   # 2 = { x d = 0.37 + c o s ( 1.26 t ) y d = 0.37 + s i n ( 1.26 t ) z d = 0.05 t α d = 0.01 β d = 1 γ d = 0.01
The same controller parameters as in Table 1 are used to track this trajectory. The same maximum 10% uncertainty is added to the elements of M ( q ) , C ( q , q ˙ ) q ˙ ,   and   G ( q ) used in the controller structure to test its robustness. To find the position error, the overall position error is calculated as the average value of the normed error at each individual sample, using the following equation.
| | E p | | = 1 N i = 1 N | | e p i | | ,
where e p i is the individual sample error for position, and N is the total number of the samples. The orientation error is calculated as follows.
| | E o | | = 1 N i = 1 N | | e o i 1 , 0 | |
where e o i , the error for each individual sample, is calculated as e o i = x d o i ( x r o i ) 1 , and and ( . ) 1 represent the quaternion product and quaternion conjugate, respectively. Moreover, x d o i and x r o i represent the desired quaternion and real quaternion orientation of the object. Using the indexes as introduced in Equations (48) and (49), a comparison can be made between the proposed approach and the approach previously introduced in [39]. As presented in Table 2, while | | E p | | is equal to 8.255 × 10−5 m in the case of the proposed approach in this paper, it is equal to 0.0068 m in the sliding mode control approach presented in [39]. This means that the proposed controller in this paper is capable of controlling the UR5 with a considerably lower error value. Moreover, while | | E o | | is equal to 2.086 × 10−4 rad in this paper, it is equal to 0.0035 rad in the sliding mode control approach investigated in [39]. Hence orientational error is considerably lower for the proposed approach.
The trajectory tracking of the proposed controller in terms of joint angles is presented in Figure 5 and Figure 6. As can be seen from the figures, the initial conditions of UR5 selected based on the desired trajectory and applying the control law of Equation (28) resulted in the real trajectory for robot joint angles q s to be very close to the desired robot joint angles q d s. Moreover, the trajectory tracking performance of the proposed approach in terms of position and orientation is presented in Figure 7 and Figure 8, respectively. The result shows that the desired joint angles are followed with high performance.
Figure 9 demonstrates the trajectory tracking behavior of UR5 in the xy-plane. For a better comparison between the real trajectory of the robot and its desired values, a zoomed-in version of the graph is presented. This figure shows that the proposed controller is capable of tracking the trajectory defined in Equation (47) with high performance in the presence of dynamic friction and parameter uncertainty. The numerical comparison between the desired Cartesian coordinate and real coordinate of the robot is given in Table 3.

5. Conclusions

The prominent requirements of an advanced manufacturing environment for precision control of industrial robots motivates the usage of advanced control techniques. Sliding mode controllers have been proven, in particular, to be an ideal control approach to deal with modeling uncertainties. To control an industrial robot in a Cartesian space, it is necessary to translate 3D Cartesian coordinates to desired joint angles values. The EKF inverse kinematic solver is a successful algorithm to deal with the inverse kinematic problems employed in this paper. This inverse kinematic solver has been previously compared, in [29], with the recursive least square method and demonstrated its superior performance. Covariance resetting as a robust modification to the original version of EKF is employed to avoid covariance bursting in its structure. The SMFC approach is responsible for dynamic stabilization and tracking control of the industrial robot. The Lyapunov stability theory is used to analyze the stability of the proposed control structure as well as the adaptation laws for the fuzzy system parameters. Robustness of the controller in the presence of dynamic friction, which inherently exists in the UR5 at low speeds, is analyzed using the same Lyapunov function. The proposed controller is compared with a previous controller investigated in [39] on a UR5 model. It is shown that the proposed controller in this paper outperforms the controller designed in [39] in terms of positional and orientation accuracies. During these simulations, the robustness of the proposed controller against uncertainty in terms of dynamic friction and parameter uncertainties in the UR5 structure is observed. It is shown that the proposed controller is capable of controlling the system with high performance in the presence of uncertainties in a robot model.

6. Future Works

In future, the proposed controller will be implemented on a real robot with an advanced metrology system (WFSI, photogrammetry, IMU, and position-fused sensor system) to measure and control the real-time position of the robot. Comparison of performance to further improved controllers, including ones that use non-quadratic Lyapunov functions, will be considered.

Author Contributions

Conceptualization, M.A.K.; methodology, M.A.K.; software, M.A.K.; validation, M.A.K.; formal analysis, M.A.K.; investigation, M.A.K.; resources, M.A.K.; writing—original draft preparation, M.A.K.; writing—review and editing, M.A.K. and D.B.; visualization, M.A.K.; supervision, D.B.; project administration, D.B.; funding acquisition, D.B. All authors have read and agreed to the published version of the manuscript.

Funding

This work was funded and supported by the Engineering and Physical Sciences Research Council (EPSRC) under grant number EP/T023805/1—High-accuracy robotic system for precise object manipulation (HARISOM).

Informed Consent Statement

Not applicable.

Data Availability Statement

The robot model used for this study can be found at https://github.com/kkufieta/force_estimate_ur5/ (Accessed 14 January 2022). The appropriate reference to this webpage is given in the body of the paper.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Wanasinghe, T.R.; Gosine, R.G.; James, L.A.; Mann, G.K.I.; de Silva, O.; Warrian, P.J. The Internet of Things in the Oil and Gas Industry: A Systematic Review. IEEE Internet Things J. 2020, 7, 8654–8673. [Google Scholar] [CrossRef]
  2. Garg, S.; Kaur, K.; Kaddoum, G.; Choo, K.-K.R. Toward Secure and Provable Authentication for Internet of Things: Realizing Industry 4.0. IEEE Internet Things J. 2020, 7, 4598–4606. [Google Scholar] [CrossRef]
  3. Burnap, P.; Branson, D.; Murray-Rust, D.; Preston, J.; Richards, D.; Burnett, D.; Edwards, N.; Firth, R.; Gorkovenko, K.; Khanesar, M.A.; et al. Chatty factories: A vision for the future of product design and manufacture with IoT. In Proceedings of the IET Conference, Online, 1–2 May 2019; pp. 4–6. [Google Scholar] [CrossRef]
  4. Lakoju, M.; Ajienka, N.; Khanesar, M.A.; Burnap, P.; Branson, D.T. Unsupervised Learning for Product Use Activity Recognition: An Exploratory Study of a "Chatty Device". Sensors 2021, 21, 4991. [Google Scholar] [CrossRef]
  5. Slamani, M.; Nubiola, A.; Bonev, I.A. Modeling and assessment of the backlash error of an industrial robot. Robotica 2012, 30, 1167–1175. [Google Scholar] [CrossRef]
  6. Hoang, M.L.; Carratu, M.; Paciello, V.; Pietrosanto, A. A new Orientation Method for Inclinometer based on MEMS Accelerometer used in Industry 4.0. In Proceedings of the 2020 IEEE 18th International Conference on Industrial Informatics (INDIN), Warwick, UK, 21–23 July 2020; pp. 177–181. [Google Scholar]
  7. Mishra, D.; Roy, R.B.; Dutta, S.; Pal, S.K.; Chakravarty, D. A review on sensor based monitoring and control of friction stir welding process and a roadmap to Industry 4.0. J. Manuf. Processes 2018, 36, 373–397. [Google Scholar] [CrossRef]
  8. Ahmadieh Khanesar, M.; Bansal, R.; Martínez-Arellano, G.; Branson, D.T. XOR Binary Gravitational Search Algorithm with Repository: Industry 4.0 Applications. Appl. Sci. 2020, 10, 6451. [Google Scholar] [CrossRef]
  9. Luo, H.; Zhao, F.; Guo, S.; Yu, C.; Liu, G.; Wu, T. Mechanical performance research of friction stir welding robot for aerospace applications. Int. J. Adv. Robot. Syst. 2021, 18, 1729881421996543. [Google Scholar] [CrossRef]
  10. Utkin, V.; Guldner, J.; Shi, J. Sliding Mode Control in Electro-Mechanical Systems; CRC press: Boca Raton, FL, USA, 2017. [Google Scholar]
  11. Lin, J.; Zhao, Y.; Zhang, P.; Wang, J.; Su, H. Research on Compound Sliding Mode Control of a Permanent Magnet Synchronous Motor in Electromechanical Actuators. Energies 2021, 14, 7293. [Google Scholar] [CrossRef]
  12. Pietrala, M.; Leśniewski, P.; Bartoszewicz, A. Sliding Mode Control with Minimization of the Regulation Time in the Presence of Control Signal and Velocity Constraints. Energies 2021, 14, 2887. [Google Scholar] [CrossRef]
  13. Khalil, H.K. Nonlinear Control; Pearson: Englewood Cliffs, NJ, USA, 2015. [Google Scholar]
  14. Slotine, J.J.E.; Li, W. Applied Nonlinear Control; Pearson Education Taiwan: Upper Saddle River, NJ, USA, 2005. [Google Scholar]
  15. Ullah, S.; Khan, Q.; Mehmood, A.; Bhatti, A.I. Robust backstepping sliding mode control design for a class of underactuated electro–mechanical nonlinear systems. J. Electr. Eng. Technol. 2020, 15, 1821–1828. [Google Scholar] [CrossRef]
  16. Ullah, S.; Khan, Q.; Mehmood, A.; Kirmani, S.A.M.; Mechali, O. Neuro-adaptive fast integral terminal sliding mode control design with variable gain robust exact differentiator for under-actuated quadcopter UAV. ISA Trans. 2021, 120, 293–304. [Google Scholar] [CrossRef]
  17. Ullah, S.; Mehmood, A.; Khan, Q.; Rehman, S.; Iqbal, J. Robust integral sliding mode control design for stability enhancement of under-actuated quadcopter. Int. J. Control Autom. Syst. 2020, 18, 1671–1678. [Google Scholar] [CrossRef]
  18. Liu, Y.; Kong, M.; Wan, N.; Ben-Tzvi, P. A geometric approach to obtain the closed-form forward kinematics of h4 parallel robot. J. Mech. Robot. 2018, 10, 051013. [Google Scholar] [CrossRef] [Green Version]
  19. Yahya, S.; Moghavvemi, M.; Mohamed, H.A. Geometrical approach of planar hyper-redundant manipulators: Inverse kinematics, path planning and workspace. Simul. Model. Pract. Theory 2011, 19, 406–422. [Google Scholar] [CrossRef]
  20. Vasilyev, I.; Lyashin, A. Analytical solution to inverse kinematic problem for 6-DOF robot-manipulator. Autom. Remote Control 2010, 71, 2195–2199. [Google Scholar] [CrossRef]
  21. Lai, Y.-L.; Liao, C.-C.; Chao, Z.-G. Inverse kinematics for a novel hybrid parallel–serial five-axis machine tool. Robot. Comput. Integr. Manuf. 2018, 50, 63–79. [Google Scholar] [CrossRef]
  22. Jiang, G.; Luo, M.; Bai, K.; Chen, S. A precise positioning method for a puncture robot based on a PSO-optimized BP neural network algorithm. Appl. Sci. 2017, 7, 969. [Google Scholar] [CrossRef]
  23. Hassan, A.A.; El-Habrouk, M.; Deghedie, S. Inverse kinematics of redundant manipulators formulated as quadratic programming optimization problem solved using recurrent neural networks: A review. Robotica 2020, 38, 1495–1512. [Google Scholar] [CrossRef]
  24. Jiménez-López, E.; de la Mora-Pulido, D.S.; Reyes-Ávila, L.A.; de la Mora-Pulido, R.S.; Melendez-Campos, J.; López-Martínez, A.A. Modeling of Inverse Kinematic of 3-DoF Robot, Using Unit Quaternions and Artificial Neural Network. Robotica 2021, 39, 1230–1250. [Google Scholar] [CrossRef]
  25. Lazarevska, E. A neuro-fuzzy model of the inverse kinematics of a 4 DOF robotic arm. In Proceedings of the 2012 UKSim 14th International Conference on Computer Modelling and Simulation, Cambridge, UK, 28–30 March 2012; pp. 306–311. [Google Scholar]
  26. Wang, X.; Liu, X.; Chen, L.; Hu, H. Deep-learning damped least squares method for inverse kinematics of redundant robots. Measurement 2021, 171, 108821. [Google Scholar] [CrossRef]
  27. Mohamed, N.A.; Azar, A.T.; Abbas, N.E.; Ezzeldin, M.A.; Ammar, H.H. Experimental Kinematic Modeling of 6-DOF Serial Manipulator Using Hybrid Deep Learning. In Proceedings of the AICV, Cairo, Egypt, 8–10 April 2020; pp. 283–295. [Google Scholar]
  28. Luo, G.; Zou, L.; Wang, Z.; Lv, C.; Ou, J.; Huang, Y. A novel kinematic parameters calibration method for industrial robot based on Levenberg-Marquardt and Differential Evolution hybrid algorithm. Robot. Comput. Integr. Manuf. 2021, 71, 102165. [Google Scholar] [CrossRef]
  29. Veitschegger, W.K.; Wu, C.-H. Robot calibration and compensation. IEEE J. Robot. Autom. 1988, 4, 643–656. [Google Scholar] [CrossRef]
  30. Omodei, A.; Legnani, G.; Adamini, R. Three methodologies for the calibration of industrial manipulators: Experimental results on a SCARA robot. J. Robot. Syst. 2000, 17, 291–307. [Google Scholar] [CrossRef]
  31. Habibullah, M.; Lu, D.D.-C. A speed-sensorless FS-PTC of induction motors using extended Kalman filters. IEEE Trans. Ind. Electron. 2015, 62, 6765–6778. [Google Scholar] [CrossRef] [Green Version]
  32. Jiang, Z.; Zhou, W.; Li, H.; Mo, Y.; Ni, W.; Huang, Q. A New Kind of Accurate Calibration Method for Robotic Kinematic Parameters Based on the Extended Kalman and Particle Filter Algorithm. IEEE Trans. Ind. Electron. 2018, 65, 3337–3345. [Google Scholar] [CrossRef]
  33. Park, I.-W.; Lee, B.-J.; Cho, S.-H.; Hong, Y.-D.; Kim, J.-H. Laser-based kinematic calibration of robot manipulator using differential kinematics. IEEE/ASME Trans. Mechatron. 2011, 17, 1059–1067. [Google Scholar] [CrossRef]
  34. Hosseinzadeh, M.; Yazdanpanah, M.J. Performance enhanced model reference adaptive control through switching non-quadratic Lyapunov functions. Syst. Control Lett. 2015, 76, 47–55. [Google Scholar] [CrossRef]
  35. Sun, J.; Xue, X.; Cheng, K.W.E. Fuzzy Sliding Mode Wheel Slip Ratio Control for Smart Vehicle Anti-Lock Braking System. Energies 2019, 12, 2501. [Google Scholar] [CrossRef] [Green Version]
  36. Khanesar, M.A.; Kayacan, E.; Teshnehlab, M.; Kaynak, O. Extended Kalman Filter Based Learning Algorithm for Type-2 Fuzzy Logic Systems and Its Experimental Evaluation. IEEE Trans. Ind. Electron. 2012, 59, 4443–4455. [Google Scholar] [CrossRef]
  37. Golouje, Y.N.; Abtahi, S.M. Chaotic dynamics of the vertical model in vehicles and chaos control of active suspension system via the fuzzy fast terminal sliding mode control. J. Mech. Sci. Technol. 2021, 35, 31–43. [Google Scholar] [CrossRef]
  38. Ovalle, L.; Ríos, H.; Ahmed, H. Robust Control for an Active Suspension System via Continuous Sliding-Mode Controllers. Eng. Sci. Technol. Int. J. 2021, 28, 101026. [Google Scholar] [CrossRef]
  39. Charaja, J.; Muñoz-Panduro, E.; Ramos, O.E.; Canahuire, R. Trajectory Tracking Control of UR5 Robot: A PD with Gravity Compensation and Sliding Mode Control Comparison. In Proceedings of the 2020 International Conference on Control, Automation and Diagnosis (ICCAD), Paris, France, 7–9 October 2020; pp. 1–5. [Google Scholar]
  40. Yin, X.; Pan, L. Direct adaptive robust tracking control for 6 DOF industrial robot with enhanced accuracy. ISA Trans. 2018, 72, 178–184. [Google Scholar] [CrossRef] [PubMed]
  41. Gravdahl, J.T. Force Estimation in Robotic Manipulators: Modeling, Simulation and Experiments. Ph.D. Thesis, Citeseer. NTNU, Trondheim, Norway, 2014. [Google Scholar]
  42. Kovincic, N.; Müller, A.; Gattringer, H.; Weyrer, M.; Schlotzhauer, A.; Brandstötter, M. Dynamic parameter identification of the Universal Robots UR5. In Proceedings of the ARW & OAGM Workshop, Steyr, Austria, 9–10 May 2019; pp. 44–53. [Google Scholar]
  43. Kufieta, K. Force Estimation in Robotic Manipulators: Modeling, Simulation and Experiments. In Department of Engineering Cybernetics NTNU Norwegian University of Science and Technology; Norwegian University of Science and Technology: Trondheim, Norway, 2014. [Google Scholar]
  44. Kebria, P.M.; Al-Wais, S.; Abdi, H.; Nahavandi, S. Kinematic and dynamic modelling of UR5 manipulator. In Proceedings of the 2016 IEEE international conference on systems, man, and cybernetics (SMC), Budapest, Hungary, 9–12 October 2016; pp. 4229–4234. [Google Scholar]
  45. Chen, Y.; Luo, X.; Han, B.; Luo, Q.; Qiao, L. Model Predictive Control With Integral Compensation for Motion Control of Robot Manipulator in Joint and Task Spaces. IEEE Access 2020, 8, 107063–107075. [Google Scholar] [CrossRef]
  46. Khanesar, M.A.; Kaynak, O.; Kayacan, E. Sliding-Mode Fuzzy Controllers; Springer International Publishing: Cham, Switzerland, 2021. [Google Scholar]
  47. Farrell, J.A.; Polycarpou, M.M. Adaptive Approximation Based Control: Unifying Neural, Fuzzy and Traditional Adaptive Approximation Approaches; Wiley: Hoboken, NJ, USA, 2006. [Google Scholar]
  48. Ioannou, P.A.; Sun, J. Robust Adaptive Control; Courier Corporation: Mineola, NY, USA, 2012. [Google Scholar]
Figure 1. Overall block diagram of the proposed controller.
Figure 1. Overall block diagram of the proposed controller.
Energies 15 01876 g001
Figure 2. Joint angle behavior of UR5 using the proposed control approach.
Figure 2. Joint angle behavior of UR5 using the proposed control approach.
Energies 15 01876 g002
Figure 3. 3D orientation behavior of UR5 in the presence of the proposed controller.
Figure 3. 3D orientation behavior of UR5 in the presence of the proposed controller.
Energies 15 01876 g003
Figure 4. 3D position behavior of UR5 in the presence of the proposed controller.
Figure 4. 3D position behavior of UR5 in the presence of the proposed controller.
Energies 15 01876 g004
Figure 5. Trajectory tracking behavior of the robot using the proposed approach for the first three joints.
Figure 5. Trajectory tracking behavior of the robot using the proposed approach for the first three joints.
Energies 15 01876 g005
Figure 6. Trajectory tracking behavior of the robot using the proposed approach for the last three joints.
Figure 6. Trajectory tracking behavior of the robot using the proposed approach for the last three joints.
Energies 15 01876 g006
Figure 7. 3D position behavior of UR5 in the presence of the proposed controller.
Figure 7. 3D position behavior of UR5 in the presence of the proposed controller.
Energies 15 01876 g007
Figure 8. 3D orientation behavior of UR5 in the presence of the proposed controller.
Figure 8. 3D orientation behavior of UR5 in the presence of the proposed controller.
Energies 15 01876 g008
Figure 9. 3D position behavior of UR5 using the proposed controller in the x-y plane.
Figure 9. 3D position behavior of UR5 using the proposed controller in the x-y plane.
Energies 15 01876 g009
Table 1. URLs of the github repository files containing M ( q ) , C ( q , q ˙ ) q ˙ ,   G ( q ) ,   and   T ( q ) under https://github.com/kkufieta/force_estimate_ur5/ (accessed on 14 January 2022).
Table 1. URLs of the github repository files containing M ( q ) , C ( q , q ˙ ) q ˙ ,   G ( q ) ,   and   T ( q ) under https://github.com/kkufieta/force_estimate_ur5/ (accessed on 14 January 2022).
Parameter Value
M ( q ) JointSpaceControl_Model_C_ForceEstim/D_Matrix.m
C ( q , q ˙ ) q ˙ JointSpaceControl_Model_C_ForceEstim/C_Matrix.m
G ( q ) JointSpaceControl_Model_C_ForceEstim/G_Vector.m
T ( q ) ur5_modeling_force_estimate/Derive_Dyn_Equations_Model_C/get_rotation_matrices.m
Table 2. Values of adaptation parameters.
Table 2. Values of adaptation parameters.
Parameter Value
ρ 1 , ρ 2 , ρ 3 , ρ 4 , ρ 5 , ρ 6 0.1
γ 1 , γ 2 , γ 3 , γ 4 , γ 5 , γ 6 0.1
δ 0.01
λ 50
P 0 I 6
Table 3. Tacking position and orientation errors in the case of the second trajectory.
Table 3. Tacking position and orientation errors in the case of the second trajectory.
Method | | E p | |   ( m ) | | E o | |   ( rad )
PD controller [39]0.0104 m0.0049
SMC method [39]0.0068 m0.0035
The proposed
Approach
8.255 × 10−5 m2.086 × 10−4
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Khanesar, M.A.; Branson, D. Robust Sliding Mode Fuzzy Control of Industrial Robots Using an Extended Kalman Filter Inverse Kinematic Solver. Energies 2022, 15, 1876. https://doi.org/10.3390/en15051876

AMA Style

Khanesar MA, Branson D. Robust Sliding Mode Fuzzy Control of Industrial Robots Using an Extended Kalman Filter Inverse Kinematic Solver. Energies. 2022; 15(5):1876. https://doi.org/10.3390/en15051876

Chicago/Turabian Style

Khanesar, Mojtaba Ahmadieh, and David Branson. 2022. "Robust Sliding Mode Fuzzy Control of Industrial Robots Using an Extended Kalman Filter Inverse Kinematic Solver" Energies 15, no. 5: 1876. https://doi.org/10.3390/en15051876

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop