# Tracking Control Design in Nonlinear Multivariable Systems: Robotic Applications

Authors: Gustavo Scaglia; Emanuel Serrano; Andres Rosales; Pedro Albertos
Journal: Mathematical Problems in Engineering
 (2019)

---

## Abstract

In this work, a controller design technique called linear algebra based controller (LABC) is presented. The controller is obtained following a systematic procedure that is summarized in this work. In addition, the influence of additive uncertainty on the tracking error is analyzed, and a solution using integrators is proposed. A mobile robot is used as a benchmark to test the performance of the proposed algorithms. In addition, implementation to other systems such as marine vessel is referenced. In this work, the design of controllers in continuous and discrete time is included and experimental and simulation results are shown in a Pioneer 3AT mobile robot. Comparisons are also shown with other controllers proposed in the literature.


---

## Body

## 1. Introduction

There are many control applications where the target is to follow a given trajectory for some of the process variables. This is the usual goal when dealing with robotic applications, where the robot itself or its end effector must follow a prescribed trajectory to perform some specific activities like, for instance, painting, welding, or cutting. But not for all the state variables, there is a defined trajectory, and for those remaining variables, there is some freedom to fix their time evolution.Assuming an internal representation of the process, a nominal linear model could be expressed as(1)x˙t=Axt+But,xs=sI−A−1Bus=Gsus,where x∈ℛn is the vector of state variables, u∈ℛm is the vector of control inputs, and A and B are matrices of appropriate dimensions. In general, m<n and thus Gs, the transfer matrix, is not square and the control action cannot be directly derived from (1) even in the case that the desired trajectory of the full state vector, xds, is given us=G−1sxds. Moreover, the model of the process could be nonlinear and in that case, the state-space representation should be expressed as(2)x˙t=Fxt,ut,t.The tracking control problem has deserved a lot of attention in the last years ([1–6]), and it has been usually tackled as a two-degrees-of-freedom problem. A model-based feedforward control is implemented in order to generate a feasible trajectory and a feedback control tries to reduce the tracking error. There is a lot of research dealing with this problem (see, for instance, [7]). Clearly, there is no general solution for the more general problem, where there is a reference signal rt for some state variables, the process model is nonlinear, and there are uncertainties and external disturbances. Some approaches have been proposed to deal with specific problems.In [8], a novel trajectory-tracking controller for a mobile robot was presented. A crucial assumption is that the robot model is affine in the control. The proposed technique is based on the calculation of control actions by solving a system of linear equations. The objective is to follow reference coordinates (xref,yref), and the unknowns are the linear and angular speed of the robot. A fundamental point is to find the conditions such that the system of linear equations has an exact solution. In this way, the desired value of the remaining state variables, that are named sacrificed variables, is determined. The condition that the system has an exact solution ensures that the reference trajectory together with the sacrificed variables forms an admissible trajectory of the system. This ensures that the tracking error tends to zero. LABC has been applied to several robotic systems. It has also been used in the formation of mobile robots where it is ensured that the formation error tends to zero. In [9], the proposed methodology was applied for trajectory tracking in a marine vessel. Simulations results demonstrate the good performance of the controller against environmental disturbances induced by wave, wind, and ocean current. In [10], a controller, based on the linear algebra methodology, allows a quad-rotor helicopter to track a desired trajectory in 3D space. This methodology has been accepted and applied by different authors (see, for instance [11, 12]), being referenced as an alternative to solve the path tracking problem (see, for instance [13–15]). In [16], the design in CT is presented using the kinematic model of the mobile robot. In that study, we have only one sacrificed variable, and different approximations were used. The higher the order of the approximations is, the quicker the error tends to zero. In [17], the design is made using the dynamic model of the mobile robot; in this case, there are three sacrificed variables. In this case, having three sacrificed variables, only a zero-order approximation is used to avoid increasing the calculation time.Based on the previous results and applications, the aim of this paper is to provide a formal design methodology for tracking controllers in nonlinear multivariable plants with uncertainties in the model. In the next section, the controller design methodology is summarized. Then, the details to be applied in continuous time (CT) to a mobile by using either the kinematic or the dynamic model are presented. Clearer results are obtained if a discrete time (DT) model is considered. Different discretization options are used, leading to controllers with enhanced properties. Initially, a perfect model of the process is assumed. Model uncertainties as well as external disturbances are represented by including an additional term in the state equation. Based on the characteristics of this additional term, different kinds of uncertainties can be considered.Most controllers are derived by using the discrete state-space model equations. The main advantage of this approach is the simplicity of the controllers, and the use of discrete time equations makes its implementation suitable for a computer-based control system.


## 2. Controller Design Methodology

