Nonlinear Control for Trajectory Tracking of a Nonholonomic RC-Hovercraft with Discrete Inputs

This work studies the problem of trajectory tracking for an underactuated RC-hovercraft, the control of which must be done by means of discrete inputs. Thus, the aim is to control a vehicle with very simple propellers that produce only a discrete set of control commands, and with minimal information about the dynamics of the actuators. The control problem is approached as a cascade control problem, where the outer loop stabilizes the position error, and the inner loop stabilizes the orientation of the vehicle. Stability of the controller is theoretically demonstrated and the robustness of the control law against disturbances and noise is established. Simulation examples and experiments on a real setup validate the control law showing the real system to be robust against disturbances, noise, and outdated dynamics.


Introduction
Autonomous vehicles (AV) in general, and autonomous surface vehicles (ASV) in particular, are becoming ubiquitous in many fields of engineering research due in part to the flexibility and versatility that a number of them display in the execution of individual and cooperative tasks.These characteristics, coupled with the fact that their use avoids placing human lives at risk, makes them quite attractive in multiple missions.Central to the operation of these autonomous vehicles is the availability of good tracking controllers that allow the AVs to execute demanding tasks in different operational scenarios.Moreover, in the present economical scenario in which many research projects suffer withdrawal of funds, it is of the utmost importance to offer reliable low cost systems.
The three main problems that arise in control theory of autonomous vehicles, according to the classification of [1], are path following [2], point stabilization [3,4], and trajectory tracking.As part of this trend, the tracking control problem for underactuated vehicles represents a very challenging research topic, being, thus, the problem studied in the present work.
Underactuated vehicles are of special interest due to their reduced cost and the relative easiness of their construction, furthermore, a fully actuated vehicle is only needed for some special operations, making its usage unnecessary for a wide number of actions.In addition, the possibility of using the same vehicle for terrestrial and maritime operations put underactuated hybrid vehicles in a very attractive situation.In this sense, the most common hybrid vehicle is the hovercraft.Hovercraft is usually used as test vehicle for control algorithms of underactuated marine systems due to its dynamic properties, the possibility of being tested on ground, and its relative (and mission dependent) low cost, as in the experimental testbed developed on [5] or [6].
In addition to the low cost and the possible hybrid nature of the vehicle at hand, the nonholonomic condition of the underactuated vehicles is by itself interesting enough and complex for a detailed study.An usual solution for fully actuated vehicles consists in using sliding mode controllers such as the solution described in [7].The main limitation of this control strategy is the impossibility of acting over all the states of the vehicle at the same time when an underactuated vehicle as an hovercraft is considered.The control problem of underactuated vehicles is much more challenging than the fully actuated one because of the limitation on the control laws that can be implemented.This is a consequence of the famous result stated by Brockett [8] that states that some kind of underactuated vehicles (that includes the hovercraft) cannot be stabilized to a certain pose with a continuous and time invariant control law.The reader is referred to [9] for an interesting survey in control problems for nonholonomic vehicles.
Representative examples of tracking controllers applied to underactuated hovercrafts are stated in [10], where the tracking control problem is solved using backstepping techniques achieving practical stability results, in [11], that solve the same problem exploiting the differential flatness properties of a vessel with respect to its position, and in [12], where the authors extend previous results for the tracking and path following problems to more general marine vehicles, taking into account the parametric uncertainty on the models.
Other remarkable examples are found in [13], where the tracking problem of general underactuated ships is studied, in [14], that explains how to select outputs when generalized forces act on the vehicle, in [15], where Barbalat's lemma and backstepping techniques are combined to achieve asymptotic tracking, in [16], that solves the tracking problem of a wheeled robot, in [17], where the authors address the tracking problem for a surface craft, and in [18], in which the challenging problem of solving both point stabilization and tracking problem at the same time is studied.
It must be remarked that the control strategies described above achieve a good control performance assuming that force and torque imparted by propellers can be perfectly controlled.Nevertheless, thrust allocation is in general a very complex task in surface crafts (see, e.g., [19]), and moreover, expensive equipments are usually required.Thus, the availability of low cost vehicles, equipped with simple actuators and with a limited knowledge of their dynamics, is of the utmost importance for the problem studied in the present work, and a very interesting alternative from a practical point of view.
In the last few years, the interest on the control of underactuated vehicles where only a discrete set of control inputs is available has increased significantly.See, for example, [20,21] for a description on the challenges that arise in quantized control of mobile vehicles and remote control of systems over networks with state quantization, respectively.Another remarkable example is found in the works [22,23], where a nonholonomic underactuated hovercraft is controlled by a discrete set of inputs.In these works, the problem of point stabilization is solved using receding horizon predictive controllers and approaching the continuous output by the closest allowed control action.This strategy works adequately when the optimal control law is bang-bang, but it is not suitable when the control signals take intermediate values between two allowed ones, something impossible to achieve with all-nothing-reverse signals.Unfortunately, this is the actual tracking problem scenario because forces and torques should be close to a continuous reference far away from saturation.
In order to solve the control problem of underactuated vehicles, some authors consider second order sliding-mode control laws.See, for example [24], where this technique is applied to the tracking problem of a surface vessel, and [11], where the trajectory tracking problem for an underactuated hovercraft is solved.These control laws tend to produce control actions that are similar to bang-bang actions.Therefore, they are good candidates to be approximated with allnothing-reverse thrusters.The later are the kind of thrusters used in the vehicle (hovercraft) dealt in this work due to their simplicity of control and implementation, and also their low cost.
This kind of problem has been partially studied in the ground robotic field.Some interesting results on the field of wheeled robots show that, in the case of Dubin's vehicles, it is possible to design a tracking controller that makes the vehicle converge to a reference trajectory using only a discrete set of control actions (turn right and left, accelerate, and brake).See, for example [25], that uses a sliding-mode control and [16], where a controller has been developed using optimal synthesis.
An interesting practical problem is the extension of the above results for an underactuated low cost vehicle as a hovercraft.The main difference between a wheeled/ground underactuated vehicle and a marine underactuated vehicle is the nonholonomic restriction on the trajectories that can be followed by each vehicle.The nonholonomic restriction in a vehicle is the relationship between the acceleration and the orientation of the vehicle.The sliding condition for marine vehicles (second-order nonholonomic restriction) is more complex than the nonsliding condition (first-order nonholonomic restriction) for wheeled robots.Thus, the aim of this work is to control a vehicle with very simple propellers that produce only a discrete set of control commands and with a minimal information about the dynamics of the actuators.The availability, simplicity, and low cost of these kind of systems, even the hybrid nature of the hovercraft, make them very attractive to be used in a number of operational scenarios.Furthermore, a group of these vehicles can be used for cooperative and/or coordinated tasks with relatively low price.
The sole conditions that are imposed to the actuators used on this work can be summarized as follows.
(1) The available control actions can turn right and left while the vehicle go forward and backwards.
(2) The available force and torque are bigger than the force and torque necessary to exactly track the reference (forces and torques can be dominated by the control actions).
Notice that the first condition is important to ensure local controllability (see [26]) while second condition is necessary to ensure feasibility of the trajectory.
The key contribution of the paper is two-fold: (i) we reflect the fact that the inputs are discrete in the controller design process and (ii) we take explicitly into account the existence of unknown bounded input disturbances and measurement noise.Theoretical stability proofs are obtained and, in addition, the control law is successfully tested on a real low cost vehicle.In the literature, to the best knowledge of the authors, there are no attempts to solve the trajectory tracking problem for a second order nonholonomic vehicle as the hovercraft with a discrete set of inputs.Furthermore, in the few cases where a discrete set of inputs is considered in a vehicle of this kind, the effect of this practical limitation and the effect of disturbances and noise have never been studied in detail.
The paper is organized as follows.Section 2 describes the model of the vehicle and the set of trajectories that can be tracked with a discrete set of inputs.The control problem is formulated in Section 3. In Section 4, a nonlinear controller is designed.Practical implementation and the effect of disturbances and noise are discussed in Section 5.The stability and robustness of the controller are analyzed in Section 6. Simulation and experimental tests are shown in Section 7. Finally, conclusions are commented on in Section 8.

