Markus Ryll

Heinrich H Bülthoff

Paolo Robuffo Giordano

First Flight Tests for a Quadrotor UAV with Tilting Propellers

In this work we present a novel concept of a quadrotor UAV with tilting propellers. Standard quadrotors are limited in their mobility because of their intrinsic underactuation (only 4 independent control inputs vs. their 6-dof pose in space). The quadrotor prototype discussed in this paper, on the other hand, has the ability to also control the orientation of its 4 propellers, thus making it possible to overcome the aforementioned underactuation and behave as a fully-actuated flying vehicle. We first illustrate the hardware/software specifications of our recently developed prototype, and then report the experimental results of some preliminary, but promising, flight tests which show the capabilities of this new UAV concept.

I. INTRODUCTION

Common UAVs (Unmanned Aerial Vehicles) are underactuated mechanical systems, i.e., possessing less control inputs than available degrees of freedom (dofs). This is, for instance, the case of helicopters and quadrotor UAVs [START_REF] Bouabdallah | Autonomous miniature flying robots: Coming soon![END_REF], [START_REF] Mahony | Multirotor aerial vehicles: Modeling, estimation, and control of quadrotor[END_REF]. For these latter platforms, only the Cartesian position and yaw angle of their body frame w.r.t. an inertial frame can be independently controlled (4 dofs), while the behavior of the remaining roll and pitch angles (2 dofs) is completely determined by the trajectory chosen for the former 4 dofs. Presence of such an underactuation does not only limit the flying ability of quadrotors in free or cluttered space, but it also degrades the possibility of interacting with the environment by exerting desired forces in arbitrary directions. As quadrotor UAVs are being more and more exploited as autonomous flying service robots [START_REF]EU Collaborative Project ICT-248669 AIRobots[END_REF], [START_REF]EU Collaborative Project ICT-287617 ARCAS[END_REF], it is important to explore different actuation strategies that can overcome the aforementioned underactuation problem and allow for full motion/force control in all directions in space.

Motivated by these considerations, several possibilities have been proposed in the past literature spanning different concepts: ducted-fan designs [START_REF] Naldi | Design and experimental validation of a nonlinear control law for a ducted-fan miniature aerial vehicle[END_REF], tilt-wing mechanisms [START_REF] Oner | Dynamic model and control of a new quadrotor unmanned aerial vehicle with tilt-wing mechanism[END_REF], [START_REF] Oner | LQR and SMC stabilization of a new unmanned aerial vehicle[END_REF], or tilt-rotor actuations [START_REF] Kendoul | Modeling and control of a small autonomous aircraft having two tilting rotors[END_REF], [START_REF] Sanchez | Autonomous hovering of a noncyclic tiltrotor UAV: Modeling, control and implementation[END_REF]. Along similar lines, previous works [START_REF] Ryll | Modeling and Control of a Quadrotor UAV with Tilting Propellers[END_REF], [START_REF] Falconi | Dynamic Model and Control of an Over-Actuated Quadrotor UAV[END_REF] also discussed a novel concept for a quadrotor UAV with actuated tilting propellers, i.e., with propellers able to rotate around the axes connecting them to the main body frame. This design grants a total of 8 control inputs (4 + 4 propeller spinning/tilting velocities), and, as formally shown in [START_REF] Ryll | Modeling and Control of a Quadrotor UAV with Tilting Propellers[END_REF], makes it possible to obtain complete controllability over the main body 6-dof configuration in R 3 × SO(3), thus rendering the quadrotor UAV a fullyactuated flying vehicle.

M. Ryll and P. Robuffo Giordano are with the Max Planck Institute for Biological Cybernetics, Spemannstraße 38, 72076 Tübingen, Germany {markus.ryll,prg}@tuebingen.mpg.de.

H. H. Bülthoff is with the Max Planck Institute for Biological Cybernetics, Spemannstraße 38, 72076 Tübingen, Germany, and with the Department of Brain and Cognitive Engineering, Korea University, Anamdong, Seongbuk-gu, Seoul, 136-713 Korea hhb@tuebingen.mpg.de. The work in [START_REF] Ryll | Modeling and Control of a Quadrotor UAV with Tilting Propellers[END_REF] proposed a trajectory tracking controller based on dynamic feedback linearization and meant to fully exploit the actuation capabilities of this new design. The closed-loop tracking performance was, however, only evaluated via numerical simulations, albeit considering a realistic dynamical model. Goal of the present paper is to extend [START_REF] Ryll | Modeling and Control of a Quadrotor UAV with Tilting Propellers[END_REF] by illustrating the control implementation and trajectory tracking performance of a real prototype developed in our group, in particular by reporting the results of several experiments in different flight regimes.

The rest of the paper is organized as follows: Sect. II reviews the modeling assumptions and control design proposed in [START_REF] Ryll | Modeling and Control of a Quadrotor UAV with Tilting Propellers[END_REF] and upon which this work is based. Section III describes our prototype from the hardware and software points of view and discusses the main 'real-world' discrepancies w.r.t. the modeling assumptions taken in [START_REF] Ryll | Modeling and Control of a Quadrotor UAV with Tilting Propellers[END_REF]. Finally, Sect. IV presents some experimental results for hovering and trajectory tracking regimes, and Sect. V concludes the paper.

II. REVIEW OF THE DYNAMIC MODELING AND CONTROL DESIGN

For the reader's convenience, in this Section we will briefly summarize the modeling assumptions and control approach proposed in [START_REF] Ryll | Modeling and Control of a Quadrotor UAV with Tilting Propellers[END_REF] for a quadrotor with tilting propellers (from now on denoted as "omnicopter"). Figure 1 shows a picture of the prototype, while Figs. 3-2 and Fig. 5 present CAD and schematic views.

A. Dynamic model

The omnicopter consists of 5 rigid bodies in relative motion among themselves: the main body B and the 4 propeller groups P i . The propeller groups P i host the propeller and its associated (spinning) motor as well as the additional motor responsible for the tilting actuation mechanism, see Fig. 3. By employing standard techniques, such as the Newton-Euler procedure [START_REF] Siciliano | Robotics: Modelling[END_REF], it is possible to derive a complete dynamical model of the omnicopter by considering the forces and moments generated by the propeller spinning motion, as well as gyroscopic and inertial effects due to the relative motion of the 5 bodies among themselves. To this end, we let ω B ∈ R 3 be the angular velocity of the quadrotor body B w.r.t. the world frame and expressed in the body frame 1and ω Pi be the angular velocity of the propeller group P i w.r.t. the world frame, i.e.,

Let F W : {O W ; X W , Y W , Z W } be a world
ω Pi = B R T Pi ω B + [ αi 0 wi ] T ,
where wi ∈ R is the spinning velocity of the propeller about Z Pi and αi ∈ R the tilting velocity of the group about X Pi , both w.r.t. the body frame. By applying the Euler equations of motion, one has where I Pi ∈ R 3×3 is the (constant) symmetric and positive definite Inertia matrix of the propeller group, and τ exti any external torque applied to the propeller. As usually done, we assume that the propeller spinning about Z Pi causes a counter-torque due to air drag and we neglect any additional aerodynamic effect. Therefore,

τ Pi = I Pi ωPi + ω Pi × I Pi ω Pi -τ exti (1)
X P i Y P i Z P i Z P i Y P i ` ` α i O P i T i t ext i
τ exti = [0 0 -τ Di ] T with τ Di = k m wi | wi |, k m > 0.
As for the dynamics of the main body B, one obtains

τ B = I B ωB + ω B × I B ω B + 4 i=1 B R Pi τ Pi , (2)
with I B ∈ R 3×3 being the (constant) symmetric and positive definite Inertia matrix of B. Here, the torques τ B ∈ R 3 exerted on B are generated by the moments of the four propeller forces T Pi ∈ R 3 acting at O Pi , that is,

τ B = 4 i=1 ( B O Pi × B R Pi T Pi ). (3)
Again, we model the propeller forces as acting along the Z Pi axes so that

T Pi = [0 0 T i ] T with T i = k f wi | wi |, k f > 0,
and neglect additional aerodynamic effects. Finally, concerning the translational dynamics, assuming that the barycenter of each propeller group P i coincides with O Pi (which holds with a good approximation for the prototype described in Sect. III-A), we have

mp = m   0 0 -g   + W R B 4 i=1 B R Pi T Pi ( 4
)
where m is the total mass of the quadrotor and propeller bodies and g the scalar gravity constant.

To conclude, we note that this model has 8 independent inputs: the 4 motor torques actuating the tilting axes X Pi , i.e., τ αi = τ T Pi X Pi ∈ R, and the 4 motor torques actuating the spinning axes Z Pi , i.e., τ wi = τ T Pi Z Pi ∈ R, with i = 1 . . . 4.

Symbols Definitions

B. Trajectory Tracking Control

Owing to its actuation system, the omnicopter can exactly track a desired and arbitrary trajectory (p 3) for the body position p and orientation W R B taken as output functions, see [START_REF] Ryll | Modeling and Control of a Quadrotor UAV with Tilting Propellers[END_REF]. We then review here the proposed tracking control scheme. First, we simplify the previous dynamical model by assuming that the motors actuating the spinning and tilting axes can realize given desired speeds wi and w αi = αi with negligible transients thanks to high-gain low-level loops. This way, w αi and wi can be considered as 'velocity' inputs in place of the (actual) motor torques. Second, we neglect the gyroscopic effects due to the relative motion among the omnicopter parts, and treat them as disturbances to be rejected by the trajectory controller.