In this section, the LABC methodology considered in this paper is presented. The procedure described below outlines the steps that must be followed to design a controller based on linear algebra for a multivariable nonlinear system affine in the control. Initially, the model is assumed to be perfect (no uncertainties or missing dynamics), and there are no external disturbances. The control is based on the system state which is assumed to be measured. The methodology can be applied either in CT or DT.The design methodology can be summarized in five steps:(1)
First, it is necessary to represent the mathematical model of the CT system in state form as a set of first-order differential equations, denotingx∈ℛr as the state vector. The state functions are affine in the control, u∈ℛm. If the design is carried out in DT, the plant model must be discretized using a numerical method (for example, Euler, trapezoidal, or any other).(2)
The state vector is split into two parts: the set of variables whose trajectory should be tracked (z∈ℛm) and the rest (z¯∈ℛr−m), denoted as sacrificed variables. This name points out that their reference value is adjusted to allow an algebraic computation of the control action. The control problem is formulated as solving a system of equations linear in the control (Au=b) where A is a matrix of (possibly nonlinear) functions of the state variables and the system parameters, u is a vector composed by the control actions, and b is a vector of (possibly nonlinear) functions of the state variables and the system parameters.(3)
The derivative of the state variables required to be trackedzt are replaced by that of the reference variables assuming a smooth approaching, for instance, proportional to the error. In continuous time, the replacement is done according to z˙=z˙ref+kzzref−z; in discrete time, the replacement is zn+1=zref,n+1−kzzref,n−zn. In this setting, z represents a tracked state variable, zn is its value at time instant n, kz is a controller parameter associated to this variable, zref represents the desired value of this variable, and zref,n is its desired value in discrete time at time instant n. Next, the reference trajectory of the sacrificed state variables should be determined. The reference for these variables is defined with the subscript ez, and an approach proportional to the error is also assumed for their derivative.(4)
The goal is to find the current value of the control actions such that the trajectory-tracking error tends to zero. To accomplish that, the system must have exact solution. Then, the vectorb must be contained in the space formed by the columns of A, i.e., the vector b must be a linear combination of the column vectors of matrix A [18]. In this way, the conditions, when the system Au=b has exact solution, are defined leading to the assumed references for the sacrificed state variables.(5)
Finally, the calculation of the control actions forcing the tracking errors tend to zero is carried out. So, the control actions are obtained by solving the systemAu=b.


## 3. Controller Design in Continuous Time

In this section, the above methodology is applied to a CT affine in the control undisturbed nonlinear system.Let us represent the plant as(3)x˙=fx+gxu,where the state is r-dimensional and there are m-inputs. Obviously, only the tracking of m state variables is possible. Let us split the state vector as(4)x˙=z˙z¯˙=f1xf2x+g1xg2xu,where z∈ℛm is the vector of state variables to be tracked, following the desired reference zref. fi,gi are matrices of appropriate dimension.According to Step 2 exposed in the methodology summary in Section2, the reference for the sacrificed state variables, z¯ez, will be computed to provide a solution of the set of equations:(5)z˙ref+K1zref−z−f1xz¯˙ez+K2z¯ez−z¯−f2x=g1xg2xu;b=Au,where K1,K2 are diagonal matrices with diagonal elements determining the convergence rate for each variable. That is, z¯ez is defined in such a way that the vector b is a linear combination of the column vectors of the matrix A.Oncez¯ez is defined, its derivative can be computed if zreft is continuous and derivable.Finally, the control will be computed as(6)u=A†b,where A† stands for the pseudoinverse matrix.


### 3.1. Kinematic Control of a Mobile Robot

The kinematic continuous time control of a mobile robot will be used to illustrate the procedure. The details of this application can be seen in [16]. A simple nonlinear kinematic model for a mobile robot is given by (7). This kinematic model has been used by other authors recently in the bibliography [16, 19].(7)x˙=Vcosθ,y˙=Vsinθ,θ˙=W,where V is the linear velocity of the mobile robot, W is its angular velocity, x,y is the Cartesian position, and θ is the mobile robot orientation.The system model given by (7) has three state variables. Two of them (z=xy′) must follow a preestablished trajectory defined by (xreft,yreft), whereas the orientation (z¯=θ) is going to be considered as a sacrificed state variable. This model has been used in several recent papers such as [2, 20–22]. Note that the dynamics of the mobile as well as that of the actuators are not considered.The goal is to find the values ofVt and Wt so that the mobile robot may follow a given trajectory with an acceptable error.As previously mentioned, the reference values for the sacrificed variables must be determined to provide an exact solution to a system of linear equations. This reference valued will be denoted byθez.Now the design steps following the proposed methodology are described:(i)
As the design is in continuous time, equation (7) represents the first step.(ii)
Now, the system is described in matrix form(8)x˙y˙θ˙=cosθ0sinθ001VW,which is similar to (3), being fx=0 and affine in the control.(iii)
In the third step, the derivative of the state variables to be tracked, in this case, the robot positionx,y is replaced by the reference position assuming a smooth approaching. A similar expression is used for the derivative of the sacrificed variable, θ, also assuming an approach proportional to the error, as seen in (9) (see Step 2 in section 2):(9)cosθ0sinθ001VW=x˙ref+kxxref−xy˙ref+kyyref−yθ˙ez+kθθez−θ.The tracking error is defined as(10)et=exeyeθ=xref−xyref−yθez−θ.In (9), kx,ky, and kθ are positive constants allowing the performance adjustment of the proposed control system. They should be kx>0, ky>0, and kψ>0 to ensure that the tracking errors (10) tend to zero (see [16]).(iv)
In the four step, the reference for the sacrificed variables is defined to provide an exact solution to (9). Taking into account the first two rows of (9), θez must satisfy(11)sinθezcosθez=y˙ref+kyyref−yx˙ref+kxxref−x.The orientationθez in (11) ensures that the system (9) has exact solution, and it is computed according to(12)θez=atany˙ref+kyyref−yx˙ref+kxxref−x.(v)
Finally, the control law is found by solving the system (9) by least squares. Taking into account A′A=I, A†=A′. Thus,(13)VW=x˙ref+kxexcosθ+y˙ref+kyeysinθθ˙ez+kθeθ.Providing the control actions, based on the system state and the references.Remark 1.
The value ofθ˙ezis required to compute W but (12) allows to calculate θez. However, θ˙ez can be computed from (12), as far as the second derivative of the references is available. It can be also estimated as the past derivative. In practical applications, if the change in the robot orientation is slow, its derivative can be neglected.


