Guillaume Blanc
email: gblanc@lasmea.univ-bpclermont.fr

Jérôme Roblet

Youcef Mezouar

Philippe Martinet Lasmea

Blaise Pascal

Control Assistance of a Mobile Robot Navigating into an Encumbered Environment

This paper describes and illustrates the theoretical framework of an original obstacle avoidance module which aims to assist the robot guidance while navigating into a cluttered environment. This module, called CAM (Control Assistance Module) corrects the control inputs from a navigation module according to local observations, extracted from range data given by embedded sensors. It aims to warrant the robot security but keeps on taking into account the control orders from the navigation module, in order to satisfy the navigation task for the best. The obstacle avoidance approach is inspired by a reflex avoidance method, which consists on preserving a virtual zone around the robot. In an original way, when an obstacle enters into this virtual zone, the CAM plans dynamicly a judicious path to be followed to keep the zone intact. Avoidance control orders are then computed and merged with navigation orders by the CAM, according to a simple rule which privileges the robot's security. The CAM has been implemented and validated on a cart-like mobile robot, equipped with a sonar sensors belt. It also has been put on the test when the robot was teleoperated into an unknown environment for exploration.

Obstacles to navigation

Whether a mobile robot uses an internal representation of its environment or not, the navigation strategy that it applies can not ignored the risk to meet an unknown obstacle on its way while performing a navigation task. If such an event happens, the robot has to react for the best. On one hand it must preserve its security. On the other hand, it has to perform its main task.

On the environment representation

If the robot navigates according to a geometric map, which models the free space as a subset of the configuration space, it is then possible to simply describe obstacles by their configuration into the map.

In this context, the first classical approach to obstacle avoidance is to deal with it as a path planning problem, taking into account geometric constraints [START_REF] Laumond | Robot motion planning and control, volume 229, chapter Guidelines in nonholonomic motion planning[END_REF]. A SLAM (Simultaneous Localization And Mapping) based environment mapping may be usefull to deal with dynamic obstacles and to accordingly plan an adequate path for a given task. The second main approach consists in confering on the robot a reflex behavior without explicitly planning any geometric path or trajectory. Typically, it can be done by assigning a repulsive potential field to obstacles [START_REF] Khatib | Real time obstacle avoidance for manipulators and mobile robots[END_REF][START_REF] Barraquand | Numerical potential field techniques for robot path planning[END_REF]. This potential field maps the configuration space. When the robot comes closer to an obstacle, it is under a force which constraints it to move off. In the case of sensor based approaches of navigation, which do not necessarily refer to an absolute geometric representation, this force can be computed as the image of the estimated distance from the robot to the obstacle by a function which models the potential field. No geometric model of the obstacle is a priori required. The robot avoids it according to a sensor based reflex behavior.

Sensor based approaches

Generally, a sensor based approach consits in mapping the robot control inputs with sensor observations through a behavior model. Works inspired by neurosciences used to base this model on an artificial neural network [START_REF] Braitenberg | Vehicles: Experiments in Synthetic Psychology[END_REF][START_REF] Filliat | Evolution of neural controllers for locomotion and obstacle avoidance in a 6-legged robot[END_REF]. More classical approaches of robotics would rather use sensor based control formalism, proposed in [START_REF] Samson | Robot Control : The Task Function Approach[END_REF]. Although this formalism has been highly used in mobile robotics, the nonholonomy of most of them complicates the use of it. The induced kinematic constraints may not allow the robot to execute instantaneously every motion, which may be lead an avoidance task to end in failure. This issue is elegantly addressed by Zapata et al with the DVZ approach (Deformable Virtual Zone) [START_REF] Zapata | Reactive behaviors of fast mobile robots[END_REF]. This consists in surrounding the robot with a virtual zone which can be deformed depending on two modes. The first one is called controlled mode. The shape of the zone is modified according to the internal state of the robot. The second mode is the uncontrolled mode of deformation. When an obstacle tries to come into the zone, it deforms its shape, as it was made of a supple membrane. The controls are computed in order to minimize this uncontrolled deformation. The approach proposed in the sequel of this article is inspired by this formalism.

Navigation framework

This paper focuses on an obstacle avoidance module for a nonholonomic mobile robot which navigates autonomously by referring to a topological representation of its environment where obstacles are not modeled explicitly [START_REF] Blanc | Indoor navigation of a wheeled mobile robot along visual routes[END_REF]. This representation called visual memory, is formalized as a graph. Each node of the visual memory is a key image of the environment, taken by an embedded camera, and can be used to control the robot motion by visual servoing. Each edge between two key images notifies that the robot has already been able to navigate into a free space from the pose where the camera took one of these images to the pose where it took the other one. Since the navigation environment is not hardly static in time, each edge existence is perpetually questionned. While navigating from a key image to another, the robot may meet on its way an obstacle which was not here when the robot built its visual memory. Of course, this obstacle may be static or dynamic and may take numerous shapes. In an indoor environment, a house for instance, it may be a ball which was not tidied up. The height and the width of this obstacle are supposed to be roughly the same or inferior compared to the robot dimensions. It does not occult enough the camera image to wreck the vision based control. More precisely, we assume that this kind of obstacle is small enough to be skirted by the robot without loosing the visual reference the navigation module needs to control the robot. The obstacle avoidance module thus aims to assist the navigation module. It must correct the control inputs computed by the navigation module to prevent it driving the robot to the obstacle. In a more general point of view, this obstacle avoidance module, called CAM (Control Assistance Module), acts as a security filter of the control inputs, when they come from a navigation module which guides the robot according to its own strategy. The navigation module supervises the robot motions. The CAM is a parapet. It acts according to the local context of obstacles it can observe. Consequently, the CAM is classified as a reflex obstacle avoidance. Of course the navigation module may take into account the CAM actions to adapt its strategy.

Contribution

The approach used to design the CAM is based on the DVZ concept. A virtual observation zone surrounds the robot. The shape of this observation zone varies with the instantaneous kinematic state of the robot. The main principle of the approach is also to protect this zone from intrusions of obstacles, but the CAM uses an original strategy to throw them out. When an obstacle enters the observation zone, the shape of this zone is deformed to fit the shape of the obstacle. This new shape is considered as judicious path that should be followed for avoidance. The CAM provides a control vector which should be applied to follow the planned path, and merges it adequately with the one from the navigation module. As a consequence, in an original way, the avoidance method consists in a reflex action which is performed according to a local path following based control.

The specific formalism associated to the proposed approach is the subject of the following Section 2. Then in Section 3, this formalism is used to design the robot motion control, how the avoidance control vector is computed and then merged with the one coming from the navigation module. Section 4 presents an implementation of the CAM on an indoor mobile robot, equipped with a sonar range sensors. The functioning of the CAM is illustrated with a very simple and meaningfull real experiment, then we discuss the use of the CAM in more complex situations.

Strategy and formalism

The CAM inherits its main principle from DVZ based approaches. It consists in acting on the robot's controls to thrust obstacles aside a zone which virtually surrounds the robot. The CAM own main idea is to consider the shape of entering obstacles as a path the robot has to follow and maintain to a given distance, which depends on the shape of the virtual zone.

Virtual zone and obstacles

The robot is modeled by an euclidian frame F R (O R , X R , Y R , Z R ), with the origin O R fixed on the control point. We assume that the robot control vector U only allows it to move on a plan Π, orthogonal to the vector Z R and containing O R . The polar coordinates of every point on Π are ρ for the module and θ for the argument. Let f z be a continuous and derivable function:

f z : [-π, π] → IR θ -→ ρ = f z (θ) (1)
such that ∀θ ∈ [-π, π] , ρ > 0 f z defines a virtual zone that surrounds O R in Π. This virtual zone is a closed curve z which marks off a set Z with O R ∈ Z 1 : z = inf {ρ > 0 | ρ = f z (θ)} (2)
We assume now that an obstacle can be known in F R as a polar function f o in Π which describes its shape. Let o be the corresponding curve:

o = inf {ρ > 0 | ρ = f o (θ)} (3)
o defines the set O, containing every point of the obstacle. Assuming that the robot did not collide with the obstacle, O R ∈ O.

Uncontrolled deformations

When an obstacle gets closer to the robot, it may physically penetrate into the virtual zone. In this case, Z ∩ O = ∅. We define the free set F as:

F = Z -O Now consider the curve f : f = min( z , o ) (4)
f is a closed curve, always defined since z is also a closed curve. F is the inner set defined by f . f can be considered as the result of the deformation of z by the uncontrolled intrusion of an obstacle.

Controlled deformation

In section 2.1, z is only a geometric curve which does not depends on time since f z is fixed. However, it may be judicious to adapt the shape of z with the navigation context. Remembering that the robot is guided by a navigation module, z may be deformed in a controlled mode by taking into account the input control vector U c provided by this module. Then the definition of f z by equation ( 1) has to be modified with ρ = f z (θ, U c ).

In the special case of a nonholonomic mobile robot, we will consider in the sequel that this control vector is

U c = [u 1 c , u 2 c ] ,
where u 1 c is a longitudinal velocity along X R and u 2 c a rotation velocity around Z R . An appropriated deformation should be to control a scale factor on z according to u 1 c , in order to extend the observation zone when the robot goes fast. If the robot goes slowly, it probably navigates in a cluttered or unknown space where, of course, it has to be reactive to obstacles, but where its motions also should not be too much so that it can carry on making progress.

Security zone

Up till now, the robot has been reduced to a simple model, made of a single point O R which motions have to be controlled to avoid collisions. However, we can not ignore that the robot is a volumic object.

That is why we define an other virtual zone, called security zone, with a closed curve s , according to a similar definition as z by equation ( 2). The associated function f s must be designed so that s closely fits the area defined by the orthogonal projection of the robot volume on Π. s is not deformable. From a practical point of view, it must be designed according to the minimal range that embedded sensor are able to provide accurately. No obstacle has normally to come within s , but if unfortunately it happens, the obstacle must be detected to adapt the control strategy. This also implies that s should be within z . Controlled deformations of z are thus limited:

∀θ ∈ [-π, π] , f z (θ, U c ) ≥ f s (θ) (5)
3 Control design

Control strategy

