Sectorial Fuzzy Controller Plus Feedforward for the Trajectory Tracking of Robotic Arms in Joint Space

In this paper, we propose a Sectorial Fuzzy Controller (SFC) with a feedforward compensation of the robot dynamics in joint space, evaluated at the desired angular positions, velocities, and accelerations, applied to the trajectory tracking of all revolute joints robotic arms. Global uniform asymptotic stability proof applying the direct Lyapunov theorem, is introduced for this new control scheme by using a strict Lyapunov function. This strict Lyapunov function is the first one within the field of fuzzy control that is applied to the trajectory control of robotic manipulators. With this strict Lyapunov function, a sensitivity analysis was also computed for this novel control scheme. Additionally, physical and simulation experimental results are given in comparison to the original control scheme, in which this new controller is inspired: the Proportional-Derivative (PD) controller plus feedforward compensation. The experimental results yielded better performance for the new fuzzy control scheme when compared to the classical structure, in both the joint position errors for similar or smaller values of applied torques, showing the expected tolerance to parametric deviations and uncertainties that all fuzzy controllers possess.


Motivation
Most industrial robotic arms are controlled in trajectory tracking tasks by applying a Proportional + Integral + Derivative (PID) controller, although it has not been proven that this type of controller can actually approach to a zero steady-state error for that specific type of tasks. From the original control schemes that were applied to robotic arms, only the computed-torque and the Proportional-Derivative (PD) plus feedforward schemes have been proved to tend asymptotically to zero steady-state error for trajectory tracking in robotic arms, whose proof extends to a global asymptotic stability. The latter implies that the initial position error can be of any value and both of the aforementioned control schemes will achieve that the robotic arm follows the desired trajectory. Both of the control schemes use a PD controller plus the whole robot dynamics connected in some fashion; in the case of the Computed-Torque Controller (CTC), it manages to eliminate all of the non-linearities of the robot model and turn the closed-loop equivalent into a linear system. In the case of the PD plus feedforward (PD + ff), the feedforward block is composed by the robot model evaluated at the desired angular positions, velocities, and accelerations, which yields an excellent tracking performance, comparable with that of the CTC [1]. Nonetheless, a robot is highly nonlinear, with variations in its parameters at almost each point of execution. Within the various existing control approaches to the motion control of robots, fuzzy controllers can be a robust and efficient alternative in cases where it is difficult results are presented for the control of the pendulum, since no mathematical model is considered for the design of the controller with good results.
From all of the previous references, we can conclude that either the work presented is only applicable to the plant for which they are making the design of the controller, as in [6][7][8], or the controller requires such extensive computing [9] that makes it prohibitive its application in typical industrial robot manipulators, or it could be applied to robots if their work can be extended to more than one link [11]. Additionally, in only half of the papers, a full stability analysis was presented, and none of the previous works have found a strict Lyapunov function for the stability analysis of its control approach.
In previous works, where the SFC was applied to ensure position global regulation [4] and global motion trajectory tracking [3] for robot manipulators, present as a common feature that the respective closed-loop systems are autonomous. However, the motion trajectory tracking problem for robot manipulators with feedback or feedforward compensation usually leads to nonautonomous nonlinear closed-loop systems. The main obstacle for ensuring global uniform asymptotic stability (GUAS), in this class of systems, is the lack of a strict Lyapunov function (a decrescent and radially unbounded, globally positive definite function, whose time derivative is a globally negative definite function). With the goal of overcoming such a challenge, this paper introduces two new properties of the SFC developed in the lemmas included in Section 3.2, which allow us to construct a strict Lyapunov function that leads to prove the GUAS of the robot manipulators in a closed-loop with the SFC plus feedforward compensation. This strict Lyapunov function allowed for us to evaluate the sensitivity to changes in the elements of the robot model. In the present paper, we introduce, for first time, the application of the SFCs into nonautonomous closedloop systems in robotic manipulators. Furthermore, the proposed control law has the useful feature of providing bounded torques in accordance with the limits of the actuators.

Novelties
Our proposed control scheme possesses the following advantages with respect to other controllers reviewed: • A strict Lyapunov function that guarantees full global uniform asymptotic stability, which, in turn, guarantees that the robot manipulator applied in this controller will be able to track the desired position trajectory, regardless of its initial angular position. • The availability of a strict Lyapunov function allows for the sensitivity analysis to be carried out in a very direct way. • Furthermore, the proposed control law has the useful feature of providing bounded torques in accordance with the limits of the actuators. This is due to the output boundedness characteristics of the SFC, and that its feedforward compensation is formed by the parameters of the robot, which are also bounded, as long as the desired trajectories are bounded. • Besides, it is very simple to design, since almost all of the tuning parameters are already defined by the sectorial guidelines that it has to adhere to, and the fact that the feedforward compensation block is fixed, with no parameters to change. • Furthermore, due to its control law, the design of every SFC for every joint, for this control scheme, can be done individually, which is the contrary to the computedtorque sectorial controller, as defined in [3], where the SFCs of all the joints of a robot have to be tuned together, which, for an industrial robot of 3, 5 6, or 7 degrees of freedom, this becomes a very complicated task. • Additionally, this independence among parts of the controller can be used to model the robot as a distributed or decentralized system which can lead to better and simpler control schemes. • This controller is very simple to implement. There is no need for a high-end computer to run the code that implements this control scheme, which can be exported to an embedded system, like a low-cost Digital Signal Processor (DSP) or a Field Programmable Gate Array (FPGA), which, in turn, can reduce the costs for mass production of robots while using this type of controller. • This control structure can be applied to any serial robot that is composed by n−links without the need to change anything in its control law and design procedure, while keeping all of its properties. • The application of this controller in industrial applications is limited to those, like welding or painting, where there are not many changes in the mass parameters of the robot. The available applications can be extended to pick-and-place tasks or similar, if this controller is coupled with and adaptive block or estimator that can modify its feedforward compensation block.
Finally, the remainder of this paper is organized, as follows: first, a preliminaries section, where all the details related to the dynamics of robot manipulators with rigid links, the PD Control with feedforward compensation, and fuzzy logic controllers, are reviewed. Second, a complete section devoted to the SFC plus feedforward Compensation, the SFC definition with its original properties, and the properties that were proven for its stability analysis. The stability analysis of the SFC plus feedforward is analysed in detail in Section 4 by applying Lyapunov's direct method, where a strict Lyapunov function is proven thoroughly and then used to analyse the sensitivity of the proposed control scheme. Subsequently, in the results Section, the 2-DOF robotic arm used in the simulation and experimental tests is described, along with the design of the SFC plus feedforward and the comparative results obtained both in simulation and physical implementation of the proposed scheme and its crisp counterpart, the PD plus feedforward controller. Finally, we have the sections of Discussion and Conclusions, where all of the results obtained in previous sections are discussed and commented.

