Next Article in Journal
Axiomatic Results for Weighted Allocation Rules under Multiattribute Situations
Next Article in Special Issue
Optimization of Financial Asset Neutrosophic Portfolios
Previous Article in Journal
Yule–Walker Equations Using a Gini Covariance Matrix for the High-Dimensional Heavy-Tailed PVAR Model
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

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

by
Andres Pizarro-Lerma
1,
Victor Santibañez
2,
Ramon Garcia-Hernandez
2,* and
Jorge Villalobos-Chin
2
1
Instituto Tecnologico de Sonora, 5 de Febrero 818 sur, Ciudad Obregón C.P. 85000, Sonora, Mexico
2
Tecnologico Nacional de Mexico/Instituto Tecnologico de La Laguna, Blvd. Revolucion y Av. Instituto Tecnologico de La Laguna S/N, Torreon C.P. 27000, Coahuila, Mexico
*
Author to whom correspondence should be addressed.
Mathematics 2021, 9(6), 616; https://doi.org/10.3390/math9060616
Submission received: 7 February 2021 / Revised: 11 March 2021 / Accepted: 11 March 2021 / Published: 15 March 2021
(This article belongs to the Special Issue Fuzzy and Extension of Fuzzy Theories)

Abstract

:
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.

1. Introduction

1.1. 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 to have an exact model of the plant to be controlled, or there are many disturbances and changes in some of its key parameters. Additionally, fuzzy control allows for combining heuristic elements with the analytical models. Once some guidelines to design fuzzy controllers with sectorial properties, named Sectorial Fuzzy Controllers (SFCs), which enable their stability analysis, were given in [2], a few works on the motion control of robot manipulators emerged: in [3], a computed torque control with a SFC instead of a PD controller, showed excellent results in physical experiments in the tracking motion control of a 2 degree of freedom (2-DOF) robotic arm. A SFC with gravity compensation was applied to a 2-DOF robotic manipulator in order to regulate its joint positions in [4], again showing excellent results in its physical experiments, and adding the property of having bounded torques. In [5], a saturated fuzzy control for regulation of robot manipulators with actuator constraints was presented. This controller is formed by joining a saturated integral action with the SFC, thus forming some sort of sectorial fuzzy PID. A global asymptotic stability proof using Lyapunov’s direct method was outlined with all of the assumptions made by the authors never proven. In that paper, they only presented the simulation results in Matlab, and without considering the frictions in the robot model.
All of these control approaches use a Mamdani type SFC as its core element; nevertheless, there exists the Takagi–Sugeno (T-S) counterpart of fuzzy controllers that has been applied to the control of mechanical or mechatronics systems: in [6], a T-S descriptor was employed to control a 2-DOF robotic manipulator with elastic joints and dry friction. The tracking control design and stability assurance is reformulated as optimization problem based in the solution of a Linear Matrix Inequality (LMI). All of the experiments were performed in simulations in Matlab. Two fuzzy nonlinear methodologies to perform trajectory tracking of a Furuta pendulum were compared in [7] while using an exact convex representation, and a dynamic output regulation, which does not solve the nonlinear partial differential equations better known as the Francis–Isidori–Byrnes (FIB) equations. In the end, the fuzzy approach T-S yielded better results than the dynamic output regulation approach. The work reports physical experimental results. In [8], a 3-DOF robot is controlled in simulations via en H approach. The presented results are excellent after designing 16 matrices for the T-S fuzzification process. However, as with all T-S control approaches, the mechanical model has to pass through an extensive algebraic manipulation to format its equations to be used in the LMI formulation, and, by doing so, the obtained results can only be applied to the specific plant, for which the fuzzy T-S control was designed.
Adaptive and recursive neural networks have also been applied to the task of motion tracking in robots, as in [9], where a robust adaptive Recurrent Fuzzy Wavelet Functional Link Neural Network (RFWFLNNs) that was based on dead zone compensator for Industrial Robot Manipulators was presented. The paper presents an extensive stability analysis, using Lyapunov, Lasalle invariance theorem, and Barbalatś Lemma. However, none of those theorems can be applied for the stability analysis of their approach, since its control law possesses a discontinuity at the origin. The simulation and physical experiments on a 3-DOF robotic arm are presented, showing excellent results. The problem is that there are over ten matrices that must be computed at every sample period to be able to keep those excellent results. In [10], an adaptive neural network is used as a feedforward compensator for a nonlinear saturated PD controller. Again, the number of elements to be computed at every sample time is very large. This work presents both simulation and physical experiments.
Although sliding-mode control is ill advised in any application that involves a mechanical system, due to the destructive nature of the chattering phenomena that is the heart of this type of control approach, high strides have been made to cope with the chattering problem, and using fuzzy logic: a fuzzy-based sliding mode controller that was applied to single-input single-output nonlinear systems was developed in [11] and applied to the regulation control of a one-link pendulum. Extensive Lyapunov analysis is presented in this work. A Mamdani fuzzy system is applied to reduce the chattering and excellent 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 closed-loop 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.

1.2. 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 computed-torque 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.

2. Preliminaries

2.1. 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:
M q q ¨ + C q , q ˙ q ˙ + g q + f q ˙ = τ + η ,
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 velocity q ˙ [1]. A static friction model combines both viscous and Coulomb friction phenomena. This model states that the vector f ( q ˙ ) is composed as
f ( q ˙ ) = F v q ˙ + F C sgn ( q ˙ ) .
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,
λ min { M } x 2 x T M ( q ) x λ max { M } x 2 ,
where λ min { M } = inf q λ min { M ( q ) } , λ max { M } denotes the t e x t s u p 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
C ( q , x ) y k C 1 x y , q , x , y R n ; k C 1 > 0 .
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,
x T M ˙ 2 C ( q , q ˙ ) x = 0 x , q , q ˙ ,
which means that C ( q , q ˙ ) has a skew symmetry relation with M ˙ :
M ˙ = C ( q , q ˙ ) + C ( q , q ˙ ) T .
Property D. The residual dynamics, h ( q ˜ , q ˜ ˙ ) , [15,16], is defined as,
h ( q ˜ , q ˜ ˙ ) = M ( q d ) M ( q ) q ¨ d + g ( q d ) g ( q ) + C ( q d , q ˙ d ) C ( q , q ˙ ) q ˙ d ,
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
q ˜ = q d q .
The residual dynamics (7) has the property that is defined in (9) and it satisfies the inequality in (10) [1]:
h ( 0 , 0 ) = 0 ,
h ( q ˜ , q ˜ ˙ ) k h 1 q ˜ ˙ + k h 2 tanh ( q ˜ ) ,
where k h 1 and k h 2 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.

2.2. PD Control with Feedforward Compensation for Robot Manipulators

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]
τ = K p q ˜ + K v q ˜ ˙ + M ( q d ) q ¨ d + C ( q d , q ˙ d ) q ˙ d + g ( q d ) + f v q ˙ d ,
where K p , K v R n × n are symmetric positive definite matrices, which are called gains of position and velocity respectively; and,
q ˜ ˙ = q d ˙ q ˙ ,
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.

