David Pérez-Morales

Olivier Kermorgant

Salvador Domínguez-Quijada

Philippe Martinet

Multi-Sensor-Based Predictive Control for Autonomous Backward Perpendicular and Diagonal Parking

This paper explores the feasibility of a Multi-Sensor-Based Predictive Control (MSBPC) approach for addressing backward nonparallel (perpendicular and diagonal) parking problems of car-like vehicles as an alternative to more classical (e.g. path planning based) approaches. The results of a few individual cases are presented to illustrate the behavior and performance of the proposed approach as well as results from exhaustive simulations to assess its convergence and stability. Indeed, preliminary results are encouraging, showing that the vehicle is able to park successfully from virtually any sensible initial position.

I. INTRODUCTION

Even though the research on autonomous parking started more than 20 years ago, leading to a quite extensive literature [START_REF] Wang | Automatic parking of vehicles: A review of literatures[END_REF] and in spite of the fact that the automobile industry has already started to roll out some commercial implementations of active parking assistants capable of actively controlling acceleration, braking and steering [START_REF] Song | Analysis and Review of State-of-the-Art Automatic Parking Assist System[END_REF], the research interest in the topic remains strong. This is, partially at least, due to the ever-growing size of many cities around the world, leading to an increment in the number of automobiles in the streets and thus causing parking to become an increasingly difficult and dangerous task.

Path planning approaches have been heavily investigated in recent years. Among the different planning techniques it is possible to distinguish between geometric approaches, with either constant turning radius [START_REF] Petrov | Path Planning and Steering control for an Automatic Perpendicular Parking Assist System[END_REF], [START_REF] Petrov | Saturated Feedback Control for an Automated Parallel Parking Assist System[END_REF] using saturated feedback controllers, or continuous-curvature planning using clothoids [START_REF] Vorobieva | Geometric Continuous-Curvature Path Planning for Automatic Parallel Parking[END_REF], [START_REF] Yi | Smooth path planning for autonomous parking system[END_REF]; heuristic approaches [START_REF] Chen | Path planning with orientationaware space exploration guided heuristic search for autonomous parking and maneuvering[END_REF] and machine learning techniques [START_REF] Notomista | Maneuver segmentation for autonomous parking based on ensemble learning[END_REF].

A well-known drawback of path planning is that it is necessary to have knowledge about the free and occupied space of the whole environment beforehand if online replanning is not feasible, potentially leading to costly infrastructure requirement. Moreover, it is known that path planning algorithms that consider some kind of space exploration step (such as A*, RRT, etc.) have to make a compromise between computation time and exploration's completeness. Furthermore, the tracking performance of a given path is highly dependent on the localization performance which might get degraded on certain environments (e.g. underground parking lots without any special infrastructure) or after a few maneuvers leading to non-negligible differences between the planned path and the performed one [START_REF] Vorobieva | Geometric Continuous-Curvature Path Planning for Automatic Parallel Parking[END_REF], [START_REF] Yi | Smooth path planning for autonomous parking system[END_REF].

An interesting alternative is the use of a sensor-based control approach. It has been proven to be valid for navigation [START_REF] De Lima | Sensor-Based Control with Digital Maps Association for Global Navigation: A Real Application for Autonomous Vehicles[END_REF], dynamic obstacle avoidance [START_REF] Kang | Dynamic obstacles avoidance based on image-based dynamic window approach for humanvehicle interaction[END_REF] and for parking applications [START_REF] Morales | Autonomous parking using a sensor based approach[END_REF], [START_REF] Pérez-Morales | Laser-Based Control Law For Autonomous Parallel And Perpendicular Parking[END_REF]. It should be noted that an important limitation of a purely sensor-based control approach is the possibility of getting trapped in local minima -i.e. if the car is not able to park in one maneuver from the initial pose then the parking maneuver won't be successful.

A. Reasoning and contribution

A natural goal for a human driver when parking would be to try to make the vehicle's longitudinal axis to be collinear to the main axis of the parking spot (i.e. to be centered lateralwise) and finish the maneuver at a certain distance from the rear boundary of the parking spot while avoiding collision with surrounding obstacles during the whole maneuver.

