Osamah Saif

Isabelle Fantoni

Arturo Zavala-Río

Flocking of Multiple Unmanned Aerial Vehicles by LQR Control

In this paper, we address the control problem of multiple Unmanned Aerial Vehicles (UAVs) flocking by using a behavior-based strategy. We conceive a behavior intending to adress the control design towards a successful achievement of the flocking task without fragmentation. Moreover, through its implemention in UAVs, no rendezvous point is needed to perform flocking. We design a control law, which is independent of the number of UAVs in the flock. We use the LQR control method to develop our strategy. Our proposed strategy deals with the flocking problem from a measurement-mapping perspective. Simulation results show two scenarios of aggregation and navigation of multiple UAVs.

I. INTRODUCTION

Flocking is a collective, harmonic and collision-free motion of animals. Biologists have studied flocks of birds, swarms of insects, herds of quadruped, and schools of fish, in order to understand the secret of this collective motion. Moreover, they have searched to discover motivations that lead animals to aggregate in groups [START_REF] Partridge | The structure and function of fish schools[END_REF] [START_REF] Couzin | Collective cognition in animal groups[END_REF].

The amazing phenomenon of flocking has attracted control and robotics scientists, so they have tried to imitate it on robots platoons. One of the most advanced fields that developed structures similar to flocking is flight formation control. Three of them are cited here: leader-follower, virtual leader and behavior-based control. In the leader-follower structure, individuals in the formation follow one UAV (Unmanned Aerial Vehicle), which is designated as a leader. A formation flight mission trajectory is loaded in the leader, and the followers track their leader. This structure is simple and widely implemented in multi-UAVs formation [START_REF] Guerrero | UAV flight formation control[END_REF], [START_REF] Chiaramonti | Formation control laws for autonomous flight vehicles[END_REF]. However, since the entire formation depends on one UAV, the whole formation will be affected by a faulty leader.

The virtual leader structure consists of replacing a formation leader, in the leader-follower structure, by a virtual one. All the UAVs in the formation receive the mission trajectory. This trajectory is the virtual leader itself. One of the main drawbacks of this structure is that the possibility of collision between UAVs increases, since there is no feedback to the formation. Moreover, the predefined trajectory of the mission decreases the autonomy of the formation [START_REF] Chiaramonti | Formation control laws for autonomous flight vehicles[END_REF].

In the behavior-based control, each UAV follows some rules to achieve the formation. In fact, this structure is inspired from the collective motion of animals. Among the first technical works on this structure, we found the distributed 1 O. Saif and I. Fantoni are with the University of Technology of Compiègne (UTC) -CNRS, UMR 7253 Heudiasyc, Royallieu, CS 60319, 60200 Compiègne, France.

{osamah.saif/isabelle.fantoni}@hds.utc.fr 2 A. Zavala-Río is with Instituto Potosino de Investigacion Cientifica y Tecnologica, Camino a la Presa San Jos e 2055, Lomas 4a. Seccion 78216, San Luis Potosi , Mexico. azavala@ipicyt.edu.mx behavioral model by Reynolds [START_REF] Reynolds | Flocks, herds, and schools: A distributed behavioral model[END_REF]. Although Reynolds was specialized in computer graphics, his work inspired researchers in control theory and robotics that applied the rules of Reynolds in a theoretical and experimental framework [START_REF] Olfati-Saber | Flocking for multi-agent dynamic systems: algorithms and theory[END_REF], [START_REF] Antonelli | Flocking for multirobot systems via the null-space-based behavioral control[END_REF]. Reynolds inspired his rules from biologists study of animals collective motion. He considered that each individual in a flock should follow rules in order to perform the flocking behavior. These rules are: 1) Collision Avoidance; 2) Velocity Matching, and 3) Flock Centering.

Olfati-Saber in [START_REF] Olfati-Saber | Flocking for multi-agent dynamic systems: algorithms and theory[END_REF] presented a concrete theoretical framework for control design and stability analysis of multi-agent flocking of dynamic systems. The author proved that his first proposed algorithm embodies the rules of Reynolds. He used a collective potential function to design the flock centering behavior. Moreover, a velocity consensus term was added to the potential term to achieve the velocity matching behavior. Other algorithms were proposed for navigation and obstacle avoidance. The stability of the proposed algorithms was analyzed by a monotonically decreasing structural function and LaSalle's invariance principle. One of the limitations of the proposed algorithms is their dependence on the connectivity degree between UAVs in a flock. Moreover, algorithm 1 (without navigation) dealt only with a local flocking problem, i.e., he supposed that individuals are already in a flock. A global problem is to consider, beside the local problem, the trend to form a flock from scattered individuals or small flocks.

