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

Authors: Dictino Chaos; David Moreno-Salinas; Rocío Muñoz-Mansilla; Joaquín Aranda
Journal: Mathematical Problems in Engineering
 (2013)

---

## Abstract

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.


---

## Body

## 1. 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 all-nothing-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. Section2 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.


## 2. 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 Figure1. 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
(1)x˙=vx,(2)y˙=vy,(3)v˙x=Fcos(ψ)-duvx+pvx,(4)v˙y=Fsin(ψ)-duvy+pvy,(5)ψ˙=r,(6)r˙=τ-drr+pr.Figure 1
Inertial reference frame and body fixed frame.The state of the vehicle is given byx=[x,y,vx,vy,ψ,r]T, where x and  y are the position coordinates of the centre of mass of the RC-hovercraft, ψ is the orientation, vx and vy are the linear velocities, and r is the yaw rate. The parameters du and dr of the model are the normalized drag coefficients, where du=Du/m, dr=Dr/J, m is the mass of the hovercraft, J the moment of inertia, and Du and Dr are the linear and rotational drag coefficients, respectively. The control actions are the normalized force F=(Fp+Fs)/m and torque τ=l(Fp-Fs)/J, where Fs and Fp are the starboard and port forces produced by the fans, and l 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=[pvx,pvy,pr]T, and the output of the system is corrupted by measurement noise n=[nx,ny,nvx,nvy,nψ,nr]T, such that the measured state is y=x+n. Noise and disturbances are unknown but bounded as follows:
(7)supt≥0∥p(t)∥≤pm,supt≥0∥dpdt∥≤pm,supt≥0∥n(t)∥≤nm.The value of the parameters for the experimental device are summarized in Table1.Table 1
Model parameters.
Parameter
Value
m
0.995 Kg
J
0.014 Kg/m2
l
0.075 m
u
max
0.545 N
u
min
0.347 N
d
u
0.3588 s−1
d
r
1.7357 s−1


### 2.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,Fs,p∈{-umin,0,umax}, with umax>umin>0. Under these considerations, the control actions, F and τ, belong to the discrete set of nine combinations of Fs and Fp 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 umin and umax. The key point is that, once the sign of the force and torque is known, then there always exists a proper selection of Fs and Fp such that the desired values of sign(F) and sign(τ) are obtained. As Figure 2 shows, there exist more than one solution. In Table 2, one possible selection scheme is shown.Table 2
Force selection table.
τ
>
0
τ
<
0
F
>
0
F
p
=
u
max
,
F
s
=
-
u
min
F
p
=
-
u
min
,
F
s
=
u
max
F
<
0
F
p
=
0
,
F
s
=
u
min
F
p
=
u
min
,
F
s
=
0Figure 2
Discrete control inputs on the laboratory setup.


### 2.2. 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 xr(t) and yr(t)  are set, then the whole state vector 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 Fr as the force needed to track the reference, the ideal orientation ψr needed to exactly track the reference is given by the following nonholonomic restrictions:
(8)Frcos(ψr)=v˙xr+duvxr,Frsin(ψr)=v˙yr+duvyr.
The orientation is well defined if Fr≠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 (n odd) or backwards (n even) as follows:
(9)ψr=atan2(y¨r+duy˙r,x¨r+dux˙r)+nπ,Fr=(-1)n(x¨r+dux˙r)2+(y¨r+duy˙r)2.
Once the family of solutions of interest is selected, the orientation ψr and its derivatives, rr and r˙r, can be computed. Straightforward computations yield the requested torque, τr=r˙r+drrr to track the reference. Now, we consider a spatial trajectory xr=[xr(t),yr(t)]T four times differentiable with Fr≠0. Two kinds of trajectories of interest can be defined as follows.  (1)
Afeasible trajectory, where Fr and τr are such that Fs,p∈[-umin,umax].(2)
AD-feasible trajectory, where there always exist four combinations of allowed forces and torques (F1,τ1), (F2,τ2), (F3,τ3), and (F4,τ4) such that
(10)|Fr(t)|<min(F1,F2,-F3,-F4),|τr(t)|<min(-τ1,τ2,-τ3,τ4).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 Fs and Fp 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 Fs and Fp, allowing the trajectory to be feasible again. The control actions Fr(t) and τr(t) that define a feasible trajectory lie on the dotted region of Figure 3.Figure 3
Feasible (dotted) and D-feasible (dashed) regions. A trajectory such as the green one is feasible because(Fr(t),τr(t)) lies on the dotted region but is not D-feasible because it lies outside the dashed region.On the other hand, we consider that a trajectory is D-feasible when the forces and torques selected from Table2 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 Fr(t) and τr(t) that define a D-feasible trajectory lie on the dashed region of Figure 3.