2.3. 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.
From inside, an FLC can be represented in a general form, as in [21] Figure 4.
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,
IF x 1 is A 1 l 1 AND x 2 is A 2 l 2 AND x N is A n l n THEN y i is B i l 1 l 2 l n ; i = 1 , 2 , , m ,
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 O i R ; i = 1 , 2 , , m , where U O i are the universes of discourse for every output y i . A j l k U k ; k = 1 , 2 , , n ; j = 1 , 2 , N k , are the fuzzy sets for every x k ; B i l 1 l 2 l n U O i ; i = 1 , 2 , , m are the fuzzy sets for every output y i . When a l j fuzzy rule is fired, the function μ A j l k ( 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 i l ( y ¯ ) that are related to every consequent of the rule base, μ B i l 1 l 2 l n ( y ¯ ) , where y ¯ 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
y = l 1 = 1 N 1 l n = 1 N n y ¯ l 1 l n i = 1 n μ A i l i ( x i ) l 1 = 1 N 1 l n = 1 N n i = 1 n μ A i l i ( x i ) ,
and if the product inference method is used, every output is equal to
y = l 1 = 1 N 1 l n = 1 N n y ¯ l 1 l n i = 1 n μ A i l i ( x i ) l 1 = 1 N 1 l n = 1 N n i = 1 n μ A i l i ( x i ) .
Additionally, if the output fuzzy sets are defined as singletons, y ¯ is directly the value of the corresponding singleton without the need to compute the centres of the inferenced output.

3. 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,
τ = Φ ( q ˜ , q ˜ ˙ ) + M ( q d ) q ¨ d + C ( q d , q ˙ d ) q ˙ d + g ( q d ) + F v q ˙ d ,
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,
Φ q ˜ , q ˜ ˙ = ϕ 1 q ˜ 1 , q ˜ ˙ 1 ϕ 2 q ˜ 2 , q ˜ ˙ 2 ϕ n q ˜ n , q ˜ ˙ n .
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.

3.1. 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,
IF x 1 is A 1 l 1 AND x 2 is A 2 l 2 THEN y is B l 1 l 2 ,
with x 1 U 1 R and x 2 U 2 R , where U 1 , U 2 are the universes of discourse of x 1 , x 2 , respectively; and, taken in tandem, they form a two-dimensional universe of discourse for the input vector x = [ x 1 x 2 ] : x U = U 1 × U 2 R 2 ; y U O R , where U O is the universe of discourse of the output y. A 1 l 1 U 1 , A 2 l 2 U 2 , 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 μ A 1 l 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 μ A 2 l 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 ( y ¯ ) related to every consequent of the rule base, μ B l 1 l 2 ( y ¯ ) { μ B M O 1 2 ( y ¯ ) , μ B M O 1 2 1 ( y ¯ ) , μ B M O 1 2 ( y ¯ ) } . 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 l i = { M i 1 2 , M i 1 2 + 1 , , M i 1 2 } , i = 1 , 2 , O . 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 ϕ i ( q ˜ i , q ˜ ˙ i ) ϕ i ( 0 , q ˜ ˙ i ) 0 stated in (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
ϕ x 1 , x 2 = l 1 = M 1 1 2 M 1 1 2 l 2 = M 2 1 2 M 2 1 2 μ A 1 l 1 ( x 1 ) μ A 2 l 2 ( x 2 ) y ¯ l 1 , l 2 l 1 = M 1 1 2 M 1 1 2 l 2 = M 2 1 2 M 2 1 2 μ A 1 l 1 ( x 1 ) μ A 2 l 2 ( x 2 ) ,
if the product inference method is selected, and
ϕ x 1 , x 2 = l 1 = M 1 1 2 M 1 1 2 l 2 = M 2 1 2 M 2 1 2 μ A 1 l 1 ( x 1 ) μ A 2 l 2 ( x 2 ) y ¯ l 1 , l 2 l 1 = M 1 1 2 M 1 1 2 l 2 = M 2 1 2 M 2 1 2 μ A 1 l 1 ( x 1 ) μ A 2 l 2 ( x 2 ) ,
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].
  • Property 1, ϕ ( 0 , 0 ) = 0 , (null output for null inputs);
  • Property 2, ϕ i q ˜ i , q ˜ ˙ i = ϕ i q ˜ i , q ˜ ˙ i , (symmetric around the origin);
  • Property 3, there exist ζ i , ρ i > 0 , such that
    0 < q ˜ i ϕ i q ˜ i , q ˜ ˙ i ϕ i 0 , q ˜ ˙ i ρ i q ˜ i 2 ,
    0 < q ˜ ˙ i ϕ i q ˜ i , q ˜ ˙ i ϕ i q ˜ i , 0 ζ i q ˜ ˙ i 2 ,
    which means, in both (21) and (22), that both terms inside the inequalities are positive, and bounded by a quadratic of q ˜ , and q ˜ ˙ , respectively.
  • Property 4, ϕ i q ˜ i , 0 = 0 q ˜ i = 0 , (corollary of Property 1);
  • Property 5, ϕ i q ˜ i , q ˜ ˙ i δ : = m a x l 1 l 2 y ¯ l 1 l 2 , (the SFC is upper-bounded by a maximum output value);
  • Property 6, y ¯ k 0 ϕ i q ˜ i , 0 y ¯ k + 1 0 ; (sectorial behaviour of q ˜ i , 0 ) for i = 1 , 2 , 3 , , n , where y ¯ l 1 l 2 , y ¯ k 0 , y ¯ k + 1 0 represent the centres of the corresponding output MFs that are defined during the design stage.
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
ϕ n q ˜ n , q ˜ ˙ n = l 1 = N 1 1 2 N 1 1 2 l 2 = N 2 1 2 N 2 1 2 μ A 1 n l 1 ( q ˜ n ) μ A 2 n l 2 ( q ˜ ˙ n ) y ¯ l 1 , l 2 ,
where μ A 1 n l 1 ( q ˜ n ) represents the MF, which assigns a value to the membership grade of q ˜ n in the fuzzy set A 1 n ; μ A 2 n l 2 ( q ˜ ˙ n ) represents the MF, which assigns a value to the membership grade of q ˜ ˙ n in the fuzzy set A 2 n ; and, y ¯ l 1 , l 2 is the consequent of the fuzzy rule that has been fired according to the values of q ˜ n , q ˜ ˙ n .

3.2. 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.
Lemma 1.
Consider a neighbourhood Ω = { x R x < ϵ } for some ϵ > 0 . Let f ( x ) be a C differentiable, strictly increasing function of x (on Ω) that satisfies f ( 0 ) = 0 . Then, there exists β > 0 R such that
0 x f τ d τ β tanh 2 ( x ) ,
holds x Ω , with β < 1 6 inf { f ( x ) }
Proof of Lemma 1.
Let us define the function
g ( x ) : = 0 x f τ d τ β tanh 2 ( x ) .
Differentiating g ( x ) , the expression of (24) is obtained, and differentiating again this result, we have the relationship in (25)
d g d x = f ( x ) 2 β sec h 2 ( x ) tanh ( x ) ,
d 2 g d x 2 = f ( x ) + 2 β sec h 2 ( x ) 2 tanh 2 ( x ) sec h 2 ( x ) .
It is possible to verify that the next expression holds
f ( 0 ) 2 β sec h 2 ( 0 ) tanh ( 0 ) = 0 ,
thus, g ( x ) has an extrema at x = 0 .
Next, for (25) to be positive x Ω , we must have
inf f ( x ) β > sec h 2 ( x ) 4 tanh 2 ( x ) 2 sec h 2 ( x ) .
Given that the next lower bound holds for the right hand of (26),
sup x Ω sec h 2 ( x ) 4 tanh 2 ( x ) 2 sec h 2 ( x ) 6 ,
it can be established that (26) will be verified if the next bound holds for inf f ( x ) :
inf f ( x ) > 6 β
consequently, g ( x ) is convex and it has a strict local minimum at x = 0 . Because g ( 0 ) = 0 , this implies
0 x f τ d τ β tanh 2 ( x ) 0 ,
or, in other words, the Lemma has been proven:
0 x f τ d τ β tanh 2 ( x )
Lemma 2.
Let ϕ ( x 1 , x 2 ) be defined as in (23) [2,3,4]. Let μ A 0 ( x ) be differentable on a neighbourhood of the origin, but maybe not at the origin, and μ A 1 0 ( x ) > 0 for x < 0 , μ A 1 0 ( x ) < 0 for x > 0 . Subsequently, there exists β > 0 , such that
0 x ϕ τ , 0 d τ β tanh 2 ( x ) ,
holds x R , with β < 1 6 inf { f ( x ) }
Proof of Lemma 2.
Consider a neighbourhood Ω of the origin, as in Lemma 1, close to the origin, the function ϕ ( x , 0 ) may be expressed as
ϕ ( x , 0 ) = y ¯ 1 , 0 1 μ A 1 0 ( x ) ,
for x > 0 , and
ϕ ( x , 0 ) = y ¯ 1 , 0 1 μ A 1 0 ( x ) ,
for x < 0
The derivative of (28), on x > 0 is computed as
ϕ ( x , 0 ) = y ¯ 1 , 0 μ A 1 0 ( x ) ,
in a similar manner, the derivative of (29) on x < 0 may be expressed as
ϕ ( x , 0 ) = y ¯ 1 , 0 μ A 1 0 ( x ) ,
due to symmetry, we have that the derivatives of μ A 1 0 near the origin have the relationship,
μ A 1 0 ( x ) = μ A 1 0 ( x + ) ,
where μ A 1 0 ( x ) denotes μ A 1 0 ( x ) on x < 0 and μ A 1 0 ( x + ) on μ A 1 0 ( x ) on x > 0 . Therefore, from Equations (30) and (31), we can establish that ϕ ( x , 0 ) is differentiable at the origin.
Because μ A 1 0 ( x ) < 0 for x > 0 and μ A 1 0 ( x ) > 0 for x < 0 , one can conclude from Equations (30) and (31), that
ϕ ( x , 0 ) > 0 .
By applying Lemma 1, it can be established that the expression in (33) holds
0 x ϕ τ , 0 d τ β tanh 2 ( x ) ,
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
γ = 0 P 1 j y ¯ 1 , 0 1 μ A 1 0 ( τ ) d τ .
Because y ¯ k + 1 , 0 > y ¯ k , 0 , then (33) can be expressed as (35)
0 x ϕ τ , 0 d τ > γ ; x > P 1 j .
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
i = 1 n 0 x i ϕ ( ξ i , 0 ) d ξ i λ min { B } tanh ( x ) 2 ,
with B = diag { β i } , for i = 1 , 2 , n
Preamble to Lemma 3: Leting x 1 = q ˜ i and x 2 = q ˜ ˙ i , such that ϕ ( q ˜ i , q ˜ ˙ i ) = ϕ ( x 1 , x 2 ) , 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:
ϕ ( x 1 , x 2 ) = μ A 1 k ( x 1 ) μ A 2 m ( x 2 ) y ¯ k , m + μ A 1 k + 1 ( x 1 ) μ A 2 m ( x 2 ) y ¯ k + 1 , m + μ A 1 k ( x 1 ) μ A 2 m + 1 ( x 2 ) y ¯ k , m + 1 + μ A 1 k + 1 ( x 1 ) μ A 2 m + 1 ( x 2 ) y ¯ k + 1 , m + 1 ,
where μ A 1 k ( x 1 ) , μ A 1 k + 1 ( x m ) represent the k , k + 1 MF, which assigns a value to the membership grade of x 1 in the fuzzy set A 1 ; μ A 2 m ( x 2 ) , μ A 2 m + 1 ( x 2 ) represent the m , m + 1 MF, which assigns a value to the membership grade of x 2 in the fuzzy set A 2 ; and, y ¯ k , m , y ¯ k + 1 , m , y ¯ k , m + 1 , y ¯ k + 1 , m + 1 represent the consequents of the fuzzy rules being fired.
Consider the difference
d ( x 1 , x 2 ) = ϕ ( x 1 , x 2 ) ϕ ( 0 , x 2 ) .
The function d ( x 1 , x 2 ) may be written in terms of the membership functions and the fuzzy rules table as
d ( x 1 , x 2 ) = μ A 1 k ( x 1 ) μ A 2 m ( x 2 ) y ¯ k , m + μ A 1 k + 1 ( x 1 ) μ A 2 m ( x 2 ) y ¯ k + 1 , m + μ A 1 k ( x 1 ) μ A 2 m + 1 ( x 2 ) y ¯ k , m + 1 + μ A 1 k + 1 ( x 1 ) μ A 2 m + 1 ( x 2 ) y ¯ k + 1 , m + 1 y ¯ 0 , m + 1 μ A 2 m ( x 2 ) y ¯ 0 , m y ¯ 0 , m + 1 .
Now, consider x 1 = x 1 , where x 1 = > 0 is positive and close to the origin, such that k = 0 .
Evaluating d ( x 1 , x 2 ) at x 1 = x 1 , we obtain
d ( x 1 , x 2 ) = μ A 1 0 ( x 1 ) μ A 2 m ( x 2 ) y ¯ 0 , m + μ A 1 1 ( x 1 ) μ A 2 m ( x 2 ) y ¯ 1 , m + μ A 1 0 ( x 1 ) μ A 2 m + 1 ( x 2 ) y ¯ 0 , m + 1 + μ A 1 1 ( x 1 ) μ A 2 m + 1 ( x 2 ) y ¯ 1 , m + 1 y ¯ 0 , m + 1 μ A 2 m ( x 2 ) y ¯ 0 , m y ¯ 0 , m + 1 .
Next, let y ¯ 0 = y ¯ 0 , m = y ¯ 1 , m , y ¯ 1 = y ¯ 0 , m + 1 = y ¯ 1 , m + 1 . Subsequently, by using the fact that
μ A i n ( x i ) + μ A i n + 1 ( x i ) = 1 ,
we may transform d ( x 1 , x 2 ) into the expression given in (40)
d ( x 1 , x 2 ) = μ A 2 m ( x 2 ) y ¯ 0 μ A 1 0 ( x 1 ) + μ A 1 1 ( x 1 ) + μ A 2 m + 1 ( x 2 ) y ¯ 1 μ A 1 0 ( x 1 ) + μ A 1 1 ( x 1 ) y ¯ 1 μ A 2 m ( x 2 ) y ¯ 0 y ¯ 1 .
By computing all the multiplications in (40) and simplifying, we obtain (41)
d ( x 1 , x 2 ) = μ A 2 m ( x 2 ) y ¯ 0 + μ A 2 m + 1 ( x 2 ) y ¯ 1 y ¯ 1 μ A 2 m ( x 2 ) y ¯ 0 y ¯ 1 = μ A 2 m ( x 2 ) y ¯ 0 + 1 μ A 2 m ( x 2 ) y ¯ 1 y ¯ 1 μ A 2 m ( x 2 ) y ¯ 0 y ¯ 1 = 0 ,
which implies that, if y ¯ 0 , m = y ¯ 1 , m and y ¯ 0 , m + 1 = y ¯ 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 y ¯ 1 , m = y ¯ 0 , m and y ¯ 1 , m + 1 = y ¯ 0 , m + 1 . For large values of x 2 , when m + 1 = M , μ A 2 M 1 ( x 2 ) = 0 and μ A 2 M = 1 . From (40), it is possible to see that only one restriction is needed for d ( x 1 , x 2 ) to be zero: either y ¯ 1 , M = y ¯ 0 , M or y ¯ 0 , M = y ¯ 1 , M .
Lemma 3.
Consider the function ϕ ( x 1 , x 2 ) . Let the conditions from the previous paragraphs be satisfied, e.g.,
y ¯ 0 , m y ¯ 1 , m , y ¯ 0 , m + 1 y ¯ 1 , m + 1 , y ¯ 1 , m y ¯ 0 , m , y ¯ 1 , m + 1 y ¯ 0 , m + 1 ,
suppose that the MF μ 1 0 ( 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 | μ 1 0 ( x 1 ) | is lower bounded by a constant φ, where P 1 , k ; k : M M denotes the support values of the MFs for the fuzzy set corresponding to x 1 , and define
α = φ | min M < m < M { y ¯ 1 , m y ¯ 0 , m , y ¯ 1 , m + 1 y ¯ 0 , m + 1 , y ¯ 0 , m y ¯ 1 , m , y ¯ 0 , m + 1 y ¯ 1 , m + 1 } | .
Therefore, it holds true that
ϕ ( x 1 , x 2 ) ϕ ( 0 , x 2 ) α tanh ( x 1 ) .
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 | μ 1 0 ( x 1 ) | exists for positive x 1 . Let
Δ ( x 1 , x 2 ) = ϕ ( x 1 , x 2 ) ϕ ( 0 , x 2 ) ,
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,
Δ ( x 1 , x 2 ) Δ ( 0 , x 2 ) = d d x 1 Δ ( x 1 , x 2 ) x 1 = C ( x 0 )
since Δ ( 0 , x 2 ) = ϕ ( 0 , x 2 ) ϕ ( 0 , x 2 ) = 0 , (46) becomes
Δ ( x 1 , x 2 ) = d d x 1 Δ ( x 1 , x 2 ) x 1 = C x
The derivative of Δ ( x 1 , x 2 ) may be computed, as follows
Δ x 1 = d d x 1 Δ ( x 1 , x 2 ) = μ 2 m ( x 2 ) μ 1 0 ( x 1 ) y ¯ 1 , m μ 1 0 ( x 1 ) y ¯ 0 , m + μ 2 m + 1 ( x 2 ) [ μ 1 0 ( x 1 ) y ¯ 1 , m + 1 μ 1 0 ( x 1 ) y ¯ 0 , m + 1 ] = μ 1 0 ( x 1 ) ( μ 2 m ( x 2 ) y ¯ 1 , m y ¯ 0 , m + μ 2 m + 1 ( x 2 ) y ¯ 1 , m + 1 y ¯ 0 , m + 1 ) ,
which satisfies the lower bound expressed in terms of the y ¯ as,
Δ x 1 φ min M < m < M { y ¯ 1 , m y ¯ 0 , m , y ¯ 1 , m + 1 y ¯ 0 , m + 1 } α 1 .
Subsequently, from (47) it can be verified that
Δ ( x 1 , x 2 ) α 1 | x 1 | tanh ( x 1 ) .
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
Δ x 1 φ min M < m < M { y ¯ 0 , m y ¯ 1 , m , y ¯ 0 , m + 1 y ¯ 1 , m + 1 } α 2 ,
then, we can make the following definition that encompasses all of the values of the α i with i = 1 , 2
α = min { α 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 m a x , the maximum value of Δ ( x 1 , x 2 ) on I. Because, by assumption and design, y ¯ 1 , m > y ¯ 0 , m , the maximum value will be attained at P 1 , 1 , which is y ¯ 1 , m + 1 > y ¯ 0 , m + 1 ,
D max = μ 2 m ( x 2 ) y ¯ 1 , m y ¯ 0 , m + μ 2 m + 1 ( x 2 ) y ¯ 1 , m + 1 y ¯ 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
D min = μ 2 m ( x 2 ) y ¯ k , m y ¯ 0 , m + μ 2 m + 1 ( x 2 ) y ¯ k , m + 1 y ¯ 0 , m + 1 .
Because y ¯ k , m y ¯ 1 , m and y ¯ k , m + 1 y ¯ 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
Δ ( x 1 , x 2 ) tanh ( x 1 ) ,
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 , x 2 ) ϕ ( 0 , x 2 ) α tanh ( x 1 )
The output of the fuzzy block is computed, once simplified, i:
ϕ ( x 1 , x 2 ) ϕ ( 0 , x 2 ) = y ¯ k , m y ¯ 0 , m + μ A 1 k + 1 ( x 1 ) y ¯ k + 1 , m y ¯ k , m monotonic slope x 1 P 1 , k
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 y ¯ k , m y ¯ 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,
Φ ( x 1 , x 2 ) Φ ( 0 , x 2 ) min i { α i } tanh ( x 1 )
Corollary 1
(Corollary 1 to Lemma 3). From (21) (Property 3 of a SFC), we can conclude that,
s i g n Φ ( x 1 , x 2 ) Φ ( 0 , x 2 ) = s i g n ( x 1 ) ,
since, also s i g n tanh ( x 1 ) = s i g n x 1 holds, the first side of (21) can be rewritten as
tanh ( x 1 ) ϕ i ( x 1 , x 2 ) ϕ i ( 0 , x 2 ) > 0 ,
or in vector notation we can express (59) as
tanh ( x 1 ) T Φ ( x 1 , x 2 ) Φ ( 0 , x 2 ) > 0
applying (57) to (60), in vector notation, we have the following relationships
tanh ( x 1 ) T Φ ( x 1 , x 2 ) Φ ( 0 , x 2 ) tanh ( x 1 ) T A tanh ( x 1 ) λ min { A } tanh ( x 1 ) 2 > 0 x 1 0 R n
with A = diag ( α i ) .
Corollary 2
(Corollary 2 to Lemma 3). From (55), if x 2 = 0 , we have
ϕ i ( x 1 , 0 ) α i tanh ( x 1 )
which, in a general expression, (62) can be written as
Φ ( x 1 , 0 ) λ min { A } tanh ( x 1 ) .
Additionally, from (22) in Property 3, stated before for a SFC, evaluating q ˜ i = 0 , we have
ϕ i 0 , q ˜ ˙ i ζ i q ˜ ˙ i ,
extrapolating (64) to the vector-matrix case, it leads to
Φ 0 , q ˜ ˙ λ Max { Z } q ˜ ˙ ,
where Z = diag { ζ i } for i = 1 , 2 , n .

4. Stability Analysis of the SFC Plus Feedforward Compensation

4.1. 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
M ( q ) q ¨ + C ( q , q ˙ ) q ˙ + g ( q ) + F v q ˙ = Φ q ˜ , q ˜ ˙ + τ d
with,
τ d = M ( q d ) q ¨ d + C ( q d , q ˙ d ) q ˙ d + g ( q d ) + F v q ˙ d
and simplifying, in matrix form, the closed-loop system is given by
d d t q ˜ q ˜ ˙ = q ˜ ˙ M ( q ) 1 Φ q ˜ , q ˜ ˙ C ( q , q ˙ ) q ˜ ˙ F v q ˜ ˙ h ( q ˜ , q ˜ ˙ ) .
The equilibrium points of (68) are defined by
{ q ˜ R n : 0 = Φ ( q ˜ , 0 ) + h ( q ˜ , 0 ) , and q ˜ ˙ = 0 R n }
where the origin is an equilibrium point.
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:
λ min { A } > k h 2 + k h 2 + γ λ Max { Z } + λ max { F v } + k h 1 + k C 1 q ˙ M ] ) 2 4 γ λ min { F v } γ n k C 1 λ max { M } k h 1
λ min { F v } > γ n k C 1 + λ max { M } + k h 1
0 < γ < λ min { M } λ min { B } λ max { M } .
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),
V ( q ˜ , q ˜ ˙ , t ) = 1 2 q ˜ ˙ T M ( q ) q ˜ ˙ + i = 1 n 0 q ˜ i ϕ ( ξ i , 0 ) d ξ i + γ tanh ( q ˜ ) T M ( q ) q ˜ ˙ ,
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
V ( q ˜ , q ˜ ˙ , t ) 1 2 λ min { M } q ˜ ˙ 2 + 1 2 ( i = 1 n 0 q ˜ i ϕ ( ξ i , 0 ) d ξ i + λ min { B } tanh ( q ˜ ) 2 ) γ λ max { M } tanh ( q ˜ ) q ˜ ˙ .
Focussing our attention on the summation-integral term of (74), and using (55) from Lemma 3, we can develop the following relationships,
i = 1 n 0 q ˜ i ϕ ( ξ i , 0 ) d ξ i i = 1 n α i 0 q ˜ i tanh ( ξ i ) d ξ i ,
where, integrating the right-hand side of (75), we have
i = 1 n α i 0 q ˜ i tanh ( ξ i ) d ξ i = i = 1 n α i | ln cos h ( q ˜ i ) | ,
therefore, applying the result of (76) in (75), we can write
i = 1 n 0 q ˜ i ϕ ( ξ i , 0 ) d ξ i i = 1 n α i | ln cos h ( q ˜ i ) | .
Substituting (77) in (74) and organizing in quadratic form,
V ( q ˜ , q ˜ ˙ , t ) 1 2 ( tanh ( q ˜ ) q ˜ ˙ T Q 1 tanh ( q ˜ ) q ˜ ˙ + i = 1 n α i | ln cos h ( q ˜ i ) | ) ,
with the matrix Q 1 defined as
Q 1 = λ min { B } γ λ max { M } γ λ max { M } λ min { M } .
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
det Q 1 = λ min { M } λ min { B } γ 2 λ max { M } 2 > 0 ,
holds. Hence, from the expression computed in (80), γ is obtained as
0 < γ < λ min { M } λ min { B } λ max { M } ,
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 i = 1 n α i | ln cos h ( 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),
0 q ˜ i ϕ ( ξ i , 0 ) d ξ i ρ i 0 q ˜ i ξ i d ξ i ρ i 2 q ˜ i 2 ,
(82) holds for both positive and negative values of q ˜ 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
V ( q ˜ , q ˜ ˙ , t ) 1 2 [ λ max { M } q ˜ ˙ 2 + λ max { R o } q ˜ 2 ] + γ λ max { M } q ˜ q ˜ ˙ .
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,
V ˙ ( q ˜ , q ˜ ˙ , t ) = q ˜ ˙ T M ( q ) q ˜ ¨ + 1 2 q ˜ ˙ T M ˙ ( q ) q ˜ ˙ + Φ ( q ˜ , 0 ) T q ˜ ˙ + γ sech 2 ( q ˜ ) q ˜ ˙ T M ( q ) q ˜ ˙ + γ tanh ( q ˜ ) T M ˙ ( q ) q ˜ ˙ + γ tanh ( q ˜ ) T M ( q ) q ˜ ¨ .
Substituting q ˜ ¨ from (68), applying the properties of the centrifugal and Coriolis torque matrix that are defined in (5) and (6), and simplifying,
V ˙ ( · ) = q ˜ ˙ T Φ ( q ˜ , q ˜ ˙ ) Φ ( q ˜ , 0 ) q ˜ ˙ T F v q ˜ ˙ γ tanh ( q ˜ ) T F v q ˜ ˙ q ˜ ˙ T h ( q ˜ , q ˜ ˙ ) γ tanh ( q ˜ ) T h ( q ˜ , q ˜ ˙ ) + γ tanh ( q ˜ ) T C T ( q ˜ , q ˜ ˙ ) q ˜ ˙ + γ q ˜ ˙ T sech 2 ( q ˜ ) M ( q ) q ˜ ˙ γ tanh ( q ˜ ) T Φ ( q ˜ , q ˜ ˙ ) .
Applying the bounds that are defined in (4), (10), and the properties defined in (61) and (65) to simplify (85), we have,
V ˙ ( · ) q ˜ ˙ T Φ ( q ˜ , q ˜ ˙ ) Φ ( q ˜ , 0 ) γ λ min { A } k h 2 tanh ( q ˜ ) 2 γ λ min { F v } k h 1 γ n k C 1 λ max { M } q ˜ ˙ 2 + γ λ max { Z } + λ max { F v } + k h 2 γ + k h 1 + k C 1 q ˙ M tanh ( q ˜ ) T q ˜ ˙ .
By defining the following constants to simplify the expression in (86),
a = λ min { A } k h 2 , b = k h 2 ,
c = λ Max { Z } + λ max { F v } + k h 1 + k C 1 q ˙ M ,
d = λ min { F v } k h 1 , e = n k C 1 + λ max { M } ,
substituting them in (86), and rewriting it into a quadratic expression, we have
V ˙ ( q ˜ , q ˜ ˙ , t ) q ˜ ˙ T Φ ( q ˜ , q ˜ ˙ ) Φ ( q ˜ , 0 ) γ tanh ( q ˜ ) q ˜ ˙ T a b γ + c 2 b γ + c 2 d γ e Q 2 tanh ( q ˜ ) q ˜ ˙ .
Since Property 3 of SFCs holds for the first term of V ˙ , then if Q 2 > 0 V ˙ ( q ˜ , q ˜ ˙ , t ) < 0 . Therefore, when applying the Sylvester theorem, we have the following relationships
λ min { A } > k h 2 a > 0 , λ min { F v } > γ ( n k C 1 + λ max { M } ) + k h 1 d γ e > 0 , det Q 2 > 0 ,
where the determinant of Q 2 is computed as,
det Q 2 = a d γ e b γ + c 2 4 > 0 .
Obtaining λ min { A } from (87) and (91), we obtain:
λ min { A } > k h 2 + k h 2 + γ λ Max { Z } + λ max { F v } + k h 1 + k C 1 q ˙ M ] ) 2 4 γ λ min { F v } γ n k C 1 λ max { M } k h 1 .
If λ min { A } complies with (92), then Q 2 > 0 , therefore, V ˙ < 0 , which completes the proof for Theorem 1.

