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

#### 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 aswhere is the vector of state variables, is the vector of control inputs, and **A** and **B** are matrices of appropriate dimensions. In general, and thus , 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, , is given . Moreover, the model of the process could be nonlinear and in that case, the state-space representation should be expressed as

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 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 (), 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, denoting as the state vector. The state functions are affine in the control, . 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 () and the rest (), 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 () 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 tracked 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 ; in discrete time, the replacement is . In this setting, *z* represents a tracked state variable, is its value at time instant *n*, is a controller parameter associated to this variable, represents the desired value of this variable, and 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 , 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 vector **b** 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 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 system .

#### 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 aswhere 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 aswhere is the vector of state variables to be tracked, following the desired reference . are matrices of appropriate dimension.

According to Step 2 exposed in the methodology summary in Section 2, the reference for the sacrificed state variables, , will be computed to provide a solution of the set of equations:where are diagonal matrices with diagonal elements determining the convergence rate for each variable. That is, is defined in such a way that the vector **b** is a linear combination of the column vectors of the matrix **A**.

Once is defined, its derivative can be computed if is continuous and derivable.

Finally, the control will be computed aswhere 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].where *V* is the linear velocity of the mobile robot, *W* is its angular velocity, is the Cartesian position, and *θ* is the mobile robot orientation.

The system model given by (7) has three state variables. Two of them () must follow a preestablished trajectory defined by (), whereas the orientation () 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 of and 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 .

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 which is similar to (3), being and affine in the control.(iii)In the third step, the derivative of the state variables to be tracked, in this case, the robot position 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): The tracking error is defined as In (9), , and are positive constants allowing the performance adjustment of the proposed control system. They should be , , and 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), must satisfy The orientation in (11) ensures that the system (9) has exact solution, and it is computed according to(v)Finally, the control law is found by solving the system (9) by least squares. Taking into account , . Thus, Providing the control actions, based on the system state and the references.

*Remark 1. *The value of is required to compute *W* but (12) allows to calculate . However, 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 bywhere the tracked state variables are as before (), and the sacrificed variables are . The parameters of the dynamic model ( for ) are described in ([17, 23]).

In this case, the system has 5 states. The aim is to find the combined control actions such that the mobile robot reaches and follows a reference trajectory (). 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:(ii)The derivative of the robot position is replaced by that of the reference position () 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 (, and ), also assuming an approaching proportional to the error(iii)In the next step, the conditions in order that system (16) has exact solution will determine the sacrificed variables reference, leading to(iv)In addition, the values of , , and 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:

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 period *T*.(1)If the Euler approximation method is used, (3) can be written as where the state is *n*-dimensional.(2)After discretization, the control problem is formulated as solving a system of equations like(3)Next, the state is split as in (4) (). The future value of the variables to be tracked () is replaced by the reference position () 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 (), as can be seen in That is(4)The controller parameters are chosen such that and in order to force the tracking errors to tend to zero, see [24] for details.(5)From (22), the sacrificed references are determined to ensure that **b**_{n} is a linear combination of the column vectors of the matrix **A**_{n}. The next value of the sacrificed reference may be approximated by(6)Equation (22) allows the calculation of the control actions, , making the tracking errors tend to zero at every sampling time. Then, the control action is obtained by solving (22) by means of **u**_{n} = · **b**_{n}.

##### 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 of , and at discrete time , where *T* is the sampling period, and will be denoted as , and , respectively.

According to Section 2, 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:(ii)Now, the control problem is formulated as solving a system of linear equations ().(iii)Next, the robot position () is replaced by the reference position () assuming an approaching proportional to the error, and the same for the desired trajectory of *θ* to be determined, as can be seen in(iv)The controller parameters are chosen such that , , and 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 is computed according to(vi)Equation (26) allows the calculation of the control actions, and , 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

*Remark 3. *The value of is required to compute but equation (27) allows to calculate . However, can be estimated using the Taylor’s formula (as suggested in (23))where is the complementary term [25]. Then, if the sampling time is small, can be approximated as follows:In general, if the sampling period is small enough, the simplest approximation 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, and the aim is to calculate and such that the robot reaches and follows a preestablished trajectory by knowing the position and orientation of the robot () and its current velocities ().(ii)Again, the control problem is reformulated as a system of linear equations problem (): instead of (25).(iii)Next, the desired trajectory of the remaining state variable, , should be determined. Similar to (26), it follows(iv)Find the conditions in order that the system (33) has exact solution,(v)The value of 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:

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 Section 2 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

Notice that the additive uncertainty can be used to model perturbed systems as well as a wide class of model mismatches. Consider a real plant , the additive uncertainty can be expressed by , where is the discrete time nonlinear model of the system. Note that if, as it will be assumed, and are bounded and is Lipschitz, then 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 Section 2 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 . In this approaching, is a tracked state variable at instant *n*, are integrative variables, and are controller parameters associated to the variable *z*, and is its desired value in DT at time instant *n*.

The integrative variables are defined bywhere 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 () 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:(ii)Second, the control problem is formulated as solving a system of linear equations, without uncertainties:(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:(iv)Next, conditions such that system (40) has exact solution and the errors tend to zero are defined: where(v)The orientation *θ* in (40) ensures that the system (39) has exact solution and is computed according to(vi)Finally, the control actions are obtained by solving the system (39) by means of :

#### 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 (Figure 1) 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).

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 and the as shown in the following equation:

In the results presentation, the controller based on kinematic model developed in continuous time will be called (Section 3); the controller developed in discrete time and Euler approximation will be called (Section 4.1); the controller based on trapezoidal approximation will be noted as (Section 4.2); the controller based on dynamic model and Euler approximation will be called (Section 3.2); and the controller developed considering uncertainties (Section 5) will be called . 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 (*C*1, *C*2, *C*3, *C*4, *C*5), they are compared with controllers previously published by other authors in [2, 27, 30] that will be named (*C*6, *C*7, *C*8), respectively (see Table 1). Table 1 summarizes the formulation of the controllers implemented for comparison (*C*6, *C*7, and *C*8). 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.

##### 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 () = (1 m, −1 m). The sampling time used for the discrete controllers is *T* = 0.1 sec.

Figure 3 shows the results of the implementation. By inspection of this figure, all controllers reach and follow the reference trajectory. However, 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 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 *C*5 improves the tracking cost by up to 25% when compared with *C*6, *C*7, and *C*8.

##### 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 Figure 8.

The disturbance in the linear velocity at time *n* is represented by and disturbance in the angular velocity at time *n* is represented by , where *δ* represents the disturbance introduced in each velocity and is given in Figure 9.

For this task, a trajectory reference is generated with a constant linear velocity *V* = 0.5 . The initial position of the robot is at the system origin, and the trajectory begins in the position () = (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 Figure 10. Figure 10 shows the trajectory reference and the position of the mobile robot for each controller. As it can be seen, the controllers and 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 (*C*1, *C*2, *C*3, *C*4, and *C*5) exhibit better performance than controllers *C*6, *C*7, and *C*8. Furthermore, the trajectory cost is shown in Figure 14, showing that *C*5 has the lowest tracking cost.

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

#### Conflicts of Interest

The authors declare that they have no conflicts of interest.

#### Acknowledgments

This work was partially funded by the Consejo Nacional de Investigaciones Científicas y Técnicas (CONICET, National Council for Scientific Research), Argentina. The authors thank the Institute of Chemical Engineering of the National University of San Juan, Argentine, the Escuela Politécnica Nacional del Ecuador (Facultad de Ingeniería Eléctrica y Electrónica), and Instituto de Automática e Informática Industrial, Universidad Politécnica de Valencia.