### 3.2. Dynamic Control of a Mobile Robot

Let us consider the dynamic model of this mobile robot [17]. To perform tasks requiring high speed and/or transport of heavy loads, it is very important to consider the dynamics of the mobile robot because such tasks result in very large external forces on the robot and they will inevitably influence its path and direction. Hence, a kinematic model is not sufficient.The state-space dynamic model of the mobile robot is given by(14)x˙y˙θ˙V˙W˙=VcosθVsinθWa3a1W2−a4a1V−a5a2VW−a6a2W+0000001a1001a2ucωc,where the tracked state variables are as before (z=xy′), and the sacrificed variables are z¯=θVW′. The parameters of the dynamic model (ai for i1,2,3,4,5,6) are described in ([17, 23]).In this case, the system has 5 states. The aim is to find the combined control actionsuc,ωc such that the mobile robot reaches and follows a reference trajectory (xref,yref). The trajectory of the remaining state variables (the sacrificed variables) is not so relevant.Next, the procedure to design the controller is applied.(i)
The control problem is described in matrix form, and then, it is analyzed as a linear algebra problem:(15)0000001a1001a2ucωc=x˙−Vcosθy˙−Vsinθθ˙−WV˙−a3a1W2+a4a1VW˙++a5a2VW+a6a2W.(ii)
The derivative of the robot positionx,y is replaced by that of the reference position (xref,yref) assuming an approaching proportional to the error. A similar setting is used for the derivatives of the sacrificed variables whose reference trajectories are denoted as (θez,Vez, and Wez), also assuming an approaching proportional to the error(16)0000001a1001a2ucωc=x˙ref+kxxref−x−Vcosθy˙ref+kyyref−y−Vsinθθ˙ez+kθθez−θ−WV˙ez+kVVez−V−a3a1W2+a4a1VW˙ez+kWWez−W+a5a2VW+a6a2W.(iii)
In the next step, the conditions in order that system (16) has exact solution will determine the sacrificed variables reference, leading to(17)θezVezWez=atany˙ref+kyeyx˙ref+kxexx˙ref+kxexcosθez+y˙ref+kyeysinθezθ˙ez+kθeθ.(iv)
In addition, the values ofθ˙ez, V˙ez, and W˙ez can be computed as before (see Remark 1).(v)
Finally, system (16) is solved by least squares, and the control action expression arises in a natural way:(18)ucωc=a1V˙ez+kVVez−V−a3W2+a4Va2W˙ez+kWWez−W+a5VW+a6W.As before, the control action is based on the availability of the full state vector.


## 3.1. Kinematic Control of a Mobile Robot

The kinematic continuous time control of a mobile robot will be used to illustrate the procedure. The details of this application can be seen in [16]. A simple nonlinear kinematic model for a mobile robot is given by (7). This kinematic model has been used by other authors recently in the bibliography [16, 19].(7)x˙=Vcosθ,y˙=Vsinθ,θ˙=W,where V is the linear velocity of the mobile robot, W is its angular velocity, x,y is the Cartesian position, and θ is the mobile robot orientation.The system model given by (7) has three state variables. Two of them (z=xy′) must follow a preestablished trajectory defined by (xreft,yreft), whereas the orientation (z¯=θ) is going to be considered as a sacrificed state variable. This model has been used in several recent papers such as [2, 20–22]. Note that the dynamics of the mobile as well as that of the actuators are not considered.The goal is to find the values ofVt and Wt so that the mobile robot may follow a given trajectory with an acceptable error.As previously mentioned, the reference values for the sacrificed variables must be determined to provide an exact solution to a system of linear equations. This reference valued will be denoted byθez.Now the design steps following the proposed methodology are described:(i)
As the design is in continuous time, equation (7) represents the first step.(ii)
Now, the system is described in matrix form(8)x˙y˙θ˙=cosθ0sinθ001VW,which is similar to (3), being fx=0 and affine in the control.(iii)
In the third step, the derivative of the state variables to be tracked, in this case, the robot positionx,y is replaced by the reference position assuming a smooth approaching. A similar expression is used for the derivative of the sacrificed variable, θ, also assuming an approach proportional to the error, as seen in (9) (see Step 2 in section 2):(9)cosθ0sinθ001VW=x˙ref+kxxref−xy˙ref+kyyref−yθ˙ez+kθθez−θ.The tracking error is defined as(10)et=exeyeθ=xref−xyref−yθez−θ.In (9), kx,ky, and kθ are positive constants allowing the performance adjustment of the proposed control system. They should be kx>0, ky>0, and kψ>0 to ensure that the tracking errors (10) tend to zero (see [16]).(iv)
In the four step, the reference for the sacrificed variables is defined to provide an exact solution to (9). Taking into account the first two rows of (9), θez must satisfy(11)sinθezcosθez=y˙ref+kyyref−yx˙ref+kxxref−x.The orientationθez in (11) ensures that the system (9) has exact solution, and it is computed according to(12)θez=atany˙ref+kyyref−yx˙ref+kxxref−x.(v)
Finally, the control law is found by solving the system (9) by least squares. Taking into account A′A=I, A†=A′. Thus,(13)VW=x˙ref+kxexcosθ+y˙ref+kyeysinθθ˙ez+kθeθ.Providing the control actions, based on the system state and the references.Remark 1.
The value ofθ˙ezis required to compute W but (12) allows to calculate θez. However, θ˙ez can be computed from (12), as far as the second derivative of the references is available. It can be also estimated as the past derivative. In practical applications, if the change in the robot orientation is slow, its derivative can be neglected.