The avoidance control law aims to drive the robot in order to get F = A.

Let M be a point of f defined as:

M min { f -z } (6)
M is the orthogonal projection of O R on the piece of curve f which is not in z . Note that if F = A, M = ∅. In this case, we consider that the coordinates of M are not defined; otherwise, we note

(ρ M , θ M , 0) the coordinates of M in F R .
Now let e ρ be an error which models the deformation from z to f by a signed distance:

e ρ = ρ M -f z (θ M , U c ) ( 7
)
e ρ is a lateral deviation which may be regulated to zero, so that the obstacle is pushed away from the virtual zone. We also define an angular deviation e ϕ to be regulated to zero. It is defined by the orientation of the tangent vector to f at M , with respect to the longitudinal axis X R . The avoidance control must stabilize both e ρ and e ϕ to zero. This defines a path following problem. We address it using the theoretic framework of chained systems [START_REF] Samson | Control of chained systems. application to path following and time-varying stabilization of mobile robots[END_REF].

Lateral control

In the sequel, we assume that the robot is a cart-like robot, classically modeled like a unicycle which is driven with two kinematic inputs. Let U z = [u 1z , u 2z ] be the kinematic inputs vector computed by the CAM. The robot is supposed to roll without slipping and O R is confounded with the axle's middle point.

Let F M be the Frenet frame defined at M , indexed on f by the curvilinear abscissae s. The robot motion are described with respect to F M by the following system of kinematics equations:

     ṡ = u 1z cos e ϕ 1 -e ρ c(s) ėρ = u 1 z sin e ϕ ėϕ = u 2 z -ṡc(s) (8)
where c(s) is the curvature of f at M . The system (8) can be transformed to a chained system of dimension three

[a 1 , a 2 , a 3 ] ∈ IR 2 × -π 2 , π 2 with a control vector of dimension two [m 1 , m 2 ] ∈ IR 2 :    ȧ1 = m 1 ȧ2 = a 3 m 1 ȧ3 = m 2 (9)
by writing:

[a 1 , a 2 , a 3 ] = [s, e ρ , (1 -e ρ c(s)) tan e ϕ ] (10)
If this state vector is derived with respect to a 1 , then it appears that resulting kinematic system is linear. A simple control which asymptotically stabilizes a 2 and a 3 thus consists on a proportional state feedback:

m 2 = -m 1 K p a 2 -| m 1 | K d a 3 , (K p , K d ) ∈ IR 2 + * (11)
a 2 and a 3 are regulated to zero according to a settling distance, fixed by the choice of (K p , K d ). These two gains control the reactivity of the robot when it avoids an obstacle.

In equation ( 11), m 1 is considered like a parameter which does not influence the regulation dynamic. m 1 is directly linked to u 1z by:

m 1 = ṡ = u 1z cos(e ϕ ) (12)
The system 9 leads to uncouple the controls m 1 and m 2 . This implies that u 1 z and u 2 z are also uncoupled in this formalism of path following. u 2z leads the lateral regulation of the robot with respect to the obstacle while u 1z can be used to adapt the longitudinal velocity to the navigation context.

Longitudinal control

The value of the longitudinal velocity does not a priori influence the lateral regulation performances. Then, u 1 z could take any value u 1 c provided by the navigation module without any dammage. From a practical point of view, it is advantageous to reduce it when the environment seems to become cluttered. Firstly, this ensures that the robot can stop if an obstacle is detected close to the frontier of the security zone. Secondly, this allows to get more accurate and stable data from sensors when obstacles come closer to the robot.

The strategy for longitudinal control consists on applying a coefficient α on u 1c in order to stop the robot if an obstacle is within de security zone, and to get u 1z = u 1c if no obstacle is observed within z :

if M = ∅ α :        [-π, π] → [0, 1] θ M -→ α (θ M ) = ρ M -f s (θ M ) f z (θ M ) -f s (θ M ) if ρ M ≥ f s (θ M ) θ M -→ α (θ M ) = 0 otherwise otherwise α = 1 (13) u 1 z = α u 1 c ( 14
)
Of course, if the robot stops while a dynamic obstacle intends deliberately to run into, the collision will occur. At present, we do not focuses on this problem and consider that most of dynamic obstacles the robot may meet are persons who do not willingly want to bang into it.

Global control

As exposed in sections (3.2) and (3.3), the CAM provides a control vector U z which aims to correct U c from a navigation module. u 1z is directly linked to u 1c but the computation of u 2z does not take u 2 c into account. But the CAM must favour the navigation module orders if the local configuration of obstacles allows it. A solution simply consists on confering more importance to U z when an obstacle draws near the security zone. Let U g = u 1 g , u 1 g be the result of the correction of U c by the CAM. U g is computed according to the following system:

u 1g = u 1z u 2g = γu 2c + (1 -γ)u 2z (15)
Simply, γ could be equal to α. But, near the frontier of the security zone, the importance given to u 2 z would be maximum while u 1z tends to zero. In order to get a more reactive behavior, the definition of