d (t), R d (t)) ∈ R 3 × SO(
We

start defining α = [α 1 . . . α 4 ] T ∈ R 4 , w α = [w α1 . . . w α4 ] T ∈ R 4 and w = [ w1 | w1 | . . . w4 | w4 |] T ∈ R 4 ,
where the quantity w i = wi | wi | represents the signed square of the i-th spinning velocity. The omnicopter dynamical model then reduces to

                   p =   0 0 -g   + 1 m W R B F (α)w ωB = I -1 B τ (α)w α = w α W ṘB = W R B [ω B ] ∧ (5)
with [•] ∧ being the usual map from R 3 to so(3), and

F (α) =   0 -k f s2 0 k f s4 -k f s1 0 k f s3 0 k f c1 -k f c2 k f c3 -k f c4   , τ (α) =   0 -Lk f c2 -kms2 0 -Lk f c1 + kms1 0 Lk f c3 -kms3 -Lk f s1 -kmc1 Lk f s2 -kmc2 -Lk f s3 -kmc3 Lk f c4 + kms4 0 Lk f s4 -kmc4   (6)
being the 3 × 4 input coupling matrixes (s i = sin(α i ) and

c i = cos(α i )).
A direct inversion of ( 5) by means of a static feedback linearization does not yield a satisfactory solution for the aforementioned 6-dof tracking problem. This is due to the lack of a direct coupling between the output accelerations (p, ωB ) and the tilting inputs w α . However, as explained in [START_REF] Ryll | Modeling and Control of a Quadrotor UAV with Tilting Propellers[END_REF], one can resort to a dynamic feedback linearization scheme for obtaining the sought result. In fact, by differentiating (5) w.r.t. time, one obtains ...

p ωB = A(α, w) ẇ w α + b(α, w, ω B ) (7)
where (i) the new input ẇ is the dynamic extension of the former (and actual) input w, and (ii) input w α explicitly appears in the output dynamics. Furthermore, it is possible to prove that the 6 × 8 coupling matrix A(α, w) has always rank ρ A = rank(A) = 6 provided that w i = 0, i = 1 . . . 4, i.e., that the propeller spinning never stops, see [START_REF] Ryll | Modeling and Control of a Quadrotor UAV with Tilting Propellers[END_REF]. Therefore, assuming this rank condition holds, system (7) can be inverted as

ẇ w α = A † ... p r ωr -b + (I 8 -A † A)z, (8)
with I N being the identity matrix of dimension N and z ∈ R 8 a vector projected onto the null-space of A (of dimension 2). The tracking problem under consideration is then solved by choosing ... p r = ...

p d +K p1 (p d -p)+K p2 ( ṗd -ṗ)+K p3 (p d -p) (9)
and

ωr = ωd +K ω1 ( ωd -ωB )+K ω2 (ω d -ω B )+K ω3 e R ( 10
)
where

e R = 1 2 [ W R T B R d -R T d W R B ] ∨ , (11)
with [•] ∨ being the inverse map from so(3) to R 3 , and the (diagonal) positive definite gain matrices K p1 , K p2 , K p3 , and K ω1 , K ω2 , K ω3 defining Hurwitz polynomials. Finally, owing to the actuation redundancy (2-dimensional null-space of A), one can exploit vector z in (8) in order to fulfill additional tasks not interfering with the main trajectory tracking objective. To this end, we proposed to minimize a cost function H(w) penalizing propeller speeds that are either too low (for preventing rank(A) < 6), or too large (for reducing energy consumption). This was achieved by designing H(w) = 4 i=1 h i (w i ) with the individual h i (w i ) having a global minimum at a given w rest and growing unbounded as w i → w min < w rest and as w i → ∞. Figure 4 8) is then chosen as

z = -k H ∇ w H(w) 0 ( 12
)
with k H > 0 being a suitable gain.

C. Discussion

In view of the next developments, we discuss some remarks about the 'implementability' of the proposed controller [START_REF] Kendoul | Modeling and control of a small autonomous aircraft having two tilting rotors[END_REF][START_REF] Sanchez | Autonomous hovering of a noncyclic tiltrotor UAV: Modeling, control and implementation[END_REF][START_REF] Ryll | Modeling and Control of a Quadrotor UAV with Tilting Propellers[END_REF][START_REF] Falconi | Dynamic Model and Control of an Over-Actuated Quadrotor UAV[END_REF][START_REF] Siciliano | Robotics: Modelling[END_REF]. The controller needs measurement of the position p, linear velocity ṗ and linear acceleration p, of the orientation W R B , angular velocity ω B and angular acceleration ωB , and of the tilting angles α and propeller spinning velocities w. As it will be explained in Sect. III-B, measurement of the linear position/velocity (p, ṗ) and of the orientation W R B will be obtained by means of an external visual tracking system, while measurements of the angular velocity ω B will be provided by the gyroscopes onboard our prototype. Similarly, direct measurements of and will be possible from the low-level motor controllers actuating the spinning and tilting axes.

As for the remaining acceleration measurements (p, ωB ), instead of resorting to numerical differentiation of the corresponding (noisy) velocity quantities, we exploit model [START_REF] Naldi | Design and experimental validation of a nonlinear control law for a ducted-fan miniature aerial vehicle[END_REF] and evaluate (p, ωB ) as a function of measured quantities and applied commands. This, of course, requires the additional knowledge of the various model parameters (e.g., mass, inertia, internal geometry), and unavoidably neglects all those effects not captured by [START_REF] Naldi | Design and experimental validation of a nonlinear control law for a ducted-fan miniature aerial vehicle[END_REF]. The next Sections will however confirm the reasonability of these assumptions for our prototype and the robustness of the proposed controller in coping with these non-idealities.

III. DESCRIPTION OF THE PROTOTYPE AND SYSTEM ARCHITECTURE

A. Prototype

As first prototype developed by our group, we opted for a very low cost solution with all parts available off-the-shelf. The overall costs including all mechanical and electrical parts and actuators are below 1000 e. The mechanical main frame of the omnicopter is based on the MikroKopter2 module, including the propeller (EPP1045 CF) and the brushless propeller motors (Roxxy 2827-35). At the end of every arm of the omnicopter body, a rigidly connected axle allows rotation of the propeller groups containing the propeller motor and the servo motor for the tilting actuation (Robbe S3150 Digital), see Fig. 5. This has a maximum torque τ αmax = 0.37 Nm and a maximum rotation speed αmax = 4.1 rad/s. The propeller group is designed so that its barycenter is as close as possible to the axle, as assumed by the dynamical model developed in Sect. II-A.

Furthermore, two microcontroller boards are mounted on top of the omnicopter. The first contains the gyroscopes measuring ω B , and is also in charge of reading the tilting angles α i of the servo motors and the spinning velocities wi of the propellers. The second microcontroller board sends the desired spinning velocities wDesi to the brushless controller and the desired angles α Desi to the servo motors.

The trajectory tracking controller of Sect. II-B is implemented in Matlab/Simulink and, via the Real-Time Workshop toolbox, is then deployed and executed in real-time on an Intel Atom board (Quadmo747, from now on 'Q7-board') running the Linux Ubuntu10.10 real-time environment. The Q7-board is mounted below the battery and is equipped with a wireless USD-dongle for communication. As only one RS-232 port (TTL level) is available on the Q7-board, the second microcontroller board is connected via one USBport and USBToSerial converter. The Q7-board is powered by a battery, with the necessary voltage conversion and stabilization performed by a power-supply board containing a 12V DC/DC power converter.

The nominal mass of the full omnicopter is 1.32 Kg. From a high detail CAD model of the body and propeller groups In the current setup, the servo motors are limited in their rotation by mechanical end stops in the range of -90 deg < α i < 90 deg. This limits the rotation of the body frame B to ±55 deg around the roll or pitch axes.

In order to obtain accurate values of k f and k m for our motor-propeller combination, we made use of a testbed equipped with a 6-dof torque/force sensor (Nano17-E, see Fig. 7) for identifying the mappings between the propeller spinning velocity and the generated thrust T i and torque τ Di . This resulted in the following polynomial models (shown in Fig. 6):

T i = 4.94e -18 |w i | 3 + 9.62e -13 |w i | 2 + 1.56e -5 |w i | (13)
and

τ Di = -5.41e -19 |w i | 3 +2.50e -13 |w i | 2 -2.53e -7 |w i | (14)
where w i = wi | wi | as explained before. Controller [START_REF] Kendoul | Modeling and control of a small autonomous aircraft having two tilting rotors[END_REF][START_REF] Sanchez | Autonomous hovering of a noncyclic tiltrotor UAV: Modeling, control and implementation[END_REF][START_REF] Ryll | Modeling and Control of a Quadrotor UAV with Tilting Propellers[END_REF][START_REF] Falconi | Dynamic Model and Control of an Over-Actuated Quadrotor UAV[END_REF][START_REF] Siciliano | Robotics: Modelling[END_REF] was then implemented by directly exploiting the mappings (13-14) for obtaining (T i , τ Di ), and by replacing