## 3.2. Dynamic Control of a Mobile Robot

Let us consider the dynamic model of this mobile robot [17]. To perform tasks requiring high speed and/or transport of heavy loads, it is very important to consider the dynamics of the mobile robot because such tasks result in very large external forces on the robot and they will inevitably influence its path and direction. Hence, a kinematic model is not sufficient.The state-space dynamic model of the mobile robot is given by(14)x˙y˙θ˙V˙W˙=VcosθVsinθWa3a1W2−a4a1V−a5a2VW−a6a2W+0000001a1001a2ucωc,where the tracked state variables are as before (z=xy′), and the sacrificed variables are z¯=θVW′. The parameters of the dynamic model (ai for i1,2,3,4,5,6) are described in ([17, 23]).In this case, the system has 5 states. The aim is to find the combined control actionsuc,ωc such that the mobile robot reaches and follows a reference trajectory (xref,yref). The trajectory of the remaining state variables (the sacrificed variables) is not so relevant.Next, the procedure to design the controller is applied.(i)
The control problem is described in matrix form, and then, it is analyzed as a linear algebra problem:(15)0000001a1001a2ucωc=x˙−Vcosθy˙−Vsinθθ˙−WV˙−a3a1W2+a4a1VW˙++a5a2VW+a6a2W.(ii)
The derivative of the robot positionx,y is replaced by that of the reference position (xref,yref) assuming an approaching proportional to the error. A similar setting is used for the derivatives of the sacrificed variables whose reference trajectories are denoted as (θez,Vez, and Wez), also assuming an approaching proportional to the error(16)0000001a1001a2ucωc=x˙ref+kxxref−x−Vcosθy˙ref+kyyref−y−Vsinθθ˙ez+kθθez−θ−WV˙ez+kVVez−V−a3a1W2+a4a1VW˙ez+kWWez−W+a5a2VW+a6a2W.(iii)
In the next step, the conditions in order that system (16) has exact solution will determine the sacrificed variables reference, leading to(17)θezVezWez=atany˙ref+kyeyx˙ref+kxexx˙ref+kxexcosθez+y˙ref+kyeysinθezθ˙ez+kθeθ.(iv)
In addition, the values ofθ˙ez, V˙ez, and W˙ez can be computed as before (see Remark 1).(v)
Finally, system (16) is solved by least squares, and the control action expression arises in a natural way:(18)ucωc=a1V˙ez+kVVez−V−a3W2+a4Va2W˙ez+kWWez−W+a5VW+a6W.As before, the control action is based on the availability of the full state vector.


## 4. Controller Design in Discrete Time

In this section, the above methodology is applied to design the DT control for a CT nonlinear system, with sampling periodT.(1)
If the Euler approximation method is used, (3) can be written as(19)xn+1=xn+Tfxn+gxnun=f¯xn+g¯xnun,where the state isn-dimensional.(2)
After discretization, the control problem is formulated as solving a system of equations like(20)xn+1−f¯xn=g¯xnun.(3)
Next, the state is split as in (4) (xn=zn′z¯n′′). The future value of the variables to be tracked (zn+1) is replaced by the reference position (zref,n+1) assuming an approaching proportional to the error. In addition, an approach proportional to the error is also assumed for the required trajectory of the sacrificed variables (z¯ez,n+1), as can be seen in(21)g¯1xng¯2xnun=zref,n+1−zn−k1zref,n−znT−f¯1xnz¯ez,n+1−z¯n−k2z¯ez,n−z¯nT−f¯2xn.That is(22)Anun=bn.(4)
The controller parameters are chosen such that0<k1<1 and 0<k2<1 in order to force the tracking errors to tend to zero, see [24] for details.(5)
From (22), the sacrificed references z¯ez,n are determined to ensure that bn is a linear combination of the column vectors of the matrix An.The next value of the sacrificed reference may be approximated by(23)z¯ez,n+1=z¯ez,n+z¯ez,n−z¯ez,n−1.(6)
Equation (22) allows the calculation of the control actions, un, making the tracking errors tend to zero at every sampling time. Then, the control action is obtained by solving (22) by means of un = An† · bn.


### 4.1. Kinematic Controller

