Matteo Guerra
email: matteo.guerra@inria.fr

Denis Efimov

Gang Zheng

Wilfrid Perruquetti

Finite-Time Obstacle Avoidance for Unicycle-like robot Subject to Additive Input Disturbances

The problem of avoiding obstacles while navigating within an environment for a Unicycle-like Wheeled Mobile Robot (WMR) is of prime importance in robotics; the aim of this work is to solve such a problem proposing a perturbed version of the standard kinematic model able to compensate for the neglected dynamics of the robot. The disturbances are considered additive on the inputs and the solution is based on the supervisory control framework, finite-time stability and a robust multi-output regulation. The effectiveness of the solution is proved, supported by experiments and finally compared with the Dynamic Window Approach (DWA) to show how the proposed method can perform better than standard methods.

Introduction

Real-time obstacle avoidance for wheeled mobile robots (WMRs) is an extensively researched field in robotics due to an undeniable need for practical applications. In addition, a large variety of WMRs is subject to nonholonomic kinematic constraints; such robots (that cannot be stabilized by smooth time-invariant static state feedback as proven in [START_REF] Brockett | Asymptotic stability and feedback stabilization[END_REF]) cannot follow all trajectories at any time, making the task more challenging.

Several algorithms and methods have been proposed to tackle the problem depending on accessible informations. Global solutions operate off-line, giving suitable optimized paths between a starting point and a target; they perform better while no unexpected situations oc-cur. However, these emerging situations may be handled by local path planners which react faster using real-time sensors data; the main issue with local planners comes from the non-optimal solution they could provide using just local information. Local solutions were typically based on Potential Field (PF) approaches derived from [START_REF] Khatib | Real-time obstacle avoidance for manipulators and mobile robots[END_REF], in which the robot is driven along a potential field whose minimum is at the target position and each obstacle generates an additional repellent force. Within the local planners directly derived from the PF approach, the Vector Field Histogram (VFH) method firstly presented in [START_REF] Borenstein | The vector field histogram-fast obstacle avoidance for mobile robots[END_REF] (see also its more recent modifications [START_REF] Ulrich | Vfh+: reliable obstacle avoidance for fast mobile robots[END_REF], [START_REF] Ulrich | Vfh*: local obstacle avoidance with look-ahead verification[END_REF]) represents a widely used solution to real-time obstacle avoidance. The first experiments run on WMR showed the shortcomings inherited after the PF approach: presence of traps and local minima [START_REF] Koren | Potential field methods and their inherent limitations for mobile robot navigation[END_REF]. Thus, modifications like VFH+ were proposed; this method, starting from a grid map, evaluates the PF at each iteration for a subset of active cells of the map, builds an obstacle histogram and reduces it to a polar form to finally compute the velocity commands. Alternative approaches were also presented, such as the Dynamic Window Approach (DWA) [START_REF] Fox | The dynamic window approach to collision avoidance[END_REF], a predictive technique in which the kinematics and the dynamics properties of the robot are taken into account and the control inputs are derived from what is called velocity space after an optimization step. As stated above, local planners cannot guarantee optimal results in robot navigation, and they are commonly coupled with global planners, examples for both VFH and DWA could be found in [START_REF] Ulrich | Vfh*: local obstacle avoidance with look-ahead verification[END_REF], [START_REF] Kiss | A receding horizon control approach to obstacle avoidance[END_REF], [START_REF] Maroti | Investigation of dynamic window based navigation algorithms on a real robot[END_REF]. [START_REF] Ulrich | Vfh*: local obstacle avoidance with look-ahead verification[END_REF] proposes the VFH* approach, where the VFH method is used to real time obstacle avoidance and A* algorithm handles the global planning, while in [START_REF] Kiss | A receding horizon control approach to obstacle avoidance[END_REF] a receding horizon control is applied to global DWA using global information to avoid local minima. For the sake of completeness we cite also the Velocity Obstacles (VO) method presented in [START_REF] Fiorini | Motion planning in dynamic environments using velocity obstacles[END_REF] used for the navigation in dynamic environment and its recent modification [START_REF] Wilkie | Generalized velocity obstacles[END_REF] which proposes the generalized VO including kinematic constraints of the considered robot. In addition, to deal with model inaccuracies in literature various type of perturbations are considered; in [START_REF] Tayebi | Adaptive controller for nonholonomic mobile robots with matched uncertainties[END_REF], for instance, a constant input additive disturbance is studied and compensated with an adaptive approach. In [START_REF] Danwei | Modeling and analysis of skidding and slipping in wheeled mobile robots: Control design perspective[END_REF] a most rigorous study is carried out where slipping and skidding behaviours are characterized and a study on the controllability is illustrated; [START_REF] Rubagotti | Integral sliding mode control for nonlinear systems with matched and unmatched perturbations[END_REF] uses the formulation of [START_REF] Danwei | Modeling and analysis of skidding and slipping in wheeled mobile robots: Control design perspective[END_REF] and compensates the effects of matched and unmatched perturbations with an integral sliding mode approach. The contribution of this work is, thus, twofold. Firstly, the authors consider a new formulation of the unicycle model. In the considered representation, perturbations are added to the classic kinematic model to compensate for the neglected dynamics. These perturbations are additive to the inputs, that comes from the intuition that if no command is given to the WMR, then the robot will not move and, thus, no perturbations have to be considered independently of the control. Such a kind of disturbances could come from the settling time of the PID controller, that translates the velocity commands in current inputs and sends them to the motors. To the best of the authors' knowledge such a model has not been considered before. In addition, a novel approach to local real-time obstacle avoidance for unicycle-like WMR is presented, which is proven to be, under appropriate assumptions, robust and finite-time convergent, as well as computationally low cost. In the proposed solution, inspired by [START_REF] Efimov | Multigoal output regulation via supervisory control: Application to stabilization of a unicycle[END_REF], the controller and the kinematics of the WMR are strictly tied to guarantee the avoidance. A supervisory switching control is used to regulate two outputs: the first objective is the stabilization of the system by regulating the first output (distance from a target), the second objective is related to the proximity of eventual obstacles while trying to complete the main task. A supervisor has been designed to oversee the switches between the two components of the control starting from [START_REF] Efimov | Multigoal output regulation via supervisory control: Application to stabilization of a unicycle[END_REF] and relaxing it with no more need for dwell time and adding input disturbances. The result is presented taking into account the notions of stability for switched system [START_REF] Liberzon | SWITCHING IN SYSTEMS AND CONTROL[END_REF] and input-to-output stability [START_REF] Sontag | Notions of input to output stability[END_REF], [START_REF] Hespanha | Hysteresis-based switching algorithms for supervisory control of uncertain systems[END_REF].

