1 Introduction

In the field of multivariable control, the decentralized control is a dominant control scheme because it has many advantages, such as flexibility in operation, failure tolerance, simplified design and tuning[1]. The decentralized controller is still adopted by majority of modern robots in favor of computational simplicity and low-cost hardware setup[2]. To form the decentralized control, a robotic system is decomposed into individual single-input/single-output systems. Then, the effect of interactions between decomposed systems must be compensated. Thus, robust and adaptive techniques are suggested.

Adaptive fuzzy controllers may fulfill this role due to their ability to adapt with changing environment and model uncertainty. The unknown continuous functions of delayed high order nonlinear systems can be estimated by fuzzy adaptive systems[3]. Using the direct method of Lyapunov, many types of adaptive fuzzy controllers were developed for tracking control of robot manipulators[46]. Some recent researches such as [79] paid attention to considering whole robotic system including motor dynamics. The mentioned controllers guarantee stability and provide convergence of tracking error using multi-input fuzzy systems to cover the required states. However, number of fuzzy rules exponentially increases as the number of inputs increases, thus resulting in computational burden.

Voltage control of robots has been efficiently used in various methods by considering the whole robotic system of electrically driven robots in the control problem. A neural-network-based adaptive controller was proposed for the tracking problem of manipulators with uncertain kinematics, dynamics and actuator model in the Cartesian space[10]. The uncertainties were compensated by three-layer neural networks. A robust adaptive controller was developed using adaptive control, back-stepping and fuzzy logic techniques for the tracking control of an electrically driven nonholo-nomic mobile robot with model uncertainties[11]. The fuzzy logic system was used to learn the behaviors of unknown dynamics. The stability is guaranteed using the multivariable controllers in the mentioned approaches.

To cope with the requirements for fast response and precision, advanced feedforward controllers such as gravity compensator, Coriolis/centrifugal force compensator and friction compensators have been built in the controller. Generally, it causes heavy computational load when calculating the compensating value within a short sampling period[12]. To simplify the control problem, we use the voltage control strategy (VCS). On the other hand, there would seem to have some major shortcomings in the torque control strategy (TCS), as TCS is highly nonlinear, heavily coupled and computationally extensive.

Voltage control strategy[13] can be free from the manipulator dynamics. Actually, the robot control problem becomes the problem of motor control in the voltage control strategy. This advantage provides a simple control design in a decentralized structure, thus makes it superior to the torque control strategy. Following our research, we have proposed robust voltage control laws for electrically driven robots in the form of fuzzy control[14], task-space control[15], time-delay control[16], adaptive control[17], repetitive control[18] and adaptive fuzzy estimation of uncertainty[19].

This paper presents the design and analysis of a novel decentralized precise robust fuzzy control (PRFC) of electrically driven robot manipulators using the VCS and convergence analysis. The proposed controller is simple, with highly accurate tracking performance and guaranteed stability. To our best knowledge, the proposed control is novel. The rest of paper is organized as follows. Section 2 presents the modeling of electrically driven robot manipulators. Section 3 describes the control design, convergence analysis, and stability analysis. Section 4 introduces a decentralized PD-Like fuzzy controller. Section 5 illustrates the simulation results. Finally, Section 6 concludes the paper.

2 Modeling

The dynamics of manipulator[20] is expressed as

$$D(\theta )\ddot \theta + C(\theta ,\dot \theta )\dot \theta + g(\theta ) = {\tau _r} - {\tau _f}(\dot \theta )$$
(1)

where θR n is the vector of joint positions, D(θ) is the n×n matrix of manipulator inertia, C(θ,θ)θR n is the vector of centrifugal and Coriolis torques, g(θ) ∈ R n is the vector of gravitational torques, τ f(θ) ∈ R n is the vector of friction torques, and τ r R n the joint torque vector of robot. Note that vectors and matrices are represented in bold form for clarity.

The electric motors provide the joint torque vector as

$$J{r^{ - 1}}\ddot \theta + B{r^{ - 1}}\dot \theta + r{r_r} = {\tau _m}$$
(2)

where τ m R n is the torque vector of motors, J, B and r are the n × n diagonal matrices for motor coefficients[20] namely the inertia, damping, and reduction gear, respectively. The joint velocity vector θ and the motor velocity vector θ m R n are related through the gears to yield

$$r{\dot \theta _m} = \dot \theta .$$
(3)

In order to obtain the motor voltages as the inputs of system, we consider the electrical equation of geared permanent magnet DC motors in the matrix form

$$R{I_a} + L{\dot I_a} + {K_{{b^r}}}^{ - 1}\dot \theta + \phi = u$$
(4)