k f = ∂T i ∂w i wi and k m = ∂τ Di ∂w i wi
, both evaluated upon the measured w i .

B. System architecture

The Q7-board runs a GNU-Linux Ubuntu 10.10 real time OS and executes the Matlab-generated code. The controller runs at 500 Hz and takes as inputs: (i) the desired trajectory (p d (t), R d (t)) and needed derivatives ( ṗd (t), pd (t), ... p d (t)) and (ω d (t), ωd (t), ωd (t)), (ii) the current position/orientation of the omnicopter (p, W R B ) and its linear/angular velocity ( ṗ, ω B ), (iii) the spinning velocities of the propellers w i , (iv) the tilting angles α i . The position p and orientation W R B of the omnicopter are directly obtained from an external motion caption system3 (MoCap) at 240 Hz. A marker tree consisting of five infra red markers is mounted on top of the omnicopter for this purpose. Knowing p, the linear velocity ṗ is then obtained via numerical differentiation, while the angular velocity ω B is measured by the onboard IMU (3 ADXRS610 gyroscopes).

Due to performance reasons (bottleneck in serial communication), the sending of the desired motor speeds and tilting angles, and the reading of the IMU-data, of the actual spinning velocities, and of tilting angles is split among two communication channels and two microcontrollers (called, from now on, 'µC-Board' and 'IMU-Board'). The desired motor spinning velocities w Desi are sent from the Q7-board to the µC-Board via a serial connection at the frequency of 250 Hz and 8 bit resolution, and from the µC-Board to the brushless controllers via I 2 C-bus at again 250 Hz (see Fig. 8). The brushless controllers implement a PIDcontroller for regulating the spinning velocity. The desired tilting angles α Desi are sent from the Q7-board to the µC-Board via the same serial connection at a frequency of 55 Hz and 10 bit resolution, and from the µC-Board to the servo motors via PWM (signal length 15 ms). We note that the trajectory tracking controller described in Sect II-B assumes availability of the tilting velocities w αi , see [START_REF] Kendoul | Modeling and control of a small autonomous aircraft having two tilting rotors[END_REF], while the current architecture only allows for sending desired angles commands α Desi . This is addressed by numerically integrating over time the controller commands, that is, by implementing α Desi = t t0 w αi (τ )dτ . The IMU-Board reads the current angles α i of the propeller groups P i by a direct connection between the servo motor potentiometer and the A/D-converter of the microcontroller (10 bit resolution at 250 Hz). It also retrieves the current spinning velocities wi of the propellers via the I 2 C-Bus (8 bit resolution and 250 Hz). The gyro data are read at 250 Hz and converted with 10 bit resolution. Finally, the values of α i , wi and of the gyro data are transmitted from the IMU-Board to the Q7-board via the RS232-port at 250 Hz. All values of the controller can be monitored on a Intel Atom Board The communication architecture for the tilting angles α Desi (in particular, the PWM modulation) unfortunately introduces a non-negligible roundtrip delay of about 18 ms form sent command to read values. We experimentally found this delay to significantly degrade the closed-loop performance of the controller, and therefore propose in the next Sect. III-C a simple prediction scheme for mitigating its adverse effects.

C. Coping with the non-idealities of the servo motors

The i-th servo motor for the tilting angles can be imately modeled as a linear transfer function G(s) with, in series, a transport delay of T = 18 ms, that is, as the delayed linear system α i (s) = G(s)e -T s α desi (s). A model of the undelayed G(s) was experimentally obtained by measuring the step response (Fig. 9) of the servo motors while having the propellers spinning at wi = 420 rad/s (the velocity corresponding to hovering), and by compensating offline for the known delay T . This resulted into the estimated transfer function G est (s) = 0.4s + 6 0.06s 2 + s + 6

.

The performance degradation of the cartesian trajectory controller [START_REF] Kendoul | Modeling and control of a small autonomous aircraft having two tilting rotors[END_REF][START_REF] Sanchez | Autonomous hovering of a noncyclic tiltrotor UAV: Modeling, control and implementation[END_REF][START_REF] Ryll | Modeling and Control of a Quadrotor UAV with Tilting Propellers[END_REF][START_REF] Falconi | Dynamic Model and Control of an Over-Actuated Quadrotor UAV[END_REF][START_REF] Siciliano | Robotics: Modelling[END_REF] can then be ascribed to two main effects, namely presence of the transport delay T and slow dynamic response of G est (s) to fast changing inputs. In order to mitigate these shortcomings, we resorted to the following simple strategy (see Fig. 10): instead of feeding back the measured (i.e., delayed) angles α i to the cartesian controller (8-12), we replaced them with the (undelayed) desired angles α desi . In parallel, we aimed at improving the servo motor performance (i.e., making G est (s) more responsive) via a Smith predictor scheme [START_REF] Wolovich | Automatic Control Systems[END_REF]. In fact, as well-known from classical control theory, the Smith predictor is an effective tool for coping with known delays affecting known stable linear systems. In our case, an additional outer PID controller C(s) plugged into the Smith predictor loop, as shown in Fig. 10, allowed to improve the rising time of the servo controller.

Finally, since we found the measured angles α i to be affected by significant noise, we filtered their readings with a 2nd order Butterworth filter with a cutoff frequency of 20Hz. The location of this cutoff frequency was experimentally determined by analyzing offline the power spectrum of the angles α i recorded during a hovering flight of 40 s.

IV. EXPERIMENTAL RESULTS

In this section we will present results from three experiments run with our prototype and aimed at validating our modeling and control approach. The first experiment is a hovering task meant to show the performance of the controller in the simplest scenario, and also to highlight the importance of having included the null-space optimization term [START_REF] Siciliano | Robotics: Modelling[END_REF] in the control strategy. The other two experiments are intended to show the performance in tracking position/orientation trajectories which would be unfeasible for standard quadrotor UAVs: a circular trajectory with constant (horizontal) attitude and a rotation on the spot.

A. Hovering on the spot