## 2.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,Fs,p∈{-umin,0,umax}, with umax>umin>0. Under these considerations, the control actions, F and τ, belong to the discrete set of nine combinations of Fs and Fp 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 umin and umax. The key point is that, once the sign of the force and torque is known, then there always exists a proper selection of Fs and Fp such that the desired values of sign(F) and sign(τ) are obtained. As Figure 2 shows, there exist more than one solution. In Table 2, one possible selection scheme is shown.Table 2
Force selection table.
τ
>
0
τ
<
0
F
>
0
F
p
=
u
max
,
F
s
=
-
u
min
F
p
=
-
u
min
,
F
s
=
u
max
F
<
0
F
p
=
0
,
F
s
=
u
min
F
p
=
u
min
,
F
s
=
0Figure 2
Discrete control inputs on the laboratory setup.


## 2.2. 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 xr(t) and yr(t)  are set, then the whole state vector 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 Fr as the force needed to track the reference, the ideal orientation ψr needed to exactly track the reference is given by the following nonholonomic restrictions:
(8)Frcos(ψr)=v˙xr+duvxr,Frsin(ψr)=v˙yr+duvyr.
The orientation is well defined if Fr≠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 (n odd) or backwards (n even) as follows:
(9)ψr=atan2(y¨r+duy˙r,x¨r+dux˙r)+nπ,Fr=(-1)n(x¨r+dux˙r)2+(y¨r+duy˙r)2.
Once the family of solutions of interest is selected, the orientation ψr and its derivatives, rr and r˙r, can be computed. Straightforward computations yield the requested torque, τr=r˙r+drrr to track the reference. Now, we consider a spatial trajectory xr=[xr(t),yr(t)]T four times differentiable with Fr≠0. Two kinds of trajectories of interest can be defined as follows.  (1)
Afeasible trajectory, where Fr and τr are such that Fs,p∈[-umin,umax].(2)
AD-feasible trajectory, where there always exist four combinations of allowed forces and torques (F1,τ1), (F2,τ2), (F3,τ3), and (F4,τ4) such that
(10)|Fr(t)|<min(F1,F2,-F3,-F4),|τr(t)|<min(-τ1,τ2,-τ3,τ4).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 Fs and Fp 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 Fs and Fp, allowing the trajectory to be feasible again. The control actions Fr(t) and τr(t) that define a feasible trajectory lie on the dotted region of Figure 3.Figure 3
Feasible (dotted) and D-feasible (dashed) regions. A trajectory such as the green one is feasible because(Fr(t),τr(t)) lies on the dotted region but is not D-feasible because it lies outside the dashed region.On the other hand, we consider that a trajectory is D-feasible when the forces and torques selected from Table2 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 Fr(t) and τr(t) that define a D-feasible trajectory lie on the dashed region of Figure 3.


## 3. Problem Formulation

The key objective of the present work is to design and to implement a feedback control law forFs and Fp 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,Fs,p∈{-umin,0,umax}. 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 xe, and the spatial tracking error defined by ep=[x-xr,y-yr,vx-vxr,vy-vyr]T. Then, the requirements for a robust trajectory tracking controller are as follows.(1)
The errorep is bounded in the presence of the bounded noise and disturbances described by (7).(2)
The final bound of∥ep∥ can be made arbitrary small if the noise nm and the disturbances pm are small enough (or alternatively, if force and torque are large enough).


## 4.  Nonlinear Control Design

The control design is based on the cascade structure illustrated in Figure4. 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 ψc 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 F to be applied on the RC-hovercraft, whereas the orientation controller determines the sign of the torque τ. Once sign(F) and sign(τ) are computed, the values of Fs and Fp are selected from Table 2.Figure 4
Control architecture.