4.2. 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 v 0 + Δ F v for the other terms of the dynamical model (1).
Analogously to the definition of the residual dynamics, the following function is defined:
Δ h ( t ) = Δ M q ¨ d Δ C q ˙ d Δ g Δ F v q ˙ d .
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
k Δ h > k Δ M q ¨ d M + k Δ C q ˙ d M + k Δ g + k Δ F v q ˙ d M ,
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,
d d t [ q ˜ q ˜ ˙ ] = [ q ˜ ˙ M ( q ) 1 Φ q ˜ , q ˜ ˙ C ( q , q ˙ ) q ˜ ˙ F v q ˜ ˙ h 0 ( q ˜ , q ˜ ˙ ) ] + [ 0 M ( q ) 1 Δ h ( t ) ]
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 2 n : w r } , where w = [ q ˜ q ˜ ˙ ] T . On D r , the lower bound (78) of the Lyapunov function may be written as
V 1 2 q ˜ q ˜ ˙ T Q 1 D q ˜ q ˜ ˙ 1 2 λ min { Q 1 D } w 2 ,
with Q 1 D given by the expression in (97)
Q 1 D = ε 2 λ min { B } γ λ Max { M } γ λ Max { M } λ min { M } ,
and ε = tan h ( 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 1 D will be positive definite if
γ < ε λ min { M } λ min { B } λ Max { M } .
The upper bound of V ( · ) that is given in (83) may be rewritten as
V ( · ) 1 2 w T Q 3 D w 1 2 λ Max { Q 3 D } w 2 ,
where Q 3 D is computed, as in (100)
Q 3 D = λ Max { R o } γ λ Max { M } γ λ Max { M } λ Max { M } .
It can be shown that the time derivative of (73) along the solutions of (95) satisfies
V ˙ ( · ) γ tanh ( q ˜ ) q ˜ ˙ T Q 2 tanh ( q ˜ ) q ˜ ˙ + λ Max { M 1 } k Δ h q ˜ ˙ + γ tanh ( q ˜ ) ,
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
λ Max { M 1 } k Δ h q ˜ ˙ + γ tanh ( q ˜ ) λ Max { M 1 } k Δ h ( q ˜ ˙ + γ q ˜ )
2 λ Max { M 1 } k Δ h max { γ , 1 } w .
The first term of (101) may be upper bounded by
γ tanh ( q ˜ ) q ˜ ˙ T Q 2 tanh ( q ˜ ) q ˜ ˙ γ w T Q 2 D w γ λ Max { Q 2 D } w 2 ,
on D r , with Q 2 D given in the the definition of (105)
Q 2 D = ε 2 a b γ + c 2 b γ + c 2 d γ e .
The symmetric matrix Q 2 D will be positive definite if
ε 2 a d γ e > b γ + c 2 4 ,
which holds if the bound defined for λ min { A } in (107) also holds
λ min { A } > k h 2 + ( k h 2 + γ c ) 2 4 ε 2 γ ( λ min { F v } γ [ n k C 1 λ Max { M } k h 1 ] ) .
Consequently, from (101), it can be stated that the derivative of the Lyapunov function is given by
V ˙ γ λ min { Q 2 D } w 2 + 2 λ Max { M 1 } k Δ h max { γ , 1 } w ,
which implies that, V ˙ < 0 for w > 2 λ Max { M 1 } k Δ h max { γ , 1 } γ λ min { Q 2 D } . By Corollary 4.2 of [26], solutions of (95) are uniformly ultimately bounded and they satisfy
lim sup t w k sup ,
with k sup defined in (110), where we have applied all of the definitions for Q 1 D , Q 2 D and Q 3 D
k sup = 2 λ Max { M 1 } k Δ h max { γ , 1 } γ λ min { Q 2 D } λ Max { Q 3 D } λ min { Q 1 D } .
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.

5. Results

5.1. 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 parameter values for this robot are, l 1 = 0.450 m, l 2 = 0.450 m, l c 1 = 0.091 m, l c 2 = 0.091 m, m 1 = 23.902 Kg, m 2 = 3.880 Kg, I 1 = 1.266 Kg m 2 , I 2 = 0.093 Kg m 2 , f v 1 = 2.288 N-m s, f v 2 = 0.175 N-m s, and g = 9.81 m/s 2 .
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 c 1 2 + m 2 [ l 1 2 + l c 2 2 + 2 l 1 l c 2 cos ( q 2 ) ] + I 1 + I 2 , M 12 ( q ) = m 2 [ l c 2 2 + l 1 l c 2 cos ( q 2 ) ] + I 2 , M 21 ( q ) = m 2 [ l c 2 2 + l 1 l c 2 cos ( q 2 ) ] + I 2 , M 22 ( q ) = m 2 l c 2 2 + I 2 , C 11 ( q , q ˙ ) = m 2 l 1 l c 2 sin ( q 2 ) q ˙ 2 , C 12 ( q , q ˙ ) = m 2 l 1 l c 2 sin ( q 2 ) [ q ˙ 1 + q ˙ 2 ] , C 21 ( q , q ˙ ) = m 2 l 1 l c 2 sin ( q 2 ) q ˙ 1 , C 22 ( q , q ˙ ) = 0 , g 1 ( q ) = [ m 1 l c 1 + m 2 l 1 ] g sin ( q 1 ) + m 2 l c 2 g sin ( q 1 + q 2 ) , g 2 ( q ) = m 2 l c 2 g sin ( q 1 + q 2 ) ,
where M i j ( q ) are the elements of row i : 1 , 2 , and column j : 1 , 2 of the matrix M ( q ) ; C k l 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.

5.2. Controller Design

5.2.1. SFC Plus Feedforward Design

Fuzzy sets for each input of each joint were defined, as shown in Figure 10 and Figure 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 ˜ or q ˜ ˙ ), 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 Figure 10, Figure 11 and Figure 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.

