Zhongmou Li
email: zhongmou.li@ls2n.fr

Vincent Bégoc
email: vincent.begoc@icam.fr

Abdelhamid Chriette
email: abdelhamid.chriette@ls2n.fr

Isabelle Fantoni
email: isabelle.fantoni@ls2n.fr

Vincent B Égoc

Wrench Capability Analysis and Control Allocation of a Collaborative Multi-Drone Grasping Robot

HAL is

This paper presents the wrench capability analysis, the controller design and experimental results of an aerial robot Flying Gripper. This robot uses four quadrotors to actuate four fingers such as to grasp and manipulate large size objects. The yaw motion of each quadrotor is used to open/close one of the four fingers. A method is proposed to analyze its manipulability considering inequality constraints such as the propellers' capabilities and equality constraints such as the yaw torque applied by each quadrotor to open or close a finger and the equilibrium conditions of passive joints. This allows concluding on the full manipulability of the robot and evaluating its force and torque capabilities. A Dynamic Control Allocation algorithm is implemented to distribute the control effort among all quadrotors while guaranteeing an achievable solution satisfying the aforementioned constraints. A proof of concept is realized and allows presenting preliminary experimental results of the Flying Gripper. * Supported by China Scholarship Council.

NOMENCLATURE m t

Total mass of the robot and the grasped object. R q Vector of generalized coordinates. p b

Pose vector of the body structure. q a

Vector regrouping UAV' attitude vectors η η η i . η η η i Vector of Euler angles represent the i th UAV's attitude. w

f i i
Thrust force vector produced by the i th UAV expressed in F i .

τ τ τ i i

Torque vector produced by the i th UAV expressed in

F i f 0 q
Vector regrouping all UAVs' thrust force vectors expressed in F 0 that f

0 q = f 0 T 1 f 0 T 2 f 0 T 3 f 0 T 4 T . τ τ τ q q
Vector regrouping all UAVs' torques:

τ τ τ q q = τ τ τ 1 T 1 τ τ τ 2 T 2 τ τ τ 3 T 3 τ τ τ 4 T 4
T .

f z Vector regrouping all UAVs' thrust forces along z i axis of F i that f z = f 1,z f 2,z f 3,z f 4,z T .

W b i

Mapping matrix for i th UAV's wrench

w i i from F i to F b . W s i
Mapping matrix for i th UAV's wrench

w i i from F i 1 Introduction
Unmanned Aerial Vehicles (UAVs), thanks to their versatility, are expected to accomplish increasingly complex tasks, such as grasping and manipulating objects. The most common approach consists in attaching additional mechanisms to a multirotor, such as a gripper [START_REF] Zhang | Compliant bistable gripper for aerial perching and grasping[END_REF], a serial manipulator [START_REF] Tognon | Dynamic decentralized control for protocentric aerial manipulators[END_REF], a parallel manipulator [START_REF] Kamel | Design and modeling of dexterous aerial manipulator[END_REF] or a dual-arm manipulator [START_REF] Yu | Exploring aerial perching and grasping with dual symmetric manipulators and compliant end-effectors[END_REF]. However, such systems have a reduced payload and limited manipulation capabilities due to the underactuation of quadrotors.

To increase the payload, emerging works investigate multi-quadrotor cooperative systems. Indeed, quadrotors are largely used for their agility and low cost. Multiple quadrotors are thus connected to the payload or the end-effector using cables [START_REF] Sreenath | Dynamics, control and planning for cooperative manipulation of payloads suspended by cables from multiple quadrotor robots[END_REF][START_REF] Sanalitro | Full-pose manipulation control of a cable-suspended load with multiple uavs under uncertainties[END_REF] or rigid links [START_REF] Nguyen | A novel robotic platform for aerial manipulation using quadrotors as rotating thrust generators[END_REF][START_REF] Six | The kinematics, dynamics and control of a flying parallel robot with three quadrotors[END_REF], which, however, are not designed to perform grasping. Other approaches use multiple UAVs to exert contacts on the object to grasp and manipulate it [START_REF] Gioioso | The flying hand: A formation of UAVs for cooperative aerial tele-manipulation[END_REF][START_REF] Saldana | A decentralized algorithm for as-sembling structures with modular robots[END_REF][START_REF] Zhao | Transformable multirotor with twodimensional multilinks: Modeling, control, and whole-body aerial manipulation[END_REF]. Nevertheless, for each of these concepts, the security of the grasp highly relies on friction and could hardly be guaranteed in real conditions. Interestingly, in most of the previous works that use multiple quadrotors, the yaw motion of each quadrotor does not contribute to the manipulation task, making this degree of freedom useless.

Few aerial robot designs taking advantage of the yaw motion of a quadrotor to contribute to the manipulation task can be found in [START_REF] Korpela | Towards valve turning using a dual-arm aerial manipulator[END_REF][START_REF] Car | Impedance based force control for aerial robot peg-in-hole insertion tasks[END_REF]. Authors recently introduced a concept of a multi-drone robot intended to grasp and manipulate large objects [START_REF] Saint-Sevin | Design and optimization of a multi-drone robot for grasping and manipulation of large size objects[END_REF][START_REF] Li | Dynamic modeling and controller design of a novel aerial grasping robot[END_REF]. The proposed robot can be described as a flying hand composed of a body structure, four self-adaptive fingers [START_REF] Birglen | Underactuated Robotic Hands[END_REF] and four quadrotors. Each finger is actuated using the yaw motion of each quadrotor transmitted through a worm-gear mechanism to guarantee the robustness of the grasp.

The manipulability of a multi-drone robot can be analyzed by studying the set of wrenches that can be applied by quadrotors on a manipulated platform or a grasped object. This wrench capability analysis method has been extensively applied in the fields of robotic hands and Cable-Driven Parallel Robots (CDPRs) [START_REF] Ebert-Uphoff | On the connections between cable-driven robots, parallel manipulators and grasping[END_REF]. Both of these two families of robots are subject to unilateral constraints: unilateral contact forces for robot hands and unilateral cable tensions for CDPRs. In a same manner, aerial robots are also subject to unilateral constraints since propellers can generally turn in a unique direction. In [START_REF] Ryll | Fast-hex -a morphing hexarotor: Design, mechanical implementation, control and experimental validation[END_REF] and [START_REF] Sarkisov | Development of sam: cablesuspended aerial manipulator[END_REF], the feasible wrench set is built in order to analyze the manipulability of an hexarotor and an octorotor respectively. However these works do not give insights on the method used to compute this set. Few works have been dedicated to the wrench capability analysis of multi-drone robots and mostly apply to Aerial Cable Towed Systems (ACTS) [START_REF] Jamshidifar | Static workspace optimization of aerial cable towed robots with land-fixed winches[END_REF][START_REF] Erskine | Wrench Analysis of Cable-Suspended Parallel Robots Actuated by Quadrotor Unmanned Aerial Vehicles[END_REF][START_REF] Li | Design and control of a variable aerial cable towed system[END_REF]. The analysis of the manipulability of a different concept where quadrotors are connected to a platform through passive spherical joints is presented in [START_REF] Nguyen | A novel robotic platform for aerial manipulation using quadrotors as rotating thrust generators[END_REF]. In most of these works, each quadrotor is reduced to a thrust generator since the net yaw torque produced by each quadrotor cannot be transmitted through a cable or a spherical joint. A lower and an upper boundary on the thrust force produced by the quadrotor are thus computed from the capabilities of each propeller. In [START_REF] Li | Design and control of a variable aerial cable towed system[END_REF], authors compute the upper boundary considering the roll and pitch torques required to compensate for the non-coincidence of the geometric center of each quadrotor with its center of mass (CoM) or with the point of attachment of the cable. The corresponding set of inequalities defines the available thrust set which is then mapped in the wrench space to obtain the allowable wrench space. An intermediate step can be included to consider the maximum tension in cables. However, existing methods only deal with inequality constraints and, thus, cannot apply to the proposed Flying Gripper (FG) robot. Indeed, in this case, each quadrotor is more than a thrust generator since it also applies a yaw torque to close or open the corresponding finger. Obviously, the value of this yaw torque has a major influence on the maximum allowable net thrust force produced by each quadrotor and, consequently, on the JMR-21-1441 LI wrench capability of the whole robot.