where uR n is the vector of motor voltages, I a R n is the vector of motor currents, and øR n is a vector of external disturbances. R, L and K b represent the n × n diagonal matrices for the coefficients of armature resistance, inductance, and back-emf constant, respectively. The motor torque vector τ m as the input for dynamic equation (2) is produced by the motor current vector

$${K_m}{I_a} = {\tau _m}$$
(5)

where K m is a diagonal matrix of the torque constants.

The state-space model of the electrically driven robot manipulator is introduced by the use of (1)(5) as

$$\dot x = f(x) + bu - b\phi $$
(6)

where u is considered as the inputs, x is the state vector andf(x) is of the form

$$\begin{array}{*{20}{c}} {f(x) = \left[ {\begin{array}{*{20}{c}} {{x_2}} \\ {{{(J{r^{ - 1}} + rD({x_1}))}^{ - 1}}{f_2}} \\ { - {L^{ - 1}}({K_{{b^r}}}{{^{ - 1}}_{x2}} + R{x_3})} \end{array}} \right],} \\ {x = \left[ {\begin{array}{*{20}{c}} \theta \\ {\dot \theta } \\ {{I_a}} \end{array}} \right],b = \left[ {\begin{array}{*{20}{c}} 0 \\ 0 \\ {{L^{ - 1}}} \end{array}} \right]} \\ {{f_2} = - (B{r^{ - 1}} + rC({x_1},{x_2})){x_2} - rg({x_1}) - r{r_f}({x_2}) + {K_m}{x_3}.} \end{array}$$
(7)

The state-space equation (6) shows a highly coupled nonlinear multivariable system in the non-companion form. The robot modeling and control is facing a serious challenge due to the complexity of the model. Many works have ignored the motors' dynamics to provide a simple second order model. However, we should consider the motors' dynamics to control a robot in high-speed and high-accuracy applications.

A companion form of the electrically driven robot manipulators is obtained using the state transformation of

$$\begin{array}{*{20}{c}} {z = \left[ {\begin{array}{*{20}{c}} \theta \\ {\dot \theta } \\ {\ddot \theta } \end{array}} \right]} \\ {{z_1} = {x_1}} \\ {{z_2} = {x_2}} \\ {{z_3} = {{(J{r^{ - 1}} + rD({x_1}))}^{ - 1}}{f_2}} \end{array}$$
(8)

which results in

$$\begin{array}{*{20}{c}} {{{\dot z}_1} = {z_2}} \\ {{{\dot z}_2} = {z_3}} \\ {{{\dot z}_3} = h({z_1},{z_2},{z_3}) + } \\ {{{(J{r^{ - 1}} + rD({x_1}))}^{ - 1}}{K_m}{L^{ - 1}}( - \phi + u)} \end{array}$$
(9)

where

$$\begin{array}{*{20}{c}} {\begin{array}{*{20}{c}} {h({z_1},{z_2},{z_3}) = \left( {\tfrac{{\text{d}}}{{{\text{d}}t}}{{(J{r^{ - 1}} + D({z_1}))}^{ - 1}}} \right)} \\ {\left( {\tfrac{{\text{d}}}{{{\text{d}}t}}{{(J{r^{ - 1}} + D({z_1}))}^{ - 1}}} \right)({h_1}) + } \\ {{{(J{r^{ - 1}} + rD({z_1}))}^{ - 1}}\left( { - r\dot C({z_1},{z_2}){z_2} - {h_2}} \right) - } \\ {{{(J{r^{ - 1}} + rD({z_1}))}^{ - 1}}{L^{ - 1}}R((J{r^{ - 1}} + rD({z_1})){z_3} + {h_1}) - } \end{array}} \\ {{{(J{r^{ - 1}} + rD({z_1}))}^{ - 1}}{K_m}{L^{ - 1}}{K_{{b^r}}}{{^{ - 1}}_{{z_2}}}} \\ {{h_1} = (B{r^{ - 1}} + rC({z_1},{z_2})){z_2} + rg({z_1}) + r{\tau _f}({z_2})} \\ {{h_2} = (B{r^{ - 1}} + rC({z_1},{z_2})){z_3} - r\dot g({z_1}) - r{{\dot \tau }_f}({z_2}).} \end{array}$$
(10)

The system dynamics is described as

$$\dot \theta = h(\theta ,\dot \theta ,\ddot \theta ) + {(J{r^{ - 1}} + rD(\theta ))^{ - 1}}{K_m}{L^{ - 1}}( - \phi + u).$$
(11)

Since D(θ), J, r, K m and L are positive definite matrices, (Jr −1 +rD(z 1))−1 K mL−1 ≠ 0. Thus, the companion form (9) proves that the robotic system is controllable. However, the companion form is highly nonlinear, heavily coupled and computationally extensive.