In [START_REF] Antonelli | Flocking for multirobot systems via the null-space-based behavioral control[END_REF], G. Antonelli, et al followed the rules of Reynolds and designed behavior-based control laws for multi-robot systems flocking. Null-Space-based behavioral control laws were used to follow the rules of Reynolds with the same flocking local problem and connectivity degree dependence.

In this paper, we use the behavior-based control structure to achieve a multi-UAVs flocking. We conceive a behavior intending to adress the control design towards a successful achievement of the flocking task without fragmentation. The proposed behavior treats the flocking problem from a global perspective, that is, we include a tendency of separated UAVs to form a flock. We propose a new control strategy to achieve the rules of Reynolds and the new proposed behavior. This strategy is based on the LQR control. Moreover, this strategy allows us to design an LQR controller, for each UAV, which is independent of the number of UAVs within a flock. In fact, we consider the flocking as a problem of trajectory (or reference) generation, rather than an issue of control design. The desired trajectory for each UAV is generated by using the measured states of the UAVs in its field of view. Furthermore, we expand our control strategy to perform a navigation behavior. In this paper, we suppose that UAVs have a simple linear dynamics (double integrator), in a similar manner as the work in [START_REF] Olfati-Saber | Flocking for multi-agent dynamic systems: algorithms and theory[END_REF]. Nonlinear models will be treated in an upcoming sequel of this paper.

The outline of this paper is: section II addresses, firstly, preliminaries on the representation of multi-UAVs systems by graph theory, on the formulation of the problem in the Euclidean framework, on the modeling of multi-UAVs system, and on the LQR control. Then, sections III and IV present the main contributions and the results of simulations. Finally, section V concludes by making remarks and presenting future works.

II. PRELIMINARIES

In this section, we introduce the basic elements of our work. Firstly, we start by presenting the graph theory as a tool for modeling of multi-UAVs systems. Then, a Euclidean representation of our system is introduced. After that, we present the simplified dynamic model of a multi-UAVs system. Finally, we introduce the LQR control in the perspective of our work.

A. Multi-UAVs modeling by graph theory

Graph theory is a powerful tool to model multi-agents systems. In the same way, we use Graph theory to represent the multi-UAVs systems. Graph theory is used to describe the topology of the system in a mathematical formulation. A multi-UAVs system is represented by a graph G = (V , E), where V is a set of nodes V = {1, 2, ..., M}, and E is a set of edges E ⊆ {(i, j) : i, j ∈ V , i = j}. Every node represents a UAV and edges depict the sensing between UAVs.

An adjacency matrix A is an M × M matrix with elements a i, j = 1 if (i, j) ∈ E and a i, j = 0 otherwise. Connected UAVs with a UAV i in the graph could be modeled by a set γ i = j ∈ V : a i, j = 0 . We assume that every UAV has an omni-directional detection capability, i.e. it can detect in all directions. This capability of each UAV means that there is a mutual detection between connected UAVs. The adjacency matrix is then symmetric A T = A . Therefore, our graph is undirected. For more information about graph theory, the reader can refer to [START_REF] Diestel | Graph Theory[END_REF]. Fig. 1 shows a multi-UAVs system of four UAVs represented as an undirected graph.

B. Euclidean framework

Before working on the dynamics of UAVs, we need to represent our multi-UAVs system in the Euclidean space. Therefore, every node i in the graph is represented as a position p i ∈ R f where f is the dimension of the space (example: f = 2, 3).

The neighbors of a UAV i is defined in the Euclidean space by:

η i = p j ∈ R f , j ∈ V : p j -p i < c ( 1
)
where . is the Euclidean norm, and c is the neighborhood range.

C. Simplified dynamics of multi-UAVs

In this paper, we suppose that the UAV has a simple dynamics. The proposed dynamic model is a double integrator. Furthermore, we assume that the body of a UAV is a particle in the Euclidean framework. Equation ( 2) is a state-space representation model of a UAV i in a flock.

ẋi = A i x i + B i u i y i = C i x i (2)
where