In the first experiment, we show the importance of having included the minimization of the cost function H(w) in the proposed controller. To this end, we report the results of a simple hovering on the spot by (i) including and (ii) not including the null-space optimization term [START_REF] Siciliano | Robotics: Modelling[END_REF]. The quadrotor starts from the initial state of p(t 0 ) = 0, ṗ(t 0 ) = 0, W R B (t 0 ) = I 3 , ω B (t 0 ) = 0, α(t 0 ) = 0, and w(t 0 ) = w rest , and is commanded to stay still while maintaining the desired attitude R d = I 3 . We set the gains in ( 9) and [START_REF] Ryll | Modeling and Control of a Quadrotor UAV with Tilting Propellers[END_REF] to 11(a)-(c) report the results for case (i): the angles α i stay close to 0 rad over time, as expected for such a hovering maneuver, and H(w) keeps a constant and low value as the propellers spin with a speed close to the allowed minimum. In case (ii), however, the situation looks completely different: the lack of any minimization action of H(w), coupled with presence of noise and non-idealities, makes the angles α i to eventually diverge over time from their (expected) vertical direction and, accordingly, the value of H(w) to increase as the propellers need to accelerate in order to keep the quadrotor still in place (Figs.

K p1 = 0.48I 3 , K ω1 = 30I 3 , K p2 = 0.48I 3 , K ω2 = 300I 3 , K p3 = 0.48I 3 , K ω3 = 1000I 3 . Figures

B. Circular trajectory

In this experiment we demonstrate the ability of the omnicopter to follow an arbitrary trajectory in space while keeping a desired orientation (constant in this case). As explained, this would be unfeasible for a standard quadrotor UAV. The chosen desired trajectory is a horizontal circle with diameter of 1 m and lying at a height of z = 1.05 m from ground, see Fig. 13. The quadrotor is commanded to travel along the path with a constant speed of 0.2 m/s while keeping the main body parallel w.r.t. the ground. We set the gains in ( 9) and [START_REF] Ryll | Modeling and Control of a Quadrotor UAV with Tilting Propellers[END_REF] to the same values as in Sect. IV-A.

Figure 14(a) shows the desired (solid) and real (dashed) position of the omnicopter while following the trajectory (the two plots are almost coincident), while Fig. 14(b) reports the orientation error e R (the desired orientation during the trajectory was set to R d = I 3 ). The maximum position error max( e p (t) ) while following the path was approximately 4.2 cm, with avg( e p (t) ) ≈ 1.6 cm. The maximum orientation errors were 0.12 rad for roll, 0.08 rad for pitch and 0.18 rad for yaw. Figures 15(a)-(b) show the behavior of the tilting angles α i , and of the motor spinning velocities wi which kept close to wrest =450 rad/s as expected.

C. Rotation on spot

In the last experiment we demonstrate the tracking abilities in following a given orientation profile R d (t) while keeping the same position in space. Again, this maneuver is clearly unfeasible for a standard quadrotor UAV. The followed trajectory is a sinusoidal rotation around the Y Baxis (pitching), i.e., R d (t) = R Y (θ(t)) with θ max = 0.436 rad and θmax = 0.07 rad/s. The initial conditions were set to hovering (p(t 0 ) = 0, ṗ(t 0 ) = 0, W R B (t 0 ) = I 3 , ω B (t 0 ) = 0, α(t 0 ) = 0, and w(t 0 ) = w rest ) and the controller gains as in Sect. IV-A.

Figures 16 (a-d) show the results of the flight. In particular, Fig. 16 Fig. 17: Behavior of H(w) while rotating on the spot involving a rotation on the spot still confirms the capabilities of the omnicopter and the robustness of the proposed control strategy in coping with all the non-idealities of real-world conditions. The interested reader can also appreciated the reported maneuvers in the video attached to this paper.

V. CONCLUSIONS

In this paper, we have addressed the hardware/software design and control implementation for a recently-developed prototype of a novel quadrotor UAV with tilting propellers -the 'omnicopter'. Contrarily to standard quadrotors, the omnicopter design allows to actively rotate the 4 propellers about the axes connecting them to the main body. This makes it possible to obtain full controllability over the 6-dof body pose in space, thus overcoming the underactuation hindering standard quadrotor UAVs. The reported experiments, although preliminary, have clearly shown good potential of the UAV in various experiments. After having obtained these promising results, confirming the validity of our design, our next step is to build an improved prototype with a better actuation system. This will allow, on one side, to gain a higher tracking accuracy, and, on the other side, to fully exploit the omnicopter 6-dof motion capabilities also in interaction tasks with the environment.

Fig. 1 :

 1 Fig. 1: A picture of the prototype on a testing gimbal

Fig. 2 :

 2 Fig. 2: Schematic view of the omnicopter. The center of mass is assumed to be located at the origin of the body frame. The symbol L represents the length of all propeller arms, wi, i = 1 . . . 4, the propeller rotation speeds and αi, i = 1 . . . 4, the orientation angles of the propeller groups Pi

Fig. 3 :

 3 Fig. 3: Close view of the i-th tilting arm where the frame FP i , the associated propeller thrust Ti, torque τext i , and propeller tilt angle αi are shown

Fig. 4 :

 4 Fig. 4: Example of a function hi(wi) with wmin = 126 [rad/s] (solid red line), wrest = 450 [rad/s] (dashed red line). Note that hi(wi) → ∞ as |wi| → wmin or |wi| → ∞, and with a minimum at wrest with continuous derivative

Fig. 5 :

 5 Fig. 5: Exploded view of the various components of the omnicopter. All the important parts are properly labeled

Fig. 6 :

 6 Fig. 6: (a) Dots -measured values of the thrust Ti vs. the signed squared spinning velocity wi; Line -identified polynomial model (13); (b) Dots -measured values of the torque τD i vs. the signed squared spinning velocity wi; Line -identified polynomial model (14)we also obtained the following inertia matrixes

Fig. 7 :

 7 Fig. 7: Left: Scheme of the measurement chain; Right: Motor testbed including Propeller motor combination and Nano17 sensor mounted at a height of 0.45 m

•Fig. 8 :Fig. 9 :

 89 Fig. 8: Overview of the omnicopter architecture including update rates and delays

Fig. 10 :

 10 Fig. 10: Scheme of the Smith predictor for αi including the controller C(s), the servo motor G(s)e -T s , the model of the servo motor Gest(s)e -T s , and the Butterworth filter B2(s)

Fig. 11 :Fig. 12 :

 1112 Fig.11: Results for hovering on spot with (i) and without (ii) including the null-space term (12): (a) αi for case (i) while hovering; (b) αi for case (ii) while hovering; (c) H(w) for case (i) while hovering; (d) H(w) for case (ii) while hovering

  11(b)-(d)). Finally, Figs. 12(a-b) show the position error e p = p dp and orientation error e R during the experiment. The average position tracking error is about 0.017 m with a maximum of 0.047 m. The maximum rotation errors are -0.082 rad

Fig. 13 :Fig. 14 :

 1314 Fig. 13: Desired horizontal circular trajectory p d (t) at a height of z = 1.05 m

Fig. 15 :Fig. 16 :

 1516 Fig. 15: Behavior of the titling angles αi (a) and of the propeller speeds wi (b) while performing the horizontal circular trajectory

  (a) reports the quadrotor orientation during flight (blue -roll, green -pitch, red -yaw), and Fig.16(b) the orientation tracking error e R (t). The position tracking error e p (t) is shown in Fig.16(c), with a maximum of max( e p (t) ) = 0.062 m. Finally, Fig.16(d) depicts the behavior of the tilting angles α i (t) during the maneuver, and Fig.17

  the behavior of H(w) during flight. As clear from the plots, this experiment

In the following, we will assume that every quantity is expressed in its own frame, e.g., ω B = B ω B .

http://www.mikrokopter.de

http://www.vicon.com/products/bonita.html


Cristian Secchi

Antonio Franchi

Heinrich H Bülthoff

Paolo Robuffo Giordano

Bilateral Control of the Degree of Connectivity in Multiple Mobile-Robot Teleoperation

This paper presents a novel bilateral controller that allows to stably teleoperate the degree of connectivity in the mutual interaction between a remote group of mobile robots considered as the slave-side. A distributed leaderfollower scheme allows the human operator to command the overall group motion. The group autonomously maintains the connectivity of the interaction graph by using a decentralized gradient descent approach applied to the Fiedler eigenvalue of a properly weighted Laplacian matrix. The degree of connectivity, and then the flexibility, of the interaction graph can be finely tuned by the human operator through an additional bilateral teleoperation channel. Passivity of the overall system is theoretically proven and extensive human/hardware in-the-loop simulations are presented to empirically validate the theoretical analysis.

I. INTRODUCTION

The use of a group of simple robots rather than a single complex robot has proven to be very effective in several applications like surveillance of large perimeters, search and rescue in disaster regions and exploration of wide areas. As a consequence, over the last years a considerable amount of research efforts has been devoted to the problem of coordinating a group of agents (see, e.g. [START_REF] Murray | Recent research in cooperative control of multivehicle systems[END_REF] for a survey). Nevertheless, when the tasks become extremely complex and high-level cognitive-based decisions are required online, complete autonomy is still far from being reached. In this context, teleoperation systems, where a human operator commands a remote robot through a local interface, can be used to exploit human's intelligence.

The problem of teleoperating a group of agents is receiving a lot of attention in the robotics community. In [START_REF] Sirouspour | Modeling and control of cooperative teleoperation systems[END_REF] a centralized control strategy for teleoperating multiple fixed slaves from multiple masters has been proposed, and in [START_REF] Lee | Bilateral teleoperation of multiple cooperative robots over delayed communication network: theory[END_REF] a different approach for controlling multiple wheeled robots can be found. Finally, in [START_REF] Rodríguez-Seda | Bilateral teleoperation of multiple agents: Coordinated motion and collision avoidance[END_REF] a bilateral control strategy for controlling a group of multiple mobile agents is shown. The main drawback of these strategies relies in the "rigidity" of the group of agents that are not allowed, e.g., to actively reshape when facing a particularly cluttered environment.

In [START_REF] Franchi | A passivity-based decentralized approach for the bilateral teleoperation of a group of UAVs with switching topology[END_REF], [START_REF] Secchi | Bilateral teleoperation of a group of UAVs with communication delays and switching topology[END_REF] a bilateral teleoperation system for controlling a remote group fo mobile robots in a flexible and decen-C. Secchi is with the Department of Science and Methods of Engineering, University of Modena and Reggio Emilia, Italy cristian.secchi@unimore.it A. Franchi and P. Robuffo Giordano are with the Max Planck Institute for Biological Cybernetics, Spemannstraße 38, 72076 Tübingen, Germany {antonio.franchi,prg}@tuebingen.mpg.de.

H. H. Bülthoff is with the Max Planck Institute for Biological Cybernetics, Spemannstraße 38, 72076 Tübingen, Germany, and with the Department of Brain and Cognitive Engineering, Korea University, Anamdong, Seongbuk-gu, Seoul, 136-713 Korea hhb@tuebingen.mpg.de. tralized way has been proposed. Nevertheless, connectivity maintenance was not considered, and during the task a part of the group could possibly detach from the component driven by the user. A passivity-based bilateral architecture for teleoperating a group of mobile robots in a flexible and decentralized way while preserving the connectivity of the group has instead been developed in [START_REF] Giordano | Passivity-based decentralized connectivity maintenance in the bilateral teleoperation of multiple UAVs[END_REF]. The group interaction is modeled as a weighted graph and connectivity is maintained by keeping the second smallest eigenvalue λ 2 of the graph Laplacian, also known as algebraic connectivity, greater than a predefined minimum threshold λ min 2 > 0. This is achieved by means of a gradient descent control action paired with a distributed estimation strategy for recovering the global quantity λ 2 , by in particular employing the methodology introduced in [START_REF] Yang | Decentralized estimation and control of graph connectivity for mobile sensor networks[END_REF], [START_REF] Sabattini | On decentralized connectivity maintenance for mobile robotic systems[END_REF]. In this way the group is not constrained to maintain a (given) fixed connected topology, but it can freely switch among any of the connected ones. Furthermore, collision avoidance and formation control are both embedded in the definition of connectivity, and are enforced by the sole connectivity maintenance action. Finally, the overall teleoperation system can be shown to be passive, i.e., a sufficient condition for guaranteeing a stable behavior of the system.