Assuming that the vehicle is capable of perceiving surrounding free parking spots, it is possible to park without any path planning using a Multi-Sensor-Based Predictive Control (MSBPC) approach by minimizing the error between the current value of a certain set of sensor features (i.e. a line collinear to the parking spot's main axis and another collinear to the rear boundary of the parking spot) and its desired value while avoiding collision by imposing certain constraints on another set of sensor features (lines defining the boundaries of the parking spot, points at the corners of said spot, etc.). It is worth noting that, since the presented approach is based on the features perceived at each time instant and a certain desired fixed value for each feature, no localization is inherently required for it to be stable in spite of the prediction step considered.

The contribution of this paper is the exploration of a MSBPC approach for backward perpendicular and diagonal parking, being able now to park with multiple maneuvers. It should be noted that, in order to decouple the performance of the controller from the perception, the sensory data is generated virtually and assumed to be available all the time.

B. Contents of the paper

In the next section the kinematic model of the vehicle and the multi-sensor modeling are presented. Section III describes the interaction model allowing to formalize the parking tasks and the constraints for collision avoidance. Afterwards, the controller is presented in Section IV. The obtained results are presented in Section V: a few cases in two different simulation environments are presented as well as exhaustive simulations results for assessing the convergence performance of the presented approach for the two different types of parking maneuvers addressed are shown. Finally, some conclusions are given in Section VI.

II. MODELING AND NOTATION

Given that parking maneuvers are low-speed motions, a kinematic model can be considered as accurate enough.

A. Car-like robot model and notation

The considered kinematic model is a car with rear-wheel driving:

    ẋ ẏ θ φ     =     cos θ sin θ tan φ/l wb 0     v +     0 0 0 1     φ, (1)
where v and φ are the longitudinal and steering velocities. The point M is located at the mid-distance between the passive fixed wheels (rear) axle and the distance between the rear and the front axle is described by l wb . The generalized coordinates are q = [x, y, θ, φ] T where x and y are the Cartesian coordinates of the point M, θ is the orientation of the platform with respect to the x 0 axis and the steering angle of the steerable wheel(s) is denoted by φ (Fig. 1a).

The turning radius ρ m around the instantaneous center of rotation (ICR) can be defined as:

ρ m = l wb tan φ (2)
The vehicle used for experimentation and simulation, represented by its bounding rectangle in Fig. 1a, is a Renault ZOE (Fig. 1b). Its relevant dimensional parameters are presented in Table I.

B. Multi-sensor modeling

The considered multi-sensor modeling is recalled in this subsection.

1) Kinematic model: Let us consider a robotic system equipped with k sensors (Fig. 2) that provide data about the environment. Each sensor S i gives a signal (sensor feature)

s i of dimension d i with k i=1 d i = d.
In a static environment, the sensor feature derivative can be expressed as follows: where Li is the interaction matrix [START_REF] Chaumette | Visual servo control, part I : Basic Approaches[END_REF] of s i (dim( Li ) = d i × 6) and i Tm is the 3D screw transformation matrix that allows expressing the sensor twist vi (which is expressed in its corresponding frame F i ) with respect to the robot twist vm (expressed in the control frame F m ).

ṡi = Li vi = Li i Tm vm (3)
F 0 F m F 1 F 2 F O S 1
Denoting s = (s 1 , . . . , s k ) the d-dimensional signal of the multi-sensor system, the signal variation over time can be linked to the moving vehicle twist:

ṡ = Ls vm (4)
with:

Ls = L Tm (5)
where L and Tm are obtained by concatenating either diagonally or vertically, respectively, matrices Li and i Tm

∀ i ∈ [1 . . . k].
Planar world assumption: Assuming that the vehicle to which the sensors are rigidly attached evolves in a plane and that the sensors and vehicle have vertical parallel z axes, all the twists are reduced to [v xi , v yi , θi ] T hence the reduced forms Ľ, Ľs , Ľi , vm and i Ťm of, respectively, L, Ls , Li , vm and i Tm are considered.

Ľi is of dimension d