Since, the number of actuators of the FG robot is larger than the dimension of its task space, the FG is overactuated and requires a control allocation algorithm to distribute control efforts. Control allocation is often formulated as an optimization problem where redundant degrees of actuation are used to achieve additional objectives while allowing to consider system constraints at the same time. In this domain, a 2-step quadratic optimization method Dynamic Control Allocation (DCA) is proposed in [START_REF] Härkegård | Dynamic control allocation using constrained quadratic programming[END_REF] which is well known for its time-effective property. It allows dealing with a system of linear constraints and guarantee the continuity of the control input, so it is used to consider actuator rate constraints of a new flight control system in [START_REF] Wang | Flight control system design with hierarchy-structured dynamic inversion and dynamic control allocation[END_REF], to consider desired control actions and actuator constraints of a power system in [START_REF] Raoufat | Dynamic control allocation for damping of inter-area oscillations[END_REF] when an actuator fails. The main contributions of this paper are highlighted below. This paper presents a new version of the Flying Gripper initially presented in [START_REF] Li | Dynamic modeling and controller design of a novel aerial grasping robot[END_REF], which introduces passive universal joints between each quadrotor and the corresponding worm screw actuating the finger. This allows each quadrotor to modify its orientation w.r.t the body frame. This design modification significantly modifies the manipulability of the FG robot as well as the quadrotors' control strategy. An original method is proposed to compute the available wrench set of the FG robot, dealing with equality constraints imposed by the quadrotor yaw torques required to open or close fingers, as well as the equilibrium conditions of each quadrotor. The obtained available wrench set allows concluding on the full manipulability of the robot while closing or opening fingers. Simulation results were presented in [START_REF] Li | Dynamic modeling and controller design of a novel aerial grasping robot[END_REF] using a model predictive controller able to deal with model uncertainties but not capable of fulfilling actuators' limits. In this paper, a DCA is implemented to find an input solution for each quadrotor that lies inside the available quadrotor wrench set (i.e. satisfies propellers' capabilities) while reducing energy consumption and managing the control input continuity. A proof of concept is realized and presented in order to demonstrate experimentally the full manipulability of the FG robot and show its capability to open or close fingers using the yaw motion of quadrotors while maintaining the stability of the body structure.

This paper is organized as follows. Section 2 introduces the architecture of the new FG robot and develops the static and dynamic models. Section 3 presents a method based on the available quadrotor wrench set to obtain the available wrench space of the FG. A qualitative and a quantitative analysis of the FG robot's manipulability are then proposed. Section 4 demonstrates the control scheme of the FG robot. Especially, a DCA algorithm is presented for distributing the control input among quadrotors. In section 5, preliminary experimental results are presented and evaluated. A conclusion is drawn in section 6.

Introduction and Modeling of the Flying Gripper 2.1 Presentation of the Concept

The FG robot is a collaborative multi-drone grasping robot that is composed of four off-the-shelf quadrotors, four self-adaptive fingers and a body structure (see Fig. 1). An originality of the concept relies on the fact that the quadrotors' yaw rotations are used to actuate the closing/opening motion of self-adaptive fingers (Fig. 2a).

Each finger has two phalanges and is self-adaptive, i.e. it can adapt to the shape and size of an object without requiring any sensor or complex control strategy, making the grasp more robust to positioning uncertainty of the robot w.r.t the object. The finger's self-adaptation is achieved thanks to a differential mechanism (i.e. a four-bar mechanism), which allows sharing the input torque applied on the actuation bar among the proximal and distal phalanxes. More detail on the working principle of such finger can be found in [START_REF] Saint-Sevin | Design and optimization of a multi-drone robot for grasping and manipulation of large size objects[END_REF][START_REF] Birglen | Underactuated Robotic Hands[END_REF].

Each finger is driven by the yaw rotation of the corresponding quadrotor that is transmitted through a worm-gear mechanism.The kinematic scheme of a finger and its actuation principle is given in Fig. 2b. Worm screws of quadrotors 1 and 3 and those of quadrotors 2 and 4 are chosen with the opposite hand (left and right) such that, when the four fingers are closing or opening together, the resulting net torque applied on the body structure is canceled.

The worm-gear mechanisms are designed to be nonbackdrivable to produce form-closed grasps [START_REF] Krut | Extension of the form-closure property to underactuated hands[END_REF], such that fingers cannot move backward once phalanxes are contacting the object. Releasing the object thus requires quadrotors to rotate in the opposite direction to open fingers.

This form-closure stability criterion yields secured grasps that do not depend on the capability of actuators nor on friction between phalanges and the grasped object. Furthermore, no additional energy is required for grasping during the flight. A guideline is given in [START_REF] Saint-Sevin | Design and optimization of a multi-drone robot for grasping and manipulation of large size objects[END_REF] to optimize the geometric parameters of a planar version of FG to maximize its manipulability and its capability to produce form-closed grasps for objects of different dimensions and despite positioning uncertainties of the objects.

This paper considers a different version of the FG presented in [START_REF] Li | Dynamic modeling and controller design of a novel aerial grasping robot[END_REF]. Indeed, a universal joint is introduced to link each quadrotor to the corresponding worm screw, which allows two supplementary Degrees of Freedom (DOF), roll and pitch rotations, for each quadrotor w.r.t the body structure. In the previous version, quadrotors had a fixed attitude w.r.t the body frame, only the yaw motion of each quadrotor was allowed to actuate the corresponding finger. With this new version, each quadrotor is allowed to modify its attitude w.r.t the body structure while transmitting its yaw rotation to the worm screw to open or close the finger even if the quadrotor yaw axis and the worm screw axis are not coincident (Fig. 2c). This design modification allows reducing energy consumption during transportation by allowing each quadrotor to adopt a horizontal attitude. Furthermore, it is able to increase the manipulability performances (for a detailed comparison see [START_REF] Li | Theoretical developments and experimental evaluation of a novel collaborative multi-drones grasping and manipulation system of large objects[END_REF], the manipulability analysis of this new version is addressed in section 3). In addition, this new design permits using a thrust-attitude low-level quadrotor controller (controller scheme will be presented in section 4), instead of a propeller speed controller which is not so well implemented on off-the-shelf quadrotors. JMR-21-1441 LI 3

Static Modeling 2.2.1 Parametrization

The main geometrical parameters of the robot are the length L and the height H (see Fig. 1). Let introduce q = p T b q T a T ∈ R 18×1 is the vector of generalized coor- body structure frame F b w.r.t the world frame F 0 . The vector

q a = η η η T 1 η η η T 2 η η η T 3 η η η T 4 T ∈ R 12×1 , where η η η i = φ i θ i ψ i T ∈ R 3×1
is the vector of Euler angles representing the attitude of the i th quadrotor local frame F i w.r.t the world frame F 0 . The origin of the body frame F b is placed at the CoM of the whole system (the robot and the object). It was arbitrarily determined considering the sample case of a cylindrical object centered in the hand, with a radius of 0.7 m. For simplification purposes, the position of the CoM of the whole system is assumed to be fixed and independent from the quadrotors' attitude and from the fingers' configuration.

The static equilibrium of the robot in F b is thus given by the relation:

w b ext + 4 ∑ i=1 W b i w i i - R b 0 m t g 0 3×1 = 0 (1)
where m t is the mass of the whole system and R

w i i = f i T i τ τ τ i i T T = f i,x f i,y f i,z τ i,x τ i,y τ i,z T ∈
R 6×1 represents the wrench produced by quadrotor i in F i .

The matrix

W b i ∈ R 6×6 maps w i i in F b : W b i = R b i 0 3×3 r b i × R b i R b i (2)
in which the

r b i ∈ R 3×1 is the position vector of quadrotor i in F b and R b i ∈ R 3×3 is the rotation matrix of F i w.r.t F b .
Since universal joints allow the free roll and pitch rotation of each quadrotor, at static equilibrium, the corresponding roll and pitch torques of each quadrotor i must be zero

τ i,x = τ i,y = 0 (3)
with τ i,x and τ i,y being the torques along x i and y i in F i .

Relating UAV Reduced Wrench to Motor Speeds

Since a quadrotor has only four motors, it is underactuated in SE(3). Indeed, it can only generate one force along z i and three torque components independently. This four-dimensional quadrotor wrench is further denoted as the quadrotor reduced wrench w i r i , in order to highlight that it is not a six-dimensional wrench.

The mathematical model characterizing the relation between the quadrotor reduced wrench

w i r i = f i,z τ τ τ i i T T ∈ R 4×1 and the motor speed square Ω Ω Ω i ∈ R 4×1 is introduced in [28]
:

w i r i = Γ Γ Γ i Ω Ω Ω i (4)
and

Γ Γ Γ i =     C F C F C F C F 0 C F r q 0 -C F r q -C F r q 0 C F r q 0 C M -C M C M -C M     (5)
where Γ Γ Γ i ∈ R 4×4 is a square and constant matrix, C F and C M are the coefficients of thrust and drag of the propellers, and r q is the distance between the CoM and each propeller's axis of rotation.

Since each quadrotor i can only generate a thrust force along z i axis in F i , it leads to

f i i = 0 0 f i,z T (6)

Dynamic Modeling

In this section, the dynamic model of the FG is developed to be used further in the controller design in section 4.

The following assumptions are made to simplify the dynamic modeling: i) the center of rotation of each universal joint coincides with the CoM of its corresponding quadrotor; ii) universal joints are modeled as spherical joints by neglecting the yaw torques transmitted between the quadrotors and the worm-gear mechanisms1 ; iii) fingers are considered to close or open slowly, thus neglecting the dynamics of fingers.