5.2.2. 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:
K p = diag { 70.7137 , 9.5283 } K v = diag { 16.1162 , 4.377 } .

5.3. 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 ) , and q ¨ 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:
q 1 d ( t ) = a 1 + b 1 ( 1 e d 1 t 3 ) + c 1 ( 1 e d 1 t 3 ) sin ( ω 1 t ) [ rad ] ,
q 2 d ( t ) = a 2 + b 2 ( 1 e d 2 t 3 ) + c 2 ( 1 e d 2 t 3 ) sin ( ω 2 t ) [ rad ] ,
where a 1 = π / 2 [rad], b 1 = π / 4 [rad], c 1 = π / 18 [rad], d 1 = 2 , ω 1 = 15 [rad/s], a 2 = π / 2 [rad], b 2 = π / 3 [rad], 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 Figure 13, Figure 14, Figure 15, Figure 16, Figure 17 and Figure 18, respectively.
The results of Figure 15 and Figure 16 corroborate that, for both the PD plus feedforward and the SFC plus feedforward, q ˜ = [ q ˜ 1 q ˜ 2 ] 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 steady-state, 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 = M P ,
  • 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.
Here, we have a numeric evidence that corroborates the comparative responses that are shown in Figure 13, Figure 14, Figure 15 and Figure 16, with the PD plus feedforward having a shorter t r than the SFC plus feedforward, but longer t s and a larger M P 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 Figure 19, Figure 20, Figure 21, Figure 22, Figure 23 and Figure 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.

