Keywords

1 Introduction

Nowadays, robotic manipulators have been popularly used in all kinds of industries such as welding and painting work places due to the ability to meet the requirements of high-quality welding and perfect repeatability on the desired path. However, control system design for robotic manipulators is a challenging mission for researchers because of natural high nonlinearities, strong couplings, and time-varying parameters in robot dynamic equations [1]. To obtain acceptable control performance, researchers have developed robust advanced control approaches such as conventional computed torque control [2], sliding mode control [3, 4] and adaptive control [5]. Nonetheless, the above-mentioned control techniques require the exact dynamic models of the robot systems which are not always achievable, therefore, such that implementation of these control schemes for practical applications is not easy. To deal with this issue, fuzzy control and neural network may be the methods to consider uncertain and nonlinear robot dynamics; however, they introduce many design parameters and complicated rules that limit their feasibility for implementation in the real world [6,7,8].

In this paper, a straightforward approach for certainly regenerating robot motion is applied on a five degree-of-freedom robot system. Firstly, the dynamic motion of each joint actuator is modeled as a free-inertial system with a constant inertia moment. Secondly, robust controllers are designed based on sliding mode control and feedback linearization control to cope with the parametric uncertainties and nonlinearities for good control performance. Finally, the practical feasibility and effectiveness of the presented design approach are verified through experiments on the 5 DOF robot manipulator, and the results are compared to those of the conventional tuned PID controller.

The rest of the paper is organized as follows: The studied system is described and its mathematical models are obtained individually in Sect. 2. Control design is explored in Sect. 3. Section 4 shows experimental results. The conclusion and future work are summarized in Sect. 5.

2 System Modeling

2.1 Problem Statement

Designing the control system for a specified system must base on the mathematical model which represents the dynamic characteristics of the system. In general, in the field of robotics, most researchers usually apply the Iterative Newton – Euler dynamic formulation, the Lagrangian dynamic formulation of motion or model-based identification method to obtain the entire mathematical model of the robot manipulator.

Consider the standard form of the dynamic equation of an n-DOF robot manipulator:

$$ {\mathbf{M}}({\mathbf{q}}){\mathbf{\ddot{q}}} + {\mathbf{C}}({\mathbf{q,\dot{q}}}) + {\mathbf{G}}({\mathbf{q}}) + {\mathbf{F}}({\mathbf{q,\dot{q}}}) + {\varvec{\uptau}}_{{\mathbf{d}}} = {\varvec{\uptau}} $$
(1)

where \( {\mathbf{q,}} \, {\mathbf{\dot{q},}} \, {\mathbf{\ddot{q}}} \in {\mathbf{R}}^{n} \) denote the joint position, velocity, and acceleration, respectively; \( {\mathbf{M}}({\mathbf{q}}) \in {\mathbf{R}}^{nxn} \) is the inertia matrix; \( {\mathbf{C}}({\mathbf{q,\dot{q}}}) \in {\mathbf{R}}^{nx1} \) stands for the Coriolis (centripetal) vector; \( {\mathbf{G}}({\mathbf{q}}) \in {\mathbf{R}}^{n} \) the gravitational vector; \( {\mathbf{F}}({\mathbf{q,\dot{q}}}) \in {\mathbf{R}}^{n} \) denotes the friction forces; \( {\varvec{\uptau}}_{{\mathbf{d}}} \in {\mathbf{R}}^{n} \) is the disturbance torques; and \( {\varvec{\uptau}} \in {\mathbf{R}}^{n} \) is the joint torque. Generally, this equation is a set of strong coupling and high nonlinearity differential equations [9]. As an illustrated example, an n-link manipulator with all rotational joints, the required computations for dynamic formulation using Lagrangian method are \( 32n^{2} + 86n^{3} + 171n^{2} + 53n - 128 \) multiplications and \( 25n^{4} + 66n^{3} + 129n^{2} + 42n - 96 \) additions [10]. It is clear that the implementation based on this approach is extremely complicated and, hence, not realistic.

In this study, we present a reachable method to obtain the models of joints on a robot system. Our studied system is a 5 DOF robot system (RRRRR) in which each joint is driven by a permanent magnet DC motor with a reduction gear, and an incremental encoder to sense angular displacement is attached to each joint. The structure of a 1-DOF robot arm in the following section will precisely describe the method.