Assumptions i) and ii) allow decoupling the dynamics of each quadrotor from the dynamics of the robot's body. The resulting modeling errors will be compensated by the controller presented in section 4.

Based on these assumptions, the dynamic model of the FG is constructed as follows:

M b pb + c b = w b (7) M a qa + c a = τ τ τ q q (8) w b = W f f 0 q (9) f 0 q = R r f z (10)
where the inputs are

f z = f 1,z f 2,z f 3,z f 4,z T ∈ R 4×1 and τ τ τ q q = τ τ τ 1 T 1 τ τ τ 2 T 2 τ τ τ 3 T 3 τ τ τ 4 T 4 T ∈ R 12×1 regrouping respectively the thrust forces f i,z ∈ R along the z i direction of F i and the torques τ τ τ i i ∈ R 3×1 of all quadrotors respectively expressed in F i . The term M b ∈ R 6×6 is the inertia matrix of the body structure, M a = diag M 1 , M 2 , M 3 , M 4 ∈ R 12×12 with M i ∈ R 3×3 being the inertia matrix of quadrotor i, c b ∈ R 6×1
and c a ∈ R 12×1 represent the Coriolis/centripetal terms for the body structure and the quadrotors respectively. The vector

w b = f 0 T b τ τ τ b T b
T ∈ R 6×1 is the net wrench applied by quadrotors on the body structure composed of a force f

0 b ∈ R 3×1 expressed in F 0 and a torque τ τ τ b b ∈ R 3×1 ex- pressed in F b . The term f 0 q = 0 f T 1 0 f T 2 0 f T 3 0 f T 4 T ∈ R 12×1
is a vector regrouping thrust forces generated by four quadrotors expressed in F 0 , and W f ∈ R 6×12 is a matrix that maps f 0 q to w b . The matrix R r ∈ R 12×4 maps f z to f 0 q and depends on the pitch and roll angles of each quadrotor φ i , θ i .

Wrench Capability Analysis of the Flying Gripper

This section proposes a method based on convex hull theory to analyze the manipulability of the FG from the available body wrench set, i.e. the set of wrenches that can be applied by quadrotors on the robot's body. It is based on the computation of the available quadrotor wrench set, taking into account the actuators' capabilities, the yaw torque applied to open or close the finger, the equilibrium conditions of the FG mechanism's internal mobilities due to the introduction of universal joints and the mechanical stops associated to these universal joints. Note that this method analyzes the available body wrench set when the robot is at static equilibrium, and is thus based on the static model developed in section 2.2.

The proposed method permits taking into account the following particularities of the FG robot which all affect the set of wrenches that can be applied by each quadrotor on the body structure: i) the actuators' capabilities, ii) the static equilibrium conditions, iii) the range of rotation of the universal joints, authorized by the mechanical stops, iiii) the yaw torques applied to drive fingers when closing or opening fingers.

It is possible to analyze the manipulability performances of designs, with different dimension parameters L, H, or using different elements, like motors with different ω min and ω max . This method is illustrated considering the design parameters given in Table 1.

Building the Available Body Wrench Set of the Flying Gripper

In the following, it is explained that how to build, in 8 steps, the available body wrench set of the FG. Results are obtained using algorithms provided by the Multi-Parametric Toolbox 3.0 (MPT3) in Matlab [START_REF] Herceg | Multi-Parametric Toolbox 3.0[END_REF]. Moreover, this toolbox allows representing a polytope using a set of linear inequalities and equalities. More details about operations on polytopes can be found in the Appendix and in [START_REF] Fukuda | Polyhedral computation[END_REF].

Step 1. Available UAV Actuation Set A i

The method starts by building the available actuation set of a single quadrotor, considering the minimum and maximum velocity of each propeller. The vector

Ω Ω Ω i = ω 2 i,1 ω 2 i,2 ω 2 i,3 ω 2 i,4
T ∈ R 4×1 represents the quadrotor actuation state, where ω i, j is the j th motor's speed of quadrotor i. Thus, each quadrotor's actuation capability is modeled with a lower bound Ω Ω Ω = ω 2 min ω 2 min ω 2 min ω 2 min T ∈ R 4×1 and an

(i = 1, ...4) R x (28°)R y (30°) R x (-28°)R y (30°) R x (-28°)R y (-30°) R x (28°)R y (-30°)
R x , R y are matrices representing the rotations around x and y axes.

upper bound Ω Ω Ω = ω 2 max ω 2 max ω 2 max ω 2 max T ∈ R 4×1 as Ω Ω Ω ≤ Ω Ω Ω i ≤ Ω Ω Ω (11)
For the needs of the method, Eq. ( 11) is reformulated to obtain the H -representation of the available UAV actuation set A i as a collection of linear inequalities (see the introduction of the H -representation in Appendix):