Again, the methodology is applied to design a discrete time controller for the mobile robot represented by (7).Remark 2.
For the discretized robot model, the values ofxt,yt,θt,Vt, and Wt at discrete time t=nT, where T is the sampling period, and n∈0,1,2,… will be denoted as xn,yn,θn,Vn, and Wn, respectively.According to Section2, the steps to design linear algebra discrete controllers are(i)
First, the system (7) is approximated using a numerical method. Initially, the simplest Euler method approximation is used:(24)xn+1=xn+TVncosθn,yn+1=yn+TVnsinθn,θn+1=θn+TWn.(ii)
Now, the control problem is formulated as solving a system of linear equations (Au=b).(25)cosθn0sinθn001︸AVnWn︸u=xn+1−xnTyn+1−ynTθn+1−θnT︸b=ΔxnTΔynTΔθnT.(iii)
Next, the robot position (xn+1,yn+1) is replaced by the reference position (xref,yref) assuming an approaching proportional to the error, and the same for the desired trajectory of θ to be determined, as can be seen in(26)cosθez,n0sinθez,n001VnWn=Δxref,nTΔyref,nTΔθez,nT=1Txref,n+1−kxxref,n−xn−xnyref,n+1−kyyref,n−yn−ynθez,n+1−kθθez,n−θn−θn.(iv)
The controller parameters are chosen such that0<kx<1, 0<ky<1, and 0<kθ<1 in order to force the tracking errors to tend to zero.(v)
The system (26) must have the exact solution. Then, the vector b must be a linear combination of the column vectors of matrix A [18]. So, the orientation θez,n is computed according to(27)tanθez,n=Δyref,nΔxref,n.(vi)
Equation (26) allows the calculation of the control actions, Vn and Wn, making the tracking errors tend to zero at every sampling time. Then, the control action is obtained by solving (26) by means of least squares, leading to(28)VnWn=Δxref,nTcosθez,n+Δyref,nTsinθez,nΔθez,nT.Remark 3.
The value ofθez,n+1 is required to compute Wn but equation (27) allows to calculate θez,n. However, θez,n+1 can be estimated using the Taylor’s formula (as suggested in (23))(29)θez,n+1=θez,n+dθezdtT+d2θezdt2T22+⋯+Comp,where Comp is the complementary term [25]. Then, if the sampling time is small, θez,n+1 can be approximated as follows:(30)θez,n+1≈θez,n,θez,n+1≈θez,n+dθezdtT≈2θez,n−θez,n−1,θez,n+1≈θez,n+dθezdtT+d2θezdt2T22≈⋯≈θez,n+θez,n−θez,n−1+θez,n−2θez,n−1+θez,n−22.
In general, if the sampling period is small enough, the simplest approximationθez,n+1≈θez,n provides excellent results.


### 4.2. Controller Design Refinements

A different numerical method to approximate the mobile robot model can be used. For instance, if the trapezoidal approximation is adopted, a new control law is obtained by following the same steps described above.(i)
The system (7) is now approximated as,(31)xn+1=xn+T2Vncosθn+Vn+1cosθn+1,yn+1=yn+T2Vnsinθn+Vn+1sinθn+1,θn+1=θn+T2Wn+Wn+1,and the aim is to calculateVn+1 and Wn+1 such that the robot reaches and follows a preestablished trajectory by knowing the position and orientation of the robot (xn,yn,θn) and its current velocities (Vn,Wn).(ii)
Again, the control problem is reformulated as a system of linear equations problem (Au=b):(32)cosθn+10sinθn+1001︸AVn+1Wn+1︸u=2Txn+1−xn−Vncosθn2Tyn+1−yn−Vnsinθn2Tθn+1−θn−Wn︸b,instead of (25).(iii)
Next, the desired trajectory of the remaining state variable,θez,n+1, should be determined. Similar to (26), it follows(33)cosθez,n+10sinθez,n+1001︸AVn+1Wn+1︸u=Δxref,nTΔyref,nTΔθez,nT︸b=2Txref,n+1−kxxref,n−xn−xn−Vncosθn2Tyref,n+1−kyyref,n−yn−yn−Vnsinθn2Tθez,n+1−kθθez,n−θn−θn−Wn︸b.(iv)
Find the conditions in order that the system (33) has exact solution,(34)tanθez,n+1=Δyref,nΔxref,n.(v)
The value ofθez,n+1 is calculated from (34), and it represents the value that must be taken by the robot orientation in order that the tracking errors tend to zero.(vi)
Finally, the control actions are calculated solving system (33) by least squares:(35)Vn+1=2Δxref,nTcosθez,n+1+2Δyref,nTsinθez,n+1−Vncosθez,n+1−θn,Wn+1=2Δθez,nT−Wn.From (35), it can be seen that the control action now depends on the linear and angular velocity of the mobile robot, which leads to improved performance of the controller.


## 4.1. Kinematic Controller

Again, the methodology is applied to design a discrete time controller for the mobile robot represented by (7).Remark 2.
For the discretized robot model, the values ofxt,yt,θt,Vt, and Wt at discrete time t=nT, where T is the sampling period, and n∈0,1,2,… will be denoted as xn,yn,θn,Vn, and Wn, respectively.According to Section2, the steps to design linear algebra discrete controllers are(i)
First, the system (7) is approximated using a numerical method. Initially, the simplest Euler method approximation is used:(24)xn+1=xn+TVncosθn,yn+1=yn+TVnsinθn,θn+1=θn+TWn.(ii)
Now, the control problem is formulated as solving a system of linear equations (Au=b).(25)cosθn0sinθn001︸AVnWn︸u=xn+1−xnTyn+1−ynTθn+1−θnT︸b=ΔxnTΔynTΔθnT.(iii)
Next, the robot position (xn+1,yn+1) is replaced by the reference position (xref,yref) assuming an approaching proportional to the error, and the same for the desired trajectory of θ to be determined, as can be seen in(26)cosθez,n0sinθez,n001VnWn=Δxref,nTΔyref,nTΔθez,nT=1Txref,n+1−kxxref,n−xn−xnyref,n+1−kyyref,n−yn−ynθez,n+1−kθθez,n−θn−θn.(iv)
The controller parameters are chosen such that0<kx<1, 0<ky<1, and 0<kθ<1 in order to force the tracking errors to tend to zero.(v)
The system (26) must have the exact solution. Then, the vector b must be a linear combination of the column vectors of matrix A [18]. So, the orientation θez,n is computed according to(27)tanθez,n=Δyref,nΔxref,n.(vi)
Equation (26) allows the calculation of the control actions, Vn and Wn, making the tracking errors tend to zero at every sampling time. Then, the control action is obtained by solving (26) by means of least squares, leading to(28)VnWn=Δxref,nTcosθez,n+Δyref,nTsinθez,nΔθez,nT.Remark 3.
The value ofθez,n+1 is required to compute Wn but equation (27) allows to calculate θez,n. However, θez,n+1 can be estimated using the Taylor’s formula (as suggested in (23))(29)θez,n+1=θez,n+dθezdtT+d2θezdt2T22+⋯+Comp,where Comp is the complementary term [25]. Then, if the sampling time is small, θez,n+1 can be approximated as follows:(30)θez,n+1≈θez,n,θez,n+1≈θez,n+dθezdtT≈2θez,n−θez,n−1,θez,n+1≈θez,n+dθezdtT+d2θezdt2T22≈⋯≈θez,n+θez,n−θez,n−1+θez,n−2θez,n−1+θez,n−22.
In general, if the sampling period is small enough, the simplest approximationθez,n+1≈θez,n provides excellent results.