2.2 Method Demonstration

The structure of a 1-DOF robot arm driven by a DC motor through a gear transmission is described in Fig. 1. Where \( v_{a} (t) \) applied voltage (V), \( i_{a} \) armature current (A), \( R_{a} \) armature resistance (\( \varOmega \)), \( L_{a} \) armature induction (H), \( K_{i} \) torque constant (N·m/A), \( K_{e} \) back-emf constant (V·s/rad), \( J_{m} \) rotor inertia (kg·m2), \( B_{m} \) viscous friction coefficient (N·m/(rad/s)), \( K_{g} = {{G_{L} } \mathord{\left/ {\vphantom {{G_{L} } {G_{m} }}} \right. \kern-0pt} {G_{m} }} \) gear ratio, \( \theta_{m} \) rotor position (rad).

Fig. 1.
figure 1

Structure of 1 DOF robot arm

As well known, under the assumption that the load torque \( \tau_{L} = 0 \), the transfer function between rotor position and the applied voltage is the third-order as follows [11]:

$$ \frac{{\theta_{m} (s)}}{{V_{a} (s)}} = \frac{{K_{i} }}{{L_{a} J_{m} s^{3} + (R_{a} J_{m} + B_{m} L_{a} )s^{2} + (K_{b} K_{i} + R_{a} B_{m} )s}} $$
(2)

However, many DC motors present in use, armature induction \( L_{a} \) is negligible; therefore,

$$ \frac{{\theta_{m} (s)}}{{V_{a} (s)}} = \frac{{K_{i} }}{{s[R_{a} (J_{m} s + B_{m} ) + K_{b} K_{i} ]}} = \frac{K}{s(Ts + 1)} $$
(3)

It is extremely important to know that most present-day robot manipulators employ DC motors with high gear ratios whose typical values range from 20 to 250. Hence, nonlinearity and coupling terms of the other links effecting on the driving joint are significantly reduced. This point allows designers to design controllers for joints individually based on Eq. (2) or (3) with external interactions considered as a disturbance.

2.3 Mathematical Model

The studied system is demonstrated schematically in Fig. 2(a). Specifications of apparatus for obtaining the mathematical models are shown in Table 1.

Fig. 2.
figure 2

System description: (a) schematic diagram, (b) real system for experiment

Table 1. Specifications of the main components of the system

The procedure in order to attain the model of each joint is described as follows: Firstly, the authors fix all joints of the robot system to make a whole rigid body. Secondly, the corresponding joint in which we want to take the model will let be free, and then apply the suitable type of input voltage to output response. Finally, from the applied voltage and the experimental response, by using Identification Toolbox supported by Matlab, the model for each joint can be obtained.

Figure 3 exhibits an experiment example for the first joint. Table 2 summarizes the fitness rates calculated automatically.

Fig. 3.
figure 3

Experiment example for the first joint: (a) square signal response, (b) comparison between real response and simulated response

Table 2. Fitness rate of different models for actual actuator

From the results shown in Table 2, the model with the best fitness rate is selected. After that, the model is simulated in Matlab/Simulink, after some trial and tuning times to fit the simulated response to the experimental response, the joint actuator model is obtained.

The process is performed in the same manner for the other joints to achieve the models. Finally, the model for each joint is obtained and expressed in the time domain as follows:

$$ \dddot \theta_{1} + 5.443\ddot{\theta }_{1} + 138\dot{\theta }_{1} + 0.5787\theta_{1} = 4004u_{1} $$
(4)
$$ \dddot \theta_{2} + 3.8\ddot{\theta }_{2} + 293\dot{\theta }_{2} + 0.01\theta_{2} = 9050u_{2} $$
(5)
$$ \ddot{\theta }_{3} + 140\dot{\theta }_{3} + 0.0001\theta_{3} = 2362u_{3} $$
(6)
$$ \ddot{\theta }_{4} + 82\dot{\theta }_{4} + 0.002\theta_{4} = 6480u_{4} $$
(7)
$$ \ddot{\theta }_{5} + 31\dot{\theta }_{5} + 0.2\theta_{5} = 1730u_{5} $$
(8)

where \( u_{i} (i = 1, \ldots ,5) \) indicates applied voltage to the \( i^{th} \) joint actuator, \( \theta_{i} (i = 1, \ldots ,5) \) indicates the \( i^{th} \) joint shaft angle.

