José Vilca

Lounis Adouane

Youcef Mezouar

Pierre Lébraly

An Overall Control Strategy Based on Target Reaching for the Navigation of an Urban Electric Vehicle*

This paper deals with reactive and flexible humanlike autonomous vehicle navigation. A human driver reactively guides his vehicle, performing a smooth trajectory within the roads limits until reaching the defined goal. To obtain a similar behavior with an unmanned ground vehicle (UGV), this paper proposes a flexible control law to drive a vehicle towards desired static or dynamic targets based on a novel definition of control variables and Lyapunov stability analysis. Moreover, a target assignment strategy, combined with an appropriate sigmoid function, that allow to perform smooth, flexible and safe vehicle navigation through successive waypoints is presented. The stability of the proposed control strategy is proved according to Lyapunov synthesis. Simulations and experiments are performed in different cases to demonstrate the reliability and efficiency of the control strategy.

I. INTRODUCTION

In the last decades, autonomous vehicles navigation have been a complex problem of major attention for the research community. Systems capable of performing efficient and robust autonomous navigation are useful in many robotic applications such as automatic industry, personal transportation, assistance to disabled or elder people, surveillance [START_REF]Springer Handbook of Robotics[END_REF]. Even if many progress have been made, some specific technologies have to be improved for real application. In this paper, we are particularly interested in the field of the autonomous navigation of vehicles in an urban environment (cf. Fig. 1). This field allows to improve the transport systems for the reduction of traffic and pollution in large cities, among others. Different strategies in this field have been proposed in the literature [START_REF] Adouane | Mobile robot navigation in cluttered environment using reactive elliptic trajectories[END_REF], [START_REF] Gu | On-road motion planning for autonomous vehicles[END_REF]. The most popular approaches are based on the following of a pre-defined reference trajectory. These approaches deal with three main groups: point stabilization (to reach a specific point with a certain orientation), trajectory tracking (to track a time parameterized references) and path following (to follow a path without explicit temporal references). For these approaches, the reference path can be defined by a combination of path planning and trajectory generation techniques [START_REF] Lavalle | Planning Algorithms[END_REF].

Point stabilization for nonholonomic vehicle is a difficult problem of control system since the asymptotic stability of the system can not be guaranteed by a continuous statefeedback law [START_REF] Brockett | Asymptotic stability and feedback stabilization[END_REF]. Some works deal with this problem using the chained representation of the system [START_REF] Luca | Feedback control of a nonholonomic car-like robot[END_REF] FirstName.Lastname@univ-bpclermont.fr Autonomous navigation of an electrical vehicle in an urban environment (Clermont-Ferrand, France).

stability method [START_REF] Pourboghrat | Exponential stabilization of nonholonomic mobile robots[END_REF]. Nevertheless, the described approaches are applied only for point stabilization.

Different control methods for trajectory tracking and path following applied to wheeled mobile robots (unicycle, carlike robot, etc.) have been proposed in the literature [START_REF] Adouane | Mobile robot navigation in cluttered environment using reactive elliptic trajectories[END_REF], [START_REF] Fang | Trajectory tracking control of farm vehicles in presence of sliding[END_REF], [START_REF] Blazic | Four-state trajectory-tracking control law for wheeled mobile robots[END_REF] and [START_REF] Pesterev | Stabilizing control for a wheeled robot following a curvilinear path[END_REF]. In [START_REF] Blazic | Four-state trajectory-tracking control law for wheeled mobile robots[END_REF], [START_REF] Vilca | Reactive navigation of a mobile robot using elliptic trajectories and effective online obstacle detection[END_REF] and [START_REF] Kanayama | A stable tracking control method for an autonomous mobile robot[END_REF], nonlinear control laws for trajectory tracking are synthesized for a unicycle robot using the Lyapunov stability analysis. The used Lyapunov functions are based only on the distance and orientation errors. A trajectory tracking control for a farm vehicle integrating sliding in the kinematic model is proposed in [START_REF] Fang | Trajectory tracking control of farm vehicles in presence of sliding[END_REF]. For path following problem, a control law for a tricycle robot is proposed in [START_REF] Pesterev | Stabilizing control for a wheeled robot following a curvilinear path[END_REF] and [START_REF] Samson | Control of chained systems. application to path following and time-varying point-stabilization of mobile robots[END_REF]. It is based on feedback linearization and system transformation to chained form representation [START_REF] Laumond | La Robotique Mobile[END_REF]. Smoother convergence to desired path is achieved, in comparison with the performance obtained with trajectory tracking controllers. Nevertheless, the vehicle velocity tracks a desired velocity profile, while the path following controller acts only on the orientation to drive it towards the path.

Typically, to generate a reference path which must to be tracked by the vehicle, arc-lines, B-splines or a polynomial equation are used between points [START_REF] Horst | Trajectory generation for an on-road autonomous vehicle[END_REF], [START_REF] Connors | Manipulating b-spline based paths for obstacle avoidance in autonomous ground vehicles[END_REF] and [START_REF] Lee | A unified framework of the automated lane centering/changing control for motion smoothness adaptation[END_REF]. In [START_REF] Gu | On-road motion planning for autonomous vehicles[END_REF] a feasible path is obtained using a polynomial curvature spiral. In [START_REF] Courbon | Autonomous navigation of vehicles from a visual memory using a generic camera model[END_REF] straights line paths, defined by the position and orientation of a single waypoint, are considered. In this case, the orientation of the previous waypoint is not taken into account to simplify the implementation of the control law. This work proposes a navigation strategy which avoids the generation of a defined trajectory. The vehicle movements are obtained according to the proposed control law while considering sequential waypoints to reach and the vehicle constraints. The vehicle can perform different ma-neuvers between points without the necessity of replanning any reference trajectory. This strategy allows to perform a flexible navigation taking into account the waypoints suitably positioned in the environment.

In this work, a control law based on a novel definition of control variables and Lyapunov function is proposed. This function is based on the error distance, orientation and a new parameter related to the angle between the robot and the target position. The synthesized control law is deduced for point stabilization and trajectory tracking problem. Furthermore, a target assignment strategy is proposed to perform autonomous navigation through pre-defined waypoints. Consequently, the overall control strategy can also be exploited to achieve (static or dynamic) target-reaching.

The rest of the paper is organized as follows: the next section presents the problem description. Section III details the vehicle and target models, the proposed control law and its stability analysis. Section IV describes the target assignment strategy and the smooth switching between the targets. Simulation and experimental results are given in Section V. Finally, Section VI states the conclusion and future works.

II. PROBLEM DESCRIPTION

An important challenge in the field of autonomous vehicles consists of ensuring safe and flexible navigation in a structured environment (cf. Fig. 1 and9). In this work, safe navigation consists in not colliding with the road limits and objects while respecting the vehicles physical constraints. Flexible navigation consists in allowing different maneuvers while guaranteeing a smooth trajectory. The considered scenario (cf. Fig. 9) is described below:

• The structured environment is a known road map where the roads have a specific width w R . • The vehicle model (kinematic) is supposed known.

• The vehicle starts at the initial position P i and it has to reach the final position P f . A safe reference path can be obtained by different algorithms such as Voronoï diagram [START_REF] Latombe | Robot Motion Planning[END_REF]. In our case, this path is used to select defined points (waypoints). Therefore, the navigation problem is simplified to a waypoints tracking problem, i.e, the vehicle is guided by the waypoints (cf. Fig. 3) instead of following a specific fixed path. A single waypoint, defined by its position, orientation and velocity, is called a target. The control law to achieve the target is designed to generate a smooth and flexible vehicle navigation. Moreover, if the successive waypoints are close to each other then the vehicle performs a path following (cf. Section IV).

III. TARGET-REACHING CONTROL

The control strategy consists in driving an urban vehicle (cf. Fig. 1) towards specific target configuration (static or dynamic). The scenario is in an urban environment, thus the vehicle motion is low speed (less than 3 m/s) on asphalt road. Therefore, kinematic model of the vehicle relies on pure rolling, and dynamic effects and slippage are negligible.

A. Vehicle and target modeling

The kinematic model of the urban vehicle is based on the well-known tricycle model [START_REF] Luca | Feedback control of a nonholonomic car-like robot[END_REF]. The two front wheels are replaced by a single virtual wheel located at the center between the front wheels. It is given below (cf. Fig. 2)

   ẋ = v cos(θ) ẏ = v sin(θ) θ = v tan(γ)/l b (1)
To simplify the controller computation and to use the general model of robot motion, let us consider a dynamic target as a point with nonholonomic constraints (cf. Fig. 2).

Its kinematic is given by:

   ẋT = v T cos(θ T ) ẏT = v T sin(θ T ) θT = ω T (2)
where ω T is the angular velocity of the target. The radius of curvature is computed by r c T = v T /ω T . An important consideration for target-reaching is that v T ≤ v max and r c T ≥ r cmin , where v max and r cmin are respectively the maximum linear velocity and the minimum radius of curvature of the vehicle. For the static target-reaching, ω T is considered equal to zero and v T is a desired velocity value for the vehicle when it reaches the desired posture (x T , y T , θ T ).

B. Control Law