Vehicle Model
The model of the vehicle operating over a solid surface is defined in two reference frames, one inertial global reference frame, attached to the floor where the RC-hovercraft moves, and a body-fixed reference frame, shown in Figure 1.According to the model (the details of which can be found in [27]), the dynamics of the system can be described in the global reference frame by The state of the vehicle is given by x = [, , V  , V  , , ]  , where  and  are the position coordinates of the centre of mass of the RC-hovercraft,  is the orientation, V  and V  are the linear velocities, and  is the yaw rate.The parameters   and   of the model are the normalized drag coefficients, where   =   /,   =   /,  is the mass of the hovercraft,  the moment of inertia, and   and   are the linear and rotational drag coefficients, respectively.The control actions are the normalized force  = (  +   )/ and torque  = (  −   )/, where   and   are the starboard and port forces produced by the fans, and  is the distance between the propellers and the symmetry axis, as Figure 1 shows.The dynamics of the vehicle are also subject to the unknown disturbance vector p = [ V ,  V ,   ]  , and the output of the system is corrupted by measurement noise n = [  ,   ,  V ,  V ,   ,   ]  , such that the measured state is y = x + n.Noise and disturbances are unknown but bounded as follows: The value of the parameters for the experimental device are summarized in Table 1.

Physical Constraints.
The experimental vehicle is under some physical constraints as it is usual in any real device.The control inputs are forces produced by thrusters, the values of which belong to a discrete set,  , ∈ {− min , 0,  max }, with  max >  min > 0. Under these considerations, the control actions,  and , belong to the discrete set of nine combinations of   and   shown in Figure 2. It is important to notice that these control actions can move the hovercraft forward and backwards and right and left.Moreover, it will be shown that it is possible to control the RC-hovercraft with a reduced set of control actions and without knowledge of the exact values of  min and  max .The key point is that, once the sign of the force and torque is known, then there always exists a proper selection of   and   such that the desired values of sign() and sign() are obtained.As Figure 2 shows, there exist more than one solution.In Table 2, one possible selection scheme is shown.