f z is modified: ∀θ ∈ [-π, π[ , f z (θ, U c ) ≥ f s (θ) + ε (16
) ε is a constant scalar which allows to keep a zone around the security zone where u 1z is non-zero and the robot is exclusively steered by u 2 z :

if M = ∅ γ :        [-π, π] → [0, 1] θ M -→ γ (θ M ) = ρ M -f s (θ M ) + ε f z (θ M ) -f s (θ M ) + ε if ρ M ≥ f s (θ M ) + ε θ M -→ α (θ M ) = 0 otherwise otherwise γ = 1 (17)

Singularities

The proposed control design conduces to some singularities which should not be ignored. They result from the lateral control strategy. First, the point M is not necessarily unique. Secondly, the curvature c(s) is not defined if f z is not two times derivable at θ M . Last but not least, e ϕ may be equal to ± π 2 . From a practical point of view, the first two singularities can be shunned. Curves z and z should result from interpolation of scanning range sensors data. In fact, they are not usually treated as analytic curves, but as a set of sampled points, which estimated position in F R is affected by noise on measures. Consequently, M is rarely chosen among many points. However, if a choice has to be made, criteria can direct it. We could notably privilege the closest point to the X R axis, which directs the longitudinal robot motion. Because curves are sampled every constant step ∆θ , we simply define the k th derivative

f k z of f z by f k z (θ) = f k-1 z (θ+h)-f k-1 z (θ-h) 2h
, with h = n ∆θ and n constant and strictly positive integer. Then c(s) is always defined although it is roughly estimated. The third singularity is more embarrassing. It corresponds to the frequent case where the robot goes orthogonally to an obstacle. The state (10) is not defined and, as a consequence, not either the control law (11). It is all the more problematical that m 2 should exponentially increase since e ϕ tends to ± π 2 . We did not found a better solution to this problem than forcing m 2 to zero when e ϕ tends to ± π 2 . In this way, the longitudinal control law prevents the robot from colliding with the obstacle, for want of something better.

Implementation

This section illustrates the proposed approach from a practical point of view. The framework proposed in sections ( 2) and (3) applied to assist the driving of an indoor mobile robot, equipped with a telemetric sensors belt. The CAM has been implemented on an external standard PC, which wireless controls a Pioneer robot. This robot is equipped with a eight sonars belt. Telemetric data are acquired at f e = 10Hz. The control inputs are also set at f e . Telemetric data are collected as eight range values, associated respectively to each sensor which angle of sight is known in the robot frame. None filtering is processed on these data and none uncertainty on measures is taken into account.

Virtual zones

z and s are two concentric circles. Security zone diameter is fixed to φ s = 0.6m. Thus s surrounds every sightless zone between to consecutive sensors. ε is fixed to 0.3m. The diameter φ z of z linearly depends on u 1 c . φ z is a priori limited by the maximum range of sensors (3m). But we choose this limit φ z max to only 1m in order not to constraint the robot motion because of relatively distant obstacles. Let u 1 c max be the maximum longitudinal velocity of the robot:

φ z = (φ s + 2ε) 1 - u 1c u 1 c max + φ z max u 1c u 1 c max (18)

Planning of a straight line

Although it can be possible to interpolate the eight getted points at each sample in order to obtain a smooth curve which delimits roughly the set of visible obstacles by the sonars, range data are not both numerous and accurate enough so that it is not worth the trouble. We prefer to refer the avoidance algorithm to a simple straight line. This line determines o . o is defined by the point M , when it exists, and a vector ∆ o . M is chosen by deducing from the measures vector at instant k , σ k = [σ 1 k , σ 2 k , . . . , σ 8 k ], the closest point to O R within the circle z . ∆ o depends on the navigation module orders. Let Ω c = u 2 c f e be the instantaneous steering angle which should have directed the robot if it was only guided by the navigation module. We define Ω c z R , with z R the unitary vector which directs the axis Z R . Ω c z R is the directing vector of the instantaneous robot motion. Let σ i k be the range data holden to build M . Another range data is needed to determine a second point N to build o . The choice falls on σ i+1 k if θ M ≥ Ω c or σ i-1 k otherwise. Then let θ M N be the argument of the vector

--→ M N . If θ M N > Ω c , then ∆ o = --→ M N . Otherwise, ∆ o = Ω c z R .
In this way, we take care that the CAM does not try to servo the robot on a line from which the navigation module would have a tendancy to get the robot out of the way. If M is deduced from σ 1 k or σ 8 k , N may not exist. Then ∆ o is forced to be Ω c z R . Following a straight line, with ∀s, c (s) = 0, instead of any curve implies a simplification of the control design exposed in section (3.2). Equation 11 conducts to the following simple control law:

u 2 z = -u 1 z cos e ϕ 3 K p e ρ -| u 1 z cos e ϕ 3 | K d tan e ϕ ( 19
)
This law ruled the robot motion during the experiments which results are presented in the next section.

Results

We have validated the good working of the CAM with two kind of experiments. The first one consists on a very simple robotic task. The robot's task only consists on going forward, with U c = [v, 0] , where v is a constant. We have tried for v a range of longitudinal velocities from 0.1 m.s -1 to 0.5 m.s -1 , which is a respectable value for an indoor robot. Initially, the robot is placed in order to be directed to a wall, with an incidence angle of approximately -π 6 rad. The diameter of the circular security zone is fixed to 0.6m while ε is 0.3m. In these conditions, the CAM works as it is forecast in such a simple case. The second task is more interesting. The robot is teleoperated in offices and corridors of our lab while the operator can not directly see the robot. He only can see the image provide by an embedded frontal camera, with 60deg of angle of view. Images are wireless transfered, what implies some unexpected and non constent delays on the visual feedback. In this case the CAM ensures the robot security and assist the operator. However, circular virtual zones rapidely appear unadequated. When an obstacle comes closer to robot from a side, the CAM tends to correct the trajectory what creates unexpected oscillations of the robot trajectory. To remedy that, elliptic zones should be a solution to be explored.

Conclusion and Perspectives

This paper has presented the design and an implementation of an obstacle avoidance module, called CAM, which aims to act on the robot control inputs in order to preserve the robot's security when it is driven by a navigation module, which does not take explicitely into account the possible presence of unexpected obstacles. The CAM is based on an original obstacle avoidance approach. Although it is based on the known DVZ concept, it proposes a new strategy and formalism. They consist on assigning to the robot a reactive behavior by following a dynamically computed path, which results from the local observation of the robot's environment by range sensors. None a priori model of obstacles is needed since their shape can be estimated from range data when the robot get closer to them. This estimated shape serves as reference of a path following based control law, which aims to put it away a virtual zone. This zone is a closed curve which surrounds the robot and which shape can be modified according to control inputs provided by the navigation module. The approach has been illustrated in a simple case. However, we have put it on the test in much more complex contexts. Helped by the CAM, a user can teleoperate the robot from a different room to the one where the robot is navigating. The user can safely drive the robot when he only can get a limited view of the cluttered navigation environment from an embedded camera looking forward. Although a simple case of implementation, based on circular virtual zones, has been presented, we have tried many different shapes for virtual zones. Notably, ellipses appears as a very judicious choice, which efficiency will be improved by using sensors, like a laser range scanner, which should provide more numerous and accurate range data. The proposed formalism should be implemented without resorting to restrictive practical simplifications.

given a set A, inf A = max {t ∈ [0 , +∞] | ∀a ∈ A , t < a}


Philippe Martinet Lasmea

Blaise Pascal

Benoit Thuilot
email: thuilot@lasmea.univ-bpclermont.fr

Jonathan Bom Lasmea

From autonomous navigation to platooning in urban context

In this paper, the problem of autonomous navigation is addressed starting from the use of RTK-GPS until the use of vision as the main sensor. Using a decoupling strategy, it is possible to control separately lateral and longitudinal control in trajectory following tasks. Recent advances in vision, make possible to localize an urban vehicle in regard with a previously recorded trajectory.

The concept of sensory memory (GPS, Vision), which traduces the learnt trajectory, is introduced and used to guide autonomously the vehicle. Then, an extension to vehicle platoon is described. Different kind of longitudinal control strategies are discussed : from a near to near approach, to a global strategy. Finally, in order to manage different kind of scenario which occur in a platoon context, a monitoring module is developed.

I. INTRODUCTION

In order to reduce and suppress nuisances, linked to the saturate traffic, new alternative "Urban Transportation Systems" are under development. Some of these projects, based on urban electric vehicles, have been already developed since the mid-90's, e.g. Praxitèle in France [START_REF] Laugier | Towards autonomous vehicles for future intelligent transportation systems[END_REF]- [START_REF] Daviet | Platooning for vehicles and automatic parking by scheduling robotic actions[END_REF], CarLink in the USA [START_REF] Shaheen | Carlink II: a commuter carsharing pilot program final report[END_REF], Crayon in Japan [START_REF] Evans | New energy sources for the car : how toyota sees the future[END_REF]. Such systems involve the capabilities of urban vehicles to be autonomously guided in a single or platoon configuration.

To move autonomously with the best efficiency, one of the most interesting functionality appears to be the platooning of vehicles composed of a leader followed by vehicles in a single file. Nevertheless, the automatic guided vehicles need to be localized the more accurate possible in their environment. Different approaches can be envisaged. Some applications, requiring equipped infrastructures, are in developing or developed: automatic vans in suspension over a guideway, thanks to Electro Magnetic forces, are described in [START_REF]The M 3 urban transportation system[END_REF], a fleet of urban shuttles detecting magnetic track integrated in the road pavement is described in [START_REF] Gillet | BURST : Bright urban system for transportation[END_REF]. The majority of Automated Highways Systems needs an equipped road with an adapted architecture as described in PATH project [START_REF] Horowitz | Control design of an automated highway system[END_REF]. An alternative consists in relying on direct sensors (as cameras [START_REF] Daviet | Platooning for small public urban vehicles[END_REF], radar [START_REF] Kuroda | An adaptive cruise control system using a milimeter wave radar[END_REF],...), providing relative information with respect to the preceding vehicle without requiring an equipped infrastructure. Finally, mixed approaches are also investigated: in [START_REF] Seto | Development of platoon driving in AHS[END_REF], the authors combine a direct sensor (laser radar) with an intervehicles communication integrated in an equipped road infrastructure transmitting data from throttle and brake actuators. Unluckily, all these solutions have drawbacks: respectively the cost and the necessity to equip an area, and/or, a too small field of perception for the considered sensor. To overcome such problems, an interesting solution is the use of RTK GPS (Real Time Kinematic Global Positioning System) sensors, which can provide in realtime vehicle localization with a centimeter accuracy. These sensors, coupled with an intervehicles communication, permit to share absolute localization measurements. Some results of vehicles platoon control relying on this technology can be found in the literature: in [START_REF] Cannon | Precise GPS sensor subsystem for vehicle platoon control[END_REF], the authors develop particulary the GPS aspect, while in [START_REF] Ohtomo | Automatic following system utilizing vehicle-to-vehicle communication[END_REF], the communication is studied.

This last approach was first developed in [START_REF] Bom | Nonlinear control for urban vehicles platooning, relying upon a unique kinematic GPS[END_REF]: RTK-GPS sensors and inter-vehicles communication relying on WiFi technology are mounted on urban electric vehicles. Because of the problem of satellite visibility in urban context, more recently, we have started to investigate another perception system mainly based on vision data [START_REF] Royer | Towards an alternative GPS sensor in dense urban environment from visual memory[END_REF]. This novel approach [START_REF] Royer | Outdoor autonomous navigation using monocular vision[END_REF] is currently under development and the first results in autonomous navigation are very promising.

One possible objective in platooning is to control vehicles velocity in order to keep either a constant cartesian distance or a constant time (see e.g. [START_REF] Girault | Stability analysis of a longitudinal control law for autonomous vehicles[END_REF]) between the cars. Here, our aim is to keep a constant curvilinear distance between vehicles. The main advantage of curvilinear distance is that it agrees with the distance travelled (monotonous behavior) and is perfectly consistent when following reference paths with high curvature (which is not the case with cartesian distance).

Our platooning control design relies on nonlinear techniques, as in [START_REF] De Luca | Feedback control of a nonholonomic car-like robot[END_REF], instead of control approaches based on linear approximations (e.g. [15] [17]). These techniques can provide better tracking performances and allow to fully decouple longitudinal and lateral controls. Thanks to this decoupling feature, lateral guidance of each vehicle in the platoon can indeed be achieved independently, from its longitudinal control.

Usually, the standard approach to control a platoon is based on a local strategy, i.e. each vehicle is controlled from the unique data received from the single immediate front vehicle, see [START_REF] Bom | Nonlinear control for urban vehicles platooning, relying upon a unique kinematic GPS[END_REF]. Such a local approach presents drawbacks, like errors accumulation: the regulation errors, introduced by sensors noises, are growing from the first vehicle to the last one leading to unacceptable oscillations. To overcome these problems, inter-vehicles communication has to be considered: in [START_REF] No | A Lyapunov function approach to longitudinal control of vehicles in a platoon[END_REF], distance, velocity and acceleration with respect to the preceding vehicle are transmitted in order to compute the expected spacing error, and therefore to incorporate prediction in the controller. In [START_REF] Zhang | Autonomous intelligent cruise control using front and back information for tight vehicle following maneuvers[END_REF], information from the immediate preceding and following vehicles are used in order to guarantee stability in tight platoon applications. We have developed a global control strategy in order to more widely capture the platoon behavior, information transmitted from the immediate front vehicle and the leader one are used to control each fleet element according to a global strategy.

The paper is organized as follows: first, modelling and theoretical concepts are addressed. Then, perception control and monitoring aspects of the work are presented. After, on one hand, full-scale experiments show the performances of a platoon composed of 2 vehicles, and, on the other hand, long platoon (10 cars) simulations are then reported.

II. MODELLING AND THEORETICAL CONCEPTS

A. Notations and Modelling

In our approach, we use a localization system (RTK-GPS or monocular vision) and inter-vehicles communication relying on WiFi technology. All the necessary equipments are mounted on urban electric vehicles called Cycabs (Fig. 1), which serve as development products in several French laboratories. The platoon architecture is presented on the Fig. 2. Each vehicle is equipped with an RTK-GPS (SAGITTA from Thales Navigation) and a monocular camera connected to a high level computer. A WIFI connection allows to receive the state of the platoon, and to send the state of the current vehicle. The low level control is based on a CAN architecture where two MPC555 micro-controllers pilot the heading and the longitudinal velocity of the vehicle.

1) Notations: Since Cycabs are devoted to move in urban environments, i.e. at low speed on asphalt, dynamic modelling can be unconsidered. Kinematic model can satisfactorily describe vehicle behavior, as corroborated by extensive tests done in various situations (different masses onboarded, on sloping grounds,...). In this paper, the celebrated tricycle [START_REF] Thuilot | Accurate automatic guidance of an urban electric vehicle relying on a kinematic GPS sensor[END_REF], is used to describe Cycab: the two actual front wheels are replaced by a unique virtual wheel located at the mid-distance between the actual wheels. The notations used are detailed and illustrated in Fig. 3: stands for the orientation of the tangent to

C at M i , with respect to frame [A, X A , Y A ). • θ i is the heading of i th Cycab at point O i , with respect to frame [A, X A , Y A ). • θi = θ i -θ c (s i )
denotes the angular deviation of the i th vehicle with respect to C. • y i is the lateral deviation of the i th vehicle with respect to C. • δ i is the orientation of the i th vehicle front wheel with respect to its centerline. • L is Cycab wheelbase. • v i is the i th vehicle linear velocity at point O i .

• n is the number of vehicles in the platoon, so (i < n).

2) Modelling: The vector (s i , y i , θi ) describes the state of the i th vehicle. It can be inferred online by comparing vehicle absolute localization (provided e.g. by a RTK-GPS sensor) to the reference path. The celebrated tricycle model is (see [START_REF] Samson | Control of chained systems: application to path following and time-varying point stabilization of mobile robots[END_REF], [START_REF] Daviet | Platooning for small public urban vehicles[END_REF], [START_REF] Thuilot | Accurate automatic guidance of an urban electric vehicle relying on a kinematic GPS sensor[END_REF]

): ṡi = v i cos θi 1-y i c(s i ) ẏi = v i sin θi θi = v i tan δ i L -c(si) cos θi 1-y i c(s i ) (1)
Lateral and longitudinal control objectives are to bring and maintain y i and θi to 0, by means of δ i , and the gap between cars to a fixed value d, by means of v i . It is considered that: y i = 1 c(si) (i.e. vehicles are never on the reference path curvature center). In practical situation, if the n vehicles are well initialized, this singularity in model ( 1) is never met.