Before to present the proposed control law, let us introduce the error variables. The errors (e x , e y , e θ ) are given by:

   e x = cos(θ)(x T -x) + sin(θ)(y T -y) e y = -sin(θ)(x T -x) + cos(θ)(y T -y) e θ = θ T -θ (3)
In this paper, a new error function e RT is added to the canonical error system (3) (cf. Fig. 2). Let us first give the expression of d and θ RT as (cf. Fig. 2):

d = (x T -x) 2 + (y T -y) 2 (4) θ RT = arctan ((y T -y)/(x T -x)) if d > ξ θ RT = θ T if d ≤ ξ (5)
where ξ is a small positive value (ξ ≈ 0). The error e RT is defined as (cf. Fig. 2):

e RT = θ T -θ RT (6)
It can be written as a function of e x , e y and e θ as:

tan(e RT ) = tan(e θ -(θ RT -θ)) = tan(e θ ) -tan(θ RT -θ) 1 + tan(e θ ) tan(θ RT -θ) = e
x tan(e θ ) -e y e x + tan(e θ )e y [START_REF] Pourboghrat | Exponential stabilization of nonholonomic mobile robots[END_REF] where tan(θ RT -θ) = e y /e x (cf. Fig. 2). The derivatives of the errors ( 3) and ( 6) can be obtained using ( 1), ( 2), ( 5) and ( 4):

ėx = cos(θ)( ẋT -ẋ) + sin(θ)( ẏT -ẏ) -sin(θ)(x T -x) θ + cos(θ)(y T -y) θ = -v + e y θ + v T cos(θ T ) cos(θ) + v T sin(θ T ) sin(θ) = -v + e y v tan(γ)/l b + v T cos(e θ ) (8) ėy = -sin(θ)( ẋT -ẋ) + cos(θ)( ẏT -ẏ) -cos(θ)(x T -x) θ -sin(θ)(y T -y) θ = -e x θ -v T cos(θ T ) sin(θ) + v T sin(θ T ) cos(θ) = -e x v tan(γ)/l b + v T sin(e θ ) (9)
ėθ = θT - θ = v T r c T -v tan(γ)/l b (10) ėRT = θT -θRT = v T r c T - v T sin(θ T )(x T -x) -v T cos(θ T )(y T -y) d 2 - -v sin(θ)(x T -x) + v cos(θ)(y T -y) d 2 = v T r c T - v T e x sin(e θ ) d 2 + v T e y cos(e θ ) d 2 - e y v d 2 (11)
The control law to reach a target (static or dynamic) is obtained using Lyapunov stability analysis framework. The desired linear velocity v and the front wheel orientation γ of the vehicle that make the errors (e x , e y , e θ ) converge to zero can be chosen as:

v = v T cos(e θ ) + v b (12) γ = arctan(l b c c ) (13)
where v b and c c are given by:

v b =K x (K d e x + K l d sin(e RT ) sin(e θ ) + K o sin(e θ )c c ) (14)
c c = 1 r c T cos(e θ ) + d 2 K l sin(e RT ) cos(e RT ) r c T K o sin(e θ ) cos(e θ ) + K θ tan(e θ ) + K d e y -K l d sin(e RT ) cos(e θ ) K o cos(e θ ) + K RT sin 2 (e RT ) sin(e θ ) cos(e θ ) (15)
where

K = (K d , K l , K o , K x , K RT , K θ
) is a vector of positive constants which must be defined by the designer. These constants can depend on the initial configuration such as initial distance (reference values are given in Section V) to adapt the performance of controller for different initial configurations. We observed that v b is a function of posture error and the curvature command c c . It allows to manage the linear velocity when the vehicle has a great curvature according to e θ . Moreover, c c depends mainly on the error posture.

C. Stability analysis

This stability analysis based on Lyapunov method is used to determine the convergence of the vehicle to the target posture, i.e., for a finite time, the error system (e x , e y , e θ ) converges to zero [START_REF] Khalil | Nonlinear Systems[END_REF]. Let us first define the Lyapunov function V by [START_REF] Connors | Manipulating b-spline based paths for obstacle avoidance in autonomous ground vehicles[END_REF]. It is a function of three parameters which depend on: the distance d between the target and vehicle positions, the distance d l from the vehicle to the target line (line that pass through the target position with orientation equal to the target orientation), this term is related to the Line of Sight and Flight of the target [START_REF] Siouris | Missile Guidance and Control Systems[END_REF], and the orientation error e θ between the vehicle and the target (cf. Fig. 2). It is represented by:

V = 1 2 K d d 2 + 1 2 K l d 2 l + K o [1 -cos(e θ )] = 1 2 K d d 2 + 1 2 K l d 2 sin 2 (e RT ) + K o [1 -cos(e θ )] (16)
where the initial values of e RT and e θ satisfy:

e RT ∈ ] -π/2, π/2[ and e θ ∈ ] -π/2, π/2[ ( 17
)
These conditions [START_REF] Lee | A unified framework of the automated lane centering/changing control for motion smoothness adaptation[END_REF] guarantee that the target is ahead to the vehicle w.r.t. its orientation. Moreover, [START_REF] Lee | A unified framework of the automated lane centering/changing control for motion smoothness adaptation[END_REF] has open interval that allows to avoid local minimum. Therefore, V is a positive-definite function [START_REF] Khalil | Nonlinear Systems[END_REF].

The Lyapunov function ( 16) can be written according to e x , e y as follows:

V = 1 2 e 2 x + e 2 y [K d + K l sin 2 (e RT )] + K o [1 -cos(e θ )] (18)
To guarantee the system stability, V has to be negativedefinite [START_REF] Khalil | Nonlinear Systems[END_REF]. By taking the derivate of (18) and using ( 8), ( 9), ( 10), ( 11), ( 12) and ( 13), V can be written:

V =(e x ėx + e y ėy )[K d + K l sin 2 (e RT )] + K l d 2 sin(e RT ) cos(e RT ) ėRT + K o sin(e θ ) ėθ =[-e x v b + v T e y sin(e θ )][K d + K l sin 2 (e RT )] +K l sin(e RT ) cos(e RT ) d 2 v T r c T -v T e x sin(e θ ) -e y v b +K o sin(e θ ) v T r c T -v T cos(e θ )c c -v b c c (19)
Using [START_REF] Pourboghrat | Exponential stabilization of nonholonomic mobile robots[END_REF] in the first two terms of ( 19) and factorizing the common terms, it holds that:

V =v T sin(e θ )[K d e y -K l d sin(e RT ) cos(e θ )] + v T r c T [d 2 K l sin(e RT )
Finally, using ( 14) and ( 15) in [START_REF] Khalil | Nonlinear Systems[END_REF], we obtain:

V = -K x [K d e x + K l d sin(e RT ) sin(e θ ) + K o sin(e θ )c c ] 2 -v T K o K θ sin 2 (e θ ) -v T K o K RT sin 2 (e RT ) ≤ 0 (21)
Eq. ( 21) shows that the system is stable while the initial conditions [START_REF] Lee | A unified framework of the automated lane centering/changing control for motion smoothness adaptation[END_REF] are satisfied. To ensure the asymptotic stability of the error system, V has to be a negative-definite function. Let us exhibit the case where V = 0 with v T > 0 and v T = 0. Firstly, when v T > 0 and using the initial assumption K > 0, it is straightforward to show that e x , e θ , e RT are equal to zero to satisfy [START_REF] Siouris | Missile Guidance and Control Systems[END_REF], then according to (6), ( 5) and [START_REF] Lee | A unified framework of the automated lane centering/changing control for motion smoothness adaptation[END_REF] d is equal to zero (e y = 0). Hence, V is equal to zero when v T > 0, only if (e x , e y , e θ ) = (0, 0, 0).

Secondly, let us consider the case where v T = 0. The initial assumption is identical. Hence, the second and third terms of ( 21) are equal to zero when v T = 0. Additionally, when v T = 0, we consider that r c T → ∞, consequently the first term of V is equal to zero when:

K d e x + K l d
Using ( 7) in (23), we obtain:

K d d cos(e RT ) cos(e θ ) + K o K θ sin 2 (e θ ) cos(e θ ) + K o K RT sin 2 (e RT )
cos(e θ ) = 0

(24) Eq. ( 24) exhibits quadratic terms. Consequently, considering the initial conditions [START_REF] Lee | A unified framework of the automated lane centering/changing control for motion smoothness adaptation[END_REF], cos(e RT ) and cos(e θ ) > 0 are greater than zero. Therefore, all the terms of (24) are positive and they must be equal to zero, i.e., d, e θ , e RT = 0, and if d = 0 then e x , e y = 0. Hence, from (24), V is equal to zero when v T = 0 and r c T → ∞, only if (e x , e y , e θ ) = (0, 0, 0).

Conclusively, if v T > 0 and v T = 0, V is always strictly positive and V is always strictly negative while (e x , e y , e θ ) = (0, 0, 0). Therefore, the errors system is asymptotically stable while the initial vehicle conditions [START_REF] Lee | A unified framework of the automated lane centering/changing control for motion smoothness adaptation[END_REF] are satisfied.

IV. SMOOTH NAVIGATION THROUGH SEQUENTIAL TARGETS

This section shows the strategy to navigate through successive waypoints (targets) and the method applied on the controller variables to guarantee smooth navigation between the targets, specifically when the switches occur.

A. Sequential target assignment

The proposed strategy uses a sequence of sorted waypoints suitably located in the environment. For safe navigation, the line that joins two successive waypoints is in the freecollision area (cf. Fig. 3). The method to select the optimal number of waypoints (target set-point (x Tj , y Tj , θ Tj , v Tj )) in order to perform safe vehicle navigation will be addressed in future works. In this paper, we consider for simplicity that the waypoints are uniformly positioned in the skeleton of the Voronoï diagram of the known environment. Safe navigation between waypoints is guaranteed by imposing E dist and E angle (cf. Fig. 3) which allow to guide the vehicle to reach the assigned current target T j with an appropriate conditions to reach the next target T j+1 .

The strategy to assign the next target is shown in Algorithm 1. The parameters of the control law allow to the vehicle to reach each target (cf. Section V) while ensuring that the vehicle trajectory is always inside the road limits (cf. Fig. 3).

The current target T j = (x Tj , y Tj ) is defined by the following parameters: D j the distance between the last target T j-1 = (x Tj-1 , y Tj-1 ) and the current target T j ; θ Tj the

B. Smooth switching between targets

The idea here is to obtain a smooth evolution of the errors avoiding discontinuities in the control law (which could induce jerking in the vehicle movement). Indeed, when the vehicle switches from target e.g., T j to T j+1 , the value of controller variables C v = (e x , e y , e θ , e RT , v T , r c T ) can change abruptly (cf. Subsection V-A). In this work, we propose to avoid this hard switch by introducing a virtual evolution of this control variables for a certain amount of movement distance d s (smoothness distance) without disturbing the safe navigation. This distance depends on initial distance (% of d i ) separating the robot and T j+1 .

A Sigmoid function is applied to the controller variables C v along of d s . The new Smooth Virtual Controller variables (SVC v ) are designed according to the covered distance d c = d i -d, where d is the current distance to the current target (cf. Fig. 4). The SVC v function is given by:

SVC v (d c ) = C vi + (C v -C vi ) 1 + e -a(dc-d0) (26)
where C vi and C v are respectively the initial and current values of the controller variables. For example, for e x , an element of C v , when the target switches from T j to T j+1 , e xi is the value before to switch to T j+1 and e x is the current error w.r.t. the target T j+1 ; d 0 is the value where the function has a half of its current value and a is a constant value related to the slope of the sigmoid function. It is designed to attain the effective value (SVC v ≈ C v ) when d c = d s (cf. Fig. 4).

V. VALIDATION

This section presents simulations and experiments to demonstrate the efficiency of the control law for targetreaching (static and dynamic) and autonomous navigation in structured environment. The physical parameters of the urban vehicle VIPALAB, modeled using the tricycle kinematics, were considered (cf. Section III).

A. Simulation results

This section shows, in simulation, the performance (safety, smoothness and convergence) of the control law to reach a desired target (static or dynamic) located at different distances. For each simulation the vehicle starts at the same configuration but with different values of target velocities. to the target). These parameters were chosen to obtain a safe and smooth trajectory, fast response and velocity value within the limit of the vehicle, which are v max = 1.5 m/s and r cmin = 3.8 m (γ max = ±19 • ). It is noted that the vehicle converges to each target (static and dynamic), located in different positions and with different set of velocities. The dynamic target starts its movement when the vehicle reaches the last static target T 6 .

Fig. 6 shows the values of errors d and e θ for the different targets to reach. For static targets (T i , i = 1, . . . , 6), the obtained values of errors just before to switch from target T i to T i+1 are shown. For dynamic target, the evolution of d(t) and e θ (t) during all tracking phase are shown. It is observed that the distance and orientation errors of static targets depend on initial configuration (distance and orientation). The errors increase when the static targets are closer. Moreover, for static targets where the profile velocity is the desired vehicle velocity at target position, the different profiles velocities have similar errors. It occurs in static target because the proposed control law (angle steering) relies only on the dynamic of posture errors between the vehicle and the static target (cf. eqs. ( 13) and ( 15)) (the target velocity is a set-point for the vehicle when it reaches the target posture (cf. eq. ( 12)) and the controller parameters K are tunning according to same initial distance d i to the target. Obviously, for dynamic target, the small target profile velocity has a faster convergence to zero.

The convergence of the Lyapunov function ( 16) is shown in Fig. 7 (cf. Subsection III-C) when the vehicle starts at the same initial position but with different initial orientations to the target T 1 and while taking v T = 1.0 m/s.

The use of Sigmoid function is observed in the vehicle commands (velocity and steering angle) (cf. Fig. 8) for the static target with profile velocity of v T = 0.5. It is noted that the Sigmoid function contributes to avoid peaks at the transition time and to obtain thus smooth vehicle commands while maintaining the stability of the control.

B. Experimental results

The experiment was made to show the performance of the control law and target assigment strategy using the waypoints sampling of the defined reference trajectory at each 1 m. This selected distance guarantees that the line between two successive waypoints does not collide with the road limits. Hence, the controller parameters K are constants.

Our strategy was implemented in the VIPALAB urban vehicle (cf. Fig. 9 It can be seen in Fig. 10 that the vehicle follows the waypoints successfully. Moreover, the trajectory using the proposed strategy is close to the reference path (Fig. 10 and11). Fig. 11 shows that the errors w.r.t. reference trajectory are greater when the vehicle moves to a curve in the path. Fig. 12 shows the commands sent to the vehicle and the real values taken from the vehicle of the velocity and steering angle. It is noted that the real values have noise signals that are related to the sensor inaccuracies. The video enclosed to this paper shows the performance of this experiment.

VI. CONCLUSION

This paper presented an overall control strategy to cope with the problem of navigation in a structured environment. A control law was synthesized using a suitable Lyapunov function, which takes into account the position, angle between the robot and the target and orientation such as setpoints. Moreover, it allows to perform the target-reaching (static and dynamic). The stability of the overall control architecture was proved using a suitable Lyapunov function based on the new set of variables. A target assignment strategy to perform a safe navigation was also presented. It is based on the target switching using waypoints and sigmoid function that allow to obtain a smooth, flexible and safe vehicle trajectory. Simulations and experiments using real urban vehicle show the efficiency and the flexibility of the proposed control strategy for the navigation of an urban vehicle.

In future works, we will show the advantages of the proposed overall control strategy in comparison to other approaches. The optimal selection of waypoints (minimum number of waypoints) in a reference path to perform safer and smoother trajectory will be proposed. The error limits E dis and E angle will consider the inaccuracies of the vehicle sensors. Moreover, this strategy will be applied to multi-robot system for a virtual structure approach.

  or a transformation in the robot kinematics and the Lyapunov *This work was supported by the French National Research Agency (ANR) through the Safeplatoon and R-Discover projects J. Vilca, L. Adouane, Y. Mezouar and P. Lébraly are with Institut Pascal, Blaise Pascal University -UMR CNRS 6602, Clermont-Ferrand, France

Fig. 1 .

 1 Fig. 1.Autonomous navigation of an electrical vehicle in an urban environment (Clermont-Ferrand, France).

Fig. 2 .

 2 Fig. 2. Vehicle and target configuration in a Cartesian reference frame and the error variables.

  cos(e RT ) + K o sin(e θ )] -v b [K d e x + K l d sin(e RT ) sin(e θ ) + K o sin(e θ )c c ] -v T K o sin(e θ ) cos(e θ )c c

  sin(e RT ) sin(e θ ) + K o sin(e θ )c c = 0 (22) Replacing (15) with r c T → ∞ in (22), the following expression is obtained: 0 =K d e x + K l d sin(e RT ) sin(e θ ) + tan(e θ )[K d e y -K l d sin(e RT ) cos(e θ )] + K o sin(e θ ) K θ tan(e θ ) + K RT sin 2 (e RT ) sin(e θ ) cos(e θ ) =K d [e x + e y tan(e θ )] + K o K θ sin 2 (e θ ) cos(e θ ) + K o K RT sin 2 (e RT ) cos(e θ )

Fig. 3 . 1 :θ

 31 Fig. 3. Description of waypoints and the target assignment.

Fig. 4 .

 4 Fig. 4. Evolution of the SVCv used to ensure smooth control when the target switching occurs.

Fig. 5 Fig. 5 .

 55 Fig. 5. Trajectories of the vehicle for several target velocities.

Fig. 6 .Fig. 7 .

 67 Fig. 6. Distance and orientation errors of vehicle for several target velocities.

Fig. 8 .

 8 Fig. 8. Control commands with and without adaptive Sigmoid (SVCv) use.

  (a)). The dimensions of the vehicle are 1.27 m (width), 1.96 m (length) and 2.11 m (height). This vehicle is embedded with different sensors to obtain information about the environment and the vehicle such as

Fig. 9 .Cu rv e 4 C u r v e 5 Fig. 10 .

 94510 Fig. 9. (a) VIPALAB electric urban vehicle, (b) PAVIN experimental platform, (c) Top view of the virtual PAVIN.

Fig. 11 .

 11 Fig. 11. Lateral distance and orientation errors of the vehicle w.r.t. the line link the current target and the last one (real experiment).

Fig. 12 .

 12 Fig. 12. Control commands of the vehicle (real experiment).


José Miguel Vilca

Lounis Adouane

Youcef Mezouar

On-line Obstacle Detection using Data Range for Reactive Obstacle Avoidance

Keywords: Mobile robot navigation, Obstacle detection and avoidance, Telemetry, Parameter identification, Least square

. The main contribution proposed here is to perform this navigation in a completely reactive way while using only range sensor data. At this aim, each obstacle to avoid is surrounded by an ellipse and its parameters are obtained online while using the sequential range data and appropriate method to identify the enclosed ellipse. Different methods to obtain these ellipse parameters are presented and implemented. A specific criterion is taken into account to obtain always smooth change in these parameters. A large number of simulations permit to show the efficiency of our proposal for the navigation in cluttered environment.

Introduction

An important issue for successful mobile robot navigation is obstacle avoidance. In fact, this function permits to prevent robot collision and insure thus robot safety. One area of research in obstacle avoidance is focused on reactive methods, where only local sensors information is used rather than a prior knowledge of the environment [START_REF] Egerstedt | A hybrid control approach to action coordination for mobile robots[END_REF], [START_REF] Toibero | Switching control of mobile robots for autonomous navigation in unknown environments[END_REF], [START_REF] Adouane | Hybrid and safe control architecture for mobile robot navigation[END_REF]. In [START_REF] Khatib | Real-time obstacle avoidance for manipulators and mobile robots[END_REF], the author proposes a real-time obstacle avoidance approach based on the principle of artificial potential fields. In this work, it is assumed that the robot actions are guided by the sum of attractive and repulsive fields.

Several other approaches can be found in the literature, such as the obstacle avoidance based on orbital trajectories. This approach is described by circular limit-cycle differential equations [START_REF] Kim | A real-time limit-cycle navigation method for fast mobile robots and its application to robot soccer[END_REF], [START_REF] Jie | Real time obstacle avoidance for mobile robot using limit-cycle and vector field method[END_REF] and [START_REF] Adouane | Orbital obstacle avoidance algorithm for reliable and on-line mobile robot navigation[END_REF]. Our work uses elliptical trajectories that was presented in [START_REF] Adouane | Mobile robot navigation in cluttered environment using reactive elliptic trajectories[END_REF]. Therefore, more generic and efficient obstacle avoidance is performed and this even with different obstacle shapes, for instance long walls. In fact, an ellipse fit better this kind of obstacles than a circle.

For this purpose, different techniques have been proposed in the literature to enclose the data with an ellipse [START_REF] Zhang | Parameter estimation techniques: A tutorial with application to conic fitting[END_REF], [START_REF] Welzl | Smallest enclosing disks (balls and ellipsoids)[END_REF] and [START_REF] De Maesschalck | The mahalanobis distance[END_REF]. In [START_REF] Zhang | Parameter estimation techniques: A tutorial with application to conic fitting[END_REF], the author presents a summary of the methods to fit a set of data with an ellipse. The presented methods are the least square fitting based on algebraic and Euclidean distance, Kalman filtering method and robust 1 estimation. In [START_REF] Welzl | Smallest enclosing disks (balls and ellipsoids)[END_REF], the author proposed a technique to obtain the smallest enclosing ellipse by a set of data improving thus the Welzl's algorithm [START_REF] Welzl | Smallest enclosing disks (balls and ellipsoids)[END_REF] with linear increasing time with regards to data dimension. In [START_REF] De Maesschalck | The mahalanobis distance[END_REF] the authors constructed an ellipse using the mean and covariance of the data and the Mahalanobis distance to analyze the relationship among them. The maximum Mahalanobis distance is used for different purposes, namely for detection of outliers and for investigating the representativity between two data sets. This work proposes an on-line heuristic method based on the distance between the data to compute the parameters of ellipse.

The rest of the paper is organized as follows: in the next section, the task of navigation using elliptic trajectories is presented. In section 3, the details of the control architecture are introduced and obstacle avoidance algorithm is given. Section 4 presents the methods for enclosing the range data with an ellipse. Simulation results are given in section 5. Finally, conclusion and future works are given in section 6.

NAVIGATION IN CLUTTERED ENVIRONMENT

First, let us assume that the obstacle O can be surrounded by elliptical box (cf. Fig. 1). The elliptical shape is represented by its Cartesian form:

(x -h) 2 / a 2 + (y -k) 2 / b 2 = 1 (1)
where (h, k) ∈ ℜ 2 are the ellipse center coordinates and a, b ∈ ℜ + are the semi-axes with a ≥ b.

In section 4, it will be shown how the ellipse parameters can be efficiently computed from range data. Let us also represents the robot and the target by circles C R and C T of radius R R and R T respectively (cf. Fig. 1). One can define:

1. D RO as the minimal distance between the robot and the obstacle "O" [START_REF] Eberly | Distance from a point to an ellipse in 2d[END_REF]. 2. Ellipse of influence (E f ) as an ellipse that has the same center (h, k) and tilt angle Ω as the ellipse which surround the obstacle (1) while its major (minor) semi-axis is a lc (b lc ) are defined as follows

a lc = a + R R + Margin b lc = b + R R + Margin
where Margin represents safety tolerances encapsuling: perception uncertainties, control reliability and accuracy. 3. "l" as the line passing through the center of C R and C T . As we will see in the sequel, our method only needs to know if it exists intersection points between l and E f (cf. Fig. 1).

The objective of this navigation task in cluttered environment is to lead a mobile robot towards a specific target in an unstructured environment. This task must be achieved while avoiding static and dynamic obstacles O which can have different shapes. In this work, we consider that the cluttered environment has only static obstacles. Furthermore, the presence of dynamic obstacles will be developed in future work.

Fig. 1 The used perceptions for mobile robot navigation.

Fig. 2 Robot configuration in a Cartesian reference frame.

CONTROL ARCHITECTURE

The used control structure is based on [START_REF] Adouane | Mobile robot navigation in cluttered environment using reactive elliptic trajectories[END_REF] (cf. Fig. 3). It aims to manage the interactions between elementary controllers while guaranteeing the stability of the overall control as proposed in [START_REF] Adouane | Hybrid and safe control architecture for mobile robot navigation[END_REF]. Its objective is also to insure safe, smooth and fast robot navigation. The specific blocks composing the global controller are detailed below. This control architecture uses a hierarchical action selection mechanism to manage the switches between the controllers, according to environment perception. It has a mechanism that activates the obstacle avoidance controller as soon as it exists at least one obstacle which can obstruct the future robot movement toward its target [START_REF] Adouane | Orbital obstacle avoidance algorithm for reliable and on-line mobile robot navigation[END_REF]. This permits to anticipate the activation of obstacle avoidance controller unlike what is proposed in [START_REF] Brooks | A robust layered control system for a mobile robot[END_REF] or [START_REF] Adouane | Behavioral and distributed control architecture of control for minimalist mobile robots[END_REF], which wait until the robot is in the immediate vicinity of the obstacle (i.e. D RO ≤ R "a certain radius value").

Before describing each elementary controller, let us briefly recall the kinematic model of an unicycle robot (cf. Fig. 2)

  ẋ ẏ θ   =   cos(θ ) 0 sin(θ ) 0 0 1   v ω (2)
where x, y, θ are configuration state of the unicycle at the point O m , v and ω are respectively, the linear and angular velocity of the robot at the point O m .

The attraction to target controller guides the robot toward the target. This controller is based on the control position of the robot to the target. In this paper, we focus on the obstacle avoidance controller, more details about attraction to target controller are given in [START_REF] Benzerrouk | Lyapunov global stability for a reactive mobile robot navigation in presence of obstacles[END_REF].

Obstacle avoidance controller

To perform the obstacle avoidance behavior, the robot needs to follow accurately limitcycle trajectories as what is given in [START_REF] Kim | A real-time limit-cycle navigation method for fast mobile robots and its application to robot soccer[END_REF] and [START_REF] Adouane | Orbital obstacle avoidance algorithm for reliable and on-line mobile robot navigation[END_REF]. In these works authors use a circular limit-cycle characterized by a circle of influence of R I radius. In [START_REF] Adouane | Mobile robot navigation in cluttered environment using reactive elliptic trajectories[END_REF], it is proposed to extend this methodology for more flexible limit-cycle shape (an ellipse). The main ideas of this controller are detailed below.

The differential equations giving elliptic limit-cycles are:

ẋs = my s + x s (1 -x 2 s /a lc 2 -y 2 s /b lc 2 -cx s y s ) (3) ẏs = -mx s + y s (1 -x 2 s /a lc 2 -y 2 s /b lc 2 -cx s y s ) (4)
with m = ±1 according to the direction of avoidance (clockwise or counter-clockwise, cf. Fig. 4). (x s , y s ) corresponds to the position of the robot according to the center of the ellipse; a lc and b lc characterize respectively major and minor elliptic semi-axis (cf. Fig. 1); c if = 0 gives the Ω ellipse angle.

-3 -2 -1 0 1 2 3 -3 -2 -1 0 1 2 3 x s y s -3 -2 -1 0 1 2 3 -3 -2 -1 0 1 2 3
x s y s Fig. 4 Clockwise and counter-clockwise shape for the elliptic limit-cycles.

The algorithm for obstacle avoidance is summarized in the following main steps:

• The nearest hindering obstacle is detected, • The direction of avoidance is chosen according to the position of the robot with regards to the position of obstacle and the target, • The robot avoids the obstacle while following an elliptic limit cycle which has the semi-axes a lc and b lc , with a lc ≥ b lc .

More details of the used obstacle avoidance algorithm is given in [START_REF] Adouane | Mobile robot navigation in cluttered environment using reactive elliptic trajectories[END_REF].

The desired robot orientation is thus given by the differential equation of the limitcycle (3) and (4) as:

θ d = arctg ( ẏs / ẋs ) (5)
and the error by: θ = θ dθ (6)

Control law

The used control law is expressed as follows [START_REF] Benzerrouk | Lyapunov global stability for a reactive mobile robot navigation in presence of obstacles[END_REF]:

v = v max e -1/d cos( θ ) (7)
ω = ω r + K p θ (8)
where v max is the maximum linear velocity, K p is a constant such that K p > 0 and if the obstacle avoidance controller is activated, d is equal to D RO (cf. Fig. 1) else d is the distance between the robot and the target when the attraction to the target controller is activated. The robot reaches the target when 0 < d ≤ R T , where R T is the radius of the target (cf. Fig. 1).

It is interesting to notice that only one control law is applied to the robot even if its architecture of control contains two different controllers. Only the set points change according to the applied controller [START_REF] Benzerrouk | Lyapunov global stability for a reactive mobile robot navigation in presence of obstacles[END_REF].

ENCLOSING DATA RANGE WITH AN ELLIPSE

During the robot movement, it is important for the robot to detect on-line and to avoid the hinder obstacle. The robot will try to surround the observed range data with the closest ellipse to apply elliptic limit-cycle approach.

For this purpose, let us consider a set of n points in ℜ 2 with coordinates P i (x i , y i ) (cf. Fig. 5). These points are computed from the data range of the robot, and it is considered that it was previously filtered, i.e, without noisy and outliers. In this section, it will be shown how to compute the ellipse that encloses all points. An important condition in this work is that the methods need to start at least with three different points. This paper considers that the robot detects one obstacle at a time. The segmentation method of the set of points will be used in future works to the detection of more than one obstacle at a time and for big obstacles.

Y X O P (x , y ) i i i

The following sub-sections will present different methods to enclose the data points with an ellipse. Sub-sections 4.1 and 4.2 are applied and (more or less) modified approach with regards to what is proposed in the literature and the method given in subsection 4.3 is a completely new approach to deal with this problem.

Fitting using least square approach

This approach uses the general conic equation which is given by:

f (x, y) = Ax 2 + 2Bxy +Cy 2 + 2Dx + 2Ey + F = 0 (9)
According to the real constants A, B, C, D, E anf F, we obtain the analytic equation of the different kind of conics (parabola, ellipse and hyperbole). An ellipse is defined if the conic parameters (9) satisfy the following condition B 2 -AC < 0. The problem is to fit a conic section (9) with a set of n points {p i } = {(x i , y i )} | i = 1, . . . , n. As the data are noisy, it is unlikely to find a set of parameters (A, B,C, D, E, F) (except for the trivial solution

A = B = C = D = E = F = 0) such that f (x i , y i ) = 0.
Instead, we will try to estimate them by minimizing some objective function J.

A common practice is to minimize the algebraic distance f (x i , y i ), we use the leastsquare fitting based on algebraic distance [START_REF] Zhang | Parameter estimation techniques: A tutorial with application to conic fitting[END_REF] to minimize the following function:

J = n ∑ i=1 f 2 (x i , y i ) (10)
Note that there is no justification for using algebraic distance apart from easy implementation. To avoid the trivial solution, f (x i , y i ) should be normalized. We use the normalization A +C = 1 because it is one of the most popular methods proposed in the literature [START_REF] Zhang | Parameter estimation techniques: A tutorial with application to conic fitting[END_REF], and its implementation is easy.

Using the normalization in ( 9), the set of equation f (x i , y i ) can be written as:

f i ≡ a i s -b i = 0 ( 11
)
where

s = [A, B, D, E, F] T , a i = [x 2 i -y 2 i , 2x i y i , 2x i , 2y i , 1] and b i = -y 2 i .
The solution that minimize the functional J is given by

s = (A T A) -1 A T b (12)
where

A = [a 1 , a 2 , . . . , a n ] T and b = [b 1 , b 2 , . . . , b n ] T .
This method is known as the pseudo inverse technique.

Covariance approach

This method is based on the analysis of the relationship between the n points. We use the covariance of the data and the Mahalanobis Distance (MD) [START_REF] De Maesschalck | The mahalanobis distance[END_REF]. In the field of multivariate calibration, the MD is used for different purposes, namely: for the detection of outliers, the selection of calibration samples from a large set of measurements and for investigating the representativity between two data sets. In the original variable space, the MD takes into account the correlation in the data, since it is calculated using the inverse of the covariance matrix of the data set of interest. The principle of covariance approach is given below: First the covariance matrix C x is constructed:

C x = 1 (n -1) (X c ) T (X c ), (13)
where X c is the column-centered data matrix (X -X). X is the data matrix containing n objects in the rows measured for p variables and X is the data mean. Now, we analyze the covariance matrix C x using the eigenvalues and eigenvectors to obtain the parameters of the ellipse f (x , y ) (1). Furthermore, we use the Mahalanobis distance to select the dimension of the semi-axes (percentage the data inside the ellipse) [START_REF] De Maesschalck | The mahalanobis distance[END_REF]. The eigenvalues λ 1 , λ 2 (λ 1 > λ 2 ) are related to the semi-axes a and b as follows:

a = MD max √ λ 1 b = MD max √ λ 2 (14)
where MD max is the maximum Mahalanobis distance to ensure that all the set of data is enclosed by the ellipse. The eigenvectors v 1 , v 2 are related with the orientation Ω .

Ω = arctan (v 2 /v 1 ) (15)
The center of the ellipse is the mean of the data X and the maximum semi-axes a is the direction where there are the most important amounts of data.

Heuristic approach

The proposed heuristic approach uses the distance between the points to obtain one of the axes. This method computes the distance between all the points d i j = p ip j with i, j = 1, . . . , n; and select the maximum distance d max . We have thus, d i j ≤ d max . With this manner, this maximum distance is not decreasing. The line connecting the corresponding two points (the points with the maximum distance) is one of the ellipses axes, where the ellipse center C O is the middle point between the points with maximum distances and the first semi-axes is a 1 = d max /2. Now, we work in the new coordinates system X Y to obtain the second ellipse semiaxes a 2 . We transform the n points to new coordinates system using (16).

P i = cos(Ω ) sin(Ω ) -sin(Ω ) cos(Ω ) (P i -C O ) (16)
Where Ω is the orientation of the line between the two points that have the maximum distance. P i (x i , y i ) is the coordinate in the new system, P i (x i , y i ) is the coordinate in the initial system and C O is the coordinate of the ellipse center in the initial system. If the coordinate y i of the points is greater than the threshold ε > 0, we compute the distance of P i to the origin O , i.e., |y i | > ε ⇒ d i = P i . The threshold is used to eliminate the points that are collinear with the two points that have the maximum distance (axes).

We know that all points inside the ellipse have the distance d i < max {a 1 , a 2 }. As we do not know the spatial distribution of the set of points and to ensure that all the points are inside the ellipse, we choose that a 2 = max {b i }, where b i is the computed semi-axes using P i in [START_REF] Adouane | Hybrid and safe control architecture for mobile robot navigation[END_REF]. In other words, b i ≤ a 2 ≤ max {a 1 , a 2 } ⇒ P i ∈ Ellipse. Therefore, the ellipse will enclose all points without regard of the obstacle shape.

Finally, we obtain the semi-axes of the ellipse (1) such as:

a = max {a 1 , a 2 } b = min {a 1 , a 2 } (17)

SIMULATIONS RESULTS

To demonstrate the efficiency of the proposed approach to enclosing the obstacle with the ellipse, a two statistical survey was made. We consider a mobile robot with a radius of R R = 0.5 m and a α = 180 • laser range sensor with the maximum detected range is equal to D Lmax = 3.0 m (cf. Fig. 5). The maximum linear velocity of the robot is 1.5 m/s and the sample time is 0.01 s. For each simulation the robot starts at the same configuration and reaches the same final configuration. We do not start to use any method until we have the enough data range n data ≥ 3. The first survey is used to compare the methods presented above to identify the closer ellipse shape which surround the detected obstacle (cf. section 4). Fig. 6 shows the identified ellipse parameters using the different methods. We observe that the heuristic parameters change more smoothly if they are compared with the others. The second survey is used to make a focus only around the proposed heuristic method which gives satisfactory results and this while making an on-line navigation in cluttered environment (cf. Fig 10).

Fig. 10 shows the trajectory of the robot in the environment with three obstacles. We observe that the robot avoid the obstacles with a smooth trajectory. This trajectory was obtained while using the on-line obstacle avoidance algorithm [START_REF] Adouane | Mobile robot navigation in cluttered environment using reactive elliptic trajectories[END_REF] which takes its parameters (elliptical limit-cycle to follows) from the proposed heuristic approach.

Fig. 11 shows the distance between the optimal ellipse (obtained while knowing all the range data which surround the obstacle) and the position of the robot (red dotted line), and the distance between the ellipse using the heuristic method and the robot. This figure shows that the robot does never collide with any obstacles, thus the proposed on-line approaches is efficient to deal with cluttered unstructured environment. Future work will consist to implement this approach in real robots.

CONCLUSION

This paper proposes an on-line elliptic limit-cycle trajectory to perform smooth and safe mobile robot navigation. This elliptic trajectory is obtained while using only local range data. The later, permits to obtain the parameters of the ellipse which surround the obstacle to avoid. After giving a review of different methods to enclosing an ellipse, an appropriate heuristic method was proposed and compared to the existing approaches (based on least square or covariance). The proposed heuristic permits to obtain a smooth changes of the ellipse parameters. The overall obstacle avoidance strategy permits us to obtain generic and flexible navigation in very cluttered environments. The proposed reactive navigation was embedded in multi-controller architecture and permits for a mobile robot to efficiently navigate in environments with different obstacles In future works, the problem of dynamic obstacles, outliers detection and uncertainty of the range data will be considered. Furthermore, we will use the Kalman filter to deal with the uncertainty of the range data.

Fig. 3

 3 Fig. 3 Control architecture for mobile robot navigation.

Fig. 5

 5 Fig. 5 Data set of n points.

Fig. 6

 6 Fig. 6 Parameter of the estimated ellipses.

Fig. 7 ,

 7 Fig.7, 8, 9 shows the evolution of the identified ellipse for the least square, covariance and heuristic methods, respectively. We observe that the least square method and covariance change abruptly.

Fig. 7

 7 Fig.7Evolution of the obtained ellipse using least square approach.

Fig. 8

 8 Fig.8Evolution of the ellipse using covariance approach.

Fig. 9

 9 Fig.9Evolution of the ellipse using heuristic approach.

Fig. 10

 10 Fig. 10 Robot trajectory using the heuristic approach to enclosing the obstacle.

Fig. 11

 11 Fig.11Distance from the robot to the optimal ellipse and to on-line estimated ellipse using the heuristic approach.


Lounis Adouane
email: lounis.adouane@univ-bpclermont.fr

Toward Smooth and Stable Reactive Mobile Robot Navigation using On-line Control Set-points

This paper deals with the challenging issue of online mobile robot navigation in cluttered environment. Indeed, it is considered in this work, a mobile robot discovering the environment during its navigation, it should thus, to react to unexpected events (e.g., obstacles to avoid) while guaranteeing to reach its objective. Nevertheless, in addition to avoid safely and on-line these obstacles, it is proposed to enhance the smoothness of the obtained robot trajectories. Otherwise, to quantify this smoothness, suitable indicators were used. Specifically, this paper proposes to appropriately link on-line set-points defined using elliptic limit-cycle trajectories with a multi-controller architecture which guarantees the stability (according to Lyapunov synthesis) and the smoothness of the switch between controllers. Moreover, a comparison between fully reactive mode (the aim of this paper) and planned mode is given through the proposed control architecture which could exhibits the two aspects. Many simulations in cluttered environments permit to confirm the reliability and the robustness of the overall proposed reactive control.

Controller 1 (F 1 ) . . .

I. INTRODUCTION

Among the main challenges to obtain a fully autonomous mobile robot navigation, is the ability for the robot to react on-line to unpredictable events encountered in its environment. The asked question is thus how to navigate toward a goal in a cluttered environment when obstacles are discovered in real time? [START_REF] Minguez | Handbook of Robotics, chap. Motion Planning and Obstacle Avoidance[END_REF]. Nevertheless, it is not sufficient to avoid these obstacles. In fact, robot should also guarantee a smooth navigation [START_REF] Fleury | Primitives for smoothing mobile robot trajectories[END_REF] for the comfort, for example of the passengers. In [START_REF] Gulati | A framework for characterization and planning of safe, comfortable, and customizable motion of assistive mobile robots[END_REF], the author characterizes this smooth navigation while using a cost functional J that reflects the trade-off between the travel time and the integral of acceleration (which characterizes the amount of jerking of angular and linear robot velocity). All these criterion are concatenated in one and modulated by weights which give thus the priority for each one.

To obtain on-line, accurate, flexible and reliable navigation, one part of the literature in this domain considers that the robot is fully actuated with no control bound and focuses the attention on path planning and re-planning. Voronoï diagrams and visibility graphs [START_REF] Latombe | Robot Motion Planning[END_REF], navigation functions [START_REF] Rimon | Exact robot navigation using artficial potential flelds[END_REF] or planning based grid checking and trajectory generation [START_REF] Pivtoraiko | Fast and feasible deliberative motion planner for dynamic environments[END_REF] are among these road-map-based methods. However, the other part of the literature considers that to control a robot with the above criterion, it is essential to accurately take into *This work was supported by the French National Research Agency (ANR) through the Safeplatoon project. account: robot structural constraints (e.g., nonholonomy); avoid command discontinuities and set-point jerk, etc. Our proposed control architecture is linked to this last approach, thus where the control stability is rigorously demonstrated.

It is commonly used in the literature a pre-planned reference trajectory, which means that it was appropriately planned or selected before robot movement [START_REF] Morin | Control of nonholonomic mobile robots based on the transverse function approach[END_REF]. However, in real motion conditions where the environment can to be very cluttered and with high dynamic, these methods could not be very efficient due, among others, to time consuming to obtain the new re-planed trajectory [START_REF] Minguez | Handbook of Robotics, chap. Motion Planning and Obstacle Avoidance[END_REF]. Otherwise, a large class of model-based techniques use optimization to choose between a set of admissible trajectories [START_REF] Brock | High-speed navigation using the global dynamic window approach[END_REF], [START_REF] Ogren | A convergent dynamic window approach to obstacle avoidance[END_REF]. In the proposed paper, it is defined a fully reactive mobile robot navigation. Indeed, at each sample time, the robot should follows defined set-points, according to local robot perceptions and objectives.

To guarantee multi-objective criteria, control architectures can be elaborated in a modular and bottom-up way as introduced in [START_REF] Brooks | A robust layered control system for a mobile robot[END_REF] and so-called behavioral architectures [START_REF] Arkin | Behavior-Based Robotics[END_REF]. These techniques are based on the concept that a robot can achieve a complex global task while using only the coordination of several elementary behaviors. In fact, to tackle this complexity, behavioral control architecture decompose the global controller into a set of elementary behavior/controller (e.g., attraction to the objective, obstacle avoidance, trajectory following, etc.) to master better the overall robot behavior. Moreover, it is considered in a lot of studies the investigation of the potentialities of the hybrid systems controllers [START_REF] Zefran | Design of switching controllers for systems with changing dynamics[END_REF] to provide a formal framework to demonstrate the robustness and the stability of such architecture. In their most simple description, hybrid systems are dynamical systems modeled as a finite state automaton. These states correspond to a continuous dynamic evolution, and the transitions can be enabled by particular conditions reached by the continuous part. This formalism permits a rigorous automatic control analysis of the performances of the control architecture [START_REF] Branicky | Multiple lyapunov functions and other analysis tools for switched and hybrid systems[END_REF].

Among controllers which can make up a behavioral control architecture, obstacle avoidance controllers play a large role to achieve autonomously and safely the navigation of mobile robots in a cluttered and unstructured environments. An interesting overview of obstacle avoidance methods is accurately given in [START_REF] Minguez | Handbook of Robotics, chap. Motion Planning and Obstacle Avoidance[END_REF]. The proposed control architecture integrates obstacle avoidance method which uses limit-cycle vector field [START_REF] Khalil | Frequency domain analysis of feedback systems[END_REF], [START_REF] Kim | A real-time limit-cycle navigation method for fast mobile robots and its application to robot soccer[END_REF], [START_REF] Adouane | Orbital obstacle avoidance algorithm for reliable and on-line mobile robot navigation[END_REF]. Moreover, it introduces an adap-Path Planning for known environment The rest of the paper is organized as follows. Section II gives the specificities of the proposed control architecture. In section III, the control architecture is applied to the task of navigation in the presence of obstacles. It presents the model of the considered robot and the different modules constituting the proposed control architecture. Section IV deals with safety mode mechanism. Section V is devoted to the description and analysis of the simulation results. This paper ends with some conclusions and further work.

Sensors information

II. CONTROL ARCHITECTURE

The proposed control architecture (cf. Figure 1) is dedicated for the general framework of the navigation of mobile robots in cluttered environments. It permits to manage the interactions between different elementary controllers while guaranteeing the stability and the smoothness of the overall control. Moreover, a specific "safety mode" is proposed in section IV to avoid undesirable robot behaviors (oscillations, abrupt movement, etc.). The robot can therefore have very smooth trajectories while guaranteeing safe obstacle avoidance. The specific blocks composing this generic overall control architecture are detailed below. In section III a concrete control architecture applied for a real task is given.

A. Path planning for known environment

This path planner (and re-planner) block is activated only if the entire mission is well known or when the navigation is achieved in relatively low dynamic environment. The aim of the proposed paper is to make the focus only around reactive mobile robot navigation (where the environment is discovered on-line). Therefore, the used path planner and its interaction with low level control are not addressed here. This part of the control was studied in [START_REF] Mouad | Mobile robot navigation and obstacles avoidance based on planning and re-planning algorithm[END_REF] and will be the subject of a future developments.

B. Set-points blocks

These blocks, which have as input the perceptions P i , are responsible to give for each dedicated controller block (e.g., obstacle avoidance, target to reach, etc.) the set-points useful for its working (e.g., for attraction to target controller, the relative position of the target to reach).

C. Controllers blocks

Every controller F i is characterized by a stable nominal law which is represented by the function:

F i (S i , t) = η i (S i , t) (1)
with S i is the set-point sent to the controller "i". Otherwise, in order to avoid the important controls jumps at the time for example of the switch between controllers (e.g., from the controller "j" toward the controller "i" at the instant t 0 ), an adaptation of the nominal law is proposed, F i becomes thus:

F i (S i , t) = η i (S i , t) + G i (S i , t) (2)
with G i (S i , t) (cf. Equation 3) is a strictly monotonous function that tends to zero after a certain amount of time "T = H i (P i , S i )". The value of this time depends on the criticality of the controller i to join as quickly as possible the nominal law η i (S i , t). It constitutes thus the controller safety mode (cf. Section IV for a specific example for obstacle avoidance controller).

G i (S i , t 0 ) = F j (S j , t 0 -∆t) -η i (S i , t 0 ) (3)
where ∆t represents the sampling time between two control set-points and t 0 is the time of abrupt change in S i .

The definition of G i (S i , t) allows to guarantee that the control law (cf. Equation 2) tends toward the nominal control law after a certain time T , thus:

G i (S i , T ) = ε (4)
Where ε very small constant value ≈ 0. The adaptive function G i (S i , t) is updated by the "Parameters adaptation" block every time a hard control switch concerning the "i" controller occurs (cf. Section II-D) (cf. Figure 1). The main challenge introduced by this kind of control is to guarantee the stability of the updated control law (cf. Equation 2) even during the period where |G i (S i , t)| ε.

D. Parameters adaptation block

This block has as input the "conditional block" (cf. Figure 1) that verifies if specific control switch event occurs. So, if it is the case then it must update "Adaptive Function" corresponding to the future active controller (cf. Equation 3). The different configurations which need the activation of parameters adaptation block are given below:

1) When a controller which should be active at the current "t" instant is different than the one which was active at the "t-∆ t" instant, 2) When an abrupt transition in the set-points S i of the controller i is encountered.