Feasible Trajectories.
Dynamics of the RC-hovercraft are flat with respect to the position coordinates, as demonstrated in [11].The reader is referred to [28] for further information about flat systems.Thus, when the reference spatial trajectories   () and   () are set, then the whole state vector Mathematical Problems in Engineering and the control actions that must be applied to follow the reference can be computed.For this purpose, considering (3) and ( 4) in the absence of disturbances and defining   as the force needed to track the reference, the ideal orientation   needed to exactly track the reference is given by the following nonholonomic restrictions: The orientation is well defined if   ̸ = 0.It is important to notice that actually there exist two families of solutions, depending on how the trajectory is followed by the vehicle, going forward ( odd) or backwards ( even) as follows: Once the family of solutions of interest is selected, the orientation   and its derivatives,   and ṙ  , can be computed.Straightforward computations yield the requested torque,   = ṙ  +    to track the reference.Now, we consider a spatial trajectory x  = [  (),   ()]  four times differentiable with   ̸ = 0. Two kinds of trajectories of interest can be defined as follows.
(2) A D-feasible trajectory, where there always exist four combinations of allowed forces and torques ( 1 ,  1 ), ( 2 ,  2 ), ( 3 ,  3 ), and ( 4 ,  4 ) such that On one hand, we consider that a trajectory is feasible when it can be followed by the vehicle; that is, when the necessary forces and torques to track the trajectory can be produced by values of   and   smaller than the maximum available.Notice that if a trajectory is not feasible, the only way to track it is to increase the size of the thrusters in order to increment the values of   and   , allowing the trajectory to be feasible again.The control actions   () and   () that define a feasible trajectory lie on the dotted region of Figure 3.
On the other hand, we consider that a trajectory is Dfeasible when the forces and torques selected from Table 2 are greater, in absolute value, than the forces and torques needed to track the trajectory.Notice that all the trajectories that are D-feasible are also feasible, but the opposite is not true.The control actions   () and   () that define a D-feasible trajectory lie on the dashed region of Figure 3.