A i = Ω Ω Ω i ∈ R 4×1 | A Ω i Ω Ω Ω i ≤ b Ω i (12) in which b Ω i = Ω Ω Ω T -Ω Ω Ω T T ∈ R 8×1 , A Ω i = I 4 -I 4 T ∈
R 8×4 where 8 stands for the number of inequalities and 4 is the dimension of the UAV actuation space. The UAV available actuation set A i is a 4-cube shown in Fig. 3.

Step 2. Linear Mapping of A i in the UAV Local Reduced

Wrench Space

Based on the linear bijection Γ Γ Γ i in Eq. ( 4), it is possible to compute W r i , the available UAV reduced wrench set of w i r i from the available actuation set A i , as follows (see linear mapping of a polytope in Appendix):

W r i = w i r i ∈ R 4×1 | A i i,r w i r i ≤ b Ω i (13)
where

A i i,r = A Ω i Γ Γ Γ -1 i ∈ R 8×4 . The polytope W r
i is a 4D polytope (Fig. 4).

ω 2 i,1 (rad 2 /s 2 ) ω 2 i,2 (rad 2 /s 2 ) ω 2 i,3 (rad 2 /s 2 ) A i HP(ω 2 i,4 = ω 2 min )
Fig. 3: Representation of the available UAV actuation set A i (a 4cube). For visualization purpose, its intersection with the hyper-

plane H P (ω 2 i,4 = ω min ) is shown in the 3D space ω 2 i,1 , ω 2 i,2 , ω 2 i,3 . 10 20 -1 0 1 -2 0 2 •10 -2 f i,z (N) τ i,x (N m) τ i,z (N m) W r i HP(τ i,y = 0)
Fig. 4: Representation of the available UAV reduced wrench set W r i (a 4D polytope). For visualization purpose, its intersection with the hyperplane H P (τ i,y = 0) is shown in the 3D space f i,z , τ i,x , τ i,z .

UAV local wrench space. This will later permit applying a linear mapping of this polytope using the method introduced in the Appendix. This so-called lifting operation requires increasing the dimension of all raw vectors of matrix A i i,r , namely the normal vectors 2 , such that the inequalities of Eq. ( 13) remain true whatever the values of the additional wrench components f i,x , f i,y . The following matrix is obtained:

A i i = 0 8×2 A i i,r ∈ R 8×6 (14)
Then, it is necessary to consider the equalities f i,x = 0, f i,y = 0 as the quadrotor cannot produce any thrust force along x i or y i directions see Eq. ( 6) , which remain true 2 Each raw vector of A i i,r matrix corresponds to a normal vector of the corresponding halfspace. whatever the values of f i,z and τ τ τ i i

C i i w i i = 0 (15)
where

C i i = e 1 e 2 T ∈ R 2×6
where e i is a unit vector. Thus, the available UAV wrench set W i , i.e. available set of w i i , is defined as the intersection of a set of inequalities and equalities:

W i = w i i ∈ R 6×1 | A i i w i i ≤ b Ω i , C i i w i i = 0 (16)
where When grasping or releasing an object, each quadrotor must generate a yaw torque to actuate its associated finger

A i i = 0 8×2 A Ω i Γ Γ Γ -1 i ∈ R 8×6 represents
τ i,z = (-1) i τ f (17)
where (-1) i is introduced as left-hand worm gears mechanisms are used for quadrotors 1 and 3 and right-hand ones are used for quadrotors 2 and 4 such that when they generate opposite yaw rotations to close/open fingers thus allowing to obtain a zero net yaw torque exerted on the robot's body. This equality constraint is added to the polytope obtained in Eq. ( 16) to calculate W yaw i , the available UAV wrench set considering this yaw torque constraint:

W yaw i = w i i ∈ R 6×1 | A i i w i i ≤ b Ω i , C yaw i w i i = d yaw i (18)
where

C yaw i = e 1 e 2 e 6 T ∈ R 3×6 and d yaw i = 0 0 (-1) i τ f T ∈ R 3 .
Due to this additional equality constraint, the dimension of the obtained available UAV wrench set W yaw i reduces to at most 3 (see Fig. 5).

Step 5: Introducing Static Equilibrium Conditions

Because of universal joints, no torque around x i and y i can be transmitted by the corresponding quadrotor to the body structure. The static equilibrium condition of each quadrotor i is modeled by Eq.(3). These two equality constraints are added to the polytope W yaw i see Eq.( 18) to obtain W eq i :

W eq i = w i i ∈ R 6×1 | A i i w i i ≤ b Ω i , C eq i w i i = d eq i (19)
where that is a polytope with a dimension of 3 is shown in the 3D space f i,z , τ i,x , τ i,y .

C eq i = e
dimension of the available UAV wrench set W eq i is at most 1 (see Fig. 6a and Fig. 6b).

It implies that each quadrotor at static equilibrium can only generate a thrust force along z i direction and a constant yaw torque (-1) i τ f . This thrust force has a minimum and a maximum value (see Fig. 6b) depending on the actuator's capabilities and on the yaw torque value.

Step 6: Linear Mapping of W eq i in F s and Consideration of Universal Joint Mechanical Stops Because of the passive universal joints, each quadrotor can modify its attitude w.r.t the body structure as long as it satisfies the mechanical stops of the universal joint. The method presented below considers all admissible attitudes of quadrotors under constraints imposed by the mechanical stops. Therefore, it is assumed that each quadrotor can instantly switch from a configuration to another, i.e. neglecting its rotational dynamics. This assumption is done in [START_REF] Nguyen | A novel robotic platform for aerial manipulation using quadrotors as rotating thrust generators[END_REF] but not explicitly.

Here, the frame F s i is introduced and it is attached to the universal joint to describe central attitude of quadrotor i w.r.t the body structure. The frame F s i is chosen so that its origin coincides with that of F i , and z s i axis coincides with the worm screw axis (Fig. 2c).

Then, expressing the UAV wrench in F s i gives

w s i = W s i (η η η i ) w i i (20)
where W s i (η η η i ) ∈ R 6×6 indeed depends on the attitude of quadrotor i and is a square and invertible matrix mapping w i i in F s i . As a consequence, the available UAV wrench set expressed in F s i is calculated as

W s i (η η η i ) = w s i ∈ R 6×1 | A i i W s -1 i (η η η i ) w s i ≤ b Ω i , C eq i W s -1 i (η η η i ) w s i = d eq i (21)
The obtained W s i (η η η i ) is still a polytope with a dimension of 1 in R 6 .

It is recalled here that the relative orientation of quadrotor i w.r.t z s i axis, can be described by the shaft alignment angle ϕ i (Fig. 2c) whose maximal angle allowed by mechanical stops is ϕ max . To consider all admissible attitudes, the roll and pitch rotations satisfying 0 ≤ ϕ i ≤ ϕ max are discretized to compute a new set W s i (η η η i ) for each quadrotor's attitude η η η i . Then, the convex hull of the union of all these sets is computed to obtain a linearized approximation of the set of available wrenches that can be applied by the quadrotor on the robot's body expressed in F s i

W s i = conv ϕ i ∈[0,ϕ max ] W s i (η η η i ) = conv S f i ( 22
)
At this stage, W s i is defined using the V -representation (see Appendix) due to the convex hull operation with S f i being the set of vertices of W s i . So, W s i shown in Fig. 6c is a cone with a dome on the top. The angle of the cone depends on ϕ max , the height of the cone depends on the actuator's capabilities and also on the yaw torque value exerted to open or close the corresponding finger.

Step 7 :Linear Mapping of W s i in the Body Wrench Space

The UAV wrench expressed in the body frame F b can be obtained using the following formula:

w b i,b = W b s i w s i (23)
where