III. NAVIGATION IN PRESENCE OF OBSTACLES TASK

The navigation in a cluttered environment aims here to lead the robot to reach a target-position while avoiding obstacles (cf. Figure 2). The robot movement needs to be fast and smooth while avoiding statical and dynamical obstacles which could have different shapes.

One supposes in the setup that robot and obstacles are surrounded by respectively cylindrical and elliptical boxes (cf. Figure 2). The cylindrical box (the robot) is characterized by R R radius and elliptical boxes (obstacles) are given by:

a(x -h) 2 + b(y -k) 2 + c(x -h)(y -k) = 1 (5)
With:

• h, k ∈ R, give the coordinate of the center of the ellipse,

• a ∈ R + , permits to give the half length A = 1/ √ a of the longer side (major axis) of the ellipse, • b ∈ R + , permits to give the half length B = 1/ √ b of the shorter side (minor axis) of the ellipse (thus b > a), • c ∈ R, permits to give the ellipse orientation Ω = 0.5arctan(c/(b -a)) (cf. Figure 2). When a = b equation 5 becomes a circle equation (Ω will do not gives thus any more information). The choice of ellipse box rather than circle as used in [START_REF] Kim | A real-time limit-cycle navigation method for fast mobile robots and its application to robot soccer[END_REF], [START_REF] Jie | Real time obstacle avoidance for mobile robot using limit-cycle and vector field method[END_REF] or [START_REF] Adouane | Orbital obstacle avoidance algorithm for reliable and on-line mobile robot navigation[END_REF] is to have one more generic and flexible mean to surround and fit accurately different kind of obstacles shapes (specifically longitudinal shapes [START_REF] Adouane | Mobile robot navigation in cluttered environment using reactive elliptic trajectories[END_REF]).