Problem Formulation
The key objective of the present work is to design and to implement a feedback control law for   and   to solve the robust trajectory tracking problem for a vehicle commanded with a discrete set of inputs.In other words, the aim is the development of a controller that is able to track a desired trajectory in the presence of disturbances and noise with only a limited knowledge of the model of the vehicle and the actuators.
The main practical restriction is that the vehicle is underactuated and the control law must only employ a discrete set of inputs produced by the thrusters,  , ∈ {− min , 0,  max }.Notice that the controller is oriented to be used on small autonomous vehicles equipped with simple thrusters because the addition of more thrusters would add complexity to the system and would increase the power consumption.
Consider the dynamics of the hovercraft described by ( 1)-( 6), a D-feasible spatial reference trajectory x  , and the spatial tracking error defined by e Then, the requirements for a robust trajectory tracking controller are as follows.
(1) The error e  is bounded in the presence of the bounded noise and disturbances described by ( 7).(2) The final bound of ‖e  ‖ can be made arbitrary small if the noise   and the disturbances   are small enough (or alternatively, if force and torque are large enough).

Nonlinear Control Design
The control design is based on the cascade structure illustrated in Figure 4.In the outer loop, the force and the orientation are used as virtual control inputs for the position controller to stabilize the position tracking error.The position controller defines an orientation reference   to be tracked by the inner loop, the orientation controller, that controls the orientation with the torque .Therefore, the position controller determines the sign of the force  to be applied on the RC-hovercraft, whereas the orientation controller determines the sign of the torque .Once sign() and sign() are computed, the values of   and   are selected from Table 2.

Position Control.
The objective of this subsection is the design of a controller for the position of the hovercraft.The error variables are defined by: And, their dynamics can be written as where   =   cos(  ) and   =   sin(  ) are the nominal forces needed to track exactly the reference in absence of  disturbances.At this point, a positive control constant  1 , and the variables   and   are introduced in order to proceed with the error stabilization as follows: It is easy to check from ( 13) that the tracking error variables converge exponentially to zero with rate 1/ 1 if   and   are both equal to zero.Furthermore, the problem of tracking error stabilization is reduced to the stabilization of   and   .Computing their dynamics, it is clear that  and the orientation  are coupled.Consider the following: Therefore, the stabilization of both variables at the same time is an interesting and difficult problem.To overcome it, both control actions are decoupled by rotating the error vector an angle defined by the orientation angle  in the body fixed frame of the vehicle, providing the following new coordinates: Then, simple computations yield where  1 and  2 are bounded disturbances given by Analyzing the dynamics of  1 and  2 , given by ( 16) and ( 17), it must be noticed that (17) does not depend on , so  must be used to control  1 .In order to solve this problem, the sign of  must be opposed to the sign of  1 ; thus, we propose where  is a small constant to avoid chattering by holding the sign of the force to its previous value, sign( − ), when | 1 | is small.Notice that this condition imposes a minimal time between switches because | 1 | must change from − to + (or from + to −) before the force  changes its sign.In addition, this control law tries to make | 1 | < .
In order to stabilize  2 , the sign of   sin( −   ) must be the opposite of the sign of  2 .For this purpose, the following reference for the orientation is defined as follows: The saturation of  2 given by the operation tanh in ( 20) is introduced to guarantee that, when  =   and 0 <  2 < /2, then   sin(  −   ) = −|  | sin( 2 tanh( 2 )), that is, opposed to  2 .
In general, the orientation reference   is not perfectly tracked by .Thus, the orientation errors are defined by and the dynamics of z finally become where  is the disturbance produced by the orientation tracking error,  = sin( −   ) − sin(  −   ), bounded by Theorem 2 will show that for small   , ( 24)-( 25) is a stable system with disturbances   ,  1 , and  2 .

Orientation Control.
The objective of this subsection is the design of an orientation controller so that  can be able to track the control reference   .The error dynamics yields, where   =   ψ  − ψ  is the control torque necessary to track the orientation reference   .At this point, a positive control gain  3 is introduced in order to define the variable   as follows: It is clear that the orientation error converges exponentially to zero with rate 1/ 3 if   is equal to zero.The computation of its dynamics yields Thus, according to (29), in order to stabilize   , the sign of  must be the opposite of the sign of   .This fact motivates the following control law: where chattering is avoided in a similar way as in (19), holding the sign of the torque to its previous value, sign( − ), when |  | is small.Notice that this control law tries to make |  | < .