### 4.1. 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:(11)ex=x-xr,ey=y-yr,evx=vx-vxr,evy=vy-vyr.
And, their dynamics can be written as
(12)e˙x=evx,e˙y=evy,e˙vx=Fcos(ψ)-duevx-Fxr+pvx,e˙vy=Fsin(ψ)-duevy-Fyr+pvy,
where Fxr=Frcos(ψr) and Fyr=Frsin(ψr) are the nominal forces needed to track exactly the reference in absence of disturbances. At this point, a positive control constant k1, and the variables sx and sy are introduced in order to proceed with the error stabilization as follows:
(13)sx=ex+k1evx,sy=ey+k1evy.It is easy to check from (13) that the tracking error variables converge exponentially to zero with rate 1/k1 if sx and sy are both equal to zero. Furthermore, the problem of tracking error stabilization is reduced to the stabilization of sx and sy. Computing their dynamics, it is clear that F and the orientation ψ are coupled. Consider the following:
(14)s˙x=k1Fcos(ψ)+(1-duk1)evx-k1Fxr+k1pvx,s˙y=k1Fsin(ψ)+(1-duk1)evy-k1Fyr+k1pvy.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:
(15)z1=sxcos(ψ)+sysin(ψ),z2=-sxsin(ψ)+sycos(ψ).
Then, simple computations yield
(16)z˙1=k1F-k1Frcos(ψ-ψr)+z2r+(1-duk1)(evxcos(ψ)+evysin(ψ))+k1p1,(17)z˙2=k1Frsin(ψ-ψr)-z1r+(1-duk1)(-evxsin(ψ)+evycos(ψ))+k1p2,
where p1 and p2 are bounded disturbances given by
(18)p1=pvxcos(ψ)+pvysin(ψ),p2=-pvxsin(ψ)+pvycos(ψ),∥p∥=∥[p1,p2]T∥≤pm.Analyzing the dynamics ofz1 and z2, given by (16) and (17), it must be noticed that (17) does not depend on F, so F must be used to control z1. In order to solve this problem, the sign of F must be opposed to the sign of z1; thus, we propose
(19)sign(F)={-sign(z1),if|z1|≥ε,sign(F-),if|z1|<ε,
where ε is a small constant to avoid chattering by holding the sign of the force to its previous value, sign(F-), when |z1| is small. Notice that this condition imposes a minimal time between switches because |z1| must change from -ε to +ε (or from +ε to -ε) before the force F changes its sign. In addition, this control law tries to make |z1|<ε.In order to stabilizez2, the sign of Frsin(ψ-ψr) must be the opposite of the sign of z2. For this purpose, the following reference for the orientation is defined as follows:
(20)ψc=ψr-k2tanh(z2)sign(Fr),(21)rc=ψ˙c=ψ˙r-z˙2k2(1-tanh(z2)2)sign(Fr).
The saturation of z2 given by the operation tanh in (20) is introduced to guarantee that, when ψ=ψc and 0<k2<π/2, then Frsin(ψc-ψr)=-|Fr|sin(k2tanh(z2)), that is, opposed to z2.In general, the orientation referenceψc is not perfectly tracked by ψ. Thus, the orientation errors are defined by
(22)eψ=ψ-ψc,(23)er=r-rc,
and the dynamics of z finally become
(24)z˙1=k1F-k1Frcos(eψ+ψc-ψr)+z2r+k1p1+(1-duk1)(evxcos(eψ+ψc)+evysin(eψ+ψc))(25)z˙2=-k1|Fr|sin(k2tanh(z2))-z1r+k1Frw+k1p2+(1-duk1)(evycos(eψ+ψc)-evxsin(eψ+ψc)),
where w is the disturbance produced by the orientation tracking error, w=sin(ψ-ψr)-sin(ψc-ψr), bounded by
(26)|w|≤|ψ-ψc|=|eψ|,
Theorem 2 will show that for small eψ, (24)-(25) is a stable system with disturbances eψ, p1, and p2.


### 4.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 ψc. The error dynamics yields,
(27)e˙ψ=ψ˙-ψ˙c=r-ψ˙c=er,e˙r=τ-τc-drer+pr,
where τc=drψ˙c-ψ¨c is the control torque necessary to track the orientation reference ψc. At this point, a positive control gain k3 is introduced in order to define the variable sψ as follows:
(28)sψ=eψ+k3er.
It is clear that the orientation error converges exponentially to zero with rate 1/k3 if sψ is equal to zero. The computation of its dynamics yields
(29)s˙ψ=k3(τ-τc+pr)+(1-k3dr)er.
Thus, according to (29), in order to stabilize sψ, the sign of τ must be the opposite of the sign of sψ. This fact motivates the following control law:
(30)sign(τ)={-sign(sψ),if|sψ|≥ε,sign(τ-),if|sψ|<ε,
where chattering is avoided in a similar way as in (19), holding the sign of the torque to its previous value, sign(τ-), when |sψ| is small. Notice that this control law tries to make |sψ|<ε.


## 4.1. 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:(11)ex=x-xr,ey=y-yr,evx=vx-vxr,evy=vy-vyr.
And, their dynamics can be written as
(12)e˙x=evx,e˙y=evy,e˙vx=Fcos(ψ)-duevx-Fxr+pvx,e˙vy=Fsin(ψ)-duevy-Fyr+pvy,
where Fxr=Frcos(ψr) and Fyr=Frsin(ψr) are the nominal forces needed to track exactly the reference in absence of disturbances. At this point, a positive control constant k1, and the variables sx and sy are introduced in order to proceed with the error stabilization as follows:
(13)sx=ex+k1evx,sy=ey+k1evy.It is easy to check from (13) that the tracking error variables converge exponentially to zero with rate 1/k1 if sx and sy are both equal to zero. Furthermore, the problem of tracking error stabilization is reduced to the stabilization of sx and sy. Computing their dynamics, it is clear that F and the orientation ψ are coupled. Consider the following:
(14)s˙x=k1Fcos(ψ)+(1-duk1)evx-k1Fxr+k1pvx,s˙y=k1Fsin(ψ)+(1-duk1)evy-k1Fyr+k1pvy.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:
(15)z1=sxcos(ψ)+sysin(ψ),z2=-sxsin(ψ)+sycos(ψ).
Then, simple computations yield
(16)z˙1=k1F-k1Frcos(ψ-ψr)+z2r+(1-duk1)(evxcos(ψ)+evysin(ψ))+k1p1,(17)z˙2=k1Frsin(ψ-ψr)-z1r+(1-duk1)(-evxsin(ψ)+evycos(ψ))+k1p2,
where p1 and p2 are bounded disturbances given by
(18)p1=pvxcos(ψ)+pvysin(ψ),p2=-pvxsin(ψ)+pvycos(ψ),∥p∥=∥[p1,p2]T∥≤pm.Analyzing the dynamics ofz1 and z2, given by (16) and (17), it must be noticed that (17) does not depend on F, so F must be used to control z1. In order to solve this problem, the sign of F must be opposed to the sign of z1; thus, we propose
(19)sign(F)={-sign(z1),if|z1|≥ε,sign(F-),if|z1|<ε,
where ε is a small constant to avoid chattering by holding the sign of the force to its previous value, sign(F-), when |z1| is small. Notice that this condition imposes a minimal time between switches because |z1| must change from -ε to +ε (or from +ε to -ε) before the force F changes its sign. In addition, this control law tries to make |z1|<ε.In order to stabilizez2, the sign of Frsin(ψ-ψr) must be the opposite of the sign of z2. For this purpose, the following reference for the orientation is defined as follows:
(20)ψc=ψr-k2tanh(z2)sign(Fr),(21)rc=ψ˙c=ψ˙r-z˙2k2(1-tanh(z2)2)sign(Fr).
The saturation of z2 given by the operation tanh in (20) is introduced to guarantee that, when ψ=ψc and 0<k2<π/2, then Frsin(ψc-ψr)=-|Fr|sin(k2tanh(z2)), that is, opposed to z2.In general, the orientation referenceψc is not perfectly tracked by ψ. Thus, the orientation errors are defined by
(22)eψ=ψ-ψc,(23)er=r-rc,
and the dynamics of z finally become
(24)z˙1=k1F-k1Frcos(eψ+ψc-ψr)+z2r+k1p1+(1-duk1)(evxcos(eψ+ψc)+evysin(eψ+ψc))(25)z˙2=-k1|Fr|sin(k2tanh(z2))-z1r+k1Frw+k1p2+(1-duk1)(evycos(eψ+ψc)-evxsin(eψ+ψc)),
where w is the disturbance produced by the orientation tracking error, w=sin(ψ-ψr)-sin(ψc-ψr), bounded by
(26)|w|≤|ψ-ψc|=|eψ|,
Theorem 2 will show that for small eψ, (24)-(25) is a stable system with disturbances eψ, p1, and p2.


## 4.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 ψc. The error dynamics yields,
(27)e˙ψ=ψ˙-ψ˙c=r-ψ˙c=er,e˙r=τ-τc-drer+pr,
where τc=drψ˙c-ψ¨c is the control torque necessary to track the orientation reference ψc. At this point, a positive control gain k3 is introduced in order to define the variable sψ as follows:
(28)sψ=eψ+k3er.
It is clear that the orientation error converges exponentially to zero with rate 1/k3 if sψ is equal to zero. The computation of its dynamics yields
(29)s˙ψ=k3(τ-τc+pr)+(1-k3dr)er.
Thus, according to (29), in order to stabilize sψ, the sign of τ must be the opposite of the sign of sψ. This fact motivates the following control law:
(30)sign(τ)={-sign(sψ),if|sψ|≥ε,sign(τ-),if|sψ|<ε,
where chattering is avoided in a similar way as in (19), holding the sign of the torque to its previous value, sign(τ-), when |sψ| is small. Notice that this control law tries to make |sψ|<ε.


## 5. 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 noisen, only the estimates of the above variables (x^, y^, ψ^, v^x, v^y, and r^) are available.Using the estimates as the actual values of the state, the error variables are computed with (11), then s^x and s^y are computed using (13), and rotated with (15) to obtain the estimates z^1=z1+n1 and z^2=z2+n2, where
(31)|n1|,|n2|≤(∥z∥+2(1+k1))nm.
The term 2(1+k1) in (31) comes from the definition of sx and sy, (13), while the term ∥z∥ appears from (15) that involves the estimate ψ^.The computation ofz˙^2 is carried out with (17) assuming that the unknown disturbance p2 is equal to 0. The estimated orientation reference ψ^c is computed using (20), and its derivative ψ˙^c is computed with (21). These values are finally used in (28) to obtain the estimate s^ψ=sψ+f3, where
(32)|f3|≤k3k2k1pm+nm(1+k3+nm+k1|Fr|+|r|)+k2nm(1+k3|z˙2|)(∥z∥+2(1+k1))+22nm|1-duk1|evx2+evy2.
Thus, the control law (19) and (30) become
(33)sign(F)={-sign(z^1),if|z^1|≥ε,sign(F-),if|z^1|<ε,(34)sign(τ)={-sign(s^ψ),if|s^ψ|≥ε,sign(τ-),if|s^ψ|<ε.
The control equations (33) and (34) define only the sign of F and τ. In order to determine the actual control actions to be applied to the vehicle, Fe and Fp are selected according to Table 2.


## 6. 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 α(x) is a 𝒦 class function if α(0)=0 and α is strictly increasing. A function β(x,t) is class 𝒦ℒ if it is 𝒦 class with respect to x and β→0 when t→∞, [29].Lemma 1.
The velocities of the vehicle are globally ultimately bounded. Proof in SectionA.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.


### 6.1. 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 D-feasible trajectory  xr, there exist three positive constants k1, k2, and wm, and two functions, β and γ, of class 𝒦ℒ and 𝒦, respectively, such that if |w|≤wm; then,
(35)∥z(t)∥≤β(∥z(0)∥,t)+γ(wm+nm+pm+ε).
Proof on Section A.2.Corollary 3.
Under the conditions of Theorem2, there exist two functions β2 and γ2, of class 𝒦ℒ and 𝒦, respectively, such that for |w|≤wm(36)∥ep(t)∥≤β2(∥ep(0)∥,t)+γ2(wm+nm+pm+ε).
Proof in Section A.3.Equation (35) means that for a small orientation error (and thus a small w), if noise and disturbances are not too large compared with the control action F, 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.


### 6.2. Orientation Stability

Theorem 4.
Consider the dynamics described by (29) with control action (34) in the presence of bounded disturbances and noise (7). If disturbances and noise are small enough, then there exist five positive constants zm, k3, a, b, and c, and a 𝒦 class function γ3 such that for any D-feasible trajectory xr and any positive gain k2, if  ∥z∥≤zm; then,
(37)|sψ(t)|≤max(|sψ(0)|-at,γ3(b+zm+pm)nm+cpmε).
Proof in Section A.4.Corollary 5.
Under conditions of Theorem4, there exists another constant d such that for ∥z(t)∥≤zm,
(38)|eψ(t)|≤d·e-t/k3+γ3(b+zm+pm)nm+cpm+ε.
Proof in Section A.5.Equation (37) means that if the tracking error is bounded by zm, and disturbances and noise are not too large compared with the control input τ, then the variable sψ 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.


### 6.3. Overall Convergence

Previous results have demonstrated that the orientation error,eψ, converges exponentially to a neighborhood of the origin while ∥z∥ is bounded by zm. Thus, (26) implies that w converges to a neighborhood of the origin also. Furthermore, when w is smaller than an arbitrary maximum value wm, 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 M, if the initial condition of the hovercraft is such that ∥z(0)∥<M, and the reference trajectory xr is D-feasible, then it is possible to choose the control constants k1, k2, k3, and ε such that
(39)∥ep(t)∥≤β3(∥ep(0)∥,t)+γ4(nm+pm+ε),
where γ4 is a class 𝒦 function and β3 is a class 𝒦ℒ function. Proof in Section A.6.This result states that given any bound for the initial conditionM 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 M), then the gain k2 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.


## 6.1. 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 D-feasible trajectory  xr, there exist three positive constants k1, k2, and wm, and two functions, β and γ, of class 𝒦ℒ and 𝒦, respectively, such that if |w|≤wm; then,
(35)∥z(t)∥≤β(∥z(0)∥,t)+γ(wm+nm+pm+ε).
Proof on Section A.2.Corollary 3.
Under the conditions of Theorem2, there exist two functions β2 and γ2, of class 𝒦ℒ and 𝒦, respectively, such that for |w|≤wm(36)∥ep(t)∥≤β2(∥ep(0)∥,t)+γ2(wm+nm+pm+ε).
Proof in Section A.3.Equation (35) means that for a small orientation error (and thus a small w), if noise and disturbances are not too large compared with the control action F, 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.


## 6.2. Orientation Stability

Theorem 4.
Consider the dynamics described by (29) with control action (34) in the presence of bounded disturbances and noise (7). If disturbances and noise are small enough, then there exist five positive constants zm, k3, a, b, and c, and a 𝒦 class function γ3 such that for any D-feasible trajectory xr and any positive gain k2, if  ∥z∥≤zm; then,
(37)|sψ(t)|≤max(|sψ(0)|-at,γ3(b+zm+pm)nm+cpmε).
Proof in Section A.4.Corollary 5.
Under conditions of Theorem4, there exists another constant d such that for ∥z(t)∥≤zm,
(38)|eψ(t)|≤d·e-t/k3+γ3(b+zm+pm)nm+cpm+ε.
Proof in Section A.5.Equation (37) means that if the tracking error is bounded by zm, and disturbances and noise are not too large compared with the control input τ, then the variable sψ 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.


## 6.3. Overall Convergence

Previous results have demonstrated that the orientation error,eψ, converges exponentially to a neighborhood of the origin while ∥z∥ is bounded by zm. Thus, (26) implies that w converges to a neighborhood of the origin also. Furthermore, when w is smaller than an arbitrary maximum value wm, 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 M, if the initial condition of the hovercraft is such that ∥z(0)∥<M, and the reference trajectory xr is D-feasible, then it is possible to choose the control constants k1, k2, k3, and ε such that
(39)∥ep(t)∥≤β3(∥ep(0)∥,t)+γ4(nm+pm+ε),
where γ4 is a class 𝒦 function and β3 is a class 𝒦ℒ function. Proof in Section A.6.This result states that given any bound for the initial conditionM 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 M), then the gain k2 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.


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


### 7.1. 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 arek1=6 s,  k2=1 s,  k3=1 s, and  ε=0.01.


#### 7.1.1. 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,R, of 2 meters. The trajectory is tracked with a speed of V=0.5 m/s. The force and torque needed to track perfectly this trajectory (computed as described in Section 2.2) are constants (Fr=0.2179 m/s2 and τr=0.4339 rad/s2), 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.Figure 5
Simulated trajectory (solid) and circular reference (dashed).The evolution of the position is shown in Figure6 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.Simulated position (solid) versus references (dashed).
(a)
(b)Simulated velocities (solid) versus references (dashed).
(a)
(b)The orientationψ and its control reference ψc 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, eψ, is small enough. Once eψ is smaller than wm, z starts to converge to zero and the control references ψc and rc converge to the references ψr and rr, too.Simulated orientation and yaw rate (solid) vs references (dashed).
(a)
(b)


#### 7.1.2. 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 of1/17 s, that corresponds to the frame rate of the camera in the real setup. In addition, a disturbance p=[0m/s2,0.02m/s2,0.02m/s2] and random noise with an amplitude of 0.05 (meters for x and y, m/s for vx and vy, rad for ψ, and rad/s for r) 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, Figure9 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 V2/R. 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 9
Simulated trajectories with noise and disturbances for different circle radiusR=1,2,3,4 meters in red, violet, green and blue, respectively.Figure10 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 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).Figure 10
Tracking error for different circle radiusR=1,2,3,4 meters in red, violet, green, and blue, respectively.


#### 7.1.3.    General Trajectory

For this third scenario, a new reference trajectory is set,xr(t)=2sin(3/8t), yr(t)=3cos(2/8t), 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-D-feasible reference too.Figure 11
Force map for a general trajectory that is feasible but not D-feasible.Figure 12
General trajectory followed by the vehicle (blue) and reference (red).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 Fr 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 Fr, with a larger torque, in absolute value, than τr. This is enough to stabilize the trajectory because during the trajectory tracking a negative force is never needed.


### 7.2. Experimental Results

#### 7.2.1. 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 Figure13. The laboratory has similar capacities to the experimental testbed developed on [5] or [6].Figure 13
Experimental setup.The CCD camera is equipped with wide angle optics that cover a region of approximately3m×4m 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 is25cm 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 forcesFs and Fp, and the corresponding commands are sent to the radio controller.For a more detailed description of the experimental setup, see [30].


#### 7.2.2. 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,R=0.6 m, is tracked with a constant speed of V=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.Figure 14
Actual tracking. Trajectory (solid) and references (dashed).Figure 15
Tracking error.Actual positions (solid) versus references (dashed) in a real setup.
(a)
(b)Actual velocities (solid) versus references (dashed) in a real setup.
(a)
(b)Control actionsFs and Fp applied in a real setup.
(a)
(b)


## 7.1. 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 arek1=6 s,  k2=1 s,  k3=1 s, and  ε=0.01.


### 7.1.1. 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,R, of 2 meters. The trajectory is tracked with a speed of V=0.5 m/s. The force and torque needed to track perfectly this trajectory (computed as described in Section 2.2) are constants (Fr=0.2179 m/s2 and τr=0.4339 rad/s2), 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.Figure 5
Simulated trajectory (solid) and circular reference (dashed).The evolution of the position is shown in Figure6 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.Simulated position (solid) versus references (dashed).
(a)
(b)Simulated velocities (solid) versus references (dashed).
(a)
(b)The orientationψ and its control reference ψc 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, eψ, is small enough. Once eψ is smaller than wm, z starts to converge to zero and the control references ψc and rc converge to the references ψr and rr, too.Simulated orientation and yaw rate (solid) vs references (dashed).
(a)
(b)


### 7.1.2. 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 of1/17 s, that corresponds to the frame rate of the camera in the real setup. In addition, a disturbance p=[0m/s2,0.02m/s2,0.02m/s2] and random noise with an amplitude of 0.05 (meters for x and y, m/s for vx and vy, rad for ψ, and rad/s for r) 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, Figure9 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 V2/R. 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 9
Simulated trajectories with noise and disturbances for different circle radiusR=1,2,3,4 meters in red, violet, green and blue, respectively.Figure10 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 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).Figure 10
Tracking error for different circle radiusR=1,2,3,4 meters in red, violet, green, and blue, respectively.


### 7.1.3.    General Trajectory

For this third scenario, a new reference trajectory is set,xr(t)=2sin(3/8t), yr(t)=3cos(2/8t), 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-D-feasible reference too.Figure 11
Force map for a general trajectory that is feasible but not D-feasible.Figure 12
General trajectory followed by the vehicle (blue) and reference (red).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 Fr 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 Fr, with a larger torque, in absolute value, than τr. This is enough to stabilize the trajectory because during the trajectory tracking a negative force is never needed.


## 7.1.1. 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,R, of 2 meters. The trajectory is tracked with a speed of V=0.5 m/s. The force and torque needed to track perfectly this trajectory (computed as described in Section 2.2) are constants (Fr=0.2179 m/s2 and τr=0.4339 rad/s2), 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.Figure 5
Simulated trajectory (solid) and circular reference (dashed).The evolution of the position is shown in Figure6 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.Simulated position (solid) versus references (dashed).
(a)
(b)Simulated velocities (solid) versus references (dashed).
(a)
(b)The orientationψ and its control reference ψc 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, eψ, is small enough. Once eψ is smaller than wm, z starts to converge to zero and the control references ψc and rc converge to the references ψr and rr, too.Simulated orientation and yaw rate (solid) vs references (dashed).
(a)
(b)


## 7.1.2. 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 of1/17 s, that corresponds to the frame rate of the camera in the real setup. In addition, a disturbance p=[0m/s2,0.02m/s2,0.02m/s2] and random noise with an amplitude of 0.05 (meters for x and y, m/s for vx and vy, rad for ψ, and rad/s for r) 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, Figure9 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 V2/R. 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 9
Simulated trajectories with noise and disturbances for different circle radiusR=1,2,3,4 meters in red, violet, green and blue, respectively.Figure10 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 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).Figure 10
Tracking error for different circle radiusR=1,2,3,4 meters in red, violet, green, and blue, respectively.


## 7.1.3.    General Trajectory

For this third scenario, a new reference trajectory is set,xr(t)=2sin(3/8t), yr(t)=3cos(2/8t), 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-D-feasible reference too.Figure 11
Force map for a general trajectory that is feasible but not D-feasible.Figure 12
General trajectory followed by the vehicle (blue) and reference (red).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 Fr 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 Fr, with a larger torque, in absolute value, than τr. This is enough to stabilize the trajectory because during the trajectory tracking a negative force is never needed.


## 7.2. Experimental Results

### 7.2.1. 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 Figure13. The laboratory has similar capacities to the experimental testbed developed on [5] or [6].Figure 13
Experimental setup.The CCD camera is equipped with wide angle optics that cover a region of approximately3m×4m 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 is25cm 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 forcesFs and Fp, and the corresponding commands are sent to the radio controller.For a more detailed description of the experimental setup, see [30].


### 7.2.2. 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,R=0.6 m, is tracked with a constant speed of V=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.Figure 14
Actual tracking. Trajectory (solid) and references (dashed).Figure 15
Tracking error.Actual positions (solid) versus references (dashed) in a real setup.
(a)
(b)Actual velocities (solid) versus references (dashed) in a real setup.
(a)
(b)Control actionsFs and Fp applied in a real setup.
(a)
(b)


## 7.2.1. 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 Figure13. The laboratory has similar capacities to the experimental testbed developed on [5] or [6].Figure 13
Experimental setup.The CCD camera is equipped with wide angle optics that cover a region of approximately3m×4m 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 is25cm 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 forcesFs and Fp, and the corresponding commands are sent to the radio controller.For a more detailed description of the experimental setup, see [30].


## 7.2.2. 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,R=0.6 m, is tracked with a constant speed of V=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.Figure 14
Actual tracking. Trajectory (solid) and references (dashed).Figure 15
Tracking error.Actual positions (solid) versus references (dashed) in a real setup.
(a)
(b)Actual velocities (solid) versus references (dashed) in a real setup.
(a)
(b)Control actionsFs and Fp applied in a real setup.
(a)
(b)


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



---

*Source: 589267-2013-12-22.xml*