The surrounded ellipse parameters (h, k, A, B and Ω) (cf. equation 5 and figure 2) can be obtained on-line, while using an appropriate weighted least square method on the data range given by the robot infrared sensors [START_REF] Vilca | On-line obstacle detection using data range for reactive obstacle avoidance[END_REF]. An extension of this approach while using Extended Kalman Filter and an appropriate heuristic is given in [START_REF] Vilca | Robust on-line obstacle detection using data range for reactive navigation[END_REF].

A. Mobile robot model

Before proposing appropriate elementary controllers to achieve the considered task, it is important to know the robot model. Its model is given by the well known kinetic model of a unicycle robot (cf. Figure 2): With x, y, θ correspond to configuration state of the unicycle and v and w correspond respectively to linear and angular velocity of the robot at the point "P t ". Knowing the model of the robot as well as the task to achieve, we present below the controller of Attraction to the target and the Obstacle avoidance which are necessary to the mobile robot navigation in cluttered environment. In section III-C the control law used for the two controllers is presented.

ξ =    ẋ ẏ θ    =   cos θ 0 sin θ 0 0 1   v w (6) m O x y  A X A Y A O m X m Y Pt Ellipse of influence i Obstacle i Target (x T , y T ) Robot D ROi R R R T (l) 2A 2B Ω O obs D OEi
B. The used controllers 1) Attraction to the target controller: This controller leads the robot toward the target to reach. This target is represented by a circle of (x T , y T ) center and R T radius (cf. Figure 2).

