1 Introduction

Robotic manipulators were developed around seven decades to replace human beings from hazardous areas in industries. These are mechanically coupled nonlinear uncertain plants, which normally consist of arms and segment joints, which grasp and move the material on a fixed path [6]. These are generally used at inaccessible places where repetitive tasks have to be performed in a given time. Picking material and placing it is one of the major applications of industrial robotic manipulators. Other applications of industrial manipulators are like welding, assembling, manufacturing, painting, etc., in the field of automobile industries, robotically assisted surgery, handling of radioactive and bio-hazardous materials, etc. As robotic manipulators are mechanically coupled multi-input multi-output (MIMO) nonlinear complex systems, controlling these systems is always a challenging task for researchers [15, 40]. However, conventional proportional integral and derivative (PID) controllers are widely used and have been applied in about 90% for process control industries, but for complex nonlinear coupled systems like robotic manipulators, PID controllers fail to give effective control action [3]. A review article on the history of classical PID and their enhancement to fuzzy PID (FPID) was presented by Kumar et al. [17] in which it has been shown that the classical PID controllers are most effective for linear systems but not suitable for nonlinear and complex systems.

Several nonlinear control techniques, like sliding mode control (SMC) [40], model reference adaptive control (MRAC), self-tuning regulator, gain scheduling etc., are proposed in the literature for controlling nonlinear complex systems [3]. But exact plant mathematical model is required to design the control techniques, like SMC, MRAC and self-tuning regulator. Further, gain scheduling design becomes tedious if the operating points of nonlinear complex plants are large. Therefore, these techniques are not able to give perfect control mechanism for servo and regulatory mode operation for nonlinear complex systems like robotic manipulators. Thus, researchers always tried to find out the solution for efficient control design of nonlinear systems. After the development of fuzzy logic by Zadeh [46], it was extensively used to design intelligent controllers. It was based on the concept of linguistic variables which have given a powerful tool to design intelligent controller which can take actions on the basis of logics investigated by expert knowledge. The first successful application of fuzzy logic controller (FLC) of a laboratory scale process was reported by Mamdani et al. [28]. They suggested advances in linguistic synthesis of fuzzy controller. To design the FLC, it does not require exact mathematical model of the system which is the main reason of success of FLC in technical community. In the next section, a literature survey of FLC and its variants to control a nonlinear and complex system is presented.

2 Literature survey and contribution

A perfect control strategy considerably affects the output of feedback controlled complex nonlinear systems. Researchers and scientists always try to find out the perfect intelligent adaptive control solution for servo and regulatory mode operations of complex systems like robotic manipulators. Following are the some of the recent research works in this area.

Fuzzy logic scheme was added by researchers to enhance the robustness of controller due to its ability to convert the expert’s control action into rule base. A linear FPID controller and its stability analysis was described by Mishir et al. [32] which was applied to control a two-link flexible joint robot arm. A realistic sufficient condition for stability by graphical approach was designed to give the safe region for feedback system on which it gives the guaranteed stability. Design of a FPID controller for a nonlinear hydraulic turbine governing system is done by Li et al. [22]. Gains of the controller were tuned by a novel gravitational search algorithm based on Cauchy mutation and mass weighting. Further, a SMC whose gains are tuned in runtime by a fuzzy logic system was proposed by Abdelhameed [1]. This adaptive SMC was applied to control a two degree of freedom (DOF) polar manipulator for trajectory tracking task. The simulation results revealed that the proposed controller achieved better performance with minimum rise time and lesser chattering effect. A fuzzy PD (FPD) controller in which its gains and rule base are optimized by genetic algorithm (GA) was proposed by Alam and Tokhi [2] to reduce the end-point vibration of a single-link flexible manipulator without sacrificing the speed of response. Simulation results demonstrated the reduction in vibration at the end point with satisfactory level of overshoot, rise time, settling time and steady-state error. A stable hybrid fuzzy adaptive robust controller was developed by Ho et al. [11] to control a two-link robotic manipulator with parameter uncertainties and external disturbances. A fuzzy adaptive algorithm was used for parameter identification of robotic system, and then an integral SMC was added to remove the effect of external disturbances and uncertainties.

FPID controller offers the flexibility to the researchers to control a nonlinear plant to some extent, but if gains of controller are varied at run time, then the controller will become highly robust and adaptive in nature. To design such type of control technique, an attempt was made by Mudi and Paul [33,34,35] and designed a robust self-tuning FPD (STFPD) and FPI (STFPI) controllers. In these works, the output gains of controller were adjusted at runtime by another fuzzy logic scheme according to the current value of error and rate of change of error. This controller was applied on different linear and nonlinear second-order processes. Comparative performance with conventional FLC was performed, and it was reported that self-tuning fuzzy logic controller remarkably improved the results. Further, a self-tuning robust fuzzy PD + I controller configuration was proposed by Malki et al. [27] to control a flexible joint robot arm with uncertainties from time-varying loads. In this case, gains of controller varied in runtime which is the nonlinear function of their input signals. It was reported that due to these variable gains, robustness of fuzzy PD + I controller increased with faster response time and less overshoot than its conventional counterpart.

A comparative study of self-organizing fuzzy PID (SOF-PID) controller, which is applied on a two-link nonlinear revolute joint robot arm for path tracking task, with conventional PID controller has been presented [13]. In this work, it has been shown that the SOF-PID controller followed the specified path closely and smoothly than the conventional PID controller. A self-tuning scheme in which gains are tuned by fuzzy logic has been proposed by Llama et al. [25, 26] to control a two-link planar robot. In this work, computed torque method is used which ensures the global stability for a fixed symmetric positive definite proportional and derivative gain matrix. Experimental results demonstrated the usefulness of the proposed approach. The application of self-organizing FPID controller to a MIMO nonlinear revolute joint robot arm was studied by Kazemian [14]. Gains of PID controller were tuned by classical method, and then SOF scheme was employed to change the gains in runtime. Due to this enhancement, the output trajectories of SOF-PID controller followed the required path precisely than the self-organizing fuzzy controller (SOFC) and PID controller for trajectory tracking task. Meza et al. [29, 30] proposed a semi-global asymptotic stability analysis via Lyapunov theory for PID controller to control a two-DOF robot arm. In this work, the gains of PID were tuned on-line and real-time experimental results were presented to show the usefulness of proposed approach. A fuzzy self-tuning scheme has been applied successfully to control different processes like a doubly salient permanent magnet motors drive by Cheng et al. [5], switched reluctance motor drive system by Wang and Liu [41], peak dc-link voltage across the inverter bridge in z-source inverters by Shen et al. [39], etc.

To improve the positional accuracy, usefulness and reachability, three-link robotic manipulators show better performance in contrast to two-link manipulators. In this context, a new output feedback tracking control approach is developed by Kim [16] using adaptive fuzzy logic technique for three-link robotic manipulator system with model uncertainty. The adaptive fuzzy logic allowed approximating the three-link robot model, while another fuzzy system is used to implement the observer-controller structure of the output feedback robot system. Simulation results revealed the usefulness in case of trajectory tracking, disturbance rejection and payload uncertainty. Xiong et al. [42] presented a position control strategy based on energy attenuation for a planar three-link active–passive–active manipulator in horizontal plane. Further, Hoffmann et al. proposed a nonlinear control of an industrial three-DOF robotic manipulator as a benchmark problem for controller synthesis method where guaranteed stability and performances are shown [12]. A three-DOF parallel Maryland manipulator is controlled by fractional-order PID (FOPID) controller, and obtained performances were compared with classical PID controller. Simulated results showed that FOPID controller outperforms classical PID controller. An under-actuated spring-coupled three-link horizontal manipulator was controlled by Zhang et al. where a new control method was proposed that asymptotically stabilizes the system at origin. In this research work, it was claimed that this control method reduces the cost of overall control system as well as it avoids the influence of velocity noise [47].