W b s i ∈ R 6×6 is a constant matrix mapping w s i in F b , since F s i is fixed w.r.t F b and the relative attitude of F s i w.r.t F b is represented by the constant matrix R b s i ∈ R 3×3 .
It is recalled that W s i in the previous step, see Eq. ( 22), is expressed using the V -representation that is a set of vertices. JMR-21-1441 LI 8 10 15 20

-1 0 1 -1 0 1 i f i,z (N) i τ i,x (N m) i τ i,y (N m) W yaw i HP(τi,y = 0) HP(τi,x = 0) (a) 10 15 20
-1 0 1 -1 0 1 i f i,z (N) i τ i,x (N m) i τ i,y (N m) W eq i (b)
s f i,x (N) s f i,y (N) s f i,z (N) W s i (c)
Fig. 6: Representation of the available UAV wrench set considering static equilibrium and mobility imposed by universal joints W s i .

(a) W yaw i and the hyperplane H P (τ i,x = τ i,y = 0) representing the static equilibrium condition of UAV are illustrated in the 3D space ( f i,z , τ i,x , τ i,y ); (b) as the result of the intersection of W yaw i with H P (τ i,x = τ i,y = 0), W eq i is the available UAV wrench set considering static equilibrium, which is a 1D polytope in the 3D space ( f i,z , τ i,x , τ i,y ); (c) W s i , the convex hull of union of multiple available UAV wrench sets in F s i , is shown in the 3D space (

f s i,x , f s i,y , f s i,z
) that is a cone with a dome on the top with ϕ max = 30°.

For computational efficiency, this representation is kept for steps 7 and 8. The available UAV wrench set W b i expressed in F b is obtained as follows (see Appendix about linear mapping of a polytope)

W b i = conv W b s i (S f i ) (24)
Step Therefore, the available body wrench set W b is computed using the Minkowski sum of the four UAV wrench sets:

W b = W b 1 ⊕ W b 2 ⊕ W b 3 ⊕ W b 4 ( 25
)
The resulting polytope is further discussed in the next paragraph.

Analysis of the Manipulability Performance of the Flying Gripper

The FG robot has four different operating modes: free flight, grasping, manipulation and placing. In the free flight and manipulation modes, each quadrotor produces a zero torque to keep its yaw angle fixed and maintain fingers in a fixed configuration. In the grasping and placing modes, each quadrotor produces a yaw torque to close or open fingers. The analysis of the robot's grasping and the manipulation modes is shown in the following.

Qualitative Criterion

From the available body wrench set, it is possible to check if the FG robot achieves the full manipulability, by checking if the wrench compensating the gravity effects

w g = m t g T 0 1×3
T strictly lies inside W b , with m t the mass of the whole system. If so, then the robot can generate a wrench in any direction while compensating gravity and thus achieves the full manipulability in SE(3).

Analyzing W b permits obtaining the minimal and maximal total mass for which the robot achieves the full manipulability. For instance, in the manipulation mode, considering the body structure is horizontal, the FG robot can achieve the full manipulability with a mass m t comprised between 0.2 kg and 9.8 kg. In the same manner, it is possible to compute the maximal attitude angle of the body structure allowing the full manipulability. Considering a total mass m t = 5.5 kg, the maximal roll angle of the body structure w.r.t the horizontal attitude allowing to achieve the full manipulability is 26°.

Quantitative Criteria

Let introduce the available force set W f ⊆ R 3 as the intersection of W b with a zero torque vector, and the available torque set W τ ⊆ R 3 as the intersection of W b with the force vector compensating the gravity. Two criteria are thus introduced which are r f the radius of the largest sphere centered on f describes the maximal force that the robot can exert in any direction when the robot generates no torque, while r τ describes the maximal torque that the robot can exert in any direction when the robot compensates gravity.

Consider a robot with the parameters shown in Table 1 and m t = 5.5 kg, then the results in the grasping and manipulation modes are given in Fig. 7. In the grasping mode, r f = 9.5 N, r τ = 8.1 N m which are smaller than r f = 20 N, r τ = 12 N m in the manipulation mode. It shows that the robot has a better manipulability performance in the manipulation mode than the grasping mode, due to the yaw torques that are applied to actuate fingers in the grasping mode.

Since these results are based on the assumption that JMR-21-1441 LI quadrotors can change their attitude instantly 3 , an allocation algorithm is proposed in section 4 that allows optimizing the wrenches applied by each quadrotor, while taking into account the continuity of the quadrotor wrenches. Moreover, this method can model the available quadrotor wrench set using linear inequalities, which will be used to find an achievable solution for each quadrotor in the controller design in section 4.

Dynamic Control Allocation of the Flying Gripper

There are two main objectives in the controller design of the FG robot: i) enable the robot to move from an initial to a final position following a reference trajectory; ii) ensures the closing/opening of fingers while tracking the trajectory. The controller is designed based on the dynamic model presented in section 2. The inputs of the dynamic model f z ∈ R 4×1 and τ τ τ q q ∈ R 12×1 see Eq. ( 8) and Eq. ( 10) are regrouped in

W q r q = w 1 r 1 T w 2 r 2 T w 3 r 3 T w 4 r 4 T T ∈ R 16×1 with the reduced UAV wrench w i r i = f i,z τ τ τ i i T T ∈ R 4×1 .
The dynamic model in Eqs. ( 7)- [START_REF] Saldana | A decentralized algorithm for as-sembling structures with modular robots[END_REF] shows the decoupling between the body structure's dynamics and the quadrotors' rotational dynamics. Therefore, a strategy is proposed to control the FG robot by a reference trajectory specifying the robot's motion by p ⋆ b ∈ R 6×1 and the closing/opening fingers by the quadrotors' yaw angles

ψ ψ ψ ⋆ = ψ ⋆ 1 ψ ⋆ 2 ψ ⋆ 3 ψ ⋆ 4 ∈ R 4×1 .

High-Level Motion Controller

As the control scheme depicted in Fig. 8, the high-level motion controller controls the robot's pose to track a reference trajectory p ⋆ b . Control methods used in the high-level motion controller have to deal with variations of dynamic parameters caused by holding the object and changing fingers' configurations. Those variations are considered as uncertainties and disturbances in the controller design.

For the high-level motion controller, let first introduce a virtual input v b to compute w b in Eq. ( 7)

w b = M b v b + c b (26)
A standard PID control law can be implemented

v b = p⋆ b + K b,p e p + K b,d ėp + K b,i e p (27)
where e p is the tracking error and K b,p , K b,d , K b,i are matrices corresponding to the proportional, derivative and integral gains. These matrices must be tuned to ensure the convergence of the tracking error e p .

Control Allocation

The control allocation module, in Fig. 8, is built to distribute the body wrench w b ∈ R 6×1 to the quadrotors' thrust forces f 0 q ∈ R 12×1 see Eq.( 9) . Since dim(w b ) < dim( f 0 q ), there exists an infinity of solutions for f 0 q . Therefore, the DCA algorithm is implemented in the control allocation module. This algorithm is based on a 2-step optimization allowing to minimize the energy consumption and ensure the control input continuity. It is solved by using quadratic programming for computational efficiency reasons and, therefore, the available quadrotor wrench set to obtain a set of linearized constraints and guarantee that the solution is achievable.

1. Ensure producing total control effort w b by minimizing

∥W f f 0 q -w b ∥ 2 in the 1st optimization as u Λ = argmin f 0 q (t) ∥W f f 0 q (t) -w b (t)∥ 2 (28)
s.t. A f f 0 q (t) ≤ b f (29)
where A f f 0 q (t) ≤ b f are linear inequalities that describe constraints of the robot. Consequently, solving this optimization gives the solution set