x i = [p i ṗi ] T , x i ∈ R l is the state vector, u i ∈ R f is the control input and y i ∈ R l is the system output, with (l = 2 f ).
In this paper, we consider y i = x i . The state-space matrices are:

A i = 0 f I f 0 f 0 f B i = 0 f I f C i = I l
where, I f and I l are f × f and l ×l identity matrices and 0 f is an f × f zero matrix. This system is, therefore, controllable and observable. Now, we can formulate the state-space model of multiple UAVs. Let us consider, as in [START_REF] Olfati-Saber | Flocking for multi-agent dynamic systems: algorithms and theory[END_REF], p = col (p 1 , ..., p M ) ∈ R f ×M the position configuration of all nodes in the multi-UAVs graph, where M is the number of UAVs. Moreover, all the states, the outputs, and the control inputs of the multi-UAVs system are written as

x = col (x 1 , ..., x M ) ∈ R l×M , y = col (y 1 , ..., y M ) ∈ R l×M and u = col (u 1 , ..., u M ) ∈ R f ×M
respectively. Thus, we can write the multi-UAVs state-space system as follows:

ẋ = A x + B u y = C x (3)
where, A = I M ⊗ A i , B = I M ⊗ B i , and C = I M ⊗ C i , with ⊗ being the Kronecker product.

We define x j η i = [p j ṗ j ] T , ∈ R l , with j ∈ γ i , as the state of a neighboring UAV j measured by a UAV i. Then, the measured states of all the neighbors could be written as the vector x η i = col x 1 η i , ..., x q η i ∈ R l×q where q = |η i | is the number of neighbors.

D. LQR control

The LQR (Linear Quadratic Regulator) objective for a dynamic system such as (2) is to find the control input that minimizes the following cost function:

J LQR = ∞ 0 y T i (t) Q y i (t) + u T i (t) R u i (t) dt (4)
where y i is the controlled output, Q and R are symmetric positive-definite matrices of dimensions l × l and f × f respectively. These two matrices are weighting matrices used to design the control law in order to respect the performance specification of the controlled system. This problem will be treated in a sequel paper dealing with a real-time application of our proposed strategy.

The control input u i , which minimizes J LQR and which stabilizes the controlled output to zero, is then given by:

u i = -Kx i ( 5
)
where K is the LQR gain matrix:

K = R -1 B T P (6)
P is a symmetric positive-definite matrix and the solution of the following Algebraic Riccati Equation [START_REF] Hespanha | Linear Systems Theory[END_REF].

A T P + PA + Q -PBR -1 B T P = 0 (7)
with

Q = C T Q C.
In the trajectory tracking problem, the objective is to stabilize the error e = x ix d to zero, asymptotically. Then, the control input is written as:

u i = -K(x i -x d ) + u d (8)
where, x d and u d are the state of the desired trajectory and the feedforward control, respectively. This trajectory should be feasible , i.e., the trajectory must be an equilibrium solution of the closed-loop system [START_REF] Murray | Optimization-Based Control[END_REF]. In this paper, we consider u d = 0.

III. MAIN RESULTS

In this section, we present the main contributions of this paper. Firstly, we introduce a new behavior in addition to the rules of Reynolds. Then, we present an LQR control strategy for multi-UAVs flocking. Finally, the control strategy is extended to adapt the navigation behavior.

A. Aggregation behavior

Several studies on flocking and schooling behavior discuss a behavioral tendency in the individuals [START_REF] Partridge | The structure and function of fish schools[END_REF] [START_REF] Couzin | Collective cognition in animal groups[END_REF]. In [START_REF] Partridge | The structure and function of fish schools[END_REF], a crucial question was: What makes fish gather in a school? The answer to this question reveals a tendency in the individuals to join and to stay within a school for different reasons, like hunting or protection.

In the technological side of dealing with flocking or schooling phenomena, scientists focus on a local problem.

They tried to answer the question: How do individuals avoid collision and align themselves? They supposed that individuals are already in a flock. A global problem is to consider, in addition to the local problem, the trend to form a flock from scattered individuals or small flocks.