History of the fractional calculus is as old as ordinary differential calculus, invented by Leibniz and Newton. During last three centuries, it was a topic of mathematicians, but since last few years, this has been extensively used in the applied fields of science, engineering and economics. The concept of FOPID controller was proposed by Podlubny [37] to control a dynamic system with fractional order. Also, to find explicit analytical expression, Mittag–Leffler-type function was used. The advantages of fractional-order controller were investigated and shown by open-loop and closed-loop unit step and unit impulse responses. A fuzzy sliding mode controller (FSMC) with fractional-order PD surface was proposed by Delavari et al. [9]. The controller was successfully applied to control a two-DOF robot manipulators and coupled tanks. Gains of controller were tuned by GA. The effectiveness of fractional-order FSMC was shown in this work. Further, performances of three types of control schemes, PID, FPID and FOPID controllers, all tuned by particle swarm optimization (PSO) algorithm, were compared by Bingul and Karahan [4] for a two-link planar robotic manipulator for trajectory tracking and FOPID controller was reported to be offering superior robustness.

Further, design of a FPID controller for a pumped storage unit is also proposed by Li et al., where gravitational search algorithm based on the Cauchy and Gaussian mutation was used to tune the gains of the controller. It was concluded that FOPID controller performs better than PID controller [23]. A novel fractional-order FPID (FOFPID) controller and their hybrid combinations, tuned by GA, have been proposed by Das et al. [7, 8]. The proposed control schemes have been tested on nonlinear time-delayed process, fractional-order processes and fractional-order time-delayed processes. Simulation results have shown the usefulness and effectiveness of FOFPID controller. An adaptively fast fuzzy FOPID control for pumped storage hydro unit was proposed by Xu et al. which uses improved gravitational search algorithm for parameter tuning of the controller. Simulation results show the superiority of proposed controller [43]. A fractional-order SMC was proposed by Efe [10] in which the parameters of controller were adjusted by adaptive neuro-fuzzy inference system in run time to control a two-DOF direct drive robot arm. The main contribution of this work has been to showcase the application of fractional-order operator to enhance the robustness of SMC controller. A FOFPID controller for a two-link planar rigid robotic manipulator for trajectory tracking problem was investigated by Sharma et al. [38]. Robustness testing was performed for model uncertainties, disturbance rejection and noise suppression. The performance of FOFPID controller was compared with PID, FPID and FOPID controllers. Tuning of controller gains was performed by cuckoo search algorithm (CSA). On the basis of numerical simulation results, it was clearly indicated the superiority of FOFPID controllers among PID, FPID and FOPID controllers. Recently, many other applications of fractional-order control system, such as nonlinear active suspension system [20], hybrid electric vehicle [21], integrated power system [36], have also been reported in the literature.

Literature survey presented above signifies that fractional-order increases the robustness of a controller like FLC. Furthermore, the strength of a fractional-order FLC can be increased by incorporating the self-tuning or adaptive technique. Motivated from the above presented research work, a variable gains fractional-order self-tuning fuzzy proportional integral and derivative (FOSTFPID) controller is developed in the present work to efficiently control a three-link planar rigid robotic manipulator system. The considered plant is a nonlinear, uncertain, MIMO-coupled complex system where controlling is a tedious task. Along with the tracking of desired trajectory, another task for the controller is to reject the effects of external disturbances and sensor noise and also reduce the influence of model uncertainty. To achieve these requirements all together, variable gains in the proposed controller are considered so that after changing the plant behaviour, controller can generate an effective output by varying output gains to minimize error between reference trajectory and plant output. The output gains of the controller are multiplied by a scaling factor (SF), and this SF is varying in runtime by self-tuning controller block. To assess the performance of FOSTFPID controller, a comparative study is performed with its integer-order counterpart, i.e. integer-order self-tuning fuzzy proportional integral and derivative (IOSTFPID) controller and FOFPID controller. Initially, the gains of the FLCs are tuned by CSA proposed by Yang and Deb [44, 45]. The main contributions of the present work are many and can be summarized as follows:

  • An intelligent fractional-order fuzzy controller, named as FOSTFPID, is proposed to control a three-link manipulator system.

  • FOSTFPID is a self-tuned, adaptive and robust controller, and it can be applied to a poorly known system.

  • A performance comparison of FOSTFPID controller with FOFPID and IOSTFPID controllers for trajectory tracking, disturbance rejection, noise suppression and uncertainty analysis revealed the superiority of FOSTFPID controller.

The overall research paper is organized as follows: After an introduction in Sect. 1, a brief literature survey is presented in Sect. 2. System description and mathematical model are elaborated in Sect. 3 where complexity of the plant is described and its parameters are given. Fractional-order implementation is presented in Sect. 4, while detailed description of controllers is discussed in Sect. 5. Tuning of gains by CSA and trajectory tracking performance are presented in Sect. 6. For detailed performance evaluation where disturbance rejection, noise suppression and model uncertainty studies are carried is presented in Sect. 7. Finally, conclusions of the proposed work are drawn in Sect. 8.

3 Dynamic model of system

A three-link planar rigid robotic manipulator system with three DOF is described in this section and shown in Fig. 1. The first link of system is mounted on a rigid bottom with frictionless pivot, and second link is mounted at the end of first link with a frictionless ball bearing; also the third link is attached to the second link with frictionless ball bearings. The dynamic model of three-link planar rigid robotic manipulator is defined as follows [6].

Fig. 1
figure 1

Three-link robotic manipulator system

$$\left[ {\begin{array}{*{20}c} {D_{11} } & {D_{12} } & {D_{13} } \\ {D_{21} } & {D_{22} } & {D_{23} } \\ {D_{31} } & {D_{32} } & {D_{33} } \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} {\ddot{\theta }_{1} } \\ {\ddot{\theta }_{2} } \\ {\ddot{\theta }_{3} } \\ \end{array} } \right] + \left[ {\begin{array}{*{20}c} {P_{1} } \\ {P_{2} } \\ {P_{3} } \\ \end{array} } \right] + \left[ {\begin{array}{*{20}c} {R_{1} } \\ {R_{2} } \\ {R_{3} } \\ \end{array} } \right] + \left[ {\begin{array}{*{20}c} {g_{1} } \\ {g_{2} } \\ {g_{3} } \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} {\tau_{1} } \\ {\tau_{2} } \\ {\tau_{3} } \\ \end{array} } \right]$$
(1)

Equation (1) contains four terms. The first term comprises the second-order derivative of generalized coordinates, i.e. angular position of three links \(\ddot{\theta }_{i} \quad \left( {i = 1,\,2,\,3} \right)\). The second term known as Centrifugal consists of a product of \(\dot{\theta }_{i}^{2} \quad \left( {i = 1,2,3} \right)\). The third type of terms involving a product of \(\dot{\theta }_{i} \dot{\theta }_{j} \quad \left( {{\text{where}}\; i \ne j } \right)\) is called Coriolis terms. The last term contains only \(\theta_{i}\) but not its derivatives. It is derived by differentiating the potential energy stored in links of manipulator. The terms used in (1) are defined as:

$$D_{11} = (m_{1} + m_{2} + m_{3} )l_{1}^{2} + \left( {m_{2} + m_{3} } \right)l_{2}^{2} + m_{3} l_{3}^{2} + 2m_{3} l_{1} l_{3} \cos \left( {\theta_{2} + \theta_{3} } \right) + 2\left( {m_{2} + m_{3} } \right)l_{1} l_{2} \cos \left( {\theta_{2} } \right) + 2m_{3} l_{2} l_{3} \cos \left( {\theta_{3} } \right)$$
(2)
$$D_{12} = \left( {m_{2} + m_{3} } \right)l_{2}^{2} + m_{3} l_{3}^{2} + m_{3} l_{1} l_{3} \cos \left( {\theta_{2} + \theta_{3} } \right) + \left( {m_{2} + m_{3} } \right)l_{1} l_{2} \cos \left( {\theta_{2} } \right) + 2m_{3} l_{2} l_{3} \cos \left( {\theta_{3} } \right)$$
(3)
$$D_{13} = m_{3} l_{3}^{2} + m_{3} l_{1} l_{3} \cos \left( {\theta_{2} + \theta_{3} } \right) + m_{3} l_{2} l_{3} \cos \left( {\theta_{3} } \right)$$
(4)
$$D_{21} = \left( {m_{2} l_{2}^{2} + m_{3} l_{2}^{2} + m_{3} l_{3}^{2} + m_{3} l_{1} l_{3} \cos \left( {\theta_{2} + \theta_{3} } \right) + m_{2} l_{1} l_{2} \cos \left( {\theta_{2} } \right) + m_{3} l_{1} l_{2} \cos \left( {\theta_{2} } \right) + 2m_{3} l_{2} l_{3} { \cos }\left( {\theta_{3} } \right)} \right)$$
(5)
$$D_{22} = \left( {m_{2} l_{2}^{2} + m_{3} l_{2}^{2} + m_{3} l_{3}^{2} + 2m_{3} l_{2} l_{3} { \cos }\left( {\theta_{3} } \right)} \right)$$
(6)
$$D_{23} = \left( {m_{3} l_{3}^{2} + m_{3} l_{2} l_{3} \cos \left( {\theta_{3} } \right)} \right)$$
(7)
$$D_{31} = \left( {m_{3} l_{3}^{2} + m_{3} l_{1} l_{3} \cos \left( {\theta_{2} + \theta_{3} } \right) + m_{3} l_{2} l_{3} { \cos }\left( {\theta_{3} } \right)} \right)$$
(8)
$$D_{32} = \left( {m_{3} l_{3}^{2} + m_{3} l_{2} l_{3} { \cos }\left( {\theta_{3} } \right)} \right)$$
(9)
$$D_{33} = \left( {m_{3} l_{3}^{2} } \right)$$
(10)

Centrifugal terms are defined as

$$P_{1} = - l_{1} \left( {m_{3} l_{3} \sin \left( {\theta_{2} + \theta_{3} } \right) + m_{2} l_{2} \sin \left( {\theta_{2} } \right) + m_{3} l_{2} \sin \left( {\theta_{2} } \right)} \right)\dot{\theta }_{2}^{2} - m_{3} l_{3} \left( {l_{1} \sin \left( {\theta_{2} + \theta_{3} } \right) + l_{2} \sin \left( {\theta_{3} } \right)} \right)\dot{\theta }_{3}^{2}$$
(11)
$$P_{2} = l_{1} \left( {m_{3} l_{3} \sin \left( {\theta_{2} + \theta_{3} } \right) + m_{2} l_{2} \sin \left( {\theta_{2} } \right) + m_{3} l_{2} \sin \left( {\theta_{2} } \right)} \right)\dot{\theta }_{1}^{2} - m_{3} l_{2} l_{3} { \sin }\left( {\theta_{3} } \right)\dot{\theta }_{3}^{2}$$
(12)
$$P_{3} = m_{3} l_{3} \left( {l_{1} \sin \left( {\theta_{2} + \theta_{3} } \right) + l_{2} \sin \left( {\theta_{3} } \right)} \right)\dot{\theta }_{1}^{2} + m_{3} l_{2} l_{3} { \sin }\left( {\theta_{3} } \right)\dot{\theta }_{2}^{2}$$
(13)

Coriolis terms are defined as:

$$R_{1} = - 2l_{1} \left( {m_{3} l_{3} \sin \left( {\theta_{2} + \theta_{3} } \right) + \left( {m_{2} + m_{3} } \right)l_{2} \sin \left( {\theta_{2} } \right)} \right)\dot{\theta }_{1} \dot{\theta }_{2} - 2m_{3} l_{3} \left( {l_{1} \sin \left( {\theta_{2} + \theta_{3} } \right) + l_{2} \sin \left( {\theta_{3} } \right)} \right)\dot{\theta }_{2} \dot{\theta }_{3} - 2m_{3} l_{3} \left( {l_{1} \sin \left( {\theta_{2} + \theta_{3} } \right) + l_{2} \sin \left( {\theta_{3} } \right)} \right)\dot{\theta }_{1} \dot{\theta }_{3}$$
(14)
$$R_{2} = - 2m_{3} l_{2} l_{3} \sin \left( {\theta_{3} } \right)\dot{\theta }_{1} \dot{\theta }_{3} - 2m_{3} l_{2} l_{3} \sin \left( {\theta_{3} } \right)\dot{\theta }_{3} \dot{\theta }_{2}$$
(15)
$$R_{3} = 2m_{3} l_{2} l_{3} { \sin }\left( {\theta_{3} } \right)\dot{\theta }_{1} \dot{\theta }_{2}$$
(16)

Potential energy terms are defined as:

$$g_{1} = \left( {m_{1} + m_{2} + m_{3} } \right)gl_{1} \cos \left( {\theta_{1} } \right) + \left( {m_{2} + m_{3} } \right)gl_{2} \cos \left( {\theta_{1} + \theta_{2} } \right) + m_{3} gl_{3} { \cos }\left( {\theta_{1} + \theta_{2} + \theta_{3} } \right)$$
(17)
$$g_{2} = \left( {m_{3} + m_{2} } \right)gl_{2} \cos \left( {\theta_{1} + \theta_{2} } \right) + m_{3} gl_{3} \cos \left( {\theta_{1} + \theta_{2} + \theta_{3} } \right)$$
(18)
$$g_{3} = m_{3} gl_{3} { \cos }\left( {\theta_{1} + \theta_{2} + \theta_{3} } \right)$$
(19)

In this simulation work, the following system parameters have been taken: m1 = 0.1 kg, mass of link-1; m2 = 0.1 kg, mass of link-2; m3 = 0.1 kg, mass of link-3; l1 = 0.8 m, length of link-1; l2 = 0.4 m, length of link-2; l3 = 0.2 m, length of link-3; g = 9.8 m/s2.

4 Fractional-order implementation

Incorporation of a fractional-order mathematical operators increases the DOF, and due to that precise solutions are obtained which have been used in the field of control in several applications which have been explained in [18, 19, 31]. A fractional-order differentiator and integrator of a function \(g\left( t \right)\) is represented as \(D^{\alpha } g\left( t \right)\) and \(D^{ - \beta } g\left( t \right)\), respectively, where limits on \(\alpha\) and \(\beta\) would be \(0 < \alpha < 1\) and \(0 < \beta < 1\). The mathematical definition of fractional-order differentiator and integrator has been approximated by several approaches, given by different mathematicians. In the present work, Grünwald–Letnikov (GL) method Eq. (20) has been used to implement the fractional-order operators with a memory size of 100. It may be noted that GL definition is readily implementable on a micro-computing platform as it can be reduced to a difference equation.

$${}_{a}^{ } D_{t}^{\gamma } g\left( t \right) = \mathop {\lim }\limits_{h \to 0} \frac{1}{{h^{\gamma } }}\mathop \sum \limits_{i = 0}^{{\left[ {\left( {t - a} \right)/h} \right]}} \left( { - 1} \right)^{i} \left( {\begin{array}{*{20}c} \gamma \\ i \\ \end{array} } \right)g\left( {t - ih} \right)$$
(20)

where D represents the derivative/integrator operator and \(\gamma\) (\(\alpha\), \(\beta\)) is the order of fractional operator. In the present work, \(\alpha\) and \(\beta\) have been chosen as the order of differentiator and integrator, respectively, whose values are found by CSA.

5 Design of fuzzy controllers