Theoretical Formulation

Consider the following system (a WMR model):

ẋ = f (x, u, d), z 1 = h 1 (x), z 2 = h 2 (x), (1)
where

x ∈ R n is the state, u ∈ R m is the control input and d ∈ R m is a disturbance, the signal d ∈ Ω = {d ∈ L ∞ m : ||d|| ≤ D} for some D ∈ R + .
We want to regulate the outputs z 1 ∈ R p1 and z 2 ∈ R p2 assuming that the functions h 1 and h 2 are continuous with f : R n+2m → R n . It is needed to design a control u : R n → R m that will provide the uOS1 property with respect to the output z 1 , and will keep the second output z 2 in a predefined limit. In other words, to achieve the desired tasks it is needed that for all initial conditions x 0 ∈ R n , d ∈ Ω and t ≥ t 0 ≥ 0:

|z 1 (t, x 0 , d)| ≤ β 1 (|h 1 (x 0 )|, t -t 0 ), (2)
|z 2 (t, x 0 , d)| ≤ max{σ(∆), β 2 (|h 2 (x 0 )|, t -t 0 )}, (3)
the value of ∆ is given, β and β 1 are KL2 functions whereas σ is a function of class K. It can be noted that ( 2) is exactly the definition of the uOS property.

The second output must be smaller than σ(∆). In the case |h 2 (x 0 )| > ∆ the trajectory should converge to a subset where |h 2 (x)| ≤ σ(∆). In addition, to solve the problem we need that the intersection between the sets h 1 (x) = 0 and |h 2 (x)| ≤ σ(∆) would not be empty, thus we assume the existence of a function ρ of class K and a scalar 0 < ρ 0 < σ(∆) such that:

|h 2 (x)| ≤ ρ(|h 1 (x)|) + ρ 0 .

Description of independent controls

Thus the problem consists in an output uniform stabilization under constraints imposed on another output. Following [START_REF] Efimov | Multigoal output regulation via supervisory control: Application to stabilization of a unicycle[END_REF], assume that two right-continuous controls u i : R n → R m , i ∈ {1, 2} are given solving an independent stabilization for the corresponding output z i , i.e. the system

ẋ = f (x, u i (x), d), z i = h i (x),
is forward complete and has continuous solution x(t, x 0 , d), in addition the system is uOS with respect to the output z i and disturbance d ∈ Ω. We also assume that during an activation of u 2 for all t ≥ 0

|z 1 (t, x 0 , d)| ≤ |h 1 (x 0 )|.
Next subsection is devoted to uniting of these controls in order to solve the posed problem.

Supervisory control

Under the assumption of having two controls which solve the output regulation for z 1 and z 2 independently, a supervisor is proposed to oversee the activation of the controls to achieve both required condition (2) and (3) simultaneously. The idea is that the controller u 2 is activated when |z 2 (x)| reaches a threshold ∆ and remains active until the constraint |z 2 (x)| ≤ δ is satisfied, where 0 < δ < ∆ is a given parameter. For this reason we define two sets

X 1 = {x ∈ R n : |h 2 (x)| ≤ δ}, X 2 = {x ∈ R n : |h 2 (x)| ≤ ∆}, X 1 ⊂ X 2 .
Then the control

U (t) = u i(t) (x(t)), i : R + → {1, 2} (4)
is ruled by

t 0 = 0, i(t 0 ) = 1 if x(t 0 ) ∈ X 2 ,
2 otherwise, while i(t) = i(t j ) for t ∈ [t j t j+1 ), and

i(t j+1 ) = 1 if x(t j+1 ) ∈ X 1 2 if x(t j+1 ) ∈ X 2 , (5)
where t j is a generic switching instant defined as follows:

t j =      arg inf t≥tj {x(t) ∈ X 2 } if i(t j ) = 1 arg inf t≥tj {x(t) ∈ X 1 } if i(t j ) = 2 .
The control U has the u 1 part active if |z 2 | < ∆, which means that we are stabilizing the output z 1 according to condition [START_REF] Brockett | Asymptotic stability and feedback stabilization[END_REF]. If |z 2 | becomes greater or equal than ∆, then u 2 will be activated driving z 2 to a value less than δ according to condition [START_REF] Danwei | Modeling and analysis of skidding and slipping in wheeled mobile robots: Control design perspective[END_REF]. Inside the set H = X 2 \X 1 the control will not be switched, this set acts as a hysteresis zone being helpful to avoid a chattering phenomena of switching between u 1 and u 2 . A similar supervisor has been introduced in [START_REF] Efimov | Multigoal output regulation via supervisory control: Application to stabilization of a unicycle[END_REF], but in the present work the dwell time condition is not imposed replaced by the following assumption:

Assumption 1. sup x∈H,d∈Ω,i∈{1,2} |f (x, u i (x), d)| = F < +∞.
This assumption states that the system velocity on the set H is finite, then since F < +∞ and d ∈ Ω there exists a dwell-time delay τ D > 0 between any two switches, i.e. t j+1 -t j ≥ τ D for all j ≥ 0. The conditions for solution of the posed problem using the supervisory control algorithm (4), [START_REF] Fiorini | Motion planning in dynamic environments using velocity obstacles[END_REF] are described in the following theorem.

Theorem 1. Let Assumption 1 be satisfied and β 1 (s, τ D ) = λs for all s ∈ R + and some 0 ≤ λ < 1. Then the system (1) with supervisor (5) and control (4) is forward complete and for all initial conditions x 0 ∈ R n , d ∈ Ω and t ≥ 0:

|z 1 (t, x 0 , d)| ≤ β 1 (|h 1 (x 0 ))|, 0), |z 2 (t, x 0 , d)| ≤ max{σ(∆), β 2 (|h 2 (x 0 )|, t -t 0 )}, lim t→+∞ |z 1 (t, x 0 , d)| = 0, where σ(s) = β 2 (s, 0)
Proof The existence of dwell-time τ D > 0 implies rightcontinuity of the switching signal i(t), the same property for the right-hand side of the system (1), ( 4), (5) (due to composition limit rule) and continuity of the system solutions with the absence of chattering. Since for both u i , i ∈ {1, 2} the solutions of the system are well defined for all t ≥ 0, then a finite-time escape phenomenon is impossible and solutions of the switched system (1), ( 4), ( 5) are well defined for all t ≥ 0.

By definition of a function from class KL, there exists 0 < T 2 < +∞ such that δ = β 2 (∆, T 2 ). For both controls the following inequalities are satisfied for the outputs:

   i(t) = 1 ∀t ∈ [t j , t j+1 ), |z 1 (t, x(t j ), d)| ≤ β 1 (|h 1 (x(t j ))|, t -t j ), |z 2 (t, x(t j ), d)| ≤ ρ • β 1 (|h 1 (x(t j ))|, t -t j ) + ρ 0 , (6)
   i(t) = 2 ∀t ∈ [t j , t j+1 ), |z 2 (t, x(t j ), d)| ≤ β 2 (|h 2 (x(t j ))|, t -t j ), |z 1 (t, x(t j ), d)| ≤ |h 1 (x(t j ))|. (7)
Therefore, the following scenarios are possible. First, [START_REF] Fox | The dynamic window approach to collision avoidance[END_REF] are satisfied for all t ≥ 0, this scenario corresponds to the case without collisions in the WMR example). Second, x(0) ∈ X 2 \ Ξ and there exists 0 < t 1 < +∞ such that ( 6) is satisfied for t ∈ [t 0 , t 1 ) and