The consideration of the flocking local problem is clear in the rules of Reynolds [START_REF] Reynolds | Flocks, herds, and schools: A distributed behavioral model[END_REF]. The rules of Reynolds focus on collision avoidance, velocity matching, and flock centering which are a local flocking problems. In [START_REF] Olfati-Saber | Flocking for multi-agent dynamic systems: algorithms and theory[END_REF], algorithm 1 of Olfati-Saber embodied the rules of Reynolds. This algorithm failed to perform the flocking, as emphasized by the author. Moreover, in the second algorithm of Olfati-Saber, a rendezvous point was defined to attract the individuals, in order to form a flock.

From a robotics and control theory point of view, flock formation should be autonomous. Therefore, no rendezvous point should be predefined to form a flock. In fact, Olfati-Saber's algorithms can achieve an autonomous formation control, without a rendezvous point, by increasing the neighboring region of agents. However, defining an attracting rendezvous point and restricting the neighboring region limit the computational cost due to the increase of connections between agents. This limitation of neighboring region leads to a fragmentation phenomenon, which appeared in the simulations results of Olfati-Saber without a rendezvous point [START_REF] Olfati-Saber | Flocking for multi-agent dynamic systems: algorithms and theory[END_REF]. The same considerations are also found in [START_REF] Antonelli | Flocking for multirobot systems via the null-space-based behavioral control[END_REF].

The limitation of neighboring regions is useful to fix distances between agents. However, naturally, the distances between flock or school individuals are not fixed [START_REF] Partridge | The structure and function of fish schools[END_REF]. In this paper, we prefer to follow the natural phenomenon of flocking and consider variable security distances between agents.

In this work, we introduce a new behavior, which views the flocking problem from a global perspective. We suppose that individuals in a flock are not yet grouped. This behavior is the Aggregation behavior.

Definition 1: (Aggregation behavior) It is the trend of individuals or sub-flocks to join each other, in their range of sight, in order to form a flock.

To model such behavior in a flock of UAVs, we propose a new set for each UAV. This set includes all the individuals in a UAV range of sight. It is defined as Unlike the works of Olfati-Saber in [START_REF] Olfati-Saber | Flocking for multi-agent dynamic systems: algorithms and theory[END_REF] and G. Antonelli et al in [START_REF] Antonelli | Flocking for multirobot systems via the null-space-based behavioral control[END_REF], there is no need for a rendezvous point to gather UAVs in a flock. Moreover, we realize that the fragmentation problem, issued in the two aforementioned works, is overcome by implementing this behavior in the individuals of the flock (see section IV).

Γ i = ν j ∈ V : p j -p i < b ,

B. LQR control for multiple UAVs

The problem of multiple agents (or vehicles) is that the computational cost and the control design complexity increase with the raise of the number of agents and the connectivity between them [START_REF] Olfati-Saber | Distributed cooperative control of multiple vehicle formations using structural potential functions[END_REF]. In this section, we introduce a new strategy of multiple UAVs control that shows the independence (or slight-dependence) of control design on the number of UAVs and on the connectivity. The linear nature of the LQR control is one of the main characteristics that allowed us to develop this strategy. In this paper, we assume that each UAV can measure the states of all the agents in its range of sight.

The most crucial part of our work is the trajectory generation. In fact, we claim that the flocking is a trajectory generation problem rather than a control design issue. The desired trajectory for each UAV is generated by using the measured states of the UAVs in its field of view.

Drawing inspiration from Reynolds [START_REF] Reynolds | Flocks, herds, and schools: A distributed behavioral model[END_REF], one of the objectives of multi-UAVs flocking control is to ensure a collisionfree region between the flock individuals. The control objective could be written as follows:

p j (t) -p i (t) → d , t → ∞ , ∀ j ∈ η i , ∀i ∈ V (9)
This objective could be written in a vectorial form as:

p j (t) -p i (t) → d n i j (t) , t → ∞, ∀ j ∈ η i , ∀i ∈ V ( 10
)
where d is a security distance or the radius of the collisionfree region, with d < c. n i j is the unit vector indicating the direction from UAV i to UAV j. This vector could be represented by two different ways, as in following equations .

n i j = p j -p i p j -p i ( 11
)
n i j = [cos θ i j sin θ i j ] T (12)
where θ i j is the orientation angle. The representation in equation ( 12) is given in Fig. 2, with f = 2. Moreover, another objective of multi-UAVs flocking is the velocity matching or consensus of all the UAVs in the flock. This objective could be represented mathematically as follows: Let us consider the simple case of two UAVs i and j that detect each other and aggregate to form a flock. We deal with this problem as a trajectory tracking problem. The 3: The desired trajectory for UAV i is generated by using the measured states of the UAVs in its field of view. Only one controller is needed.