3 Precise robust fuzzy control

The uncertainty and precision are opposite to each other, thus overcoming uncertainty is a necessary condition to obtain a precise performance. On the other hand, the decentralized control is a promising control approach for multi-input/multi-output nonlinear uncertain systems due to its simplicity and ease of implementation. When a robot controller has a decentralized structure, each joint is controlled by a separate controller using feedbacks obtained from the same joint. As a result, the controller is computationally simple with easy implementation using available feedbacks. Therefore, designing a decentralized fuzzy controller with a precise tracking performance is our objective. For this purpose, we use the voltage control strategy.

Fuzzy controllers in proportional-integral-derivative (PID) structure are superior to the conventional PID controllers due to their capability to cope with nonlinearity[21]. According to the literature, a PD-like fuzzy controller has been efficiently used in many applications. The PD-like fuzzy controller used for controlling the joint position of the robot has a decentralized structure. We improve the PD-like fuzzy controller to have a precise robust fuzzy controller. For this purpose, we use a conventional PI controller to regulate a fuzzy rule which governs the origin of the tracking space.

A fuzzy controller may be designed by trial and error method to achieve a reasonable performance. In this paper, the convergence analysis is employed to design the fuzzy controller. Then, stability analysis is presented to verify the suggested controller. Steps to design a Mamdani type fuzzy controller are as follows:

  1. 1)

    Determine inputs and output of the controller;

  2. 2)

    Define the membership functions;

  3. 3)

    Write the fuzzy IF-THEN rules;

  4. 4)

    Select Mamdani type inference engine, the fuzzifier and the defuzzifier;

  5. 5)

    Formulate the fuzzy controller.

Inputs and output: The proposed control design has a decentralized structure in the form of PD-like fuzzy controller. Thus, inputs of the controller are determined as position error e and its derivative ė of each joint, and the output is determined as the voltage u of the motor. The tracking error e is expressed as e = θ d θ, in which θ d and θ are the desired and actual joint positions, respectively.

Membership functions: Membership functions play a significant role in the performance of control system. The center, range and shape of membership functions are the most significant parameters. The operating range of variables should be covered by membership functions. To cover a large unwanted error caused by disturbances or initial error, the membership functions of input located in the left and right sides should be sigmoid type whereas the membership functions in the center can be a Gaussian or triangular shape.

Based on the discussion above, three membership functions called P, Z and N are given to the input e in the operating range of manipulator as shown in Fig. 1 and expressed as