## 4.2. Controller Design Refinements

A different numerical method to approximate the mobile robot model can be used. For instance, if the trapezoidal approximation is adopted, a new control law is obtained by following the same steps described above.(i)
The system (7) is now approximated as,(31)xn+1=xn+T2Vncosθn+Vn+1cosθn+1,yn+1=yn+T2Vnsinθn+Vn+1sinθn+1,θn+1=θn+T2Wn+Wn+1,and the aim is to calculateVn+1 and Wn+1 such that the robot reaches and follows a preestablished trajectory by knowing the position and orientation of the robot (xn,yn,θn) and its current velocities (Vn,Wn).(ii)
Again, the control problem is reformulated as a system of linear equations problem (Au=b):(32)cosθn+10sinθn+1001︸AVn+1Wn+1︸u=2Txn+1−xn−Vncosθn2Tyn+1−yn−Vnsinθn2Tθn+1−θn−Wn︸b,instead of (25).(iii)
Next, the desired trajectory of the remaining state variable,θez,n+1, should be determined. Similar to (26), it follows(33)cosθez,n+10sinθez,n+1001︸AVn+1Wn+1︸u=Δxref,nTΔyref,nTΔθez,nT︸b=2Txref,n+1−kxxref,n−xn−xn−Vncosθn2Tyref,n+1−kyyref,n−yn−yn−Vnsinθn2Tθez,n+1−kθθez,n−θn−θn−Wn︸b.(iv)
Find the conditions in order that the system (33) has exact solution,(34)tanθez,n+1=Δyref,nΔxref,n.(v)
The value ofθez,n+1 is calculated from (34), and it represents the value that must be taken by the robot orientation in order that the tracking errors tend to zero.(vi)
Finally, the control actions are calculated solving system (33) by least squares:(35)Vn+1=2Δxref,nTcosθez,n+1+2Δyref,nTsinθez,n+1−Vncosθez,n+1−θn,Wn+1=2Δθez,nT−Wn.From (35), it can be seen that the control action now depends on the linear and angular velocity of the mobile robot, which leads to improved performance of the controller.


## 5. Controller Design under Uncertainties

The methodology for controller design based on linear algebra presented in Section2 can be extended to deal with the problem of trajectory tracking under uncertainties [26].Let us consider additive uncertainties in such a way that (19) is now written as(36)xn+1=h¯xn,un+En.Notice that the additive uncertainty can be used to model perturbed systems as well as a wide class of model mismatches. Consider a real plantxn+1=hxn,un, the additive uncertainty can be expressed by En=hxn,un−h¯xn,un, where h¯xn,un is the discrete time nonlinear model of the system. Note that if, as it will be assumed, s and u are bounded and h is Lipschitz, then En can be modeled as a bounded uncertainty ([27]).In the simplest case, the uncertainty will be constant. Thus, the procedure previously mentioned is modified to incorporate new terms considering the error integral.In particular, in the Step 3 outlined in Section2 and considering a DT control, the tracked state variables are replaced by the reference variables assuming a smooth approaching including an error integral. Thus, these variables are replaced by zn+1=zref,n+1−kzzref,n−zn+Kz,1Uzn. In this approaching, zn is a tracked state variable at instant n, Uz,1, are integrative variables, kz and Kz,1 are controller parameters associated to the variable z, and zref,n is its desired value in DT at time instant n.The integrative variables are defined by(37)Uz,n+1=Uz,n+∫nTn+1Teztdt≅Uz,n+Tez,n,where ezt is as defined in (10). The goal of the integrative terms is to ensure a null steady-state error, if there is a first-order model mismatch.If the uncertainty dynamics (En) is more complicated but it can be modeled by means of a polynomial term, additional integral actions can be added to cancel its steady-state effect. The rest of the steps are the same.Now, the procedure is applied to the mobile robot kinematic model (7), where an additional uncertainty is introduced.(i)
First, the system is discretized. In this case, the used approximation is based on a linear interpolation, assuming constant the control actions in the sampling interval:(38)xn+1yn+1θn+1=xnynθn+1Wnsinθn+1−sinθn01Wncosθn−cosθn+100TVnWn+En.(ii)
Second, the control problem is formulated as solving a system of linear equations, without uncertainties:(39)1Wnsinθn+1−sinθn01Wncosθn−cosθn+100TVnWn=xn+1−xnyn+1−ynθn+1−θn.(iii)
Now, the tracked state variables required are replaced by the reference variables assuming a smooth approaching that, in this case, is assumed to be proportional to the error and the error integral in order to cope with the model constant uncertainties. A similar approaching is assumed for the sacrificed variable:(40)1Wnsinθn+1−sinθn01Wncosθn−cosθn+100TVnWn=xref,n+1−xn−kxxref,n−xn+Kx,1Ux,1n+1yref,n+1−yn−kyyref,n−yn+Ky,1Uy,1n+1θez,n+1−θn−kθθez,n−θn+Kθ,1Uθ,1,n+1.(iv)
Next, conditions such that system (40) has exact solution and the errors tend to zero are defined:(41)θez,n+1=atansinθez,n+1cosθez,n+1=−Wn/VnΔyn+cosθnWn/VnΔxn+sinθn,where(42)Δxn=xref,n+1−xn−kxxref,n−xn+Kx,1Ux,1,n+1,Δyn=yref,n+1−yn−kyyref,n−yn+Ky,1Uy,1,n+1,Δθn=θez,n+1−θn−kθθez,n−θn+Kθ,1Uθ,1,n+1.(v)
The orientationθ in (40) ensures that the system (39) has exact solution and is computed according to(43)θez,n+1=atan2WnVnΔxn+sinθn,−WnVnΔyn+cosθn.(vi)
Finally, the control actions are obtained by solving the system (39) by means of u=A†b:(44)Wn=ΔθnT,Vn=Δxn2+Δyn22Δyncosθn−ΔxnsinθnWn.