A basic structure of three-input three-output rigid robotic manipulator system is shown in Fig. 2 where a feedback loop is depicted in link-1. An FOSTFPID controller and a saturator with limit − 200 to 200 are incorporated before system input inside the control loop. Saturator gives a practical appearance of final control element after the controller output. Two disturbances are considered inside a feedback loop to test the robust behaviour of the controller. First disturbance is added to the controller output, whereas second disturbance is added at the output of the manipulator system. Random noise analysis, generated inside the sensor, is also performed to test the robustness of the controller.

Fig. 2
figure 2

Feedback controlled diagram of three-link manipulator system

The detailed description of FOSTFPID and IOSTFPID controllers along with FOFPID controller is presented in the following subsection. Here fractional-order differentiator and integrator are utilized to realize FOFPID, FOSTFPID and IOSTFPID controllers which offer higher DOF and extra flexibility to design the controller. FOSTFPID and IOSTFPID controllers used two layers of FLCs out of this first layer is used for FOFPID controller and second layer is used to vary the output gains of first FLC at runtime.

5.1 Design of FOFPID controller

Conventional fractional-order PI controller in velocity form for link-1 is defined as

$$\frac{{{\text{d}}^{{\mu^{1} }} u^{1} \left( t \right)}}{{{\text{dt}}^{{\mu^{1} }} }} = K_{\text{C}} \frac{{{\text{d}}^{{\mu^{1} }} e^{1} \left( t \right)}}{{{\text{dt}}^{{\mu^{1} }} }} + K_{\text{I}} e^{1} \left( t \right)$$
(21)

where, \(K_{\text{C}}\) and \(K_{\text{I}}\) are proportional and integral gains, respectively; \(e^{1} \left( t \right)\) and \(u^{1} \left( t \right)\) are error and corresponding control signal, respectively; \(\mu^{1}\) is the fractional-order operator for fractional-order differentiator. Rewriting (21).

$$k_{\text{p}}^{1} e^{1} \left( t \right) + k_{\text{d}}^{1} \frac{{{\text{d}}^{{\mu^{1} }} e^{1} \left( t \right)}}{{{\text{d}}t^{{\mu^{1} }} }} = \frac{{{\text{d}}^{{\mu^{1} }} u^{1} \left( t \right)}}{{{\text{d}}t^{{\mu^{1} }} }}$$
(22)

where, \(k_{\text{p}}^{1}\) and \(k_{\text{d}}^{1}\) are new constants. A new constant ‘\(k_{\text{upi}}^{{1^{\prime}}}\)’ is introduced in the right-hand side of above equation in order to increase the DOF of overall control solution.

or

$$k_{\text{p}}^{1} e^{1} \left( t \right) + k_{\text{d}}^{1} \frac{{{\text{d}}^{{\mu^{1} }} e^{1} \left( t \right)}}{{{\text{d}}t^{{\mu^{1} }} }} = k_{\text{upi}}^{{1{\prime }}} \frac{{{\text{d}}^{{\mu^{1} }} u^{1} \left( t \right)}}{{{\text{d}}t^{{\mu^{1} }} }}$$
(23)

Therefore, fractional-order fuzzy PI (FOFPI) controller for link-1 is designed based on (23). Input to the FOFPI controller is error signal ‘\(k_{\text{p}}^{1} e^{1} \left( t \right)\)’ and rate of change of error signal ‘\(k_{\text{d}}^{1} \frac{{{\text{d}}^{{\mu^{1} }} e^{1} \left( t \right)}}{{{\text{d}}t^{{\mu^{1} }} }}\)’ while output of the FOFPI controller is ‘\(k_{\text{upi}}^{{1^{\prime}}} \frac{{{\text{d}}^{{\mu^{1} }} u^{1} \left( t \right)}}{{{\text{d}}t^{{\mu^{1} }} }}\)’ in incremental form [7]. Rewriting (23), one gets

$${\text{or}} \quad \quad k_{\text{p}}^{1} e^{1} \left( t \right) + k_{\text{d}}^{1} \frac{{{\text{d}}^{{\mu^{1} }} e^{1} \left( t \right)}}{{{\text{d}}t^{{\mu^{1} }} }} = u_{\text{FOFPI}}^{{1^{\prime}}} \left( t \right)$$
(24)

where,

$$u_{\text{FOFPI}}^{{1^{\prime}}} \left( t \right) = k_{\text{upi}}^{{1^{\prime}}} \frac{{{\text{d}}^{{\mu^{1} }} u^{1} \left( t \right)}}{{{\text{d}}t^{{\mu^{1} }} }}$$
(25)

is the control action of FOFPI controller. A fractional-order integrator is used in order to get absolute output from the FOFPI controller. Therefore, the absolute output from the FOFPI controller is yield as follows:

$$u^{1}_{\text{FOFPI}} \left( t \right) = k_{\text{upi}}^{{1^{\prime}}} \left( {\frac{{{\text{d}}^{{ -\varvec{\lambda}^{1} }} }}{{{\text{d}}t^{{ -\varvec{\lambda}^{1} }} }}\left( {\frac{{{\text{d}}^{{\mu^{1} }} u^{1} \left( t \right)}}{{{\text{d}}t^{{\mu^{1} }} }}} \right)} \right)$$
(26)

where, \(\varvec{\lambda}^{1}\) is the fractional-order operator for fractional-order integrator.

Now, conventional fractional-order PD controller in position form for link-1 is defined as

$$u^{1} \left( t \right) = K_{\text{C}} e^{1} \left( t \right) + K_{\text{D}} \frac{{{\text{d}}^{{\mu^{1} }} e^{1} \left( t \right)}}{{{\text{d}}t^{{\mu^{1} }} }}$$
(27)

where, \(K_{\text{C}}\) and \(K_{\text{D}}\) are proportional and derivative gains, respectively. Rewriting (27).

$$k_{\text{p}}^{1} e^{1} \left( t \right) + k_{\text{d}}^{1} \frac{{{\text{d}}^{{\mu^{1} }} e^{1} \left( t \right)}}{{{\text{d}}t^{{\mu^{1} }} }} = u^{1} \left( t \right)$$
(28)

where, \(k_{\text{p}}^{1}\) and \(k_{\text{d}}^{1}\) are the new gains.

Introducing a new constant ‘\(k_{\text{upd}}^{{1^{\prime}}}\)’ in the right-hand side of (28),

$${\text{or}} \quad \quad k_{\text{p}}^{1} e^{1} \left( t \right) + k_{\text{d}}^{1} \frac{{{\text{d}}^{{\mu^{1} }} e^{1} \left( t \right)}}{{{\text{d}}t^{{\mu^{1} }} }} = k_{\text{upd}}^{{1^{\prime}}} u^{1} \left( t \right)$$
(29)

Therefore, fractional-order fuzzy PD (FOFPD) controller for link-1 is designed based on (29). Input to the FOFPD controller is error signal ‘\(k_{\text{p}}^{1} e^{1} \left( t \right)\)’ and rate of change of error signal ‘\(k_{\text{d}}^{1} \frac{{{\text{d}}^{{\mu^{1} }} e^{1} \left( t \right)}}{{{\text{d}}t^{{\mu^{1} }} }}\)’ while output of the FOFPD controller is ‘\(k_{\text{upd}}^{{1^{\prime}}} u^{1} \left( t \right)\)’ in absolute form. Rewriting (29).

Or

$$k_{\text{p}}^{1} e^{1} \left( t \right) + k_{\text{d}}^{1} \frac{{{\text{d}}^{{\mu^{1} }} e^{1} \left( t \right)}}{{{\text{d}}t^{{\mu^{1} }} }} = u^{1}_{\text{FOFPD}} \left( t \right)$$
(30)

where,

$$u^{1}_{\text{FOFPD}} \left( t \right) = k_{\text{upd}}^{{1^{\prime}}} u^{1} \left( t \right)$$
(31)

is the control action of FOFPD controller.