Λ = u(t) | u(t) = u Λ (t) + Zu 0 (t)
, where the columns of Z are bases of kernel of W f ( W f Z = 0) and u 0 (t) is an arbitrary vector. 2. Select f 0 q inside the set Λ for the 2nd optimization to guarantee the control input continuity and to keep the solution close to a desired state (g 1 and g 2 will be introduced later) as

f 0 q (t) = argmin f 0 q (t)∈Λ W -1 2 1 g 1 (t) 2 + W -1 2 2 g 2 (t) 2 (30)
s.t. A f f 0 q (t) ≤ b f (31)
The DCA algorithm deals with constraints in linear inequalities see Eq. [START_REF] Herceg | Multi-Parametric Toolbox 3.0[END_REF] . At the end of step 6 in section 3, the obtained available UAV wrench set W s i in Eq. ( 22) is a polytope that is a cone with a dome on the top (see Fig. 6c).

From its H -representation, the linear inequality constraints for f s i that is the i th quadrotor's thrust force in F s i is obtained as

A f s f s i ≤ b f s (32)
which, then, can be rewritten w.r.t f 0 i as

A f s R s i 0 f 0 i ≤ b f s (33)
where R s i 0 ∈ R 3×3 is the rotation matrix of F 0 w.r.t F s i . Till now, the linear inequalities for f q ∈ R 12×1 that is the vector regrouping all quadrotors' thrust force vectors expressed in F 0 . Then, for each quadrotor i, the quadrotor controller computes the dynamic system input w i r i ∈ R 4×1 from the inputs f 0 i ∈ R 4×1 , the reference yaw angle ψ ⋆ i , and the attitude angle η η η i ∈ R 3×1 . Note that closing/opening the fingers is imposed by

ψ ψ ψ ⋆ = ψ ⋆ 1 ψ ⋆ 2 ψ ⋆ 3 ψ ⋆ 4 ∈ R 4×1 .
Then, physical constraints imposed by the mechanical stops of universal joints and the motor speed limits concerning the decision variable f 0 q in Eq. ( 28) are modeled using linear inequalities: 29), where

