Hugo Pousseur

Alessandro Correa Victorino

General and Multi-Criteria Approach to Study the Admissibility and Quality of a Driving Intention

Determining the admissibility and quality of driving intentions, generated by an automated intelligent vehicle and by a human driver, is a sine qua none task in a humanintelligent vehicle share navigation. Our paper proposes a generic method to quantify driving intentions. These intentions are defined by a sequence of velocities. This formulation is based on metrics already discussed in the literature. It proposes a way to use them to evaluate a state, making a judgment, and to extend this evaluation to a sequence of states. This quantification determines whether the intention is safely achievable and defines a quality taking into account several criteria (safety, comfort, context, energy consumption). It is thus possible to compare and rank the intentions according to a set of criteria. This article defines a proposed implementation that has been tested on a driving simulator. For a given scenario, we tested our solution on several intentions in order to show the interest of our solution, and the possibility to compare the intentions between them.

I. INTRODUCTION

With the evolution of autonomous cars, quantifying and qualifying a system's commands has become an increasingly important task. This task allows either to evaluate a system or to anticipate a problem. It makes it possible to quantify and evaluate an order according to a given situation. This quantification is based on a set of metrics [START_REF] Mahmud | Application of proximal surrogate indicators for safety evaluation: A review of recent developments and research needs[END_REF] representing a situation in a numerical way.

Our work [START_REF] Jugade | Shared driving control between human and autonomous driving system via conflict resolution using non-cooperative game theory[END_REF] on shared navigation between the human and the autonomous system motivates us to make this quantification. In fact, in this shared task, the human and the autonomous car drive at the same time and a fusion is performed on these commands. This fusion is based in a first step on the analysis of their intention [START_REF] Pousseur | Prediction of human driving behavior using deep learning: a recurrent learning structure[END_REF], which means what the entity wants to do. We define the intention [START_REF] Mozaffari | Deep learning-based vehicle behavior prediction for autonomous driving applications: A review[END_REF] of an entity as follows:

C t,t+m = {(v t , w t ), ..., (v t+m , w t+m )} (1)
This fusion needs to know the "best" command. The idea is to influence the command fusion towards the entity with the best proposal. This notion of "best" is not easy to define because it is a subjective notion that depends on the point of view, the criteria, and the way the intention is evaluated. In our paper, we propose a generic method for estimating the best intention, while ensuring that this intention is feasible. Our paper introduces formulations as well as concepts to achieve this quantification. We introduce two notions: hugo.pousseur@hds.utc.fr, 2 alessandro.victorino@hds.utc.fr

• Admissibility: Defines, according to some criteria, whether a command is feasible or not; • Quality: Defines the quality of a command, between 0 and 1, according to some criteria; Each of these criteria belongs to a category (e.g. safety, comfort); Thus, the notion of best does not only depend on a notion of safety, but also includes other notions such as comfort, context, energy consumption. From these two concepts, we can then define a score for each intention. This score reflects both the feasibility of the intention and its quality, that will qualify the navigation intention.

Generic approach proposal, section II by defining concepts and formulation. Section III defines an implementation of the generic approach. Approach is implemented in a driving simulator in section IV. Section V discusses results.

II. GENERIC APPROACH

In this article we define the sequence X as follows: X t,t+l = {x t , ..., x t+l }, where x i represents a scalar.

A. Definitions: Intention, command, intention quality

As defined by the Eq. 1, an intention is defined by a sequence of commands. The evaluation of the sequence of commands is defined by the evaluation of the states resulting from the application of these commands Eq. 2. By knowing the sequence of commands, i.e. the intention, C t , and the current state, s t ,provided by sensors, the sequence of future states can be deduced.

(C t,t+m , s t ) P -→ {ŝ t+1 , ..., ŝt+m } (2)
where s i is the previewed state after the application of the control input (v i , w i ). Each state in this sequence can be assessed and quantified. The quantization must be more sensitive to a near state than to a far state. Let the quality of a state, s i , noted as quality(s i ), the quality of a control sequence, C t,t+m , on the current state, s t :