i ×3, vm = [v xm , v ym , θm ] T and i Ťm is defined as: i Ťm =   cos( m θ i ) sin( m θ i ) x i sin( m θ i ) -y i cos( m θ i ) -sin( m θ i ) cos( m θ i ) x i cos( m θ i ) + y i sin( m θ i ) 0 0 1   (6)
where m t i = [x i , y i ] T and m θ i are, respectively, the position and orientation of S i (frame F i ) with respect to F m expressed in F m . Furthermore, since in the considered model the control frame F m is attached to the vehicle's rear axis with origin at the point M (Fig. 1a), it is not possible to generate a velocity along y m on the vehicle's frame and assuming that there is no slipping nor skidding (i.e. v ym = 0), the robot twist vm can be further reduced to:

v m = [v xm , θm ] T (7)
with v xm = v and θm = θ according to the model (1), thus it is possible to write:

ṡ = L s v m (8)
where L s is composed of the first and third columns of Ľs .

III. INTERACTION MODEL

For the interaction model, we rely on the perception of several lines L j and points from several (virtual) sensors placed at in convenient frames in order to simplify the sensor features definitions and their interaction matrices. The usefulness of virtual sensors can be exemplified as follows: if the car is parking into perpendicular spot with a backward motion (Fig. 3a), the risk of collision with the obstacle on the left is the highest for the car's rear left corner, therefore it would be convenient to have a virtual sensor (S 6 ) placed on said corner to measure directly the distance to left boundary ( 6 L 3 ) of the parking spot.

The sensor's placement can be seen in Fig. 3a. S 1 corresponds to the VLP-16 while S 2 to the 2D LiDAR placed on the rear (LMS151). S 3 to S 6 are placed on the corners of the car's bounding rectangle and have the same orientation as the control frame.

As it can be seen in Fig. 3a, points p 1 to p 4 correspond to the corners of the parking spot while p 5 and p 6 are, respectively, the midpoints between (p 1 , p 4 ) and (p 2 , p 3 ). L 1 is a line that passes through p 5 and p 6 , i.e. it passes through the center of the parking spot. L 2 is a line that passes through p 1 and p 4 thus corresponding to rear boundary of the parking spot. L 3 is a line that passes through p 3 and p 4 . All the lines are parametrized using normalized Plücker coordinates.

A. Line parametrization

Given two distinct 3D points i p f and i p g in homogeneous coordinates, with

i p f = [ i X f , i Y f , i Z f , i W f ] T (9a) i p g = [ i X g , i Y g , i Z g , i W g ] T , (9b)
a line passing through them can be represented using normalized Plücker coordinates as a couple of 3-vectors [START_REF] Andreff | Visual Servoing from Lines[END_REF]:

i L j = [ i u j , i h j ] T (10)
where i u j = i u j /|| i u j || (with i u j = 0) describes the orientation of the line and i h j = i r j /|| i u j || where i r j encodes the plane containing the line and the origin (interpretation plane) and the distance from the origin to the line. The two 3-vectors i u j and i r j are defined as [START_REF] Přibyl | Camera Pose Estimation from Lines using Plücker Coordinates[END_REF]:

i u T j = i W f [ i X g , i Y g , i Z g ] -i W g [ i X f , i Y f , i Z f ] (11a) i r T j = [ i X f , i Y f , i Z f ] × [ i X g , i Y g , i Z g ] (11b)
Due to the planar world assumption considered in this paper, the third element of i u j and the first and second elements of i h j are equal to zero, i.e. i u j (3) = i h j (1) = i h j (2) = 0, therefore the sensor signal s i L j and interaction matrix Ľi L j for the line i L j observed by S i are defined respectively as:

s i L j = i u j (1), i u j (2), i h j (3) T (12) Ľi L j =   0 0 i u j (2) 0 0 -i u j (1) -i u j (2) i u j (1) 0   (13)

B. Task sensor features

The set of task sensor features s t is defined as:

s t = [s t 1 , . . . , s t 9 ] T = [s t 1 , s t 2 ] T = [s 1 L off 1 , s 2 L 1 , s 2 L 2 ] T , ( 14
)
where 1 L off 1 is simply 1 L 1 with an offset to the right with respect to the parking spot (Fig. 3b).

The idea behind considering s 1 L 1 in addition to s t 2 as part of the set of task sensor features is to have some features that will pull the vehicle out of the parking spot with a forward motion, like a human driver would likely do, in order to escape from local minima therefore being able to park with multiple maneuvers.