5.4. 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 for q d ˙ and q 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 Figure 25, Figure 26, Figure 27 and Figure 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,
K p = diag { 70.7137 , 41.7283 } K v = diag { 11.1162 , 4.377 }
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 Table 9 and Table 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.
For all joints, the position errors have smaller values for the SFC plus feedforward in both the comparative table and figures than for the PD plus feedforward controller (labelled PD + ff). The differences are of 11.4%, 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.

6. 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 Figure 13 and Figure 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 for q 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 Figure 22 and Figure 26 and confirmed in Table 5 and Table 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 Figure 24 and Figure 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 choose q 1 ˜ and q 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 Figure 27 and Figure 28) looks more noisy as compared to the ones obtained via simulation (see Figure 23 and Figure 24) due to some mechanical oscillations that occur during the experiments, and what we see is the controllers performing their duty to maintain a minimum angular position error.
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.

7. 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.

Author Contributions

Conceptualization, V.S. and R.G.-H.; methodology, A.P.-L., V.S. and R.G.-H.; software, A.P.-L. and J.V.-C.; validation, A.P.-L., V.S., R.G.-H. and J.V.-C.; formal analysis, A.P.-L., V.S. and J.V.-C.; investigation, A.P.-L., V.S., R.G.-H. and J.V.-C.; resources, V.S. and R.G.-H.; data curation, A.P.-L.; writing—original draft preparation, A.P.-L.; writing—review and editing, A.P.-L., V.S., R.G.-H. and J.V.-C.; visualization, A.P.-L. and J.V.-C.; supervision, V.S. and R.G.-H.; project administration, V.S. and R.G-H.; funding acquisition, A.P.-L., V.S. and R.G.-H. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded in part by Programa para el Desarrollo Profesional Docente (PRODEP-México) under grant ITSON-126 and Tecnológico Nacional de México (TecNM) projects.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

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.