The main drawback of the approach proposed in [START_REF] Giordano | Passivity-based decentralized connectivity maintenance in the bilateral teleoperation of multiple UAVs[END_REF] is the fact that the minimum connectivity threshold λ min 2 is required to stay constant over time. This negatively affects the flexibility of the system. In fact λ min 2 represents a measure of the minimum degree of connectivity of the group. The lower λ min 2 , the more dispersed the group and, vice-versa, the higher λ min 2 the more compact the group. Thus, even if, by using the approach proposed in [START_REF] Giordano | Passivity-based decentralized connectivity maintenance in the bilateral teleoperation of multiple UAVs[END_REF], connectivity is always maintained, the possibility of changing online the value of λ min 2 would provide the user with an even better control of the behavior of the group. For example the group could be constrained to either move with a compact formation in free space, hence ensuring higher responsiveness, or to be more dispersed when navigating through cluttered environments, thus possessing higher adaptability. In other words, controlling the degree of connectivity would provide an additional degree of maneuverability to the group.

The goal of this paper is to extend the teleoperation architecture proposed in [START_REF] Giordano | Passivity-based decentralized connectivity maintenance in the bilateral teleoperation of multiple UAVs[END_REF] in order to allow the user to bilaterally teleoperate the group and the parameter λ min 2 in a decentralized way. Besides specifying the desired value of λ min 2 , the user will also be able to feel a force feedback informative of the discrepancy between the desired λ min 2 and the value actually implemented by the connectivity control action. At the best of our knowledge, this is the first time that a quantity linked to the connectivity is used to control the swarming behavior of the group. We believe that this is a very powerful way of controlling a group of robots since it can be implemented in a decentralized way and it does not require the typical stringent conditions on the group topology needed by standard controllability approaches (see e.g. [START_REF] Rahmani | Controllability of multi-agent systems from a graph-theoretic perspective[END_REF]).

The paper is organized as follows: in Sec. II a short background on the approach proposed in [START_REF] Giordano | Passivity-based decentralized connectivity maintenance in the bilateral teleoperation of multiple UAVs[END_REF] is given and in Sec. III a passive way of tuning the parameter λ min 2 is illustrated. In Sec. IV the overall teleoperation architecture is shown and in Sec. V the theoretical results of the paper are validated by means of human-hardware-in-the-loop simulations. Finally, in Sec. VI some conclusions and future work are discussed.

II. THE FRAMEWORK

In this section the passivity based decentralized control architecture proposed in [START_REF] Giordano | Passivity-based decentralized connectivity maintenance in the bilateral teleoperation of multiple UAVs[END_REF] is briefly summarized. Each mobile robot is modeled as a floating mass in R 3 and the slave side consists of a group of N agents among which a leader is chosen. The motion of each robot depends on the motion of the surrounding vehicles, while the motion of the leader depends also on its coupling with the master. In order to consider the difference between the bounded workspace of the master and the unbounded workspace of a robot, the position of the master is treated as a velocity setpoint for the leader at the slave side and the difference between the position of the master and the velocity of the leader generates a force at the master side for feeding back to the user an information about the motion status of the group.

A. The Master Side

The master is modeled as a generic fully actuated mechanical system described by the following Euler-Lagrange equations:

M M (x M )ẍ M + C M (x M , ẋM ) ẋM + B M ẋM = F M (1)
where M M (x M ) represents the inertia matrix, C(x M , ẋM ) ẋM is a term representing the centrifugal and Coriolis effects, and B M is a matrix representing both the viscous friction present in the system and any additional damping injection via local control actions. Gravity is assumed to be locally compensated. The variables x M and v M := ẋM represent the position and the velocity of the end-effector. In order to passively couple the position of the master with the velocity of the leader, in [START_REF] Franchi | A passivity-based decentralized approach for the bilateral teleoperation of a group of UAVs with switching topology[END_REF], [START_REF] Franchi | Bilateral teleoperation of groups of mobile robots with time-varying topology[END_REF] we proposed a local control loop that renders the master passive with respect to the pair (F M , r M ) and with a storage function R M = 1 2 r T M r M , where

r M = ρv M + ρσx M , ρ > 0, σ > 0. (2)
By properly choosing the design parameters ρ and σ, it is possible to reduce the contribution of v M and to make the second term equal to Kx M , where K is a desired scaling factor. Thus, the r M variable approximates the (scaled) position of the master and, during fast motions, the contribution of the velocity term ρv M can be rendered as small as desired.

B. The Slave Side

The robots are assumed to be endowed with a Cartesian trajectory tracking controller (as, for instance, in the case of a UAV, the one proposed in [START_REF] Hua | A Control Approach for Thrust-Propelled Underactuated Vehicles and its Application to VTOL Drones[END_REF]) ensuring a closed loop behavior close enough to that of a fully actuated floating mass in R 3 . We then model each agent, and its local control structure, as:

     ṗi = F λ i + F e i -w i x ti -B i M -1 i p i ẋti = α i 1 xt i D i + w T i v i y i = v T i x ti T (3)
where p i ∈ R 3 and M i ∈ R 3×3 are the momentum and the inertia matrix of the i th agent, K i = 1 2 p T i M -1 i p i is the kinetic energy stored by the agent and B i is a positive definite matrix representing the dissipation in the system, either naturally present or artificially added for stabilization purposes. Forces F e i ∈ R 3 and F λ i ∈ R 3 model the interaction with the external world and with the other agents respectively. The power dissipated by the i-th agent

D i := p T i M -1 i T B i M -1 i p i , (4)
is monitored and stored into an energy storing element called tank, characterized by an energy function 3) is a control parameter used to disable/enable the storage of D i into the tank. In fact, because of the reasons reported in [START_REF] Lee | Passive-set-position-modulation framework for interactive robotic systems[END_REF], the energy stored in the tanks needs to be upper bounded in order to avoid the implementation of practically unstable behaviors. Thus, α i is set to 0 if the energy stored in the tank reaches an upper bound Ti to be selected depending on the particular application. We also set a small threshold ǫ > 0 below which energy extraction from the tank is prevented, in order to avoid singularities in (3) (i.e., preventing x ti → 0).

T i = 1 2 x 2 ti . The quantity α i ∈ {0, 1} in (
Vector w i ∈ R 3 is an additional input that can be used to realize an exchange of energy between the tank and the agent. Finally, the outputs of the overall system (3) are the velocity of the agent v i = M -1 i p i and the tank state x ti . The energy stored in the tank represents a sort of "passivity margin", namely the quantity of energy available for implementing non-passive actions without violating the passivity of the overall system.

Two agents are able to communicate, to measure their relative position, and ultimately to interact if and only if they are neighbors according to the following definition:

Definition 1: Agents i and j are neighbors if and only if: i) their relative distance d ij is less than D ∈ R + (the sensing range) and larger than d min ∈ [0, D) (the safety range), ii) their line-of-sight is not occluded by an obstacle, and iii) neither i nor j are closer than d min to any other agent.

Let x ij := x ix j be the relative position of agent i wrt agent j and group all the relative positions in

x R = (x T 12 . . . x T 1N x T 23 . . . x T 2N . . . x T N -1N ) T ∈ R 3N (N -1) 2
. Similarly, given M obstacle points in the environment, vector x O represents the relative position of the line of sights of the agents and the obstacles (see [START_REF] Giordano | Passivity-based decentralized connectivity maintenance in the bilateral teleoperation of multiple UAVs[END_REF] for a more detailed This function can be obtained by joining an hyperbolic function to 0 using a smooth bump function. definition). The interagent coupling is then implemented through a lower bounded connectivity potential function V λ (•) ∈ R + . This elastic coupling takes into account connectivity maintenance, collision avoidance among the agents and obstacle avoidance.

Let G = (V, E) be the graph formed by the agents together with their neighboring relationship, where V = {1, . . . , N } is the set of agents and (i, j) ∈ E iff j ∈ N i . Let A ij be the (i, j)-th entry of the Adjacency matrix A ∈ R N ×N associated to the graph G. For each (i, j) ∈ E, a state dependent weight A ij is computed: A ij encodes information about the relative distance between the agents i and j, possible lineof-sight occlusions and possible collisions with agents or obstacles. Furthermore, it can be evaluated using only local and 1-hop information by agents i and j. In [START_REF] Giordano | Passivity-based decentralized connectivity maintenance in the bilateral teleoperation of multiple UAVs[END_REF] it is shown that, by implementing the unique action of preserving the connectivity of graph G, defined in terms of the weights A ij , one obtains multiple results: (i) the 'physical connectivity' of the group (due to actual sensing/communication limitations) is maintained, (ii) a formation control keeping interdistances is implemented, and (iii) collisions among the agents and with obstacles are mandatorily avoided.

Let L be the Laplacian of G and λ 2 be the second smallest eigenvalue of L. The graph G is connected iff λ 2 > 0 [START_REF] Yang | Decentralized estimation and control of graph connectivity for mobile sensor networks[END_REF]. The connectivity potential is then defined as a smooth nonnegative function of λ 2 , V λ : (λ min 2 , ∞) → R + , that grows unbounded as λ 2 → λ min 2 > 0 and vanishes (with vanishing derivative) for λ 2 = λ min 2 + ∆, ∆ > 0. An example of a possible V λ is shown in Figure 1. Recalling that λ 2 is a function of the weights and that the weights depend on the state, connectivity is maintained by implementing a gradient descent of V λ that can be written as (see, again [START_REF] Giordano | Passivity-based decentralized connectivity maintenance in the bilateral teleoperation of multiple UAVs[END_REF]):