Quality(C t,t+m , s t ) = 1 m i γ(i) m i=1 γ(i) * quality(s t+i ) (3)
With γ : N + → [0, 1], a decreasing function called discount factor. This means that the quality of a late state has less impact on the final result than a near state. The Fig. 1 shows the relation between discount function and states. This approach is similar to the discount rate used in reinforcement learning [START_REF] Kaelbling | Reinforcement learning: A survey[END_REF].

B. Evaluator

In order to qualify the commands sequence, we need to define how to qualify each state. As mentioned in the section I, this quantification is done according to several criteria. Our solution is to define an evaluator, eval k , for each criterion k. An evaluator is defined as a composition of two functions: a metric function, metric k (s t ), whose goal is to quantify a situation, which we can compare to a feature extraction function. The result of this function is analyzed by an analyzer function whose goal is to judge this result from a knowledge, defined by Θ, analyzer k|Θ (metric k (s t ), s t ).

eval k (s t ) = analyzer k|Θ (metric k (s t ), s t ) (4)
For each of these criteria, we can vary its influence on the final result by assigning a weight w k . Thus, the quality of a state is defined by

quality(s t ) = k w k * eval k (s t ) (5)
We need to standardize each quality between [0, 1]:

quality(s t ) = 1 k w k k w k * eval k (s t ) (6)
C. Quality Generic Formulation

Taking Eq. 3 in Eq. 6:

Quality(C t , s t ) = 1 m i γ(i) n i=1 γ(i) *         1 k w k k w k * analyzer k|Θ (metric k (s t+i ), s t+i ) eval k qualityt+i         (7)

D. Admissibility Generic Formulation

Similarly to quality, admissibility is defined by a set of guard l that guarantee for each criterion a check that the command is indeed admissible. Each guard is composed as follows:

guard(s i ) = indicator Θ (metric(s i ), s i ) (8)
Where the function indicator indicates whether the metric of a state is admissible (= 1) or not (= 0). Thus, the admissibility of a sequence of commands C t , from a state s t , contains n criteria on a sequence of τ , unlike the quality, the elements are multiplied together so that if one element is inadmissible, the whole sequence is inadmissible.

Admissibility(C t , s t ) = τ i=1       n l=1 guard l (s t+i ) admissibilityt+i       (9) = τ i=1 n l=1 indicator l|Θ (metric l (s t+i ), s t+i ) (10)

E. Intention Score Generic Formulation

From the generic formulation of quality and admissibility, the generic formulation of score, is defined as follows. In this proposal, we add a hyperparameter ϵ, which allows to modify the domain of definition of the quality [0, 1] → [ϵ, 1]. Thus, we can define the value of an intention as follows:

Score(C t , s q st) = Admissibility(C t , s t ) ×(ϵ + Quality(C t , s t ) * (1 -ϵ)) (11)
So we distinguish between a good quality order that is not feasible and a low quality order that is feasible, the Fig. 2 shows the interpretation of the score. The ϵ is a very small positive quantity used to ensure that a quality of zero does not result in a score of zero. In the rest of our work, this difference is important, because it allows us to distinguish a valid intention, but with a poor quality, from an invalid intention.

s t = {s env t , s vehicle t } (12)
1) State Vehicle: The state of a vehicle is defined by the dynamic state of the vehicle. So we define the state of a vehicle as follows:

s vehicle t =       v w v ẇ j       t
ŝvehicle t+1 = 1 δt As vehicle t + Bc t (14)
Where A ∈ M 5×5 and B ∈ M 2×5 , and c t the command applied on the state s vehicle t .

2) State Environment:

The state of the environment is defined by an occupancy grid. As explained in the previous sections, we need to predict the future state, i.e. the future occupancy grid in this case. At first, we assume the environment of the car as static, so making a prediction of the future grid is like making a projection of the speed in trajectory and repositioning the position of the car on the occupancy grid.