ṗ j (t) -ṗi (t) → 0 , t → ∞, ∀ j ∈ η i , ∀i ∈ V (
ξ (x η i , x di ) K UAV u i x η i r i y i - Fig.
error system in UAV i could be, therefore, written by using equations ( 10) and ( 13), as the following:

e i j = p i -p j + d n i j ṗi -ṗ j = x i -r i j ( 14
)
where r i j is considered as the state of the desired trajectory.

In other words, it is the desired relative state of UAV i. In fact, r i j is the state of the UAV j, shifted by a security distance d. r i j is written as follows:

r i j = x j -x di j (15)
where x di j is a shifting state defined as:

x di j = d n i j 0 ∈ R l (16)
The control law, in the UAV i, that ensures the convergence of UAVs and the control constraint in [START_REF] Murray | Optimization-Based Control[END_REF] is written as follows:

u i j = -K (x i -r i j ) (17)
We calculate the control law of UAV j by the same way.

In the problem of multiple UAVs, we define the vector of the shifting states of a UAV i as x di = col(x di1 , ..., x diq ) ∈ R l×q ∀ j ∈ η i . Moreover, we can obviously see that each UAV in a flock has more than one neighbor. Therefore, the dimensions of the vector of the neighboring states x η i and the state x i of a UAV i are not compatible. This problem could be solved by mapping x η i to be compatible with the dimensions of x i .

Let ξ : R l×q → R l be a differentiable function that is used to generate the trajectory of a UAV i in the flock in order to achieve a desired behavior. Then r i could be written as:

r i = ξ (x η i , x di ) (18)
The function in (18) means that it is not necessary to design multi-controllers for each UAV. This method decreases the computational cost. The block diagram in Fig. 3 shows the application of this strategy on a UAV i. We define the average function of a vector z = col(z 1 , ..., z n ) as follows:

Ave n (z) = 1 n n ∑ j=1 z j (19)
Theorem 1: (Average control strategy) Consider q UAVs that tend to form a flock. The following control law of UAV i ∈ V

u i = -Kx i + Kξ (x η i , x di ) (20)
ensures the aggregation behavior and asymptotically stabilizes the flock formation. The function ξ (x η i , x di ) is written as the following:

ξ (x η i , x di ) = Ave n (x η i -x di ) (21)
Proof: The LQR control law in (17) stabilizes the UAV i and ensures the aggregation of two UAVs. For q UAVs ∈ η i , we need q control laws. Then, we have:

u i1 = -Kx i + Kr i1 . . . . . . . . . u iq = -Kx i + Kr iq (22)
A solution to decrease the number of controllers is to calculate the average of the q control laws and apply the output of the average to the system. We obtain:

u i = 1 q q ∑ j=1 u i j (23)
By applying (23) we get:

u i = -Kx i + K q q ∑ j=1 r i j (24)
Replacing r i j by its expression in (15), then we get the resultant control law given by equation (20).

Remark 1:

The design of this control law in (20) is independent of the number of UAVs.

Remark 2: The security distance d is user-defined and it is dependent on the number of UAVs. Gaps between flock individuals will converge to distances around d. The security distance should be set higher when the number of UAVs increases. The distance d should be determined carefully in order to avoid collision, since the state of each UAV converges to an average vector.

C. Navigation behavior

In this section, we introduce a navigation behavior that allows a flock of multiple UAVs to navigate from initial positions toward a destination. The destination is predefined by the user and stocked in the memory of UAVs. The navigation of a multi-UAVs flock is in a free space, i.e. there are no obstacles. In this section, no obstacles are faced in the path of the navigation.

The control strategy used to perform the navigation task is similar to the average strategy. It consists of defining a navigation vector that contains the position and the velocity of the destination. It could be written as x nav = [p nav ṗnav ] T ∈ R l . In this paper, we focus on the navigation toward a fixed destination rather than tracking a trajectory or a mobile target. Therefore, the velocity in the navigation vector is 0 ∈ R f . Tracking trajectories will be addressed in a future work. Now, we define the following function to achieve the aggregation and the navigation behaviors:

ξ (x η i , x di , x nav ) = Ave n (col(x η i -x di , x nav )) (25)
Therefore, the control law that allows the multi-UAVs system to make the aggregation and the navigation behaviors is given as the following:

u i = -Kx i + Kξ (x η i , x di , x nav ) (26)
IV. SIMULATION RESULTS

In this section, we illustrate simulations of the multi-UAVs system. We simulate both behaviors, presented in the previous section, by using MATLAB. The simulation is done in a two-dimensional space. The initial positions of UAVs are generated randomly by using the normal distribution function. Moreover, the initial velocities of UAVs are set at zeros. The step size of the simulation is 0.01s. The weighting matrices are: Q = I 4 and R = 10 -3 ×I 2 . The matrix K is calculated by using the lqr MATLAB function [START_REF] Hespanha | Linear Systems Theory[END_REF]. Furthermore, UAVs are represented as red circles, where the real position of a UAV is the center of the circle. For clarity purposes, the size of UAVs is chosen greater than simulation scales, which could yield to ambiguous separation distances. The videos of the simulation results are available at the link in [12].

A. Aggregation behavior

In this part, we simulate the aggregation of 5 UAVs. The variance and the mean of the initial positions are set at 21 and 0, respectively. The range of the two-dimensional simulation plan is the x y position square [-20, 20]. The flocking parameters are defined as the following: d = 5, c = 30. Therefore, we suppose that the range of sight of each UAV covers the entire simulation plan. Moreover, we suppose that each UAV can measure the states of all the other UAVs in its range of sight.

Fig. 4 shows six snapshots of running simulation over time. This simulation is performed by using the average control strategy (20). The UAVs start scattered in the simulation plan. By analyzing the simulation, each UAV performs a repulsion action when there are some UAVs in its collisionfree region. This action ensures a security distance between UAVs. Moreover, every UAV activates the aggregation behavior when a UAV or more are in its range of sight. Therefore, UAVs start to converge to each other to form a flock. The convergence is performed without collision. After a sufficient time, a flock of UAVs is formed and stabilized. In this simulation, we do not define a rendezvous point, and there is no fragmentation in the flock. Moreover, we can see clearly security distances between individuals. These security distances ensure collision-free flock.

B. Navigation

In this part, we illustrate the navigation of 8 UAVs in a free space. The variance of initial positions is 21 and the mean is -30. The simulation plan is expanded to be the x y position square [-60, 60]. The flocking parameters are defined as the following: d = 12, c = 30. The desired destination is the position (40, 40), so the navigation vector is [40 40 0 0] T . Fig. 5 shows six snapshots of the navigation behavior realized by using the control law in (26), which is applied in every UAV in the flock. The flock performs the aggregation behavior while navigating toward the desired destination. Safety distances are kept throughout the navigation path. Finally, the flock is uniformly formed and stabilized at the destination position.

V. CONCLUSIONS

In this paper, we addressed the control problem of multiple Unmanned Aerial Vehicles (UAVs) flocking by using a behavior-based strategy. We conceived a behavior intending to adress the control design towards a successful achievement of the flocking task without fragmentation. Moreover, through its implemention in UAVs, no rendezvous point was needed to perform flocking. We designed an LQR control law, which is independent of the number of UAVs in the flock. Our proposed strategy dealt with the flocking problem from a measurement-mapping perspective. Simulation results showed the efficiency of our strategy in the aggregation and in the navigation of multi-UAVs flocking in a free space.

Our future work will focus on expanding the proposed strategies on non linear models of (Unmanned Aerial Vehicles) UAVs. Moreover, we will focus on implementing these strategies in a real-time application.

Fig. 1 :

 1 Fig. 1: Four UAVs in an undirected graph

  where b is the UAV range of sight and b > c (c is the neighboring region).

Fig. 2 :

 2 Fig. 2: Unit vector representation.

Fig. 4 :

 4 Fig. 4: multi-UAVs aggregation snapshots (Average strategy).No fragmentation in the flock, even if there is no rendezvous point.

Fig. 5 :

 5 Fig. 5: multi-UAVs navigation snapshots. The algorithm ensures the aggregation and the navigation.

ACKNOWLEDGMENT

This work was carried out and funded in the framework of the Labex MS2T. It was supported by the French Government, through the program "Investments for the future" managed by the National Agency for Research (Reference ANR-11-IDEX-0004-02)