Practical Implementation and Noise
The positions and velocities of the RC-hovercraft are measured to compute the control law.However, due to the presence of bounded noise n, only the estimates of the above variables ( x, ŷ, ψ, V , V , and r) are available.
Using the estimates as the actual values of the state, the error variables are computed with (11), then ŝ and ŝ are computed using (13), and rotated with (15) to obtain the estimates ẑ1 =  1 +  1 and ẑ2 =  2 +  2 , where The term √ 2(1 +  1 ) in (31) comes from the definition of   and   , (13), while the term ‖z‖ appears from (15) that involves the estimate ψ.The computation of ̂ż 2 is carried out with (17) assuming that the unknown disturbance  2 is equal to 0. The estimated orientation reference ψ is computed using (20), and its derivative ̂ψ  is computed with (21).These values are finally used in (28) The control equations ( 33) and (34) define only the sign of  and .In order to determine the actual control actions to be applied to the vehicle,   and   are selected according to Table 2.

Stability Analysis
In this section, theoretical stability results and its practical applications are explained.Detailed proofs of the theorems are given in the Appendix.

Notation.
In what follows, we consider that a function () is a K class function if (0) = 0 and  is strictly increasing.A function (, ) is class KL if it is K class with respect to  and  → 0 when  → ∞, [29].

Lemma 1. The velocities of the vehicle are globally ultimately bounded. Proof in Section A.1.
The first result states that the velocities are bounded because the control actions and the disturbances that can increase the kinetic energy are bounded, and the terms that tend to reduce the kinetic energy are unbounded.

Position Stability
Theorem 2. Consider the system (24)-( 25) with control action (33) in the presence of bounded disturbances and noise (7).If disturbances and noise are small enough, then, for any Dfeasible trajectory x  , there exist three positive constants  Proof in Section A. 3.
Equation ( 35) means that for a small orientation error (and thus a small ), if noise and disturbances are not too large compared with the control action , then, z is bounded.Furthermore, as (36) states, the steady state tracking error (when  2 vanishes) is a growing function depending on the orientation error, disturbances and noise.Thus, while the noise, disturbances, and orientation error increase, the tracking performance decreases.

Orientation Stability
Theorem 4. Consider the dynamics described by (29) with control action (34) in the presence of bounded disturbances and noise (7) Proof in Section A. 5.
Equation (37) means that if the tracking error is bounded by   , and disturbances and noise are not too large compared with the control input , then the variable   is stabilized in finite time.Thus, according to (38), the orientation error converges exponentially.Notice that the performance decreases while noise and disturbance levels increase, as it occurs with the position tracking.

Overall Convergence.
Previous results have demonstrated that the orientation error,   , converges exponentially to a neighborhood of the origin while ‖z‖ is bounded by   .Thus, (26) implies that  converges to a neighborhood of the origin also.Furthermore, when  is smaller than an arbitrary maximum value   , then z converges to a neighborhood of the origin too.
The following result states that control laws (33) and (34) can stabilize the tracking error when both are used at the same time.Theorem 6.Consider the dynamics of the hovercraft, (1)-( 6), in the presence of bounded disturbances and noise, (7), and subject to control actions (33)-(34).For any positive constant , if the initial condition of the hovercraft is such that ‖z(0)‖ < , and the reference trajectory x  is D-feasible, then it is possible to choose the control constants  1 , where  4 is a class K function and  3 is a class KL function.Proof in Section A. 6.
This result states that given any bound for the initial condition  and a trajectory that is D-Feasible; then the constants of the tracking controller can be set in order to stabilize the tracking error.
There exists a compromise between the tracking performance and the control effort imposed by .If  is too large, then the tracking performance is poor, as shown in (39).If  is too small, then (33) and (34) will produce fast switches in the control law.
Remark 7. It must be noticed that the control gains, and thus, the tracking performance, depend on the bounds of the initial conditions (see (A.24) of the Appendix for more details).This result is conservative in the sense that if we want to increase the region of attraction (increasing ), then the gain  2 must be small, and thus the effect of noise and disturbances is larger.The result is also conservative in the sense that it restricts its applicability to D-feasible trajectories, but in practice the system is stable from any initial condition with a good selection of the control gains.

Results
In this section, simulations and experiments on a real setup have been developed in order to test and illustrate the potential of the control design of Section 4.