s env t = [grid occ t , (x, y, θ) g t ] (15)
The vector (x, y, θ) g t defines the position and the orientation of the vehicle on the occupation grid. We assume this occupancy grid is static, from the commands sequence combined to interval time δt, we can estimate the new position of the vehicle in the initial occupancy grid (grid occ t ). The vehicle position can be estimated. Thus we define the prediction of the next state, ŝenv t+1 , as follows:

ŝenv t+1 = [grid occ t , (x, y, θ) g t+1 ] (17)

B. Quality

As previously defined, we have to define the quality and admissibility functions by criteria. In this article, we defined 4 quality criteria divided into 3 categories:

• safety: collision on path evaluator;

• context: speed limit evaluator;

• comfort: lateral acceleration evaluator, jerk evaluator; As previously defined, the quality is defined on a sequence of commands, to realize our tests we applied the calculation of the quality on the first 20 elements, m = 20, indeed our data are recorded at 10hz, so our sequence is analyzed on 2 seconds. In previous work, the prediction of commands were good up to 2 seconds [START_REF] Pousseur | Prediction of human driving behavior using deep learning: a recurrent learning structure[END_REF], explaining the choice of this value.

1) Collision On Path (COP): This evaluator evaluates if the desired drive does not collide with an obstacle, which is in its way.

a) Metric: This metric defines for a state s t the distance d t between the vehicle and the nearby obstacle, considering that the vehicle runs at the constant speed defined by c t . This distance is computed by projecting the trajectory of the vehicle, running at speed c t , on the occupation grid grid occ t . Figure 3 shows how to define the obstacle distance by projecting the path estimated from command.

metric COP (s t ) = distance obstacle (18)
b) Analyzer: In order to evaluate the distance to obstacle, a reference distance need to be defined. Based on the reaction time, s react = 1.0s [START_REF] Uno | A microscopic analysis of traffic conflict caused by lane-changing vehicle at weaving section[END_REF], and on the maximum deceleration, dec max = 3.3m/s 2 [6] and the current velocity, Fig. 4: Left figure represents a metric from vehicle state, based on this metric the right function analyzes the result and appropriate a judgement between 0 and 1. This analyzer is defined by 2 parameters: rampe, shif t. v t ∈ s t , the reference distance can be defined as:

s saf e = v t dec max d saf e (v t ) = v t * (s saf e + s react ) -dec max *
s saf e * (s saf e + 1) 2 d(s t ) = d saf e (v t )

Based on this estimation, the analyzer function is build in taking account this reference:

analyzer COP |Θ (metric COP (s t ), s t ) = 1 1 + e (-θrampe * metric COP (st)-d(st)) (19)
Where θ rampe is a hyperparameter impacting the slope degrees.

2) Lateral Acceleration (LA): This evaluator takes into account the comfort of driving. Figure 4, illustrates the metric and the analyzer used by this function.

a) Metric: From the linear velocity and the angular velocity, the lateral acceleration of the vehicle can be deduced by:

metric LA (s t ) = v t * w t (20)
In order to understand the relation between metric and analyzer, we defined a candidate example (refer to Fig. 4) defined by (w t = 0.5, v t = 2) then lateral acceleration a t = (v t * w t ) = 1.0m/s 2 , based on this metric the result of the analyzer is 0.61. b) Analyzer: In order to compare the lateral acceleration defined by the previous metric, a reference value need to be set, let the most acceptable acceleration, a ref = 0.3g = 2.943m/s 2 [START_REF] Azadi | Chapter 6 -dynamic behavior and stability of an articulated vehicle carrying fluid[END_REF].

analyzer LA|Θ (metric LA (s t ), s t ) = 1 1 + e (metric LA (st) * θrampe-a ref ) (21)
3) Speed Limit (SL): Depending on the context in which the vehicle is operating, this evaluator assesses compliance with the speed limit.

a) Metric: This metric exploits the current speed of the vehicle.

metric SL (s t ) = |v t | (22)
b) Analyzer: The speed of the vehicle should be closed to the θ target limit speed. The analyzer exploits hyperparameters θ target the limit speed and θ σ the tolerance. This analyzer is a normalized Gaussian, centered on the speed limit, defined by the context.