B. Theoretical concepts

This section presents the conventional general navigation scheme and the adaptation we have done in order to take into account the imprecise map and the dynamic aspect of the environment.

1) General scheme for navigation:

A general and wellknown scheme for navigation is given by Fig. 4. The main concept uses the ability of the navigation system to present two levels :

• End user level : the user defines the mission, and the system elaborates an ordered set of reference trajectories. A specific module schedules the different reference trajectories during the execution. • Execution level : The obstacle avoidance module permits to modify the reference trajectory in order to take into account the static and dynamic evolution of the scene.

A localization module allows to extract the necessary information about the current vehicle (or the whole set of vehicle in case of platoon) in regard with the reference trajectory. The control module has in charge the execution of the trajectory following task. Finally, the FDIR module (Failure Detection , Isolation and Recovery) monitors the execution of the whole system in order to prevent from failures, and from different situations which can occur.

In addition, on line reconfiguration of the whole system can be done using such module. This conventional system is efficient when the map of the environment is known with a centimeter accuracy for precise navigation. Unfortunately, this hypothesis is difficult to guarantee : the map remains unprecise. So, instead of having a global view of the navigation system, we have prefered to use of a local view where each reference trajectory is defined in the sensor frame. This approach prevents from global errors of the map. As we have selected a local behaviour and a closed loop approach, the trajectory following task can be realized in good condition.

2) Learning step : Concept of sensory memory: In order to build a Topological representation of the environment, taking profit of the local perception of the reference trajectory, we have proposed to develop a learning step as represented in Fig. 5. During the learning step, the vehicle is driven by a human and acquires an ordered set of sensor information coming from proprioceptive and exteroceptive sensors. Theses information are stored (using the topological representation extracted from a GIS system) and represent the sensory memory of the reference trajectory. At the end, all the learnt trajectories are available in an Augmented GIS module. 3) Localization step: Completing the learning step, the system is ready to perform any autonomous displacements. After itinerary selection, a set of reference learnt trajectories are ready for execution. A localization module using the same sensors (used during the learning step), computes the necessary information in order to provide the control scheme. In the presented work, theses information are : the lateral deviation y i , the angular deviation θi , and the local datas of the reference trajectory (curvilinear abscissa s i , local curvature c(s i ))

III. PERCEPTION, CONTROL AND MONITORING

In this section we will successively present the different aspects relating to perception, control and monitoring.

A. Perception

For the perception aspect, we are currently addressing three main ways. The first one use an RTK-GPS (Real-Time Kinematic Global Positioning System) sensor in order to deliver an absolute localization of each vehicles. The second is a pure vision based approach and provide a relative localization of Fig. 6. Localization each vehicles, and the third one is supposed to take advantages of each approach by using data fusion techniques. We will present here only the two first ones (the last one is under development).

1) Absolute Localization using RTK-GPS system: The RTK GPS receiver is a Sagitta unit from Thales Navigation. It provides position measurements at a 10Hz sampling frequency, with a 2cm accuracy. The GPS reference station has been located on a 15m-height building. Each Cycab is equipped with a unique GPS sensor located on the roof of the vehicle straight up the mid-distance between the rear wheels. The radio receiver is in front of the vehicle. So, during the learning step (Fig. 7) the reference trajectory is extracted and stored in the GPS sensory memory. During the autonomous displacement, RTK-GPS sensor delivers the absolute localization, and the localization module is able to compute the relative position of the vehicle. To be available, GPS system needs at minimum the visibility of four satellites in any points of the reference trajectory, and at any time. Depending on the constellation, the quality and integrity of the signals are not always insured. Thanks to the news systems using the geostationary satellite EGNOS (for Europe) to improve theses points. 2) Relative Localization using vision system: Another solution is to design a system which can be embedded on the vehicle and offers the same kind functionalities as the GPS system does. Two years ago, we started to investigate a new approach based on a simple monocular camera [START_REF] Royer | Towards an alternative GPS sensor in dense urban environment from visual memory[END_REF].

During the learning step (Fig. 8), a camera acquires a video sequence along a human driven trajectory. Then, a post processing algorithm extracts relevant information (here this is 3D points of the scene) from the video sequence in order to reconstruct the reference trajectory (using a bundle adjustment technique) and store it in an ordered way of key features. In on line step, the local extracted features are compared to the reference one in order to perform features matching, and then the localization procedure can be achieved. Fig. 9 represents an example of the visual memory (reference trajectory) learnt by vision in a real city center. The blue dots correspond to the 3D points of the environment, and small black squares represent the corresponding localization (obtained by 3D reconstruction) of the camera during the learning step.

B. Control

Our platooning control design relies on nonlinear techniques, as in [START_REF] De Luca | Feedback control of a nonholonomic car-like robot[END_REF]. These techniques can provide better tracking performances and allow to fully decouple longitudinal and lateral controls. Thanks to this decoupling feature, lateral guidance of each vehicle in the platoon can indeed be achieved independently, from its longitudinal control. 1) Chained system: As developed in [START_REF] Samson | Control of chained systems: application to path following and time-varying point stabilization of mobile robots[END_REF], one way to build a nonlinear suitable control law for mobile robots is to turn their equations into chained form (as it has been done in [START_REF] Thuilot | Automatic guidance of a farm tractor relying on a single cp-dgps[END_REF]). In dimension 3 (as expected in our application), such a system is given by :

   ȧ1i = m 1i ȧ2i = a 3i m 1i ȧ3i = m 2i (2)
where A = (a 1i , a 2i , a 3i ) T = Θ(s i , y i , θi ) and M = (m 1i , m 2i ) T = Υ(v i , δ i ) are respectively the state and control vectors. One can check that such a system is almost linear: just replace time derivation by a derivation with respect to a 1i . It leads to system 3 (with notation (a ji ) =

da ji da1i ).    a 1i = 1 a 2i = a 3i a 3i = m 3i = m2i m1i (3)
The following state transformation

   a 1i = s i a 2i = y i a 3i = tan θi (1 -y i c(s i ))
is here proposed in association with control transformation given by :   

m 1i = v i cos θi 1-y i c(s i ) m 2i = d dt (1 -y i c(s i )) tan θi
The new system 3 becomes in a linear form with longitudinal and lateral decoupling properties for trajectory following tasks.

2) Lateral Control: Path following can be now easily addressed : in view of the state transformation, the regulation of y i and θi is equivalent to regulation of a 2i and a 3i . So, the following auxiliary control law

m 3i = -k d a 3i -k p a 2i (4)
provides the equation of a second order system :

a 2i + k d a 2i + k p a 2i = 0 (5)
which can be tuned using the gains (k p , k d ) to specify a settling distance (instead of a settling time). The following trajectory task is well achieved not depending on the value of the longitudinal velocity (as long as this value is not zero).

Such kind of lateral control techniques have been evaluated using both the GPS based memory in [START_REF] Thuilot | Accurate automatic guidance of an urban electric vehicle relying on a kinematic GPS sensor[END_REF] and also the vision based memory in [START_REF] Royer | Outdoor autonomous navigation using monocular vision[END_REF].

3) Longitudinal Control: The decoupling capabilities of the presented approach allows to be more flexible when considering a single vehicle or a platoon of vehicles. Indeed, it allows the user or a global system to impose a particular longitudinal velocity in single mode. In platoon mode the inter-distance between vehicle can be regulated through different control strategies. Fig. 10. Longitudinal control strategies Fig. 10 illustrates the different control strategies which can be studied. The first one, called LCS is a local control strategy where the longitudinal control is based on a near to near approach. The second one, called GCS, is a global control strategy where the longitudinal control is based on the leader. Each of theses solutions have drawbacks ( [START_REF] Bom | Nonlinear control for urban vehicles platooning, relying upon a unique kinematic GPS[END_REF] and [START_REF] Bom | A global control strategy for urban vehicles platooning relying on nonlinear decoupling laws[END_REF]). This is the reason why, we have prefered to develop a third one, called MCS, which is a mixed strategy taking profit of advantages of both approaches depending on the context evolution.

So, we have proposed to regulate a new longitudinal error function (see Fig. 11) defines by :

x i+1 = σ i+1 e 1 i+1 + (1 -σ i+1 )e i i+1 ( 6
)
where

• e 1 i+1 represents the curvilinear distance between the current vehicle and the leader. In the GCS approach, this error is regulated to a desired distance i.d.

• e i i+1 represents the curvilinear distance between the current vehicle and the nearest front vehicle. In the LCS approach, this error is regulated to a desired distance d.