Dynamics of Robot Manipulators with Rigid Links
The dynamics of a serial n-link robot can be summarised by the Euler-Lagrange equations [12,13] as: where q is the n × 1 vector of angular positions at every joint in generalized coordinates and available for measurement,q is the n × 1 vector of joint angular velocities,q is the n × 1 vector of joint angular accelerations, τ is the n × 1 vector of applied torques, M(q) is the n × n symmetric positive definite inertia matrix, C(q,q)q is the n × 1 vector of centrifugal and Coriolis torques, g(q) is the vector of gravitational torques, η is the n-vector of uncertainties, which includes external disturbances, and all of the uncertainties in the parameters and dynamics not modelled in the robot; and, f (q) is the n × 1 vector of friction torques. In the static models, friction is modelled by a vector f (q) ∈ R n that only depends on the joint velocityq [1]. A static friction model combines both viscous and Coulomb friction phenomena. This model states that the vector f (q) is composed as The diagonal elements of F v are the viscous friction parameters, and the elements of F C are the Coulomb friction parameters; both of them are n × n diagonal positive definite matrices, where sgn(q) denotes the vector sign function. The dynamics of the n-link robot manipulator modelled by (1) has the following properties, which hold for manipulators having all rigid-link revolute joints [1,14], Property A. The inertia matrix M(q) is symmetric and positive definite; that is, where λ min {M} = inf q λ min {M(q)}, λ max {M} denotes the textsup q λ min {M(q)}, and x ∈ R n is any vector of n real values. Property B. The vector C(q,x)y satisfies the bound Property C. Assuming that the centrifugal and Coriolis torque matrix C(q,q)q is computed by means of Christoffel symbols of the first kind. Therefore, it is related to the derivative of the inertia matrix, M, as, which means that C(q,q) has a skew symmetry relation withṀ: Property D. The residual dynamics, h(q,q), [15,16], is defined as, where q d is the desired angular joint position, which is assumed to be three times differentiable with bounded derivatives for all time t ≥ 0. The angular joint position error is denoted by The residual dynamics (7) has the property that is defined in (9) and it satisfies the inequality in (10) [1]: h(q,q) ≤ k h1 q + k h2 tanh (q) , where k h1 and k h2 are sufficiently large strictly positive constants that depend on the robot model parameters, tanh (q) = [tanh(q 1 ) tanh(q 2 ) . . . tanh(q n )] T , and q denotes the Euclidean norm of the vector q. The inequality that is expressed in (10) implies that h(q,q) is upper-bounded. Figure 1 shows the block diagram of the Proportional + Derivative Control plus Feedforward, which is used for the tracking motion control of a robot manipulator, The control law for this controller is given by [1,17]

PD Control with Feedforward Compensation for Robot Manipulators
where K p , K v ∈ R n×n are symmetric positive definite matrices, which are called gains of position and velocity respectively; and,˙ is the angular velocity error. This controller has been proved to have global uniform asymptotic stability that is modelled as in (1), or considering the actuators of the robot and its saturations [17,18].
The feedforward part of this control scheme, from which it receives its name, are the elements of the robot model, as described in (1). If these elements are considered into one block using algebra of block diagrams, we have the equivalent representation of Figure 2. The term "feedforward" was coined in the early years of the development of the control systems field as an intuitive name to refer to the counterpart of the feedback used in closed-loop systems. Additionally, it is basically a block that connects the input of the control system to the input of the controlled plant, as depicted in Figure 2. Normally, the feedforward block is used as a tool to eliminate disturbances to the plant coupled with feedback control [19], but, in the specific case of this controller, it helps the PD controller to compensate all of the dynamics of the robot and achieve a global uniform asymptotic stability.

Fuzzy Logic Controllers (FLCs)
The idea and definitions of a fuzzy set and a fuzzy logic were proposed by L. A. Zadeh in 1964, and it was first implemented in 1976 in a Danish cement plant. Fuzzy controllers are a robust and efficient tool, especially in cases where it is difficult to have an adequate purely analytical description of the controlled process, but where empirical knowledge is available, which is, the experience of the operators that control such processes. On the other hand, the fuzzy control of nonlinear systems turned out to be an excellent tool, combining elements of knowledge of performance about the system with an analytical approach. Fuzzy modelling of nonlinear systems for control purposes is, together with neural networks, the most intensively developed approach that has been practically applied since the 1990s. A fuzzy set can be mathematically defined by assigning, each possible individual in the universe of discourse, a value that represents its membership degree to a fuzzy set. This degree corresponds to the level that an individual is similar or compatible with the concept represented by that fuzzy set. Thus, individuals may belong to the fuzzy set to a greater or lesser degree, as indicated by a greater or lesser degree of membership. These degrees of membership are represented by real values in the closed interval [0 1].
Fuzzy variables facilitate gradual transitions between different states, and they have a natural ability to express and deal with measurement and observation uncertainties. Traditional variables, so-called crisp variables, do not have this ability. Although the definition of states by crisp sets is mathematically correct, it is not realistic for measurement errors. A measurement that falls in a close neighbourhood of the boundary of two different states of a variable is taken as belonging to only one of those states, despite the uncertainty involved.
Fuzzy control rules are the knowledge of an expert in any related field of application. A fuzzy rule is represented by a sequence of the form IF-THEN (IF-THEN), giving rise to algorithms that describe what action or output should be taken in terms of the current information. The design of fuzzy rules is based on the knowledge or experience of an expert. An IF-THEN fuzzy rule associates a condition using linguistic variables and fuzzy sets to an output or a conclusion. The IF part captures the knowledge through the use of elastic conditions, and the THEN part provides the conclusion or output in the form of a linguistic variable. These IF-THEN rules are used by a fuzzy inference system to calculate the degree to which the input data matches the condition of a rule [20]. Figure 3 shows the typical block diagram for a Fuzzy Logic Controller (FLC) used in direct form to control a plant.  Fuzzy Inference deduces the fuzzy output from the rule base and the input signals. This divides the FLCs into two types that can be distinguished mainly: Mamdani type, when the rules and their consequences are both defined linguistically; and, T-S-K type (Takagi, Sugeno, and Kang), when the rules and/or their consequences are in the form of a mathematical function, so they do not use a defuzzification interface and the inference engine works differently.
For this work, we are mainly interested in the Mamdani type of FLC. When considering that the FLC has n inputs x 1 , x 2 , . . . , x n and m outputs y 1 , y 2 , . . . .y m ; these n × m variables define the knowledge base for the FLC, with its IF-THEN rules being of the form, with x k ∈ U k ⊂ R; k = 1, 2, . . . , n where U k ; k = 1, 2, . . . , n are the universes of discourse for every x k ; y i ∈ U Oi ⊂ R; i = 1, 2, . . . , m, where U Oi are the universes of discourse for every output y i . A l k j ⊂ U k ; k = 1, 2, . . . , n; j = 1, 2, . . . N k , are the fuzzy sets for every x k ; B l 1 l 2 ...l n i ⊂ U Oi ; i = 1, 2, . . . , m are the fuzzy sets for every output y i . When a l j fuzzy rule is fired, the function µ l k A j (x k ), which is called membership function (MF) of x k in A j , assigns a value to the membership grade of x k in the fuzzy set A j ; and finally, the output variable, y has a M O number of MFs µ B l i (ȳ) that are related to every consequent of the rule base, µ B l 1 l 2 ...ln i (ȳ), whereȳ is the fuzzified output. The total number of fuzzy rules is calculated as N = N 1 N 2 · · · N n , the multiplication of the number of MFs for each input. For the defuzzification block that converts the fuzzified output y into a crisp value, there are several methods reported in literature [22], from them the most used in the implementation of Mamdani FLCs are the Center of gravity (COG) and the centre average (CA), and, from those two, the CA is of particular interest, since most implementations of FLC use singletons as output fuzzy sets. With a CA defuzzifier and a minimum inference, every output of our Mamdani FLC is computed as and if the product inference method is used, every output is equal to Additionally, if the output fuzzy sets are defined as singletons,ȳ is directly the value of the corresponding singleton without the need to compute the centres of the inferenced output.