From (24) and (30), it can be observed that the structure of FOFPI controller in velocity form is quite similar with the structure of FOFPD controller in position form. The only difference is in output; in velocity form it is in incremental, while in position form it is direct. Therefore, for simplicity in design of fuzzy controller, the benefit of common architecture of FOFPI and FOFPD controller was utilized to produce the control action as depicted in Fig. 3. Therefore, FOFPID controller can be obtained by combining FOFPI and FOFPD controllers in parallel form as shown in Fig. 3. Thus, the design equation of FOFPID controller is given by

$$k_{\text{p}}^{1} e^{1} \left( t \right) + k_{\text{d}}^{1} \frac{{{\text{d}}^{{\mu^{1} }} e^{1} \left( t \right)}}{{{\text{d}}t^{{\mu^{1} }} }} = u^{1}_{\text{FOFPD}} \left( t \right) + u^{1}_{\text{FOFPI}} \left( t \right)$$
(32)

or

$$k_{\text{p}}^{1} e^{1} \left( t \right) + k_{\text{d}}^{1} \frac{{{\text{d}}^{{\mu^{1} }} e^{1} \left( t \right)}}{{{\text{d}}t^{{\mu^{1} }} }} = k_{\text{upd}}^{{1^{\prime}}} u\left( t \right) + k_{\text{upi}}^{{1^{\prime}}} \left( {\frac{{{\text{d}}^{{ -\varvec{\lambda}^{1} }} }}{{{\text{d}}t^{{ -\varvec{\lambda}^{1} }} }}\left( {\frac{{{\text{d}}^{{\mu^{1} }} u^{1} \left( t \right)}}{{{\text{d}}t^{{\mu^{1} }} }}} \right)} \right)$$
(33)

or

$$k_{\text{p}}^{1} e^{1} \left( t \right) + k_{\text{d}}^{1} \frac{{{\text{d}}^{{\mu^{1} }} e^{1} \left( t \right)}}{{{\text{d}}t^{{\mu^{1} }} }} = u^{1}_{\text{FOFPID}} \left( t \right)$$
(34)

where, \(k_{\text{p}}^{1}\) and \(k_{\text{d}}^{1}\) and \(k_{\text{upd}}^{{1^{\prime}}}\) and \(k_{\text{upi}}^{{1^{\prime}}}\) are input and output gains of FOFPID controller, respectively. Input to the fuzzy controller is ‘\(k_{\text{p}}^{1} e^{1} \left( t \right)\)’ and ‘\(k_{\text{d}}^{1} \frac{{{\text{d}}^{{\mu^{1} }} e^{1} \left( t \right)}}{{{\text{d}}t^{{\mu^{1} }} }}\)’ while overall output of FOFPID controller is \(u^{1}_{\text{FOFPID}} \left( t \right)\) which is the algebraic sum of output of FOFPD and FOFPI controllers, i.e. \(u_{\text{FOFPD}}^{1} \left( t \right)\) and \(u_{\text{FOFPI}}^{1} \left( t \right)\) and define as:

$$u_{\text{FOFPID}}^{1} \left( t \right) = u_{\text{FOFPD}}^{1} \left( t \right) + u_{\text{FOFPI}}^{1} \left( t \right)$$
(35)
$$u_{\text{FOFPID}}^{1} \left( t \right) = \underbrace {{k_{\text{upd}}^{{1^{\prime}}} u\left( t \right)}}_{\text{FOFPD}} + \underbrace {{k_{\text{upi}}^{{1^{\prime}}} \left( {\frac{{{\text{d}}^{{ -\varvec{\lambda}^{1} }} }}{{{\text{d}}t^{{ -\varvec{\lambda}^{1} }} }}\left( {\frac{{{\text{d}}^{{\mu^{1} }} u^{1} \left( t \right)}}{{{\text{d}}t^{{\mu^{1} }} }}} \right)} \right)}}_{\text{FOFPI}}$$
(36)
Fig. 3
figure 3

Block diagram of FOFPID controller

5.2 Design of FOSTFPID controller

In order to design the FOSTFPID controller, rewriting (33)

$$k_{\text{p}}^{1} e^{1} \left( t \right) + k_{\text{d}}^{1} \frac{{{\text{d}}^{{\mu^{1} }} e^{1} \left( t \right)}}{{{\text{d}}t^{{\mu^{1} }} }} =\varvec{\alpha}k_{\text{upd}}^{1} u\left( t \right) +\varvec{\alpha}k_{\text{upi}}^{1} \left( {\frac{{{\text{d}}^{{ -\varvec{\lambda}^{1} }} }}{{{\text{d}}t^{{ -\varvec{\lambda}^{1} }} }}\left( {\frac{{{\text{d}}^{{\mu^{1} }} u^{1} \left( t \right)}}{{{\text{d}}t^{{\mu^{1} }} }}} \right)} \right)$$
(37)

where,

$$k_{\text{upi}}^{{1^{\prime}}} =\varvec{\alpha}k_{\text{upi}}^{1}$$
(38)

and

$$k_{\text{upd}}^{{1^{\prime}}} =\varvec{\alpha}k_{\text{upd}}^{1}$$
(39)

where, \(\varvec{\alpha}\), \(k_{\text{upi}}^{1}\) and \(k_{\text{upd}}^{1}\) are new constants. The parameter \(\varvec{\alpha }\) is varied at runtime using FLC in layer-II which makes the FOSTFPID controller adaptive as shown in Fig. 4. Therefore, output of the FOSTFPID controller is again arithmetic sum of output of fractional-order self-tuning fuzzy PD (FOSTFPD) and fractional-order self-tuning fuzzy PI (FOSTFPI) controllers and defined as:

$$u_{\text{FOSTFPID}}^{1} \left( t \right) = u_{\text{FOSTFPD}}^{1} \left( t \right) + u_{\text{FOSTFPI}}^{1} \left( t \right)$$
(40)

or

$$u_{\text{FOSTFPID}}^{1} \left( t \right) = \underbrace {{ \varvec{\alpha}k_{\text{upd}}^{1} u\left( t \right)}}_{\text{FOSTFPD}} + \underbrace {{\varvec{\alpha}k_{\text{upi}}^{1} \left( {\frac{{{\text{d}}^{{ -\varvec{\lambda}^{1} }} }}{{{\text{d}}t^{{ -\varvec{\lambda}^{1} }} }}\left( {\frac{{{\text{d}}^{{\mu^{1} }} u^{1} \left( t \right)}}{{{\text{d}}t^{{\mu^{1} }} }}} \right)} \right)}}_{\text{FOSTFPI}}$$
(41)
Fig. 4
figure 4

Block diagram of FOSTFPID controller

Value of \(\varvec \alpha\) varies as \(\varvec{\alpha}\) ϵ (0, 1) and due to that output gains \(k_{\text{upd}}^{1}\) and \(k_{\text{upi}}^{1}\) also vary from 0 to \(k_{\text{upd}}^{1}\) and 0 to \(k_{\text{upi}}^{1}\), respectively. As the value of \(\varvec{\alpha}\) is generated by FLC in layer-II, i.e. self-tuning block, it makes the overall FOSTFPID controller an intelligent as well as adaptive.

There are five gains for link-1 for the FOSTFPID controller out of which \(k_{\text{p}}^{1}\) and \(k_{\text{d}}^{1}\) are input gains of FLCs in layer-I and layer-II, while \(k_{\text{upd}}^{1}\) and \(k_{\text{upi}}^{1}\) are output gains of FLC in layer-I, and \(\varvec{\alpha}\) is output gain of FLC in layer-II. Similar type of control structure is applicable for link-2 and link-3, whereas the controller gains associated to these links are different.

5.3 Design of IOSTFPID controller

Since the structure of FOSTFPID and IOSTFPID controllers is almost same, IOSTFPID controller can be realized by placing the value of \(\mu^{1}\) and \(\varvec{\lambda}^{1}\) as ‘1’ in FOSTFPID controller. The design equation of IOSTFPID controller is defined as:

$$k_{\text{p}}^{1} e^{1} \left( t \right) + k_{\text{d}}^{1} \frac{{{\text{d}}^{1} e^{1} \left( t \right)}}{{{\text{d}}t^{1} }} =\varvec{\alpha}k_{\text{upd}}^{1} u\left( t \right) +\varvec{\alpha}k_{\text{upi}}^{1} \left( {\frac{{{\text{d}}^{ - 1} }}{{{\text{d}}t^{ - 1} }}\left( {\frac{{{\text{d}}^{1} u^{1} \left( t \right)}}{{{\text{d}}t^{1} }}} \right)} \right)$$
(42)

Further, in the subsequent section, the other design parameters like number and type of input and output membership functions (MFs), fuzzy inference mechanism, defuzzification method and rule bases for FLCs in both layers are presented.

5.4 Details of FLC implementation

A fundamental FLC scheme is shown in Fig. 5 which comprises fuzzification, fuzzy inference mechanism, knowledge base and defuzzification blocks [24]. The basic FLC is constructed on two-dimensional rule bases where Gaussian MFs are used. Other types of MFs, like triangular, trapezoidal, sigmoidal, etc., can be used to design an FLC, but Gaussian MF gives output very smooth and improves the robustness and reliability, and therefore it is considered in the present study for both input and output variables of FLCs and is shown in Figs. 6, 7 and 8. The range of output variables MFs is different for FLCs at both layers, for layer-I FLC it is [− 1, 1], whereas at layer-II FLC it is [0, 1] which can be easily observed from Figs. 7 and 8. The acronyms of inputs and outputs MFs for FLCs at layer-I and II are presented in Table 1. A Mamdani type of inference mechanism and centre of gravity method of defuzzification is used, whereas for implication, minimum type of operator and for aggregation, maximum type of operator is used.

Fig. 5
figure 5

FLC block diagram

Fig. 6
figure 6

MFs for error and rate of change of error forboth FLCs

Fig. 7
figure 7

MFs for output of layer-I FLC

Fig. 8
figure 8

MFs for output of layer-II FLC, i.e. self-tuning block controller

Table 1 Input-output MFs and their acronyms

Knowledge base which is the principal part of FLC design contains two different set of rules for FLCs in layer-I and layer-II, i.e. for self-tuning blocks which are tabulated in Tables 2 and 3, respectively. These two set of rules exhibit different three-dimensional surface plots for FLCs in layer-I and layer-II which are shown in Figs. 9 and 10, respectively [35]. In the present work, an alteration in rule base from [35] is done so that the surface plot becomes smoother. An irregular surface gives abrupt change in output gain which makes the system sometimes unstable which is excluded here. This makes the controller more effective for a system having unstable open-loop behaviour like robotic manipulator.

Table 2 Input–output rule base for FLC in layer-I
Table 3 Input–output rule base for FLC in layer-II, i.e. self-tuning block
Fig. 9
figure 9

Surface plot for rule base for FLC in layer-I

Fig. 10
figure 10

Surface plot for rule base for FLC in layer-II (self-tuning block)

6 Tuning of gains by CSA

Tuning of the gains is required to get the desired performance of the system. To find the suitable gains of the intelligent controller like FOSTFPID, there is no well-defined method found in the literature. In the present work, CSA optimization method is used to find the tuned gains of all three controllers.

6.1 CSA description

CSA is a meta-heuristic optimization algorithm which is bio-inspired by the bird Cuckoo and proposed by Yang and Deb [44, 45]. This algorithm has very strong ability to solve multi-dimensional problems efficiently and also having the strong searching ability paralleled to another popular bio-inspired algorithm like GA, differential evolution (DE), PSO algorithm etc. The balance between two components namely diversification and intensification explores the superiority of cuckoo search algorithm over the existing famous algorithms such as GA and PSO. It is well known that the bird Cuckoo has pleasing sound and magnificent reproduction strategies.

Some species of cuckoo lay their eggs in communal nests. Sometimes they remove other bird’s eggs from communal nest to grow the hatching possibility of their own eggs. If a host bird realizes that the eggs are not of their, then they either through the alien eggs from nest or simply leave the nest and make a new nest at some other places. Female cuckoos have some special characteristics that they mimic the colour and pattern of the eggs like few picked host birds. By using this method, their eggs are less abandoned and thus productivity is increased. Also, female cuckoos find out the egg laying timing of other birds and parasitic cuckoos often find out a nest where the host bird just laid its own eggs. Generally, cuckoos’ eggs take less time to hatch rather than their host eggs and once the first cuckoo egg is hatched, cuckoo evicts the host eggs. This action increases the food availability of cuckoo’s chick by its host bird.

The concept of Lévy flight is included to design the CSA algorithm which enhances its searching capability. It is a type of flight behaviour by which many animals take a sudden 90° turn from its straight flight paths and it leads Lévy flight style to get irregular scale-free search pattern. It has been shown that after applying such behaviour to optimal search, the results deliver its promising capability. A pseudocode of CSA which explains its implementation is shown in Fig. 11.

Fig. 11
figure 11

Pseudocode of CSA algorithm

For more explanation, a flow chart of CSA is shown in Fig. 12. The different parameters of CSA which are used to optimize gains of controller are given in Table 4.

Fig. 12
figure 12

Flow chart of CSA

Table 4 Used parameters for CSA

6.2 Controller tuning for trajectory tracking

All the presented simulations have been carried out in MATLAB/SIMULINK on a personal computer having Intel® core™ i5 processor working at 3.33 GHz, 4 GB RAM with a 32-bit operating system. Fourth-order Runge–Kutta method was used as the ODE solver working at 1 ms sampling time. It may be also noted that optimized gains remained unaltered throughout the studies. The torque limitations for both links have been taken as [− 200, 200] N-m. The desired trajectories (\(\theta_{{r_{1} }}\), \(\theta_{{r_{2} }}\) and \(\theta_{{r_{3} }}\)) for link-1, link-2 and link-3 have been given in (43), (44) and (45), respectively.

$$\theta_{{r_{1} }} = \sin \left( {0.2\pi t} \right)$$
(43)
$$\theta_{{r_{2} }} = \sin \left( {0.2\pi t - \frac{\pi }{4}} \right)$$
(44)
$$\theta_{{r_{3} }} = \sin \left( {0.2\pi t - \frac{\pi }{2}} \right)$$
(45)

The objective function (OBF) has been taken as the weighted sum of integral of absolute error \(\left( {\text{IAE}} \right)\) and integral of absolute change in controller output \(\left( {\text{IACCO}} \right)\).

$${\text{IACCO}} = \int \left| {\left( {u\left( t \right) - u\left( {t - 1} \right)} \right)} \right|{\text{d}}t$$
(46)
$${\text{OBF}} = \left( {w_{1} * {\text{IAE}}} \right) + \left( {w_{2} * {\text{IACCO}}} \right)$$
(47)

The \({\text{IAE}}\) is defined as the sum of the \({\text{IAE}}\) values of all the three links, i.e. \({\text{IAE}} = ({\text{IAE}}_{1} + {\text{IAE}}_{2} + {\text{IAE}}_{3} )\) and similarly the value of \({\text{IACCO}}\) is defined as \({\text{IACCO}} = ({\text{IACCO}}_{1} + {\text{IACCO}}_{2} + {\text{IACCO}}_{3} )\). The parameters \(w_{1}\) and \(w_{2}\) are chosen as 0.999 and 0.001. Tuned gains are listed in Table 5 where \(\mu^{i}\) and \(\lambda^{i}\) indicate the order of differentiator and integrator where \(i\) = 1, 2 and 3 for link-1, link-2 and link-3, respectively. The objective function versus iteration curve is depicted in Fig. 13 for FOSTFPID, FOFPID and IOSTFPID controllers. From Fig. 13, it can be clearly observed that FOSTFPID controller shows best convergence rate among the three explored controllers. The resulting OBFs are obtained as 0.0022, 0.0090 and 0.0340 for FOSTFPID, FOFPID and IOSTFPID controllers, respectively. Table 6 lists the IAE values of all three links and OBFs obtained for all three controllers for trajectory tracking study, and Fig. 14 depicts these tabulated results in a graphical form. Figures 15, 16 and 17 show the performance for all three controllers in terms of trajectory tracking curves, controller outputs, and error signals, respectively. XY plots of end-effector are also shown in Fig. 18. Supremacy of FOSTFPID controller can be observed in all the investigations among three controllers where it shows 75.55% improvement over FOFPID and 93.52% improvement over IOSTFPID controller in OBF values for trajectory tracking analysis.