Simulation Results.
The forthcoming simulation examples consist in tracking a circular reference with and without noise and disturbances.Then, a more general trajectory tracking problem is studied to show that the control design can overcome some of the limitations that are assumed on the stability demonstrations.The control parameters used in the simulations are  1 = 6 s,  2 = 1 s,  3 = 1 s, and  = 0.01.

Circular Trajectory without Noise and Disturbances.
The reference trajectory is a circumference with its center at the origin of the inertial coordinate frame and with a radius, , of 2 meters.The trajectory is tracked with a speed of  = 0.5 m/s.The force and torque needed to track perfectly this trajectory (computed as described in Section 2.2) are constants (  = 0.2179 m/s 2 and   = 0.4339 rad/s 2 ), so the trajectory is D-feasible because they do not saturate actuators.The trajectory of the hovercraft is depicted in Figure 5.The vehicle starts from the origin, without disturbances and noise.This figure shows how the trajectory followed by the hovercraft converges and tracks almost perfectly the reference trajectory.
The evolution of the position is shown in Figure 6 and velocities are shown in Figure 7.It must be noticed that the actual trajectory converges to the reference trajectory in a time close to 20 s.
The orientation  and its control reference   are shown in Figure 8.The orientation converges faster than the position (less than 5 seconds).The reason is intuitively clear because the position only converges when the orientation error,   , is small enough.Once   is smaller than   , z starts to converge to zero and the control references   and   converge to the references   and   , too.

Effect of Noise and Disturbances.
Noise and disturbances are introduced in the simulations to study their effects on the control performance.In order to make the simulation more realistic, the controller is simulated with a sampling period of 1/17 s, that corresponds to the frame rate of the camera in the real setup.In addition, a disturbance p = [0 m/s 2 , 0.02 m/s 2 , 0.02 m/s 2 ] and random noise with an amplitude of 0.05 (meters for  and , m/s for V  and V  , rad for , and rad/s for ) are introduced in the simulation.
The effect of noise and disturbances on the performance depends strongly on the reference trajectory that must be tracked.To illustrate this effect, Figure 9 shows the trajectories followed by the system when the reference speed is fixed and the radius varies from 1 to 4 meters.This figure shows  how the performance decreases for small radii for two reasons.The first one is that the reduction of the radius reduces the signal/noise ratio.The second one deals with centripetal forces.While the radius decreases, centripetal forces increase with a factor  2 /.This implies that forces increase and the trajectories are pushed to the unfeasible region.In this case, the impact of noise and disturbance becomes more evident because the control authority is degraded.
Figure 10 confirms the behavior predicted by Theorem 6.First, the trajectories experiment a transient that depends on the initial conditions.This transient is of approximately 25 s during which the tracking error decreases to the steady Mathematical Problems in Engineering state value.After this time, only a residual tracking error remains.It shows how the tracking error increases for small radii because the trajectory is more difficult to track (close to be unfeasible).

General Trajectory.
For this third scenario, a new reference trajectory is set,   () = 2 sin(3/8),   () = 3 cos(2/8), in order to test the control design.The necessary forces and torques to track the trajectory are depicted in Figure 11.It can be noticed that the forces lie outside the D-feasible region; however, the trajectory is feasible.This example is used to illustrate that the D-feasible condition (10) is conservative.Furthermore, Figure 12 shows that the same control design used for the circular trajectory converges to this non-Dfeasible reference too.This behavior can be explained from an intuitive point of view.D-feasible conditions (10) indicate that the reference force and torque must be smaller, in absolute value, that any force and torque than can be selected by the control law from Table 2.However, this is a sufficient condition but not always a necessary condition.For example, suppose that the trajectory is such that   is positive for all the time (the current scenario, as Figure 11 shows), then it is possible to select a positive force that is larger than   , with a larger torque, in absolute value, than   .This is enough to stabilize the trajectory because during the trajectory tracking a negative force is never needed.