2) Obstacle avoidance controller: The objective of this controller is to avoid obstacles which hinder the robot movement toward the target. In what follows we will give only few details about the overall obstacle avoidance algorithm in order to make more the focus on the proposed mechanisms of control which can guarantee at the same time: the stability and the smoothness of the switch between controllers. More details about the proposed obstacle avoidance algorithm are given in [START_REF] Adouane | Orbital obstacle avoidance algorithm for reliable and on-line mobile robot navigation[END_REF] and [START_REF] Adouane | Mobile robot navigation in cluttered environment using reactive elliptic trajectories[END_REF].

To implement the obstacle avoidance behavior, limitcycles was used [START_REF] Khalil | Frequency domain analysis of feedback systems[END_REF], [START_REF] Adouane | Orbital obstacle avoidance algorithm for reliable and on-line mobile robot navigation[END_REF]. The differential equations giving elliptic limit-cycles are:

• For the clockwise trajectory motion (cf. Figure 3(a)):

ẋs = y s + x s (1 -x 2 s /A 2 lc -y 2 s /B 2 lc -cx s y s ) ẏs = -x s + y s (1 -x 2 s /A 2 lc -y 2 s /B 2 lc -cx s y s ) (7)
• For the counter-clockwise trajectory motion (cf. Figure 3(b)):