Sectorial Fuzzy Control Plus Feedforward Compensation
The control objective is to find a motion tracking sectorial fuzzy controller to ensure global uniform asymptotic stability of the non-autonomous closed loop system, guaranteeing that the angular position errors asymptotically tend to zero. Toward this end, we propose the Sectorial Fuzzy Control plus feedforward, which has a very similar configuration as the PD control plus feedforward, as described in [1], except that, in our proposal, the PD control is replaced by a Sectorial Fuzzy Control, as shown in Figure 5. The control law for this new control scheme is, where Φ q,q is a n × 1 vector whose elements φ i (q i ,q i ), with i = 1, 2, 3, . . . , n, are the real input-output mappings of the n SFCs, It has been proven in [23] that a SFC is actually a PD controller, but, in this case, its gains become a nonlinear fuzzy equivalent of the K P and K V gains of a regular PD controller via the computation of the function Φ q,q . This provides the original PD control with feedforward compensation with the properties of a fuzzy controller, mainly the tolerance to slight parametric deviations. Figure 5. Proposed Sectorial Fuzzy Control plus feedforward. The feedforward block is formed by the dynamics of the robot evaluated at the desired trajectories, their first and second derivatives. The controller is of a special fuzzy class, named sectorial, due to its sectorial properties, and it performs the tasks of a PD controller, but as a Mamdani fuzzy system of its own.

Sectorial Fuzzy Controller (SFC) and Its Properties
First introduced by Calcev in [2], a SFC is a special class of fuzzy controller that forms a nonlinear input-output static mapping relating two inputs to one output, with useful sectorial properties that enable the analysis of its stability. Because there are two inputs x 1 , x 2 and one output y, these three variables define the knowledge base for the SFC, with its IF-THEN rules being of the form, respectively; and, taken in tandem, they form a two-dimensional universe of discourse for the input vector are the fuzzy sets for x 1 , x 2 , respectively; while, B l 1 l 2 ⊂ U O fuzzy sets for y. When a l 1 , l 2 fuzzy rule is fired, the function µ l 1 A 1 (x 1 ), called membership function (MF) of x 1 in A 1 , assigns a value to the membership grade of x 1 in the fuzzy set A 1 ; likewise, the MF µ l 2 A 2 (x 2 ) assigns a value to the membership grade of x 2 in the fuzzy set A 2 ; and finally, the output variable, y has a odd M O number of MFs µ B l (ȳ) related to every consequent of the rule base, (ȳ)}. In this case, for a fuzzy controller to be a SFC, it must have an odd number of input and output fuzzy sets, that is M 1 , M 2 , and M O must be odd [2], therefore The total number of fuzzy rules is calculated as M = M 1 M 2 , the multiplication of the number of MFs for each input. An example of the summarized fuzzy rule base is shown in its look-up table in Table 1.
A fuzzy controller must defined, as follows, to be a SFC [2][3][4]: One output as a fuzzy mapping of two inputs. All of the MFs have to be symmetric with respect to zero, with an odd number of input and output fuzzy sets. The MF of adjacent input fuzzy sets must be defined, so that they have complementary membership grades for every input value. The definition of fuzzy sets for the input MF must be convex in the sense given by [2], and around zero no trapezoidal or similar MFs can be used, since, for null inputs, there must be a null consequent. The consequents of the fuzzy rules table increase from left to right, and from top to bottom, with a null output for null inputs, this creates a diagonal antisymmetry around the centre of the fuzzy rules table, as it can be exemplified and readily seen in Table 1. The output is computed by the centre average defuzzifier, applying the minimum or product inference method. Because of the condition for |φ (42) found within the development of Lemma 3 in the next section, no column or row adjacent to a zero input row or column can have the same consequents. With all of these specifications and lineaments, the output of the SFC is computed as the nonlinear input-output static mapping relating two inputs to one output, φ(x 1 , x 2 ), as follows if the product inference method is selected, and if the minimum inference method is used.
When a SFC is defined as outlined in the previous paragraphs, it will have the next sectorial properties listed below. All of these properties have already been proven in [2,3].
For the rest of this work we have selected, without a loss of generalisation, the next specifications to define the SFC under study: • singleton consequents, so that the centres of the corresponding output MFs do not need to be computed in order to decrease the computing time and computing complexity of our controller. This will enable us to implement it in any low-end real time platform, • product inference, which will turn (19) into the convex combination of (23) as exploited previously in [3,4], and • and centre average defuzzifier, which is a prerequisite for our controller to be a SFC.
Applying this specifications to (19), and also considering the n × 1 elements of Φ q,q in (17), letting x 1 =q n , x 2 =q n in (19), we have that the elements of this vector can be computed as where µ l 1 A 1n (q n ) represents the MF, which assigns a value to the membership grade ofq n in the fuzzy set A 1n ; µ l 2 A 2n (q n ) represents the MF, which assigns a value to the membership grade ofq n in the fuzzy set A 2n ; and,ȳ l 1 ,l 2 is the consequent of the fuzzy rule that has been fired according to the values ofq n ,q n .