x(0) ∈ Ξ = {x ∈ R n : ρ • β 1 (|h 1 (x)|, 0) + ρ 0 ≤ ∆}, then x(0) ∈ X 2 , i(0) = 1 and, according to (6), i(t) = 1 with |z 2 (t, x(0), d)| ≤ ∆ for all t ≥ 0 (the estimates
|h 2 (x(t 1 ))| = ∆, |z 1 (t 1 , x(t 0 ), d)| ≤ β 1 (|h 1 (x(t 0 ))|, t 1 -t 0 ) ≤ β 1 (|h 1 (x(t 0 ))|, τ D ) = λ|h 1 (x(t 0 ))| < |h 1 (x(t 0 ))|.
Note that if t 1 = +∞, then this case is identical to the first scenario. Thus according to (7)

|z 2 (t, x(t 1 ), d)| ≤ β 2 (∆, t -t 1 ) ∀t ∈ [t 1 , t 2 ), |z 2 (t 2 , x(t 1 ), d)| = δ, |z 1 (t, x(t 1 ), d)| ≤ |z 1 (t 1 )| ≤ λ|h 1 (x(t 0 ))| ∀t ∈ [t 1 , t 2 ),
where t 1 < t 2 ≤ t 1 + T 2 . Summarizing these estimates we get

|z 1 (t, x(t 0 ), d)| ≤ β 1 (|h 1 (x(t 0 ))|, 0) ∀t ∈ [t 0 , t 2 ), |z 2 (t, x(t 0 ), d)| ≤ β 2 (∆, 0) ∀t ∈ [t 0 , t 2 ), |z 1 (t 2 , x(t 0 ), d)| ≤ λ|h 1 (x(t 0 ))|.
Next, there exists a sequence of time instants

t 2k , 0 ≤ k ≤ K ≤ +∞ with i(t) = 1 for all t ∈ [t 2k , t 2k+1 ) and i(t) = 2 for all t ∈ [t 2k+1 , t 2k+2 ).
Repeating the arguments above we obtain

|z 1 (t, x(t 0 ), d)| ≤ β 1 (|h 1 (x(t 0 ))|, 0) ∀t ∈ [t 0 , t 2k+2 ), |z 2 (t, x(t 0 ), d)| ≤ β 2 (∆, 0) ∀t ∈ [t 0 , t 2k+2 ), (8)
|z 1 (t 2k+2 , x(t 0 ), d)| ≤ λ k |h 1 (x(t 0 ))|
for any 0 ≤ k ≤ K. Assume that K < +∞, then it means that i(t) = 1 for all t ≥ t 2K (the control u 2 can be active on a finite interval only by its definition) and from ( 6)

|z 1 (t, x(t 0 ), d)| ≤ β 1 (|h 1 (x(t 2K ))|, 0) ≤ β 1 (|h 1 (x(t 0 ))|, 0) ∀t ≥ t 2K , |z 2 (t, x(t 0 ), d)| ≤ ∆ ≤ β 2 (∆, 0) ∀t ≥ t 2K , lim t→+∞ |z 1 (t, x(t 0 ), d)| = 0,
i.e. it is a situation similar to the first scenario. If K = +∞, then from [START_REF] Hespanha | Hysteresis-based switching algorithms for supervisory control of uncertain systems[END_REF] with k → +∞ we have the same properties, consequently

|z 1 (t, x(t 0 ), d)| ≤ β 1 (|h 1 (x(t 0 ))|, 0) ∀t ≥ t 0 , |z 2 (t, x(t 0 ), d)| ≤ β 2 (∆, 0) ∀t ≥ t 0 , (9)
lim t→+∞ |z 1 (t, x(t 0 ), d)| = 0.
Third, x(0) / ∈ X 2 and in this case there is a time instant t 1 > t 0 such that the estimates [START_REF] Guerra | Finite-time supervisory stabilization for a class of nonholonomic mobile robots under input disturbances[END_REF] are satisfied for all t ∈ [t 0 , t 1 )

|z 2 (t, x(t 0 ), d)| ≤ β 2 (|h 2 (x(t 0 ))|, t -t 0 ), |z 1 (t, x(t 0 ), d)| ≤ |h 1 (x(t 0 ))| and |z 2 (t 1 , x(t 0 ), d)| = δ. Since x(t 1
) ∈ X 2 the following system behaviour is similar to the second scenario and from (9) we obtain

|z 1 (t, x(t 0 ), d)| ≤ β 1 (|h 1 (x(t 0 ))|, 0) ∀t ≥ t 0 , |z 2 (t, x(t 0 ), d)| ≤ β 2 (max{∆, |h 2 (x(t 0 ))|}, 0) ∀t ≥ t 0 , lim t→+∞ |z 1 (t, x(t 0 ), d)| = 0.
Therefore, these estimates are satisfied in all three possible scenarios for all t ≥ 0, that is necessary to prove.

Application to Unicycle-like WMR

Let us consider the following unicycle-like WMR kinematic perturbed model, in which the input is affected by an additive disturbance as explained in Section 1:

qx = cos(q θ )v(1 + d 1 ), qy = sin(q θ )v(1 + d 1 ), (10)
qθ = ω(1 + d 2 ),
where (q x , q y ), q x , q y ∈ R, define the Cartesian position of the robot, and q θ ∈ [0, 2π] is the orientation of the robot with respect of the world reference frame, v and ω are the control inputs, respectively the linear velocity and the angular velocity. The additive disturbances on the inputs are unknown, but supposed to be bounded,

-1 < d min ≤ d i ≤ d max , i = 1, 2.
The lower bound, d min > -1, ensures that the disturbance does not induce a change of sign of the control v. To achieve the tasks the robot has to be driven to the origin avoiding obstacles that it could, eventually, encounter during the path. As a solution, two independent controllers can be designed to reach the goals (i.e. stabilization at the origin and collision avoidance) with their posterior uniting [START_REF] Efimov | Multigoal output regulation via supervisory control: Application to stabilization of a unicycle[END_REF]. These controls can be designed in order to regulate two different outputs:

z 1 (q x , q y ) = q 2 x + q 2 y , (11)
z 2 (q x , q y ) = min Y, max 1≤i≤N (q x -x o i ) 2 + (q y -y o i ) 2 -1 , (12)
where z 1 is the distance from the origin and z 2 is the inverse of the distance from the closest obstacle represented by its Cartesian position (x oi , y oi ) i,...,N , with N is a finite number of obstacles, Y > 0 is a parameter ensuring global boundedness of z 2 and related with dimensions of the obstacles. Clearly, driving z 2 to a sufficiently small value means to move away from an obstacle avoiding it. Under the assumption that between the obstacles there was enough space we can consider one obstacle each time without loosing generality.

Control Tasks

In this subsection two finite-time controllers (u i , i ∈ {1, 2}) are designed for [START_REF] Kiss | A receding horizon control approach to obstacle avoidance[END_REF]; the former one is designed to regulate the output z 1 [START_REF] Koren | Potential field methods and their inherent limitations for mobile robot navigation[END_REF], for the stabilization part, and the second one is to regulate the output z 2 [START_REF] Liberzon | SWITCHING IN SYSTEMS AND CONTROL[END_REF], providing the collision avoidance. The main feature of these controls is that all control tasks are solved not asymptotically, but in a finite time [START_REF] Guerra | Finite-time supervisory stabilization for a class of nonholonomic mobile robots under input disturbances[END_REF].

Stabilization

It is required to design a control u 1 in order to drive the robot to the desired point, in our case the origin.

Consider the output z 1 (q x , q y ) and the Lyapunov func-

tion V 1 = 0.5z 2 1 .
Let us define θ 0 = arctan q y q x 3 and α = q θ -θ 0 -π, α ∈ [-π, π), the deviance from the desired final orientation θ 0 + π, then:

V1 = ż1 z 1 (13)
= q x qx + q y qy q 2

x + q 2 y q 2

x + q 2 y (

= q x qx + q y qy ;

by applying simple trigonometric rules, one can rewrite q x = z 1 cos θ 0 and q y = z 1 sin θ 0 . Using the equalities just depicted and by substitution from [START_REF] Kiss | A receding horizon control approach to obstacle avoidance[END_REF], it follows that

V1 = v(1 + d 1 )z 1 (cos q θ cos θ 0 + sin q θ sin θ 0 ) . ( 16
)
Using the equality cos (α -β) = (cos α cos β + sin α sin β) we can rewrite:

V1 = cos(q θ -θ 0 )v(1 + d 1 )z 1 . (17)
it follows that:

V1 = -cos(α)v(1 + d 1 )z 1 ,
(Fig. 1 shows a schematic unicycle, the black shape, and a visual description of the listed angles). The proposed control is

v = k 1 z 1 if|α| ≤ kπ 0 otherwise ,
with k 1 positive and 0 < k ≤ 0.5. Then we can ensure the semi-definiteness of V1 :

V1 ≤ -cos(α)(1 -d min )k 1 z 2 1 if |α| ≤ kπ V1 = 0 otherwise . Then V1 ≤ -2c 1 V 1 f or|α| ≤ kπ,
where

c 1 = k 1 cos(kπ)(1-d min ).
The control v operates only on the linear velocity of the robot, to steer it we act on the α dynamics that can be expressed like:

α = ω(1 + d 2 ) + sin(α)z -1 1 (1 + d 1 )v.
Using the Lyapunov function V 2 = 0.5α 2 and analyzing the equation

V2 = ωα(1 + d 2 ) + α sin(α)v(1 + d 1 )z -1
1 , we notice that the term depending on v is equal to zero 3 Whether in the definition the usual arctan( y x ) is presented, in the implementation is convenient to use the fourquadrant arctanget, atan2(y, x), function to avoid the robot to turn away from the objective.

V2 = ωα(1 + d 2 ) + k 1 α sin(α)(1 + d 1 ) if |α| ≤ kπ ωα(1 + d 2 )
otherwise .

Thus the control applied to steer the robot is

ω = -k 2 ζ(α)sign(α), k 2 ≥ (1 + d max )k 1 + 2 -3/4 η 1 1 -d min , ζ(α) = max{|α| 0.5 , |α|}, η 1 > 0, (18)
then

V2 ≤      -k 2 |α|ζ(α)(1 -d min ) +k 1 α 2 (1 + d max ) if |α| ≤ kπ -k 2 |α|ζ(α)(1 -d min ) otherwise.
Since |α|ζ(α) ≥ α 2 we obtain:

V2 ≤ -η 1 max{V 2 , V 3/4 2 },
the k 2 gain allows us to compensate the disturbances. Therefore, solving the differential equation for V 2 (t) and obtaining α(t) from the V 2 definition, one can find out the following upper estimate:

|α(t)| ≤            |α 0 |e -0.5η1(t-t0) if t ∈ [t 0 , t 1 ], √ 2[min{1, 2 -1/4 |α 0 |} -2 -2 η 1 (t -t 1 )] 2 if t ∈ (t 1 , t 2 ], 0 if t > t 2 , (19)
t 1 = t 0 + max{0, η -1 1 ln(0.5α 2 0 )}, t 2 = t 1 + 2 -2 η -1
1 min{1, 2 -1/4 |α 0 |}, where t 0 ≥ 0 is the instant when this control has been activated and α 0 = α(t 0 ) ∈ [-π, π) is the initial condition. Therefore, there exists 0 ≤ T 1 (α 0 ) < ∞ for all α 0 ∈ [-π, π) such that |α(t)| < kπ for all t ≥ t 0 + T 1 (α 0 ). Indeed, the dynamics of α with v = 0 helps to compute

T 1 (α 0 ) ≤          max 0, 2 η1 ln |α 0 | kπ if kπ ≥ 1, t 1 + 4η -1 1 [min{1, 2 -1/4 |α 0 |} -2 -1/4 √ kπ] otherwise.
Since |α 0 | ≤ π we finally obtain

T 1 (π) = η -1 1 -2 ln(k) if kπ ≥ 1, ln(0.5π 2 ) + 4(1 -2 -1/4 √ kπ) otherwise.
Thus it follows that

z 1 (t) ≤ z 1 (t 0 ) min{1, e -c1(t-T1(π)-t0) } ∀t ≥ t 0 . (20)
Based on the expressions for v and ω, the control u 1 can be summarized as follows:

u 1 =      v = k 1 z 1 if |α| ≤ kπ 0 otherwise , ω = -k 2 ζ(α)sign(α). (21)
The following result has been proven.

Lemma 1 In the system [START_REF] Kiss | A receding horizon control approach to obstacle avoidance[END_REF] with control (21) the estimates (20) and ( 19) are satisfied (a uniform exponential stabilization for z 1 and a uniform finite-time stabilization for α).

Obstacle Avoidance

To design a controller for collision avoidance we define each obstacle as a point in the plane and a safe distance to be maintained. Each obstacle is an element of the set O = {(x oi , y oi , ρ i,min )} i=1,...,N , with N number of possible obstacles, Y = 1/ min 1≤i≤N {ρ i,min }. Each obstacle is entirely contained in the circle of radius ρ i,min which is a distance designed considering the radius of the obstacle itself and a distance equal to the radius of the circle in which the robot can be inscribed. The switch (collision avoidance algorithm activation) occurs when the robot reaches a distance ρ i > ρ i,min , which adds an additional safety level to the collision avoidance maneuver. We want to ensure the avoidance thus augmenting the distance from ρ i to a predefined R i > ρ i using a control u 2 , which has to be designed. In terms of the output z 2 we want to decrease it from

∆ i = ρ -1 i to δ i = R -1
i , moreover it is required that the output z 1 will not increase during/after the activation of the control u 2 . Assume that max 1≤i≤N 1/ x 2 oi + y 2 oi < min 1≤i≤N δ i , i.e. the origin is well separated from an obstacle. It is also assumed that Υ i ∩ Υ j = ∅ for any i = j ∈ {1, . . . , N }, where

B

Fig. 2 Circles used in the definition of the B -,B lim and then the B points with the "Tangent" approach Υ i = {(q x , q y ) ∈ R 2 : (q x -x oi ) 2 + (q y -y oi ) 2 ≤ R 2 i } = {(q x , q y ) ∈ R 2 : z 2 (q x , q y ) ≥ δ i }, i.e. any two obstacles are separated and the collision avoidance problem can be addressed for an isolated obstacle.

In order to design the control u 2 we need to plan a strategy to move from ∆ i to δ i . The goal of the collision avoidance control will be to reach a new point B = (x B , y B ) such that z 1 (x B , y B ) ≤ z 1 (q x (t ca ), q y (t ca )) and z 2 (x B , y B ) ≤ δ i , where t ca is the instant of time in which the control u 2 is switched on, i.e. z 2 (q x (t ca ), q y (t ca )) = ∆ i . An algorithm for the point B selection is explained below.

A preliminary point B -is defined as an intersection point of the circle centered in (x oi , y oi ) of radius R i and the tangent line to the circle centered at (x oi , y oi ) of radius ∆ i (the red one in Fig. 2). Although this approach is very efficient, it does not provide the second requirement of the control, i.e. ż1 (t) ≤ 0, in the case when the robot, the obstacle center and the origin are on the same straight line. In this case a preliminary B -point will be in the intersection of two circles: the first centered in (x oi , y oi ) of radius R i (the green one in Fig. 2) and the second circle centered at the origin of radius |z 1 (t ca )| (the black one in Fig. 2).

In both cases to determine the final coordinates of B, the distance ρ i,min is used (as a limit not to cross), represented in Fig. 2 with the blue circle, which provides, on the circle with the center (x oi , y oi ) and radius R i , the point B lim . The point B lim is an intersection of a straight line initiated at the robot position and tangent to the circle centered in (x oi , y oi ) with radius ρ i,min . Finally the point B is selected on the circle of radius R i between the points B lim and B -taking a safe distance from them proportional to d max (in order to avoid the risk of being steered backward due to a disturbance). Finally, the point B = (x B , y B ) is selected on the line passing the current robot position and the point B with the condition that z 2 (x B , y B ) < δ (outside the set Υ i , green circle Fig. 2). With such a selection of the point B it is possible to achieve the avoidance and to keep, in addition, the condition ż1 (t) ≤ 0. Once the point B is defined, the control u 2 must drive the robot to this point. Thus the collision avoidance problem can be solved using a similar approach as the one in the previous subsection, replacing the origin by the point B and taking into account the additional constraint dealing with non-increasing of z 1 . Define the distance from the robot to the point B as

D B (q x , q y ) = (q x -x B ) 2 + (q y -y B ) 2 ;
in such a formulation the imposed restriction z 2 (x B , y B ) < δ becomes crucial and the point B will not be reached during the collision avoidance manoeuvre. It is important, since in the desired point the robot loses stabilizability. Define ϑ = inf (x,y)∈Υi D B (q x , q y ) the distance from the point B to the set Υ i . Let us define the angle of desired orientation of the robot towards the point B as θ g = tan -1 q y -y B q x -x B , then the deviance from the desired angle for the collision avoidance control can be defined as γ = θ g -q θ , then ḊB = -cos(γ)v(1 + d 1 ).

The expression for v is proposed as follows:

v = k 3 D B if cos(α) ≥ 0 and |γ| ≤ π 0 otherwise ,
where k 3 > 0 and 0 < < 0.5. Since this control has to be applied into the set Υ i only, then v ≥ k 3 ϑ. Due to the application and the velocities reached by the WMR setting instantly v = 0 does not represent a problem because, although it call off the considered disturbances, the deceleration from any velocity to the zero could be considered instantaneous with no loss of generality 4 . For the designed control v, a Lyapunov function W 1 (D B ) = 0.5D 2 B has the derivative (after some manipulations):

Ẇ1 ≤ -2c 2 W 1 if cos(α) ≥ 0 and |γ| ≤ π 0 otherwise , where c 2 = k 3 cos( π)(1 -d min ).
The angle γ has the following dynamics

γ = -ω(1 + d 2 ) + sin γ y B v(1 + d 1 ). ( 22
)
4 The proposed model is not intended to represent also inertia phenomena that are those one should consider in case of de abrupt deceleration from high velocity to zero Using the Lyapunov function W 2 = 0.5γ 2 we obtain:

Ẇ2 = -ωγ(1 + d 2 ) + γ sin γ y B v(1 + d 1 ).
Being ζ(γ) = max{|γ| 0.5 , |γ|}, the proposed expression for the control ω has the form:

ω = k d γ + sin γ D B v + k ca ζ(γ)sign(γ), k d > 0, k ca ≥ k 3 √ π(d max -d min )[1 + k d (1 + d max )] (1 -d min )[1 + k d (1 -d min )] (23)
+2 -3/4 η 2 1 + k d (1 + d max ) 1 -d min , η 2 > 0.
A straightforward calculation shows that

Ẇ2 ≤ -η 2 max{W 2 , W 3/4 2 },
thus, as for ( 19), an estimation for γ(t) can be provided:

|γ(t)| ≤            |γ 0 |e -0.5η2(t-tca) if t ∈ [t ca , t 3 ], √ 2[min{1, 2 -1/4 |γ 0 |} -2 -2 η 2 (t -t 3 )] 2 if t ∈ (t 3 , t 4 ], 0 if t > t 4 , (24)
t 3 = t ca + max{0, η -1 2 ln(0.5γ 2 0 )}, t 4 = t 3 + 2 -2 η -1 2 min{1, 2 -1/4 |γ 0 |},
where t ca ≥ 0 is an instant of activation of the control u 2 and γ 0 = γ(t ca ). Thus the proposed control steers the robot in a finite time to the desired orientation, indeed there exists 0 < T 2 < ∞ such that γ(t ca + T 2 ) < π for all γ ∈ [-π, π):

T 2 = η -1 1 -2 ln( ) if π ≥ 1, ln(0.5π 2 ) + 4(1 -2 -1/4 √ π) otherwise.
Following the geometric construction of the point B the inequality cos(α)| γ=0 > 0 is verified, then there is a time instant t ca ≤ t ≤ T 2 such that the conditions cos(α(t)) ≥ 0 and |γ(t)| ≤ π (involved in the control v activation) are satisfied for t ≥ t, starting from the instant t the robot starts to move without an interruption since v ≥ k 3 ϑ. Therefore, with the decreasing properties of γ, the distance D B is decreasing and admits an estimate:

D B (t) ≤ D B (t ca )e -c2(t-T2-tca) , ∀t ≥ t ca .
Since the point B is located outside the set Υ i , then there is a finite time T ca > t ca such that z 2 (T ca ) = δ, hence the collision avoiding is accomplished. It is worth to stress that it is possible to have a local increment of the regulated output z 2 due to the geometric construction of the point B. On the other hand, after a certain amount of time the output z 2 decreases with the controller v. In addition, as it has been shown above, it is not possible to steer the robot toward the obstacle, and the robot itself will not enter the circle of radius ρ i,min . The output y 1 does not increase during the collision avoiding maneuver since the constraint cos(α) ≥ 0 has been introduced in the control v (and v is positive).

The controller u 2 for the two control inputs v and ω pushes the robot in a finite time toward a point far from the obstacle, while keeping the distance y 1 . The control u 2 can be summarized as follows:

u 2 =      k 3 D B if cos(α) ≥ 0 and |γ| ≤ π 0 otherwise , ω = k d γ + sin γ D B v + k ca ζ(γ)sign(γ). (25)
The following properties have been substantiated.

Lemma 2

The system [START_REF] Kiss | A receding horizon control approach to obstacle avoidance[END_REF] with control (25) has the properties for t ca ≥ 0: 1. Uniform finite-time stability with respect to the variable γ(t) (see the estimate (24)).

2. There exists

T ca > t ca such that δ i ≤ z 2 (t) < ρ -1 i,min for all t ∈ [t ca , T ca ] and z 2 (T ca ) = δ i . 3. V1 (t) ≤ 0 for all t ∈ [t ca , T ca ].

Supervision

For commutation between the controls (21) and (25) the following supervisor is proposed:

U (t) = u i(t) [q X (t), q y (t), q θ (t)], i : R + → {1, 2} (26)
t 0 = 0, i(t 0 ) = 1 if (q x (t 0 ), q y (t 0 ) ∈ X 2 , 2 otherwise, i(t)
= i(t j ) ∀t ∈ [t j t j+1 ), i(t j+1 ) = 1 if q(t j+1 ) ∈ X 1 2 if q(t j+1 ) ∈ X 2 , ( 27
)
t j =      arg inf t≥tj {q(t) ∈ X 2 } if i(t j ) = 1 arg inf t≥tj {q(t) ∈ X 1 } if i(t j ) = 2 .
where X 1 : {(q x , q y ) ∈ R 2 : R 2 \ ∪ N j=1 Υ j } and X 2 : (q x , q y ) ∈ R 2 : R 2 \ ∪ N j=1 Ξ j , Ξ j = {(q x , q y ) ∈ R 2 : (q x -x oj ) 2 + (q y -y oj ) 2 ≤ ρ 2 i }. Thus the control u 1 is applied if z 2 < δ j and the control u 2 has to be activated if z 2 = ∆ j for some j ∈ {1, . . . , N }. The following corollary represents the main result applied to a unicycle-like WMR.

Corollary 1 Consider the system [START_REF] Kiss | A receding horizon control approach to obstacle avoidance[END_REF] with the supervisor (27) and control (26), then:

z 1 (t) ≤ z 1 (0) ∀t ≥ 0, lim t→∞ z 1 (t) = 0, z 2 (t) ≤ max{σ(∆), z 2 (0)} ∀t ≥ 0,
where ∆ = max 1≤i≤N ∆ i and σ(s) = s/(∆Y ).

Experimental Results

The presented strategy has been implemented on a Turtle-bot2 (http://www.turtlebot.com/) mobile robot. The WMR was equipped with a Hokuyo® (http://www. hokuyo-aut.jp) UTM-30LX LIDAR device. The necessary libraries to communicate with the WMR were found on Robotic Operating System (ROS), "Groovy" release (www.ros.org). An easy LIDAR based obstacle detection algorithm has been implemented to get obstacle(s)' positions (x oi , y oi ) and radius r i used to define also the values of ρ i,min = r i +0.3, ρ i = ρ i,min +0.3 and R i = ρ i + 0.35. The values of and k are equal to 1/30, the control gains are k 1 = η = 0.5 for the stabilization controller and k 3 = 1.5, k ca = 0.1 , k d = 0.05 for the collision avoidance one while d max = -d min = 0.5. Several scenarios have been tested for the presented Finite Time Obstacle Avoidance (FTOA) technique, in addition the performances have been compared with the well know DWA [START_REF] Fox | The dynamic window approach to collision avoidance[END_REF] which is included in the ROS.

The implementation of the algorithm can be divided in two main parts. Firstly, Algorithm 1 translates in pseudo-code the supervisor (27) which regulates the switching between the two controls. The if statement determines the activation of the collision avoidance control and it can be noticed that such controller is kept active until the condition in the elseif statement is verified, that is when the WMR exits the circle of radius R i . The function getbp(state,z 2 ) follows the instructions presented in Section 3.1.2 to determine the B point, while the variable Flag assures that the controller is not switched when the WMR is in the zone between ∆ i and δ i . Secondly, Algorithm 2 represents the complete proposed algorithm where firstly the laser scans are used to localize the robot in a map (getpos(laser_scan)) then to evaluate the presence of an eventual obstacle (getz_2(laser_scan)). As can be seen by analyzing the two algorithms the FTOA method is also very simple to implement requiring very few steps and, as a result, very low computational power. 4 show the different trajectories followed by the WMR using two different methods on different soil's condition. The decision to run tests on two different soils has been taken for two main reasons: firstly, to justify the choice of the perturbed model [START_REF] Kiss | A receding horizon control approach to obstacle avoidance[END_REF], then to show the robustness of the controller designed in section 3 with respect to this change. Without adapting the PID gains which translates the velocities commands in current inputs, the soil properties represent a real perturbation for the system, because for the same velocity input the WMR reacts differently following different trajectories. It can be seen how the proposed method handles these perturbations in a better way than traditional strategies producing repeatable trajectories. In Fig. 3, for a coarse soil (moquette), it can be noticed that all the trajectories generated by the FTOA are close to each other and that they change (even if not much) for the DWA. Repeating the experiment on a smooth soil (linoleum), Fig. 4, the changes in the trajectories are more clear, that it is given by the reduced friction between the wheels and the soil that caused grip issues for the WMR. Again, the FTOA method gives better results (repeatability, time spent, distance traveled) than the DWA.

The comparison between FTOA and DWA for the scenarios showed in Fig. 3 and Fig. 4, with equal maximal linear and angular velocities, based on 10 trials, showed that the FTOA can achieve the avoiding in a faster (wrt time) and shorter (wrt distance) way; detailed results are presented in Tables 1 and2.

In addition, Fig. 5 shows how the outputs behave in a typical stabilization execution from a point to the origin; the vertical black lines represent the switching instants. The data comes from an execution for the scenario shown in Fig. 3. The z 2 output (12) decreases between two successive switches and it is worth to remark

Discussion

Trying not to increase the distance from the target point (in this work the origin with any loss of generality) over the complete maneuver causes the robot having trajectories less smooth than other methods but, as it has been proven, this behavior does not worsen the overall performances. The smoothness of the trajectories can be adjusted augmenting the parameters k for (21) and for (25) that will cause a decay in the performances wrt time spent and distance traveled as it is obvious. Moreover, under the assumption to deal with the single obstacle, the proposed method has no issues related to small non-convex obstacles because of the way the collision avoidance is realized and the obstacle described, nevertheless, being a reactive (local) method, there is a high probability that it fails if the WMR is trapped in a U-shaped trap, like others local approaches. Other inconvenient could appear if the obstacle has a very long shape (a wall), that could cause an unwanted oscillatory behaviour. All the issues listed above could be solved integrating the algorithm in a global planner which gives suitable points as targets to stabilize progressively.

Conclusion and Future Work

The paper presented a switching based solution to stabilize a unicycle-like WMR, locally avoiding obstacles and rejecting disturbances due to neglected dynamics. A supervisor orchestrates two different controls to regulate two respective outputs. It has been shown how the cooperation of the two controls leads to a practically finite-time robot deployment, while the collision avoidance is always achieved in a finite time. In addition, the results of this work have been proven and tested on a real platform to show the effectiveness of the method also comparing it with a well-known method as the DWA. The presented solution treats the case of static obstacles but several experiments have been run with slow moving obstacles with preliminary results; it is in the intention of the authors to extend the results for moving obstacles. Future work will also involve the integration of the proposed strategy in a global planner as specified in Section 4.2 to overcome the limitations of the method and to relax the hypothesis of circular shaped obstacles. Moreover the introduction of perturbations to adapt the model for higher velocities will be considered.

Compliance with Ethical Standards

The authors would like to hereby certify that this manuscript contains original material and that it has not been submitted nor accepted for publication in any other journal. Moreover the authors declare that they have no conflict of interest. A previous version of this work has been presented during the 19th World Congress of the International Federation of Automatic Control, Cape Town, South Africa, 24-29 August 2014. The present manuscript, with respect to its conference version, contains a more detailed theoretical part which includes a full proof and a complete new set of experimental data on a newer and renowned platform; in addition a comparisons with a pre-existing strategy has been added.

Fig. 1

 1 Fig. 1 Definition of the angles for the Stabilization control law

Algorithm 1 Supervisor 2 FlagFlag = 1 ;

 121 Fig.3and Fig.4show the different trajectories followed by the WMR using two different methods on different soil's condition. The decision to run tests on two different soils has been taken for two main reasons: firstly, to justify the choice of the perturbed model[START_REF] Kiss | A receding horizon control approach to obstacle avoidance[END_REF], then to show the robustness of the controller designed in section 3 with respect to this change. Without adapting the PID gains which translates the velocities commands in current inputs, the soil properties represent a real perturbation for the system, because for the same velocity input the WMR reacts differently following different trajectories. It can be seen how the proposed method handles these perturbations in a better way than traditional strategies producing repeatable trajectories. In Fig.3, for a coarse soil (moquette), it can be noticed that all the trajectories generated by the FTOA are close to each other and that they change (even if not much) for the DWA. Repeating the experiment on a smooth soil (linoleum), Fig.4, the changes in the trajectories are more clear, that it is given by the reduced friction between the wheels and the soil that caused grip issues for the WMR. Again, the FTOA method gives better results (repeatability, time spent, distance traveled) than the DWA.The comparison between FTOA and DWA for the scenarios showed in Fig.3and Fig.4, with equal maximal linear and angular velocities, based on 10 trials,

Fig. 3 Fig. 4 Fig. 5

 345 Fig. 3 Left: Real scenario with coarse soil (moquette). Right: Zoom on trajectories

Table 2

 2 Comparison between FTOA method and DWA on smooth soil that z 1 output (11) never increases, not even during the collision avoidance maneuver; that is exactly how the controllers (21) and (25) overseen by the supervisor (27) should work.

A forward complete system ẋ = f (x, u, d), y = h(x) is called uniformly Output-Stable (uOS) with respect to output y and input d, if for all x 0 ∈ R n and d ∈ Ω there exists a function β ∈ KL such that |y(t, x 0 , d)| ≤ β(|h(x 0 )|, t -t 0 ) for all t ≥ t 0 .

A continuous function g : R + → R + belongs to class K if it is strictly increasing and g(0) = 0; A continuous function h : R + × R + → R + belongs to class KL, if h(•, t) ∈ K for any t ∈ R + , and h(s, •) is strictly decreasing to zero for any s ∈ R + .