Abbreviations

The following abbreviations are used in this manuscript:
3D3-Dimensional
CACenter Average
COGCenter of Gravity
DOFDegree of Freedom
DSPDigital Signal Processor
fffeedforward
FLCFuzzy Logic Controller
FPGAField-Programmable Gate Array
GAGenetic Algorithms
GUASGlobal Uniform Asymptotic Stability
LFCLyapunov Function Candidate
LMILinear Matrix Inequality
MFMembership Function
M P Maximum overshoot
PCPersonal Computer
PDProportional + Derivative
PIDProportional + Integral + Derivative
RFWFLNNRecurrent Fuzzy Wavelet Functional Link Neural Network
RMSRoot Mean Square
SFCSectorial Fuzzy Controller
SSSteady-State
t r rise time
T-STakagi-Sugeno
t s settling time

References

  1. Kelly, R.; Santibanez, V.; Loria, A. Control of Robot Manipulators in Joint Space; Springer: London, UK, 2005; pp. 269–282. [Google Scholar]
  2. Calcev, G. Some remarks on the stability of Mamdani fuzzy control systems. IEEE Trans. Fuzzy Syst. 1998, 6, 436–442. [Google Scholar] [CrossRef]
  3. Santibanez, V.; Kelly, R.; Llama, M. Global asymptotic stability of a tracking sectorial fuzzy controller for robot manipulators. IEEE Trans. Syst. Man Cybern. Part B Cybern. 2004, 34, 710–718. [Google Scholar] [CrossRef] [PubMed]
  4. Santibanez, V.; Kelly, R.; Llama, M. A novel global asymptotic stable set-point fuzzy controller with bounded torques for robot manipulators. IEEE Trans. Fuzzy Syst. 2005, 13, 362–372. [Google Scholar] [CrossRef]
  5. Zheng, C.; Su, Y.; Mercorelli, P. A simple fuzzy controller for robot manipulators with bounded inputs. In Proceedings of the 2017 IEEE International Conference on Advanced Intelligent Mechatronics (AIM), Munich, Germany, 3–7 July 2017; pp. 1737–1742. [Google Scholar]
  6. Nguyen, V.-A.; Nguyen, A.-T.; Dequidt, A.; Vermeiren, L.; Dambrine, M. LMI-Based 2-DoF Control Design of a Manipulator via T-S Descriptor Approach. IFAC PapersOnLine 2018, 51, 102–107. [Google Scholar] [CrossRef]
  7. Coronado, A.; Peñaloza-Mejía, O.; Estrada-Manzo, V.; Bernal, M. A Comparison of Fuzzy Schemes for Trajectory Tracking on the Furuta Pendulum. In Proceedings of the Congreso Nacional de Control Automático 2017, Monterrey, Nuevo León, Mexico, 4–6 October 2017. [Google Scholar]
  8. Kang, H.B.; Lim, H.-K. Robust H Tracking Controller Design for 3-R Link Robotic Manipulator via Takagi-Sugeno fuzzy form. In Proceedings of the 2019 19th International Conference on Control, Automation and Systems (ICCAS 2019), Jeju, Korea, 15–18 October 2019; pp. 1152–1157. [Google Scholar]
  9. Quynh, N.X.; Nan, W.Y.; Yen, V.T. Design of a robust adaptive sliding mode control using recurrent fuzzy wavelet functional link neural networks for industrial robot manipulator with dead zone. Int. Serv. Robot. 2020, 13, 219–233. [Google Scholar] [CrossRef]
  10. Puga-Guzman, S.; Moreno-Valenzuela, J.; Santibanez, V. Adaptive neural network motion control of manipulators with experimental evaluations. Sci. World J. 2014, 2014, 1–13. [Google Scholar] [CrossRef]
  11. Prieto-Entenza, P.J.; Cazarez-Castro, N.R.; Aguilar, L.T.; Cardenas-Maciel, S.L.; Lopez-Renteria, J.A. A Lyapunov Analysis for Mamdani Type Fuzzy-Based Sliding Mode Control. IEEE Trans. Fuzzy Syst. 2020, 28, 1887–1895. [Google Scholar] [CrossRef]
  12. Lewis, F.L.; Dawson, D.M.; Abdallah, C.T. Robot Manipulator Control, Theory and Practice, 2nd ed.; Revised and Expanded; Marcel Dekker, Inc.: New York, NY, USA; Basel, Switzerland, 2004; pp. 125–136. [Google Scholar]
  13. Merabet, A.; Gu, J. Advanced Nonlinear Control of Robot Manipulators. In Robot Manipulators New Achievements; Lazinica, A., Kawai, H., Eds.; IntechOpen, 2010; pp. 107–109. Available online: https://www.intechopen.com/books/robot-manipulators-new-achievements/advanced-nonlinear-control-of-robot-manipulators (accessed on 27 February 2021). [CrossRef]
  14. Slotine, J.E.; Li, W. Global asymptotic stability of a tracking sectorial fuzzy controller for robot manipulators. Int. J. Robot. Res. 1987, 6, 49–59. [Google Scholar] [CrossRef]
  15. Arimoto, S. Fundamental problems of robot control: Part I, Innovations in the realm of robot servo-loops. Robotica 1995, 13, 19–27. [Google Scholar] [CrossRef]
  16. Arimoto, S. Fundamental problems of robot control: Part II a nonlinear circuit theory towards an understanding of dexterous motions. Robotica 1995, 13, 111–112. [Google Scholar] [CrossRef]
  17. Santibañez, V.; Kelly, R. PD control with feedforward compensation for robot manipulators: Analysis and experimentation. Robotica 2001, 19, 11–19. [Google Scholar] [CrossRef]
  18. Yarza, A.; Santibanez, V.; Moreno, J. Global Asymptotic Stability of the Classical PID Controller by Considering Saturation Effects in Industrial Robots. Int. J. Adv. Robot. Syst. 2011, 70, 160–174. [Google Scholar] [CrossRef] [Green Version]
  19. Marlin, T.E. Process Control. Designing Processes and Control Systems for Dynamic Performance, 2nd ed.; McGraw-Hill: Hoboken, NJ, USA, 2015; pp. 483–497. [Google Scholar]
  20. Bai, Y.; Zhuang, H.; Wang, D. Advanced Fuzzy Logic Technologies in Industrial Applications; Springer: London, UK, 2006; pp. 17–43. [Google Scholar]
  21. Lily, J.H. Fuzzy Control and Identification; John Wiley & Sons, Inc.: Hoboken, NJ, USA, 2010; pp. 29–31, 47–49. [Google Scholar]
  22. Talon, A.; Curt, C. Selection of appropriate defuzzification methods: Application to the assessment of dam performance. Expert Syst. Appl. Elsevier 2017, 70, 160–174. [Google Scholar] [CrossRef] [Green Version]
  23. Villalobos-Chin, J.; Pizarro, A.; Santibanez, V.; Garcia-Hernandez, R.; Zavala-Rio, A. Non-Lipschitz input membership functions that yield finite time convergence in sectorial fuzzy control. Número Especial de la revista Memorias del Congreso Nacional de Control Automático 2020, 20. Available online: http://www.amca.mx/RevistaDigital/cnca2020/pdf/0022_FI.pdf (accessed on 28 February 2021).
  24. Calcev, G.; Gorez, R.; De Neyer, M. Passivity approach to fuzzy control systems. Automatica 1998, 34, 339–344. [Google Scholar] [CrossRef]
  25. Khalil, H.K. Non Linear Systems, 3rd ed.; Prentice-Hall: Upper Saddle River, NJ, USA, 2002; pp. 117–118. [Google Scholar]
  26. Haddad, W.M.; Chellaboina, V. Nonlinear Dynamical Systems and Control: A Lyapunov-Based Approach; Princeton University Press: Princeton, NJ, USA, 2011; pp. 240–243. [Google Scholar]
  27. Reyes, F.; Kelly, R. Experimental evaluation of identificaction schemes on a direct–drive robot. Robotica 1997, 15, 563–571. [Google Scholar] [CrossRef]
  28. Reyes, F.; Kelly, R. Experimental evaluation of model-based controllers on a drive robot arm. Mechatronics 2001, 11, 267–282. [Google Scholar] [CrossRef]
  29. Samonto, S.; Kar, S.; Pal, S.; Sekh, A.A. Fuzzy logic based multistage relaying model for cascaded intelligent fault protection scheme. Electr. Power Syst. Res. 2020, 184, 10. [Google Scholar] [CrossRef]
  30. Oprea, S.-V.; Bâra, A.; Preda, Ș.; Tor, O.B. A Smart Adaptive Switching Module Architecture Using Fuzzy Logic for an Efficient Integration of Renewable Energy Sources. A Case Study of a RES System Located in Hulubești, Romania. Sustainability 2020, 12, 6084. [Google Scholar] [CrossRef]
  31. Nozaki, K.; Ishibuchi, H.; Tanaka, H. A simple but powerful heuristic method for generating fuzzy rules from numerical data. Fuzzy Sets Syst. 1997, 86, 251–270. [Google Scholar] [CrossRef]
  32. Postorino, M.N.; Versaci, M. A Geometric Fuzzy-Based Approach for Airport Clustering. Adv. Fuzzy Syst. 2014, 12. [Google Scholar] [CrossRef] [Green Version]
  33. Pizarro, A.; Garcia-Hernandez, R.; Santibanez, V. Fine-Tuning of a Fuzzy Computed-Torque Control for a 2-DOF Robot via Genetic Algorithms. In Proceedings of the Second IFAC Conference on Modelling, Identification and Control of Nonlinear Systems, Guadalajara, Jalisco, México, 20–22 June 2018; Sánchez, E., Hernandez-Vargas, E., Eds.; Elsevier Science Direct-IFAC PapersOnline, 2018; pp. 326–331. Available online: https://www.sciencedirect.com/science/article/pii/S2405896318310528 (accessed on 28 February 2021).
  34. Kelly, R.; Santibanez, V. Control de Movimiento de Robots Manipuladores; Pearson, Prentice Hall: Madrid, Spain, 2003; pp. 294–297. [Google Scholar]
  35. Campa, R.; Kelly, R.; Santibanez, V. Windows-based real-time control of direct-drive mechanisms: Platform description and experiments. Mechatronics 2004, 14, 1021–1036. [Google Scholar] [CrossRef]