• σ i+1 is a sigmoid function and gives more or less predominance at each error depending on the context. In order to design σ i+1 , security distance d s is introduced as the minimal curvilinear distance that always must be observed between 2 vehicles. When distance between vehicles i and i+1 is close to this limit, collision risk is important. Therefore, local approach must prevail over the absolute reference one. σ i+1 must then be close to 0 when e i i+1 is close to -d + d s . On the contrary, when inter-vehicles distance is close to d, absolute reference approach can be safely used. σ i+1 must then be close to 1 when e i i+1 is close to 0. Such a commutation can be obtained via the sigmoid function [START_REF] Evans | New energy sources for the car : how toyota sees the future[END_REF]:

σ i+1 (z i+1 ) = 0.5 1 -e -azi+1
1 + e -az i+1 + 1 [START_REF] Evans | New energy sources for the car : how toyota sees the future[END_REF] driven by variable z i+1 defined by:

z i+1 = e i i+1 + d -d s 2
Parameter a = 2.5 is chosen to ensure the shape on Fig. 12. From the control point of view, we impose an exponential decrease of the new error function ( ẋi+1 = -kx i+1 ). Then, the longitudinal control law can be expressed by :

v i+1 = 1-yi+1 c(si+1) cos θi+1[1+A(zi+1)(s1-si-id+d)] σ i+1 v1 cos θ1 1-y 1 c(s 1 ) + [1 -σ i+1 + A(z i+1 )(s 1 -s i + d -id)] v i cos θi 1-y i c(s i ) + kx i+1 ) (8) where A(z i+1 ) = a e (-az i+1 ) (1+e (-a z i+1 ) ) 2 .

C. Monitoring

Control (8) presents one singularity, namely 1 + (s 1 -s i -(i -1)d)A(z i+1 ) = 0.
However, it corresponds to a very special configuration of the first, the i th and the (i + 1) th vehicles, which is not expected to be met in practical situation. Moreover, if this configuration was met, v i+1 would increase to reach very large values that would then be corrected by monitoring.

Saturation problems can clearly appear: e.g. if the cars are too far, large accelerations, and so high velocities, can occur. In order to achieve passengers security and comfort, some constraints have to be satisfied. First, vehicles velocities have to be bounded:

0 ≤ v i+1 ≤ v max ( 9
)
This ensures that vehicles never move back nor exceed a desired velocity. It can be done by using and adaptive gain in the longitudinal control law. Secondly, if vehicle i + 1 is far behind vehicle i, or if vehicle i presents an odd behavior (e.g. if it stops abruptly), control law (8) may then lead to very large accelerations/decelerations, very unpleasant to passengers aboard. Therefore, the monitoring scheme shown on Fig. 13 has been introduced, with the aim to privilege passengers comfort, as far as their security can be guaranteed. More precisely, the notation a comf on Fig. 13 stands for the maximum acceleration/deceleration comfortable to a passenger aboard. Then, if the acceleration/deceleration of vehicle i + 1, denoted a i+1 , is superior to that value, a security test is performed:

• the case a i+1 > a comf > 0 occurs when vehicle i + 1 is far behind vehicle i. In such a situation, a i+1 can be limited to a comf without any collision risk. • the case a i+1 < -a comf < 0 occurs if vehicle i stops abruptly. In such a situation, collision risks have to be investigated. To this aim, the distance covered by vehicle i + 1, if it was stopped with a deceleration -a comf , is first computed, and its final inter-distance with vehicle i is derived (the worst case, i.e. vehicle i is stopped, is here assumed).

-if this inter-distance is superior to d s , then a i+1 can safely be limited to -a comf . -in the other case, the deceleration (denoted -a urg ) leading to a projected inter-distance equal to d s is computed, and a i+1 is limited to that value. Passengers security is privileged with respect to their comfort. When computing the final inter-distances with constant decelerations (-a urg or -a comf ), delays introduced by actuator features and transmission latencies are taken into account.

IV. RESULTS

This section is divided into two parts: first, experimental results involving two vehicles validate control law (8) and monitoring. Secondly, simulations with larger platoons compare capabilities of LCS and GCS.

A. Experimentation

Several experiments have been carried out at "Campus des Cézeaux", in Clermont-Ferrand area. These experiments involve only two vehicles, therefore σ i+1 has no influence as the immediate front car and the leader are the same. However, experiments with more vehicles are planned, since our lab will soon be equipped with additional vehicles. Only experimentations related to GPS base memory are reported here.

1) Experimental Vehicle: Experimental vehicles, named Cycab, are depicted on Fig. 1. Their small dimensions (length 1.90m, width 1.20m) are advantages for the urban traffic. These vehicles are entirely under control computer. The used kinematic configuration is the same as those of a car-like vehicle. Its maximum speed is v max = 18km/h. In our experiments, a personal computer is added in each Cycab. This high-level computer collects information received from RTK GPS, mounted by serial link, and from front vehicles, via WiFi. The used RTK GPS receiver provides measurements at a 10HZ sampling frequency, with a 2cm accuracy. The steering values and the vehicle velocities computed by control laws are transmitted to the Cycab computer by an Ethernet network and reach the MPC555 micro-controllers by CAN. The used kinematic configuration is the same as the one of a car-like vehicle. Its maximum speed is 5m/s. The mounted RTK GPS receiver provides measurements at a 10Hz sampling frequency, with a 2cm accuracy. The communication between cars is ensured via WiFi.

2) Experiment: The gains of the lateral control law are tuned to impose that lateral deviation converges to 0 within 15m. Parameters of the longitudinal law are set to k = 0.6, v max = 4m/s, a comf = 1m/s 2 (ensued from studies reported in [START_REF] Inc | Simulated on-the-road emergencies used to test stopping sight distance assumptions[END_REF]), d = 8m and d s = 6.50m. In practical situation, we could imagine that the leader is pulling a trailer, and that collision occurs if the inter-distance is inferior to d s . The experiment reported on Fig 15 can be divided into three main parts. First, the hooking is tested: at initial time, the space between the cars is close to 20m. Thanks to the monitoring, the hooking appears smooth and comfortable (acceleration saturated at a comf and v < v max , see Fig. 16). In a second phase, the longitudinal standard law performances are scanned. Once the follower is hooked, the gap is equal to d with a satisfactory standard deviation of 4.7cm and a mean error inferior to 1cm (Fig. 17). Finally, the security of the law, in critical situation is investigated. Preliminary, the leader reaches a higher velocity in order to position the platoon in a critical situation when it stops abruptly. As the security can not be achieved with a deceleration equal to -a comf , an urgency deceleration equal to -1.2m/s 2 is computed and applied, see Fig. 18 and Fig. 19. This experiment demonstrates satisfactory performances of the control law (8) and monitoring (comfort mode is tested at the beginning and security mode at the end). The first simulation presents LCS. In order to highlight errors accumulation, the gap between each vehicle and a common reference point in the platoon, i.e. the platoon leader, is depicted on Fig. 20. The main drawbacks of LCS appear then clearly: the distance to the leader presents a standard deviation of 9.7cm for the first follower, when it is 67.7cm for the last one. The situation gets even worse in tight turns: when the last vehicle is in a bend, at t = 95s see Fig. 20, the maximum error recorded is 2.80m.

In the second simulation, when GCS is used, these drawbacks disappear, see Fig. 21: each follower is subjected to errors of the same order of magnitude. The standard longitudinal deviations of each vehicle are close to 10cm (9.5cm for the first follower and 10.9cm for the last one, i.e. the error is simply equal to the introduced GPS noise, see Fig. 23). Therefore, these simulations demonstrate that GCS surmounts the limitations of LCS. Moreover, when observing parameter σ i+1 in the Init. phase (Fig. 22), it can be seen that the platooning laws commute progressively from LCS (when intervehicles distance is small) to a control with respect to an absolute reference (when the gap is close to d). We have studied a complete system able to perform some autonomous following tasks in single and platoon mode using a navigation scheme which takes into account the imprecise part of the GIS map. Using a learning step to acquire a set of reference trajectories, we built an augmented GIS to order the trajectories using a topological description of the environment. Localization is performed in regard with the reference trajectories. We have designed nonlinear control laws whose main property is to decouple lateral and longitudinal behaviour. A monitoring module has been developed and takes in charge security, comfort, and system limitations aspects.

Validation have been realized both in real (up to 2 cars) and in simulation (up to 10 cars). In the real case, we have used RTK-GPS sensor in order to extract the local state of each vehicle involve in the platoon. From the perception point of view, as visibility of satellite becomes a difficult problem in city center, we have started to evaluate a novel solution using a simple monocular camera. The current results [START_REF] Royer | Outdoor autonomous navigation using monocular vision[END_REF] show the validity of such approach (lateral error is less than 10cm in straight line, and less than 35cm in bend). Lateral control using this novel approach is ensured with a 10cm accuracy.

The next research steps will concern control, multi-sensor perception, monitoring, and real validation with more cars.

In control, it remains two main critical points to study. The first one concerns the "point stabilization problem". As vehicles are non holonomous robots, this point remains an open problem in control theory. The second one concerns the platoon modelling : it would be interesting to consider platoon as a multi-robot system under constraints.

We start to develop a multi-sensor approach using a low cost DGPS sensor, one monocular camera and some proprioceptive sensors. Data fusion techniques will be adapted to our particular application, knowing that we are not only interested to localize the current vehicle, but also to compute the localization of each cars involves in the platoon.

In the current version of our navigation system, we have not yet develop the obstacle avoidance module. It would be interesting to have one, and to extend the functionalities of the monitoring module in order to take into account an exhaustive set of states for the platoon.

Finally, we have already two cars equipped, and planed to buy three more. Real experiment (up to 5 or 6 cars) will be done in 2006 in order to validate our complete system.

Fig. 1 .

 1 Fig. 1. Our experimental vehicles: Cycabs

Fig. 2 .

 2 Fig. 2. Platoon architecture

Fig. 3 .

 3 Fig. 3. Model tricycle description • C is the common reference path, defined in an absolute frame [A, X A , Y A ). • O i is the center of the i th vehicle rear axle. • M i is the closest point on C to O i . • s i is the curvilinear coordinate of point M i along C, it corresponds to the distance covered along C by vehicle i. • c(s i ) denotes the curvature of path C at M i , and θ c (s i )stands for the orientation of the tangent toC at M i , with respect to frame [A, X A , Y A ). • θ i is the heading of i th Cycab at point O i , with respect to frame [A, X A , Y A ). • θi = θ i -θ c (s i )denotes the angular deviation of the i th vehicle with respect to C. • y i is the lateral deviation of the i th vehicle with respect to C. • δ i is the orientation of the i th vehicle front wheel with respect to its centerline. • L is Cycab wheelbase. • v i is the i th vehicle linear velocity at point O i .• n is the number of vehicles in the platoon, so (i < n).2) Modelling: The vector (s i , y i , θi ) describes the state of the i th vehicle. It can be inferred online by comparing vehicle absolute localization (provided e.g. by a RTK-GPS sensor) to