F λ i = j∈Ni ∂V λ ∂x oij + ∂V λ ∂x ij = ∂V λ ∂λ 2 j∈Ni ∂λ 2 ∂x ij + ∂λ 2 ∂x oij .
(5) By implementing (5) one obtains that λ 2 will never become smaller than λ min 2 > 0, and F λ i will vanish when the group beomes "connected enough", namely when λ 2 > λ min 2 + ∆. The eigenvalue λ 2 and its associated eigenvector ν 2 are global quantities but, exploiting the strategy reported in [START_REF] Yang | Decentralized estimation and control of graph connectivity for mobile sensor networks[END_REF], [START_REF] Sabattini | On decentralized connectivity maintenance for mobile robotic systems[END_REF], it is possible to obtain a decentralized estimation of their values which, in turn, allows to implement [START_REF] Franchi | A passivity-based decentralized approach for the bilateral teleoperation of a group of UAVs with switching topology[END_REF] in fully distributed way. The use of the estimate of λ 2 for implementing F λ i can potentially lead to a loss of passivity. This problem is tackled by exploiting the energy stored in the tanks. Thus, the overall dynamics of the slave side can be modeled as: [START_REF] Secchi | Bilateral teleoperation of a group of UAVs with communication delays and switching topology[END_REF] where p = (p T 1 , . . . , p T N ) T and x t = (x t1 , . . . , x t N ) T . Moreover,

                ṗ ẋR ẋO ẋt    =         0 I -I Υ -I T 0 0 0 I T 0 0 0 -Υ T 0 0 0     -    B 0 0 0 0 0 0 0 0 0 0 0 -αP B 0 0 0        ∇H +GF e = [J -R]∇H + GF e v = G T ∇H
I = I G ⊗ I 3 , I = I N ⊗ 1 T N -1 ⊗ I 3 , and G = I N ⊗ I 3 0 0
T , with I G being the incidence matrix of the graph G whose edge numbering is induced by the entries of the vector x R , I 3 and I N being the identity matrices of order 3 and N respectively, 1 N -1 a column vector of all ones of dimension N -1, 0 representing a null matrix of proper dimensions, and ⊗ denoting the Krönecker product. Finally, the system exchanges energy through the port (F e , v) with the external world, where

F e = (F e T 1 , . . . , F e T N ) T and v = (v T 1 , . . . , v T N ) T . B = diag(B 1 , . . . , B N ), Υ = diag(-w i ), P = diag( 1 xt i p T i M -T i
). Details on the design of Υ can be found in [START_REF] Giordano | Passivity-based decentralized connectivity maintenance in the bilateral teleoperation of multiple UAVs[END_REF]. The overall system is passive with respect to the total energy function

H = N i=1 (K i + T i ) + V λ . (7)

C. Master-Slave Coupling

Let the agent l be the leader. It is possible to decompose F e l = F s + F env l , where F env l is the component of the force due to the interaction with the external environment (obstacles) and F s is the component due to the interaction with the master side. Similarly, we can decompose F M in (1) as F M = F m + F h , where F h is the component due to the interaction with the user and F m is the force acting on the master because of the interaction with the slave.

For achieving the desired teleoperation behavior, master and slave sides are joined using the following interconnection:

F s = -b T (v l -r M ) F m = b T (v l -r M ) (8)
where b T > 0 is a design parameter. This is equivalent to joining the master and the leader using a damper which generates a force proportional to the difference of the two velocity-like variables of the master and the leader. Since r M is "almost" the position of the master, the force fed back to the master and the control action sent to the leader are the desired ones. The complete teleoperation system, consists then of the interconnection of a passive master side, a passive interconnection and a passive slave side. Recalling that the interconnection of passive systems is again passive [START_REF] Secchi | Control of Interactive Robotic Interfaces: a port-Hamiltonian Approach[END_REF], we can conclude that the teleoperation system is passive w.r.t. the pair ((F T h , F env T ) T , (r T M , v T )) T where The value of the parameter λ min 2 defining the location of the vertical asymptote of the connectivity potential V λ (see Fig. 1) represents the minimum degree of connectivity allowed for the group. A large λ min 2 forces the group to evolve with a high connectivity level and, therefore, the agents to stay very close to each other to form a compact swarm. On the other hand, a small λ min 2 allows the group to evolve with a low connectivity level, making it possible for the agents to spread in the environment like a more "fluid body".