The interaction matrix Ľt 1 for the features observed by S 1 is computed at each iteration and is defined by (13) while, for the features observed by S 2 , the corresponding interaction matrix Ľt 2 is computed by a 2nd order approximation [START_REF] Thari | On the efficient second order minimization and image-based visual servoing[END_REF] of the form:

Ľt = ĽL + Ľ * L 2 (15)
where

ĽL = [ Ľi L 1 , Ľi L 2 ]
T and Ľ * L is equal to the value of ĽL at the desired pose.

Considering the definition of i L 1 and i L 2 , a sensible choice would be for i L *

1 to be collinear with the vehicle's longitudinal axis (x m -axis) and i L * 2 to be parallel to y m -axis at a safe distance from either the rear boundary of the vehicle.

C. Constrained sensor features

The set of constrained sensor features (Fig. 3c) used for collision avoidance s c is defined as:

s c = [s c 1 , . . . , s c 10 ] T = [s 3 , s 5 , s 6 ] T (16)
with

s 3 = [ 3 h 2 (3), 3 h 4 (3), 3 X 2 , 3 Y 2 , 3 d lat2 ] T (17a)
s 5 = 5 h 3 (3) (17b)
s 6 = [ 6 h 2 (3), 6 h 3 (3), 6 X 3 , 6 Y 3 ] T (17c)
where the difference of raddi i d lata is defined as:

i d lata = i ρ pa -ρ lat , (18)
with:

i ρ pa = ( i X a + x i ) 2 + ( i Y a + y i -ρ m ) 2 , (19)
ρ lat = |ρ m | - w ve 2 . ( 20
)
The interaction matrices Ľi Xa and Ľi Ya associated, respectively, to i X a and i Y a are:

Ľi Xa = -1 0 i Y a ( 21
)
Ľi Ya = 0 -1 -i X a (22)
while interaction matrix associated to i d lata is defined as:

Ľi d = 0 i y i ρ 2 pa i Xa i y i ρ 2 pa ( 23
)
with i y = -| i Y a + y i -ρ m |.
The interaction matrices associated to the rest of the features used as constraints can be deduced from the third row of [START_REF] Chaumette | Visual servo control, part I : Basic Approaches[END_REF].

The corresponding interaction matrix Ľc s is computed at each iteration.

It should be noted that some constraints must be deactivated under certain conditions in order to be able to park successfully. For instance, the constraints on 3 X 2 and 6 X 3 are used to avoid collision, respectively, with points 3 p 2 and 6 p 3 , but they would prevent the vehicle from entering the parking spot if they remain active all the time. Thus, if the vehicle is in a configuration where it can safely enter the parking spot without colliding with the aforementioned points, the previously mentioned constraints should be deactivated. Some other constraints must be deactivated under certain circumstances in order to ensure a successful, collision-free parking maneuver. The equations detailing the deactivation conditions (relying only on the sensor features and control signals) used to obtain the results presented in this work can be found in the appendix.

IV. CONTROL

The control input of the robotized vehicle is defined as:

v r = [v, φ] T (24)
with φ, considering (1) and ( 2), being mapped to θ by

θ = v ρ m . ( 25
)
The MSBPC approach being explored is based on the Visual Predictive Control (VPC) described in [START_REF] Allibert | Predictive Control for Constrained Image-Based Visual Servoing[END_REF]. The control structure is based on the internal-modelcontrol (IMC) structure [START_REF] Morari | Robust Process Control[END_REF] (Fig. 4). The system block contains the robotized vehicle system and sensors whose input is the control variable v r and output s is the current value of the sensor features. The reference s * is the desired value of the task sensor features. The error signal represents all the modeling errors and disturbances between the current features and the values that were predicted from the model:

A. Structure - + s * (n) - + s d (n) Optimization System v r (n) Model + - s mp (n) s mp (n) (n) s(n)
(n) = s(n) -s mp (n) ( 26
)
where n is the current time.

The optimization algorithm minimizes the difference between the desired value s d and the predicted model output s mp . According to Fig. 4:

s d (n) = s * (n) -(n) = s * (n) -(s(n) -s mp (n)) (27)
from where it is possible to deduce

s d (n) -s mp (n) = s * (n) -s(n) (28)
Therefore, to track s * by s is equivalent to track s d by s mp .

To predict the behavior of s mp over a finite prediction horizon N p , the interaction model described in Sec. III is used. The difference between s d and s mp is used to define cost function J to be minimized with respect to a control sequence ṽr over N p . It should be noted that only the first component v r (n) of the optimal control sequence is actually applied to the vehicle.

B. Constraint handling

Model-predictive-control strategies are capable of explicitly take into into account constraints in the control-law design.

The longitudinal velocity v and steering angle φ are bounded by its maximum values as follows:

|v| < v max (29a) |φ| < φ max (29b)
where v max is an adaptive saturation value imposing a deceleration profile based on the velocity profile shown in [START_REF] Petrov | Saturated Feedback Control for an Automated Parallel Parking Assist System[END_REF] as the vehicle approaches the final pose. Furthermore, to avoid large changes in the control signals at the current iteration n that may cause uncomfortable sensations for the passengers or surrounding witnesses and, to consider to some extent the dynamic limitations of the vehicle, the control signals are saturated as well by some increments with respect to the previous control signals (at iteration n -1) as shown below:

(v n-1 -∆ dec ) ≤ v n ≤ (v n-1 + ∆ acc ) (30a) (φ n-1 -∆ φ ) ≤ φ n ≤ (φ n-1 + ∆ φ ). ( 30b
) ( φn-1 -∆ φ) ≤ φn ≤ ( φn-1 + ∆ φ). ( 30c
)
The sensor features considered for collision avoidance ( 16) are constrained as follows:

s c min ≤ s c ≤ s c max ( 31
)
By writing the constraints (30) and (31) as nonlinear functions:

C(v r ) ≤ 0 (32)
a constraint domain C can be defined.

C. Mathematical formulation

The MSBPC approach can be written in discrete time as follows:

min

J(v r ) ṽr ∈ C (33) with J(v r ) = n+Np j=n+1 [s d -s t mp (j)] T Q(j)[s d -s t mp (j)] (34)
and The weighted matrix Q remains constant along the prediction horizon and, in order to automatically adapt the influence of each task feature, is defined as:

ṽr = {v r (n), v r (n+1), . . . , v r (n+N c ), . . . , v r (n+N p -1)} (35) subject to s t mp (j) = s t mp (j -1) + L t s (j -1)T s v m (j -1) (36a)
s c mp (j) = s c mp (j -1) + L c s (j -1)T s v m (j -1) (36b)
Q = Q 1 diag(w t 1 , . . . , w t 3 ) 0 3×6 0 6×3 Q 2 diag(w t 4 , . . . , w t 9 )
(37) where w t 1 -w t 3 , w t 6 and w t 9 are constant while the values of w t i ∀i = {4, 5, 7, 8} and Q 2 are computed using a smooth weighting function (Fig. 5) based on the one presented in [START_REF] Narayanan | Vision-based adaptive assistance and haptic guidance for safe wheelchair corridor following[END_REF], while:

Q 1 = 0 if s 2 L 1 -s * 2 L 1 < L1 1 -Q 2 otherwise ( 38
)
where L1 is a small positive scalar value. Since in the parking scenarios considered, the error e t 1 = s t 1 -s t * 1 would be generally minimized with a forward motion (particularly when the vehicle is close to the boundaries of the parking spot) while e t 2 = s t 2s t * 2 with a backward one, by regulating the influence of each set of sensor features (by means of Q 1 and Q 2 , respectively) the controller can automatically maneuver the vehicle with the appropriate direction of motion that would allow to have a successful parking maneuver. Regarding the use of L1 , it serves to nullify Q 1 (and consequently the influence of s t 1 ) when the vehicle is close to be collinear to L 1 .

It should be noted that, from v r (n+N c ) to v r (n+N p -1), the control input is constant and is equal to v r (n + N c ), where N c is the control horizon.

V. RESULTS

For the results shown in this section, the parameters in Table II are considered. The value of φ max corresponds to the maximum steering angle of the real vehicle while the rest of the parameters were determined by empirical testing, nevertheless some guidelines on how to tune them can be given:

• The maximum longitudinal velocity v max and the increments ∆ v , ∆ φ and ∆ φ should be large enough so that the vehicle can park in a reasonable amount of time (without a feeling of sluggishness) but not so large that the passengers and surrounding witnesses feel unease during the maneuver. • A larger control horizon N c allows the system to maneuver the vehicle more freely at the expense of a larger computation effort. • N p should be large enough so that a collision-free motion can be guaranteed (i.e. N p ≥ v max /∆ v ) but small enough to be able to meet the computational time requirements. • The threshold value L1 used to determine whether or not Q 1 should be equal to zero has influence on the total number of maneuvers required to park and the convergence of the controller. In general, a smaller value of L1 enforces a smaller final error at the expense of an increase on the number of maneuvers required to park. The nonlinear solver used for MATLAB implementations is fmincon with a Sequential Quadratic Programming (SQP) algorithm while for C++ implementations the solver NLopt with a Sequential Least Squares Programming (SLSQP) algorithm is used. To illustrate the behavior of the MSBPC approach, a perpendicular (Fig. 6) and a diagonal (Fig. 7) maneuvers are shown. It can be clearly seen that, for both cases, the car is able to park successfully with generally smooth control signals (thanks to (30)) while satisfying the constraints on the sensor features at each time instant. Furthermore, it can be seen how, generally, when Q 2 is larger than Q 1 , the vehicle is moving backward and when Q 1 is larger a transition towards a forward motion occurs, allowing the vehicle to perform multiple maneuvers in order to park successfully.

B. Exhaustive simulations

To assess the stability and convergence of the presented approach, various convergence analyses for the different parking cases were conducted by means of exhaustive simulations. Due to paper length constraints, for the two shown cases (Figs. 8a-8b), the initial orientation of the vehicle is 0 • . Since the exhaustive simulations are an aggregation of the results obtained from several simulations (like those shown in Figs. 6a and7a), each figure consists of a parking spot (represented by 3 lines) adapted to each case and a scatter plot of the initial position of the vehicle (with a sampling step of 10cm), whose color depends on the final value of ||e t ||. The green portion of each scatter plot corresponds to the region of attraction (ROA) and the red one represents the initial positions that are outside of the ROA.

It can be clearly seen that, thanks to the capability of the MSBPC approach of performing automatically multiple maneuvers, the car is able to park from almost any initial position in the analysis window with the exception of a small portion on the diagonal case (Fig. 7a) where the vehicle is already violating the constraints from the initial position. A homemade fast prototyping environment using the same software architecture as the one embedded inside the car is used for simulation purposes. In addition to behaving nearly identically (from a software architecture point of view) to the real vehicle, this fast prototyping environment simulates as well the dynamics of the vehicle, leading to more realistic simulations than the MATLAB environment used for the results presented in the previous subsections.

C. Fast prototyping environment

As it can be seen in Figs. 9-10, the car is able to park successfully into the parking spot (represented by a green rectangle) in three motions while satisfying the constraints during the whole maneuver, with the evolution of the many different signals being very similar to the MATLAB cases in spite of the slight discrepancy between the control signals and the response of the vehicle (Fig. 10a). The fast deceleration at the end (Fig. 10a) is due to a stopping condition in the implementation related to e t .

VI. CONCLUSIONS

Following our previous work [START_REF] Pérez-Morales | Laser-Based Control Law For Autonomous Parallel And Perpendicular Parking[END_REF], we've shown how the use of a prediction step makes possible to overcome the main limitation of the previously presented Multi-Sensor-Based control approach -being able to park with only one maneuver. Indeed, thanks to the prediction step considered, the presented MSBPC approach is able to successfully deal with backward perpendicular and diagonal parking problems (using the same formalism) in multiple motions from virtually any sensible initial position.

It is worth noting that the modifications in the interaction model with respect to the MSBC approach are minor.

APPENDIX