Fig. 4 .

 4 Fig. 4. General navigation scheme

Fig. 5 .

 5 Fig. 5. Learning step : Sensory memory

Fig. 7 .

 7 Fig. 7. GPS based memory

Fig. 8 .

 8 Fig. 8. Vision based memory

Fig. 9 .

 9 Fig. 9. An example of Vision based memory of a reference trajectory

Fig. 11 .

 11 Fig. 11. Longitudinal control scheme

Fig. 12 .

 12 Fig. 12. Mode commutation using a sigmoid function

Fig. 13 .

 13 Fig. 13. Monitoring security and comfort

Fig. 14 .

 14 Fig. 14. Reference Trajectory : lateral control performances

  Fig. 15. Curvilinear distance between cars

Fig. 16 .Fig. 17 .

 1617 Fig. 16. Velocities measured by GPS

Fig. 18 .Fig. 19 .Fig. 22 .

 181922 Fig. 18. Curvilinear Distance between cars in stop phase

Fig. 23 .

 23 Fig. 23. Standard deviation (in cm) according the strategy Platoon security is therefore ensured (by LCS) when cars are close to each other, and in standard mode, high regulation performances are obtained (by the absolute reference). The skill to adapt the longitudinal error at the met situation is clearly demonstrated. V. CONCLUSION In this paper, we have presented some work done in the french national research context mainly in the ROBEA-CNRS BODEGA project, and in the PREDIT3 MOBIVIP project. The main goals of such projects are to demonstrate the ability of Intelligent Transportation System to supply autonomous services (Car Sharing in single or platoon mode) for the end user in city centers.We have studied a complete system able to perform some autonomous following tasks in single and platoon mode using a navigation scheme which takes into account the imprecise part of the GIS map. Using a learning step to acquire a set of reference trajectories, we built an augmented GIS to order the trajectories using a topological description of the environment. Localization is performed in regard with the reference trajectories. We have designed nonlinear control laws whose main property is to decouple lateral and longitudinal behaviour. A monitoring module has been developed and takes in charge security, comfort, and system limitations aspects.Validation have been realized both in real (up to 2 cars) and in simulation (up to 10 cars). In the real case, we have used RTK-GPS sensor in order to extract the local state of each vehicle involve in the platoon. From the perception point of view, as visibility of satellite becomes a difficult problem in city center, we have started to evaluate a novel solution using a simple monocular camera. The current results[START_REF] Royer | Outdoor autonomous navigation using monocular vision[END_REF] show the validity of such approach (lateral error is less than 10cm in straight line, and less than 35cm in bend). Lateral control using this novel approach is ensured with a 10cm accuracy.

ACKNOWLEDGMENT

The authors would like to thank F. Marmoiton for his technical support in the all set of real experimentation.

All theses aspects are currently addressed through the BODEGA (ROBEA-CNRS national interdisciplinary research program

B. Simulations

In this part, GCS is compared with a classical LCS. The common scenario is a path following to be achieved, by a 10 vehicles long platoon, at a constant velocity of 2m/s (fixed by the leader). In order to simulate LCS, the parameter σ i+1 is simply set to 0 in control law [START_REF] Gillet | BURST : Bright urban system for transportation[END_REF]. All parameters are identical in LCS and GCS simulations (they are the same as in the experiment). Finally GPS features are introduced via a white noise with a standard deviation of 10cm added to position measurements. GPS sensors used in previous experiment have a 2cm accuracy, but are quite expensive. When numerous vehicles have to be equipped, decimeter GPS appears more realistic. Moreover, less accurate sensors reveal more clearly the advantages of GCS over LCS.


Roland Lenain
email: roland.lenain@cemagref.fr

Benoit Thuilot
email: benoit.thuilot@lasmea.univ-bpclermont.fr

Christophe Cariou

Philippe Martinet

Model Predictive Control for Vehicle Guidance in Presence of Sliding: Application to Farm Vehicles Path Tracking

One of the major current developments in agricultural machinery aims at providing farm vehicles with automatic guidance capabilities. With respect to standard mobile robots applications, two additional difficulties have to be addressed: firstly, since farm vehicles operate on fields, sliding phenomena inevitably occurs. Secondly, due to large inertia of these vehicles, small delays introduced by low-level actuators may have noticeable effects. These two phenomena may lower considerably the accuracy of path following control laws.

In this paper, a vehicle extended kinematic model is first built in order to account for sliding phenomena. These latter effects are then taken into account within guidance laws, relying upon nonlinear control techniques. Finally, a Model Predictive Control strategy is developed to reduce the effects induced by actuation delays and vehicle large inertia. Capabilities of this control scheme is demonstrated via full scale experiments carried out with a farm tractor, whose realtime localization is achieved relying uniquely upon a RTK GPS sensor.

I. INTRODUCTION

Pollution concern is taking a growing place in all activities. This is especially true in agriculture, since several tasks (e.g. fertilizer spraying) may be environmentalunfriendly (e.g. imperfect farm tractor trajectories lead to overlapping spraying areas within the field, where fertilizer concentration will be abnormally high). One possibility to deal with such problems is to provide farm vehicles with automatic guidance capabilities. Such devices could clearly increase guidance accuracy and moreover guarantee it during the all day long, leading to improvements on both the quality of the agronomic tasks carried out and on productivity. Furthermore, farmers would appreciate to be delivered from the arduous driving task.

Several guidance devices have already been marketed (e.g. CLAAS [START_REF]Brunnert A Machine Guidance with Laser and GPS[END_REF], John Deere [START_REF] O'connor | Automatic steering of a farm vehicle using GPS[END_REF], see also [START_REF] Ried | Driverless tractors[END_REF]). However, these systems have been designed to perform specific tasks (harvesting [START_REF]Brunnert A Machine Guidance with Laser and GPS[END_REF], achieving perfectly straight runs [START_REF] O'connor | Automatic steering of a farm vehicle using GPS[END_REF],and so on). Moreover, they do not take into account for sliding phenomena, despite these effects inevitably occur during agricultural tasks, and considerably lower guidance accuracy (as pointed out in [START_REF] Stentz | A system for semi-autonomous tractor operations[END_REF]). Most of these devices rely on GPS sensor, since it can provide a centimeter accuracy in its Real Time Kinematic version (RTK-GPS). Additional exteroceptive sensors are generally used jointly with RTK GPS, such as INS, laser, cameras, and so on.

In previous works, automatic guidance of farm vehicles along arbitrary curved paths, relying uniquely upon a RTK-GPS sensor, has been addressed ( [START_REF] Thuilot | Automatic guidance of a farm tractor relying on a single CP-DGPS[END_REF]). Nonlinear control techniques are shown to provide with very satisfactory guidance accuracy (about 10 cm), excepted when vehicles undergo sliding (when entering into sharp curves or when moving along sloping fields). The most natural way to design guidance laws accounting for sliding phenomena should be to rely upon a vehicle dynamical model. However, this implies on-line estimation of numerous parameters (such as adherence conditions, see [START_REF] Ellouze | Control of unicycle-type robots in the presence of sliding effects with only absolute longitudinal and yaw velocities measurement[END_REF]...), very hard to be measured or induced, especially in real-time conditions. Therefore, nonlinear control law accounting for sliding effects is designed in [START_REF] Lenain | Non-Linear control for car like mobile robots in presence of sliding: Application to guidance of farm vehicles using a single RTK GPS[END_REF] relying upon an extended kinematic model. Guidance accuracy in presence of sliding is shown to be improved. However transient overshoots due to actuation delays and vehicle large inertia are still observed at beginning/end of curves, since sliding effects appear/disappear in a discontinuous way. The opportunity for using Model Predictive Control strategy to address this difficulty has been discussed in [START_REF] Lenain | Adaptive and predictive non linear control for sliding vehicle guidance: application to trajectory tracking of farm vehicles relying on a single RTK GPS[END_REF], and preliminary results have been displayed. In this paper, Model Predictive Control law is designed, and its efficiency is investigated via full-scale experiments.

This paper is organized as follows: vehicle modelling in presence of sliding is first recalled. Estimation of variables required to feed it is described as well as experimental material (vehicle and sensor on boarded). Derivation of a nonlinear control law accounting for sliding effects is then presented, and its capabilities are discussed. Next Model Predictive Control techniques are applied in order to guarantee satisfactory guidance accuracy, even when sliding effects undergo discontinuities. Finally, full scale experiments in actual agricultural conditions (wet fields) and with respect to reference paths enclosing high curvature parts, are reported. Guidance accuracy is shown to stay within the satisfactory range ±15cm.

II. EXTENDED KINEMATIC MODEL

A. Notations

Vehicle modelling proposed in this paper takes into account for sliding phenomena by extending standard kinematic model built under the assumption of pure rolling without sliding (named bicycle or Ackermann model, e.g. [START_REF] Zodiac | Theory of robot control[END_REF] or [START_REF] Thuilot | Automatic guidance of a farm tractor relying on a single CP-DGPS[END_REF]). Notations are hereafter described and depicted on figure 1: • C is the path to be followed,

• O is the center of vehicle virtual rear wheel,

• M is the point on C which is the closest to O. M is assumed to be unique, which is realistic when the vehicle remains quite close from C. • s is the curvilinear coordinate of point M along C, and c(s) denotes the curvature of C at that point. • y and θ are respectively vehicle lateral and angular deviation with respect to reference path C. • δ is the virtual front wheel steering angle.

• v is the vehicle linear velocity, considered here as a parameter, whose value may be time-varying during vehicle evolution. • L is the vehicle wheelbase.

Two sliding parameters, similar to side slip angles in vehicle dynamical models (see [START_REF] Ellouze | Control of unicycle-type robots in the presence of sliding effects with only absolute longitudinal and yaw velocities measurement[END_REF] e.g.) are introduced to account for sliding effects (details about these parameters are available in [START_REF] Lenain | Non-Linear control for car like mobile robots in presence of sliding: Application to guidance of farm vehicles using a single RTK GPS[END_REF]).

• β R P is rear side slip angle defined by the difference between actual speed vector direction at rear axle center O (described by the rear arrow v on figure 1) and theoretical one under rolling without sliding assumption (this direction is superposed with vehicle centerline).

• β F P is the front side slip angle. It is the difference between actual speed vector direction depicted by the red arrow on figure 1 and theoretical one without sliding accounted (defined by actual steering angle δ).

B. Modelling and equations

Vehicle description shown on figure 1 accounting for the actual speed vectors directions (and therefore accounting for sliding effects) is equivalent to a vehicle with two steering angles moving under rolling without sliding conditions. More precisely, considering an equivalent front steering angle δ F as the sum of the actual steering angle and front side slip angle (δ F = δ + β F P ) and an equivalent rear steering angle δ R equal to rear side slip angle (δ R = β R P ), our model is consistent with classical descriptions of two steering wheeled mobile robots. Then, as it has been established for example in [START_REF] Micaelli | Trajectory tracking for unicycle-type and two-steering-wheels mobile robots[END_REF], vehicle evolution with respect to the path to be followed can be described by model [START_REF]Brunnert A Machine Guidance with Laser and GPS[END_REF].

       ṡ = V cos( θ+β R P ) 1-c(s)y ẏ = V sin( θ + β R P ) θ = V cos β R P tan(δ+β F P )-tan β R P L - c(s) cos( θ+β R P ) 1-c(s) y (1)
With respect to model [START_REF]Brunnert A Machine Guidance with Laser and GPS[END_REF], the objective of path tracking control laws is to ensure the convergence of lateral deviation (denoted y) to 0. In agricultural applications, vehicle velocity v is assumed to be controlled by the driver (v is generally constant during work period). As a consequence, steering angle δ is the only control variable available to achieve guidance task. Classical model (e.g. without sliding accounted) used in mobile robots literature can be recovered from model ( 1) by applying null sliding parameters: (β R P , β F P ) = (0, 0).

C. Model feeding: measurements and estimations 1) Direct measurement data:

The main sensor used to achieve path tracking is a RTK GPS manufactured by Thales Navigation (Aquarius 5002 unit). It supplies an absolute position with a 2cm accuracy at a 10Hz rate. Furthermore, velocity vectors are also available. As it can be viewed on figure 2, GPS antenna is located on the top of the vehicle (a CLAAS Ares 640 tractor), straight up control point O (see also figure 1). In addition an angular sensor, mounted on front wheel, provides the actual steering angle.

Fig. 2. GPS antenna location on vehicle

With such an equipment, s and y can be directly measured. A Kalman filter (using speed vector measurement and vehicle modelling) is used to provide θ. Therefore, all state variables of classical kinematic model (i.e. s, y, θ) are available. On the contrary, the sliding parameters β F P and β R P cannot be measured directly without additional sensor.

On line estimation of these parameters is important, since they are not constant and depend on tire/ground contact properties.

2) Sliding parameters estimation:

To complete the knowledge of the extended model variables, sliding parameters are estimated using an adaptive internal model scheme, such as depicted on figure 3. This estimation algorithm relies upon the following assumption: difference between actual position measured by RTK-GPS sensor and foreseen position computed from classical kinematic model (without sliding) is only due to sliding effects. Therefore, model without sliding accounted is simulated in parallel to the actual process and outputs are compared to calculate the two sliding parameters. As it has been shown in [START_REF] Lenain | Non-Linear control for car like mobile robots in presence of sliding: Application to guidance of farm vehicles using a single RTK GPS[END_REF], simulations using model (1) fed by sliding parameters computed according to this adaptive algorithm supplies results very close to actual behavior recorded. 1)) is consistent with standard models of car like mobile robots with two steering axles. Therefore, it can easily be turned into a chain system in order to design control laws. This control design is hereafter detailed.

A. Chained system conversion

It is established in [START_REF] Samson | Control of chained systems. Application to path following and time-varying point-stabilization of mobile robots[END_REF] that mobile robots kinematic models can be converted, in an exact way, into a so called chained form. In the case of Model (1), state and control transformations achieving this conversion can be built from those proposed in [START_REF] Samson | Control of chained systems. Application to path following and time-varying point-stabilization of mobile robots[END_REF]. They can be shown to be:

state transformations (a 1 , a 2 , a 3 ) = (s, y, tan θ + β R P [1 -c(s)y]) control transformations    m 1 = V cos( θ+β R P ) 1-c(s)y m 2 = d d s tan θ + β R P [1 -c(s)y] (2)
Reporting (2) in model (1) leads to the expected chained form, where only the two last equations (a 2 , a 3 ) are required for process description:

a 2 = a 3 a 3 = m 3 = m2 m1 (3)
Derivation with respect to curvilinear abscissa (with notation a i = d ai d a1 = d ai d s ) has been substituted to time derivation in order to reveal linear structure of chained form equations.

According to equation ( 2), calculation of new control m 2 requires derivation of sliding parameter β R P . As no evolution model is available for β R P (since it is provided by estimation algorithm, see figure 3), this time varying parameter will be treated as a constant. Such an approximation has appeared to be relevant during most experiments.

B. Preliminary control design

Since vehicle extended kinematic model (1) can be turned into chained form (3), a natural expression for the virtual control law is:

m 3 = -K d a 3 -K p a 2 (K p , K d ) ∈ +2 (4)
since it insures that a 2 obeys the following equation:

a 2 + K d a 2 + K p a 2 = 0 (5)
Equation ( 5) establishes the following convergences :

• a 2 → 0: in view of state transformation (2), this is equivalent to y → 0 Therefore, vehicle convergence to the path to be followed is ensured (null lateral deviation). • a 3 → 0: in view of state transformation (2), this implies that θ → β R P . This condition shows that, in presence of sliding, the vehicle heading will not be parallel to the reference path tangent, but will compensate effect of rear cornering angle to ensure the convergence of lateral deviation to zero. Vehicle then moves crabway.

The actual control variable is vehicle steering angle. It can be obtained by reporting (4) into (2), and inverting the resulting relation. We obtain:

δ = arctan L cos β R P c(s) cos θ2 α + A cos 3 θ2 α 2 + tan β R P -β F P ( 6
)
where:

   θ2 = θ + β R P α = 1 -c(s)y A = -K d α tan θ2 -K p y + c(s)α tan 2 θ2
Control law [START_REF] Nagasaka | Automated operation in paddy fields with a fiber optic gyro sensor and GPS[END_REF] has been designed from an exact linearization approach. Therefore, it is more robust than any control laws relying on tangent linearization techniques. Moreover, its performances can easily be adjusted by tuning gains K p and K d , which can be viewed as proportional and derivative actions of a linear controller. Since error equation ( 5) is driven by a 1 = s (instead of time), gain tuning allows to impose a settling distance (instead of a settling time), so that control performances are clearly independent from vehicle velocity. In experimental results hereafter detailed, gains are set to (K p , K d ) = (0.09, 0.6). They impose a convergence to the reference path within 15m, without overshoot.

C. Capabilities of nonlinear control law (6)

Full scale experiments reported in [START_REF] Lenain | Non-Linear control for car like mobile robots in presence of sliding: Application to guidance of farm vehicles using a single RTK GPS[END_REF] establish that control law [START_REF] Nagasaka | Automated operation in paddy fields with a fiber optic gyro sensor and GPS[END_REF] provides with accurate guidance capabilities (≈ 10cm) when sliding conditions are almost constant (i.e. when the vehicle follows paths with a constant curvature, or when it describes a straight line on a field with a constant slope). However, when sliding is varying (i.e. when the vehicle is entering into a curve), transient overshoots in lateral deviation can be observed (some experimental results obtained with control law (6) are reported in forthcoming section V). These overshoots originate from delays induced by low-level actuators and to vehicle large inertia that has not been taken into account in control law [START_REF] Nagasaka | Automated operation in paddy fields with a fiber optic gyro sensor and GPS[END_REF], since Model (1) does not describe vehicle dynamical features. These difficulties are addressed in the next section, relying on Model Predictive Control techniques.

IV. PREDICTIVE CONTROL

One way to reject delays phenomenon and overshoots then generated is to design a predictive algorithm. For instance, in order to reduce overshoots at beginning of curve, control law values delivered to the actuator should be anticipated, in such a way that, when the vehicle actually enters into the curve, actual steering angle is consistent with curvature of reference path, despite actuator delay. To achieve this objective, Model Predictive Control (MPC) algorithm (such as developed in [START_REF]Richalet J Pratique de la commande prédictive[END_REF] and in [START_REF]Richalet J Industrial applications of model based predictive control[END_REF]) is used.

A. Control law reformulation

The only reliable data on which anticipation can be achieved is reference path curvature. Therefore, control law [START_REF] Nagasaka | Automated operation in paddy fields with a fiber optic gyro sensor and GPS[END_REF] has to be split into two terms: the first one consisting in the contribution of reference path curvature to the value of δ, and the second one gathering the contributions of deviations y and θ and of sliding parameters β F P and β R P . Anticipation could be achieved on the first term, but of course not on the second one.

To achieve such a separation, just consider the case where the vehicle is perfectly on the path to be followed. Steering angle δ must then be equal to:

tan δ L = c(s) (7)
This geometrical condition can be graphically verified on figure 1 and can be deduced from control law (6), by setting deviations and sliding parameters to zero: (y, θ, β R P , β F P ) = (0, 0, 0, 0). The term which is non null in that situation can be isolated by rewriting control law (6) as: [START_REF]Richalet J Pratique de la commande prédictive[END_REF] where:

δ = δ T raj + δ Deviation δ T raj = arctan(u) δ Deviation = arctan( v 1+uv+u 2 ) -β F P
u = L cos β R P c(s) cos θ2 α v = L cos β R P A cos 3 θ2 α 2 + tan β R P Relation arctan(u+v) = arctan(u)+arctan v 1+u v+u 2
has been used to derive expression (8) from control law [START_REF] Nagasaka | Automated operation in paddy fields with a fiber optic gyro sensor and GPS[END_REF]. The two terms in (8) exhibit the following expected features:

δ T raj : Non null term when deviations and sliding are equal to zero. This term mainly depends on reference path properties. It will be used to design prediction algorithm.

δ Deviation : Null term when deviations and sliding are equal to zero. This term mainly depends on deviations (y, θ2 ) and ensures their convergence to 0.

B. Predictive control design

Since the shape of the reference path is totally known, the desired value for δ T raj , (called hereafter δ Obj ) after a defined time (called horizon of prediction H) can be inferred straightforwardly from s and V (resp. vehicle curvilinear abscissa and velocity). Moreover, via some experiments, actuator behavior can be identified. Therefore, future actual steering angle (called δactual ) to a set of control δ T raj can be predicted. In our case, actuator behavior has been identified as a second order. These notations are depicted on figure 4. This figure shows also δ Ref , which defines the desired convergence shape for δactual to reach δ Obj at the horizon H. In our case, this reference trajectory has been chosen as a discrete first order:

δ Ref [n+i] = δ Obj -γ i .(δ Obj [n] -δactual [n] ) (9)
Parameter γ allows to tune the settling time to the future objective and can be set with respect to the application. MPC algorithm dedicated to this application is detailed in [START_REF] Lenain | Adaptive and predictive non linear control for sliding vehicle guidance: application to trajectory tracking of farm vehicles relying on a single RTK GPS[END_REF]. It consists in finding the future set of control δ P red T raj , which minimizes difference between δactual and δ Ref during prediction horizon H. The first value of set δ P red T raj is then substituted to δ T raj inside control law [START_REF]Richalet J Pratique de la commande prédictive[END_REF], so that final control law is given by: δ = δ P red T raj + δ Deviation [START_REF] Ried | Driverless tractors[END_REF] Fig.

Application of prediction on control expression

The overall control scheme is depicted on Figure 5. Two parameters can be tuned inside the predictive part of the control algorithm: prediction horizon H and gain γ which determines the shape of reference trajectory δ Ref . Since steering actuator has been identified to be a second order process, it could be natural to set prediction horizon H equal to actuator settling time (about 0.5s) and γ close to zero.

However, as delay introduced by the actuator is not the lonely phenomenon which generates overshoots during transient phases, H and γ must be chosen bigger. This allows to reduce reactivity of δ P red T raj and therefore offers a good robustness with respect to vehicle behaviors following from its large inertia. In experiments, prediction horizon H is set to 1s and γ has been experimentally chosen to 0.2. Finally, the introduction of a predictive term smoothes considerably nonlinear control law [START_REF] Nagasaka | Automated operation in paddy fields with a fiber optic gyro sensor and GPS[END_REF]. As a result, sliding parameters variations are slower, so that the assumption of slow varying sliding (in control transformation (2)) is much more valid.

V. EXPERIMENTAL VALIDATION

A. Description of reference paths

Both of the reference path detailed hereafter have been obtained by a previous manual run. Successive positions are recorded by GPS, while tractor is driven by human.

Curved path on an even field:

This path has been drawn on a wet even field. Sliding phenomena appear during curve, since inertial forces and tires deformation generate side slip angles and then sliding effects. The long curve (three quarters of a circle) allows observing how steering laws react with respect to sliding effects when sliding conditions are almost constant. Path following has been achieved at a 8km.H -1 constant speed.

Half turns path on an even field:

Half turn is often used during agricultural tasks (when farmer is coming to the end of field). However, they are more spaced than on the reference path depicted on figure 7. This fast succession of half turns is a very unfavorable case, since vehicle has not enough time to converge to the reference path on each straight lines part linking half turns. The ground on which this path is recorded is the same than for path #2, i.e. it presents the same bad adherence properties. Path following executed on this path has been carried out at a 8.5km.H -1 constant speed.

B. Effects of prediction on steering angle

As a preliminary result, let us consider the benefits of predictive control on steering angle evolution. On figure 8, comparison of recorded steering angle with and without prediction are compared during path #1 following. Steering angle recorded using control law without prediction ( 6) is depicted in red dashed line, while steering angle recorded using control law with prediction [START_REF] Ried | Driverless tractors[END_REF] is shown in green dotted line. First, we can notice that, as expected, steering angle computed from predictive control law begins to react prior to the modification of reference path curvature (at 30m and 65m). This is of course not the case when prediction is not used. Secondly, since δ P red T raj is computed from (9) which acts somehow as a filter, steering angle evolution with predictive control law is smoothed, as it can be seen on figure 8. As a consequence, assumption of slow varying sliding parameters is much more valid. Passengers comfort is also improved. Guidance accuracy resulting from these two control laws can be studied on the forthcoming figure 9 C. Guidance accuracy On the following figures (figures 9 and 10), vehicle lateral deviation with respect to the reference path is depicted for several control laws:

• In black solid line: lateral deviation when classical control law (i.e. without sliding accounted and without prediction, as in [START_REF] Thuilot | Automatic guidance of a farm tractor relying on a single CP-DGPS[END_REF]) is used. • In red dashed line: lateral deviation when control law [START_REF] Nagasaka | Automated operation in paddy fields with a fiber optic gyro sensor and GPS[END_REF] with sliding accounted and without prediction is used. • In green dotted line: lateral deviation when control law [START_REF] Ried | Driverless tractors[END_REF] with sliding accounted and with prediction is used. Reference path #1 following allows studying the capabilities of control laws with respect to almost constant sliding conditions (during a long and constant curve). Indeed, figure 9 shows that a classical control law (control law [START_REF] Nagasaka | Automated operation in paddy fields with a fiber optic gyro sensor and GPS[END_REF] with sliding parameters set to zero), such as developed in [START_REF] Samson | Control of chained systems. Application to path following and time-varying point-stabilization of mobile robots[END_REF] or in [START_REF] Thuilot | Automatic guidance of a farm tractor relying on a single CP-DGPS[END_REF], does not allow preserving a null lateral deviation once sliding effects are present (lateral deviation during curve grows up to 40cm). Control law [START_REF] Nagasaka | Automated operation in paddy fields with a fiber optic gyro sensor and GPS[END_REF], which takes into account for sliding but does not use any prediction, is able to steer vehicle on the path to be followed (the lateral deviation mean value is about 0) when sliding conditions are constant (i.e. when the vehicle describes the curve with a constant curvature). However, during the transient periods (beginning of the curve at 35m, and end of the curve at 65m) overshoots are present with an important value. The use of predictive algorithm in addition to sliding accounted allows reducing considerably these overshoots. Vehicle stays in an acceptable range of deviation (about ±15cm). The punctual peek in lateral deviation at 45m is due to a hole crossing the reference path and its effect can be observed on the three lateral deviation evolutions. However, this peek is not representative of a loss of accuracy, but an external disturbance recorded by GPS. As it has been said here before, this path is a very unfavorable one, especially for control law (6) (without prediction), since the consecutive transient periods generate consecutive overshoots. Guidance accuracy is still better than those obtained with a classical law, but benefits of accounting for sliding are not obvious. On the contrary, predictive control with accounted allows steering the vehicle very close its reference path, despite these successive half turns.

VI. CONCLUSION AND FUTURE WORKS

This paper has proposed a Model Predictive Control to achieve path following when vehicles or car like mobile robots undergo important sliding effects, such as the ones that can be encountered in agricultural applications. An adaptive nonlinear control law accounting for sliding effects has first been designed. Then a predictive algorithm has been added, in order to reduce transient overshoots due to actuation delays and vehicle large inertia. Moreover, prediction algorithm smooths control variable, so that assumption of slow varying sliding parameters (used to build adaptive nonlinear control law) is quite valid during experiments.

Capabilities of the proposed control scheme have been studied via full scale experiments, demonstrating important improvements. Guidance accuracy is preserved, not only when sliding conditions are constant (when the vehicle describes a curve), but also transiently when the vehicle enters/exits into/from a curve, which is the most unfavorable situations since sliding parameters undergo discontinuities. Overshoots phenomena is so significantly reduced. For instance, when achieving path following with successive half turns (the most unfavorable case for mobile robot control), maximal lateral deviation is about 20cm, when it was superior to 40cm when predictive term was not used. Moreover, such deviations are recorded punctually: guidance accuracy stays in the acceptable range of ±15cm during almost all automated steering.

Improvements in predictive algorithm can be achieved by integrating some dynamical effects inside the model used for prediction (currently, only actuator properties are taken into account). We are currently working on the design of a suitable dynamical model, bringing relevant information without leading to untractable computations. Another benefit can be gained by improving sliding estimation algorithm. Currently, a direct calculation using difference between actual process and a simulated one where sliding is not accounted allows to extract sliding parameters. More elaborate observers are been investigated to improve estimation of these two sliding parameters.

Fig. 1 .

 1 Fig. 1. Classical kinematic model parameters

Fig. 3 .

 3 Fig. 3. Sliding detection III. CONTROL DESIGN As it has already been pointed out, model accounting for sliding (i.e. model (1)) is consistent with standard models of car like mobile robots with two steering axles. Therefore, it can easily be turned into a chain system in order to design control laws. This control design is hereafter detailed.

Fig. 4 .

 4 Fig. 4. Notations and general description of MPC

Fig. 6 .

 6 Fig. 6. path #1: long constant curve on field

Fig. 7 .

 7 Fig. 7. path #2: several half turn on field

Fig. 8 .

 8 Fig. 8. Steering angle (path #1 following) with and without prediction

Fig. 9 .

 9 Fig. 9. Lateral deviation during path #1 following

Fig. 10 .

 10 Fig. 10. Lateral deviation during path #2 followingReference path #2 following shown on figure 10 confirms these remarks. As it has been said here before, this path is a very unfavorable one, especially for control law (6) (without prediction), since the consecutive transient periods generate consecutive overshoots. Guidance accuracy is still better than those obtained with a classical law, but benefits of accounting for sliding are not obvious. On the contrary, predictive control with accounted allows steering the vehicle very close its reference path, despite these successive half turns.