Figure 1. Proportional-Derivative (PD) Control plus Feedforward diagram. The feedforward block is formed by the dynamics of the robot evaluated at the desired angular positions, velocities, and accelerations.
Figure 1. Proportional-Derivative (PD) Control plus Feedforward diagram. The feedforward block is formed by the dynamics of the robot evaluated at the desired angular positions, velocities, and accelerations.
Mathematics 09 00616 g001
Figure 2. PD Control plus Feedforward diagram simplified to better show the feedforward block that formed by the dynamics of the robot evaluated at the desired trajectories.
Figure 2. PD Control plus Feedforward diagram simplified to better show the feedforward block that formed by the dynamics of the robot evaluated at the desired trajectories.
Mathematics 09 00616 g002
Figure 3. Block diagram for an FLC used in direct form. The input signals, x , to the FLC are the errors obatined from the summation point, and their outputs, y are the control signals to the plant.
Figure 3. Block diagram for an FLC used in direct form. The input signals, x , to the FLC are the errors obatined from the summation point, and their outputs, y are the control signals to the plant.
Mathematics 09 00616 g003
Figure 4. Internal diagram of an FLC showing all the elements that compute its output.
Figure 4. Internal diagram of an FLC showing all the elements that compute its output.
Mathematics 09 00616 g004
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.
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.
Mathematics 09 00616 g005
Figure 6. ϕ ( x 1 , x 2 ) ϕ ( 0 , x 2 ) with x 2 evaluated at every partition value P k .
Figure 6. ϕ ( x 1 , x 2 ) ϕ ( 0 , x 2 ) with x 2 evaluated at every partition value P k .
Mathematics 09 00616 g006
Figure 7. 3D representation of ϕ ( x 1 , x 2 ) ϕ ( 0 , x 2 ) .
Figure 7. 3D representation of ϕ ( x 1 , x 2 ) ϕ ( 0 , x 2 ) .
Mathematics 09 00616 g007
Figure 8. 3D representation of ϕ ( x 1 , x 2 ) ϕ ( 0 , x 2 ) viewed from the x 1 plane.
Figure 8. 3D representation of ϕ ( x 1 , x 2 ) ϕ ( 0 , x 2 ) viewed from the x 1 plane.
Mathematics 09 00616 g008
Figure 9. Diagram of the 2-DOF robot manipulator that was used in the experiments.
Figure 9. Diagram of the 2-DOF robot manipulator that was used in the experiments.
Mathematics 09 00616 g009
Figure 10. Fuzzy sets for input x 1 = q ˜ i .
Figure 10. Fuzzy sets for input x 1 = q ˜ i .
Mathematics 09 00616 g010
Figure 11. Fuzzy sets for input x 2 = q ˜ ˙ i .
Figure 11. Fuzzy sets for input x 2 = q ˜ ˙ i .
Mathematics 09 00616 g011
Figure 12. Fuzzy sets for output τ .
Figure 12. Fuzzy sets for output τ .
Mathematics 09 00616 g012
Figure 13. Desired vs. actual position in joint 1, without Coulomb friction.
Figure 13. Desired vs. actual position in joint 1, without Coulomb friction.
Mathematics 09 00616 g013
Figure 14. Desired vs. actual position in joint 2, without Coulomb friction.
Figure 14. Desired vs. actual position in joint 2, without Coulomb friction.
Mathematics 09 00616 g014
Figure 15. Angular Position error for joint 1, without Coulomb friction.
Figure 15. Angular Position error for joint 1, without Coulomb friction.
Mathematics 09 00616 g015
Figure 16. Angular position error for joint 2, without Coulomb friction.
Figure 16. Angular position error for joint 2, without Coulomb friction.
Mathematics 09 00616 g016
Figure 17. Applied torque to joint 1, without Coulomb friction.
Figure 17. Applied torque to joint 1, without Coulomb friction.
Mathematics 09 00616 g017
Figure 18. Applied torque to joint 2, without Coulomb friction.
Figure 18. Applied torque to joint 2, without Coulomb friction.
Mathematics 09 00616 g018
Figure 19. Desired vs. actual position in joint 1.
Figure 19. Desired vs. actual position in joint 1.
Mathematics 09 00616 g019
Figure 20. Desired vs. actual position in joint 2.
Figure 20. Desired vs. actual position in joint 2.
Mathematics 09 00616 g020
Figure 21. Angular position error in joint 1.
Figure 21. Angular position error in joint 1.
Mathematics 09 00616 g021
Figure 22. Angular position error in joint 2.
Figure 22. Angular position error in joint 2.
Mathematics 09 00616 g022
Figure 23. Applied torque to joint 1.
Figure 23. Applied torque to joint 1.
Mathematics 09 00616 g023
Figure 24. Applied torque to joint 2.
Figure 24. Applied torque to joint 2.
Mathematics 09 00616 g024
Figure 25. Angular position error for joint 1.
Figure 25. Angular position error for joint 1.
Mathematics 09 00616 g025
Figure 26. Angular position error for joint 2.
Figure 26. Angular position error for joint 2.
Mathematics 09 00616 g026
Figure 27. Applied torque to joint 1.
Figure 27. Applied torque to joint 1.
Mathematics 09 00616 g027
Figure 28. Applied torque to joint 2.
Figure 28. Applied torque to joint 2.
Mathematics 09 00616 g028
Figure 29. Magnification of applied torque to joint 2 showing visual artifacts created by using a different output delivery sampling period.
Figure 29. Magnification of applied torque to joint 2 showing visual artifacts created by using a different output delivery sampling period.
Mathematics 09 00616 g029
Table 1. Fuzzy rules look-up table.
Table 1. Fuzzy rules look-up table.
q ˜ ˙ / q ˜ l 1 = 2 l 1 = 1 l 1 = 0 l 1 = 1 l 1 = 2
NBNSZPSPB
l 2 = 2
NBNBNBNSZZ
l 2 = 1
NSNBNBNSZZ
l 2 = 0
ZNSNSZPSPS
l 2 = 1
PSZZPSPBPB
l 2 = 2
PBZZPSPBPB
Table 2. RMS comparative of the simulation results for q ˜ without F C .
Table 2. RMS comparative of the simulation results for q ˜ without F C .
Controller q ˜ 1 q ˜ 1 , ss q ˜ 2 q ˜ 2 , ss
PD + ff11.7759016.36710.0005
SFC + ff13.5810015.04480
Table 3. Root Mean Square (RMS) of applied torques comparative of the simulations without F C .
Table 3. Root Mean Square (RMS) of applied torques comparative of the simulations without F C .
Controller τ 1 τ 1 , ss τ 2 τ 2 , ss
PD + ff71.867472.93883.85143.4772
SFC + ff72.070872.93883.87843.4772
Table 4. Transient response comparative of the simulation results without F C .
Table 4. Transient response comparative of the simulation results without F C .
Controller MP q 1 t r q 1 t s q 1 MP q 2 t r q 2 t s q 2
PD + ff6.9908%0.5057 s2.2669 s0%1.5484 s2.5328 s
SFC + ff3.9%0.5660 s1.11 s0.387%0.7251 s0.87 s
Table 5. Position Error RMS comparative of the simulation results for q ˜ with F C .
Table 5. Position Error RMS comparative of the simulation results for q ˜ with F C .
Controller q ˜ 1 q ˜ 1 , ss q ˜ 2 q ˜ 2 , ss
PD + ff12.00770.992318.13594.8118
SFC + ff14.28440.608215.88290.6476
Table 6. RMS of applied torques comparative of the simulations with F C .
Table 6. RMS of applied torques comparative of the simulations with F C .
Controller τ 1 τ 1 , ss τ 2 τ 2 , ss
PD + ff69.523870.00614.40554.0536
SFC + ff67.286268.43024.41624.0694
Table 7. Transient response comparative of the simulation results with F C .
Table 7. Transient response comparative of the simulation results with F C .
Controller MP q 1 t r q 1 t s q 1 MP q 2 t r q 2 t s q 2
PD + ff0.0821%0.7 s2.5 s8.97%2.5288 s2.51 s
SFC + ff0%0.7294 s0.8782 s0%0.8406 s1.3823 s
Table 8. RMS Position Error comparative for the experimental implementation.
Table 8. RMS Position Error comparative for the experimental implementation.
Controller q ˜ 1 q ˜ 1 , ss q ˜ 2 q ˜ 2 , ss
PD + ff17.17541.402117.16835.3036
SFC + ff15.2181.186715.97010.6256
Table 9. RMS of applied torques comparative for the experimental implementation.
Table 9. RMS of applied torques comparative for the experimental implementation.
Controller τ 1 τ 1 , ss τ 2 τ 2 , ss
PD + ff66.045765.35374.46704.1095
SFC + ff59.436858.66414.56284.2463
Table 10. Transient response comparative of the experimental results.
Table 10. Transient response comparative of the experimental results.
Controller MP q 1 t r q 1 t s q 1 MP q 2 t r q 2 t s q 2
PD + ff0.94%3.6049 s4.7 s0%2.55 s3.17 s
SFC + ff0%1.0767 s1.27 s0%0.8646 s1.3856 s
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Pizarro-Lerma, A.; Santibañez, V.; Garcia-Hernandez, R.; Villalobos-Chin, J. Sectorial Fuzzy Controller Plus Feedforward for the Trajectory Tracking of Robotic Arms in Joint Space. Mathematics 2021, 9, 616. https://doi.org/10.3390/math9060616

AMA Style

Pizarro-Lerma A, Santibañez V, Garcia-Hernandez R, Villalobos-Chin J. Sectorial Fuzzy Controller Plus Feedforward for the Trajectory Tracking of Robotic Arms in Joint Space. Mathematics. 2021; 9(6):616. https://doi.org/10.3390/math9060616

Chicago/Turabian Style

Pizarro-Lerma, Andres, Victor Santibañez, Ramon Garcia-Hernandez, and Jorge Villalobos-Chin. 2021. "Sectorial Fuzzy Controller Plus Feedforward for the Trajectory Tracking of Robotic Arms in Joint Space" Mathematics 9, no. 6: 616. https://doi.org/10.3390/math9060616

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

Article Metrics

Back to TopTop