Experimental Setup.
The experimental setup consists in an underactuated radio controlled RC-hovercraft, a CCD camera to capture images from a zenithal point of view, and a computer to send the control commands via a radio control interface.The whole system is shown in Figure 13.The laboratory has similar capacities to the experimental testbed developed on [5] or [6].
The CCD camera is equipped with wide angle optics that cover a region of approximately 3 m × 4 m when the camera is placed at 4 meters over the floor.The frame rate of the computer-camera system is 17 fps (frames per second).
The position of the vehicle is tracked by the camera by detecting three LEDs that are attached to the RC-hovercraft.These 3 LEDs compose an isosceles triangle to determine the vehicle orientation.The triangle size is 25 cm of length in its major edge and 16 cm in its minor edge.
The control signals are sent to the vehicle through a communication interface that connects the parallel port of the computer with the radio controller.The control law is implemented in LabVIEW programming language.The control algorithm works as follows.
(1) Once a frame is captured, the image is binarized and the centroid of each individual LED is computed.(2) The barrel distortion introduced by the lenses is corrected and the undistorted positions of the LEDs are obtained by solving the perspective transformation.
(3) The centre of the mass of the vehicle and its orientation are computed from the positions of the triangle vertex.The velocities are estimated by a finite difference.
(4) Finally, the control law computes the forces   and   , and the corresponding commands are sent to the radio controller.
For a more detailed description of the experimental setup, see [30].

Real Tracking Test.
The control design is now tested on the experimental setup described above.To check the robustness of the controller, a worst case analysis has been realized.A trajectory with a very small radius,  = 0.6 m, is tracked with a constant speed of  = 0.5 m/s.Notice that this trajectory is very hard to track because of its small radius as above mentioned in Section 7.1.2. Figure 14 shows that the vehicle is able to track this very challenging trajectory with an acceptable tracking error.As far as the authors know, the performance achieved is comparable to the best results obtained with a laboratory hovercraft (see [10]).Notice the added hard limitation imposed by the all-nothing actuators whose dynamics are unknown.Figure 16 shows the evolution of the position of the system and demonstrates that the control law is able to track the trajectory.Figure 17 shows the velocities.Notice that the measured velocity is noisy due to the all-nothing-reverse action of the propellers.This problem can be reduced by filtering the position measurements, but the aim of this example is to show that this controller can deal with these problems and the vehicle is able to track the velocity reference with great accuracy.Figure 15 shows that the final bound of the tracking error is about 0.4 m and thus compatible with simulation results shown on Figure 10.Finally, Figure 18 shows the input thrust applied to the vehicle.

Conclusions
In this paper, a tracking control law for an underactuated nonholonomic vehicle with a discrete set of inputs has been designed and tested.The control law has been designed taking into account the fact that the actuators of the vehicle can only produce thrust in an all-nothing reverse fashion.
Despite this hard limitation on the real setup, this paper shows how this control design can overcome these difficulties.Furthermore, this work demonstrates that a low cost underactuated vehicle with very simple actuators (capable of moving the vehicle forward and backwards, and simultaneously turn right and left) can be controlled in order to track any D-feasible trajectory under the sole assumption that control actions are large enough compared with noise and disturbances.Theoretical proofs of stability and robustness against noise and disturbances have been obtained showing that the control law makes the position tracking error to be semiglobal finitely bounded if the vehicle starts with a bounded tracking error and the trajectory is D-feasible.
Simulations and experimental results state that the control strategy is robust enough to be applied to a real environment with disturbances, noise, and unmodeled dynamics.In addition, this control law is very suitable to be applied to low cost and simple vehicles where precise models of the actuators and dynamics are not available.
Therefore, ‖z‖ never reaches   and conditions of Theorem 4 always hold.This means that before some time  2 conditions of Theorem 2 holds, thus we can conclude by (39) that ‖e  ‖ is finitely bounded.

Figure 1 :
Figure 1: Inertial reference frame and body fixed frame.

Figure 2 :
Figure 2: Discrete control inputs on the laboratory setup.

Figure 3 :
Figure 3: Feasible (dotted) and D-feasible (dashed) regions.A trajectory such as the green one is feasible because (  (),   ()) lies on the dotted region but is not D-feasible because it lies outside the dashed region.

2 𝜏 (rad/s 2 )F (m/s 2 )Figure 11 :Figure 12 :
Figure 11: Force map for a general trajectory that is feasible but not D-feasible.

Figure 18 :
Figure 18: Control actions   and   applied in a real setup.

Table 2 :
Force selection table.