Eric Lucet
email: eric.lucet@cea.fr

Alain Micaelli
email: alain.micaelli@cea.fr

François-Xavier Russotto
email: francois-xavier.russotto@cea.fr

Accurate autonomous navigation strategy dedicated to the storage of buses in a bus center

Keywords:

a b s t r a c t

This paper deals with an innovative autonomous bus navigation and parking system in a bus depot, in order to optimize their movements in a confined area. The kinematic model of the vehicle is defined. Considering its dimensions and weight as well as the centimetric accuracy required, a predictive controller is designed, based on its model linearized around the changing path curvature value, to perform accurate curved paths tracking with a limited tracking error guaranteed by the consideration of a constraint. This controller and additional sliding observers are designed according to the distance traveled, allowing maneuvers to be performed at any forward or backward speed with constant accuracy. In addition, these observers are not affected by path tracking errors. The implementation on an industrial vehicle, operated under realistic conditions, demonstrates the performance and robustness of this navigation system.

Introduction

Motivation and prior work

The development of autonomous driving technologies on public transport systems is now underway, including the modernization of existing service buses [START_REF] Lin | From rail to railless: Retrofitting servicing buses for safe autonomous public transportation[END_REF] to enable automated driving, and also the design of new bus architectures [START_REF] Ginn | Conceptual design and prototyping of a Slim Semi-autonomous Bus Rapid Transit Vehicle[END_REF]. In this context, the European EBSF2 project [START_REF][END_REF] aims to develop a new generation of urban buses using new technologies and infrastructures, and to test them in operational scenarios on several European bus networks.

In particular, one of the main problems encountered concerns the storage of buses in closed centers. These multi-storey centers have narrow passageways and limited parking spaces. This leads to bus collisions with the infrastructure, or even to a collision between buses. Therefore, the speed in the bus center is generally limited to 8 km h -1 .

In order to limit these accidents and save drivers time when parking and retrieving their buses, the project proposes to set up an Automatic Bus Guidance System (ABGS). This system is intended for the automated guidance of buses in a known semiopen private environment (storage center). The map of the environment and the trajectory to be followed are assumed to be known a priori. This data is made directly available by the bus depot operator. For other bus use cases, the trajectory can be reconstructed online, for example via lane detection based on the data of a 2D laser scanner with trajectory planning based on this detection [START_REF] Zhiwei | Map free lane following based on low-cost laser scanner for near future autonomous service vehicle[END_REF]. The principle of use is as follows. A bus driver who starts his working day arrives at the entrance to the bus station and, via a dedicated interface, selects the bus with which he wishes to work. The bus parked in the bus center automatically leaves its location and follows a predefined path to the bus center exit where it stops at a dedicated and ready-to-use location. Similarly, at the end of the day, the driver who ends his work day leaves the bus at a designated location at the entrance to the bus center. Then, the bus must automatically follow a predefined route in its own area (no pedestrians allowed) to the assigned parking space. This type of functionality has already been investigated, particularly for lane keeping and precision docking of an articulated bus using a linear steering rate controller [START_REF] Tan | Design of a high-performance automatic steering controller for bus revenue service based on how drivers steer[END_REF].

For the implementation of such a system, the mechanical architecture of the bus is kept intact. Localization sensors (odometry of the front steering angle and wheel speed, stereoscopic cameras for absolute positioning with respect to the surrounding infrastructure) and safety sensors (lasers for obstacle detection) are installed on the bus. An embedded computer is connected to these sensors and to the bus actuators (steering and propulsion). On the basis of instructions given via the man-machine communication interface, the ABGS must ensure autonomous bus navigation.

Autonomous storage of buses in a bus center requires the control of heavy and large vehicles in confined spaces, for an accurate tracking of paths that may have sharp curves. In particular, a promising solution for the nonadmissible trajectory tracking problem is the transverse function approach that has been proposed in [START_REF] Morin | Control of nonholonomic mobile robots based on the transverse function approach[END_REF] and exploited in [START_REF] Pazderski | Motion control of a car-like vehicle with front driving wheels using an approximate decoupling based on the transverse function approach[END_REF] with an application to car-like vehicles, the feasibility of which remains to be proven in practice. Then, the control of these heavy vehicles is a problem, due to the high inertia and non-linear behavior of the actuators. Generally, the pneumatic braking system of a heavy vehicle is not linear and is subject to high uncertainties. For example, an adaptive controller for the precise stopping of a bus has been demonstrated during a docking maneuver in [START_REF] Bu | Pneumatic brake control for precision stopping of heavy-duty vehicles[END_REF]. Also, a model of a truck hydraulic power steering system was computed and used to design a yaw rate controller in [START_REF] Gao | A study on yow rate control of hydraulicpower-steering heavy duty vehicles[END_REF]. More specifically for the automation of the parking process, a fuzzy controller was introduced for the rear parking movement of trucks in the presence of obstacles in [START_REF] Sharafi | Intelligent parking method for trucks in presence of fixed and moving obstacles[END_REF]. The method requires eight distance sensors integrated into the vehicle and is validated in simulation. Quantitative information is provided to estimate the accuracy of this method. A divergence-based control law is proposed for docking a robot close to an upright surface in [START_REF] Mccarthy | A robust docking strategy for a mobile robot using flow field divergence[END_REF]. Based on optical flow, this method requires good weather conditions for the camera to detect the upright surface at a reasonable distance. Another vision-based docking strategy, which achieves centimetric accuracy, is the use of image-plane measurements [START_REF] Amarasinghe | Vision-based hybrid control strategy for autonomous docking of a mobile robot[END_REF]. Similarly, other preliminary results for autonomous backward parking were obtained from a multi-sensor-based interaction model [START_REF] Pérez-Morales | Multi-sensor-based predictive control for autonomous backward perpendicular and diagonal parking[END_REF]. Here, a model-based predictive controller (MPC) is designed. Based on sensors data, this controller constantly anticipates the respect of a maximum position error constraint. This kind of controller can be used to manage the vehicle's braking to avoid collisions while ensuring lateral stability [START_REF] Cheng | Longitudinal collision avoidance and lateral stability adaptive control system based on MPC of autonomous vehicles[END_REF], for example. Also, constrained MPC has already been used in mobile robotics, with several model choices being possible. For example, application cases are available in [START_REF] Yakub | Model predictive control for car vehicle dynamics system -comparative study[END_REF] or in [START_REF] Oyelere | The application of model predictive control (MPC) to fast systems such as autonomous ground vehicles (AGV)[END_REF]. In [START_REF] Ji | Path planning and tracking for vehicle collision avoidance based on model predictive control with multiconstraints[END_REF], authors consider a discrete linear vehicle lateral and yaw dynamic model with a constant longitudinal velocity, their objective being to maintain a collision-free path on the road. Our case study is different, in that the speed is not constant and can even change sign, and the model considered must include a non-zero curve path. However, the lateral positioning constraints remain similar. In addition, the choice of the model used is crucial with respect to the intended application. In practice, the parameters of a dynamic model-based predictive control are often difficult to set, as this setting fluctuates greatly with the environment, in particular the state of the ground and the tire which wears down over time, as well as the variable inclination of the ground in a bus depot. Under these conditions, such methods as those proposed by [START_REF] Krid | A new explicit dynamic path tracking controller using Generalized Predictive Control[END_REF] or by [START_REF] Zuo | A novel dynamic model-based predictive control of unmanned ground vehicles[END_REF], for example, do not continuously guarantee the expected accuracy, which is why a kinematic model with slip consideration is preferred. Then, if a non-linear model is theoretically more accurate, the difficulty in implementing an MPC is to find a solver that guarantees to find a solution in a limited time for online use. However, if several nonlinear programming problem solvers exist ( [START_REF] Johnson | The NLopt nonlinear-optimization package[END_REF][START_REF] Agarwal | Ceres solver[END_REF], etc.), none of them can always guarantee such a result. Other stochastic solvers could be envisaged for these cases of nonlinear MPC [START_REF] Wah | Constrained genetic algorithms and their applications in nonlinear constrained optimization[END_REF], but their robustness to changes in the operating environment is not guaranteed, and they do not comply with the bus operator's specifications for implementing a deterministic solution meeting machine standards. Subsequently, the aim of this work is to demonstrate that, with some adjustments, the use of a well-defined linear model leads to accurate results, even in real test situations.

Then, an observer described in [START_REF] Lucet | A kinematic parameter estimator applied to a bi-directional vehicle[END_REF] is computed independently of the controller by optimizing a quadratic criterion, a similar strategy having already been proposed in [START_REF] Berntorp | Particle filter for combined wheel-slip and vehicle-motion estimation[END_REF] for example in the automotive field, but using a particle filter. The aim is to periodically and accurately update the model parameters. In case of lack or failure of global positioning or to improve dead-reckoning performance, other recent works are proposing a solution for estimating the position, orientation and speed [START_REF] Brossard | AI-IMU dead-reckoning[END_REF] or the wheel slip angle [START_REF] Chaichaowarat | Wheel slip angle estimation of a planar mobile platform[END_REF], from proprioceptive measurements only.

Approach

In this work, control of a heavy mobile robot with front steering axle and rear driven wheels, equipped with an absolute position measurement system, is considered. The objective is to follow a predefined trajectory in the bus center with sufficient lateral accuracy, including control and localization errors, to ensure safe navigation with other buses and infrastructure at a speed of 2.2 m s -1 , the maximum authorized speed in the bus center (2.2 m s -1 = 8 km h -1 ). This trajectory is divided into tracks of variable curvature, some of which have to be followed in forward and others in reverse. The bus center configuration with buses is presented in Fig. 1. Buses always park in reverse.

Parking and exit processes are proposed to be automated with a dedicated control approach. Indeed, a linearized bus model is being considered to design a predictive control that can take into account control inputs and state constraints in relation to the environment. In particular, this approach must ensure a minor lateral deviation of the bus from its reference trajectory over a certain prediction horizon throughout the navigation path. It also allows positive and negative speed movements, without any discontinuity problems during transitions between positive and negative speeds via zero speed. block diagram in Fig. 2 describes the control architecture. This architecture consists of two blocks:

• the first block above is dedicated to the control itself, the steering controller being built on the basis of a 2D kinematic horizontal plane model of the vehicle;

• the second block below is an online observer, the sliding estimation being dedicated to the correction of sliding values of the control model. This kind of architecture, based on a kinematic model updated online, makes it easier to handle low speed movements without penalty for higher speed movements via a sliding correction. Vehicle state and sliding are observed on the basis of this kinematic model.

Layout

In this document, models for path generation, observation and control are designed for an automated bus-type vehicle in Section 2. The model chosen is horizontal plane-roll and pitch are not taken into account. Then, the linear predictive control algorithm designed in Section 3 respects, when necessary, the position constraints during navigation. The vehicle state observation presented in Section 4 is based on an extended Kalman filter; it is complemented by an estimate of longitudinal sliding and sideslip angles. The path is defined in Section 5 as a series of tracks parametrized by their curvilinear abscissa and curvature. These algorithms are validated by kinematic and dynamic simulations, and results are presented in Section 6. On-site tests with a real system are presented in Section 7, with the various parameters involved in control and observation adjusted. Finally, conclusions and perspectives are presented in Section 8.

Discussion about choices

The kinematic model and the controller are linearized, which simplifies the controller's expression and allows less demand for calculations for its use in realistic situations. It also makes it easier to implement a predictive controller, in order to prevent a possible collision or to determine a control solution, when it exists, in a constrained environment (lateral position limit constraints for example).

Kinematic model equations are written and linearized around the track curvature value, which varies from one track to another, for tracking purposes. The predicted state equations of the discretized model are written by considering a variation in the path curvature at each sampling step, so that the control can handle the case of a variable curvature over the prediction horizon.

In addition, a polynomial defines a fictive curvature as a function of the actual path curvature, in order to feed the control with a more progressive variation curvature allowing a smoothing of the path and the control. In this way, paths are followed with good accuracy on different types of track geometries, including inter-track transitions, as long as the variation in the curvature value is kept within a reasonable range with respect to the response time of the bus steering actuator.

Finally, an Extended Kalman Filter observer is designed. And a longitudinal slip and sideslip angles estimation makes it possible to compensate for wheel-soil sliding phenomena with a dynamic that depends on the refresh period of the position measurement, but also to identify parameters that are difficult to measure with precision, such as the effective diameter of the wheel (necessary for longitudinal odometry) and steering angle offsets.

Thus, the advantage of this global method lies in the resulting accuracy for any forward or reverse navigation speed under constraints of confined areas.

Modeling

In this section, the different kinematic models used for control and observation are computed with a rigid body motion formalism using the tools of linear algebra and screw theory [START_REF] Murray | A Mathematical Introduction to Robotic Manipulation[END_REF]. A control algorithm based on a linearized model is defined.

Kinematic model

The kinematic model defined for the control synthesis is an extension of a previous model (see [START_REF] Micaelli | Trajectory Tracking for Unicycle-Type and Two-Steering-Wheels Mobile Robots[END_REF]) adapted to Fig. 3. Each of the two front and rear wheels of the bus are considered equivalent to two virtual wheels located halfway between the real wheels. The bus is then simplified into a conventional bicycle model in top view. Given the Ackerman-type mechanical front steering system, the correspondence between the angle of the virtual wheel in the middle of the front axle, which corresponds to the steering setpoint, and the angle of each of the two real front wheels can be obtained using the classical Ackerman relations. In addition, to ensure that the desired front steering setpoint value is applied, an observer presented in Section 4.2 will be used to estimate any possible steering offset. The frame (f) is fixed to the bus front wheel center with its longitudinal axis in the wheel steering direction. The same applies to frame (r). The controlled frame is (r). The controller ensures the convergence of this frame on the reference path. Reference front

( c f )
and rear (c r ) frames calculation is described more in Section 5.1. Notations are the following. k T i/j is the twist at the origin of frame (i) with respect to frame (j), expressed in frame (k). For simplicity, (k) and (j) are not specified if k = i or if j = 0, with (0) the world frame. j Ad i is the adjoint matrix, for transporting frame (i) into frame (j). Notations are the same for j R i , j t i and scalars, not specifying (j) when j = 0.

Equations of motion

Referring to Fig. 3, it is assumed that the sliding angles δ f ,r are small, so that they can be assimilated to a variation of α f ,r . Kinematic equations are defined in the two frames (f) and (r) by T f and T r twists, and T f /m and T r/m the twists in relation to the vehicle body frame (m).

Then, the following classical car-like system equations are obtained by combination of these twists:

{ θm = sin β f l f -lr v f = tan β f l f -lr v r v r = v f cos β f (1)

Trajectory following equations

The projection of both frames (f) and (r) on the trajectory tracks in the corresponding frame, respectively

( c f )
and (c r ), is considered. With respect to these frames, evolution of (f) and (r) is given by:

f T f /c f = T f -f Ad c f T c f , r T r/cr = T r -r Ad cr T cr (2)
with:

Fig. 3. Planar horizontal model. • f ,r Ad c f ,r = [ 1 0 1×2 -J f ,r t c f ,r f ,r R c f ,r ] ; • f ,r t c f ,r = -f ,r R c f ,r [ 0 c f ,r y f ,r ] ; J = [ 0 -1 1 0 ] ; • f ,r R c f ,r = [ cos ( θ m -θ c f ,r + β f ,r ) sin ( θ m -θ c f ,r + β f ,r ) -sin ( θ m -θ c f ,r + β f ,r ) cos ( θ m -θ c f ,r + β f ,r ) ] ; • T c f ,r = [ c f ,r ṡf ,r ṡf ,r 0 ]
, with s f ,r and c f ,r the curvilinear abscissa and curvatures associated with the trajectory in

( c f
) and (c r ) frames respectively.

Especially for the front axle:

f t c f = f R c f [ 0 -c f y f ] = [ c f y f sin(θ cf -θ f ) -c f y f cos(θ cf -θ f ) ] and: -J f t c f = [ -c f y f cos(θ cf -θ f ) -c f y f sin(θ cf -θ f ) ] , with θ f = θ m + β f . Thus: f Ad cf = [ 1 0 0 -c f y f cos(θ cf -θ f ) cos(θ cf -θ f ) -sin(θ cf -θ f ) -c f y f sin(θ cf -θ f ) sin(θ cf -θ f ) cos(θ cf -θ f ) ]
; and:

f T f /c f = ⎡ ⎣ θm -c f ṡf + βf v f + y f cos ( θ cf -θ f ) c f ṡf -cos(θ cf -θ f )ṡ f 0 + y f sin ( θ cf -θ f ) c f ṡf -sin(θ cf -θ f )ṡ f ⎤ ⎦ . Con- sidering c f T f /c f = c f Ad f f T f /c f we have: f R t c f J f t c f = [ -cos ( θ cf -θ f ) -sin ( θ cf -θ f ) sin ( θ cf -θ f ) -cos ( θ cf -θ f ) ] [ c f y f cos ( θ cf -θ f ) c f y f sin ( θ cf -θ f ) ] = [ -c f y f 0 ] ; and then: c f Ad f = f Ad -1 cf = ⎡ ⎣ 1 0 0 -c f y f cos ( θ cf -θ f ) sin ( θ cf -θ f ) 0 -sin ( θ cf -θ f ) cos ( θ cf -θ f ) ⎤ ⎦ .
In frame

( c f ) : c f θf = θm -c f ṡf + βf ; c f ẋf = v f cos ( θ c f -θ f ) -ṡf -c f y f ( θm + βf -2c f ṡf ) . Thus: c f ẋf = v f cos ( θ c f -θ f ) -ṡf ( 1 -c f c f y f ) -c f y f c f θf ; and: c f ẏf = -v f sin ( θ c f -θ f )
.

By writing the relative velocity

f T f /c f in frame ( c f
) without transport, meaning by multiplying the velocity of translation by matrix f R t c f , we have:

⎧ ⎨ ⎩ c f θf = sin β f l v f + βf -c f ṡf 0 = v f cos ( θ f -θ c f ) -ṡf (1 -c f c f y f ) c f ẏf = v f sin ( θ f -θ c f ) (3)
Similarly r T r/cr is expressed in frame (c r ):

⎧ ⎨ ⎩ cr θr = tan β f l v r -c r ṡr 0 = v r cos ( θ r -θ cr ) -ṡr (1 -c r cr y r ) cr ẏr = v r sin ( θ r -θ cr ) (4)

Linearized model

The navigation path considered is a circle of constant curvature c r . Above models are then linearized around the steady state:

• θ r = θ cr ; • cr y r = 0; • tan β f = lc r = tan β c .
β c is the constant front steering angle of the bus to track the circular path.

Decomposition law of the tangent function into its Taylor

series at point β c is considered: tan(x) ≈ tan β c + (1 + tan 2 β c )(x -β c ) + tan β c (1 + tan 2 β c )(x -β c ) 2
And, by writing:

• θ = θ r -θ cr ; • v = v r ; • y = cr y r .
The linearization of Eq. ( 4) gives:

ṡr = v cos θ 1-cr y ≈ v 1-cr y ; ẏ = v sin θ ≈ vθ = (1 -c r y)ṡ r θ; θ = [ lc r + (1 + l 2 c 2 r )(β f -β c ) ] v l -c r ṡr .
⎧ ⎪ ⎪ ⎨ ⎪ ⎪ ⎩ θ ′ = (1+l 2 c 2 r ) l (β f -β c ) -c 2 r y y ′ = θ y ′′ = θ ′ y ′′′ = (1+l 2 c 2 r ) l β ′ f -c 2 r y ′ (5)
⎧ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎨ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎩ y = ⎡ ⎣ 1 0 0 0 1 0 -c 2 r 0 1+l 2 c 2 r l ⎤ ⎦ x = Px; y ′ = ⎡ ⎣ 0 1 0 0 0 1 0 -c 2 r 0 ⎤ ⎦ y + ⎡ ⎣ 0 0 1+l 2 c 2 r l ⎤ ⎦ β ′ f = AP -1 y + Bu. (6)

Observation models

The state observation is based on Eqs. ( 1), ( 3) and ( 4), and on the pose

X m = [ θ m x m ] .
Twists and positions of frames (f) and (r) are used for sliding observation. Unlike previous work (e.g. [START_REF] Cariou | Automatic guidance of a fourwheel-steering mobile robot for accurate field operations[END_REF][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] or [START_REF] Lenain | Sideslip angles observer for vehicle guidance in sliding conditions: application to agricultural path tracking tasks[END_REF]), observation does not depend on the path. The major advantage is that the observer is not disturbed in case of a significant path tracking error.

MPC for steering control

In order to take severe accessibility constraints into account when navigating in bus centers, a predictive controller is implemented. This controller is based on a discretized model obtained from Eqs. [START_REF] Morin | Control of nonholonomic mobile robots based on the transverse function approach[END_REF]. It optimizes a criterion that depends on predicted states and future control inputs over a spatial window of length nS, S being the discretization step and n the number of selected steps, guaranteeing, if possible, certain constraints on the state (an acceptable position error) and control (steering speed limits). This controller regulates the bus steering, while an independent speed controller is defined further in Section 5.2.

Linearized model discretization

Given the linearized model ( 6

+

∫ s 0 e Ac (s-τ ) B c u(τ )dτ . A c and B c are assumed to be constant with respect to the curvilinear abscissa s. This hypothesis is maintained over a small distance S, meaning that A c k and B c k are functions of a curvature c r k which is constant over a step S.

Performing a discretization of one step of length S along the curvilinear abscissa, state matrices of the discrete system

y k+1 = A d k y k + B d k u k , k ∈ N, are given by: ⎧ ⎪ ⎨ ⎪ ⎩ A d k = e Ac k S = I 3 + SA c k + • • • + S i i! A i c k + • • • B d k = e Ac k S ∫ S 0 e -Ac k τ dτ B c k = Bc k Ac k (A d k -I 3 ) (7)
u k control input is assumed to be constant over a sampling step S. For the consideration of forward and backward displacements, these calculations have to be made for S > 0 and S < 0.

Predicted states

Predicted states are computed from the knowledge of the current state y 0 and by using matrices A d k and B d k , previously computed. A recursive calculation on n steps gives:

⎧ ⎪ ⎪ ⎪ ⎨ ⎪ ⎪ ⎪ ⎩ y 1 = A d 0 y 0 + B d 0 u 0 y 2 = A d 1 A d 0 y 0 + A d 1 B d 0 u 0 + B d 1 u 1 y 3 = A d 2 A d 1 A d 0 y 0 + A d 2 A d 1 B d 0 u 0 + A d 2 B d 1 u 1 + B d 2 u 2 etc.
In matrix form:

⎡ ⎢ ⎢ ⎣ y 1 y 2
. . .

y n ⎤ ⎥ ⎥ ⎦ = ⎡ ⎢ ⎢ ⎣ A d 0 A d 1 A d 0 . . . A d n-1 • • • A d 0 ⎤ ⎥ ⎥ ⎦ y 0 + ⎡ ⎢ ⎢ ⎢ ⎢ ⎣ B d 0 0 3×1 • • • 0 3×1 A d 1 B d 0 B d 1 . . . . . . . . . . . . . . . 0 3×1 A d n-1 • • • A d 1 B d 0 A d n-1 • • • A d 2 B d 1 • • • B d n-1 ⎤ ⎥ ⎥ ⎥ ⎥ ⎦ ⎡ ⎢ ⎢ ⎣ u 0 u 1 . . . u n-1 ⎤ ⎥ ⎥ ⎦ (8)
and more synthetically:

Y = Ay 0 + BU (9)

Criterion

The criterion to be optimized is a quadratic function of the predicted state Y and the future control input U. It is expressed as follows:

crit = 1 2 Y t QY + 1 2 U t RU (10)
Q and R are weighting matrices of sizes 3n × 3n and n × n respectively for the state and the control.

Q has a block diagonal structure of elements γ k Q Q 3×3 and R has a block diagonal struc- ture of elements γ k R R 1×1 . ( γ Q ; γ R ) ∈ ]0; 1[ 2 are forgetting factors, k ∈ [1; n]
is the index of a block in the diagonal, and Q 3×3 and R 1×1 are positive definite chosen matrices.

Expression of the criterion as a function of U, is given by:

crit = 1 2 U t ( B t QB + R ) U + y t 0 A t QBU (11)
where the parameter depending on y 0 is expressed separately.

Constraints

The expression of state constraints for given vehicle dimensions is defined hereafter by Eq. [START_REF] Amarasinghe | Vision-based hybrid control strategy for autonomous docking of a mobile robot[END_REF]. By simple approximation, the vehicle is modeled as a rectangle with front and rear ends at a distance of D f and D r respectively from the front steering axle along the longitudinal axis. Specifying that these ends remain within a tolerance δ gap around the path can be written as follows:

{ |y -D r sin(θ m -θ c )| < δ gap ⏐ ⏐ y + D f sin(θ m -θ c ) ⏐ ⏐ < δ gap
Thus, by linearizing and writing θ = θ m -θ c , it results:

-

[ δ gap δ gap ] ≤ [ 1 -D r 0 1 D f 0 ] x ≤ [ δ gap δ gap ] (12) With D = ⎡ ⎢ ⎣ 1 -D r 0 1 D f 0 -1 D r 0 -1 -D f 0 ⎤ ⎥ ⎦ P -1
, and d = δ gap 1 4×1 , this constraint can be rewritten as:

Dy + d ≥ 0 4×1 (13)
Extended to all the n predicted states and written as a function of future controls, it becomes:

DBU + d gap + DAy 0 ≥ 0 4n×1 (14)
with:

• D, a block diagonal matrix consisting of n blocks D;

• d gap = δ gap 1 4n×1 .

Control synthesis

Control input vector U results as the solution to the following quadratic problem:

⎧ ⎨ ⎩ min U 1 2 U t ( B t QB + R ) U + y t 0 A t QBU DBU + d gap + DAy 0 ≥ 0 4n×1 (15)
Extracting β ′ f = u 0 , the first element of solution U, gives the control law: βf = v f u 0 .

Management of curvature variations at inter-track transitions

When linearizing the bus kinematic model around a track curvature c r , a nominal β f forward steering angle configured for the corresponding curvature is assumed a priori. So, a direction angle variation can be observed in the prediction algorithm between two tracks. A too important variation will not be feasible in a real situation.

One solution to this problem is to artificially modify the value of the curvature c r over the n prediction horizon, so as to obtain a gradual variation at the change of track.

Since the bus is currently running on a c r 0 curvature track and has to reach a c r n-1 curvature track at nS horizon, the c r i , 1 ≤ i ≤ n -2 curvature is redefined at all intermediate positions by the following polynomial:

c r i = c r n-1 -c r 0 n -1 i + c r 0
for a linear progression between c r 0 and c r n-1 .

Other choices are possible, including more complex higher degree polynomials. Depending on the case, the ratio between the value of the prediction horizon nS and the size of tracks is to be considered. Indeed, in the case where the prediction horizon nS is small in front of the track size, this method ensuring a redefinition of each of the intermediate curvatures c r i will be the most relevant, as it is similar to a virtual subdivision of these curvatures. On the other hand, if the prediction horizon nS becomes significant with regard to the size of tracks, which may be the case, for example, by applying the proposed method at the end of the following paragraph 5.1.1, a virtual variation of the curvature values is not always necessary. Otherwise, it must be ensured that any new virtual curvature value does not distort the trajectory by always remaining between the actual value and the next different real value.

Observer

The observer is designed in three stages. The first stage consists in observing the position, orientation and speed. The second stage consists in observing a pseudo longitudinal slippage and, rather than observing a real slippage, an equivalent wheel diameter is observed. The last stage consists in observing the lateral slippage.

For these stages, measured proprioceptive state variables are taken into account, such as:

• ω f and ω r , the average rotation speeds of the front and rear wheel axles;

• α f , the front steering angle;

• αf , the front steering velocity.

For measurements of exteroceptive variables, it is assumed that the following variables are available:

• o x mmes , the measured position of frame (m) with respect to the reference frame (o); • o θ mmes , the measured vehicle orientation with respect to the reference frame (o).

Thereafter, and to simplify writing, exponent o referring to the reference frame is removed.

State observation

For this observer, the estimated sideslip angle δf is taken into account (see paragraph 4.2.2):

βf = α f + δf (16)
as well as the estimated mean wheel diameter dwheel (see para- graph 4.2.1).

Odometry

The first stage in observing the state is to compute an estimate of front and rear speeds v f and v r consistent with the kinematic model, using Eq. ( 1). Considering v fmes = dwheel 2 ω fmes and v rmes = dwheel 2 ω rmes , a solution to this problem is given by: ⎧

⎪ ⎨ ⎪ ⎩ vf = v fmes + q -1 f φv q -1 f φ2 v +q -1 r ∆ vr = v rmes + q -1 r q -1 f φ2 v +q -1 r ∆ (17)
where:

• ∆ = v rmes -φv v fmes ; • φv = cos βf ; • q -1 f et q -1 r
are filtering parameters, but may also be considered as v fmes and v rmes error variances.

These measured and estimated variables are used to compute the following expression:

T m odo = m Ad f odo ( T f odo -T f /m odo ) (18)
with the subscript (•) odo meaning odometry.

State estimate

Based on generic vectors X =

[ θ x ] , T = [ ω v ] and the corresponding matrices [X] = [ R θ x 0 1×2 1

]

, and [T] =

[

Ω v 0 1×2 0 ] , with Ω = [ 0 -ω ω 0 ]
, the state equation is given by:

[X m ] k+1 = [X m ] k e dt [ Tm odo k ] (19)
This is a nonlinear equation. Variation of the estimation of [X m ] k+1 , expressed as a twist function of the variation of [X m ] k and linearized to the first order, can be written as follows:

Tm k+1 = k+1 Ad k Tm k + dtT m odo k [START_REF] Johnson | The NLopt nonlinear-optimization package[END_REF] where:

• k+1 Ad k = Ad e -dt [ Tm odo k
] is the adjoint matrix related to e -dt

[

Tm odo k ] ;
• Tm k and Tm k+1 are expressed in frames X m k and X m k+1 respec- tively.

The variance relative to the state equation ( 19) is function of the variance of the odometry twist T m odo which, for a short enough sampling period dt, can be expressed by:

Q k = dt 2 q odo k (21)
where q odo k is the variance of T m odo k . And this variance expression is given by:

P k+1/k = k+1 Ad k P k/k k+1 Ad t k + Q k (22)
If the X mes measurement is available synchronously with X m k , then an Xm k estimator of X m k can be written as:

[ Xm k ] = [ X m k ] e [ L X Tm mes k ] (23)
where L X is an observation gain matrix and T mmes k , is the error twist expressed in the X m k frame. The estimator minimizing the variance is given by:

L X = P k/k-1 ( P k/k-1 + R ) -1 (24)
where:

• P k/k-1 is the X m k state variance matrix before estimation;

• R is the X mmes measurement variance matrix.

The variance of the resulting state Xm k is then given by:

P k = P k/k-1 -L X P k/k-1 (25)
The error and variance are propagated to the following states using Eq. ( 20) until the measurement is available. If the X mes measurement is available before X m k , for the next state X m k+1 the formulation is:

{ [ Xm k+1 ] = [ X m k+1 ] e [ k+1 Ad k L X Tm mes k ] P k+1/k = k+1 Ad k P k k+1 Ad t k + Q k ( 26
)
These equations correspond to prediction state equations that are modified according to [START_REF] Lucet | A kinematic parameter estimator applied to a bi-directional vehicle[END_REF] when a new measurement is available.

Longitudinal slippage and sideslip angle estimates

Thereafter, estimated speeds and positions of (f) and (r)

frames, given by the following relationships, are used:

⎧ ⎪ ⎪ ⎨ ⎪ ⎪ ⎩ Tf ,r = m Âd -1 f ,r Tm + Tf ,r/m Xf ,r = Xm + ⎡ ⎣ βf ,r l f ,r [ cos θm sin θm ] ⎤ ⎦ (27)
For estimates of longitudinal slippage and sideslip angle, two successive estimates of X f ,r state are considered, Xf ,r k and Xf ,r k+n , synchronous with measurements (n number of sampling steps between two measurements). If the odometry is correct, the variation between these two estimates is given by:

[ Xf ,r k+n ] = [ Xf ,r k ] ∏ 1≤j≤n e dt [ Tj ] ( 28
)
where Tj is the odometry twist calculated at step k + j. Based on a variation of a λ parameter to be identified, the variation of Xf ,r k+n , which is also the state correction given by the Kalman estimator and expressed in the (f) and (r) frames by the second equation of ( 27), can be written as follows:

vec ⎛ ⎝ [ Xf ,r k+n ] -1 ∂ [ Xf ,r k+n ] ∂λ ⎞ ⎠ = dt ∑ 1≤j≤n k+j Ad -1 k+n ∂ Tj ∂λ (29)
Considering this equation ( 29), a solution to minimize a quadratic criterion with respect to the λ parameter is then given by:

⎧ ⎪ ⎨ ⎪ ⎩ λ = l λ ∑ 1≤j≤n ∂ Tj ∂λ t k+j Ad -t k+n Tf ,r mes k+n λ+ = λ-+ dt λ (30)
where l λ is a gain and the twist Tf ,r mes k+n corresponds to the difference between the measured and theoretical postures at the time k + n. For more details, a full description of this parameter estimator is available in [START_REF] Lucet | A kinematic parameter estimator applied to a bi-directional vehicle[END_REF].

In the following paragraphs, estimator ( 30) is applied to longitudinal slippage and sideslip angles.

Wheel diameter estimate

For estimating the longitudinal slippage or the equivalent wheel diameter, X f is taken into account. To simplify equations, βf is assumed to be invariant during a sampling step. Thus, the partial derivative of the odometry twist Tf j with respect to dwheel is given by:

∂ Tj ∂ dwheel = ⎡ ⎢ ⎢ ⎣ ωf j sin βf j l ωf j 0 ⎤ ⎥ ⎥ ⎦ (31)
where l d wheel is the gain l λ of estimator [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], for the estimation of d wheel .

Front sideslip angle estimate

For estimating the front sideslip angle, X f is considered. In addition, βf is supposed to be invariant during a sampling step. Then, the partial derivative of the odometry twist Tf j with respect to δf is given by:

∂ Tf j ∂ δf = ⎡ ⎢ ⎢ ⎣ vf j cos βf j l 0 vf j ⎤ ⎥ ⎥ ⎦ (32)
where l δ f is the gain l λ of estimator [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], for the estimation of δ f .

Trajectory following

This section is dedicated to the reference trajectory frame definition, and to the control of vehicle movements.

Calculation of the reference frame for the tracking

Algorithms for tracking the ( c f ) frame by the front axle and for tracking the (c r ) frame by the rear axle are developed in this section.

Definition of the trajectory

The trajectory is supposed to be defined by x (u) : R ↦ → R 2 parametrized with u parameter. x (•) is a piecewise C 3 func- tion. This expression allows a complete definition of all the desired characteristics in terms of tangent, normal, curvature and curvature variation:

⎧ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎨ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎩ t x = x ′ u ∥x ′ u ∥ n x = t ⊥x c x = det(x ′ u ,x ′′ u ) ∥x ′ u ∥ 3 g x = det ( x ′ u ,x ′′′ u ∥x ′ u ∥ 2 -3(x ′t u x ′′ u )x ′′ u ) ∥x ′ u ∥ 6
⎧ ⎪ ⎪ ⎪ ⎨ ⎪ ⎪ ⎪ ⎩ t x = x ′ s n x = t ⊥x c x = det ( x ′ s , x ′′ s ) g x = det ( x ′ s , x ′′′ s ) (34)
Usually, the path is defined as a succession of segments and arcs of circles, the bus position on this path varying according to a curvilinear abscissa s. A possible issue is that the implemented control law will tend to prioritize keeping a zero error along one track, including at the end of that track, even if there is a large variation in value of curvature at the next track. This results in errors when changing the track, due in particular to the limitations of actuators. In practice to limit this phenomenon, depending on the size of the tracks and the variation in their curvature, two successive tracks with a significant variation in curvature are subdivided into several smaller tracks in order to have a minimum variation in curvature.

Evolution of the trajectory u parameter

The axes of the trajectory frame are given by t x and n x , and the value of parameter u, corresponding to the reference point to be tracked so that points c and x remain as close as possible to each other, has to be determined. For this, several solutions are possible:

• A time law defined by a planner can give the evolution of u. The variable y can then be evaluated as a projection of the vector xf on the vector n x ; this implies that the vehicle motion control is efficient enough to track the current point.

• The value of u can be established by projecting point f onto path (C).

In the second case, the following algorithm provides a projection method that avoids a new search at each sampling period. It is a control law whose objective is as follows:

x ′ u t (x -f) = 0 (35)
Variation of u can then be defined as:

u = µ [ x ′ u t v f -k u x ′ u t (x -f) ] (36)
where µ > 0 is a normalization factor and k u is a gain regulating the convergence dynamics.

Velocity and position control along the path

One possibility suitable for vehicle control is to define the path as tracks delimited by pairs (x (u cib ) , v cib ). Then, the vehicle aims at navigating along each track at a desired velocity v des up to point x (u cib ), where the waypoint velocity is v cib , these three setpoints being defined a priori as part of the initial definition of the path tracks. If v cib = 0, the vehicle aims at reaching point x (u cib ), while respecting kinematic constraints, such as maximum speed and acceleration (v max , γ max ).

The proposed generation of motion includes two nested control loops for speed and position.

Position loop

It is assumed that the variation of the curvilinear abscissa δs can be calculated from x (u) to x (u cib ). The velocity v of the frame (f) must not exceed the following velocities in modulus:

• v max , the maximum speed allowed;

• |v des |, the desired velocity when the vehicle is not close to

x (u cib );

• √ 2γ max |δs| + v 2
cib , the convergence velocity towards the target velocity, without exceeding the acceleration γ max until the point x (u cib ).

Considering v sup = inf ( v max , |v des | , √ 2γ sup |δs| + v 2 cib )
, the following reference control velocity is proposed:

v com = -v sup δs √ δs 2 + v 2 sup k 2 s ( 37
)
where k s is a setting parameter and γ sup is an acceleration slightly lower (∼ 10 %) than γ max in order to take into account wheelground sliding phenomena.

If |δs| is high, then v com ≈ -v sup sign(δs); if |δs| is small, then v com ≈ -k s δs. If v cib ̸ = 0, it can be considered that v com = -v sup sign(δs), because a position control is not necessary.

Velocity loop

As soon as the reference v com is known, and considering δv = vv com , the reference acceleration can be formulated as follows:

γ com = -γ max δv √ δv 2 + γ 2 max k 2 v (38)
where k v is a setting parameter. This reference acceleration is finally used to update the speed control output sent to the lower level of the bus, according to the following expression: v out = v out + γ com dt, with dt the sampling period.

Simulation results

In order to get closer to real conditions, a response time of 0.15 s of the steering actuator is added.

Path tracking without and with sideslip angles correction

The performance of the observer described in Section 4.2 with respect to sliding compensation, including steering offset clearance, is analyzed here. Simulation parameters are defined in Table 1.

The tracking of a U-shaped path is illustrated in Fig. 4. The front steering angle of the bus has an uncorrected initial offset. In order to facilitate the comparison of results, steering limitations and offsets are set with the same values as on the actual platform. The displayed path Fig. 4 is generally followed, although Fig. 5 shows a nominal tracking error of about 0.3 m for the front and rear axles. With the sideslip angles correction (see Figs. 6 and7), offsets are cleared. Lateral gaps are properly corrected, with in particular a solid brown curve that converges better towards the solid red one in Fig. 6.

Lateral error limits

Lateral errors, at the first turn when following a U-shaped path using the predictive controller, are displayed in Figs. 8 and9. A ± 0.10 m lateral error constraint has to be met. The vehicle starts moving close to this lateral error limit. Without taking this constraint into account, the vehicle moves beyond, while it does not exceed the limit when handled by the controller.

Comments

Designed algorithms and kinematic simulations did not take into account several characteristics of the real system dynamics:

• Stresses in the wheel ground interaction can lead to actuation limitations (steering axle rotation impossible when the vehicle is stationary or at very low speed), or kinematic model errors (instantaneous center of rotation offset relative to the theoretical model). Tests with the real vehicle allow these effects to be quantified and corrected if necessary.

• The controller takes into account the maximum longitudinal acceleration and maximum steering axle angular speed characteristics. Preliminary tests on the vehicle assess whether other characteristics such as response time or delays are significant and how they may affect algorithms and settings.

• Observation quality depends on the measurement accuracy and delay. Such criteria are assessed and taken into account by the observation.

Experimental results

An automated bus

The equipped vehicle is shown hereafter in the bus center in Fig. 10. It is a bus dedicated to the daily transport of people. It has rear driven wheels and an Ackermann front steering system. Specially equipped for autonomous driving, this Automotive Intelligent Vehicle (AIV) has the properties indicated in Table 2.

Two stereoscopic camera pairs are used, one for the localization function and one for white line detection and parking space number recognition. The modular system used for locating the bus in the depot a stereoscopic head composed of two IDS 3240 global shutter type cameras, allowing a wide angle of view necessary for visual SLAM algorithm. The distance between the two cameras is 30 cm. The bus is also equipped with five laser rangefinders for obstacle detection: two fronts and one on each other side of the vehicle.

The on-board controller consists of two controllers interfaced via Ethernet network. One of the controllers is dedicated to performing the localization function with the cameras connected to it; it is an MSI GT73 laptop PC with an Intel core i7 7820HK processor, 16 GB RAM and an SSD disk. The other controller provides the safety functions (obstacle detection), navigation control and interface with the remote bus fleet supervisor via wifi communication, as well as to a low-level control board on the bus via a CAN bus clocked at 10 ms. It is a MicroAutoBox dSPACE controller. The low-level card is connected to the proprioceptive wheel and steering odometry sensors and to the actuators, in parallel with the manual controls (steering wheel and pedals) for drive-bywire. In particular, it provides steering management (proportional error loop) and speed control (acceleration/braking), in addition to safety functions.

Computation of the bus localization as well as the detection of white lines and the recognition of seat number is a component of Intempora's RTMaps software. This RTMaps localization diagram is executed on the controller dedicated to the localization function. Localization information by the cameras is delivered every 60 ms on average with a maximum delay of 250 ms in case of failure of the camera image analysis. Other components of observation, control, obstacle detection, and interface with the low-level bus control and with the fleet supervisor are implemented as a second RTMaps diagram running on the navigation controller, in which a component dedicated to the observation and control module is installed. Odometry measurements are received through the CAN bus every 10 ms. They include angular increments from the rear wheels sensor and the steering angle of front axle. The position and orientation of the vehicle are then obtained by fusion of those measurements. The control setpoints sent every 10 ms are the velocity v f of the front axle and the steering angle α f of the front axle.

Localization with cameras

A first trajectory in the bus center allows the creation of a 3D cartography of the environment. This mapping is made with the data coming from the two localization cameras used as input of the SLAM type algorithm and whose output is a mapping of the environment including the reconstructed 3D points associated with the camera poses to so-called ''key images''. Then, online, the inputs are the previously created environment mapping and the data from those cameras. Inputs are processed by a multicamera SLAM type algorithm with relocation (correspondence between the current view and the previously created cartography) in order to achieve real-time localization at any time. Accuracy between the previously created mapping of the environment and the real-time localization is a few centimeters. During tests, the localization precision is evolving with the position of the bus in the scene according to visual landmarks detected, with degradation in situations of occlusion.

Steering axles calibration

For the control of the front steering angle, the actuation is electric, controlled by a dedicated low-level controller. The control is performed by means of a loop proportional to the steering angle error, without derivative or integral action. The steering angle is limited to 45 • (0.78 rad) and the steering velocity is limited to 30 • s -1 (0.52 rad s -1 ).

Steering sensor calibration process is performed using the sideslip angle observer defined in Section 4.2.2 while the vehicle is moving for 30 s with zero steering angle setpoints at low

Controller tuning

The spatial window S is the discretization step, here chosen at 10 cm for an accurate model. Decreasing it increases the accuracy but also the calculations. Similarly, n = 20 is the number of steps chosen to define the prediction horizon nS = 2 m. The prediction horizon is chosen greater than the system settling time 1 remain the same. All parameters were first tuned on a simulator with regard to the relative importance of performance in different loops, and then adjusted on the real vehicle. With this configuration, over a sampling period of 10 ms the computation time demand of the control algorithm is between 2.5 ms and 4.5 ms with some peaks below 6 ms.

Experiments in the bus center

All experiments are performed in realistic conditions on asphalt. The bus used for the tests navigates in the bus center in order to carry out a complete parking and exit test, from the entrance of the bus depot to its exit. Thus, the test focus on tracking a path describing a loop with four turns until the parking space, then a parking maneuver, a departure maneuver, and then again four turns up to the exit.

This route taken by the bus is shown in Fig. 11. Fig. 12 zooms in more particularly on parking and departure maneuvers, and cameras installed at the rear of the bus in order to locate itself on the bus center. The accuracy of the camera's position measurement depends on the number of visual landmarks detected. The reference path to be followed at the center of the front axle and at the center of the rear axle are plotted as blue dashed line and solid red line respectively. The estimated bus position at the center of the front axle and at the center of the rear axle are plotted as black dashed line and brown solid line respectively. This estimate is provided by an extended Kalman filter considering the odometry of the wheels and front steering, as well as the position provided by the stereoscopic cameras.

From the starting position at the entrance to the depot until the first turn, the bus runs on flat ground. From the entrance of the first turn at the x = -20 m abscissa to the exit of the second turn at x = -20 m the bus descends a first floor. He then briefly drives on flat ground until x = 0 m, then again he goes down a second floor until he reaches the third turn at x = 90 m. Then he drives on flat ground at the end of the third turn, in the fourth turn, in a straight line, and during the parking maneuver. After its departure maneuver, the bus goes up both floors in the same way until it reaches the exit of the bus depot. Tracking errors are plotted in Fig. 14 as a blue dashed line at the center of the front axle and as a solid red line at the center of the rear axle.

A maximum tracking error of almost -40 cm is observed at 528 s for the rear axle. This error is due to a shift in the localization. During the bus departure maneuver, the accuracy of the camera's position measurement is less accurate due to an insufficient number of landmarks, as it sees the wall against which the bus was parked or the parking space next to it. Then, this accuracy becomes optimal at 528 s, when the bus has finished leaving its parking space and more visual markers become visible to the camera. Therefore, the correction of the actual bus position that is plotted in cyan dotted line in Fig. 13 results in a sudden shift in the bus localization and thus a high instantaneous tracking error. A +23 cm error of the front is also observed at the beginning of the departure maneuver at 465 s due to a difficulty in initializing the localization. Otherwise, shifts in the localization are less than 10 cm everywhere else the trajectory. And forthcoming addition of a Sysnav Blue Force inertial unit should make it possible to further improve the robustness (in case of lack of texture, very fast movement or camera occlusion) and accuracy (by merging visual and inertial data) aspects during navigation. Other maximum tracking errors are cumulative localization and control errors, the latter occurring mainly at the entrance or exit of curves when the variation in curvature is highest, for example +21.5 cm for the front axle at the end of the first turn at 194 s or +19.8 cm for the front axle at the end of the third turn at 310 s. Indeed, in the event of such variations, an establishment distance is required to converge on the next part of the path, resulting in an overrun in the variation area. The variation in the curvature of the reference trajectory at the center of the front axle is plotted as a solid red line in Fig. 15. The most important curvature variation values were recorded during the parking and departure maneuvers, the zoom of which is shown in Fig. 12. During the parking maneuver (380 s -435 s), a front axle tracking error of 6.5 cm is recorded at the turn entry (385 s) at a peak of the curvature variation at +11.00 m -1 s -1 , and front axle tracking errors of -30.4 cm then 12.1 cm are recorded at the turn exit (412 s) at a peak of the curvature variation at -11.00 m -1 s -1 , these errors close to the parking position being also due to the localization because of a lack of visibility. During the departure maneuver (465 s-514 s), a front axle tracking error of 15.2 cm is recorded at the entrance to the turn (481 s) during a peak of the curvature variation at -11.00 m -1 s -1 , and a front axle tracking error of -13.0 cm is recorded at the end of the curve (510 s) at a peak of the curvature variation at +5.50 m -1 s -1 .

The front longitudinal velocity is reported in Fig. 16, with red dashed line for the control setpoint and blue plain line for wheel odometer measurements, showing oscillations until 0.36 m s -1 of amplitude due to an inaccurate odometry wheel sensor used for the low level velocity control. This would need to be improved for better setpoint tracking, especially on slopes, even if this has no significant impact on the accuracy of the trajectory tracking. A negative speed is observed during the parking maneuver. Front steering velocity control input is reported in Fig. 17 Thus, tracking errors remain between plus or minus 20 cm during the testing, 10 cm because of the localization accuracy and 10 cm because of the controller's accuracy, except for three errors up to 40 cm mainly due to punctual location errors and also to high variations in curvature. Regardless of these performances, a very positive result is their repeatability. This test was repeated several times with always similar results, with a repeatability of less than 4 cm along the entire trajectory. Thus, since the system's performance is known with a trajectory correctly defined a priori, public demonstrations were conducted safely in the presence of other moving vehicles (officialvideo).

Conclusions and future work

An innovative autonomous guidance system has been implemented for controlling a bus on its trajectory during navigation, including parking and departure maneuvers, in a closed bus center. Design and development of this system was carried out on a real industrial bus.

In order to achieve this objective, predictive control laws have been designed to effectively ensure bounded path-following errors in any situation, thus providing a guarantee of non-collision with the bus center infrastructure. Since these algorithms are linearized around a given curvature value, they remain sensitive to a significant variation in curvature between two path tracks, which must therefore be defined accordingly. In addition, the sliding was treated independently of path tracking errors to maintain accuracy and stability throughout the course. And the software design was carried out in conformity with a safety analysis of the target vehicle's overall system.

The guidance system has been successfully integrated into the industrial vehicle. Several tests were carried out under realistic operational conditions. With a few exceptions close to parking and departure maneuvers, due to poor localization and a strong variation in curvature that limits the performance of the control, tracking errors recorded during the tests remained below 20 cm, including 10 cm due to the control itself, these performances being highly repeatable.

Future work towards an industrial version of the autonomous guidance system will now focus on porting the software to a more cost-effective embedded hardware architecture, designing autocalibration strategies for correcting sensor biases to maximize system availability in daily use (preliminary solutions presented in [START_REF] Hill | A new neural network feature importance method: Application to mobile robots controllers gain tuning[END_REF] and [START_REF] Hill | Online gain setting method for path tracking using CMA-ES: Application to off-road mobile robot control[END_REF]), and designing self-diagnostic strategies for safe and reliable failure detection of system components.

Fig. 1 .

 1 Fig. 1. Bus center configuration.

Fig. 2 .

 2 Fig. 2. Control block diagram.

Then, by considering the curvilinear derivative y

  the linear terms, we have:

  with (•) ′ expressing a derivative with respect to the curvilinear abscissa. Finally, considering the state vectors y =

  ), state matrices of the continuous system are A c = AP -1 and B c = B. The solution of the differential equation y ′ = A c y + B c u is given by y(s) = y 0 e Ac s

( 33 )

 33 where (•) ′ u , (•) ′′ u , and (•) ′′′ u are defining respectively a first, second and third order derivative along u, and det (a, b) = a t ⊥ b. If u is the curvilinear abscissa s, thus   x ′ u   = 1 and Eqs. (33) can be simplified as follows:

Fig. 4 .

 4 Fig. 4. U trajectory without sliding compensation.

Fig. 5 .

 5 Fig. 5. Tracking error without sliding compensation.

Fig. 6 .

 6 Fig. 6. U trajectory with sliding compensation.

Fig. 7 .

 7 Fig. 7. Tracking error with sliding compensation.

Fig. 8 .

 8 Fig. 8. Lateral limits exceeded.

Fig. 9 .

 9 Fig. 9. Respect of lateral limits.

Fig. 10 .

 10 Fig. 10. Bus operating in the bus center. 1 velocity (v f = 0.3 m s -1 ) along a white straight reference line for optimal localization, the precision and convergence time of the measurement depending on it.

( 2 .

 2 2 m s -1 max speed ×0.15 s steering response time = 0.33 m), and large enough to anticipate the trajectory, but not too large to remain within the validity domain of the model. Predictive control parameters, previously defined in Section 3, are set asfollows: Q (0, 0) = 20.0, Q (1, 1) = 122.4, Q (2, 2) = 224.7, other coefficients of Q are zero, and R = 1.0. Parameters of the diagonal of Q that define the tracking efficiency refer to lateral error and its two successive derivatives with respect to the curvilinear abscissa. Parameter of R which defines the tracking smoothness refers to the variation in front axle steering relative to the curvilinear abscissa. k s and k v are proportional gains for other independent position and speed control loops (see Section 5.2). They are set to k s = 0.4 and k v = 50.0 respectively to allow efficient path tracking at reference velocity and position, with smooth movements. Parameters defined in Table

Fig. 13 11 .

 1311 Fig.13zooms in on position shifting by the camera at time = 528 s. The bus localization at the center of its rear axle is plotted in dotted cyan. This measure is provided by the stereoscopic

Fig. 12 .Fig. 13 .Fig. 14 .

 121314 Fig. 12. Zoom on parking and departure maneuvers. (For interpretation of the references to color in this figure legend, the reader is referred to the web version of this article.)

Fig. 15 .

 15 Fig. 15. Rear curvature variation.

  in red plain line. Front steering angle is plotted Fig.18, in red dashed line for the control and in blue plain line for the odometry measure. The control and measure plots are very close. Low oscillations at the end of each turning motion allow a better handling of

Fig. 16 .

 16 Fig. 16. Front longitudinal velocity.

Fig. 17 .

 17 Fig. 17. Front control steering velocity.

Fig. 18 .

 18 Fig. 18. Front steering angle.

Table 1

 1 Path tracking parameters.

	Velocity reference	2.0 m/s
	Max velocity	2.5 m/s
	Max acceleration	0.35 m/s 2
	Offset steering angle	0.1 rad
	Max steering angle	0.6 rad
	Max steering velocity	0.45 rad/s
	Front steer offset	0.01 rad
	Initial orientation

Robotics and Autonomous Systems 136 (2021) 103706

Acknowledgments

This research and development work was carried out in the scope of the European Bus System of the Future 2 (EBSF2) project. This project has received funding from the European Union's Horizon 2020 research and innovation program under grant agreement N o 63300, and from the French RATP Group.

Declaration of competing interest

The authors declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper.


Ashley Hill

Jean Laneurit

Roland Lenain

Eric Lucet

Online gain setting method for path tracking using CMA-ES: Application to off-road mobile robot control

This paper proposes a new approach for online control law gains adaptation, through the use of neural networks and the Covariance Matrix Adaptation Evolution Strategy (CMA-ES) algorithm, in order to optimize the behavior of the robot with respect to an objective function. The neural network considered takes as input the current observed state as well as its uncertainty, and provides as output the control law gains. It is trained, using the CMA-ES evolution strategy, on a simulator reproducing the vehicle dynamics. Then, it is tested in real conditions on an agricultural mobile robot at different speeds. The transferability of this method from simulation to a real system is demonstrated, as well as its robustness to environmental changes, such as GPS signal degradation or ground variation. As a result, path following errors are reduced, while ensuring tracking stability.

I. INTRODUCTION

In mobile robotics, accuracy and stability are usually desired qualities of a controller, especially in the framework of path tracking. They depend, however, on the correct tuning of the controller gains, which are generally tuned empirically by an expert or with the help of dedicated algorithms such as the Ziegler-Nichols method.

Achieving this goal with a constant gain is not obvious, as the optimal gain depends on multiple environmental conditions, such as the quality of perception, ground sliding conditions [START_REF] Samson | Modeling and control of wheeled mobile robots[END_REF], and also the robot's speed. A constant gain for different configurations and contexts of navigation is therefore not ideal. As such, an optimal gain will need to be adaptive in order to maximize the performance of the controller at any given time.

Methods for adaptive gains exists in the current state of the art, such as fuzzy logic gain scheduling [START_REF] Khesrani | Modeling and control of mobile platform using flatnessfuzzy based approach with gains adjustment[END_REF], or LQR methods for gain tuning [START_REF] Argentim | Pid, lqr and lqr-pid on a quadcopter platform[END_REF]. However fuzzy logic gain scheduling requires an expert to tune a constant gain for each environmental case, meanings the gains will be sub optimal for the edges of each case. And using an LQR for gain tuning, implies finding the optimal gains for said LQR, offsetting the problem.

Thus, the work presented in this paper is based on extending the previous state of the art on adaptive gains without the use of an expert for gain tuning, with real experimentation on an off-road mobile platform, with a complex and realistic environment.

For this purpose, gain adapting will be defined as predicting the quasi-optimal gain (K optimal ), from changes in the environment indicated in the environmental state (Env state ), which are encoded in the observed state (Obs state ).

Env state → Obs state → K optimal This involves determining an approximate function, capable of mapping the observed state to the near-optimal gain.

Several works on this have been proposed, specifically the gain adaptation in real time using neural networks, such as using a gradient based approach [START_REF] Guo | Adaptive pid controller based on bp neural network[END_REF], [START_REF] Omatu | Selftuning neuro-pid control and applications[END_REF], [START_REF] Chang | A multivariable on-line adaptive pid controller using auto-tuning neurons[END_REF] or with an evolution based approach [Hill. et al., 2019], [START_REF] Omatu | Selftuning neuro-pid control and applications[END_REF]]. However, these works are done with either: simple robot dynamics, simple controllers, constant environments, or no real experimentation. Furthermore, the performance of the gradient methods is sub-optimal, as they require an exact and noiseless model of the robotic system. Otherwise, this would disturb the learning process, hampering the performance of these methods.

As such, the methods of this paper is based on an evolutionary approach, specifically from [Hill. et al., 2019] as they have done similar experimentation, with good results in simulation.

In this paper, the simulation that was used to train the method take into account: a tire slip model, a steering delay model, a dynamic model, noisy observations, and controllers used in agricultural environment [START_REF] Cariou | Adaptive control of four-wheel-steering off-road mobile robots: Application to path tracking and heading control in presence of sliding[END_REF], [START_REF] Lenain | Adaptive and predictive path tracking control for off-road mobile robots[END_REF]. This was done in order to reach a more realistic simulation of the real world experiments, with controllers that are optimized for the task, so that the model could work as is with the robot, and that a good baseline comparison with a constant gain method could be obtained.

The details of the extensions to the simulation and the robotic context are detailed in section II, with the proposed method detailed in section III, followed by the training setup and simulated results in section IV, with the experimental setup detailed in section V, followed by real world experimentation in section VI, ending with a discussion of the results and some perspectives in section VII.

II. ROBOTIC MODEL & CONTEXT

The robotic task is path following of a known trajectory, using a Extended Kalman filter due to it's ubiquity. This task will be considered in a agricultural context, due to the highly dynamic environments, with lower speeds. The robot used is a 500kg, 4 wheeled mobile robot, with front steering.

In the following subsections, the details of the robotic model and the control will be detailed.

A. Controller

In order to test the proposed method, the following controllers were used. The first is called Classic which is defined in the paper [START_REF] Cariou | Adaptive control of four-wheel-steering off-road mobile robots: Application to path tracking and heading control in presence of sliding[END_REF], and is based on an extended kinematic model, including the sideslip angles β F and β R , which are estimated online using an observer, detailed in the mentioned reference [START_REF] Lenain | Robust sideslip angles observer for accurate off-road path tracking control[END_REF]. The second is a variant of the Classic controller, but with predictive control, it is called the Predictive controller, and it is defined in the paper [START_REF] Lenain | Adaptive and predictive path tracking control for off-road mobile robots[END_REF].

Both controllers are based on the same control equation, which computes the steering angle values, it can be defined as following:

δ F = arctan tan(β R )+ L cos(β R ) c(s) cos θ2 α + A cos 3 θ2 α 2 + β F (1)
with:

   θ2 = θ + β R α = 1 -c(s)y A = -K p y -K d α tan θ2 + c(s)α tan 2 θ2
These controllers take two gains as in order to tune them:

• K p : which defines the distance to convergence with respect to the lateral error. • K d : which defines the distance to convergence with respect to the angular error. And the variables used for its computation are defined as follows and depicted on the Fig. 1: • y: The tracking error.

• θ: The angular deviation.

• c(s): The curvature at the curvilinear abscissa s.

• β F , β R : the front and rear sliding angle respectively.

B. Simulation

In order to train the proposed method, a simulation must be used for both time and safety reasons. For the robotic model, a dynamic bicycle model is used (shown Fig. 1). With a pure action delay of 0.5ms on the steering, as it is the worst case steering action delay for the Adap2e platform [START_REF] Deremetz | A generic control framework for mobile robots edge following[END_REF], that is used in the experimentation. The dynamic simulation took into account the mass of the robot (500kg), the vertical inertial (400kg.m 2 ), and a Pacejka tire slip model [START_REF] Bakker | Tyre modelling for use in vehicle dynamics studies[END_REF] with gravel-like sliding conditions. The model was also trained with a varying speed of 1.0ms -1 , 1.5ms -1 , and 2.0ms -1 . The simulator was written in C++ and Python, for ease of use and high performance.

(D) θ δ F L β R β F y v 1 c(s)

C. Objective functions

In order to train the method, a "goal" must be defined and quantified in an equation; where the global minimum of this equation is considered the ideal performance. For this, an objective function ob 1 is defined (equation 2). It has been chosen in order to minimize the tracking error, decrease the oscillation, while limiting important actions on the steering angle. This objective function takes into account both the path tracking errors and the steering energy.

ob 1 = 1 T N n=0 |y(t n )| + L| θ(t n )| + 0.5L|δ F (t n )| dt [m] (2)
Where T is the total time taken to follow the path, N is the number of measured timesteps, t n is the time at the timestep n, y is the lateral error along the path, L is the wheelbase length, θ is the angular error along the path, δ F is the front steering angle, and dt is the time between each timestep. The value of 0.5 has been set as the weighting coefficient for the steering energy, this value was found empirically.

III. PROPOSED METHOD

The online controller gains optimization proposed is based on the control scheme detailed on the Fig. 2. As it is depicted on this figure, an adaptive control loop (in blue) is used to achieve the path tracking task. The controller (detailed in the section II-A) is tuned with two gains, defining the settling distance, and the damping coefficient, classically defined as constants. Such constant gains are defined in order to ensure the stability of the path tracking with expected conditions (speed, grip conditions, sensor noise...), and as such appears to be non-optimal, when those conditions change over time.

For instance, the achievable settling distance relies on velocity, and the use of high gains, ensuring a short distance of convergence at low speed may lead to unstable behavior when the robot moves faster. As a result, the gain are then reduced to allow a stable behavior at high speed, but this increases the distance of convergence, even when speed is limited.

The problem is the same with respect to other parameters such as the grip conditions, or tracking errors, as well as path curvature.

To overcome this drawback, an method dedicated to computing online optimal gains is introduced, based on a gain model (in purple on the Fig. 2). This gain model is fed with the tracking variables (such as tracking error, angular deviation, curvature, sensor noise, ...), and is designed to minimize an objective function, using an optimizer (depicted by the green block). The optimizer proposed here is Covariance Matrix Adaptation Evolution Strategy (CMA-ES) [Hansen, 2016], due to its performance in complex search spaces such as neural networks [START_REF] Hansen | Comparing results of 31 algorithms from the black-box optimization benchmarking bbob-2009[END_REF]. The gain model being a neural network, due to its capability to be a universal approximator [START_REF] Hornik | Universal approximation of an unknown mapping and its derivatives using multilayer feedforward networks[END_REF], with hyperbolic tangent as its activation function and with hidden layers of 40, 100 and 10. This was chosen in order to reach a non linear transformation, while having a low number of parameters so the CMA-ES method can perform optimally.

In order to achieve online computing of the optimal gains, the neural network is trained off-line in a simulation, using the CMA-ES optimizer guided by the objective function; as exploring the gain space is time consuming, and can lead to dangerous or unstable behavior in the real world conditions.

This global scheme has been previously introduced in [Hill. et al., 2019] for a single gain adaptation, showing promising results in simulation, with a simple robotic model. In this paper, a whole algorithm is proposed and tested through full scale experiments.

Classically, machine learning methods train to minimize a target metric (here the objective function), however measuring the performance with the objective function must be avoided, as the method might exploit the target metric, at the detriment to other metrics (classically called reward shaping). As such, to compare and interpret the quality of the trajectory tracking performance, the following metric is used:

A error = N n=0 ṡ(t n ) y(t n ) + ẏ(t n ) dt 2 dt [m 2 ] (3) with: ṡ(t) = v(t)cos( θ(t)) ẏ(t) = v(t)sin( θ(t))
Where t n is the time at the timestep n, s is the curvilinear abscissa of the trajectory, y is the lateral error along the trajectory, dt is the sampling rate of the robot's control (set to 0.1s in this context), θ is the angular error along the trajectory, and ṡ, ẏ are the derivative of s, y respectively over the time t.

The equation ( 3) is the approximate integration of the surface error between the robot's position and the target trajectory using a Trapezoidal Riemann sum. This allows comparison of performance between gain tuning methods, independently of speed and time for the given trajectory.

IV. TRAINING SETUP

Two methods will be tested and compared in this paper:

• Expert constant gain: The expert tuned constant gain for the robot defined for each experiment. • NN ob 1 : the proposed method, trained with the ob 1 objective function defined in equation ( 2).

The baseline method Expert constant gain is set to a constant value, given by an expert who has tuned the gains for the robotic platform and the controllers used.

The proposed method NN ob 1 however, need to be trained in order to explore the possible gain space, and determine the optimal gains for the robot and controller.

The training is done in simulation, as the CMA-ES methods is too sample inefficient in order to be run in real world condition in a reasonable time. It has be set with a population size of 32, an initial sigma of 0.04, and 20000 maximum evaluations as its time budget. The Classic controller is used for the training. The coefficients of the Pacejka sliding curve, were defined as to emulate poor sliding conditions. And an action delay of 500ms was defined. The training was done over each trajectory 5 times, at 3 speeds 1.0m.s -1 , 1.5m.s -1 , and 2.0m.s -1 . It was trained with 2 trajectories called sine, a sinusoidal curve and spline0, a sharp "S" curve. Midway in the trajectories, a GPS noise of 1m is applied to simulate a loss of GPS signal. These trajectories were chosen in order to simulate difficult paths for the Adap2e platform and the controllers to follow accurately, with some simpler sections in each trajectories so the proposed model does not over-fit for complex trajectories.

A. Simulation results

The method having been trained in simulation, it suffers from the simulation's systematic error and inaccuracies with reality, and as such the following simulated experiments will show the ideal theoretical performance of the method.

The proposed control scheme has been applied for the previously defined trajectories sine and spline0. And the performance obtained can be observe in Fig. 3. Using the A error metric defined in equation ( 3), the performance of the proposed method is compared with the baseline method (i.e. constant gain fixed by an expert for a speed of 2.0m.s -1 ), in order to get a percentage and absolute improvement in the surface of the lateral error. A substantial decrease in the 1.5m.s -1 2.0m.s -1 Fig. 3. The Aerror of the tested method and the expert constant gain. The hash density show the changes in the speed.

surface error can be observed for the NN ob 1 method (with an average decrease of 20%). However, the performance gap seems reduced at 2.0m.s -1 , as this is the optimal speed for the expert gain. This implies that during the experimental results, that the NN ob 1 might out perform the baseline method. But only if the method is robust enough to transfer from the simulation to real world conditions, which is classically a difficult problem for machine learning methods.

V. EXPERIMENTAL SETUP Experiments were performed using the Adap2e platform [START_REF] Deremetz | A generic control framework for mobile robots edge following[END_REF] that can be seen on Fig. 4. It is a mobile robot dedicated to carrying tools for agricultural operations, capable of adapting to the diversity of tasks and parcels of land. Driven in a car-like configuration with only the front wheels steered, it has a track width of 1.0m, and a wheel base of 1.38m. Software developments are carried out on the ROS middelware. The control and GPS update rate are 0.1s. Tests were carried out on a warm, sunny day with cloudless weather, meaning very dry soil and low GPS perturbation. The trajectory shown in Fig. 4 is first on a ground made up of gravel and earth. Then, near the beginning of the turn and until the end of the trajectory, the ground is grass. The terrain also has an irregular topology. The robot starts with an initial lateral error of approximately 1m, relative to a straight line trajectory, in order to observe its convergence towards this trajectory. Then, a half turn that is wide enough so as not to saturate the steering actuator must be followed. Finally, a final straight line is followed after exiting the turn. This trajectory is displayed in Fig. 5. This trajectory has been used to validate the proposed method against overfitting, meaning a trajectory not previously used for the learning process in order to show the genericity of the trained solution with regard to path shapes. It is broken down into three parts of 20m each for the analysis :

• Init: The start of the trajectory, the robot is launched from approximately 1m from the side of the trajectory as an initial error. • Corner: The large corner of the trajectory, with a constant curvature of 0.2m -1 . • Straight: The final straight line after the large corner, in order to observe the stabilization from the corner. Results are also compared over the entire 60m of the trajectory (defined as Total), in order to get a general idea of the expected improvements.

VI. RESULTS

The experiments of this section are divided into three sets, the first using the classic controller, the second using the predictive controller, and the third is used to observe the reaction of the proposed method to changes in the environmental state, by adding a Gaussian noise of 1m to the GPS signal. This is done in order to investigate the performances of the proposed algorithm in situations with high uncertainty.

A. Experiment 1

The first experiment consists of using the classic controller without any sliding observers (β F and β R are set to zero in the control expression (1)), using the proposed method NN ob 1 and the baseline expert constant gain method. The expert constant gain was set to K d = 0.7, K p = 0.1225, which is tuned for the robot considering a constant speed of 2.0m.s -1 . The experiment was run with the target speeds of 1.0m.s -1 , 1.5m.s -1 , and 2.0m.s -1 . Comparing the proposed method NN ob 1 , with the baseline expert constant gain method, the following analysis is obtained.

The paths traced on Fig 6, show the trajectories of the robot for each method at 1.0m.s -1 . From this, the proposed method NN ob 1 is able to more closely follow the trajectory overall, and specifically near the end of the trajectory were the proposed method is 3 times closer to the trajectory than the baselines method.

On Fig. 7, using the A error metric defined in equation ( 3), the performance of the proposed method is compared with the baseline method, in order to get a percentage and absolute improvement in the surface of the lateral error. A substantial increase in the accuracy can observed between the proposed method and the baseline method over a target speed of 1.0m.s -1 (44%) and 1.5m.s -1 (39%), with still minor improvements to the performance at 2.0m.s -1 (5%). It is important to note, the baseline method started with 0.2m of initial error for the target speed of 1.0m.s -1 (visible on Fig 6), hence the low improvement in the Init part of the trajectory for that speed.

These are similar to the results obtained in simulation, with a significant reduction in the overall error. They show that in real world conditions, the modulation of the gain in real time, 1.5m.s -1 2.0m.s -1 Fig. 7. The Aerror of the tested method and the expert constant gain. The hash density show the changes in the speed.

can allow for higher gains in certain circumstances, which leads to a more optimal path tracking, without inducing instabilities.

After an initial proof of concept with a sufficiently simple classic controller, a predictive controller more suitable to autonomous mobile robots is considered for experiment 2, by using sliding observers defined in [START_REF] Lenain | Robust sideslip angles observer for accurate off-road path tracking control[END_REF].

B. Experiment 2

The second experiment consists of using the predictive controller with sliding observers defined in [START_REF] Lenain | Robust sideslip angles observer for accurate off-road path tracking control[END_REF], along with the proposed method NN ob 1 and the baseline expert constant gain method. The expert constant gain was set to K d = 0.7, K p = 0.1225, which is tuned for the robot with the trajectory for a speed of 2.0m.s -1 . The experiment was run with the target speeds of 1.0m.s -1 , 1.5m.s -1 , and 2.0m.s -1 . Comparing the proposed method NN ob 1 , with the baseline expert constant gain method, the following analysis is obtained. The paths traced on Fig 8 , show the trajectories of the robot for each method at 1.0m.s -1 . From this, the adaptability of the proposed method NN ob 1 can be see, as it is able to quickly correct the initial error without overshooting with the robot's rear axle.

On Fig. 9, using the A error metric defined in equation ( 3), the performance of the proposed method is compared with the baseline method, in order to get a percentage and absolute improvement in the surface of the lateral error. Similarly 1.5m.s -1 2.0m.s -1 Fig. 9. The Aerror of the tested method and the expert constant gain. The hash density show the changes in the speed.

to experiment 1, the proposed method is substantially more accurate than the baseline method over a target speed of 1.0m.s -1 (40%) and 1.5m.s -1 (42%). However with minor degradation in the performance at 2.0m.s -1 (-7%), since the constant gain was tuned for a speed of 2.0m.s -1 . The loss of performance at 2.0m.s -1 is due to the proposed method being trained in a simulation, and faces here the side effects of the systematic error. Indeed as the speed increases, the dynamic effects start influencing the robot's trajectory and velocity in a stronger manner. Furthermore, the model was not given the dynamic parameters (such as the sliding angles) as an input during the simulation, this means it was not trained to handle the change in the gain relative to varying sliding conditions.

So far the experiments have shown some of the benefits and drawbacks of the proposed method in a semi-static environment state. However, this method should adapt the gain with respect to strong variations in the environment state. As such, the experiment 3 consists of varying the quality of the GPS perception.

C. Experiment 3

The third experiment consists of using the predictive controller with sliding observers defined in [START_REF] Lenain | Robust sideslip angles observer for accurate off-road path tracking control[END_REF], along with the proposed method NN ob 1 and the baseline expert constant gain method. The expert constant gain was set to K d = 1.0, K p = 0.25, which is tuned for the robot with the trajectory for a speed of 1.0m.s -1 . The GPS signal degradation starts midway in Corner part of the trajectory, and stays to the end. In order to make the results comparable, the Gaussian random number generator was set with the same seed each time, this means the noise was repeatable and consistent between each test of the experiment. The experiment was run with the target speed of 1.0m.s -1 . Comparing the proposed method NN ob 1 , with the baseline expert constant gain method, the following analysis is obtained. The paths traced on Fig 10, show the trajectories of the robot for each method at 1.0m.s -1 . From this, the behavior of the robot cannot be ascertained, due to the GPS noise clouding the estimated paths. As such, only the quantitative results can reflect any changes in behavior.

On Fig. 11, using the A error metric defined in equation ( 3), the performance of the proposed method is compared with the baseline method, in order to get a percentage and absolute improvement in the surface of the lateral error. For the surface error A error , the proposed method NN ob 1 was able to substantially reduce the error overall (25%) and in the Straight part of the trajectory (20%), despite an important loss of accuracy in the localization. From this, the proposed method NN ob 1 is increasing the dampening of the controller, in order to avoid the controller reacting too strongly to the input noise. This allows the proposed method and controller to more accurately follow the trajectory, even in very noisy conditions. The results obtained in the experiments seem to concord with the simulation results, but diverging slightly at 2.0m.s -1 due to the higher systematic error, causing the NN ob 1 model to experience a drop in performance when compared to the simulated performance. This systematic error might due to the poorly characterized dynamic parameters, which are very difficult to accurately estimate for a given robot.

VII. CONCLUSIONS AND DISCUSSION

An algorithm for online adjusting of gains was proposed, based on neural networks trained from a simulated dynamic model. This method was applied to the tuning of gains of a steering angle controller, for the optimization of the robot's behavior in relation to lateral displacements. It takes into account the target speed, path curvature, lateral and angular tracking errors, and perception quality (state observer covariance matrix), in order to predict near optimal sets of gains that minimize an objective function. Therefore, the robot settling distance, as well as the tracking error are minimized, while avoiding instabilities.

The proposed method was tested in real conditions without any transfer learning or adaptation. Indeed, the errors in modeling the system dynamics are sufficiently small at the speed of testing to limit deviations from reality.

Experimental tests were conducted at different speed values, and by considering GPS signal losses. Results show an increase in the accuracy of trajectory tracking compared to constant gain methods, in some cases up to 44%.

However, this method has some drawbacks. First, a long training time in simulation is due to the nature of the CMA-ES optimization algorithm that needs a large amount of trajectory following simulations. Then, it becomes increasingly sensitive to dynamic model errors at higher speeds. Indeed, gain computation should be done with consideration of this dynamics, in particular observed sideslip angles β F and β R . Therefore, such information can be used as input to the neural network in order to adapt the robot's behavior to grip conditions. Finally, longitudinal speed has also a significant impact on the robot's behavior. As a result, future work is focused on the consideration of sideslip angles and longitudinal speed for gain tuning.

Going further, the online optimization of the target longitudinal speed, depending on the grip conditions and of the shape of the desired trajectory, is an area of investigation.

Fig. 1 .

 1 Fig. 1. The mobile robot studied.

  Fig. 2. Overview of the proposed method, with the contribution in the dashed rectangle.

Fig. 4 .

 4 Fig. 4. On the left: The Adap2e robot. On the right: The trajectory over the ground.

Fig. 5 .

 5 Fig. 5. The reference trajectory on an x,y scale.

Fig. 6 .

 6 Fig.6. The estimated paths traces by each method is set at the solid line for the rear axle, and in the dashed line the front axle. Above: the path over the full trajectory. Below: the path over the Straight segment.

Fig. 8 .

 8 Fig.8. The estimated paths traces by each method is set at the solid line for the rear axle, and in the dashed line the front axle. Above: the path over the full trajectory. Below: the path over the Init segment.

Fig. 10 .

 10 Fig. 10. The estimated paths traces by each method is set at the solid line for the rear axle, and in the dashed line the front axle. Above: the path over the full trajectory. Below: the path over the Straight segment.

Fig. 11 .

 11 Fig. 11. The Aerror of the tested method the expert constant gain.