F env = F e T 1 . . . F env T l . . . F e T N T . (9
Therefore, changing the value of λ min 2 online would represent an important feature, as it would allow the user to gain control over the "degree of fluidity" of the group as the task evolves. Unfortunately, from a theoretical standpoint, freely changing a parameter of a potential energy function, such as V λ , can threaten passivity and, consequently, lead to a potentially unstable teleoperation system [START_REF] Franken | Bilateral telemanipulation with time delays: A two-layer approach combining passivity and transparency[END_REF]. The goal of this section is then to devise a passivity-preserving mechanism for allowing presence of a time-varying λ min 2 (t) while guaranteeing closed-loop passivity of the slave-side (the group of agents).

To this end, let λ m > 0 be a constant parameter specified by the user at the beginning of the task. This value represents a fixed and pre-defined lower-bound for the minimum degree of connectivity λ min 2 (t) (i.e., the maximum degree of dispersion) that is allowed for the group of agents at time t. Due to the shape of the potential V λ , λ min 2 (t) is also necessarily upper bounded by the current value λ 2 (t): in fact, V λ is not defined for λ 2 = λ min 2 , and no connectivity action is implemented if λ 2 < λ min 2 . Summarizing, at any time t the following inequalities must hold:

λ m ≤ λ min 2 (t) < λ 2 (t). (10)
In order to allow for changes in λ min 2 (t) while complying with these bounds, we define λ min 2 (t) as a function of a real parameter µ(t), called increment, in the following way:

λ min 2 (µ(t)) = λ m + sat [0,λ2(t)-λm-η] (µ(t)) =: λ(µ(t)), (11)
where sat [0,λ2(t)-λm-η] is a linear saturation with 0 and λ 2 (t)λ mη being its lower and upper limits, where η > 0 is an arbitrarily small positive number such that λ 2 (t)λ mη > 0. The introduction of η is necessary for coping with the strict inequality in the rhs. of [START_REF] Rahmani | Controllability of multi-agent systems from a graph-theoretic perspective[END_REF].

We then denote with V λ(µ) and with F λ(µ) i the connectivity potential and the connectivity control action evaluated using λ min 2 (µ) as given in [START_REF] Franchi | Bilateral teleoperation of groups of mobile robots with time-varying topology[END_REF]. Therefore, for example, V λ(0) will grow unbounded as λ 2 → λ min 2 (0) = λ m , and similarly for other values of µ. We will now show how to use the energy stored in the tanks for passively modifying the connectivity control action in presence of a time-varying λ min 2 (t), i.e., when µ(t) changes over time.

First of all, we augment the dynamics of each agent with an extra variable

µ i ∈ R            ṗi = F λ(0) i + F e i -w i x ti -B i M -1 i p i ẋti = α i 1 xt i D i + w T i v i μi = u i y i = v T i x ti µ i T , (12)
and add a 'baseline' interaction force F λ(0) i in ( 12) to the agent dynamics: this guarantees maintenance of the minimum degree of connectivity represented by λ min 2 = λ m ≡ const. On the other hand, the state µ i represents the i-th agent estimation of the current value µ, i.e., the desired increment with respect to λ m .

Let u lH ∈ R be an external input for the leader agent in charge of regulating the value of µ(t) over time. Input u lH can either represent the action of an external higher-level planner influencing the leader, or it can represent, as in our case, an additional degree of freedom for the human operator teleoperating the swarm. In order to propagate the effect of input u lH from the user to all the agents in a decentralized way, we design a consensus law over the states µ i , i = 1 . . . N :

u i = -j∈Ni (µ i -µ j ) i = 1, . . . , N i = L u l = -j∈N l (µ i -µ j ) + u lH . (13)
At this point, the i-th agent can passively implement the desired connectivity control action F λ(µi) i evaluated upon the current (and locally available) µ i , by exploiting the energy stored in its tank by setting

w i = 1 xti (-F λ(0) i + F λ(µi) i ) if T (x ti ) > ǫ 0 if T (x ti ) ≤ ǫ . (14)
Plugging ( 14) into (12) yields the following result: if the tank has enough energy for implementing the desired control action F λ(µi) i (i.e., if T (x ti ) > ǫ), then F λ(0) i is replaced by F λ(µi) i in [START_REF] Hua | A Control Approach for Thrust-Propelled Underactuated Vehicles and its Application to VTOL Drones[END_REF]. If the tank is depleted (i.e., if T (x ti ) ≤ ǫ), then the 'baseline' force F λ(0) i is implemented in [START_REF] Hua | A Control Approach for Thrust-Propelled Underactuated Vehicles and its Application to VTOL Drones[END_REF] and F λ(µi) i discarded. Considering the augmented dynamics [START_REF] Hua | A Control Approach for Thrust-Propelled Underactuated Vehicles and its Application to VTOL Drones[END_REF], the overall slave side is now represented by:

                    ṗ ẋR ẋO ẋt μ      =             0 I -I Υ 0 -I T 0 0 0 0 I T 0 0 0 0 -Υ T 0 0 0 0 0 0 0 0 0       -      B 0 0 0 0 0 0 0 0 0 0 0 -αP B 0 0 0 0 0 0 L            ∇Ha + Ga F e u lH v µ l = G T a ∇Ha (15
) where µ = (µ 1 , . . . µ N ) T , G a = diag(G g), where g ∈ R N g(i) = 1 if i = l and g(i) = 0 otherwise, and matrix L is the Laplacian of G. Furthermore:

H a = H + 1 2 µ T µ = H + U (16)
and all the other quantities are the same as defined in [START_REF] Secchi | Bilateral teleoperation of a group of UAVs with communication delays and switching topology[END_REF]. Proposition 1: The augmented slave side represented in ( 15) is passive with respect to the pair ((F e T , u lH ) T , (v T , µ l ) T ) with the the positive storage function H a .

Proof: Let x = (p T , x T R , x T O , x T t ) T be a vector grouping the state variables of the non augmented slave side. Using the notation introduced in ( 6), ( 15) can be rewritten as:

       ẋ = [J -R] ∇H + GF e μ = -L∇U + gu lH v = G T ∇H µ l = g T ∇U (17)
The dynamics of ( 6) is passive with respect to H and the pair (F e , v) and, following the proof given in [START_REF] Giordano | Passivity-based decentralized connectivity maintenance in the bilateral teleoperation of multiple UAVs[END_REF], we have that:

Ḣ ≤ v T F e (18)
Furthermore, we have that:

U = -µ T Lµ + µ T gu l ≤ µ l u lH ( 19
)
where the inequality follows form the positive semidefiniteness of L. By combining ( 18) and ( 19) we obtain:

Ḣ + U ≤ v T F e + µ l u lH ( 20
)
thus proving the statement. Passivity guarantees a stable behavior of the group. Thanks to the structure of ( 12) it is also possible to guarantee the connectivity of the slave side: Proposition 2: Consider the slave side represented by ( 15) and assume that

t 0 v T F e dτ < E, E > 0, (21)
namely that only a finite amount of energy can be injected in the system. The following statements hold: (i) If the group of agents is initially connected, i.e.

λ 2 (0) > λ m , then λ 2 (t) > λ m ∀t ≥ 0. (ii) If: (a) µ 1 = µ 2 = • • • = µ N = μ for t ≥ t 1 (b) λ 2 (t 1 ) > μ + λ m for t 1 > 0 (c) While implementing (14), T i (x ti )(t) > ǫ ∀t > t 1 i = 1, . . . , N then λ 2 (t) > μ + λ m ∀t ≥ t 1 . Proof: From (18), we have that Ḣ ≤ v T F e which implies that H(t) ≤ H(0) + t 0 v T F e dτ (22)
From ( 7), since T (t) ≥ 0 and K(t) ≥ 0 ∀t > 0, we can write

0 ≤ V λ(0) (t) ≤ H(0) + t 0 v T F e dτ (23)
Since only a finite amount of energy can be injected in the system, we can rewrite (23) as

0 ≤ V λ(0) (t) ≤ H(0) + E (24)
where the first inequality follows from the definition of V λ(0) . Thus, because of the bound reported in (24), if the system starts from a configuration such that λ 2 > λ m then its evolution if characterized by a value of λ 2 (t) such that V λ(0) ≤ H(0) + E. Thus, since V λ(0) grows unbounded as λ 2 → λ m , we have that λ 2 (t) > λ m > 0 which implies that connectivity is always maintained. Consider now the second statement. Because of assumption (c), the tanks always contain a sufficient amount of energy for implementing [START_REF] Secchi | Control of Interactive Robotic Interfaces: a port-Hamiltonian Approach[END_REF]. Thus:

V λ(0) (t) + T (t) ≥ V λ(μ) (t)∀t ≥ t 1 ( 25
)
where the inequality follows from the fact that only part of the energy in the tanks is sufficient for implementing the new connectivity potential. From ( 25) and ( 24) it follows that

V λ(μ) (t) ≤ H(0) + E (26)
Exploiting the same argument used for the first statement and considering that V λ(μ) grows unbounded when

λ 2 → μ + λ m , we can conclude that if λ 2 (t 1 ) > μ + λ m then λ 2 (t) > μ + λ m ∀t ≥ t 1 .
The assumption reported in ( 21) is naturally satisfied. When teleoperating the group of agents, at steady state all the tanks will be full and no energy will be stored anymore. In this situation, all the energy injected into the system is dissipated by the local dampers, and the injected energy does not grow any more. Assumption (a) requires that a steady state is reached among the agents. In Sec. IV we will show that this actually happens and that μ corresponds to the desired value of µ requested by the user. Assumption (b) is necessary for avoiding that the group starts with a degree of connectivity lower than the desired one. Finally, assumption (c) simply requires presence of enough energy in the tanks for always implementing the desired connectivity action. If this is not the case, F λ(μ) cannot be passively implemented.

When a new desired value of the increment is transmitted from the user to the leader agent, the consensus protocol needs some time in order to propagate this value to all the other agents. During this transient phase, assumption (b) is not satisfied but, thanks to the term F λ(0) i the minimum degree of connectivity ((i.e., λ 2 (t) > λ m ) is always maintained.

If assumptions (a), (b) and (c) are satisfied, despite the fact that V λ(μ) grows unbounded as λ 2 → μ, an infinite amount of energy is not necessary for implementing the new connectivity control action. In fact, thanks to (26), the needed control action is always bounded. If more energy than that currently stored in the tank is necessary for implementing F λ(µi) i , energy can be harvested increasing the local damping on the agent as shown in [START_REF] Giordano | Passivity-based decentralized connectivity maintenance in the bilateral teleoperation of multiple UAVs[END_REF].

IV. THE TELEOPERATION SYSTEM

The desired increment µ can be set by the user in a bilateral teleoperation setting by using a 1-dof device at the master side called connectivity master and modeled as:

m λ ẍλ + b λ ẋλ = F λ M (27)

Preprint version 5

F λ h r λ F h r M F λ m r λ F m r M u lH µ l v l F s
Fig. 2. The overall teleoperation system. Two master devices are interconnected in a passive way to a passive remote side. The coupling block represents the interconnection (30

)
where m λ ∈ R + , b λ ∈ R + and x λ ∈ R represent the inertia, the damping and the position of the device respectively. In order to deal with the difference between the infinite range of values that can be assumed by µ and the finite range of x λ , we propose to couple the position of the master with the input u lH influencing μl . As reported in Sec. II-A it is possible to implement a local control loop that transforms (27) into

ṙλ = F λ M (28)
where r λ = ρ λ ẋλ + ρ λ σ λ x λ . By properly choosing ρ λ , σ λ > 0, one has r λ ≈ K λ x λ , where K λ > 0 is a desired scaling factor. We decompose F λ M into the sum of two contributions

F λ M = F λ h + F λ m
, where F λ h represents the force applied by the user to the device and F λ m is the force due to the coupling with the slave side. The system in (28) is passive with respect to the pair (r λ , F λ m + F λ h ) using the positive storage function R λ = 1 2 r 2 λ , In fact we have that:

Ṙλ = r λ ṙ ≤ (F λ h + F λ m )r λ (29)
In order to allow the user to teleoperate the desired value of λ min 2 by acting on µ, and to feel a force feedback related to the tracking error of the desired increment, we couple (28) with the increment dynamics of the leader in the following way:

F λ m = -b λ (r λ -sat [0,λ2(t)-λm-η] (µ l )) u lH = b λ (r λ -µ l ) (30)
where b λ > 0 is a design parameter. The presence of the saturation function in F λ m is necessary to provide a proper force feedback to the user. The user can set any desired value for the increment but it will receive a feedback proportional to the difference between what s/he desire and what is actually implemented at the slave side due to the bounds in [START_REF] Rahmani | Controllability of multi-agent systems from a graph-theoretic perspective[END_REF]. The overall teleoperation system is represented in Fig. 2.

Using (30) the overall teleoperation system is passive and the user can assign to all the agents a desired increment using the connectivity master. In fact, the following result holds: Proposition 3: If the connectivity master reported in ( 27) is coupled to the slave side represented in ( 15) through (30), then the overall teleoperation system is passive. Furthermore, if r λ (t) = µ ∈ R, then µ i → µ, for i = 1, . . . , N .

Proof: Considering the vector of external forces in [START_REF] Sabattini | On decentralized connectivity maintenance for mobile robotic systems[END_REF] and the dissipative coupling [START_REF] Yang | Decentralized estimation and control of graph connectivity for mobile sensor networks[END_REF] between the master and the the slave side we have that:

Ḣ + U + ṘM ≤ v T F env + u lH µ l + r T M F h (31)
Summing ( 29) to (31) we obtain:

Ḣ+ U + ṘM + Ṙλ ≤ v T F ext +u lH µ l +r T M F h +r λ F λ h +r λ F λ m
(32) Using (30), we can write

u lH µ l + r λ F λ m = = -b λ (µ 2 l + r 2 λ -µ l r λ -r λ sat [0,λ2(t)-λm] (µ l )) ≤ 0 (33)
The inequality follows from simple algebra. If 0 ≤ µ l ≤ λ 2 (t)λ mη, then sat [0,λ2(t)-λm-η] (µ l ) = µ l and (33) can be rewritten as -b λ (µ lr λ ) 2 ≤ 0. In the other cases, we can rewrite (33) as

-b λ µ l r λ 1 -1 0 1 µ l r λ -r λ sat [0,λ2(t)-λm-η] (µ l )
(34) The first term within the brackets is always positive since it is a quadratic form associated to a positive definite matrix. If µ l ≤ 0 then r λ sat [0,λ2(t)-λm] (µ l ) = 0 and therefore the inequality in (33) holds. If

µ l ≥ (λ 2 (t) -λ m -η) then r λ sat [0,λ2(t)-λm] (µ l ) = r λ (λ 2 (t) -λ m -η). Since λ 2 (t) -λ m -η > 0, if r λ ≤ 0 then -r λ sat [0,λ2(t) (µ l ) ≥ 0 and (33) holds. Finally, if r λ > 0 then µ 2 l + r 2 λ -µ l r λ - r λ sat [0,λ2(t)-λm] (µ l ) ≥ (µ l -r λ ) 2 ≥
0 and, therefore, (33) holds. Thus, using (33) in (32), we have:

Ḣ + U + ṘM + Ṙλ ≤ v T F env + r T M F h + r λ F λ h (35)
which proves the passivity of the overall teleoperation system.

Both the passified connectivity master in (28) and the increment dynamics in [START_REF] Hua | A Control Approach for Thrust-Propelled Underactuated Vehicles and its Application to VTOL Drones[END_REF] are integrators. The graph formed by these integrators is always connected since the graph of the agents at the slave side is connected because of Proposition 2 and since we assume that a coupling between master and leader always exists. Because of the expression of u lH in (30), if r λ (t) = µ ∈ R the system composed by the connectivity master and by the increment dynamics behaves as a set of integrators connected by a consensus protocol where an integrator stays constant. Thus, since a connected undirected graph always admits a spanning tree, if r λ (t) = µ, as shown in [START_REF] Ren | Distributed Consensus in Multi-vehicle Cooperative Control: Theory and Applications[END_REF], then µ i → µ for all i = 1, . . . , N .

If the user takes the connectivity master at a position r λ = µ corresponding to an increment outside of the saturation bounds, the desired setpoint will be propagated to all the agents which, nevertheless, using the tanks will implement the increment sat [0,λ2(t)-λm-η] (µ l ) > 0. In this case, the user will feel a force feedback on the connectivity master informing her/him that the requested increment cannot be implemented.

Finally, presence of communication delays between master and slave can also be taken into account by extending the strategy proposed in [START_REF] Secchi | Bilateral teleoperation of a group of UAVs with communication delays and switching topology[END_REF].

V. HARDWARE IN THE LOOP SIMULATIONS

We report here the results of a human/hardware-in-the-loop simulation (HHIL) obtained on a group of N = 6 simulated quadrotor UAVs (the slave side) and two real 3D haptic interfaces (the master side). The UAVs were simulated in a physically realistic 3D environment based on the Ogre3D engine and the PhysX libraries for simulating the interaction between the UAVs and the environment. A set of obstacles was placed in the scene in order to trigger line-of-sight occlusions and the collision avoidance capabilities of the connectivity maintenance force F λ . The two haptic devices are a Omega.6 and Omega.31 : the Omega.6 device has 3 actuated translational dofs and 3 passive rotational dofs, and was used to represent the 3-dof master (1). The Omega.3 device has 3 actuated translational dofs, of which 2 were kept fixed via software so as to render it as a 1-dof device to play the role of the connectivity master (27). A picture illustrating the setup is given in Fig. 3.

Figure 4 shows the 3 components of the velocity command r M and the scalar command r λ , respectively, during the task execution. As clear from the plots, the leader UAV was teleoperated among the obstacles with 'random' commands in order to continuously stress the ability of the connectivity force F λ(µ) to preserve physical connectivity and avoid V λ

[J]

(b) Fig. 6. (a) The actual λ min 2,i used in the connectivity potentials (dashed lines) vs. the current value of λ 2 (solid line). (b) The behavior of V λ(0) (t) during the task execution which keeps always bounded, thus confirming that group connectivity was always preserved collisions with other agents and obstacles. At the same time, the human operator acted upon r λ in order to vary the minimum degree of connectivity λ min 2 over time (Fig. 4). In this respect, Fig. 5(a) reports the behavior of the 6 components of vector µ(t) over time, i.e., the result of having implemented the consensus law (13) for tracking r λ via u lH in (30). Because of the fast convergence rate of the consensus law, the components of µ(t) in Fig. 5(a) are almost perfectly superimposed, thus forming a unique thick line. Figure 5(b) reports the 6 values λ min 2,i evaluated upon the different µ i via (11): as expected these also result being almost perfectly coincident. It is then interesting to look at Fig. 6(a) where the 6 values of λ min 2,i are compared against the current value of λ 2 , the degree of connectivity of the group. Note how the values of λ min 2,i remain below λ 2 at all times, as required by constraint [START_REF] Rahmani | Controllability of multi-agent systems from a graph-theoretic perspective[END_REF]. Note also how λ 2 tends to always increase/decrease whenever any of the λ min 2,i increases/decreases (because, ultimately, of the issued command r λ ). Therefore: by acting upon r λ , the human operator is able to make λ 2 changing almost at will, but while always coping with constraint [START_REF] Rahmani | Controllability of multi-agent systems from a graph-theoretic perspective[END_REF]. As a result, connectivity is never lost during the task: this is also evident from Fig. 6(b) where the shown connectivity potential V λ(0) (t) remains bounded over time.

Additionally, in Fig. 7(a) we report the evolution of the 6 tank energies over time: as expected, the tanks get refilled during the motion and never deplete. It is possible to see some isolated phases of small discharges in the tank energies, e.g., at about t = 75 s and t = 140 s: these are due to the temporary non-passive behavior of F λ(µ) because of the too erratic variation of λ min 2 . However, these effects are completely within the passivity margin of the system as clear from the plot. Finally, in Figs 8(a)-8(b) we show the force cues F m and F λ m displayed to the human operator during the task. Peaks in the force F λ m correspond to phases in which a connectivity change command r λ was not executed by the group mainly because of constraint [START_REF] Rahmani | Controllability of multi-agent systems from a graph-theoretic perspective[END_REF]. As a last plot, Fig. 7(b) reports the total number of edges |E| over time: this is meant to show the time-varying nature of the interaction graph G in which edges are allowed to be created or destroyed at anytime as long as the overall graph stays connected.

Finally, the interested reader can also appreciate these HHIL simulation results in the videoclip attached to the paper.

VI. CONCLUSIONS AND FUTURE WORK

In this paper we presented a novel bilateral controller that allows to stably teleoperate the degree of connectivity in the mutual interaction between a remote group mobile robots. Passivity of this new bilateral interaction channel is theoretically proven and ensured in a fully distributed way. The feasibility and applicability of the system has been the demonstrated by means of human/hardware-in-the loop simulations.

In future work we want to implement this framework with a group of real UAVs, and evaluate the benefit of the new control dimension provided to the operator by means of psychophysical experiments. Furthermore, we aim at defining an algorithm for tuning the upper limit of the tanks of the agents depending on the topology and on the interaction with the environment.

Fig. 1 .

 1 Fig. 1. An example of connectivity potential. λ min 2 = 0.2 and ∆ = 1.This function can be obtained by joining an hyperbolic function to 0 using a smooth bump function.

  III. PASSIVITY-PRESERVING TUNING OF λ min 2

Fig. 3 .Fig. 4 .

 34 Fig. 3. A screenshot of the simulation environment with 6 UAVs (bottom) and the two haptic devices used as master side (top)

Fig. 5 .

 5 Fig. 5. (a) The desired increments µ 1 . . . µ N computed by every robot by implementing the consensus law (13). The N values are almost perfectly superimposed because of the very fast convergence rate of the consensus dynamics. (b) The actual λ min 2,i used in the connectivity potentials.

Fig. 7 .Fig. 8 .

 78 Fig. 7. (a) The tank energy values. (b) The time-varying number of edges of the interaction graph.

Preprint version2

Preprint version 4

Preprint version 6

http://www.forcedimension.com

Preprint version7


Dorothée Kopp

Frédéric Santoul

Nicolas Poulet

Arthur Compin

Régis Céréghino

Patterning the distribution of threatened crayfish and their exotic analogues using self-organizing maps

come   L'archive ouverte pluridisciplinaire

Open Archive TOULOUSE Archive Ouverte (OATAO)

OATAO is an open access repository that collects the work of Toulouse researchers and makes it freely available over the web where possible. This is an author-deposited version published in : http://oatao.univ-toulouse.fr/ Eprints ID : 10141

To link to this article : DOI:10.1017/S0376892910000378 URL : http://dx.doi.org/10.1017/S0376892910000378

To cite this version : Kopp, Dorothée and Santoul, Frédéric and Poulet, Nicolas and Compin, Arthur and Céréghino, Régis. Patterning the distribution of threatened crayfish and their exotic analogues using self-organizing maps. (2010) Environmental Conservation, vol. 37 (n° 2). pp. [147][148][149][150][151][152][153][154] Any correspondance concerning this service should be sent to the repository administrator: staff-oatao@listes-diff.inp-toulouse.fr