analyzer SL|Θ (metric SL (s t ), s t ) = e ( 1 2 * ( metric SL (s t )-θ target θσ ) 2 )
(23) 4) Jerk (J): The jerk represents the variation of the acceleration, this data illustrates abrupt changes of gait. We use this information to determine if the ride is comfortable or not.

a) Metric: Our analysis requires using only the current jerk information of the vehicle state.

metric J (s t ) = |j t | (24)
b) Analyzer: The analyzer compares the actual jerk to a reference, θ ref = 9.9m/s 3 [START_REF] Bagdadi | Jerky driving-an indicator of accident proneness?[END_REF]. This reference value makes it possible to define from which value the driving is uncomfortable.

analyzer J|Θ (metric J (s t ), s t ) = 1 1 + e (metric J (st) * θrampe-θ ref ) (25)

C. Admissibility

Similar to the evaluators, for the admissibility part we have to define the guards composed of metric and indicator. Like for the quality, we need to define the sequence time analyzed by the guard, we choose to use 10 first elements, the sequence is recorded at 10hz, then the sequence analyzed is 1.0 second refer to the time reaction of the human [START_REF] Uno | A microscopic analysis of traffic conflict caused by lane-changing vehicle at weaving section[END_REF].

1) TTC On Path (TOP): a) Metric: This indicator exploits the metric metric COP , defined above (III-B.1.a), and deduces from the current speed the time to collision.

metric T OP (s t ) = metric COP (s t ) |v t | + ϵ ( 26
)
Where ϵ is a small quantity avoiding dividing by 0, when the linear velocity is 0. b) Indicator: From a reference time, θ critic time , we can determine the admissible or not admissible times and thus define according to this criterion the admissible intentions.

indicator T OP |Θ (s t ) = metric T OP (s t ) > θ critic time (27)
The θ critic time can be adapted the context [START_REF] Azadi | Chapter 6 -dynamic behavior and stability of an articulated vehicle carrying fluid[END_REF]. In our implementation, the θ critic time is fixed at 1.0 seconds.

2) Collision Around (CA): a) Metric: For a given state s t this metric defined the closest obstacle to the vehicle position, around the vehicle. This metric exploits the occupancy grid and find the closest obstacle to the vehicle.

metric CA (s t ) = distance obstacle (28)
b) Indicator: Similar to the previous indicator, from a reference distance, θ critic distance , we can filter admissible intentions.

indicator CA|Θ (s t ) = metric CA (s t ) > θ critic distance (29)
IV. RESULTS

The implementation defined in the previous section was written in Python. Our solution has been tested in the SCANeR studio simulator, which allows us to realize not admissible intention data. We tested our solution on the same scenario but with 3 different intentions to show the efficiency of our solution to compare 3 intentions, as presented in Fig. 5. In this scenario, the vehicle is driving on 3 lanes, obstacles are placed on 3 lanes. The first intention drives and hits the obstacle, the second avoids the obstacles with a high lateral acceleration and the last avoids the obstacle but with a low lateral acceleration.

A. Intention 1: Hit Obstacle

In the first intention, the vehicle is moving and hits the obstacle. Figure 6 shows the projection predicted states of the intention on the current occupation grid. In the case where an order is admissible, we can directly conclude that the score of this intention is 0. So we must first make sure that it is valid. In this situation a guard is not validate, that shows the Fig. 7, because the vehicle is too close of the obstacle and doesn't have the time to decelerate before hitting the obstacle. So in this situation the final quality and score are 0.

B. Intention 2: Avoid Obstacle With High Lateral Acceleration

In the first intention the driver avoids the obstacle but makes an abrupt lane change. Like the previous intention, the Fig. 8 shows the occupancy grid combined with the trajectory of the vehicle estimated from the intention. The following Fig. 7: Guard results (intention 1). Fig. 9 shows the speeds of the vehicle in future states. In this case, compared to the previous one, all the guards are good, which means the intention is admissible.

The Fig. 12 shows the result per evaluator. Unlike the lateral acceleration, the other evaluations are goods. We can see that poor acceleration affects the final quality. The final score is equal to 0.746.