3 Control Design

The control goal for the angle position \( \theta \) is to follow the desired position \( \theta_{d} \).

3.1 Control Design for the First Joint and the Second Joint

It should be noted that the first and second joint are subject to large backlash gap whose values are 4.2° and 6.2°, respectively. As a result, the system order is the third-order as can be seen in Fig. 3 and Eqs. (4) and (5). Among many control techniques have been employed, the authors found out that Higher-Order Sliding Mode Controller is appropriate to control these two joint actuators.

In this section, the second order sliding mode control using Super Twisting Algorithm (STA) is exploited [12, 13]. Sliding mode control is a robust control technique that is insensitive to external disturbances and parameter uncertainties. The steps to design the controllers for the first and second joint are the same.

The dynamic model of the first joint is represented by the following differential equation:

$$ \dddot \theta + 5.443\ddot{\theta } + 138\dot{\theta } + 0.5787\theta = 4004u $$
(9)

where \( u \) stands for control input, \( \theta \) stands for output position.

Let \( \theta_{d} \) denote the desired position, and \( e = \theta - \theta_{d} \) is the tracking error.

Sliding variable is defined as

$$ s = \ddot{e} + c_{0} \dot{e} + c_{1} e $$
(10)

Hence, the sliding variable dynamics can be written as

$$ \dot{s} = \phi (x,t) + \gamma (x,t)u $$
(11)

with the bounding conditions

$$ \left| {\phi (x,t)} \right| \le\Phi , \, 0 <\Gamma _{m} \le \gamma (x,t) \le\Gamma _{M} , \, \left| s \right| \le s_{0} $$
(12)

where \( \Gamma _{m} , \,\Gamma _{M} , \, s_{0} \) and \( \Phi \) are some positive constants.

The general control law:

$$ u = u_{1} + u_{2} $$
(13)

where