Table 5 Optimized gain parameters of FOSTFPID, FOFPID and IOSTFPID controllers
Fig. 13
figure 13

Objective function versus iteration curves for FOSTFPID, FOFPID and IOSTFPID controllers

Table 6 IAE values and OBFs for trajectory tracking study
Fig. 14
figure 14

Bar charts for IAEs and OBFs values

Fig. 15
figure 15

Trajectory tracking curves: a link-1; b link-2; c link-3

Fig. 16
figure 16

Controller outputs for trajectory tracking: a link-1; b link-2; c link-3

Fig. 17
figure 17

Error curves for trajectory tracking: a link-1; b link-2; c link-3

Fig. 18
figure 18

XY curves for trajectory tracking

Error, rate of change of error and their corresponding controller output curves for link-1, link-2 and link-3 are shown in Figs. 19, 20 and 21, respectively, for all three controllers wherein can be concluded that a control technique designed with fractional-order operator, shows the smooth behaviour on integer order. In Figs. 19, 20 and 21, curves obtained by FOSTFPID and FOFPID controllers in all three links are smooth, whereas curves obtained by IOSTFPID controller for all three links show the chattering behaviour.

Fig. 19
figure 19

Error, rate of change of error and controller output curves for link-1 in case of trajectory tracking study: a FOSTFPID; b FOFPID; c IOSTFPID

Fig. 20
figure 20

Error, rate of change of error and controller output curves for link-2 in case of trajectory tracking study: a FOSTFPID; b FOFPID; c IOSTFPID

Fig. 21
figure 21

Error, rate of change of error and controller output curves for link-3 in case of trajectory tracking study: a FOSTFPID; b FOFPID; c IOSTFPID

7 Detailed simulated performance evaluation

An adaptive controller must have the capability to completely eliminate the effect of measured or unmeasured disturbances, sensor noise and uncertainty in link mass etc. from the process output. These could occur individually or in a combined form at the same time in the control loop, and the effect is to degrade the performance of plant. Therefore, to further access the performance of controller, disturbance rejection, noise suppression, and parameter uncertainty have been carried out and presented in this section. Following are the category-wise investigated studies elaborated for all three controllers.

7.1 Disturbance rejection

The primary objective of a control structure is to reject the effect of undesired disturbances present in the control loop to track the required trajectory smoothly. Under this context, two different types of disturbances have been considered at different places of the control loop. One is injected at the controller output before the saturator, whereas another is at the output of manipulator. The detailed disturbance rejection and their comparative studies have been presented in the following subsections.

7.1.1 Disturbance at controller output

In the present study, the disturbance signal is added at the controller output comprising of one pulse for the entire trajectory, as described in (48), in all three links together as already shown in Fig. 2. A typical disturbance signal with magnitude as 5 N-m is shown in Fig. 22.

$${\text{d}}\left( t \right) = A\left[ {u\left( {t - 2} \right) - u\left( {t - 6} \right)} \right]$$
(48)

where \(A\) is the magnitude of disturbance signal assumed for testing.

Fig. 22
figure 22

Applied disturbance signal at controller output (magnitude = 5 N-m)

Two types of disturbances, positive as well as negative, have been considered in this study. Total twenty cases, starting from 0.5 to 5 for positive disturbances and − 0.5 to − 5 for negative disturbances, are considered. Corresponding IAE values are listed in Tables 7 and 9, whereas their OBF values are listed in Tables 8 and 10 for positive and negative disturbances, respectively. Two graphical representations have been shown for OBF versus magnitude of disturbances for positive as well as negative disturbances in Figs. 23 and 24, respectively. From all these results, it can be concluded that the proposed FOSTFPID controller offers superior performance for disturbance rejection study at the controller output among the three examined controllers.

Table 7 IAE values for variation (increasing) in magnitude of disturbance signal
Table 8 OBF values for variation (increasing) in magnitude of disturbance signal
Table 9 IAE values for variation (decreasing) in magnitude of disturbance signal
Table 10 OBF values for variation (decreasing) in magnitude of disturbance signal
Fig. 23
figure 23

Variations of OBF values with increasing magnitude of disturbance signal at controller outputs

Fig. 24
figure 24

Variations of OBF values with decreasing magnitude of disturbance signal at controller outputs

To further demonstrate the efficacy of the proposed controller, a complete analysis has been made for a disturbance of 5 N-m. A bar chart containing the corresponding IAE values as well as OBF values is shown in Fig. 25. Trajectory tracking curves of all three controllers for all three links are shown in Fig. 26, whereas their required torque as the manipulator input is shown in Fig. 27. Comparative results clearly exhibit that the proposed controller FOSTFPID performs best among three, whereas FOFPID shows worst among three. A chattering is observed in the controller output of FOFPID which is a serious issue and not recommended for controlling a nonlinear manipulator system because it worsens the final control element part. A poor performance of FOFPID can also be seen in obtained error versus time curve Fig. 28, where it can be easily detected that proposed FOSTFPID shows less error and FOFPID shows big error among three controllers for all the three links. To show the motion of end-effector, corresponding XY plot is shown in Fig. 29 which also justifies the above obtained results. In this particular case study of disturbance rejection, FOSTFPID controller shows 98.87% superior performance on FOFPID controller, whereas 86.62% on IOSTFPID controller in the obtained values of OBFs.

Fig. 25
figure 25

IAE and OBF values for disturbance rejection study at controller outputs

Fig. 26
figure 26

Trajectory tracking curves for disturbance rejection study at inputs of manipulator: a link-1; b link-2; c link-3

Fig. 27
figure 27

Controller outputs for disturbance rejection study at inputs of manipulator: a link-1; b link-2; c link-3

Fig. 28
figure 28

Error curves for disturbance rejections study at input of manipulator: a link-1; b link-2; c link-3

Fig. 29
figure 29

XY curves for disturbance rejections study at inputs of manipulator

7.1.2 Disturbance at output of the manipulator

A dynamic disturbance signal is considered and injected at the output of all three links of the manipulator. The transfer function of the dynamic disturbance signal is given in (49). The disturbance is subjected to a pulse signal multiplied with \(u\left( {t - 1} \right)\) for a time-period of 4 s, whereas the duty cycle of the pulse signal is 75%. \(u\left( t \right)\) is considered as a unit step signal.

$${\text{Transfer}}\;{\text{function}}\;{\text{of}}\;{\text{dynamic}}\;{\text{disturbance}} = \frac{1}{s + 1}$$
(49)

In this disturbance rejection study at the manipulator output, the magnitude of the pulse signal is varying from 0.05 to 0.50 with a step of 0.05. Corresponding dynamic disturbance is added to the output and the response of the manipulator system is inspected. Obtained IAE and OBF values are listed in Tables 11 and 12, respectively. A distinctive curve comprising the variation of OBF values with varying magnitude of pulse signal is shown in Fig. 30 which concludes that FOSTFPID outperforms while IOSTFPID accomplishes worst among the three controllers.

Table 11 IAE values for variation (increasing) in magnitude of pulse signal
Table 12 OBF values for variation (increasing) in magnitude of pulse signal
Fig. 30
figure 30