The constraints deactivation conditions used to obtain the results presented in this work are now detailed (Table III). To simplify the content of the table, the following notation is considered: subscripts min denotes a minimum radius when turning with the maximum steering angle (φ max ), i p Cart a describes the point i p a in Cartesian coordinates, the superscript c(angle) denotes a multiplication of the base by cos(angle) with angle expressed in degrees and, long and lat are small positive values considered for constraints that are mostly related to, respectively, the longitudinal or lateral motions ( long = 0.05 and lat = 0.1). Furthermore, it should be noted that the conditions should be verified at each prediction step along the whole prediction horizon with the appropriate predicted value for each feature and corresponding control signal. 3 Y 3 <lat or (6 Y 3 < lat and 6 X 3 < 0) or ( 6 X 3 > 0 and 3 Y 3 < 0)

Fig. 1 .

 1 Fig. 1. (a) Kinematic model diagram for a car-like rear-wheel driving robot. (b) Robotized Renault ZOE used for real experimentation

Fig. 2 .

 2 Fig. 2. Multi-sensor model

  Fig. 3. (a) General sensors' configuration and sensor features. (b) Features considered for the parking task. (c) Example of the constrained sensor features

Fig. 4 .

 4 Fig.4. Control structure[START_REF] Allibert | Predictive Control for Constrained Image-Based Visual Servoing[END_REF]

Fig. 5 .

 5 Fig. 5. Weighting function w t i

9 ( 2 Fig. 6 .

 926 Fig. 6. Backward perpendicular parking maneuver. Initial pose = (8m, 4.6m, 0 • )

9 (f) Task error signal: e t 2 Fig. 7 .

 927 Fig. 7. Backward diagonal parking maneuver. Initial pose = (1.3m, 4.5m, 0 • )

Fig. 8 .

 8 Fig. 8. Exhaustive simulations. Initial orientation = 0 • . Parking spot length = 4m and width = 2.7m

Fig. 9 .Fig. 10 .

 910 Fig. 9. Backward perpendicular parking maneuver in simulation using a homemade fast prototyping environment

3 Y 2 < 2 3 x 2 <

 3222 0 and 6 Y 3 > 0) or 3 X 2 < 0 3 X -2v abs max or 3 Y 2 <long 3 d lat 2 φ ≥ 0 or (v < 0 and 3 X 2 > -x i ) or (| 5 h 4 (3)| > ρ c45m min and 3 p Cart 2 > ρ c45 m min ) 6 h 3[START_REF] Petrov | Path Planning and Steering control for an Automatic Perpendicular Parking Assist System[END_REF]

  TsThreshold value to nullify Q 1

	TABLE II
	CONTROL-RELATED VEHICLE PARAMETERS
	Parameteres	Notation	Value
	Control horizon	Nc	4
	Prediction horizon	Np	20
	Sampling time	Ts	0.1s
	Maximum steering angle	φmax	30 •
	Maximum longitudinal velocity	vmax	≤ 0.6944m/s
	Maximum velocity increment	∆v	0.35m/s Ts
	Maximum φ increment	∆ φ	2 • Ts
	Maximum φ increment	∆ φ	0.8

David Pérez-Morales,

Olivier Kermorgant and

Salvador Domínguez-Quijada are with LS2N, Laboratoire des Sciences du Numérique de Nantes, École Centrale de Nantes, 1 rue de la Noë,

44321 Nantes, France[START_REF] Petrov | Saturated Feedback Control for an Automated Parallel Parking Assist System[END_REF] Philippe Martinet is with INRIA Sophia Antipolis, 2004 Route des Lucioles, 06902 Valbonne, France and École Centrale de Nantes -LS2N, 1 rue de la Noë, 44321 Nantes, France 1 David.Perez-Morales@eleves.ec-nantes.fr 2 Olivier.Kermorgant@ec-nantes.fr 3 Salvador.DominguezQuijada@ls2n.fr 4 Philippe.Martinet@inria.fr

X 3 3 Y 3 < 0 or 6 Y 3 > long or ( 3 h 4 (3) > 0 and 3 Y 3 < 0) 6 Y 3 5 X 3 > 2v abs max or 6 X 3 < 0 or 6 Y 3 > lat

ACKNOWLEDGMENT

This work was supported by the Mexican National Council for Science and Technology (CONACYT). This paper des-cribes work carried out in the framework of the Valet project, reference ANR-15-CE22-0013-02.