## 6. Experimental and Simulation Results

In this section, several tests are carried out in order to evaluate the controller’s performance. The experiments were carried out by using a PIONEER 3AT mobile robot. This robot (Figure1) includes an estimation system based on an odometric-based positioning system. Measurement updating through external sensors is necessary. This problem is separated from the strategy of trajectory tracking and it is not considered in this paper [28, 29]. The PIONEER 3AT has a PID speed controller used to maintain the velocity of the mobile robot at the desired value. The structure of the implemented control system is given in Figure 2, where the trajectory-tracking controller implements equations described in (13), (18), (28), (35), or (44).Figure 1
The pionner 3AT mobile robot.Figure 2
Structure of control system.In order to compare the controller’s performance, the tracking errors are considered. An idea widely used in the literature is to consider the cost incurred by the error [26]. Then, the cost function attached to the trajectory Φ can be represented by the combination of the quadratic error in the x−coordinate and the y−coordinate as shown in the following equation:(45)CΦ=∑i=0#Φ12xref,i−xi2+yref,i−yi2.In the results presentation, the controller based on kinematic model developed in continuous time will be calledC1 (Section 3); the controller developed in discrete time and Euler approximation will be called C2 (Section 4.1); the controller based on trapezoidal approximation will be noted as C3 (Section 4.2); the controller based on dynamic model and Euler approximation will be called C4 (Section 3.2); and the controller developed considering uncertainties (Section 5) will be called C5. The controller and system parameters used for the experimentation are obtained from [8, 16, 21, 24, 26], respectively.Remark 4.
In this work, only a few results are shown. However, exhaustive tests of the controllers against different trajectories, disturbance in the control actions, as well as parametric uncertainty, can be found in [8, 16, 21, 24, 26].To evaluate the performance of the designed controllers (C1, C2, C3, C4, C5), they are compared with controllers previously published by other authors in [2, 27, 30] that will be named (C6, C7, C8), respectively (see Table 1). Table 1 summarizes the formulation of the controllers implemented for comparison (C6, C7, and C8). The designing details of these controllers can be found in their respective references ([2, 27, 30]).The simulation experiments have been carried out in two different scenarios. First, all controllers are evaluated trying to follow an eight-shaped trajectory. It is well known that following an eight-way trajectory is a complicated task due to its geometrical shape and directions changes. Then, the controller’s performance is evaluated following a sinusoidal trajectory in presence of disturbances in the control actions.Table 1
Trajectory tracking controllers.
Controller
Formulation
[2]
C
=
cos
ψ
−
a
sin
ψ
sin
ψ
a
cos
ψ
v
w
=
C
−
1
x
˙
ref
y
˙
ref
+
v
x
v
y
[27]
h
x
=
k
p
e
x
+
x
˙
h
y
=
k
p
e
y
+
y
˙
v
=
h
x
cos
ψ
+
h
y
sin
ψ
w
=
k
ψ
ψ
ref
−
ψ
+
ψ
˙
ref
[30]
v
=
u
ref
cos
ψ
e
+
k
x
x
e
w
=
r
ref
+
u
ref
k
y
y
e
+
k
ψ
sin
ψ
e


### 6.1. Eight-Shaped Trajectory Tracking

In this subsection, the robot should follow an eight-shaped trajectory following the guidelines previously published in [16]. The initial position of the robot is at the system origin and the trajectory begins in the position (xref0,yref0) = (1 m, −1 m). The sampling time used for the discrete controllers is T = 0.1 sec.Figure3 shows the results of the implementation. By inspection of this figure, all controllers reach and follow the reference trajectory. However, C5 shows the lowest error cost (as defined in (45)) when compared to the rest of the controllers (Figures 4 and 5). Good results were expected in the tracking costs because the controller C5 is designed taking into account modeling errors. The performance of each implemented controller can be analyzed by inspection of Figures 6 and 7, where the tracking errors in x-coordinate and y-coordinate are shown, respectively. Figure 5 shows that the controller C5 improves the tracking cost by up to 25% when compared with C6, C7, and C8.Figure 3
Robot position for each controller.Figure 4
Tracking cost of controllers.Figure 5
The pionner 3AT mobile robot.Figure 6
Error inx variable for each controller.Figure 7
Error iny variable for each controller.