Variation of OBF values with increasing magnitude of disturbance signal at manipulator output

A typical pulse signal with magnitude as 0.5 and dynamical disturbance signal subjected with that pulse is shown in Fig. 31a and b, respectively. After adding this disturbance signal to output of the manipulator in all three links, obtained values of IAE and OBFs are presented in bar chart as shown in Fig. 32. Corresponding trajectory tracking curve, controller output, error curve and XY curve are shown in Figs. 33, 34, 35 and 36, respectively. After observing the trajectory tracking curve, Fig. 33, it can be concluded that IOSTFID controlled link-1 and link-2 left the trajectory and never returns to the path again. It makes the overall system unstable which can be easily detected in XY curve, Fig. 36. A chattering phenomenon is also observed in the controller output of FOFPID controller in Fig. 34 which creates a serious issue and can deteriorate the motor part of the final control element. It can be clearly observed that FOSTFPID controller gives the smooth controller output which makes to allow the final control element to work for long time. In this case study, FOSTFPID controller shows 98.70% superior performance on FOFPID controller, whereas 99.99% on IOSTFPID controller in obtained OBF values.

Fig. 31
figure 31

a Pulse signal; b disturbance signal at manipulator output

Fig. 32
figure 32

IAE and OBF values for disturbance rejections study at manipulator outputs

Fig. 33
figure 33

Trajectory tracking curves for disturbance rejections study at outputs of manipulator: a link-1; b link-2; c link-3

Fig. 34
figure 34

Controller outputs for disturbance rejections study at outputs of manipulator: a link-1; b link-2; c link-3

Fig. 35
figure 35

Error curves for disturbance rejection study at outputs of manipulator: a link-1; b link-2; c link-3

Fig. 36
figure 36

XY curves for disturbance rejection study at inputs of manipulator

7.2 Noise suppression

Another speciality of an intelligent adaptive controller is its ability to suppress the effects of sensor noise present in the feedback loop of a controlled system. In general, noise is disruptive in nature which is non-distinguishable random fluctuations. It is irregular in nature which hinders the real signal and tries to make a controlled system unstable. In electromechanical system, sensor provides the current information to the controller. Generally, noise is added at the sensor block and it contaminates the real information of the system to controller. Sometimes, the nature of this unwanted noise signal is unavoidable. So, a robust controller must have the ability to nullify the effect of undesirable sensor noise. In this study, the output of sensor is now considered as:

$$\theta_{\text{s}} \left( t \right) = \left( {\theta_{i} \left( t \right) + \theta_{ri} \left( t \right)*{\text{per}}*{\text{rand}}} \right) , \quad i = 1, \,2,\,3;$$
(50)

where \(\theta_{i}\) and \(\theta_{ri}\) are the angular positions and reference trajectories of link-1, link-2 and link-3, respectively, \({\text{per}}\) represents the percentage of instant reference trajectory while \({\text{rand}}\) generates the random number within the range [− 1, 1]. A typical generated random noise signal in all three links of 0.01% of the instant reference trajectory is shown in Fig. 37.

Fig. 37
figure 37

Noise signals: a link-1; b link-2; c link-3

To test the effectiveness of the proposed control technique, noise signal with different percentage of instant reference trajectory has been considered for testing starting from 0.001 to 0.01 with a step of 0.001. Corresponding to these noise signals, their IAE values and OBF values have been obtained for all three links which are listed in Tables 13 and 14, respectively. A distinctive curve in Fig. 38 shows the variation of OBF values with percentage variation of noise signal. After prudent observation of the obtained IAE values and OBF values in Tables 13 and 14, it can be concluded that proposed FOSTFPID controller performs best among three control techniques while IOSTFPID controller performs worst among three.

Table 13 IAE values for variation (increasing) in magnitudes of noise signals
Table 14 OBF values for variation (increasing) in magnitudes of noise signals
Fig. 38
figure 38

Variation of OBF values with increasing percentage of sensor noise signals

For a typical case of 0.01% noise, attained values of IAEs and OBFs for all three links, a bar chart is shown in Fig. 39. Trajectory tracking, required torque, error and XY curves of all three links for this particular case are shown in Figs. 40, 41, 42 and 43. After careful observation, it can be determined that IOSTFPID controller is not able to give the proper torque output as link-1 and link-2 leaves the trajectory after some time which makes the system output as unstable as shown in Fig. 41. A chattering phenomenon is seen in the controller output generated by FOFPID controller. This is not desirable as it wears and tears the final control element part of the feedback controlled system while FOSTFPID controller shows a smooth controller output curve. On the basis of obtained simulated results, it can be inferred that FOSTFPID controller performs best among the three controllers in the case of noise suppression. The improvements in OBF values by FOSTFPID controller on FOFPID and IOSTFPID are estimated to be 93.29% and 99.96%, respectively, in this case study.

Fig. 39
figure 39

IAEs and OBFs values for noise suppression study

Fig. 40
figure 40

Trajectory tracking curves for noise suppression study: a link-1; b link-2; c link-3

Fig. 41
figure 41

Controller outputs for noise suppression study: a link-1; b link-2; c link-3

Fig. 42
figure 42

Error curves for noise suppression study: a link-1; b link-2; c link-3

Fig. 43
figure 43

XY curves for noise suppression study

7.3 Robustness testing: uncertainty in the mass of link-3

In this subsection, the robustness of all three controllers has been tested and the obtained results are presented. A robust controller must have the capability to eliminate the effect of changes made inside as well as outside world of the system. Generally, in industries, main task of the manipulator is to pick and place the object of different mass by its end-effector. As earlier, it has been stated that tuning of controller is made initially and in the runtime the controller parameters remains unaltered. After changing the mass of link-3, a new system seems by the controller in runtime. An effective controller must nullify the effect of mass variation in link-3. For robustness testing of controllers, mass of link-3 has been increased till 0.125 kg with a step of 0.05 kg. Obtained IAEs and OBFs values are listed in Tables 15 and 16, respectively. Variations of OBF values with respect to mass of link-3 are plotted in Fig. 44. After careful observation of results shown in Tables 15 and 16, it can be stated that FOSTFPID controller outperforms among three control techniques for the testing of uncertainty in mass of link-3

Table 15 IAE values for variation (increasing) in mass of link-3 signal
Table 16 OBF values for variation (increasing) in mass of link-3 signal
Fig. 44
figure 44

Variations of OBF values with increasing mass of link-3

8 Conclusion

Control of nonlinear, coupled, multi-input multi-output system like robotic manipulator has always been a challenge for researchers. In this work, a robust control technique, fractional-order self-tuning fuzzy PID (FOSTFPID) controller, is proposed to control a three-link rigid robotic manipulator system. The performance of controller is tested for trajectory tracking, disturbance rejection, noise suppression and uncertainty analysis, and it is compared with fractional-order fuzzy PID (FOFPID) controller and integer-order self-tuning fuzzy PID (IOSTFPID) controller. For trajectory tracking, 75.55% and 93.52% improvements have been observed in objective function (OBF) values by FOSTSPID over FOFPID and IOSTFPID controllers. Two types of disturbance rejection studies have been performed where first disturbance is injected at the all three inputs of the manipulator, whereas second disturbance is added at all three outputs of the manipulator. In case of disturbance considered at the system input, FOSTFPID controller exhibited 98.87% and 86.62% improvements in OBF values over FOFPID and IOSTFPID controller, respectively, whereas disturbance injected at the output of the manipulator system, 98.70% and 99.99% improvements are observed. Similarly, for noise suppression also superiority of OBF values of FOSTFPID controller over FOFPID and IOSTFPID by 93.29% and 99.96%, respectively, were recorded. Therefore, based on the presented investigation, it is concluded that proposed FOSTFPID controller is a better control option over the FOFPID and IOSTFPID controllers for controlling a three-link rigid robotic manipulator system.