$$\begin{array}{*{20}{c}} {{\mu _{\text{P}}}(e) = \left\{ {\begin{array}{*{20}{c}} {0,}&{e \leqslant 0} \\ {\begin{array}{*{20}{c}} {2{e^2},} \\ {1 - 2{{(e - 1)}^2},} \\ {1,} \end{array}}&{\begin{array}{*{20}{c}} {0 \leqslant e \leqslant 0.5} \\ {0.5 \leqslant e \leqslant 1} \\ {e \geqslant 1} \end{array}} \end{array}} \right.} \\ {{\mu _{\text{N}}}(e) = \left\{ {\begin{array}{*{20}{c}} {1,}&{e \leqslant - 1} \\ {\begin{array}{*{20}{c}} {1 - 2{{(e + 1)}^2},} \\ {2{e^2},} \\ {0,} \end{array}}&{\begin{array}{*{20}{c}} { - 1 \leqslant e \leqslant - 0.5} \\ { - 0.5 \leqslant e \leqslant 0} \\ {e \geqslant 0} \end{array}} \end{array}} \right.} \\ {{\mu _z}(e) = exp\left( {\frac{{{e^2}}}{{2{\sigma ^2}}}} \right),\sigma = 0.3.} \end{array}$$
(12)

Membership functions of ė are given the same as those for einFig.1.

Fig. 1
figure 1

Membership functions of input e

To define the membership functions of output, we consider the maximum voltage of motor, u max, that is 42 V in this study. Then, we arrange the membership functions to cover the range of output in [−42, 42]. The membership functions of output u are named as positive high (PH), positive medium (PM), positive small (PS), zero (Z), negative small (NS), negative medium (NM) and negative high (NH). They are expressed as

$$\begin{array}{*{20}{c}} {{\mu _{{\text{PH}}}}(u) = exp\left( { - \tfrac{{{{(u - 42)}^2}}}{{32}}} \right)} \\ {{\mu _{{\text{PM}}}}(u) = exp\left( { - \tfrac{{{{(u - 28)}^2}}}{{32}}} \right)} \\ {{\mu _{{\text{PS}}}}(u) = exp\left( { - \tfrac{{{{(u - 14)}^2}}}{{32}}} \right)} \\ {\begin{array}{*{20}{c}} {{\mu _{\text{Z}}}(u) = exp\left( { - \tfrac{{{{(u - {{\hat y}_5})}^2}}}{{32}}} \right)} \\ {{\mu _{{\text{NS}}}}(u) = exp\left( { - \tfrac{{{{(u + 14)}^2}}}{{32}}} \right)} \\ {{\mu _{{\text{NM}}}}(u) = exp\left( { - \tfrac{{{{(u + 28)}^2}}}{{32}}} \right)} \\ {{\mu _{{\text{NH}}}}(u) = exp\left( { - \tfrac{{{{(u + 42)}^2}}}{{32}}} \right)} \end{array}} \end{array}$$
(13)

.

Fuzzy rules: Assigning three membership functions to each fuzzy input, the whole control space is covered by nine fuzzy rules. The linguistic fuzzy rules are proposed in the form of Mamdani type as

$${\text{Rule}}\;l:{\text{If}}\,e\,{\text{is}}\,{A_l}\,{\text{and}}\,\dot e\,{\text{is}}\,{B_t}\,{\text{then}}\,u\,{\text{is}}\,{C_l}$$
(14)

where Rule l denotes the l-th fuzzy rule for l = 1, , 9. In the l-th rule, A l , B l and C l are fuzzy membership functions belonging to the fuzzy variables e, ė and u, respectively. A set of fuzzy IF-THEN rules should be complete, consistent and continuous[22]. It is complete if for given inputs, one or more rules respond to it. It is consistent if there are no rules with the same IF parts but different THEN parts. It is continuous if there do not exist such neighboring rules whose THEN part fuzzy sets have empty intersection. We use the convergence analysis to define the fuzzy rules in this paper.

3.1 Convergence analysis

In order to provide the convergence of tracking error e, a positive definite function V(e) is suggested as

$$V(e) = 0.5{e^2}$$
(15)

where V (e) > 0 for e ≠ 0 and V(0) = 0. The time derivative of V(e) is obtained as

$$\dot V(e) = e\dot e.$$
(16)

We assign e to the horizontal axis and e to the vertical axis of the classic phase plane. According to the signs of e and e, the sign of V is determined in the four quarters of classic phase plane as follows: In the first quarter named as Q1 and in the third quarter named as Q3, we have V > 0, thus e diverges and goes away from the origin. In the second quarter named as Q2 and in the forth quarter named as Q4, we have V < 0, thus e converges and goes to the origin. The direction of state trajectory in the phase plane is clockwise.

Assume that a positive voltage u rotates the motor anticlockwise and amplifying voltage u increases the velocity θ. Ifθ < θ d , then e > 0 where e = θ d θ. Thus, a positive voltage u increases θ and reduces e. If θ ˙ < θ d , then ė > 0 where e = θ d θ. Thus, amplifying voltage u increases θ ˙ and reduces ė.

The following laws are suggested to direct the error trajectory toward the origin according to the convergence analysis:

  1. 1)

    The control effort u has the same sign as e.

  2. 2)

    A small control effort is sufficient in the converge-quarters Q2 and Q4.

  3. 3)

    A medium control effort is sufficient when passing from Q2 toQ1, and from Q4 to Q3.

  4. 4)

    A high control effort is required in the diverge-quarters Q1 and Q3.

  5. 5)

    The control effort must change the sign of ė to negative in Q1 for going into Q4.

  6. 6)

    The control effort should change the sign of ė to positive in Q3 for moving in Q2.

Using (12), (13) and (14), based on the convergence analysis, we define fuzzy rules in Table 1.

Table 1 Fuzzy rules

In order to obtain a precise tracking, Rule 5 which governs the vicinity of origin should be fine-tuned. Center of “zero fuzzy set” of output u is regulated to reduce the tracking error. An ordinary proportional-integral (PI) controller equipped by a saturation unit is proposed to fulfill this role as