$$ u_{1} = \left\{ {\begin{array}{*{20}c} { - \lambda \left| {s_{0} } \right|^{\rho } sign(s),\left| s \right| > s_{0} } \\ { - \lambda \left| s \right|^{\rho } sign(s),\left| s \right| \le s_{0} } \\ \end{array} } \right., \, \dot{u}_{2} = \left\{ {\begin{array}{*{20}c} { - u,\left| u \right| > 1} \\ { - Wsign(s),\left| u \right| \le 1} \\ \end{array} } \right. $$
(14)

and the corresponding sufficient conditions for finite time convergence are:

$$ W > \frac{\Phi }{{\Gamma _{m} }} > 0, \, \lambda^{2} \ge \frac{{4{\Phi \Gamma }_{M} (W +\Phi )}}{{\Gamma _{m}^{3} (W -\Phi )}}, \, 0 < \rho \le 0.5 $$
(15)

For the system which is linearly dependent on the control, \( u \), the simplified controller is given as follows:

$$ u = - \lambda \left| s \right|^{\rho } sign(s) + u_{2} , \, \dot{u}_{2} = - Wsign(s) $$
(16)

Let \( \rho \) be 0.5, the two controller gains \( \lambda \) and \( W \) are chosen through trial and tuning. Parameters of controllers for the first and second joint are shown in Table 3.

Table 3. Parameters of the designed controllers

3.2 Control Design for the Other Joints

In this section, the feedback linearization (FL) control method is employed. The shortcoming of this method is canceling the nonlinearities and introducing the desired linear dynamics. The control design procedure for the fourth and fifth joint is carried out the same as that of the third joint.

  • The dynamic equation of the third joint is described as

$$ \ddot{\theta } + 140\dot{\theta } + 0.0001\theta = 2362u $$
(17)

where \( u \) is the control input, \( \theta \) is the angle position. This lead to,

$$ \ddot{\theta } = - 140\dot{\theta } - 0.0001\theta + 2362u $$
(18)

Let \( \theta_{d} \) denote the reference position, and \( e = \theta - \theta_{d} \) is the tracking error.

Feedback linearization control law:

$$ u = \frac{1}{2362}(140\dot{\theta } + 0.0001\theta + v) $$
(19)

where \( v \) is the control law designed as the following

From Eqs. (18) and (19), we have

$$ \ddot{\theta } = v $$
(20)

Choosing \( v \) as

$$ v = \ddot{\theta }_{d} - k_{1} \dot{e} - k_{2} e $$
(21)

where \( k_{1} \) and \( k_{2} \) are positive constants.

From Eqs. (20) and (21), we can obtain

$$ \ddot{e} + k_{1} \dot{e} + k_{2} e = 0 $$
(22)

As a result, \( e \to 0 \) as \( t \to \infty \).

Therefore, the control law:

$$ u = \frac{1}{2362}(140\dot{\theta } + 0.0001\theta + \ddot{\theta }_{d} - k_{1} \dot{e} - k_{2} e) $$
(23)
  • As mentioned earlier, the control laws for the fourth and fifth joint are calculated in the same fashion as that of the third joint. As a result, the control laws are

$$ u_{4} = \frac{1}{6480}(82\dot{\theta }_{4} + 0.002\theta_{4} + \ddot{\theta }_{d4} - k_{14} \dot{e} - k_{24} e){\text{ (for the fouth joint)}} $$
(24)
$$ u_{5} = \frac{1}{1730}(31\dot{\theta }_{5} + 0.02\theta_{5} + \ddot{\theta }_{d5} - k_{15} \dot{e} - k_{25} e){\text{ (for the fifth joint)}} $$
(25)

4 Experiment

4.1 Experimental Setup

To verify the efficiency of the presented control scheme, experiments were implemented on the 5 DOF robot manipulator as shown in Fig. 2(b). Specifications of experimental components are summarized in Table 1. The resolution at joints 1, 2, 3, 4, and 5 are \( 3 \times 10^{ - 2} \), \( 3 \times 10^{ - 2} \), \( 5 \times 10^{ - 2} \), \( 3.39 \times 10^{ - 2} \), and \( 2 \times 10^{ - 2} \) deg (quadrature encoder), respectively. An embedded controller named NI PXIe-8115 equipped the acquisition card PXI-e 6363 and PXI 6221 was used. The controllers are written in LabVIEW language 2009 with the sampling time 0.01 s.

To create the desired trajectory, the robot arm should be moved to the desired positions, and then store the corresponding positions in the memory, these data will be used later for playback.

4.2 Experimental Results

Two control strategies (PID and nonlinear control) have been carried out to validate the presented control scheme and its efficiency. The tuned PID controllers have the general form as shown in Eq. (26). Parameters of the designed controllers are summarized in Table 3.

$$ G_{PID} (s) = P + I\frac{1}{s} + D\frac{N}{{1 + N\frac{1}{s}}} $$
(26)

The experimental results are shown in Fig. 4 and Table 4. It is noticeable that two control methods can follow the target trajectory, then we can find out the efficiency of the presented identification and control design method. However, by introducing the second order sliding mode controller for joints 1 and 2, the control performance is improved noticeably as shown in Figs. 4(a), (c); (b), (d).

Fig. 4.
figure 4figure 4

Experimental results of the presented method and PID scheme. (a), (b), (g), (h), and (m) are plots of desired path and positions of joints 1, 2, 3, 4, and 5, respectively. (c), (d), (i), (j), and (o) are plots of tracking errors of joints 1, 2, 3, 4, and 5, respectively. (e), (f), (k), (l), and (n) are plots of control inputs for joints 1, 2, 3, 4, and 5, respectively. The presented approach shows the extreme smaller errors than those of PID scheme.

Table 4. Comparison of RMS errors [deg]

But the most interesting thing here is the tracking performance with respect to the desired positions of joints 3, 4 and 5 as shown in Figs. 4(g), (i); (h), (j), and (m), (o), where they can follow the desired trajectory very well with remarkable small errors. For more details, root-mean-squared errors (RMSE) is listed in Table 4. It is clear that high precision control can be achieved through the presented method.

5 Conclusion and Future Work

This paper presented a straightforward process to design and control a 5-DOF robot manipulator subject to gravity force and etc. The control design based on nonlinear control approach is introduced to ensure the robustness of the system under the interaction effects among joints of the system. Experimental results show that the presented control system is practical, simple in form, and highly precise. These indicate that the proposed procedure is straightforward and simple to implement for practical applications.

For future work, to solve backlash issue and enhance the control performance for position control, control methods such as adaptive control as well as backlash inverse should be deployed.