ẋs = -y s + x s (1 -x 2 s /A 2 lc -y 2 s /B 2 lc -cx s y s ) ẏs = x s + y s (1 -x 2 s /A 2 lc -y 2 s /B 2 lc -cx s y s ) (8)
where s , y s ) corresponds to the position of the robot according to the center of the ellipse; A lc and B lc characterize respectively major and minor elliptic axis (cf. Figure 2); c if = 0 gives the Ω ellipse angle (cf. Section III).

Figure 3 shows that the ellipse of a major axis = 2A lc = 4 and of minor axis = 2B lc = 2 is a periodic orbit. This periodic orbit is called a limit-cycle [START_REF] Khalil | Frequency domain analysis of feedback systems[END_REF]. Figure 3(a) and 3(b) show the shape of equations ( 7) and ( 8) respectively. They show the direction of trajectories (clockwise or counterclockwise) according to (x s , y s ) axis. The trajectories from all points (x s , y s ) of X, Y reference frame, including inside the ellipse, move towards the ellipse.

Summarily, the obstacle avoidance algorithm used in the paper follow these steps [START_REF] Adouane | Mobile robot navigation in cluttered environment using reactive elliptic trajectories[END_REF]:

• Detect the most disturbing obstacle which avoids the robot to reach the target, i.e., it is enough here to know if it exists an intersect points between the line "l" and the Ellipse of influence (cf. Figure 2). In fact, it is defined for each perceived obstacle an Ellipse of influence which has the following features:

-The same center (h, k) and tilt angle Ω as the ellipse which surround the obstacle, -The value of its major axis is 2A lc with A lc = A + R R + Margin, -The value of its minor axis is 2B lc with B lc = B + R R + Margin. Where Margin corresponds to a safety tolerance which includes: perception uncertainty, control reliability and accuracy, etc.

• According to the relative position of the robot with regard to the disturbing obstacle and to the target to reach, the direction of avoidance (clockwise or counterclockwise) is taken, • The robot passes after by two steps, go into the orbit of the obstacle i to avoid (Attractive phase) and after go out the orbit of the obstacle i (Repulsive phase).

C. The used control law

To make a focus specifically around the efficiency of the proposed adaptive control mechanism a simple control law is used:

v = v max e -Kv/d cos(θ e ) (9a)
w = θd + K p θ e (9b)
where v max is the robot maximum linear velocity, K v and K p are constant values ∈ R + . and d is the distance between the robot and the target when the attraction to the target controller is activated, and d is equal to D ROi (cf. Figure 2) if the obstacle avoidance is activated. The robot reaches the target when 0 < d ≤ R T (cf. Figure 2). θ e is the angular error given by:

θ e = θ d -θ (10)
The desired robot orientation θ d is given according the following two cases:

1)

θ d = arctan( y T -y x T -x ) (11)
Where (x, y) and (x T , y T ) correspond respectively to the position of the robot and the target (cf. Figure 2) in the case of the activation of attraction to the target controller. 2) and it is equal to:

θ d = arctan( ẏs ẋs ) (12)
Where ẋs and ẏs are given by differential equation of the limit-cycle ( 7) or ( 8)) in the case of the activation of obstacle avoidance controller.

It is interesting to note that only one control law is applied to the robot even if its control architecture contains two (or more) different controllers. Only the set-points change according to the applied controller.

In what follows, a study is given to use the adaptive control mechanism on the nominal angular control law (9b). While using (9b), it is straightforward to demonstrate that the evolution of θe will be given by:

θe = -K p θ e ( 13
)
To guarantee the right transition between controllers as described in section (II-C), the modification of the controller law must be done, it becomes thus:

w = θd + K p θ e + G(t) (14)
where G(t) the adaptive function. θe = θdθ will be given now by: θe

= -K p θ e -G(t) (15)
Let's consider the following Lyapunov function

V = 1 2 θ 2 e ( 16
)
V is equal then to θ e θe = -K p θ 2 e -G(t)θ e . To guarantee that the proposed controller is asymptotically stable, we must always have V < 0, thus:

K p > - G(t) θ e ( 17
)
Where G(t) is a function chosen with respect to the constraints given in sections (II-C and II-D) and to the fact that it decreases more quickly to zero than θ e .

D. Hierarchical action selection block

The proposed control architecture uses a hierarchical action selection mechanism to manage the switch, between two or even more controllers, according to environment perception. Obstacle avoidance strategy is integrated in a more global multi-controller architecture. Otherwise, the controllers' activations are achieved in a reactive way as in [START_REF] Brooks | A robust layered control system for a mobile robot[END_REF]. The proposed algorithm 1 activates the obstacle avoidance controller as soon as it exists at least one obstacle which can obstruct the future robot movement toward its target.

if It exists at least one constrained obstacle {i.e., it exists at least one intersect point between the line "l" and the ellipse of influence (cf. Figure 2

E. Parameters adaptation block

In the applied navigation task, the "conditional" block activate the "parameters adaptation" block (cf. Figure 1) when at least one of the following switch events occurs:

• the "Hierarchical action selection" block chose to switch from one controller to another, • the "obstacle avoidance" algorithm chose another obstacle to avoid, • the "obstacle avoidance" controller switch from attractive phase to the repulsive phase (cf. Section III-B.2).

IV. OBSTACLE AVOIDANCE SAFETY MODE

The adaptive function G(t) (cf. Equation 14) permits mainly to obtain smooth control when a switch event occurs. However, during "T " time (cf. Section II-C) the obstacle avoidance controller is far from its nominal law (given when G(t) = 0) and the robot can collide with obstacles. Therefore, to insure the smoothness of the control without neglecting the robot safety, G will be parameterized according to the robot-obstacle distance "d = D ROi " (cf. Figure 2), G becomes thus:

G(t, d) = Ae Bt (18)
Where:

• A value of the control difference between the control at the instants "t -∆t" and "t" (cf. Equation 3),

• B = log ε / |A| / T (d) with:
ε very small constant value ≈ 0 (cf. Equation 4),

-    T (d) = Tmax if d > DOEi T (d) = c.d + e if DOEi ≥ d ≥ DOEi -p.M argin T (d) = ε if d < DOEi -p.

M argin

Where: -D OEi corresponds to the distance Obstacle-Ellipse of Influence (cf. Figure 2), -M argin defined in sub-section III-B.2, -p positive constant < 1 which allows to adapt the maximum distance "d" where the adaptive function must be resetting to zero. As small as p is, more the priority is given to the safety behavior instead to the smoothness of controllers switch, -c = T max /p.M argin e = T max (1 -D OEi /p.M argin) Therefore, T (d) goes from T max until 0 while following a linear decrease. If the robot is out of D OEi than T = T max and decrease linearly to become 0 when d < D OEi -(p.M argin). This function permits thus, when d < D OEi -(p.M argin), to remove completely the effect of adaptive control (which promote the smoothness of control) and insures thus the complete safety of the robot navigation.

V. SIMULATION RESULTS

In this section, many simulations on different robot configurations and cluttered environments will permits to confirm the reliability and the robustness of the proposed control architecture (cf. Figure 1). Figure 4 shows the smoothness of the obtained robot trajectories. It shows also the clockwise and counter-clockwise obstacle avoidance using on-line setpoint based elliptic limit-cycle. In figure 4(a), it is showed the tracks of "limit-cycle planned path", which is not really followed by the robot, in fact, at each sample time, the robot computes the new control set-points given by equations [START_REF] Fleury | Primitives for smoothing mobile robot trajectories[END_REF] and [START_REF] Gulati | A framework for characterization and planning of safe, comfortable, and customizable motion of assistive mobile robots[END_REF]. The showed planned track corresponds to the limitcycle path obtained the first time that the robot see the obstacle to avoid, this trajectory do not take into account the robot constraints, e.g., its nonholonomy (cf. Equation 6).

Figures 5 (c) and (d) shows respectively the progress of v and w robot velocities when the adaptive functions are used (cf. Equation 3). These controls are thus less abrupt and smoother than those obtained without adaptive functions (cf. Figures 5 (a) and (b)). In addition, to demonstrate the real smoothness enhancement of the obtained trajectories, a statistical survey was made while doing a large number of simulations in different cluttered environments and with for each one, a navigation with and without adaptive function is performed. We did specifically 1000 simulations with every time, 10 obstacles with different random positions in the environment (cf. figure 4(b) for an example of trajectory). Otherwise, to quantify the smoothness of the obtained robot trajectories [START_REF] Fleury | Primitives for smoothing mobile robot trajectories[END_REF], [START_REF] Gulati | A framework for characterization and planning of safe, comfortable, and customizable motion of assistive mobile robots[END_REF], it is proposed to use these two indicators:

I v = T T 0 | v|dt (19)
and

I w = T T 0 | ẇ|dt (20)
Where v and ẇ correspond respectively to linear and angular robot acceleration, and T T is the necessary time, for the robot, to reach the target. According to these indicators we can observe a significant gain in the smoothness of v and w controls which are equal respectively to 30% and 35%.

Robot trajectory

Obstacles

Field of vision

Ellipse of influence

The second step of simulations permits to demonstrate the relevance of the proposed safety mode, especially when the robot navigates very close to obstacles. Figure 6 shows the case where obstacle avoidance controller apply or not the safety mode (cf. Section IV). When it do not apply it, the robot hit the obstacle (cf. Figure 6(a)). Figures 7 (a) and (b) give the evolution of adaptive functions when the safety mode is applied. We observe in these figures that the maximal time T max to achieve the interpolation (=3s in the simulation (cf. Section IV)) decreases every time that the robot moves dangerously closer to the obstacle (cf. Figure 6(b)). Figure 7(c) shows that the overall proposed structure of control is always stable even when the adaptive safety mode is applied.

The two peaks shown in Figure 7(c) correspond respectively to the phase of the attraction toward the elliptic limitcycle and the repulsion from this one. The applied algorithm is accurately explained in [START_REF] Adouane | Orbital obstacle avoidance algorithm for reliable and on-line mobile robot navigation[END_REF] and [START_REF] Adouane | Mobile robot navigation in cluttered environment using reactive elliptic trajectories[END_REF].

VI. CONCLUSION AND FURTHER WORK

This paper proposes to link, on-line control set-points using elliptic limit-cycle trajectories and a multi-mode control architecture which uses an adaptive mechanism to guarantee at the same time, the stability (according to Lyapunov synthesis) and the smoothness of the switch between controllers. Therefore, in addition to safe robot navigation, the robot trajectories become also smoother. Otherwise, appropriate indicators are used to quantify the trajectories smoothness. Moreover, to obtain safer robot navigation, an appropriate safety mode is proposed and experimented in cluttered environment. Many simulations confirm the reliability and the robustness of the proposed control architecture. Future works aim, first to apply this control architecture in real robots and secondly, to propose control architecture which find the right balance between reactive and cognitive aspects (planned).

Fig. 1 .

 1 Fig. 1. The proposed hybrid control architecture for mobile robot navigation

Fig. 2 .

 2 Fig. 2. Robot pose and the used perceptions for the navigation.

Fig. 3 .

 3 Fig.3. Shape possibilities for the used elliptic limit-cycles for different initial conditions (x 0 , y 0 ).

Fig. 4 .

 4 Fig. 4. Some smooth robot trajectories obtained with the proposed on-line control architecture.

Fig. 5 .

 5 Fig. 5. Adaptive Function (AF) influence on the v and w robot velocities (cf. Section III-C).

Fig. 6 .

 6 Fig.6. Robot trajectories with and without safety mode.

Fig. 7 .

 7 Fig. 7. Adaptive Functions (AF) with Safety Mode (SM) and Lyapunov function evolution.