$${\hat y_5} = \left[ {\begin{array}{*{20}{c}} {{u_{\max }},}&{{\text{if}}\;{k_p}e + {k_i}\smallint e\,{\text{d}}t > {u_{\max }}} \\ {\begin{array}{*{20}{c}} {{k_p}e + {k_i}\smallint e\,{\text{d}}t,} \\ { - {u_{\max ,}}} \end{array}}&{\begin{array}{*{20}{c}} {{\text{if}}\;{\text{|}}{k_p}e + {k_i}\smallint e\,{\text{d}}t| < {u_{\max }}} \\ {{\text{if}}\;{k_p}e + {k_i}\smallint e\,{\text{d}}t < - {u_{\max }}} \end{array}} \end{array}} \right.$$
(17)

where k p is a proportional gain and k i is an integral gain.

Inference engine, fuzzifier and defuzzifier: Since the used fuzzy rules are Mamdani type, we choose the Mamdani type inference engine. The singleton fuzzifier and the center average defuzzifier are commonly used in the design of fuzzy controllers that are computationally simple with a reasonable response.

Formulating the fuzzy controller: Following the previous step, the proposed control law u[22] is then formulated as

$$u = \sum\limits_{l = 1}^9 {{{\hat y}_l}{\psi _l}(e,\dot e) = {{\hat y}^T}\psi (e,\dot e)} $$
(18)

where ŷ is given by (13) as

$$\hat y = \left[ {\begin{array}{*{20}{c}} {\begin{array}{*{20}{c}} {\begin{array}{*{20}{c}} {42}&{28}&{14} \end{array}}&{28}&{{{\hat y}_5}}&{ - 28} \end{array}}&{ - 14}&{ - 28}&{ - 42} \end{array}} \right]$$
(19)

Wher ŷ5 is exressed in (17), ψ =[ψ 1 , …, ψ 9 ] T ,ψ 1 is a positive valur expressed as

$${\psi _l}(e,\dot e) = \frac{{{\mu _A}_{_l}(e){\mu _B}_{_l}(\dot e)}}{{\sum\limits_{l = 1}^9 {{\mu _A}_{_l}(e){\mu _{{B_l}}}(\dot e)} }}$$
(20)

where A l and B l are defined in Table 1 and expressed in (12).

An important contribution of fuzzy systems theory is to provide a systematic procedure for transforming a set of linguistic rules into a nonlinear mapping as (18).

3.2 Stability analysis

Stability analysis of the control system is presented to evaluate the proposed PRFC in (18). The proposed control approach is a decentralized control. Thus stability of all joints implies the stability of the robotic system.

The electrical equation of motor in the scalar form is given by (4)

$$R{I_a} + L{\dot I_a} + {K_{{b^r}}}^{ - 1}\dot \theta + \phi (t) = u.$$
(21)

Applying control law (18) yields the closed loop system

$$R{I_a} + L{\dot I_a} + {K_{{b^r}}}^{ - 1}\dot \theta + \phi (t) = {\hat y^{\text{T}}}\psi (e,\dot e).$$
(22)

To make the dynamics of tracking error well defined such that the robot can track the desired trajectory, we make the following assumption.

Assumption 1. The desired trajectory θ d must be smooth in the sense that θ d and its derivatives up to a necessary order are available and all uniformly bounded.

As a necessary condition to design a robust control, the external disturbance must be bounded.

Assumption 2. The external disturbance ϕ(t) is bounded as

$$|\phi (t)| \leqslant {\phi _{\max }}$$
(23)

where ϕ max is a positive constant.

By multiplying both sides of (21) by I a , one obtains the following power equation

$$u{I_a} = RI_a^2 + L{\dot I_a}{I_a} + {k_b}{r^{ - 1}}\dot \theta {I_a} + \phi (t){I_a}.$$
(24)

Motor receives the electrical power expressed by ul a to provide the mechanical power stated as k b r 1 θI a in (20). The power \(RI_a^2\) is the loss in the windings, and the power LI a I a is the time derivative of the magnetic energy. From (24), we can write for \(t \geqslant 0\)

$$\begin{array}{*{20}{c}} {\int_0^t {(u - \phi (\sigma )){I_a}{\text{d}}\sigma = \int_0^t {RI_a^2{\text{d}}\sigma + \int_0^t {L{{\dot I}_a}{I_a}{\text{d}}\sigma + } } } } \\ {\int_0^t {{k_b}{r^{ - 1}}\dot \theta {I_a}{\text{d}}\sigma .} } \end{array}$$
(25)

With I a (0) =0, (25) becomes

$$\int_0^t {(u - \phi (\sigma )){I_a}{\text{d}}\sigma {\text{ = }}RI_a^2t + 0.5LI_a^2 + } \int_0^t {{k_b}{r^{ - 1}}\dot \theta {I_a}{\text{d}}} \sigma .$$
(26)

Since \(RI_a^2t \geqslant 0\) and \(0.5LI_a^2t \geqslant 0\),

$$\int_0^t {{k_b}{r^{ - 1}}\dot \theta {I_a}{\text{d}}\sigma \leqslant } \int_0^t {(u - \phi (\sigma )){I_a}{\text{d}}\sigma {\text{.}}} $$
(27)

Thus, the upper bound of mechanical energy \(\int_0^t {{k_b}{r^{ - 1}}\theta {I_a}\operatorname{d} \sigma } \) is given by

$$\int_0^t {{k_b}{r^{ - 1}}\dot \theta {I_a}{\text{d}}\sigma = } \int_0^t {(u - \phi (\sigma )){I_a}{\text{d}}\sigma {\text{.}}} $$
(28)

Thus,

$$\frac{{{\text{d}}\left( {\int_0^t {{k_b}{r^{ - 1}}\dot \theta {I_a}{\text{d}}\sigma } } \right)}}{{{\text{d}}t}} = \frac{{d\int_0^t {(u - \phi (\sigma ){I_a}d\sigma )} }}{{{\text{d}}t}}.$$
(29)

Hence,

$${k_b}{r^{ - 1}}\dot \theta {I_a} = (u - \phi (t)){I_a}.$$
(30)

Therefore, θ is limited as

$$|\dot \theta | \leqslant {k_b}^{ - 1}r(|u| + |\phi (t)|).$$
(31)

The electric motor should be protected against the over voltage. Thus, we make the following assumption.

Assumption 3. The motor voltage is bounded as

$$|u|\, \leqslant {u_{\max }}.$$
(32)

We ensure (32) by considering that the membership functions \(0 \leqslant {\mu _{{A_l}}}(e) \leqslant 1\) and \[0 \leqslant {\mu _{{B_l}}}(\dot e) \leqslant 1\] for \(l = 1, \cdots ,9\). Thus, ψ l (e,ė) in (20) is bounded. The membership functions of inputs, μ Al (e) and μ Bl (ė), can be defined such that if ψ l i(e,ė) = 1 for l = l 1, then ψ l (e,ė) = 0 for ll 1. Consequently \(u = \sum {_{l = 1}^9{{\hat y}_l}{\psi _l}(e,\dot e) = {{\hat y}_{{l_1}}}} \) if ψ l 1 (e, ė) = 1. Therefore, in order to satisfy \(\left| u \right| \leqslant {u_{\max }}\), it is required to select ŷ l such that

$$\left| {\hat yt} \right| \leqslant {u_{\max }}\quad \operatorname{for} \;l = 1, \cdots ,9.$$
(33)

Since ψ l (e,ė) and ŷ l are bounded, \(u = \sum {_{l = 1}^9{\psi _l}(e,\dot e} ){\hat y_l}\) will be bounded.

Substituting (23) and (32) into (31) yields

$$\left| {\dot 0} \right| \leqslant k_b^{ - 1}r({u_{\max }} + {\phi _{\max }}) = {\dot \theta _{\max }}$$
(34)

where θ max is the maximum velocity of motor. Inequality (34) verifies that the joint velocity θ is bounded. From (21), we can write

$$R{I_a} + L\dot I = w$$
(35)

where

$$w = u - {k_b}{r^{ - 1}}\dot \theta - \phi (t).$$
(36)

We can see that u, θ and ϕ(t) are bounded as stated by (32), (34) and (23), respectively. Consequently, w expressed by (36) as the input in (35) is bounded. The linear differential equation (35) is a stable linear system based on the Routh-Hurwitz criterion. Since the input w is bounded, the output I a is bounded. From (35), we have

$$L{\dot I_a} = w - R{I_a}.$$
(37)

Since w and I a are bounded, İ a is bounded.

To consider the convergence of tracking error e, we calculate V in (15) using ė = θ d θ ˙ as

$$\dot V = e\left( {{{\dot \theta }_d} - \dot \theta } \right).$$
(38)

One can easily show from (22) that

$$\dot \theta = K_b^{ - 1}r\left( {\sum\limits_{l = 1}^9 {{{\hat y}_l}{\psi _l}(e,\dot e) - R{I_a} - L{{\dot I}_a} - \phi (t)} } \right).$$
(39)

Substituting (39) into (38) yields

$$\dot V = e{\dot \theta _d} - eK_b^{ - 1}r\left( {\sum\limits_{l = 1}^9 {{{\hat y}_l}{\psi _l}(e,\dot e) - R{I_a} - L{{\dot I}_a} - \phi (t)} } \right).$$
(40)

To establish the convergence, we should satisfy V < 0. To satisfy V < 0 in (40), it is required that

$$e\left( {{k_b}{r^{ - 1}}{{\dot \theta }_d} + R{I_a} + L{{\dot I}_a} + \phi (t)} \right) < e\sum\limits_{l = 1}^9 {{{\hat y}_l}{\psi _l}(e,\dot e)} .$$
(41)

For this purpose, the motor must be sufficiently strong to follow the desired joint velocity under the maximum permitted voltage. Therefore, the following assumption is made.

Assumption 4. The motor is sufficiently strong for tracking the desired trajectory such that

$$\left| {R{I_a} + L{{\dot I}_a} + {k_b}{r^{ - 1}}{{\dot \theta }_d} + \phi (t)} \right| \leqslant \rho (t) < {u_{\max }}$$
(42)

where ρ (t) is a positive scalar. Using Cauchy-Schwartz inequality and (42), it follows that

$$\begin{array}{*{20}{l}} {e\left( {{k_b}{r^{ - 1}}{{\dot \theta }_d} + R{I_a} + L{{\dot I}_a} + \phi (t)} \right) \leqslant } \\ {\;\;\,\left| e \right| \cdot \left| {{k_b}{r^{ - 1}}{{\dot \theta }_d} + R{I_a} + L{{\dot I}_a} + \phi (t)} \right| \leqslant } \\ {\;\;\,\left| e \right| \cdot \rho (t)} \end{array}$$
(43)

Thus, to satisfy (41), it is sufficient that

$$\left| e \right| \cdot \rho (t) = e\sum\limits_{l = 1}^9 {{{\hat y}_l}{\psi _l}(e,\dot e).} $$
(44)

Hence, in general the following condition provides convergence.

$$\rho (t) = e\sum\limits_{l = 1}^9 {{{\hat y}_l}{\psi _l}(e,\dot e)\operatorname{sgn} (e)} $$
(45)

where sgn \((e) = \frac{e}{{\left| e \right|}}\). As mentioned above, if ψ l (e,ė) = 1 for l = l 1 then for ll 1, then ψ l (e,ė) = 0 for ll 1. Thus \(\sum {_{l = 1}^9{{\hat y}_l}{\psi _l}(e,\dot e) = {{\hat y}_{{l_1}}}} \). As a result, if ψ l 1(e,ė) = 1, the convergence is guaranteed using

$$\rho (t) = {\hat y_{{l_1}}}\operatorname{sgn} (e).$$
(46)

Thus,

$${\hat y_{{l_1}}} = \rho (t)\operatorname{sgn} (e).$$
(47)

Equation (47) follows that

$$\left| {{{\hat y}_{{l_1}}}} \right| = \rho (t)\quad \operatorname{and} \quad \operatorname{sgn} ({\hat y_{{l_1}}}) = \operatorname{sgn} (e).$$
(48)

Thus, the motor tracking error converges to zero. In the vicinity of equilibrium point, when e and e are very small and |k p e + ki ∫ edt| < u max, from (17) and (47), we can write

$${k_p}e + {k_i}\int {e\operatorname{d} t} = \operatorname{sgn} (e)\rho (t).$$
(49)

By taking derivative from both side of (49) for e ≠ 0, we have

$${k_p}\dot e + {k_i}e = \dot \rho (t).$$
(50)

Equation (50) is obtained by considering \(\frac{{\operatorname{d} (\operatorname{sgn} (e))}}{{\operatorname{d} t}} = 0\) for e ≠ 0. If ρ(t) = 0, we have e → 0 as t → ∞, for k p > 0 and k i >0.

Calculating V from (15) and (50), and using sgn(e)e = |e| results in

$$\dot V(e) = \frac{{\dot \rho (t)e - {k_i}{e^2}}}{{{k_p}}}.$$
(51)

Thus, in the case of ρ(t) 0, the convergence of error is guaranteed by V(e) < 0 if satisfying

$$\frac{{\dot \rho (t)}}{{{k_i}}} < \left| e \right|.$$
(52)

The performance of the fuzzy controller is improved by selecting a large k i since the size of tracking error becomes as small as \(\frac{{\dot \rho (t)}}{{{k_i}}}\). In addition, the origin of the tracking space is stable if gains k p and k i are positive. However, the tracking error depends on ρ(t), which is not known in (50). To obtain a desired performance, the gains k p and k i should be fine-tuned. One may choose them by trial and error method or using an optimization method such as particle swarm optimization to achieve an optimal performance[23].

4 PD-like fuzzy control

The proposed controller (18) has been developed by improving the PD-like fuzzy controller. Therefore, we prefer to compare it with the PD-like fuzzy controller to show its superiority. A decentralized PD-like fuzzy controller in the form of Mamdani type using VCS is designed. The PD-like fuzzy controller has two inputs of e and ė and the output u. Three membership functions of P, Z and N are given to each input as shown in Fig. 1 membership functions. The Gaussian MFs in the form of (13) with the centers of y in (53) are given to the controller output u.

$$\hat y = \left[ {42\quad 28\quad 14\quad 28\quad 0\quad - 28\quad - 14\quad - 28\quad - 42} \right].$$
(53)

Following the steps of design, u is formulated as

(54)

where k 1 and k 2 are the input scaling factors which are the control design parameters.

5 Simulations

The proposed PRFC is simulated on a selective compliant assembly robot arm (SCARA) driven by permanent magnet DC motors as shown in Fig. 2. The performance of the PRFC is compared with the PD-like fuzzy controller. Fig. 2 shows the initial configuration of robot manipulator. The Denavit-Hartenberg (DH) parameters of the SCARA are given in Table 2, where the parameters θ i , di, a i and αi are called the joint angle, link offset, link length and link twist, respectively.

Fig. 2
figure 2

Symbolic representation of the four-link SCARA

Table 2 The DH parameters

The dynamical parameters of manipulator are given in Table 3 for the i-th link, m i is the mass, is the center of mass expressed in the i-th frame, and I i is the inertia tensor expressed in the center of mass frame defined as

$${I_i} = \left[ {\begin{array}{*{20}{c}} {{I_{xxi}}}&{{I_{xyi}}}&{{I_{xzi}}} \\ {{I_{xyi}}}&{{I_{yyi}}}&{{I_{yzi}}} \\ {{I_{xzi}}}&{{I_{yzi}}}&{{I_{zzi}}} \end{array}} \right].$$
(55)
Table 3 The dynamical parameters of SCARA

The parameters of motors are given in Table 4.

Table 4 The specifications of DC servo motors

The desired position for every joint is given by

$${\theta _d} = \left\{ {\begin{array}{*{20}{c}} {0.5 - 0.5\cos \frac{{\pi t}}{2},}&{\operatorname{if} }&{0 \leqslant t < 2} \\ {1,}&{\operatorname{if} }&{2 \leqslant t < 4.} \end{array}} \right.$$
(56)

The capability of control system in both set point and tracking can be considered by the desired trajectory (56), where the first part is time variant, and the second part is constant.

Simulation 1. We simulate the proposed PRFC given by (18) by selecting the controller gains as given in Table 5 and u max = 42V.

Table 5 Controller gains

The external disturbance is inserted to the system by a pulse function with a period of 4 s, amplitude of 1V, phase delay of 1s and pulse width of 2 s. The decentralized PRFC shows a satisfactory performance under the given distur-bance in Fig. 3 such that the value of tracking error for joint 3 reaches −3.7 × 10−6 m at the end which is ignorable. In order to evaluate the control performance, we use the mean of integral of squared errors, MISE, in the operating range T = 4 s on four joints expressed as

$$\operatorname{MISE} = \frac{1}{T}\int_0^T {(e_1^2 + e_2^2 + e_3^2 + e_4^2)\operatorname{d} t.} $$
(57)
Fig. 3
figure 3

Performance of the PRFC under disturbance

MISE is calculated as MISE = 8.223 × 10−8 which is ignorable. The control efforts behave well under the maximum voltage in the presence of disturbance as shown in Fig. 4. The center of zero fuzzy set of the consequent part of Rule 5 is regulated as shown in Fig. 5. The proposed decentralized PRFC is very simple, highly accurate, model-free and robust with guaranteed stability as verified in Section 3.

Fig. 4
figure 4

Control efforts of the PRFC under disturbance

Fig. 5
figure 5

Adapting the center of zero fuzzy set of output

Simulation 2. The decentralized PD-like fuzzy controller (54) is simulated. The same external disturbance as used in Simulation 1, is inserted to the control system. The performance of the PD-like fuzzy controller is shown in Fig. 6. Tracking error for joint 3 at the end is about −3.1 × 10−3 m. This value is about 837 times greater than the one in the PRFC. The MISE of the PD-like fuzzy controller is about 1.337×10−5. This value is about 163 times greater than its value in the PRFC. The control efforts behave well under disturbance as shown in Fig. 7. Performance of the decentralized PD-like fuzzy controller is quite good. However, the performance of the decentralized PRFC is much better.

Fig. 6
figure 6

Performance of the PD-like fuzzy controller under disturbance

Fig. 7
figure 7

Control efforts of the PD-Like fuzzy controller under disturbance

6 Conclusions

The decentralized PRFC of electrically driven robot manipulators has been proposed using voltage control strategy and convergence analysis. This design is important from a control point of view that the state-space model of the robotic system including robot manipulator and motors is in non-companion form, multivariable, highly nonlinear and heavily coupled with a variable input gain matrix. The proposed decentralized PRFC is simple, model-free, robust with guaranteed stability and high accuracy tracking performance in a decentralized structure. The error and its derivative are the only feedbacks required for the proposed control law. Simulation results show the effectiveness of the proposed PRFC. It is superior to the PD-like fuzzy controller as presented through comparisons.