C. Intention 3: Avoid Obstacle With Good Quality

In this case, the intention must be good, instead of intention 02, the lane change is made earlier than the previous one. Then, the steering wheel angle is small, which does not result in a high angular velocity and therefore the resulting lateral acceleration is not very important. Figures 13, 14

D. Comparison

From previous studies, we can summarise and compare the quantification of each intention with Tab. II.

V. DISCUSS

These evaluations of these different intentions highlight the interest of our formulation and its effectiveness.

The first test (Sec. IV-A) highlights the need to define admissibility, as it allows an intention that involves a risk for the users of the vehicle to cancel the quality. This case highlights the importance of distinguishing between admissibility and quality.

The second test (Sec. IV-B) illustrates an admissible case where one of the criteria is not met. Contrary to the previous case, this command does not represent a danger but an inconvenience, this command is possible. The quality according to the lateral acceleration, illustrates the inconvenience of this intention.

The last test (Sec. IV-C) shows that our formulation can be used to highlight a good intention. In this case, the intention is risk-free and respects the other criteria, and this respect of the criteria is reflected in the quality of this intention, which is good (0.971).

With this quantification, we can rank these different intentions and choose the best one that is considered feasible and of better quality according to the criteria we have defined. Based on the Tab. II, its 3 intentions can be ranked as follows: the best intention is 'intention 3', followed by 'intention 2' and 'intention 1' is considered the worst, as it is not feasible.

It is important to note that our approach is to define analyzers that rely on knowledge. The definition of analyzers is not trivial and potentially involves a set of hyperparameters, which adds constraints to the implementation of this method.

VI. CONCLUSION

In our approach, we set up a generic formulation that allows to assign a score to an intention that reflects both the feasibility (defined by the admissibility) and the quality of the intention. Our implementation and case study show that our formulation allows us to perform this quantification task and to rank multiple intentions for the same situation. Furthermore, our implementation highlights the importance of distinguishing between admissibility and quality.

In our next work, we intend to integrate this quantification of intentions in more complex situations, integrate new criteria such as the energy consumption of the car. We then plan to integrate this quantification into our fusion of the shared navigation between the human and the autonomous system. This quantification will make it possible to influence the resulting command towards the intention with a better score, thus guaranteeing better driving.

For now, we have applied our solution in a case where the environment is static to facilitate the prediction of the next state. A next approach, we will be able to perform state estimation in a dynamic environment using prediction models [START_REF] Park | Sequence-to-sequence prediction of vehicle trajectory via lstm encoder-decoder architecture[END_REF] of the surrounding cars.

Fig. 1 :

 1 Fig. 1: Discount factor graphic.

Fig. 2 :

 2 Fig. 2: Score interpretation.

(

  linear velocity) (angular velocity) (linear acc) (angular acc) (jerk) (13) From the state definition, the next state defined by ŝvehicle t+1 , can be estimated by the following relation, including δt time the interval time:

Fig. 3 :

 3 Fig.3: Determine the distance to the obstacle by applying the command, c t , as a constant to the current state, s t .

Fig. 5 :

 5 Fig. 5: Scenario support and intentions tested.

Fig. 6 :

 6 Fig. 6: Occupancy grid with intention trajectory (intention 1).

Fig. 8 :

 8 Fig. 8: Occupancy grid with intention trajectory (intention 2).

Fig. 9 :

 9 Fig. 9: Vehicle velocities (intention 2).

  Fig. 10: Guard results (intention 2).

Fig. 11 :

 11 Fig. 11: Vehicle velocities (intention 2).

Fig. 12 :

 12 Fig. 12: Quality results (intention 2).

Fig. 13 :

 13 Fig. 13: Occupancy grid with intention trajectory (intention 3).

Fig. 15 :

 15 Fig. 15: Guard results (intention 3).

Fig. 16 :

 16 Fig. 16: Quality results (intention 3).

TABLE I :

 I Evaluator weights table.

TABLE II :

 II Summarize tests.