### 6.2. Expermiental Results with Disturbance in the Control Actions

Now a second task is carried out in order to test the limits of our formulation. Thus, the controller’s performance when disturbance in the control actions are introduced is evaluated. The disturbance is introduced according to the diagram in Figure8.Figure 8
Architecture of the trajectory-tracking controllers.The disturbance in the linear velocity at timen is represented by V=V+δ and disturbance in the angular velocity at time n is represented by W=W+δ, where δ represents the disturbance introduced in each velocity and is given in Figure 9.Figure 9
Disturbance introduced in the robot velocities.For this task, a trajectory reference is generated with a constant linear velocityV = 0.5 m/s. The initial position of the robot is at the system origin, and the trajectory begins in the position (xref0,yref0) = (1 m, 1 m). The sample time used is T = 0.1 s.The results of the implementation with disturbance in the control action are shown in Figure10. Figure 10 shows the trajectory reference and the position of the mobile robot for each controller. As it can be seen, the controllers C4 and C5 present the lowest tracking error. Figures 11 and 12 show the tracking errors in x-coordinate and y-coordinate, separately. From Figure 13, it is observed that the controllers designed with the proposed methodology (C1, C2, C3, C4, and C5) exhibit better performance than controllers C6, C7, and C8. Furthermore, the trajectory cost is shown in Figure 14, showing that C5 has the lowest tracking cost.Figure 10
Position of the mobile robot for each experimentation.Figure 11
Tracking error inx variable: ex.Figure 12
Tracking error iny variable: ey.Figure 13
Tracking cost obtained in the experimentation.Figure 14
The pionner 3AT mobile robot.


## 6.1. Eight-Shaped Trajectory Tracking

In this subsection, the robot should follow an eight-shaped trajectory following the guidelines previously published in [16]. The initial position of the robot is at the system origin and the trajectory begins in the position (xref0,yref0) = (1 m, −1 m). The sampling time used for the discrete controllers is T = 0.1 sec.Figure3 shows the results of the implementation. By inspection of this figure, all controllers reach and follow the reference trajectory. However, C5 shows the lowest error cost (as defined in (45)) when compared to the rest of the controllers (Figures 4 and 5). Good results were expected in the tracking costs because the controller C5 is designed taking into account modeling errors. The performance of each implemented controller can be analyzed by inspection of Figures 6 and 7, where the tracking errors in x-coordinate and y-coordinate are shown, respectively. Figure 5 shows that the controller C5 improves the tracking cost by up to 25% when compared with C6, C7, and C8.Figure 3
Robot position for each controller.Figure 4
Tracking cost of controllers.Figure 5
The pionner 3AT mobile robot.Figure 6
Error inx variable for each controller.Figure 7
Error iny variable for each controller.


## 6.2. Expermiental Results with Disturbance in the Control Actions

Now a second task is carried out in order to test the limits of our formulation. Thus, the controller’s performance when disturbance in the control actions are introduced is evaluated. The disturbance is introduced according to the diagram in Figure8.Figure 8
Architecture of the trajectory-tracking controllers.The disturbance in the linear velocity at timen is represented by V=V+δ and disturbance in the angular velocity at time n is represented by W=W+δ, where δ represents the disturbance introduced in each velocity and is given in Figure 9.Figure 9
Disturbance introduced in the robot velocities.For this task, a trajectory reference is generated with a constant linear velocityV = 0.5 m/s. The initial position of the robot is at the system origin, and the trajectory begins in the position (xref0,yref0) = (1 m, 1 m). The sample time used is T = 0.1 s.The results of the implementation with disturbance in the control action are shown in Figure10. Figure 10 shows the trajectory reference and the position of the mobile robot for each controller. As it can be seen, the controllers C4 and C5 present the lowest tracking error. Figures 11 and 12 show the tracking errors in x-coordinate and y-coordinate, separately. From Figure 13, it is observed that the controllers designed with the proposed methodology (C1, C2, C3, C4, and C5) exhibit better performance than controllers C6, C7, and C8. Furthermore, the trajectory cost is shown in Figure 14, showing that C5 has the lowest tracking cost.Figure 10
Position of the mobile robot for each experimentation.Figure 11
Tracking error inx variable: ex.Figure 12
Tracking error iny variable: ey.Figure 13
Tracking cost obtained in the experimentation.Figure 14
The pionner 3AT mobile robot.


## 7. Conclusion

A well-known and accepted trajectory-tracking methodology based on linear algebra was formalized. Two main limitations are assumed: the state-space process model is affined in the control and the state variables are measured. The design steps are summarized and illustrated by some examples in both continuous and discrete time. Furthermore, the procedure to deal with model uncertainties is presented. The main characteristics of the proposed controllers are that they present low calculation complexity and that they can be easily implemented. This is because for the calculation of the control action, it uses the system model and not complex coordinate transformations.Experimental results in a mobile robot illustrate the good performance of the designed controllers. Furthermore, the experimental results considering disturbance in the control actions illustrate that our methodology is effective and robust to external disturbances. The simulations results are satisfactory and suggest that the methodology can be applied to nonlinear multivariable systems of different nature.Currently, the inclusion and design of observers to evaluate the full state of the plant, if it is not accessible, are under consideration.



---

*Source: 8643515-2019-08-19.xml*