A f f 0 q (t) ≤ b f in Eq. (
A f = diag A f s R s 1 0 , A f s R s 2 0 , A f s R s 3 0 , A f s R s 4 0 and b f = b T f s b T f s b T f s b T f s T .
The 2nd optimization aims to penalize the change in f 0 q by minimizing g 1 in Eq. ( 30) that is defined as

g 1 (t) = f 0 q (t) -f 0 q (t -T u ) (34)
where T u is the control sampling period.

JMR-21-1441 LI 11

Also, DCA offers a choice to keep the solution f 0 q close to a desired steady state f 0 q des . This is conducted by minimizing g 2 in Eq. ( 30) that is defined as

g 2 (t) = f 0 q (t) -f 0 q des (35)
where

f 0 q des = f 0 T des,1 f 0 T des,2 f 0 T des,3 f 0 T des,4 T (36)
and f 0 des,i represents the desired state for f 0 i . It permits specifying the desired thrust forces for all quadrotors with f 0 q des . Here, f 0 q des is chosen based on an energetic effective point of view: all quadrotors are horizontal and generate thrust forces just to compensate the gravity of the whole system (robot plus object), which is modeled by equation

f 0 des,i = m t 4 g (37)
such that

W f f 0 q des = m t g (38)
4.3 Quadrotor Controller For each quadrotor i, f 0 i depends on its thrust f i,z and its attitude R 0 i as

f 0 i = R 0 i f i i =   cos φ i sin θ i -sin φ i cos φ i cos θ i   f i,z (39)
It can be found from this relation that f 0 i depends on the thrust f i,z , the roll angle φ i , and the pitch angle θ i , but it is independent of the yaw angle ψ i . Considering this property, a control strategy is proposed for quadrotor i (see Fig. 8):

1. controlling the quadrotor's thrust f i,z , roll and pitch angles φ i , θ i to generate the required thrust force f 0 i that is the output of the control allocation module, 2. controlling the quadrotor's yaw angle ψ i to track ψ ⋆ i . Firstly, based on Eq. (39), the thrust f i,z and the desired roll and pitch angles φ ⋆ i , θ ⋆ i with a given thrust force f 0 i are computed

f i,z =∥ f 0 i ∥ (40) φ ⋆ i = -sin -1 f 0 i,x (41)
θ ⋆ i = atan2 f 0 i,x , f 0 i,z (42)
Secondly, with φ ⋆ i , θ ⋆ i , computed by Eq.(41) and Eq.( 42) and ψ ⋆ i from the reference trajectory, the quadrotor con-troller calculates the torque τ τ τ i i element of τ τ τ q q in Eq. ( 8) for forcing the quadrotor's attitude η η η i to track the reference

η η η ⋆ i = φ ⋆ i θ ⋆ i ψ ⋆ i T .
There are several available algorithms for the quadrotor controller. One approach is to use the algorithms of the flight control software PX44 [START_REF] Meier | Px4: A nodebased multithreaded open source robotics framework for deeply embedded platforms[END_REF] to realize the quadrotor controller of the robot. Indeed, the PX4 offers a "thrust and attitude" mode, which takes the thrust force f i,z and the attitude η η η ⋆ i as the inputs and then controls the motors' speed to finally produce the needed wrench w i r i .

5 Experimentation with the Flying Gripper 5.1 Setup A prototype of the FG robot was built at LS2N (see Fig. 9) as a proof of concept aiming to validate that the FG robot can achieve the full manipulability and that fingers can be closed or open using the yaw motions of quadrotors while keeping the pose of the body structure fixed.

The body structure, the gear boxes and the self-adaptive fingers have been constructed using 3D printing. Each quadrotor has a mass of 1.05 kg and a maximum thrust of 25 N. It is composed of a Lynxmotion Crazy2fly frame, a Raspberry Pi 3B+ as an onboard computer and a Pixhawk flight control unit running the PX4 software. The pose information of quadrotors and the body structure is provided by a Qualisys motion capture system with 1 mm precision.

Preliminary tests have been led on this prototype and are presented below as well as the obtained results. For the first test of the controller, a taking off and hovering reference trajectory is designed to test its robustness under disturbances (see Fig. 10a).

In this experiment, external disturbance forces are manually applied on the robot in the horizontal direction at t = 8 s, t = 13 s, in the vertical direction at t = 18 s (see Fig. Fig. 10c). Since this task does not involve grasping, so the reference yaw angles of quadrotors are kept fixed to be zeros

ψ ψ ψ ⋆ = ψ ⋆ 1 ψ ⋆ 2 ψ ⋆ 3 ψ ⋆ 4
T = 0 0 0 0 T (see Fig. 10c). A video of this test is available online with the link 5 .

Case Study 2:

the Flying Gripper Robot Approaching, Grasping and Releasing a Large Size Object For the second test, the robot is located differently from an object (see Fig. 10d). To perform grasping, the robot takes off and moves to the above of the object in 0 s -20 s (see Fig. 10e, Fig. 10f). In 20 s -27 s, the robot stabilizes its position and attitude, while closing fingers to grasp the object in the air. Then, the robot opens the fingers to release the object in 27 s -30 s. Note that ψ ψ ψ ⋆ specifies the closing and opening motion of fingers (see Fig. 10f). A video of this test is available online with the link 6 .

Discussion on Results

In the first test, after being applied the external disturbances, the robot moves away from the desired pose, while the controller enables the robot to recover its desired pose (see Fig. 10b). It is worthy to mention that, if the robot is forced to move horizontally, the quadrotors will need to change their attitudes to compensate influences caused by 5 https://youtu.be/ACi1druEm8k 6 https://youtu.be/SYqHC2_Ng9k such disturbances. Compared to the vertical disturbances that do not need to change the quadrotors' attitudes, the recovering from the horizontal disturbances is more time consuming. It is also necessary to note that a static error exists in the position tracking, which requires tuning the controller in the future.

In the second test, the robot is controlled to perform a more complex task that involves taking off, approaching, grasping and releasing the object. The robot takes off from its initial position. Following the defined trajectory, the robot approaches the object, and stabilizes its position and attitude above the object (see Fig. 10e) while producing the quadrotors' yaw rotations to close and open the fingers (see Fig. 10f). Note that, for each quadrotor, the PX4 algorithm is used to control its thrust and attitude in order to fulfill the control signal from control allocation as well as to track a reference yaw angle trajectory for closing/opening the finger. Therefore, the tracking performances depend on the quadrotor's autonomy and other factors, such as batteries.

ities to model the yaw torque applied to actuate the finger and the equilibrium conditions, and consider the mechanical stops of the universal joints introduced between the quadrotor and the body structure. Results show that the FG robot achieves the full manipulability in SE(3). The manipulability performances of the FG in different working modes have been analyzed by studying the maximal force and torque that the robot can produce at static equilibrium. This method permits to build a linearized set of inequalities derived from the available UAV wrench set, in order to enable the DCA algorithm to find a solution that satisfies mechanical constraints of the mechanism, while reducing energy consumption and managing the control input continuity.

A prototype of the FG robot has been constructed. The designed controller is tested on this prototype in real-time experiments. This proof of concept allowed leading preliminary tests which demonstrate that the FG robot achieves the full manipulability and can resist external perturbations. These tests also demonstrate the capability of the FG robot to close or open fingers using the yaw motion of quadrotors while maintaining the body structure stable. The experimental results validate the effectiveness of the controller and its robustness against external disturbances and noise. Future works will investigate the realization of a more complete task involving grasping, manipulation and transporting of an object. Representation of the available UAV reduced wrench set W r i (a 4D polytope). For visualization purpose, its intersection with the hyperplane H P (τ i,y = 0) is shown in the 3D space f i,z , τ i,x , τ i,z . . . . . . . . . . . . and the hyperplane H P (τ i,x = τ i,y = 0) representing the static equilibrium condition of UAV are illustrated in the 3D space ( f i,z , τ i,x , τ i,y ); (b) as the result of the intersection of W yaw i with H P (τ i,x = τ i,y = 0), W eq i is the available UAV wrench set considering static equilibrium, which is a 1D polytope in the 3D space ( f i,z , τ i,x , τ i,y ); (c) W s i , the convex hull of union of multiple available UAV wrench sets in F s i , is shown in the 3D space ( f s i,x , f s i,y , f s i,z ) that is a cone with a dome on the top with ϕ max = 30°. 9 7

List of

In grasping and manipulation modes, W f and W τ of the Flying Gripper with a mass m t = 5.

0 i

 0 frame F 0 w.r.t frame F b . R Rotation matrix of frame F i w.r.t frame F 0 . Rotation matrix of frame F i w.r.t frame F b . Rotation matrix of frame F s i w.r.t frame F b . R r Matrix maping f z to f Position vector of frame F i w.r.t frame F b .

  Wrench vector generated by the i th UAV expressed in F i .w i r iReduced wrench vector generated by the i th UAV expressed in F i . w s i Wrench vector generated by the i th UAV expressed in F s i . Wrench vector applied to the body structure by the i th UAV expressed in F b . w b ext External wrench vector acting on the body structure applied by the environment in F b . w b Wrench vector exerted on the body structure by UAVs composed of a force expressed in F 0 and a torque expressed in F b that w b = f

Fig. 1 :

 1 Fig. 1: Computer Aided Design (CAD) model and main parameters of the Flying Gripper (FG) that is composed of a body structure, four self-adaptive fingers and four quadrotors: the frame F s i is attached to the universal joint whose origin coincides with the CoM of quadrotor i and z s i axis coincides with the worm screw axis (the attitude of F s i w.r.t F b is represented by the constant matrix R b s i ).

  (a) CAD model of a self-adaptive finger (b) kinematic scheme of a self-adaptive finger (c) details of the transmission of the yaw motion to close or open the finger

Fig. 2 :

 2 Fig.2:(a) CAD model of a self-adaptive finger actuated by a quadrotor, (b) kinematic scheme of this finger, the quadrotor's yaw motion is transmitted through a worm-gear mechanism to an actuation bar which closes or opens the two phalanxes, a universal joint is introduced between the quadrotor and the worm screw, (c) details of the transmission between the quadrotor and the worm screw, a universal joint allows the pitch and roll motions of the quadrotor, the shaft alignment angle between the quadrotor's yaw axis and the screw axis is represented by ϕ i with the maximal value being ϕ max .

  dinates and the vector p b = x 0 T b η η η T b T ∈ R 6×1 describes the pose of the body structure. The position vector x 0 b = x b y b z b T ∈ R 3×1 is expressed in the world frame F 0 and η η η b = φ b θ b ψ b T ∈ R 3×1 is the vector of Euler angles of the JMR-21-1441 LI 4

b0

  ∈ R 3×3 is the rotation matrix of F 0 w.r.t F b . The term w b ext ∈ R 6×1 represents the external wrench applied on the body structure in F b , and

Step 3 :JMR

 3 Lifting W r i in the UAV Local Wrench Space This step aims to reformulate the H -representation of the available UAV reduced wrench set W r i ⊆ R 4 in the 6D

1 e 2 e 6 e 4 e 5 T 1 iFig. 5 :

 515 Fig. 5: Representation of the available UAV wrench set considering equality yaw torque constraint W yaw i . For visualization purpose, (a) the hyperplane H P (τ i,z = τ f ) (τ f = 0.01 N m), and the intersection of W i with H P (τ i,y = 0) are shown in the 3D space f i,z , τ i,x , τ i,z ; (b) the intersection of W yaw i with H P (τ i,y = 0) is shown in the 3D space f i,z , τ i,x , τ i,z ; (c) W yaw i

8 :

 8 Minkowski Sum of W b i Computing the linear sum of w

  = (0, 0, m t g) inscribed in W f , and r τ the radius of the largest sphere centered on the origin τ b b,x , τ b b,y , τ b b,z = (0, 0, 0) inscribed in W τ . Indeed, r f

Fig. 7 :

 7 Fig. 7: In grasping and manipulation modes, W f and W τ of the Flying Gripper with a mass m t = 5.5 kg. The available force set W f is calculated as the intersection of W b with H P ( τ b b,x = 0, τ b b,y = 0, τ b b,z = 0) , and the available torque set W τ is computed as the intersection of W b with H P ( f b b,x = 0, f b b,y = 0, f b b,z = m t g). Then, r f is the radius of the largest sphere centered on f b b,x , f b b,y , f b b,z = (0, 0, m t g) inscribed in W f that represents the maximal force that the robot can exert in any direction when the robot generates no torque, while r τ is the radius of the largest sphere centered on the origin τ b b,x , τ b b,y , τ b b,z = (0, 0, 0) inscribed in W τ that represents the maximal torque that the robot can exert in any direction when the robot compensates gravity.

Fig. 8 :

 8 Fig. 8: Control scheme of the Flying Gripper consisting of a high-level motion controller module, a control allocation module and a quadrotor controller module. The high-level motion controller module computes the body wrench w b ∈ R 6×1 to track a reference trajectory p ⋆ b ∈ R 6×1 . The control allocation module distributes w b to f 0

Fig. 9 :

 9 Fig. 9: Prototype of the Flying Gripper robot at LS2N

  10b

  ,

3 , ψ 4 ψ 3 ψ 4 ( 3 Fig. 10 :

 34310 Fig. 10: Experimentation with the Flying Gripper: the Flying Gripper under external disturbances in (a), its translation and attitude tracking in (b) and quadrotors' yaw angles tracking in (c); the Flying Gripper approaching, grasping and releasing an object in (d), its translation and attitude tracking in (e) and quadrotors' yaw angles tracking in (f).

F 3

 3 s i w.r.t F b is represented by the constant matrix R b s i ). . . . . . . . . . . . . . . . . . . . . 4 2(a) CAD model of a self-adaptive finger actuated by a quadrotor, (b) kinematic scheme of this finger, the quadrotor's yaw motion is transmitted through a worm-gear mechanism to an actuation bar which closes or opens the two phalanxes, a universal joint is introduced between the quadrotor and the worm screw, (c) details of the transmission between the quadrotor and the worm screw, a universal joint allows the pitch and roll motions of the quadrotor, the shaft alignment angle between the quadrotor's yaw axis and the screw axis is represented by ϕ i with the maximal value being ϕ max . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Representation of the available UAV actuation set A i (a 4-cube). For visualization purpose, its intersection with the hyperplane H P (ω 2 i,4 = ω min ) is shown in the 3D space ω 2 i,1 , ω 2 i,2 , ω 2 i,3 . . . . . . . . . . . . . . . 7 4

7 5 6

 76 Representation of the available UAV wrench set considering equality yaw torque constraint W yaw i . For visualization purpose, (a) the hyperplane H P (τ i,z = τ f ) (τ f = 0.01 N m), and the intersection of W i with H P (τ i,y = 0) are shown in the 3D space f i,z , τ i,x , τ i,z ; (b) the intersection of W yaw i with H P (τ i,y = 0) is shown in the 3D space f i,z , τ i,x , τ i,z ; (c) W yaw i that is a polytope with a dimension of 3 is shown in the 3D space f i,z , τ i,x , τ i,y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Representation of the available UAV wrench set considering static equilibrium and mobility imposed by universal joints W s i . (a) W yaw i

⋆ 2 ψ ⋆ 3 ψ ⋆ 4 ∈

 4 5 kg. The available force set W f is calculated as the intersection of W b with H P ( τ b b,x = 0, τ b b,y = 0, τ b b,z = 0) , and the available torque set W τ is computed as the intersection of W b with H P ( f b b,x = 0, f b b,y = 0, f b b,z = m t g). Then, r f is the radius of the largest sphere centered on f b b,x , f b b,y , f b b,z = (0, 0, m t g) inscribed in W f that represents the maximal force that the robot can exert in any direction when the robot generates no torque, while r τ is the radius of the largest sphere centered on the origin τ b b,x , τ b b,y , τ b b,z = (0, 0, 0) inscribed in W τ that represents the maximal torque that the robot can exert in any direction when the robot compensates gravity. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 8 Control scheme of the Flying Gripper consisting of a high-level motion controller module, a control allocation module and a quadrotor controller module. The high-level motion controller module computes the body wrench w b ∈ R 6×1 to track a reference trajectory p ⋆ b ∈ R 6×1 . The control allocation module distributes w b to f 0 q ∈ R 12×1 that is the vector regrouping all quadrotors' thrust force vectors expressed in F 0 . Then, for each quadrotor i, the quadrotor controller computes the dynamic system input w i r i ∈ R 4×1 from the inputs f 0 i ∈ R 4×1 , the reference yaw angle ψ ⋆ i , and the attitude angle η η η i ∈ R 3×1 . Note that closing/opening the fingers is imposed by ψ ψ ψ ⋆ = ψ ⋆ 1 ψ R 4×1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 9 Prototype of the Flying Gripper robot at LS2N . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 10 Experimentation with the Flying Gripper: the Flying Gripper under external disturbances in (a), its translation and attitude tracking in (b) and quadrotors' yaw angles tracking in (c); the Flying Gripper approaching, grasping and releasing an object in (d), its translation and attitude tracking in (e) and quadrotors' yaw angles tracking in (f). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Table 1 :

 1 Main parameters used in the wrench capability analysis.

	Symbol	Physical meaning	Value
	C F	thrust coefficient	3.65 × 10 -6 N s 2 rad -2
	C M	drag coefficient	5.40 × 10 -9 N m s 2 rad -2
	ω min	minimal motor speed	300 rad s -1
	ω max	maximal motor speed	1400 rad s -1
	τ f	friction torque to drive a finger	0.01 N m
	ϕ max	maximal shaft alignment angle of universal joints	30°L
		, H	dimension of the robot	0.72 m, 0.62 m
			attitude of the universal
	b	R s i	joint linked to quadrotor i w.r.t the body structure

  8 inequality constraints, and C i i = e 1 e 2 T ∈ R 2×6 stands for 2 equality constraints. Because of these two equalities, W i is a polytope with a dimension of 4 in R 6 recalling that the dimension of W r i is not modified by the lifting operation. Step 4: Introducing the Yaw Torque Equality Constraint

  Tables 1 Main parameters used in the wrench capability analysis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 List of Figures 1 Computer Aided Design (CAD) model and main parameters of the Flying Gripper (FG) that is composed of a body structure, four self-adaptive fingers and four quadrotors: the frame F s i is attached to the universal joint whose origin coincides with the CoM of quadrotor i and z s i axis coincides with the worm screw axis (the attitude of

As mentioned in section

2, worm gears have been chosen with the opposite hand so that, when the four fingers are closing or opening together, the resulting net torque applied on the body structure is canceled, moreover, the effect of the quadrotor's yaw torque on the net torque applied on the body structure is negligible w.r.t the effect of the thrust force f i,z .JMR-21-1441 LI

Because the rotational dynamics of a quadrotor is significantly faster than the dynamics of the body structure, quadrotors are assumed to rotate instantly.

An open source flight control software that can run on the Pixhawk flight controller. JMR-21-1441 LI

This paper introduced a collaborative multi-drone grasping robot FG. Based on its static model, a wrench capability analysis method has been developed to analyze the manipulability of the multi-drone robot. For each quadrotor, it uses linear inequalities to model the actuators' capabilities, equal-JMR-21-1441 LI

Appendix: Notations Linear Mapping of Polytopes

The aforementioned wrench capability analysis method is based on the concept of polytopes. A polytope is a bounded convex set. It can be represented mathematically in two different manners: using the H -representation (as the intersection of a set of halfspaces H S and hyperplanes H P ) or using the V -representation (as the convex hull of a set of vertices) [START_REF] Grünbaum | Convex polytopes[END_REF]. A polytope can be represented in Hrepresentation and V -representation respectively as follows:

1. H -representation

Rows of matrix A (respectively C) contain each normal vector associated to a corresponding halfspace (respectively hyperplane).

V -representation

where S = {x 1 , ..., x k } is the set of k vertices of P and P is the convex hull noted conv(S )

Given a certain convex polytope in the H -representation, computing its V -representation is called the vertex enumeration problem. The reverse problem is referred to as the facet enumeration problem [START_REF] Fukuda | Polyhedral computation[END_REF]. After introducing polytopes, the concern is to define the linear transformation of a polytope.

Let introduce the H -representation and V -representation of a polytope P as defined in Eq. (43) and Eq. (44).

Let introduce a linear mapping

if L is a square and invertible matrix with m = n. Substituting x = L -1 x ′ into Eq.( 43) gives the H -representation of P ′ from that of P P

It is also possible to calculate the V -representation of P ′ by using the following relation:

where S ′ = {x ′