New Properties of the SFC
The following lemmas are provided to develop new properties for a SFC that facilitate the stability proof of the proposed control scheme.
Proof of Lemma 1. Let us define the function Differentiating g(x), the expression of (24) is obtained, and differentiating again this result, we have the relationship in (25) dg It is possible to verify that the next expression holds has an extrema at x = 0. Next, for (25) to be positive ∀x ∈ Ω, we must have Given that the next lower bound holds for the right hand of (26), it can be established that (26) will be verified if the next bound holds for inf{ f (x)}: consequently, g(x) is convex and it has a strict local minimum at or, in other words, the Lemma has been proven: (23) [2][3][4]. Let µ 0 A (x) be differentable on a neighbourhood of the origin, but maybe not at the origin, and µ 0 Consider a neighbourhood Ω of the origin, as in Lemma 1, close to the origin, the function φ(x, 0) may be expressed as for x > 0, and for x < 0 The derivative of (28), on x > 0 is computed as in a similar manner, the derivative of (29) on x < 0 may be expressed as due to symmetry, we have that the derivatives of µ 0 A 1 near the origin have the relationship, (30) and (31), we can establish that φ'(x, 0) is differentiable at the origin.
Because µ 0 '(x) > 0 for x < 0, one can conclude from Equations (30) and (31), that By applying Lemma 1, it can be established that the expression in (33) holds on a neighbourhood of the origin. Let this neighbourhood be defined by = P 1 i . The maximum value of φ on Ω is achieved at x = P 1 j , where this value is given by Becauseȳ k+1,0 >ȳ k,0 , then (33) can be expressed as (35) x The latter implies that, if γ ≥ β, then (33) holds for x > P 1 j . Symmetry allows to conclude the same for x < 0. This proves Lemma 2.
Finally, (27) can be represented in the general expression , whereas following the guidelines set forth by [3,4,24] for the definition of fuzzy rules, only four fuzzy rules and of neighbouring sets can be activated, k and k + 1 for input x 1 =q i , and m, m + 1 for input x 2 =q i , then the output of the fuzzy block is computed as: where µ k A 1 (x 1 ), µ k+1 A 1 (x m ) represent the k, k + 1 MF, which assigns a value to the membership grade of x 1 in the fuzzy set represent the m, m + 1 MF, which assigns a value to the membership grade of x 2 in the fuzzy set A 2 ; and,ȳ k,m ,ȳ k+1,m ,ȳ k,m+1 ,ȳ k+1,m+1 represent the consequents of the fuzzy rules being fired.
Consider the difference The function d(x 1 , x 2 ) may be written in terms of the membership functions and the fuzzy rules table as Next, letȳ 0 =ȳ 0,m =ȳ 1,m ,ȳ 1 =ȳ 0,m+1 =ȳ 1,m+1 . Subsequently, by using the fact that we may transform d(x 1 , x 2 ) into the expression given in (40) By computing all the multiplications in (40) and simplifying, we obtain (41) which implies that, ifȳ 0,m =ȳ 1,m andȳ 0,m+1 =ȳ 1,m+1 , then d(x * 1 , x 2 ) is equal to zero for all values of x 1 for which k = 0 and all values of x 2 . The same may be shown to be true if Lemma 3. Consider the function φ(x 1 , x 2 ). Let the conditions from the previous paragraphs be satisfied, e.g.,ȳ 0,m =ȳ 1,m ,ȳ 0,m+1 =ȳ 1,m+1 ,ȳ −1,m =ȳ 0,m ,ȳ −1,m+1 =ȳ 0,m+1 , suppose that the MF µ 0 1 (x 1 ) is differentiable in the intervals P 1,0 < x 1 < P 1,1 and P 1,−1 < x 1 < P 1,0 , and the absolute value of its derivative |µ 0 1 (x 1 )| is lower bounded by a constant ϕ, where Therefore, it holds true that Proof of Lemma 3. First, consider the interval I 1 = [P 1,0 , P 1,1 ], x 1 ∈ I 1 , k = 0, that is, the first interval where |µ 0 1 (x 1 )| exists for positive x 1 . Let and consider a fixed value of x 2 , namely x 2 = x * 2 . The function ∆(x 1 , x 2 ) becomes a differentiable function of x 1 on I 1 . By applying the Mean Value Theorem, there must exist a C ∈ I 1 , such that, The derivative of ∆(x 1 , x * 2 ) may be computed, as follows which satisfies the lower bound expressed in terms of theȳ as, Subsequently, from (47) it can be verified that A similar argument allows for us to state the same for the interval I 2 = [P 1,−1 , P 1,0 ], then it holds that then, we can make the following definition that encompasses all of the values of the α i with i = 1, 2 which would lead us to the result on the interval I = I 1 ∪ I 2 that the lower bound holds for all values of x 1 . Let us denote, as D max , the maximum value of ∆(x 1 , x * 2 ) on I. Because, by assumption and design,ȳ 1,m >ȳ 0,m , the maximum value will be attained at P 1,1 , which is y 1,m+1 >ȳ 0,m+1 , On the next intervals, for k ≥ 1, the minimum value of ∆(x 1 , x * 2 ), denoted as D min , can be found to be Becauseȳ k,m ≥ȳ 1,m andȳ k,m+1 ≥ȳ 1,m+1 for k ≥ 1, then, ∆(x 1 , x * 2 ) ≥ D max for x 1 ∈ [P 1,1 , ∞). Since |tanh(x 1 )| ≤ 1, and then the bound holds for all x 1 ≥ 0. The argument to show that the bound holds for x 1 ≤ 0 is identical. Finally, because the result was shown for any arbitrary value of x 2 , it holds that.
|φ(x 1 , The output of the fuzzy block is computed, once simplified, i: that for triangular or trapezoidal MFs, which we are using in this paper, this equation represents a set of connecting lines that start at P 1,k , on x 1 , as the abscissa, and ȳ k,m −ȳ 0,m as the ordinate, as shown in Figure 6. In Figure 7, we can observe a 3-dimensional (3D) representation of the first part of (55) for a wider array of values of x 1 and x 2 , where, in Figure 8, the same 3D plot is viewed only from the perspective of x 1 . In the latter figure, we can corroborate that if we follow the guidelines given in the last section for the definition of the SFC's MFs and its fuzzy rules table, we will have, as a result, the relationship that is given by (55), where |φ(x 1 , x 2 ) − φ(0, x 2 )| can be lower bounded by a |sat(x 1 )| or a |tanh(x 1 )| function.  Finally, (55) can be represented in the more general expression, Corollary 1 (Corollary 1 to Lemma 3). From (21) (Property 3 of a SFC), we can conclude that, since, also sign(tanh(x 1 )) = sign(x 1 ) holds, the first side of (21) can be rewritten as or in vector notation we can express (59) as applying (57) to (60), in vector notation, we have the following relationships with A = diag(α i ).
which, in a general expression, (62) can be written as Additionally, from (22) in Property 3, stated before for a SFC, evaluatingq i = 0, we have extrapolating (64) to the vector-matrix case, it leads to where Z = diag{ζ i } for i = 1, 2, . . . n.

Closed-Loop Equation
The closed-loop equation of the system represented in the diagram that is shown in Figure 5 is obtained by first neglecting the Coulomb friction term, and second by combining (1) and (2) with the control law defined in (16), as with, and simplifying, in matrix form, the closed-loop system is given by .

Theorem 1.
The origin of the state space, q,q , is a globally uniformly asymptotically stable equilibrium of the closed loop system that is defined by (68), if the following conditions are met: Proof of Theorem 1. We will be applying the direct Lyapunov theorem for non-autonomous systems in order to carry out the stability analysis. As a first step, we propose the following Lyapunov function candidate (LFC), with γ > 0, a positive scalar of an enough small arbitrary value. This LFC was proposed based in the guidelines given in [25], in which a Lyapunov function for mechanical systems is usually constructed using mainly a linear combination of some kinetic and potential energy functions of the system with a cross-term involving the variables used in those previous functions. Additionally, the Lyapunov functions described in [3,4] were used as the references.
As a second step, we need to prove that our LFC is both radially unbounded and decrescent. To prove the radially unbounded property, we first split the integral term of (73) into two halves, and, applying (36), the result of Lemma 2, to the second half, and also the bound properties for the inertia matrix in (3), we have the inequality Focussing our attention on the summation-integral term of (74), and using (55) from Lemma 3, we can develop the following relationships, where, integrating the right-hand side of (75), we have therefore, applying the result of(76) in (75), we can write Substituting (77) in (74) and organizing in quadratic form, with the matrix Q 1 defined as By applying Sylvester's theorem, Q 1 will be positive-definite if λ min {B} > 0, which is already fulfilled, since B > 0 in its definition, and if holds. Hence, from the expression computed in (80), γ is obtained as this value of γ ensures global positive definiteness and radially unboundedness of (73), since, for q → ∞, or q → ∞, the right hand of (78) will tend to infinity due to Q 1 from Sylvester's theorem, and that ∑ n i=1 α i |ln(cosh(q i ))| → ∞,q i → ∞. Following similar steps to prove that V(q,q, t) is a decrescent function, we now apply (21), Property 3 of a SFC, to the whole integral term of (73), (82) holds for both positive and negative values ofq i , since the integration is performed in the sense of the variable itself. Applying the bound properties for the inertia matrix in (3) and the result from (82) to (73), we can write In this case, the right-hand side of (83) will tend to infinity, as any of q or q tend to infinity, which means that V(q,q, t) is upper-bounded and, therefore, it is a decrescent function. In conclusion, (73) is a globally positive definite radially unbounded decrescent function.
As a third step for applying the direct Lyapunov theorem, we obtain the time derivative of the LFC on the trajectories of (68) by applying the Leibniz rule for the differentiation of integrals, Substitutingq from (68), applying the properties of the centrifugal and Coriolis torque matrix that are defined in (5) and (6), and simplifying, Applying the bounds that are defined in (4), (10), and the properties defined in (61) and (65) to simplify (85), we have, By defining the following constants to simplify the expression in (86), substituting them in (86), and rewriting it into a quadratic expression, we havė Since Property 3 of SFCs holds for the first term ofV, then if Q 2 > 0 =⇒V(q,q, t) < 0. Therefore, when applying the Sylvester theorem, we have the following relationships where the determinant of Q 2 is computed as, Obtaining λ min {A} from (87) and (91), we obtain: If λ min {A} complies with (92), then Q 2 > 0, therefore,V < 0, which completes the proof for Theorem 1.

Sensitivity Analysis
Because we have proven that the our Lyapunov candidate function is a Strict Lyapunov Function, the proposed control law can be properly tuned to account for variations in the parameters of the controlled system. The sensitivity to parametric variation may be analysed through Corollary 4.2 of [26] in order to show that some convergence properties are preserved.
To this end, parametric variation in the dynamical model is represented as follows. The inertia matrix M(q) may be written as M(q) = M 0 (q) + ∆M(t) where M 0 is the nominal or estimated value of the inertia matrix and ∆M is a matrix containing the errors induced by parametric variation for each element of M. Similarly, it is possible to define C(q,q)q = C 0 (q,q)q + ∆C(t), g(q) = g 0 (q) + ∆g(t) and F v = F v0 + ∆F v for the other terms of the dynamical model (1).
Analogously to the definition of the residual dynamics, the following function is defined: Now, a boundedness assumption is established on ∆h to analyse the sensitivity of the closed-loop system to the effects of parametric variation.

Assumption 1.
There exists a constant k ∆h > 0, such that ∆h(t) < k ∆h for all t ≥ 0.
The existence of k ∆h may follow directly from the assumption that each term of (93) is bounded. Therefore, if the bounds for ∆M, ∆C, ∆g and ∆F v are known, then k ∆h can be computed as where k ∆M , k ∆C , k ∆g , k ∆F v > 0 are the upper bounds for each variation term and q d M , q d M represent the upper bounds on the desired joint velocity and acceleration, respectively.
If the control law in (16) is designed while using the nominal values, i.e. with the matrices having sub-index 0, the closed-loop system may be rewritten, as follows, The first term of (95) will be referred to as the nominal system and the second term of the sum as the perturbing term. The nominal residual dynamics term h 0 (q,q) is the same as the one that is given in (10), with the difference that the involved matrices are with subindex 0. Therefore, the existence of constants k h 1 and k h 2 for the term h 0 (q,q) also hold. This implies that the stability analysis using (73) as a Lyapunov function still holds for the nominal system. Consider a domain D r = {w ∈ R 2n : w ≤ r}, where w = [ q q ] T . On D r , the lower bound (78) of the Lyapunov function may be written as with Q 1D given by the expression in (97) and ε = tanh(r) r is a positive constant that depends on the size of D r . The fact that q ≥ tanh(q) ≥ ε q on D r was also used. The matrix Q 1D will be positive definite if The upper bound of V(·) that is given in (83) may be rewritten as where Q 3D is computed, as in (100) It can be shown that the time derivative of (73) along the solutions of (95) satisfieṡ with Q 2 , as given in the stability proof of the nominal system. The term λ Max {M −1 }k ∆h q + γtanh(q) appears due to the effect of the perturbing term and, by the triangle inequality and norm equivalence, it holds that The first term of (101) may be upper bounded by on D r , with Q 2D given in the the definition of (105) The symmetric matrix Q 2D will be positive definite if which holds if the bound defined for λ min {A} in (107) also holds Consequently, from (101), it can be stated that the derivative of the Lyapunov function is given byV In summary, for any initial condition of the closed-loop system, with a suitable tuning of the gains for the given initial condition, the solutions converge to a domain that grows according to (109). Notice that the domain to which the solutions converge becomes smaller as k ∆h , which represents the magnitude of the parametric variation, becomes smaller. If k ∆h = 0, then uniform asymptotic stability is recovered.
When analysing the result of (110), given its complexity, it is very difficult to determine which parameter from the robot model the whole control system is more sensitive to.

2-DOF Robot Manipulator Description
A 2-DOF robot manipulator moving in the vertical plane, built in CICESE, México, and located at Instituto Tecnológico de La Laguna, México, as shown in Figure 9, was used to evaluate the performance of our controller. It consists of two rigid links, high-torque brushless direct-drive servos with no gear reduction, little backlash, and very small joint friction. The maximum torque that can be applied to joint 1 is 150 [N-m], and 15 [N-m] for joint 2, according to the manufacturer [27,28].
The The dynamical model of the robot that is shown in Figure 9 can be expressed as in (1), with M 11 (q) = m 1 l 2 c1 + m 2 [l 2 1 + l 2 c2 + 2l 1 l c2 cos(q 2 )] + I 1 + I 2 , M 12 (q) = m 2 [l 2 c2 + l 1 l c2 cos(q 2 )] + I 2 , M 21 (q) = m 2 [l 2 c2 + l 1 l c2 cos(q 2 )] + I 2 , M 22 (q) = m 2 l 2 c2 + I 2 , C 11 (q,q) = −m 2 l 1 l c2 sin(q 2 )q 2 , C 12 (q,q) = −m 2 l 1 l c2 sin(q 2 )[q 1 +q 2 ], C 21 (q,q) = −m 2 l 1 l c2 sin(q 2 )q 1 , where M ij (q) are the elements of row i : 1, 2, and column j : 1, 2 of the matrix M(q); C kl are the elements of row k : 1, 2 and column l : 1, 2 of the matrix C(q,q); and, g 1 (q), g 2 (q) are the elements of vector g. In our controller definition and implementation, only the viscous friction, F v , is considered. The Coulomb friction, F C , was only taken into account within the robot model in the definition of the MFs for the two SFCs, and for simulation purposes; and, beyond that, it will be further taken as a disturbance, as was discussed in previous sections.

SFC Plus Feedforward Design
Fuzzy sets for each input of each joint were defined, as shown in Figures 10 and 11. Figure 10 may be deceiving, as it is depicted having fuzzy sets of regular and equidistant shapes; nonetheless, once the real values for the support points of its fuzzy sets have been applied, it will look more as Figure 11 (for both,q orq), which has its fuzzy sets pictured in a more realistic way, as the definition of the torque output fuzzy sets for each joint, as shown in Figure 12, also does. However, checking all Figures 10-12, they are symmetric around the origin and have an odd number of MFs, as specified in Section 3.1. The MFs for the angular velocity error input for both joints were originally defined, as it is shown for the input of the system in [29], where a multistage intelligent relaying in priority based decision is controlled via a fuzzy inference system, with some gaps in the definition of the sets; however, such gaps contradict the conditions outlined in Section 3.1, which were corrected via a Genetic Algorithms optimisation, as it is indicated in the following paragraphs. Singletons were used for the output fuzzy sets in order to expedite the computation of the SFC when it is implemented in real-time, as was defined in Section 3.1 without a loss of generalisation. The use of singletons in the output fuzzy sets, along with the CA defuzzifier, simplifies the output equation of the SFC from (19) to (23), which saves precious time used in the calculation of the centres of the inferenced output, since the singletons become those values by default. This, in turn, makes the computation faster and of much less complexity. Additionally, since the SFC is not being used as an approximator, the losses, which normally occur during the defuzzification process, cannot be assessed or even considered, because the SFC is a fuzzy system of its own.
In our definition of fuzzy sets, the acronyms used in each MF for both the two inputs and the output, are: NB = Negative Big, NS = Negative Small, Z = Zero, PS = Positive Small, and PB = Positive Big.    Table 1 shows the fuzzy rules. They were defined following the guidelines outlined in Section 3, so that the SFC part of our control scheme does have sectorial properties.
For the definition of the partition values of the fuzzy, there exists several previous works like the one in [30], where the algorithm developed by Ishibuchi [31] to automatically generate the number of fuzzy rules along with the fuzzy sets and its partition values is implemented with the hybrid cooperative Genetic Compilation-Competitive Learning (GCCL) algorithm and the Pittsburgh algorithm (FH.GBML) in order to forecast the power level that is available for a photovoltaic plant; or, the one described in [32], where the process of selecting the partition values is turned into an optimisation of distances inside unit hypercubes for a clustering of airports application. However, we used a simplified version of such approaches applying Genetic Algorithms (GA), as in [33], since, due to the guidelines given to design a SFC, almost all of the work of defining both the fuzzy sets and fuzzy rules has already been done. The 2-DOF robot manipulator from Figure 9 was used as our plant, where both viscous and Coulomb friction were included within its model, used in the ensuing simulations that are required for the optimisation process. All of the partition values that define the fuzzy sets for both joints were found in this way. The support values for the fuzzy sets obtained via GA are: P 1,0 = 0, P 1,1 = 6.518, P 1,2 = 53.77, P 1,3 = 125.5, P 2,0 = 0, P 2,1 = 122.2, P 2,2 = 138.5 P 2,3 = 871.8, Y 0 = 0, Y 1 = 82.29, Y 2 = 204.5, for joint 1; and, P 1,0 = 0, P 1,1 = 5.982, P 1,2 = 36.67 P 1,3 = 163.5, P 2,0 = 0, P 2,1 = 153.8, P 2,2 = 318.7 P 2,3 = 1016, Y 0 = 0, Y 1 = 15, Y 2 = 180, for joint 2.
The beauty of this control scheme is that is rather easy to both design and implement. Once the fuzzy sets and the fuzzy rules are completely defined, the controller is fully designed and ready to be implemented, which only consists of the evaluation of the rules through IF-THEN code statements, but it delivers a controller that provides amazing results. The latter is the beauty of using this type of controllers.

PD Plus Feedforward Controller Design
We also designed a PD plus feedforward controller to comparatively test its performance versus that of the SFC plus feedforward. The elements of the gain matrices K p , K v ∈ R 2×2 were obtained while using the same optimising method of GA, as in the case of the SFC, but adapted to a PD case. This optimisation yielded the values:

Comparative Simulation
The SFC plus feedforward was simulated in comparison with its classic crisp counterpart, the PD plus feedforward controller. Both of the controllers were simulated in MATLAB/Simulink R2015a using an ode5 (Dormand-Prince) solver algorithm with a fixed step of 2.5 ms. The 2-DOF robot from Figure 9 was used as the plant, first, while considering the same hypothetical assumption used in the definition of the SF+ff control law and its stability analysis: that is, the Coulomb friction is non-existent. The desired position, velocity, and joint acceleration trajectories q d (t),q d (t), andq d (t), are given by the next equations, according to the values and functions given in [34] in order to demand the maximum allowable performance for this specific robot: where , c 2 = 25π/36 [rad], d 2 = 1.8, and ω 2 = 3.5 [rad/s. from the desired positions, the desired velocities, and accelerations were analytically computed by calculating their derivatives. Additionally, the comparative responses of the desired trajectories versus the actual angular position, the angular errors, as well as the applied torques in each joint were obtained, as shown in Figures 13-18, respectively.      The results of Figures 15 and 16 corroborate that, for both the PD plus feedforward and the SFC plus feedforward,q = [q 1q2 ] T show an asymptotic uniform response, as stated by their stability analysis. All of this while bounded torques are held at all times.
A comparison of the angular position error RMS for each joint is given for both controllers in Table 2. All of the values are RMS. We are comparing the total error in the span of time considered for the simulation, which is 10 s, and the steady-state error, when considering that the steady-state starts at 5 s. The subindex "ss" stands for the steady-state values, computed from 5 s to the end of the time window used. Additionally, the PD plus feedforward is labelled as 'PD + ff', and the SFC plus feedforward as 'SFC + ff'. The PD plus feedforward achieved a better overall performance in joint 1 due to a faster fuelled by a higher torque supplied at start-up compared to the SFC plus feedforward, which had a softer start-up achieved from the application of the GA to the design of its MFs. Both controllers have a zero steady-state angular position error. On the other hand, for joint 2 the SFC plus feedforward shows a better response in both analysis: total and steadystate, while the PD plus feedforward has a slight remnant due to a complete exponential response that is still settling at 10 s of elapsed time.
In Table 3 we compare the overall and steady-state torques applied to both joints by the controllers. Again, the steady-state torques are computed 5 s after start-up, and labelled with a subindex "ss". In steady state, both of the controllers have the same applied torques to the corresponding joint. Nevertheless, the PD plus feedforward has smaller values of overall applied torques for both joints, as compared to the SFC plus feedforward. Additionally, the total RMS applied torques are smaller than the steady-state ones for both controllers on both joints. Since the RMS values measure the density of the signal in the time window considered, in this case the applied torques are denser in steady-state than in the total time of the simulation. Table 4 shows a tabulation of the transient-response parameters of the robot with both controllers being applied. For this table, we use the next acronyms: • maximum overshoot = MP, • rise time = t r , and • settling time = t s .
with a subindex indicating which joint is being considered. NOTE: the transient parameters were measured directly on the graphic responses and they are an approximation of the real values.  Figures 13-16, with the PD plus feedforward having a shorter t r than the SFC plus feedforward, but longer t s and a larger MP in joint 1. While, in joint 2, the SFC plus feedforward has much better transient and steady-state responses.
Next, the same simulations were carried out, but now considering the hypothetical function and parameters for the Coulomb friction in the robot model, according to the manufacturer [27,28]. Additionally, the comparative responses of the desired trajectories versus the actual angular position, the angular errors, as well as the applied torques in every joint were obtained, as shown in Figures 19-24, respectively.      A comparison of the position error RMS for each joint is given for every controller in Table 5. Again, the steady-state values are computed from 5 s to the end of the time window used. In general, the position errors have smaller values for the SFC plus feedforward, although the PD plus plus feedforward achieved a better overall performance due to a faster response in joint 1. On the other hand, for that same joint it presented a worse steady-state error measurement. For both controllers, adding the Coulomb friction created an error residual that was even worse for the PD plus feedforward in joint 2.
In Table 6, the overall and steady-state torques that are applied to both joints by the controllers are tabulated. Again, as for the simulation without F C , in joint 1, the total RMS applied torques were lower than the ones that were applied in the steady-state phase considered; whilst, for joint 2 it was the reverse case. We can see that, with the F C included in the model of the robot, the SFC plus feedforward supplies lower torque and achieves a smaller steady-state angular position error than the PD plus feedforward in joint 1 (38.71 % of difference). In steady-state on joint 2, the torque that is applied by the SFC is slightly higher (0.2429%) than the one applied by the PD plus feedforward, but the difference in RMS angular position error is very large (86.54% of difference). Table 7 shows a comparison of the robot transient-response parameters with both controllers being applied. For this table, we use the same acronyms and labelling as for Table 4. NOTE: the transient parameters were measured directly on the graphic responses and they are an approximation of the real values. The SFC plus feedforward presents a better transient response performance in almost all parameters, except in the rise time of joint 1, and that again is due to a higher supplied torque by the PD plus feedforward at start-up. However, the latter caused a slightly overshoot compared to a 0% overshoot for the SFC plus feedforward for joint 1.

Experimental Implementation
The 2-DOF robot shown Figure 9 was used as the plant, now in a physical set of experiments. The desired trajectories that are defined in (112) along with their derivatives forq d andq d were used in the experiments. Both controllers, the SFC plus feedforward and the PD plus feedforward controller, once designed and simulated, were implemented using Ansi C on WinMechLab, a real-time platform running on an Intel Pentium 4 PC with real-time Windows XP [35], with a 2.5 ms sampling period, and using a MultiQ-PCI data acquisition board from Quanser Consulting Inc. The angular position error responses were obtained for each joint, as well as the applied torques, as shown in Figures 25-28. The PD plus feedforward controller had to be retuned eight times in order to mitigate the torque overshoot that was injected to the robot. After this retuning, its parameters had the values,    In Table 8, a comparison of the Root Mean Square (RMS) position error in each joint is shown for every controller, and the steady-state values were computed from 5 s to the end of the experiment. Additionally, in Tables 9 and 10, a comparative tabulation of the RMS applied torques to each joint, and the transient response parameters of the robot with the two controllers applied, are shown. NOTE: the transient parameters were measured directly on the graphic responses and they are an intuitive approximation of the real values.   15.36% for the overall RMS angular position error and the RMS steady-state angular position error in joint 1, respectively; and, for joint 2, of 6.98% for the overall RMS angular position error, and 88.2% RMS steady-state angular position error. The applied torques in both joints have similar values, as in joint 2, where the difference is of 2.14%, or are generally smaller (joint 1 case) for our proposed SFC plus feedforward. In the case of the transient response parameters, the SFC plus feedforward had much shorter rise time (70.3% shorter for joint 1, and 66.09% shorter for joint 2) and steady-state time (70.26% in joint 1, and 56.29% in joint 2) than the PD plus feedforward. All of this while having a smaller applied torque to joint 1, and a slightly (2.1% overall, 3.22% in steady-state) applied torque to joint 2.

Discussion
In the hypothetical simulation where the model of the robot is considered without Coulomb friction, the uniform asymptotic error response is corroborated for both controllers, where both of them present under damped responses in Figure 13 and exponential or over damped responses in Figure 14. In addition to the SFC plus feedforward shows an amazing, almost instantaneous response. The must puzzling of this observation is that, just for a slight under shoot, both torque responses are almost the same for both controllers in Figure 18. It is necessary to inform that the response obtained in Figures 13 and 14 was achieved either eliminating the Coulomb friction from the robot model or by including it in the robot model that conforms the feedforward compensation in both controllers.
In simulation, for joint 1, the position error has a smaller value in steady state for the SFC plus feedforward in both the comparative table and figures than for the PD plus feedforward controller (labelled PD + ff), while the applied torque is the same at start-up for the two control schemes, and smaller at steady-state for the SFC plus feedforward. Because the rise time in the graph is smaller for the classic counterpart than for the proposed control scheme, the total error measurement is also lower. Steady-state position error for joint 1 looks the same for both control schemes at first sight, however in the zoomed part of Figure  21 a wobbling response is observable for the PD + ff controller that also contains a bias that forces the error to oscillate below zero, while the SFC + ff has a lower peak-to-peak value and it presents no bias. The latter can be confirmed in the steady-state column of Table 5 for q 1 . The residual error, as compared to the previous hypothetical response, which is shown in the zooming part of Figure 21, is due to the coulomb friction that is not compensated by the τ d part of the control law, the part corresponding to the desired robot dynamics, since it is unknown and considered to be part of the disturbances.
In the physical experimental test, for joint 1, the position error has a smaller value for the SFC plus feedforward (labelled as 'Sectorial') in both the comparative table and figures, than for the PD plus feedforward controller (labelled PD + ff), while the applied torque is the same at start-up for the two control schemes, and smaller at steady-state for the SFC plus feedforward. Additionally, the rise time of the graph is smaller for the proposed control scheme (lees than 1 s) than its classic counterpart. Steady-state position error for joint 1 looks the same for both control schemes at first sight, however in the zoomed part of Figure 25 a wobbling response is observable for the PD + ff controller that also contains a bias that forces the error to oscillate below zero, while the SFC + ff has a lower peak-to-peak value and presents no bias. The latter can be confirmed in the steady-state column of Table 8 forq 1 . The residual error shown in the zooming part of Figure 26 is due to the coulomb friction that is not compensated by the τ d part of the control law, the part corresponding to the desired robot dynamics, since it is unknown and considered as part of the disturbances.
In the case of joint 2, for both simulation and experimental test, the difference in the position error between the two control schemes is very large. While our proposal has a rise-time of less than 1 s, the classic scheme takes more than 2.5 s to reach the zero line. The steady-state response differences between the two controllers is abysmal too, as shown in the zoomed part of Figures 22 and 26 and confirmed in Tables 5 and 8 for both the whole response and its steady-state part. All the latter while having almost identical applied torque by both controllers, with the torque applied by the SFC + ff having very small differences that nevertheless make a huge difference (see Figures 24 and 28). Again, the residual error shown in the zooming part of the aforementioned figures is due to the coulomb friction that is not compensated in the control law because it is unknown and taken as part of the disturbances and unmodelled dynamics.
The seemingly noisy torque applied to joint 2, as shown in Figure 28, is a visual artifact that is created by the limitations of the platform in which our algorithm is implemented. The sampling period used in our implementations is of 2.5 ms; nevertheless, only two measured variables of interest can be delivered in text files by the platform with the same sampling period, from which we obviously chooseq 1 andq 2 . Any other measured variable is delivered to us with a sampling rate five to ten times the sampling period chosen by the users, which is the case for both τ 1 and τ 2 , which are being computed at 2.5 ms, but represented at 15 ms in the reporting file, as shown in more detail in Figure 29, which is a magnification of Figure 28. Additionally, the applied torque to both joints (see  While small changes in the robot parameters are very limiting for the PD plus feedforward controller, they are much less limiting for the SFC plus feedforward, as evidentiated by the differences in the simulations with and without Coulomb friction included in the robot model. But in general, the must limiting factor for both the PD plus feedforward and the SFC plus feedforward are the maximum torques that can be applied to each joint of the robot; this limits the gain values for the PD. Nonetheless, the definition of the MFs for the SFC can be adjusted in order to avoid saturated torques for big errors and, at the same time, increase the gains to have small angular position errors in steady state.

Conclusions
A novel SFC plus feedforward, applied to the trajectory tracking of a robot manipulator, including the formal details of its stability proof using the Lyapunov theorem for non autonomous systems, has been presented for the first time. Two new properties of the SFC were developed in the lemmas that are included in Section 3.2, which allowed for us to construct a strict Lyapunov function which leads to prove GUAS of the robot manipulators in closed-loop with the SFC plus feedforward compensation. Additionally, through that strict Lyapunov function, we were able to analyse the sensitivity of our control scheme; however, given the complexity of the resulting expression, no assessment could be made as to which parameter of the robot model the proposed control system is more sensitive to. We successfully evaluated the new control scheme, both experimentally and with simulations. When the evaluation neglected the Coulomb friction out of the robot model, or this parameter was included in the feedforward compensation on the SFC plus feedforward or in the PD plus feedforward, we obtained a uniform asymptotic response with very short rise and settling times. In the case of the SFC plus feedforward, it did not need any parameter tuning during the experimental trials, which was not the case with its PD counterpart, which indeed needed to be tuned several times before achieving a similar response to the one that was obtained in simulations, which shows the inherent capacity of fuzzy systems to cope with small disturbances and uncertainties. Finally, we are proposing a control scheme that presents the following characteristics: • bounded output torques in accordance with the limits of the actuators, • very simple to design and implement, • individualized design of the SFC for every joint of the robot, • applicable to any serial robot composed by n−links, with any architecture, and • industrial applications limited to those like welding or painting. Data Availability Statement: All data presented or used in this study is contained within this same article.

Conflicts of Interest:
The authors declare no conflict of interest. The funders had no role in the design of the study; in the collection, analyses, or interpretation of data; in the writing of the manuscript, or in the decision to publish the results.