Aerial manipulation is an emerging domain where multirotor Unmanned Aerial Vehicles (UAVs) are equipped with onboard end-effectors for grasping, transporting and manipulating objects. To enhance the payload capacity and achieve full manipulability in 3-dimensional space, a flying parallel robot (FPR) was previously proposed in which a number of UAVs are used to collectively support a passive parallel architecture. While the previous works have focused on design, modelling and motion control of the robot, it is significant to further investigate the FPR interacting with the environment.

In this thesis, the estimation and control methods dealing with the interaction with the environment are presented, which are applied to a specific FPR composed of a moving platform and a number of rigid legs attached with quadrotors actuating the system. Several momentum-based observers are implemented to estimate the external wrench exerted on the robot. An impedance-based controller is designed with the desired wrenchtracking capability. Experiments show that the overall estimation and control methods can deal with modelling uncertainties, and external disturbances such as additional payload and wind perturbations, as well as accomplish contact-based interaction tasks.

RÉSUMÉ

La manipulation aérienne est un nouveau domaine où les drones multirotors sont équipés d'effecteurs pour la saisie, le transport et la manipulation des objets. Afin d' améliorer la capacité de charge et la manipulabilité dans l'espace 3D, un robot parallèle volant (FPR) a été proposé, dans lequel un certain nombre de drones sont utilisés pour soutenir coopérativement une architecture parallèle et passive. Alors que les travaux précédents se sont concentrés sur la conception, la modélisation et le contrôle de mouvement du robot, il est important d'étudier davantage le FPR en interaction avec l'environnement.

Dans cette thèse, les méthodes d'estimation et de contrôle considérant l'interaction avec l'environnement sont présentées et appliquées à un FPR spécifique composé d'une plateforme mobile et des jambes rigides attachées à des quadrirotors qui actionnent le système. Plusieurs observateurs basés sur la quantité de mouvement sont mis en oeuvre pour estimer les torseurs externes exercés sur le robot. Un contrôle d'impédance est conçu avec la capacité de suivi de torseurs d'interaction désirés. Les expériences montrent que les méthodes de contrôle et d'estimation peuvent traiter les incertitudes de modélisation, les perturbations externes telles que la charge supplémentaire et les perturbations du vent, ainsi que les tâches d'interaction au contact avec un objet dans l'environnement.

La deuxième contribution de cette thèse est la proposition de stratégies décentralisées basées sur des mesures embarquées et intrinsèques des drones. Une technique d'estimation utilisant la vision et le système de marqueurs ArUco est tout d'abord présentée. Elle s'avère capable de reconstruire partiellement la pose du robot en l'absence de système de localisation externe. Les algorithmes de contrôle de mouvement ou d'interaction peuvent ensuite être déployés de manière décentralisée, permettant à chaque drone d'effectuer sa propre loi de commande sur la base de ses propres mesures et des informations partagées au sein de tous les drones. Les expériences montrent l'efficacité des méthodes proposées pour la régulation de la configuration du robot, la réalisation des tâches de positionnement précis par téléopération et des interactions basées sur le contact.

En outre, une analyse détaillée sur les torseurs admissibles du FPR est présentée. Les notions d'espace de force de poussée et d'espace de torseurs admissibles sont introduites, avec des calculs détaillés et des études de cas réalisées. Une métrique quantitative appelée marge de faisabilité est ensuite présentée, et appliquée pour déterminer les configurations optimales des jambes du FPR dans différentes orientations de la plateforme, maximisant la faisabilité de torseurs du robot en fonction des exigences spécifiques de la tâche.

The second main contribution of this thesis is the proposal of decentralized strategies based on onboard and intrinsic measurements of the UAVs. A vision-based estimation technique using the ArUco marker system is firstly presented, shown to be capable of reconstructing partially the robot pose sufficient for the control in absence of any external localisation system. The previously proposed motion or interaction control algorithms can then be deployed in a decentralized manner, allowing each UAV to perform its own control based on its own measurements and information shared within all the UAVs. Experiments show the effectiveness of the proposed methods in regulating the robot configuration, achieving precise positioning tasks through teleoperation and performing contact-based interactions with an object in the environment.

In addition, a detailed analysis of the wrench feasibility of the FPR is presented. Notions of Available Thrust Set and Available Wrench Set are introduced, with detailed computation and case studies conducted. A quantitative metric named feasibility margin is furthermore adopted, which is applied to determine the optimal leg configurations of the FPR in different platform orientations maximising the wrench feasibility of the robot accordingly to specific task requirements. i 1.7 General schema of the flying parallel robot design with n UAVs [Six, 2018a].

TABLE OF CONTENTS LIST OF FIGURES

1.8 Virtual separation of UAVs with the passive architecture [Six, 2018a]. . . .

1.9 Equivalent 3P3R architecture to the mobility of the moving platform [Six, 2018a] [Six, 2018a] . . . . . 1.11 Overall control diagram of the flying parallel robot [Six, 2018a]. . . . . . . 3.11 Error distribution on the platform's x position and pitch angle during the hovering flight in presence of external wind perturbations with different impedance gains. Note that the error distributions are calculated using the norm errors on the tracking of desired trajectories. . . . . . . . . . . . . .

3.

12 FPR performing contact-based interaction tasks in Experiment IV. . . . . 3.17 Evolution of the desired and estimated contact force and the platform's position during the pushing task with external wind perturbations. . . . . 4.13 Evolution of positioning errors of the platform with respect to the target in 6 performed tasks. Note that the black dashed line is the criterion for a successful task, corresponding to the distance from the target's centre to the attached load (≈ 15 cm). The blue and purple curves (Success 1 ⃝ and 3 ⃝) are two successful cases where the load was released before the end of the given time (the reason why their positioning errors increase at the end). 129 4.14 Evolution of the z-axis external force estimates of the platform during the successful experiment (Success 1 ⃝). Note that only the force estimated by UAV 1 is plotted, but the estimates on the other UAVs are identical to this curve. . ) and the leg angles being respectively 15°(red regions), 45°(green regions) and 75°(blue regions). The red star corresponds to the static equilibrium point at f p,g (left) and m p,g (right). . . . . . . . . . . . . . . . 5.8 Available Wrench Sets evaluated at static equilibrium of A fp w = b fp (left) and A mp w = b mp (right) for the inclined platform orientation (roll = 10°, pitch = 25°) and the leg angles being respectively 15°(red regions), 45°( green regions) and 75°(blue regions). Note that the static equilibrium point for available force sets is given by the star point in red (left), while for available moment sets, they are respectively represented by the star points in red, green and blue (right) for each case of leg angles. . . . . . . . 5.9 Side views of the Available Wrench Sets of the platform evaluated at static equilibrium respectively for the flat and inclined platform orientations. . . 5.10 Evolution of feasibility margins of the platform regarding different leg angles in flat platform orientation. The leg angles corresponding to optimal wrench feasibility are found at 32°for the force feasibility (8.66 N) and 48°f or the moment feasibility (6.92 N.m). . . . . . . . . . . . . . . . . . . . . . 5.11 Evolution of feasibility margins of the platform regarding different leg angles in flat platform orientation. The leg angles corresponding to optimal wrench feasibility are found at 32°for the force feasibility (8.23 N) and 41°f or the moment feasibility (6.13 N.m). . . . . . . . . . . . . . . . . . . . . . 5.12 Optimal Available Wrench Sets of the platform F s p and M s p in flat (blue regions) and inclined (red regions) orientations with the optimal leg angles chosen from Fig. 5.11 to maximise the feasibility margin. The star points correspond to the static equilibrium at each configuration. . . . . . . . . . 5.13 Optimal leg angles for maximising the force feasibility margin. . . . . . . . The corresponding damping ratio of the desired impedance system is calculated by (3.42). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3.2

Root-mean-square error (RMSE) of the trajectory tracking during a hovering flight in free space. Note that RMSE for p p refers to the platform positioning error, ϕ p and ϑ p represent the roll and pitch Euler angles of the platform, and RMSE for θ l is the mean value of RMSE of three leg angles.

3.3 Root-mean-square error (RMSE) of the trajectory tracking and the z-axis external force estimation during a hovering flight with 200 g payload using different observers. Note that RMSE for p p,xy refers to the platform positioning error on its x and y axes, and RMSE for fpz,e is computed relative to the ground truth. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3.4

Root-mean-square error (RMSE) of the trajectory tracking and the z-axis external force estimation during a hovering flight with additional payload of 300 g. Refer to Table 3.2 and Table 3.3 for the meaning of each state. . .

3.5

Impedance gains chosen in Experiment III. Note that the subscripts p and o represent respectively the platform's position and orientation states. . . .

3.6

Root-mean-square errors (RMSE) of the trajectory tracking during the hovering flight in presence of external wind perturbations corresponding to different impedance gains. Refer to Table 3.2 for the meaning of each state.

3.7 RMSE of the tracking of desired trajectories and contact force in Experiment IV. Note that RMSE for f d c refers to the tracking error of the desired contact force, and the rest of the states are defined in Table 3.2 , o p,. stand for position and orientation axes of the platform decoupled between x or y and z axes. θ represents the leg angles on which the gains are the same. (*) indicates that the corresponding term is not available in the decentralized controller.

4.2 Results on the root-mean-square error (RMSE) for the experiment of configuring the platform orientation and leg angles. Note that mean θ l refers to the mean RMSE of three leg angles. . . . . . . . . . . . . . . . . . . . .

4.3

Results on the root-mean-square error (RMSE) of the robot configuration during the precise positioning of the platform, comparing the configuration tracking error as in Table 4.2. The last row is the number of successful positioning tasks accomplished in the experiment. . . . . . . . . . . . . . .

4.4

Estimation noise of the ArUco detection algorithm [START_REF] Romero-Ramirez | Tracking fiducial markers with discriminative correlation filters[END_REF] represented by standard deviation (STD) in comparison to the MOCAP noise. The data was recorded with a static marker whose pose was being estimated using both ArUco and MOCAP (with additional settings for the detection tags) systems over 80 s. The absolute differences between ArUco and MOCAP results are seen as the estimation error. . . . . . . . . . . . . The set of n-dimensional vectors in real numbers

R m×n

The set of (m × n) matrices in real numbers

H

The quaternion set

1 n×n
An identity matrix of dimension (n × n)

0 n
A n-dimensional column vector of zeros

0 n×n A (n × n) matrix of zeros

Symbols for Modelling of the Flying Parallel Robot (FPR)

F 0 An inertial reference frame, also referred to as a global frame or a world frame F j A local frame attached to an arbitrary body j

F F j
The flat frame attached to an arbitrary body j n Total number of legs or multirotors i An index for the number of legs or multirotors, i ∈ {1, 2, ..., n}

x i , x p An variable associated to leg/multirotor i and the platform expressed in F 0 j x i , j x p An variable associated to leg/multirotor i and the platform expressed in an arbitrary frame F j j r AB A vector defining the translation of -→ AB expressed in an arbitrary frame F j p j 3-dimensional position vector of a body j relative to F 0 q j Unit quaternion of a body j relative to F 0 R j Rotation matrix of an arbitrary body j relative to F 0 k R j Rotation matrix of a body j relative to an arbitrary frame F k v j Linear velocity of a body j relative to F 0 ω j Angular velocity of a body j relative to F 0 xiv LIST OF SYMBOLS j ω j/k Angular velocity of a body j relative to F k and expressed in F j j v j , j ω j Linear and angular velocities of a body j in its body-fixed frame vj , a j Linear acceleration of a body i relative to F 0 j vj Linear acceleration of a body i relative to F j ωj , j ωj Angular acceleration of a body j expressed in F 0 and F j q Generalised coordinates (robot pose) of the FPR ν Generalised velocity vector of the FPR ν Generalised acceleration vector of the FPR τ Actuation wrench of the FPR f i 3-dimensional thrust force of multirotor i f A high-dimensional vector concatenating the thrust forces of all the multirotors f j , m j 3-dimensional force and moment exerted on a body j g Gravity vector

J

Jacobian matrix

M(q)

Generalised inertia matrix C(q, ν) Generalised Coriolis matrix c(q, ν) Generalised vector of Coriolis, centrifugal and gravitational terms g(q)

Generalised vector of gravity wrench

Spatial Vector Notation

INTRODUCTION

Research Context

In the past two decades, advances in equipment, electronics, sensors and batteries have supported the development of micro Unmanned Aerial Vehicle (UAV) platforms. The emergence of small and inexpensive rotor-based platforms has dramatically increased research topics and civilian applications of UAVs from the public to professionals, such as aerial photography, building and infrastructure inspection, agricultural monitoring, security and surveillance. These application scenarios are evolving with an increase in research into micro UAVs, particularly for:

• Sensor-based estimation or control of a single UAV [START_REF] Fraundorfer | Vision-based autonomous mapping and exploration using a quadrotor MAV[END_REF][START_REF] Zhou | Real-time object detection and pose estimation using stereo vision. An application for a Quadrotor MAV[END_REF][START_REF] Bourquardez | Image-Based Visual Servo Control of the Translation Kinematics of a Quadrotor Aerial Vehicle[END_REF][START_REF] Serra | Landing of a Quadrotor on a Moving Target Using Dynamic Image-Based Visual Servo Control[END_REF];

• Formation flight of a fleet of UAVs [START_REF] Turpin | Decentralized Formation Control with Variable Shapes for Aerial Robots[END_REF][START_REF] Schiano | A rigidity-based decentralized bearing formation controller for groups of quadrotor UAVs[END_REF][START_REF] Hou | Interactive Leader-Follower Consensus of Multiple Quadrotors Based on Composite Nonlinear Feedback Control[END_REF][START_REF] Guerrero-Castellanos | Leader-Following Consensus and Formation Control of VTOL-UAVs with Event-Triggered Communications[END_REF]];

• Aerial manipulations achieved either by a single UAV equipped with an onboard actuator (see Section 1.1.1) or by the cooperation of multiple UAVs for the transport and handling of loads using cables or rigidly-connected links (see Section 1.1.2).

The application for which the aerial vehicles need to physically interact with the environment presents various challenges such as flight stability, autonomy, accuracy and payload capacity, etc. A variety of novel architectures and prototypes involving UAVs have been developed and tested with their industrial applications being in the development phase [Ollero, 2018]. However, existing aerial vehicle platforms generally face the following difficulties:

• A low autonomy due to the limited payload capacity and energy consumption of onboard actuators;

• Unfavourable flight stability and accuracy during interactions with the environment;

• A disruption in manipulation due to the blast of UAVs;

• Limited manipulation and payload capacity.

To overcome some of these limitations, a concept of an aerial robot actuated by multiple UAVs named Flying Parallel Robot (FPR) has been proposed in [Six, 2018a]. It is a polyarticulated passive architecture composed of a moving platform on which an arbitrary number of passive legs and UAVs are attached (see Section 1.2 for more details). This concept has combined the advantages of parallel mechanism and aerial vehicles, offering potentially manipulation capabilities such as enhanced payload capacity and full manipulability in 3-dimensional space that do not exist compared to other aerial manipulators with single or multiple UAVs.

While the previous works in [Six, 2018a] have been carried out to tackle several scientific challenges, such as the generic dynamic modelling and control of the FPR with n UAVs, there are still scientific and technological obstacles remain to be overcome, which are also the main objectives of this thesis, namely:

• Objective 1: robot control considering the interaction with the environment (action on an object/wall for example);

• Objective 2: decentralized control and estimation strategies that can be deployed onboard each UAV to improve control of the entire system;

• Objective 3: sensor-based observers/controllers to avoid as much as possible using Motion Capture (MOCAP) systems for exteroceptive measurements.

Contributions

In this thesis, the control and estimation techniques applied to a multi-UAV parallel robot named Flying Parallel Robot (FPR) taking into account the interaction with the environment are investigated, which extend potentially the capability of the FPR to achieve aerial manipulation tasks in the real-world scenario. The specific FPR studied within the thesis is composed of a moving platform, on which a number of legs are attached with one Degree-of-Freedom (DoF) revolute joints, and multirotors attached on the other end of the legs by means of spherical joints.

With the initial design, generic modelling and control of the FPR previously proposed, the main contributions of this thesis mainly consist of ❖ An in-depth study on the modelling of the specific FPR (Chapter 2), including the geometric relations, kinematics and dynamics modelling of the robot. This involves analytical expressions of geometric and kinematic models with several numerical algorithms for deriving the dynamic models. The numerical validation of all the models has been done to verify the modelling process served as a basis for the control and estimation techniques studied in the rest of the thesis.

❖ Several momentum-based observers applied to the FPR (Section 3.2), namely firstorder wrench observer (FOWO), second-order wrench observer (SOWO) and sliding-mode wrench/momentum observer (SMWO), for estimating the external wrench exerted on the robot. The momentum-based approaches have been constructed according to the dynamic properties (and models) of the robot, and experimentally validated (Section 3.5).

❖ An impedance-based control applied to the FPR dealing with the interaction with the environment (Section 3.3), which is completed with the external wrench estimation performed by the momentum-based observer. The proposed controller is capable of tracking desired trajectories of the robot pose and the desired wrench expected to exert on the environment. The overall control and estimation techniques (Section 3.4) are experimentally validated with modelling uncertainties, external perturbations and contact-based interactions with the environment (Section 3.5).

❖ A vision-based pose estimation method that can be deployed onboard each UAV to reconstruct partially the robot pose without depending on any external localisation system (Section 4.2). The real-time pose estimation is based on ArUco marker detection system, along with the measurements from the Inertial Measurement Unit (IMU) and the Extended Kalman Filter (EKF) technique to reconstruct the robot pose and velocity.

❖ Several decentralized control algorithms proposed for motion control and interaction control schemes (Section 4.3). These controllers have been implemented with emulated or real-time pose estimation results, and validated in a variety of experimenting scenarios such as precise positioning of the platform, pick-up of payload with teleoperation and contact-based interactions with the environment (Section 4.4).

❖ A detailed analysis on wrench feasibility of the FPR (Chapter 5), which computes the feasible wrench the robot can exert or resist taking into account the actuation limits of UAVs (constrained by the maximum thrust magnitude and rotational movements of UAVs). Then the analysis of the quantitative metrics has been applied to determine the optimal leg configurations to maximise the wrench feasibility in certain platform orientations.

In summary, the main contents of this manuscript will be organised as follows: Theoretical background and basis regarding the modelling of the FPR will be presented respectively in Chapter 1 and Chapter 2. The scientific problems related to Objective 1 for the interaction with the environment will be addressed in Chapter 3. Then, decentralized control and estimation strategies of Objective 2 will be discussed in Chapter 4, in which the real-world challenges in Objective 3 for sensor-based estimation have also been partially tackled. Finally, Chapter 5 complements the wrench analysis of the FPR interacting with the environment.

Chapter 1

STATE OF THE ART

This chapter presents the state of the art regarding the thesis subject on the Flying Parallel Robot (FPR) as an aerial manipulator with multiple Unmanned Aerial Vehicles (UAVs). In the first section, the domain of aerial manipulation is introduced, with a literature review on the existing architectures and designs for all kinds of aerial manipulators, which consist mainly of single-UAV designs and cooperative or rigidly connected systems with multiple UAVs. The second section presents the FPR design, which has been proposed in order to combine the advantages and capacities of a parallel mechanism and aerial vehicles. A general modelling and motion control of FPR are also detailed.

Aerial Manipulation

In recent years, the development of micro Unmanned Aerial Vehicles (UAVs) based on powerful and inexpensive multirotor-based platforms has dramatically increased the research topics on UAVs. The applications of modern UAVs are not only for aerial photography but extended to totally novel domains, among which a topic that has been rapidly developed is aerial manipulation. It is a domain where the UAVs are equipped with robotic arms or/and end-effectors for accomplishing aerial grasping, transportation and manipulation tasks [START_REF] Ruggiero | Aerial manipulation: A literature review[END_REF][START_REF] Ollero | Past, Present, and Future of Aerial Robotic Manipulators[END_REF]. The proposal of such novel aerial workers is essential because they can easily access remote locations or other places that are dangerous or inaccessible for human operators. For instance, aerial manipulators can quickly reach and operate in high-altitude workspaces, for the applications like inspection and maintenance of infrastructure, grasping and transporting objects where aerial robots need to physically interact with the environment [Ollero, 2018].

The topic of aerial manipulation presents many scientific and technological challenges, such as vehicle autonomy, flight stability, manipulation accuracy and payload capability, etc. It is therefore a cutting-edge research topic which attempts to extend the ability of aerial robots for performing dexterous and complex manipulation tasks in the air. To enhance the capability and versatility of aerial robots, problems on the mechanical and structural designs, advanced sensing and perception as well as robot planning and control have been addressed. Different UAV platforms have been analysed and used in the aerial manipulation field, ranging from helicopters and classical under-actuated multirotors, to fully-actuated multirotors with tilted/tilting rotors. A variety of aerial manipulator designs have also been developed and studied over the past decade, which can be generally classified into two genres:

• Single-UAV manipulator: single UAV attached with additional equipment for aerial manipulation;

• Multi-UAV manipulator: multiple UAVs performing cooperatively the aerial task or rigidly connected to a moving platform or an articulated structure.

In the following sections, a literature review on the development of different generations of aerial manipulators is given, along with the state of the art on the perception, estimation and control of such aerial robots for accomplishing aerial manipulation tasks in both indoor and outdoor scenarios.

Single-UAV Manipulators: From Helicopter to Multirotorbased Platforms

The early development of aerial manipulators has been based on a variety of mature aerial vehicles such as helicopters, multirotor-based platforms and other vehicles that have been derived from classical multirotors. The types of onboard equipment to perform the manipulation tasks have also evolved from simple rigid/passive links to more sophisticated grippers or articulated robotic arms. The development of the mechanical designs of end-effectors, onboard sensing and control algorithms has allowed a single aerial vehicle to achieve novel applications and extend its potential capacities in real-world scenarios.

Helicopters with Industrial Arms

When referring to the aerial manipulator, the helicopter has played an important role in the development of early works, which is a classical aerial system composed of a main horizontal rotor for providing vertical lifting and a tail rotor to counteract the torque generated by the main rotor and control the heading of the aircraft. It has been taken as one of the first platforms to embed robotic manipulators or end-effectors to achieve grasping, transportation and manipulation in outdoor environments. For instance, [START_REF] Bernard | Load transportation system based on autonomous small size helicopters[END_REF][START_REF] Bernard | Autonomous Transportation and Deployment with Aerial Robots for Search and Rescue Missions[END_REF] have investigated the use of helicopters for autonomous slung-load transportation and deployment (see Fig. 1.1(a)); the grasping of payloads by a smallsize helicopter attached with a self-designed gripper or manipulator has been studied in [START_REF] Pounds | Grasping from the air: Hovering capture and load stability[END_REF][START_REF] Pounds | Stability of small-scale UAV helicopters and quadrotors with added payload mass under PID control[END_REF][START_REF] Pounds | Aerial Grasping from a Helicopter UAV Platform[END_REF] (see Fig. 1.1(b)) and [Kondak, 2013] (see Fig. 1.1(d)); the helicopters can also be equipped with an industrial and large-size robotic manipulator, applied to manipulation and operation of objects remotely, as investigated in [START_REF] Huber | First Analysis and Experiments in Aerial Manipulation Using Fully Actuated Redundant Robot Arm[END_REF][START_REF] Kondak | Aerial manipulation robot composed of an autonomous helicopter and a 7 degrees of freedom industrial manipulator[END_REF][START_REF] Laiacker | High Accuracy Visual Servoing for Aerial Manipulation using a 7 Degrees of Freedom Industrial Manipulator[END_REF] (as shown in Fig. 1.1(c)). These designs (a) Helicopter for autonomous load transportation and deployment [START_REF] Bernard | Autonomous Transportation and Deployment with Aerial Robots for Search and Rescue Missions[END_REF] (b) Helicopter with a gripper for grasping and transporting objects [START_REF] Pounds | Stability of small-scale UAV helicopters and quadrotors with added payload mass under PID control[END_REF] (c) Helicopter equipped with a KUKA LWR industrial manipulator [START_REF] Laiacker | High Accuracy Visual Servoing for Aerial Manipulation using a 7 Degrees of Freedom Industrial Manipulator[END_REF] (d) Helicopter equipped with a robotic arm for grasping and manipulation [Kondak, 2013] often use GNSS (Global Navigation Satellite System) for the positioning of the robot as they must work outdoors due to the dimension requirement of helicopters, and equip with other onboard sensors such as IMU and cameras for pose estimation.

The use of helicopters is advantageous in terms of payload capacity and autonomy during the manipulation tasks. However, the mechanical construction and control of such complex and large-size platforms are difficult to handle, along with the safety issues associated with the blades of the helicopter's main rotor for flights close to external objects and surfaces. In contrast, multirotor-based UAVs are usually small-size aircraft and significantly simpler in terms of design, assembly and control, resulting in growing trends towards using multirotor as the platform for aerial manipulation in most of the recent works.

Classical Multirotors with Links, Grippers or Articulated Arms

The multirotor consists of a rigid frame and multiple propellers parallelly fixed to the frame, producing unidirectional thrust vertical to the main frame and generating three-dimensional moments to rotate its attitude, which is therefore an under-actuated system moving in SE( 3) with vertical take-off and landing (VTOL) capability. The multirotors are commonly equipped with four, six or eight propellers, and thus characterised by the number of rotors and named respectively as quadrotor, hexarotor and octorotor. The second generation of aerial manipulators is thus generally composed of a single multirotor equipped with onboard end-effectors, which are usually customised using inexpensive materials and lightweight servo motors (when actuated). The achievable manipulation tasks depend on the type of embedded equipment, which can be summarised as follows: First of all, the employment of actuated rigid links or tools has the objective to achieve specific and unitary interaction tasks. For instance, designs where a rigid link is attached on the quadrotor have been proposed in [START_REF] Bartelds | Compliant Aerial Manipulators: Toward a New Generation of Aerial Robotic Workers[END_REF]] [Alexis, 2016;[START_REF] Yüksel | Aerial Robots with Rigid/Elastic-joint Arms: Single-joint Controllability Study and Preliminary Experiments[END_REF][START_REF] Wopereis | Application of Substantial and Sustained Force to Vertical Surfaces using a Quadrotor[END_REF][START_REF] Hamaza | An Adaptive-Compliance Manipulator for Contact-Based Aerial Applications[END_REF][START_REF] Yüksel | Aerial physical interaction via IDA-PBC[END_REF], showing the composed system capable of applying a sustained force on the external surfaces [START_REF] Bartelds | Compliant Aerial Manipulators: Toward a New Generation of Aerial Robotic Workers[END_REF] (see Fig. 1.2(a)), [START_REF] Yüksel | Aerial Robots with Rigid/Elastic-joint Arms: Single-joint Controllability Study and Preliminary Experiments[END_REF][START_REF] Wopereis | Application of Substantial and Sustained Force to Vertical Surfaces using a Quadrotor[END_REF], and dedicated to contact-based inspection [Alexis, 2016] or painting-like tasks [START_REF] Yüksel | Aerial physical interaction via IDA-PBC[END_REF] (see Fig. 1.2(b)). Customised tools can also be embedded on a single UAV to achieve the specific task, such as "PaintCopter" a quadrotor fitted with a spray mechanism for autonomous spray painting [START_REF] Vempati | PaintCopter: An Autonomous UAV for Spray Painting on Three-Dimensional Surfaces[END_REF] (see Fig. 1.2(c)), a quadrotor equipped with suction cups capable of perching and opening the door [START_REF] Tsukagoshi | Aerial Manipulator with perching and Door-opening Capability[END_REF], and a nailgun-equipped octorotor for nail deployment [START_REF] Romano | Nailed It: Autonomous Roofing with a Nailgun-Equipped Octocopter[END_REF].

❖
Similarly, custom and small-size grippers can be deployed onboard the quadrotors for the grasp and transportation of objects, such as gripping of a beam-like object and piece of wood using impactive and ingressive gripper [Mellinger, 2011b] (see Fig. 1.2(d)), grasp of a stuffed toy ensured by the compliance and under-actuation of the self-designed gripper [START_REF] Ghadiok | Autonomous Indoor Aerial Gripping Using a Quadrotor[END_REF] (see Fig. 1.2(e)), pickup of a cylinder-form object by avian-inspired gripper [Thomas, 2013], as well as grasping and transportation of magnetic objects by a team of quadrotors equipped with self-designed gripper [Loianno, 2018b].

In addition, in some of the aerial manipulator designs, passive links like cables or tethers are integrated within the multirotor model for agile transportation of cable-suspended load as investigated in [START_REF] Palunko | Agile Load Transportation : Safe and Efficient Load Manipulation with Aerial Robots[END_REF][START_REF] Palunko | A Reinforcement Learning Approach Towards Autonomous Suspended Load Manipulation Using Aerial Robots[END_REF]Sreenath, 2013b] and [START_REF] Foehn | Fast Trajectory Optimization for Agile Quadrotor Maneuvers with a Cable-Suspended Payload[END_REF] (see Fig. 1.2(f)), for inspection and surveillance tasks in case of tethered to a moving platform [START_REF] Tognon | Observer-Based Control of Position and Tension for an Aerial Robot Tethered to a Moving Platform[END_REF], and for assembling rope structures in inaccessible locations [START_REF] Augugliaro | Building Tensile Structures with Flying Machines[END_REF]] (see Fig. 1.2(g)).

Most importantly, designs with different types of articulated robotic arms embedded on the UAV are commonly seen in a large number of works, because the onboard robotic manipulators can provide additional degrees of freedom allowing to accomplish more complex manipulation tasks and compensate the perturbations on the multirotors. The employed robotic arms range from a single serial manipulator (up to 6 DoFs) to dual-arm systems and parallel mechanisms. For instance, a single multirotor has been equipped with multi-DoF serial robotic arm, including: a 2-DoF arm for object manipulation [Kim, 2013] (see Fig. 1.2(h)), grasping [START_REF] Tognon | Dynamic Decentralized Control for Protocentric Aerial Manipulators[END_REF] (see Fig. 1.2(i)) and catch/release application [START_REF] Morton | Development of a Robust Framework for an Outdoor Mobile Manipulation UAV[END_REF]; a 3-DoF arm for contact-based inspection [START_REF] Nayak | Design and Control of an Aerial Manipulator for Contact-based Inspection[END_REF], object grasping [START_REF] Kim | Vision-Guided Aerial Manipulation Using a Multirotor with a Robotic Arm[END_REF] and assembly tasks [START_REF] Jimenez-Cano | Control of an aerial robot with multi-link arm for assembly tasks[END_REF]; a 4-DoF arm for hinged-door opening application [START_REF] Lee | Aerial Manipulation using Model Predictive Control for Opening a Hinged Door[END_REF]; a 5-DoF arm for object grasping and manipulation task [START_REF] Bellicoso | Design, Modeling and Control of a 5-DoF Light-Weight Robot Arm for Aerial Manipulation[END_REF]; and a 6-DoF robotic arm for precise positioning task [Ruggiero, 2015a] (see Fig. 1.2(j)) [START_REF] Lippiello | Hybrid Visual Servoing With Hierarchical Task Composition for Aerial Manipulation[END_REF]Rossi, 2017], interaction task with ropes and flexible bars [START_REF] Cataldi | Impedance Control of an aerialmanipulator: Preliminary results[END_REF] and assembly of bar structures [Cano, 2013]. As the shortcomings of serial arms like the increased inertia and shifted centre of mass (CoM) might further affect the stability of the system, interest in applying parallel designs with multi-arm systems and parallel manipulators has been increasingly aroused in recent works. On one hand, the dual-arm systems are particularly studied for grasping pipe-like objects [Suarez, 2017a] (see Fig. 1.2(k)) [START_REF] Caballero | First experimental results on motion planning for transportation in aerial long-reach manipulators with two arms[END_REF], for transporting objects along with long-reach link [START_REF] Caballero | First experimental results on motion planning for transportation in aerial long-reach manipulators with two arms[END_REF], for valve tuning [START_REF] Orsag | Valve Turning using a Dual-Arm Aerial Manipulator[END_REF] and peg-in-hole insertion task [START_REF] Car | Impedance Based Force Control for Aerial Robot Peg-in-Hole Insertion Tasks[END_REF].

A three-arm onboard manipulator system has also been proposed in [START_REF] Paul | Landing of a Multirotor Aerial Vehicle on an Uneven Surface Using Multiple On-board Manipulators[END_REF] which is capable of gripping objects with multiple forms and landing on an uneven surface. On the other hand, the use of parallel manipulators has greatly increased the achievable accuracy of the composed aerial manipulators, for which examples can be seen in contact-based inspection [Fumagalli, 2012;[START_REF] Scholten | Interaction Control of an UAV Endowed with a Manipulator[END_REF]Fumagalli, 2016], surface cleaning application [START_REF] Kamel | Design and modeling of dexterous aerial manipulator[END_REF] (see Fig. 1.2(l)), precise positioning and manipulation of objects [START_REF] Danko | A Parallel Manipulator for Mobile Manipulating UAVs[END_REF], and even aerial writing task [START_REF] Tzoumanikas | Aerial Manipulation Using Hybrid Force and Position NMPC Applied to Aerial Writing[END_REF] (see Fig. 1.2(m)).

The application scenarios involve both indoor and outdoor operations, integrating outdoor navigation systems based on GNSS [START_REF] Jimenez-Cano | Control of an aerial robot with multi-link arm for assembly tasks[END_REF]Ruggiero, 2015a;[START_REF] Morton | Development of a Robust Framework for an Outdoor Mobile Manipulation UAV[END_REF]Suarez, 2017a], indoor navigation features using Motion Capture (MOCAP) systems [Alexis, 2016;[START_REF] Hamaza | An Adaptive-Compliance Manipulator for Contact-Based Aerial Applications[END_REF][START_REF] Romano | Nailed It: Autonomous Roofing with a Nailgun-Equipped Octocopter[END_REF][START_REF] Palunko | Agile Load Transportation : Safe and Efficient Load Manipulation with Aerial Robots[END_REF]Rossi, 2017;[START_REF] Orsag | 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][START_REF] Danko | A Parallel Manipulator for Mobile Manipulating UAVs[END_REF][START_REF] Kamel | Design and modeling of dexterous aerial manipulator[END_REF][START_REF] Tzoumanikas | Aerial Manipulation Using Hybrid Force and Position NMPC Applied to Aerial Writing[END_REF], and onboard visionbased approaches [START_REF] Ghadiok | Autonomous Indoor Aerial Gripping Using a Quadrotor[END_REF][START_REF] Kim | Vision-Guided Aerial Manipulation Using a Multirotor with a Robotic Arm[END_REF][START_REF] Lippiello | Hybrid Visual Servoing With Hierarchical Task Composition for Aerial Manipulation[END_REF]Suarez, 2017b;[START_REF] Vempati | PaintCopter: An Autonomous UAV for Spray Painting on Three-Dimensional Surfaces[END_REF].

(a) Quadrotor attached with an actuated rigid link for contact-based inspection task [START_REF] Bartelds | Compliant Aerial Manipulators: Toward a New Generation of Aerial Robotic Workers[END_REF] (b) Quadrotor mounted with a rigid bar for physical interaction with the environment [START_REF] Yüksel | Aerial physical interaction via IDA-PBC[END_REF] (c) Quadrotor equipped with a custom spray gun mechanism for spray painting [START_REF] Vempati | PaintCopter: An Autonomous UAV for Spray Painting on Three-Dimensional Surfaces[END_REF] (d) Quadrotor equipped with impactive and ingressive gripper for grasping and transporting bar structures and pieces of wood [Mellinger, 2011b] (e) Quadrotor with a compliant gripper for indoor aerial gripping [START_REF] Ghadiok | Autonomous Indoor Aerial Gripping Using a Quadrotor[END_REF] (f) Agile quadrotor manoeuvres with a cablesuspended payload [START_REF] Foehn | Fast Trajectory Optimization for Agile Quadrotor Maneuvers with a Cable-Suspended Payload[END_REF] (g) Quadrotor assembling tensile structures [START_REF] Augugliaro | Building Tensile Structures with Flying Machines[END_REF] (h) Quadrotor with a 2-DoF arm for object manipulation [Kim, 2013] (i) Quadrotor with a 2-DoF manipulator and gripper for aerial grasping [START_REF] Tognon | Dynamic Decentralized Control for Protocentric Aerial Manipulators[END_REF] (j) Quadrotor endowed with a 6-DoF robotic arm for assembly task [Ruggiero, 2015a] (k) Hexarotor equipped with a dual-arm system for grasping bar-like objects [Suarez, 2017a] (l) Quadrotor mounted with a five-bar parallel mechanism for surface cleaning [START_REF] Kamel | Design and modeling of dexterous aerial manipulator[END_REF] (m) Hexarotor with a 3-DoF parallel arm for aerial writing task [START_REF] Tzoumanikas | Aerial Manipulation Using Hybrid Force and Position NMPC Applied to Aerial Writing[END_REF]

Non-Conventional Multirotors with Arms

Apart from classical multirotors, there exists some derivations from these conventional aerial vehicles based on which novel aerial manipulator frameworks are established as illustrated in Fig. 1.3. One similar platform to the multirotor is the ducted fan, in which a main horizontal propeller is mounted within a cylindrical duct to generate the total thrust while a set of control vanes is available on the duct surface to achieve full controllability of the vehicle's attitude. It is therefore an aerial vehicle possessing the equivalent under-actuation and VTOL characteristics of multirotors. Similar frameworks have been proposed for physical interaction with the environment using a rigid link [START_REF] Gentili | Modeling and control of VTOL UAVs interacting with the environment[END_REF][START_REF] Marconi | Modelling and control of a flying robot interacting with the environment[END_REF]Marconi, 2012;[START_REF] Forte | On the Control of an Aerial Manipulator Interacting with the Environment[END_REF], and a parallel robotic arm as in [START_REF] Keemink | Mechanical Design of a Manipulation System for Unmanned Aerial Vehicles[END_REF][START_REF] Torre | A Prototype of Aerial Manipulator[END_REF] and [START_REF] Naldi | Robust Control of an Aerial Manipulator Interacting with the Environment[END_REF] (see Fig. 1.3(a)).

Besides, as the multirotor and ducted-fan aircraft are typically under-actuated systems, implying that the vehicle's attitude dynamics is coupled with its translational movements, which has limited the manipulability of such aerial manipulators in 3-dimensional space, recent works have also focused on developing multirotors with tilted or tiltable propellers. These novel and usually customised platforms consist of a main rigid frame and multiple tilted propellers fixed to the rigid frame [START_REF] Rajappa | Modeling, Control and Design Optimization for a Fully-Actuated Hexarotor Aerial Vehicle with Tilted Propellers[END_REF][START_REF] Rashad | Energy Tank-Based Wrench/Impedance Control of a Fully-Actuated Hexarotor: A Geometric Port-Hamiltonian Approach[END_REF] or movable elements actuated by servo motors for tilting them [START_REF] Ryll | Modeling and Control of FAST-Hex: a Fully-Actuated by Synchronized-Tilting Hexarotor[END_REF]Staub, 2018], showing their possibility of being fully-actuated, over-actuated or even omnidirectional systems that can exert total thrust along any direction with any value in a spherical shell independently from the total moment [Tognon, 2018a;[START_REF] Hamandi | Design of Multirotor Aerial Vehicles: A Taxonomy Based on Input Allocation[END_REF]. The special actuation characteristics of the tilted or tiltable multirotor makes it more versatile and efficient in accomplishing physical interaction tasks as they benefit from the increased aerodynamic behaviour due to non-parallel rotor configuration [START_REF] Abbaraju | Aerodynamic Modeling of Fully-Actuated Multirotor UAVs with Nonparallel Actuators[END_REF].

The examples of these aerial manipulators can be seen in: "Tilt-Hex" robot with a fullyactuated tilted-propeller hexarotor for 6D physical interaction [START_REF] Ryll | 6D Physical Interaction with a Fully Actuated Aerial Robot[END_REF]Franchi, 2018;[START_REF] Ryll | 6D Interaction Control with Aerial Robots: The Flying End-Effector Paradigm[END_REF] (see Fig. 1.3(b)); "OTHex" (Open-Tilted Hexarotor) platform endowed with a gripper for grasping bar structures [Staub, 2018] and a 2-DoF robotic arm for pushand-slide inspection [START_REF] Tognon | A Truly Redundant Aerial Manipulator System with Application to Push-and-Slide Inspection in Industrial Plants[END_REF][START_REF] Nava | Direct Force Feedback Control and Online Multi-Task Optimization for Aerial Manipulators[END_REF]; "AeroX" adopting an eight-tilted rotor and a 6-DoF robotic arm for physical contact inspection in the oil and gas industry [START_REF] Trujillo | Novel Aerial Manipulator for Accurate and Robust Industrial NDT Contact Inspection: A New Tool for the Oil and Gas Inspection Industry[END_REF]] (see Fig. 1.3(c)); omnidirectional vehicles such as "Voliro" platform capable of wall interaction [Kamel, 2018]; "ODAR" system with eight non-aligned bidirectional rotors for peg-in-hole operation [Park, 2018]; an omnidirectional octorotor equipped with a pouch for catching a thrown ball [START_REF] Brescianini | Computationally Efficient Trajectory Generation for Fully Actuated Multirotor Vehicles[END_REF] (see Fig. 1.3(d)); a tilting-hexarotor platform equipped with a rigid end-effector for contact inspection [START_REF] Bodie | An Omnidirectional Aerial Manipulation Platform for Contact-Based Inspection[END_REF]Bodie, 2021a], or mounted with a delta-based parallel manipulator for aerial pick-and-place ap-plication [Bodie, 2021b] (see Fig. 1.3(e)), and even with a soft robotic arm [Szasz, 2022] for applications in aerial construction, delivery, etc. Another interesting design with omnidirectional multirotors is "dextAIR" where an aerial manipulator suspended by elastic spring [Yiğit, 2021b;[START_REF] Perozo | Optimal Design and Control of an Aerial Manipulator with Elastic Suspension Using Unidirectional Thrusters[END_REF] (see Fig. 1.3(f)) or from a cable-driven parallel robot (CDPR) [Yiğit, 2021c] has been proposed to enhance the ability of this kind of aerial manipulators like increasing the accuracy, autonomy and especially reducing the energy consumption due to gravity compensation from the suspension system.

Last but not least, another type of derived platform worth mentioning is morphing multirotors, where the main body of the vehicle is composed of actuated links that are movable and equipped each with one or multiple propellers. These morphing designs allow for very high adaptability to the environment and interaction tasks, since the vehicle can not only modify the propeller directions but also its shape and thus the relative positions of propellers thanks to the actuated multi-link structures. For instance, [START_REF] Falanga | The Foldable Drone: A Morphing Quadrotor that can Squeeze and Fly[END_REF] has proposed a morphing quadrotor capable of folding itself with several possible morphologies for surface inspection and rescue application (see Fig. 1.3(g)); a similar morphing quadrotor that can optimise its morphology for transportation has been studied in [START_REF] Kim | A Morphing Quadrotor that Can Optimize Morphology for Transportation[END_REF]; a transformable quadrotor with two-dimensional multi-links capable of grasping, carrying and dropping objects has been proposed by [START_REF] Zhao | Whole-body Aerial Manipulation by Transformable Multirotor with Two-dimensional Multilinks[END_REF] (see Fig. 1.3(h)), which has then been extended to a fully-actuated tilted-octorotor design for aerial grasping of large-size objects [Anzai, 2018], and a fully-actuated quadrotor with tiltable propellers capable of opening the door [Sugito, 2022].

These derived multirotor-based platforms have shown their respective advantages such as fully-or even over-actuation, flexibility and configurability, which are interesting characteristics to enhance the capacity of the constructed aerial manipulators. On the other hand, there are further challenges in the mechanical design, motion planning and control of such systems due to their complexity.

As mentioned beforehand, all these aerial manipulator designs have been based on a variety of UAV platforms for the purpose of performing physical interaction tasks, which has opened up the field of aerial manipulation. The transition from helicopters to multirotor-based platforms has been due to the consideration of safety and stability issues that might be associated with aerial manipulators using helicopters during the flight and the manipulation task. Then a large branch of additional tools has been employed onboard a single multirotor to achieve all kinds of possible aerial applications. Similar designs can also be found using the ducted-fan vehicle, which is however a less interesting platform due to the complexity of the system and the similarity to conventional multirotors in their characteristics. To further enhance the manipulability of aerial vehicles, frameworks with tilted-or tiltable propellers have overcome the under-actuation of multirotors, and morphing designs have shown their largely improved flexibility and adaptability to interact with the environment, which however further complicates the mechanical design and control of the system. Despite all these efforts put in for the enhancement of aerial vehicles, the single-UAV manipulator still presents a major drawback related to the limited payload capacity, resulting in tasks infeasible for a single manipulator such as handling a load too heavy or too large, or the required interaction wrench beyond the range a single UAV can exert. Therefore, there is a growing tendency towards multi-UAV manipulator designs, which will be presented in the next section.

(a) Ducted fan with a parallel arm for docking manoeuvre [START_REF] Naldi | Robust Control of an Aerial Manipulator Interacting with the Environment[END_REF] (b) Tilt-Hex: a fully-actuated hexarotor with tilted rotors performing peg-in-hole task [START_REF] Ryll | 6D Interaction Control with Aerial Robots: The Flying End-Effector Paradigm[END_REF] (c) AeroX: an eight-tilted rotor platform with an 6-DoF robotic arm for contact inspection [START_REF] Trujillo | Novel Aerial Manipulator for Accurate and Robust Industrial NDT Contact Inspection: A New Tool for the Oil and Gas Inspection Industry[END_REF] (d) A tilted octorotor with a pouch mounted to catch ball [START_REF] Brescianini | Computationally Efficient Trajectory Generation for Fully Actuated Multirotor Vehicles[END_REF] (e) An omnidirectional hexarotor with a parallel arm for pick-andplace operation [Bodie, 2021b] (f) dextAIR: an omnidirectional octorotor with elastic suspension [START_REF] Perozo | Optimal Design and Control of an Aerial Manipulator with Elastic Suspension Using Unidirectional Thrusters[END_REF] (g) A morphing quadrotor capable of folding and squeezing [START_REF] Falanga | The Foldable Drone: A Morphing Quadrotor that can Squeeze and Fly[END_REF] (h) A transformable quadrotor with twodimensional multi-links [START_REF] Zhao | Whole-body Aerial Manipulation by Transformable Multirotor with Two-dimensional Multilinks[END_REF]

Multi-UAV Manipulators: From Cooperative Systems to

Rigidly Connected Systems

The designs where multiple UAVs are deployed to cooperatively perform an aerial task or to compose a multi-body system have been increasingly seen in recent works, which can be a potential solution for the transportation of heavy or large-size objects and the tasks infeasible by a single UAV. During a cooperative aerial manipulation, every single aerial manipulator can perform the task independently but they cooperate to enhance the manipulation ability, while in a multi-body system, all the UAVs are rigidly attached to a structure or a moving platform with articulated links for more challenging application scenarios. Each aerial vehicle consisting the cooperative or multi-body systems can be based on the main types of platforms previously described in Section 1.1.1, i.e. helicopter, conventional multirotor, ducted fan, and multirotor with tilted or tiltable propellers, etc.

Cooperative Systems with Multiple Independent Manipulators

An instinctive design for cooperative aerial manipulation is the cooperation of single-UAV manipulators with actuated equipment previously proposed as an aerial vehicle platform equipped with a rigid tool, a gripper or a robotic arm. Examples of such studies can be seen in cooperative grasping and transportation of objects using a team of quadrotors equipped with simple grippers such as [START_REF] Mellinger | Cooperative Grasping and Transport using Multiple Quadrotors[END_REF] (see Fig. 1.4(a)), [Loianno, 2018a] (see Fig. 1.4(b)) and [Tagliabue, 2019], or with multi-DoF robotic arms [START_REF] Kim | Motion planning with movement primitives for cooperative aerial transportation in obstacle environment[END_REF] (see Fig. 1.4(c)) [START_REF] Caccavale | Cooperative impedance control for multiple UAVs with a robotic arm[END_REF][START_REF] Yang | Hierarchical cooperative control framework of multiple quadrotor-manipulator systems[END_REF]Lee, 2015;Kim, 2018a;Kim, 2018b], and cooperative manipulation with multiple tool-embedded quadrotors [START_REF] Gioioso | The flying hand: A formation of UAVs for cooperative aerial tele-manipulation[END_REF][START_REF] Mohammadi | Cooperative Aerial Tele-Manipulation with Haptic Feedback[END_REF]Thapa, 2020]. An interesting design can also be noted where multiple quadrotors with docking mechanisms physically connect and form a whole system to a flying gripper [START_REF] Gabrich | A Flying Gripper Based on Cuboid Modular Robots[END_REF].

As each individual manipulator is rigidly attached to the objects when the grasp is engaged or the contact with the object is performed, the internal dynamics due to the interaction between the object and each manipulator should be carefully considered. This can be handled by modelling the cooperative multi-agent system as a single composed system and controlling it in a centralized manner [START_REF] Caccavale | Cooperative impedance control for multiple UAVs with a robotic arm[END_REF]Lee, 2015;[START_REF] Mohammadi | Cooperative Aerial Tele-Manipulation with Haptic Feedback[END_REF]Loianno, 2018a] using either control allocation or optimal control methods to determine the input of each agent. Decentralized controllers have also been investigated where each agent computes its own control law with only knowledge of its own states. Such a controller can be established either along with a higher-level planner such as an optimal contact force distribution process [START_REF] Yang | Hierarchical cooperative control framework of multiple quadrotor-manipulator systems[END_REF][START_REF] Mohammadi | Cooperative Aerial Tele-Manipulation with Haptic Feedback[END_REF] and a trajectory planner with each agent control enhanced by an onboard estimation of internal forces [Kim, 2018b;Tagliabue, 2019], or by employing a consensus algorithm to ensure an equal share of estimated payload mass on each agent [Thapa, 2020]. Besides, motion planning of such multi-agent systems is significantly important in order to perform cooperatively the aerial grasping and transportation task, especially in an obstacle environment, as investigated in [Lee, 2015;[START_REF] Kim | Motion planning with movement primitives for cooperative aerial transportation in obstacle environment[END_REF]Kim, 2018a].

Cable-Suspended Cooperative Systems

Another design of cooperative manipulation by aerial robots that has been intensively studied is the cable-suspended aerial system for transportation or manipulation using a number of UAVs, which can be considered as a composition of multiple aerial manipulators with passive links shown in Fig. 1.2(g). One possibly the earliest example of such cooperative systems is the aerial cable-towed system (ACTS) investigated for the first time in [Michael, 2011;Fink, 2011;[START_REF] Jiang | The Inverse Kinematics of Cooperative Transport With Multiple Aerial Robots[END_REF]Sreenath, 2013a;[START_REF] Manubens | Motion planning for 6-D manipulation with aerial towed-cable systems[END_REF] as an analogy to classical CDPR, during the time when mechanical design, motion planning, modelling and control problems of this aerial cooperative system have been addressed. Later, the works have been extended to a variable cable-towed system [Li, 2020b] (see Fig. 1.4(d)) in terms of mechanical design, a cooperative transportation system using only onboard sensing (i.e. monocular vision and IMU) [Li, 2021a] for the perception and pose estimation, an analysis on configuration planning of such systems based on wrench feasibility [Erskine, 2019a] in the aspect of planning, and a more robust ACTS under uncertainties [START_REF] Sanalitro | Full-Pose Manipulation Control of a Cable-Suspended Load with Multiple UAVs under Uncertainties[END_REF] regarding the control. The cable suspension designs can also be found in dual-UAV co-manipulation and transportation of rod-like objects [Tagliabue, 2017] (see Fig. 1.4(e)) [START_REF] Gassner | Dynamic Collaboration without Communication: Vision-Based Cable-Suspended Load Transport with Two Quadrotors[END_REF]Tognon, 2018b;[START_REF] Mohiuddin | Energy distribution in Dual-UAV collaborative transportation through load sharing[END_REF]. A catenary robot for nonprehensile manipulation of cuboid objects using a non-stretchable cable connected to two quadrotors has been proposed in [START_REF] Cardona | Non-Prehensile Manipulation of Cuboid Objects Using a Catenary Robot[END_REF] (see Fig. 1.4(f)).

Unlike the cooperation of manipulators with onboard actuated equipment, this type of cooperative system often requires a preparation phase before the transportation or manipulation task during when the cables and the load (in transportation tasks) need to be assembled to the UAVs in advance, and therefore they are often modelled as a single robot including the states of all the UAVs and controlled in a centralized way. Exceptions can be found in several works using decentralized controllers based on the leader-follower paradigm [Tagliabue, 2017;Tognon, 2018b] or guided by onboard vision [START_REF] Gassner | Dynamic Collaboration without Communication: Vision-Based Cable-Suspended Load Transport with Two Quadrotors[END_REF]. The advantage of multiple UAVs supporting the payload by suspended cables is the large workspace and high payload capacity. However, the tensile-only nature of cables reduces the wrench feasibility of the robot [START_REF] Erskine | Wrench Capability Analysis of Aerial Cable Towed Systems[END_REF]Erskine, 2019b], making the cablesuspended systems only for transporting objects. As a result, designs on multiple UAVs with rigidly connected links have been more recently investigated.

(a) Cooperative grasping and transportation by a team of manipulators with impactive grippers [START_REF] Mellinger | Cooperative Grasping and Transport using Multiple Quadrotors[END_REF] (b) Cooperative transportation by two quadrotors with electromagnet [Loianno, 2018a] (c) Cooperative transportation of a rod by two quadrotors with robotic arm [START_REF] Kim | Motion planning with movement primitives for cooperative aerial transportation in obstacle environment[END_REF] (d) Variable aerial cabletowed system for flexible cooperative transportation [Li, 2020b] (e) Collaborative transportation of beam-like objects suspended by cables using two hexarotors [Tagliabue, 2017] (f) Two quadrotors attached with a non-stretchable cable for manipulating cuboid objects [START_REF] Cardona | Non-Prehensile Manipulation of Cuboid Objects Using a Catenary Robot[END_REF]

Rigidly Connected Systems with Multiple UAVs

Similarly to the ACTS, the rigidly connected system with multiple UAVs is considered as a single robot and required to be pre-assembled. According to the assembly configurations, the UAVs can be attached to a single rigid frame (as referred to Fig. 1.5(a)-(c)), or to an articulated architecture with actuated or passive joints to compose a multi-body system (seen in Fig. 1.5(d), (e)). In these rigidly connected systems, additional mechanisms are commonly used in order to maximise motion dexterity and improve the manipulability of the robot.

An earliest and successful demonstration of such systems is the SmQ (spherically-connected multi-quadrotor) platform [START_REF] Nguyen | Aerial tool operation system using quadrotors as Rotating Thrust Generators[END_REF][START_REF] Nguyen | A Novel Robotic Platform for Aerial Manipulation Using Quadrotors as Rotating Thrust Generators[END_REF] (see Fig. 1.5(a)). In this design, multiple quadrotors are connected to a rigid frame (i.e. a moving platform) for cooperative manipulation. The attachment of quadrotors onto the rigid frame is achieved via a passive spherical joint to decouple the rotational dynamics of each quadrotor with the movements of the rigid body, rendering the whole system fully actuated (i.e. full 6-dimensional pose of the rigid frame independently controllable). It has been proven that fully actuation can be ensured with at least three well-located UAVs whose attaching points to the CoM of the platform (or the tool) are not collinear with each other [START_REF] Nguyen | Aerial tool operation system using quadrotors as Rotating Thrust Generators[END_REF]. The feasible wrench analysis and optimal control of this SmQ system with three quadrotors are investigated afterwards in [START_REF] Nguyen | A Novel Robotic Platform for Aerial Manipulation Using Quadrotors as Rotating Thrust Generators[END_REF].

A similar design is an over-actuated multi-rotor aerial vehicle with more tiny quadrotors attached to a rigid frame via a two-DoF passive gimbal mechanism [START_REF] Yu | An Over-Actuated Multi-Rotor Aerial Vehicle With Unconstrained Attitude Angles and High Thrust Efficiencies[END_REF] (see Fig. 1.5(b)). The platform can achieve full 6-dimensional motion with redundancies from four quadrotors seen as vectoring force actuators. A nullspace-based control allocation method of this over-actuated system has been proposed in [START_REF] Yu | An Over-Actuated Multi-Rotor Aerial Vehicle With Unconstrained Attitude Angles and High Thrust Efficiencies[END_REF] allowing better performance of trajectory tracking by the rigid platform.

Another interesting design is the flying gripper in which multiple UAVs are physically fixed to a rigid frame with well-arranged orientations to allow fully actuation of the rigid body. An under-actuated finger is further attached beneath each quadrotor and actuated by its yaw rotation using a non-back-drivable worm-gear mechanism permitting the opening and closing motion of four fingers for aerial grasping and transportation of large-size objects [Li, 2021c] (see Fig. 1.5(c)). The original design has been proposed in [START_REF] Saint-Sevin | Design and Optimization of a Multi-drone Robot for Grasping and Manipulation of Large Size Objects[END_REF] and optimisation on the geometric arrangements of quadrotors has also been addressed to maximise the robot's manipulability and its capacity to produce form-closed grasps. The dynamic control algorithm using Model Predictive Control (MPC) of the flying gripper has been investigated in [Li, 2021c]. A flying gripper design with mobile quadrotor attitudes has later proposed during the thesis of [Li, 2021b], in which the attachment of quadrotors to the rigid frame is achieved by means of universal joints, showing a more robust behaviour of the robot during the grasp due to the decoupling on quadrotor roll and pitch dynamics.

Moving forward from these designs with multiple UAVs attached to a single rigid structure, the multi-body system is a more recently proposed architecture composed of an articulated structure with passive or actuated joints and multirotors distributed over multiple links. Similarly to morphing multirotors with transformable multi-links, the use of articulated structure has largely increased the flexibility and the manipulability of the robot, and the whole system is usually fully-actuated due to the collaboration of multiple multirotors. One example of multi-body systems is the "DRAGON" platform composed of a transformable multi-body structure and ducted-fan vehicles attached to each link with servo motors to actuate the system. The robot has shown its capability of flying through a narrow window by changing its structure [Zhao, 2018], performing a squeezing task under a plate with an embedded soft end-effector [START_REF] Zhao | Online Motion Planning for Deforming Maneuvering and Manipulation by Multilinked Aerial Robot Based on Differential Kinematics[END_REF], and being applied to forceful valve manipulation task [START_REF] Zhao | Forceful Valve Manipulation With Arbitrary Direction by Articulated Aerial Robot Equipped With Thrust Vectoring Apparatus[END_REF] (see Fig. 1.5(d)). Another example can be seen in "LASDRA" (large-size aerial skeleton system with distributed rotor actuation) initially proposed in [Yang, 2018]. The system consists of multiple links connected to each other using passive spherical joints, with each link fully actuated by distributed multi-rotors. A joint locking strategy has been proposed to increase the robot's loading capacity and a decentralized impedance control scheme has been studied to allow for compliant operation by such a large-size dexterously-articulated robot [Yang, 2018]. Further investigation of LASDRA system working in the outdoor environment has been done, in which a pose and posture estimation method has been proposed based on IMU and GNSS modules [START_REF] Park | Pose and Posture Estimation of Aerial Skeleton Systems for Outdoor Flying[END_REF] (see Fig. 1.5(e)).

In conclusion, the cooperation of multiple aerial manipulator platforms has been more appropriate for the manipulation task unfeasible by a single UAV because of the payload capacity and actuation property. Such advantages have been particularly illustrated by the aerial cable-towed systems (ACTS) where a payload is supported by multiple UAVs using suspended cables. As a cable can only generate unilateral force, the system is only dedicated to aerial transportation tasks. Therefore, designs with multiple UAVs rigidly connected to a moving platform seem to be more appealing for full-pose manipulation of an object by the tool/end-effector attached to the rigid frame. To further enhance the flexibility and configurability of these aerial robots, multi-body systems with an articulated structure actuated by multiple UAVs have been investigated, showing their potential in accomplishing more complex tasks in unconstrained environments. Inspired by some of these designs, a flying parallel robot with a passive architecture actuated by multiple UAVs has been proposed, which will be presented in the next section.

(a) SmQ: spherically connected multi-quadrotor system [START_REF] Nguyen | A Novel Robotic Platform for Aerial Manipulation Using Quadrotors as Rotating Thrust Generators[END_REF] (b) An over-actuated UAV platform with four quadrotors rigidly connected to the frame using gimbal mechanism [START_REF] Yu | An Over-Actuated Multi-Rotor Aerial Vehicle With Unconstrained Attitude Angles and High Thrust Efficiencies[END_REF] (c) Flying gripper with four quadrotors connected to fingers using gear-worm mechanisms [Li, 2021c] (d) DRAGON platform: multi-link robot actuated by ducted fans [START_REF] Zhao | Online Motion Planning for Deforming Maneuvering and Manipulation by Multilinked Aerial Robot Based on Differential Kinematics[END_REF] (e) LASDRA: large-size aerial skeleton system with distributed rotor actuation [START_REF] Park | Pose and Posture Estimation of Aerial Skeleton Systems for Outdoor Flying[END_REF]

Design of Flying Parallel Robots

Belonging to the class of multi-UAV parallel manipulators, the design of Flying Parallel Robot (FPR) has been proposed in the thesis of [Six, 2018a] where multiple multirotorbased UAVs are rigidly connected to an articulated structure via mechanical joints. The structure on which the multiple UAVs are attached is analogous to a classical parallel mechanism, and therefore it is named as passive architecture in the FPR design, implying that the articulated structure includes only the passive (i.e. not actuated) joints. The passive architecture is commonly composed of a moving platform and multiple kinematic chains connecting the multirotors as actuators to the platform via rigid bodies and passive joints. Fig. 1.6 shows examples of flying parallel robots with 2 or 3 UAVs and their analogies as a Bi-glide mechanism and a 3-RPS parallel mechanism. As it can be seen, the fixed base and the motors (within active joints) in parallel mechanisms are replaced by multirotors in the design of FPR using a similar architecture. The only actuation of the system is thus exclusively provided by the thrust forces of multirotors while the attach-ments of multirotors using spherical joints ensure a decoupling property between their rotational dynamics and the dynamics of the passive architecture, making it possible to consider the multirotors as vectoring thrust generators in 3-dimensional space. One can also discover the same property through the use of spherical or universal joints in the design of SmQ platform [START_REF] Nguyen | A Novel Robotic Platform for Aerial Manipulation Using Quadrotors as Rotating Thrust Generators[END_REF], the over-actuated UAV platform [START_REF] Yu | An Over-Actuated Multi-Rotor Aerial Vehicle With Unconstrained Attitude Angles and High Thrust Efficiencies[END_REF] and the flying gripper with mobile-attitude quadrotors [Li, 2021b].

The original idea of this proposal is to combine a parallel architecture with the capacity provided by multiple UAVs, allowing to obtain several interesting properties such as:

❖ High payload capacity due to the distribution of the load on multiple UAVs;

❖ No additional actuators needed apart from the multirotors, which is advantageous in terms of energy consumption;

❖ Low perturbations on the end-effector from the airflow generated by the propellers of UAVs, which can be ensured by an adapted passive architecture that supports the end-effector far away from locations of UAVs;

❖ High versatility and configurability to the aerial tasks, as the use of rigid links and the possibility of reconfiguring the architecture allow to perform the task above or below the level of flight of UAVs by a single robot;

❖ Large amount of possible architectures presented in the community of parallel robots, offering the possibility of constructing the flying parallel robot with different kinematics and dynamics properties.

These advantageous properties allow the FPR to become a potential candidate for a versatile aerial manipulator capable of performing multiple manipulation tasks with a single design. In [Six, 2018a], analytical studies on the general modelling and motion control of flying parallel robots were conducted, with preliminary implementations on a 2D FPR actuated by two UAVs presented in [Six, 2017b] and a 3-D FPR with three UAVs referred to [Six, 2018b]. In the following parts, the literature review on the general modelling of the flying parallel robot and the motion control of a general FPR tracking a prescribed trajectory will be detailed.

General Modelling of Flying Parallel Robots

In this section, a general methodology regarding the dynamic modelling of flying parallel robots is presented. To keep the generality, the modelling of the FPR is developed on a general design composed of a moving platform and n legs attached with multirotors (as illustrated in Fig. 1.7) without specifying the number of legs. The general modelling can thus be applied to a specific design such as the ones shown in Fig. 1.6. (c) Example of a flying parallel robot with 3 UAVs [Six, 2018b] (d) A 3-RPS mechanism [START_REF] Qu | Theory of degrees of freedom for parallel mechanisms with three spherical joints and its applications[END_REF]. The prismatic joints are actuated. In the general design of FPR, the CoM positions of multirotors are considered to be attached to the end of each leg by means of spherical joints. This hypothesis ensures the previously discussed decoupling property between the rotational movements of multirotors and that of the passive architecture, which is indispensable for designing a cascaded control law presented afterwards in Section 1.2.2. It has to be mentioned by the way that, the revolute joints are adequate for connecting the multirotors to the rigid structure in a 2D FPR design such as Fig. 1.6(a), which ensures the decoupling property in 2-dimensional space. The passive architecture in the FPR can be characterised by:

• the 6-dimensional pose of the moving platform (in case of 2D FPR design, its dimension is reduced to be expressed in 2D space);

• the additional coordinates associated with the internal configuration of each leg, which are specified according to different architecture designs. The 6-dimensional pose of the platform is commonly expressed by the position and orientation of the platform with respect to a global reference frame (denoted by F 0 ), using six coordinates (x, y, z, ψ, θ, ϕ). The first three components define the CoM position of the platform in the global frame, and the last three components represent the orientation of the platform relative to the global frame using the convention of Euler-Bryant angles [START_REF] Diebel | Representing attitude: Euler angles, unit quaternions, and rotation vectors[END_REF]. Therefore, the vector of the generalised coordinates for the passive architecture can be denoted by q p grouping the pose of the platform and the coordinates characterising the joint variables in the kinematic chains. The total number of DoFs of the FPR is thus characterised by the dimension of q p , denoted by n p .

The modelling process can be inspired by the analytical methods well studied for parallel robots, which generally implies a virtual separation of the platform from the rest of the robot to compose a tree structure. In the general modelling of FPR, the multirotors are virtually separated from the passive architecture, which allows obtaining a tree structure from the moving platform to the extremities of the legs (as seen in Fig. 1.8). Similarly to the dynamic modelling of parallel robots, the dynamic model is then calculated for each of the virtually separated elements. The overall dynamics of the FPR can finally be established by expressing the interaction force between the extremity of each element and the attached multirotor through the spherical joint.

To model a tree structure, it is common to use the Modified Denavit-Hartenberg (MDH) convention [Khalil, 2002b], which has been extensively adopted in modelling serial or Figure 1.8 -Virtual separation of UAVs with the passive architecture [Six, 2018a].

tree-structure robots. The MDH convention uses a number of parameters to describe the position and orientation of the downstream body according to the antecedent body, dependent on the type of joint for the connection (usually classified by revolute joint or prismatic joint). More complex joints can be decomposed and represented by a combination of several simple joints, for instance, a spherical joint can be seen as three revolute joints with orthogonal axes. More details about the modelling of a tree-structure robot can be found in [Khalil, 2002b, Chapter 7]. The parameters of MDH convention for an arbitrary body i are given by:

• ant i : the antecedent body of the body i in a single kinematic chain;

• µ i : equals to 0 (or 1) if the joint between two bodies is passive (or active);

• σ i : equals to 0 (or 1) if the joint type is revolute (or prismatic);

• α i , d i , θ i , r i : four parameters defining the position and orientation of the current joint i from the frame of its antecedent body;

• γ i , b i : supplementary parameters for the definition of frame in a tree structure.

To be able to model the mobility of the moving platform using the MDH convention, it is necessary to define a virtual serial architecture to relate the platform frame F p to the global frame F 0 using six coordinates of the platform pose. This virtual architecture can then be modelled by a 3P3R serial architecture (as illustrated in Fig. 1.9). The platform body B p is supposed to be aligned with the last body in the 3P3R architecture while the intermediary virtual bodies (denoted as V 1 to V 5 ) are considered to have zero mass and inertia, and to be coincident with each other. The order of three revolute joints depends on the rotation order defined by the chosen representation of orientation, e.g. for Euler-Bryant angles, the revolute joints are defined successively about x, y and z axis in the global frame. The parameters for the virtual architecture equivalent to the moving platform are given by Fig. 1.10. Figure 1.9 -Equivalent 3P3R architecture to the mobility of the moving platform [Six, 2018a].

Figure 1.10 -Table of MDH parameters associated with the virtual 3P3R architecture corresponding to the mobility of the moving platform [Six, 2018a] This MDH table will be completed according to the type of joints used in the legs and the geometric parameters from the platform to the extremities where the multirotors are located. After having fully determined the MDH table of the whole passive architecture, the computation of the geometric relation and kinematics of the FPR can be achieved by applying the well-structured analytical algorithms presented in [Khalil, 2002b], which results in a geometric model determining the positions of the leg extremities knowing the generalised coordinates q p and a kinematic model defining the velocity relationship as follows:

0 t i = J i (q p ) qp (1.1) where:

• qp is the generalised velocity vector of the passive architecture;

• 0 t i is the twist1 of the point O i (i.e. the extremity of each leg i) expressed in the global frame F 0 ;

• J i (q p ) ∈ R 6×np is the Jacobian matrix associated to the leg i which is dependent on the generalised coordinates q p .

One may refer to [Khalil, 2002b] for more details on how to derive the geometric relationship and kinematic model using the MDH convention.

By separating the linear velocity v i and angular velocity ω i of the twist, (1.1) can be further expressed by

  0 v i 0 ω i   =   J v,i J ω,i   qp (1.2)
For the dynamic modelling of the FPR, the first step is to model the dynamics of the passive architecture excluding the multirotors, as it has been virtually decoupled with the multirotors to compose a tree structure. Then, by introducing the multirotor's dynamics and the interaction forces between the multirotors and the legs, the complete dynamic model of the FPR can be derived.

First of all, the dynamics of the passive architecture can be computed using the Euler-Lagrange formula. The Lagrangian associated to the passive architecture is given by

L p (q p , qp ) = E p (q p , qp ) -U p (q p ) (1.3)
where E p and U p are respectively the kinematic and potential energy of the passive architecture. The equation of Euler-Lagrange is written as [Khalil, 2002b] d dt

∂L ∂ qp - ∂L ∂q = τ p (1.4)
where the virtual actuation wrench τ p can be expressed as a function of the interaction wrench w p,i = f T p,i m T p,i T between the multirotor i and the passive architecture architecture, where f p,i and m p,i are the force and moment. This is done by defining a virtual velocity q * p and a virtual twist t * i of the last body on each leg i. Then the principle of virtual power indicates that the virtual power of the passive architecture should be equivalent to the sum of power provided by the interaction wrench transmitted at the extremity of each leg, i.e. q * T p τ p = n i=1 t * T i w p,i (1.5) By replacing the term t * i by the kinematic relationship of (1.1), (1.5) becomes

τ p = n i=1 J T i w p,i (1.6)
Introducing this relation in (1.4) and linearising the equation given the acceleration vector of the generalised coordinates qp , the expression of the dynamic model in matrix form can be finally obtained as

M p qp + c p = n i=1 J T i w p,i (1.7)
with M p the generalised inertia matrix of the passive architecture, and c p a vector including the Coriolis, centrifugal and gravitational effects.

Then, the second step involves the calculation of the interaction wrench based on the development of the dynamics of the virtually separated multirotors. Each multirotor produces a thrust force acting on its frame, being subject to the interaction wrench w p,i from the legs and the gravity. Since the spherical joints are used to connect the multirotors to the passive architecture, the moments are not transmitted, i.e. m p,i = 0. The translational dynamics of a single multirotor i can thus be derived, which is expressed in the reference frame F 0 as follows

m i ri = f i + m i g -f p,i (1.8)
where:

• r i is the CoM position of multirotor i expressed in F 0 , and thus ri is its linear acceleration;

• f i is the 3-dimensional thrust force produced by the propellers of the multirotor i expressed in the global frame F 0 ;

• m i is the mass of multirotor i;

• g = 0 0 -g T is the gravity vector expressed in F 0 .

By further expressing the acceleration of each multirotor (i.e. the acceleration of the leg extremity vi ) using the derivatives of (1.2), it is possible to express the interaction force between the multirotor and the passive architecture by

f p,i = f i + m i g -m i (J v,i qp + Jv,i qp ) (1.9)
After knowing the interaction force established by the translational dynamics of mul-tirotors, this internal term in (1.7) can be cancelled to reach

M p qp + c p = n i=1 J T v,i (f i -m i J v,i qp -m i Jv,i qp + m i g) (1.10)
reminding that J v,i is the linear components of the Jacobian matrix, i.e. first three rows of J i , since no moments are transmitted to the passive architecture and thus the angular components (last three rows) of the Jacobian matrix in (1.2) are omitted. Knowing the rotation matrix associated to each multirotor's orientation, the 3-dimensional thrust force f i in (1.10) can be expressed by

f i = R i i f i (1.11) with i f i = 0 0 f z,i
T the body-frame thrust force and R i the rotation matrix dependent on the chosen convention of Euler angles. For the convention of Euler-Bryant angles (XYZ convention) defined by (ϕ i , θ i , ψ i ), the rotation matrix R i is given by

R i =      cos θ i cos ψ i -cos θ i sin ψ i sin θ i cos ϕ i sin ψ i + cos ϕ i sin θ i sin ψ i cos ϕ i cos ψ i -sin ϕ i sin θ i sin ψ i -sin ϕ i cos θ i sin ϕ i sin ψ i -cos ϕ i sin θ i cos ψ i sin ϕ i cos ψ i + cos ϕ i sin θ i sin ψ i cos ϕ i cos θ i     
(1.12) Introducing (1.11) in (1.10) and reformulating the equation, the following relation can be obtained

M p + n i=1 m i J T v,i J v,i qp + c p + n i=1 m i J T v,i ( Jv,i qp -g) = n i=1 J T v,i R i i f i (1.13)
By further grouping the relations for all the legs and multirotors, the dynamic model of the FPR can be written in matrix form as

M t qp + c t = J T p R t f t (1.14)
where:

• M t = M p + n i=1 m i J T v,i J v,i ∈ R np×np
This matrix is the composed generalised inertia matrix, which has taken into account the inertia matrix of the passive architecture and the sum of inertial effects due to the mass of multirotors attached at the extremities of legs.

• c t = c p + n i=1 m i J T v,i ( Jv,i qp -g) ∈ R np
This vector is composed of the Coriolis, centrifugal and gravitational terms corresponding to the passive architecture c p and those effects generated by the mass of multirotors.

• J p =         J v,1 J v,2
. . .

J v,n         ∈ R 3n×np
The complete Jacobian matrix concatenates the individual Jacobian matrices corresponding to each multirotor. Note that this Jacobian matrix is a priori not square.

•

R t =         R 1 0 • • • 0 0 R 2 • • • 0 . . . . . . . . . . . . 0 0 • • • R n         ∈ R 3n×3n
This is a square matrix concatenating the rotation matrices of all the multirotors.

• f t =         1 f 1 2 f 2 . . . n f n         ∈ R 3n
This is a vector concatenating the 3-dimensional thrust forces produced by all the multirotors, expressed in the local frame of each multirotor.

The rotational dynamics of multirotors are fully decoupled through the use of spherical joints, with the hypothesis being implicitly made that the centre of spherical joints is located at the CoM position of each multirotor. It can thus be expressed by a well-known formula such as the one presented in [START_REF] Mahony | Multirotor aerial vehicles: Modeling, estimation, and control of quadrotor[END_REF]. The orientation of the multirotor can also be characterised by Euler-Bryant angles, denoted by η i = ϕ i θ i ψ i T , with its body-frame rotational velocity and acceleration defined respectively by i ω i and i ωi . Then the rotational dynamics of a single multirotor can be given by

I i i ωi = -i ω i × (I i i ω i ) + i m i (1.15)
with I i the moment of inertia of the multirotor expressed in its body frame and i m i the moment generated by the multirotor about its own frame. The angular velocity of each multirotor i can be related to the rates of the Euler angles via the equation

i ω i = D i ηi (1.16)
where the matrix D i depends on the convention of the Euler angles, which can be given by the following equation coherent with the rotation matrix defined in (1.12).

D i =      cos θ i cos ψ i sin ψ i 0 -cos θ i sin ψ i cos ψ i 0 sin θ i 0 1     
(1.17)

Note that for small angles, i ω i ≈ ηi . This approximation is however not considered in the model as multirotors might have large inclination angles. By introducing the relation of (1.16) and its derivative into (1.15), the following equation can be obtained

I i D i ηi = -I i Ḋi ηi -D i ηi × (I i D i ηi ) + i m i (1.18)
The rotational dynamics of all the multirotors can be grouped and written in the same matrix form as in (1.14) by

M a qa + c a = m (1.19)
where:

•

q a =         η 1 η 2 . . . η n         ∈ R 3n
The vector concatenates the orientation coordinates of the multirotors.

•

M a =         I 1 D 1 0 • • • 0 0 I 2 D 2 • • • 0 . . . . . . . . . . . . 0 0 • • • I n D n         ∈ R 3n×3n
The matrix concatenates the product between the moment of inertia and the matrix D for each multirotor in diagonal elements.

•

c a =      I 1 Ḋ1 η1 + D 1 η1 × (I 1 D 1 η1 ) . . . I n Ḋn ηn + D n ηn × (I n D n ηn )      ∈ R 3n
This vector groups the Coriolis and centrifugal effects associated with the rotational movements of multirotors.

• m =      1 m 1 . . . n m n      ∈ R 3n
The vector concatenates the moments applied by the propellers of each multirotor on its body frame.

In general, the dynamic model of the FPR is composed of the dynamics of passive architecture including the effects due to the masses of multirotors depicted by (1.14) and the rotational dynamics of the multirotors in (1.19), formulating a decoupled system in two levels. The derivation of this dynamic model and its property is indispensable to designing the control algorithms, such as the motion control presented as follows.

Motion Control of Flying Parallel Robots

As mentioned above, the decoupling between the rotational dynamics of multirotors and the dynamics of the passive architecture allows to construct a cascaded control law, which is composed of:

• A high-level control loop for the trajectory tracking of the passive architecture;

• A low-level attitude control of multirotors to achieve the thrust forces required by the high-level loop.

This arrangement is achievable and commonly seen in other rigidly connected multi-UAV designs such as [START_REF] Nguyen | A Novel Robotic Platform for Aerial Manipulation Using Quadrotors as Rotating Thrust Generators[END_REF], because the response of multirotor's rotational dynamics is much faster than the dynamics of the rigid structure.

For the control of the passive architecture, considering the dynamic model given by (1.14), an auxiliary control input ν p can be defined such that the inverse dynamic model can be written as a double integrator system, i.e.

qp = ν p = M -1 t (J T p R t f t -c t ) (1.20)
Given a desired trajectory on the coordinates of the passive architecture to follow, denoted by (q d p , qd p , qd p ), the auxiliary input can be established by a PID (Proportional-Integral-Derivative) control law for minimising the tracking error defined by e p = q pq d p , which is written as .21) with K p , K d and K i the positive-definite diagonal matrices respectively for the proportional, derivative and integral gains. These gains should be properly determined to make sure the convergence of the double integrator system of (1.20). In general cases, a PD regulation is sufficient to ensure the convergence towards the desired trajectory. However, the integral term is sometimes mandatory to compensate for the static error due to the inevitable modelling errors, which in contrast can not be handled by a PD controller. Then, combining equations (1.20) and (1.21), the control input of the passive architecture denoted by an auxiliary variable ν J of dimension (3n × 1) is known

ν p = qd p -K p e p -K d ėp -K i e p ( 1
ν J = (J T p ) † M t qd p -K p e p -K d ėp -K i e p + c t (1.22)
which is the vector of thrust forces required to actuate the system expressed in F 0 , i.e.

ν J = R t f t = f T 1 f T 2 • • • f T n T (1.23)
with f i the 3-dimensional thrust force of multirotor i expressed in F 0 . Note that (J T p )

is the pseudo-inverse of the transpose of the Jacobian matrix J p , since the matrix J p is generally not a square matrix, i.e. 3n ̸ = n p .

Once the commands on the vector of thrust forces are known, the setpoints for the low-level system can be determined, consisting in the total thrust and the desired attitude of each multirotor. It can be done by simplifying the expression of (1.23) to keep only the z components of each i f i , as the thrust forces produced by multirotors are always along the z axis of its own frame. Therefore, the expression of (1.23) can be reduced to be expressed in the form of

ν J = R r f z (1.24) with f z = f z,1 f z,2 • • • f z,n
T being the vector concatenating the z components of each i f i as the total thrust produced by each multirotor, and R r the reduced matrix of R t having the dimension of (3n × n) which is composed of the third columns of each rotation matrix R i . From (1.12) and (1.14), it can be written by

R r =                           sin θ 1 -sin ϕ 1 cos θ 1 0 • • • 0 cos ϕ 1 cos θ 1 sin θ 2 0 -sin ϕ 2 cos θ 2 • • • 0 cos ϕ 2 cos θ 2 . . . . . . . . . . . . sin θ n 0 0 • • • -sin ϕ n cos θ n cos ϕ n cos θ n                           (1.25)
which brings the direct relationship of the auxiliary variable ν J with the total thrust and attitude for each multirotor i as

sin ϕ i f z,i = ν J,3i-2 -sin ϕ i cos θ i f z,i = ν J,3i-1 cos ϕ i cos θ i f z,i = ν J,3i
(1.26) with ν J,k the k-th component of the vector ν J . Therefore, the total thrust and the desired attitude (roll and pitch) of each multirotor can be determined by

f z,i = ν 2 J,3i-2 + ν 2 J,3i-1 + ν 2 J,3i ϕ i = -atan2(ν J,3i-1 , ν J,3i
)

θ i = asin( ν J,3i-2 f z,i ) (1.27)
However, the yaw angle ψ i of each multirotor cannot be determined from (1.24). According to (1.16) and (1.17), the multirotor's yaw movement will have an effect on its inclination angle, and thus the 3-dimensional thrust it produces. To produce the correct thrust, a predefined constant yaw for each multirotor should be maintained.

In the low-level control loop running at a higher frequency, the objective is to achieve the desired setpoints computed beforehand. Considering the rotational dynamics of multirotors depicted by (1.19), the control input of the attitude controller consists of the moments generated on each multirotor's frame, i.e. the vector of m. The desired setpoints of all the multirotors can be grouped by a vector q d a , with the tracking error defined by e a = q aq d a . Similarly to the process in the high-level loop, the inversion of the dynamic model allows to construct a double integrator system, by defining an auxiliary input ν a such that qa = ν a = M -1 a (mc a ) (1.28)

A control law can therefore be designed based on the auxiliary input ν a which is corresponding to the angular accelerations of multirotors. To make up the concept of a cascaded control algorithm in two levels, rapid convergence and good stability of attitude tracking are crucial in the low-level controller. The sliding mode control is thus chosen to ensure these two features, which in addition is robust to the modelling errors and perturbations. The vector of the sliding surface variable is firstly defined by [Six, 2018a] σ = ėa + Λ 1 e a + Λ 2 e a (1.29) with Λ 1 and Λ 2 two positive-definite diagonal matrices. The auxiliary input can then be computed by sliding mode as

ν a = qd a -Λ 1 ėa -Λ 2 e a -K s sign(σ) (1.30)
with K s a positive-definite diagonal matrix for the gains. The output of the function sign(.) is defined by a vector s of the same dimension

sign(σ k ) =            1 if σ k > 0 0 if σ k = 0 -1 if σ k < 0 (1.31)
The stability of the sliding mode control can be proven using the Lyapunov theory [Khalil, 2002b]. Considering a Lyapunov function defined by V = σ T σ, its derivative is written by V = -2σ T σ (1.32)

By introducing (1.29), there is V = -2σ T (q a -qd a + Λ ėa + Λ i e a ) (1.33) Combining (1.30) and (1.33), the following relation can be found V = -2σ T K s sign(σ) (1.34) which is strictly negative for σ not zero. Therefore, σ converges asymptotically towards zero in infinite time, which ensures the stability of the closed-loop system. Once the convergence of the sliding surface variable is achieved, the evolution of the tracking error can be written by the error dynamics ėa + Λe a + Λ i e a = 0 (1.35) The convergence towards the desired attitude q d a is guaranteed, since Λ and Λ i are the matrices with coefficients strictly positive. However, despite its robustness, the sliding mode control often suffers from the chattering issue, which is an undesired phenomenon caused by the non-continuous output of sign(.) function. A solution to limit this problem is to replace the sign(.) by a saturation function sat(.) which outputs continuously and is given by

sat(σ k ) =            1 if σ k > ϵ k σ k /ϵ k if ∥σ k ∥ ≤ ϵ k -1 if σ k < -ϵ k (1.36)
with ϵ k an arbitrarily small value defining a boundary around the sliding surface.

Finally, the control input for the attitude controller is obtained by the combination of sliding mode control law and the dynamic model as follows

m = M a qd a -Λ ėa -Λ i e a -K s sat(σ) + c a (1.37)
The control input of multirotors is then completed by f z and m, i.e. the vector of total thrusts and the vector of moments. These commands can be achieved by an onboard flight controller that distributes the force and moment commands to the rotor speeds. It needs to be mentioned that for quadrotors, the commands of f z and m are sufficient to fully determine the motor inputs of each propeller, while in the case of hexarotor or octorotor, an additional allocation method should be applied to allocate the control commands since the number of actuators is greater than the dimension of the commands (i.e. the system is over-actuated).

The overall control algorithm of the flying parallel robot can be summarised by the diagram shown in Fig. 1.11. The high-level loop regulates the coordinates of the passive architecture, with its output determining the total thrust and the attitude (roll and pitch) for each multirotor required to actuate the system. The desired roll and pitch angles from the output of the high-level loop are usually filtered to avoid high-frequency noises, and the desired yaw is predefined to fully compose the attitude setpoints. Then the low-level loop running at a higher frequency stabilises the attitude of the multirotors and ensures the production of desired thrust forces using the sliding mode control law. The stability of the complete control procedure for trajectory tracking is ensured by the arrangement of the cascaded control algorithm.

Conclusion

In this chapter, the topics of aerial manipulation and the design of the Flying Parallel Robot (FPR) have been discussed. A literature review on the existing aerial manipulator architectures is firstly conducted, in which a variety of aerial vehicle platforms have been adopted to achieve the manipulation tasks, and the transition of designs has been found from single-UAV manipulators equipped with onboard end-effectors to multi-UAV designs as cooperation systems or rigidly connected systems. Belonging to the class of multi-UAV manipulators, the FPR presents a passive architecture analogous to a parallel mechanism supported by multiple UAVs. This design has the potential of achieving various and possibly complex manipulation tasks with a single architecture due to the advantages of combining the parallel mechanism design with aerial vehicles.

General modelling of the FPR has then been presented, and the decoupling property between the rotational dynamics of multirotors and the dynamics of the passive architecture allows the design of a cascaded control algorithm which has the objective to track a desired trajectory of the passive architecture in the high-level loop and stabilise the attitudes of multirotors in the low-level loop. These state-of-the-art studies on aerial manipulators and the general design of FPR serve as a solid basis for this thesis. The modelling process and the motion control algorithm have also been the preliminaries for the studies on a specific FPR presented in the rest of the manuscript.

Chapter 2

GEOMETRIC, KINEMATIC AND DYNAMIC MODELLING

This chapter presents the geometric relations, kinematics and dynamics of a specific Flying Parallel Robot (FPR) composed of a moving platform supported by a number of multirotor-based Unmanned Aerial Vehicles (UAVs) with passive kinematic chains. An introduction to this particular design of the FPR is given in the first section. The second section presents the system description such as the coordinate frames and the robot states. The third section demonstrates the geometric relations, which are then derived to compute the kinematics in the fourth section. The dynamic modelling of the FPR is detailed in the fifth section, in which the dynamics of the passive architecture is modelled using two numerical algorithms and the decoupled rotational dynamics for each multirotor is discussed. Numerical validation of the kinematics and dynamics is presented in the sixth section.

Introduction

The Flying Parallel Robot (FPR) studied within the scope of this thesis is a specific case of the general design presented in Section 1.2, which is explicitly composed of ❖ a moving platform potentially equipped with an end-effector; ❖ a number of rigid legs connected to the platform using one-DoF revolute joints;

❖ multirotors connected at the extremity of each leg by means of spherical joints.

All the joints in the FPR are not actuated and the only actuation of the system is provided by the multirotors. The location of the spherical joints connecting the multirotors to the rigid legs is assumed to be the Centre of Mass (CoM) position of each multirotor, which is a reasonable assumption commonly found in other multi-UAV robots with rigidly-connected links as in [START_REF] Nguyen | A Novel Robotic Platform for Aerial Manipulation Using Quadrotors as Rotating Thrust Generators[END_REF]Li, 2021b]. The spherical joint is a constraint element allowing the relative rotation of two bodies and transmitting only force but not moment. This mechanical property makes it possible to decouple the rotational dynamics of multirotors from the dynamics of the passive architecture 1 , similarly to what has been discussed in Section 1.2. The multirotors can thus be considered as rotating thrust generators in 3dimensional space, providing together thrust forces to actuate the passive architecture of the FPR. As a result, it is possible to consider the FPR as a cascade system composed of • the passive architecture with relatively slow dynamics that is driven by the thrust forces of multirotors transmitted to the leg tips via spherical joints;

• multirotors that generate the corresponding thrust forces, with fast rotational dynamics decoupled from the dynamics of the passive architecture.

The translational dynamics of each multirotors is however dependent on that of the passive architecture as they are rigidly connected to the legs. In the state of the art for the general modelling of FPRs (referred to Section 1.2.1), the overall dynamics of the FPR can be derived by introducing the interaction force between the multirotor and the corresponding leg. Then by cancelling the interaction force that appears both in the translational dynamics of the multirotor and dynamics of the passive architecture, a generalised dynamic model of the FPR is obtained. This methodology can be applied to model the specific FPR studied in this thesis. However, another solution is adopted to simplify the modelling process, without the requirement of introducing the interaction force. Actually, the multirotors can be considered as additional mass points added at the extremities of the legs, by which the translational dynamics of the multirotors are systematically taken into account in the model of the passive architecture, while the rotational dynamics of each multirotor remains decoupled with this dynamic model. In addition, more intuitive and numerically efficient methods are used regarding the geometric, kinematic and dynamic modelling of this FPR, instead of applying the state-of-the-art methods based on the MDH convention and Euler-Lagrange formula.

System Description

A general scheme of the FPR is shown in Fig. 2.1, demonstrating a platform supported by several multirotor-based UAV via the rigid legs. Note that the subscript i is denoted as an index for the number of the leg and the multirotor, which remains the same meaning in the rest of the manuscript. In addition, several frames are presented, and respectively denoted by: • F 0 an inertial reference frame fixed in a global localisation system with its origin denoted by O;

• F p a body-fixed frame of the platform located at its CoM position denoted by P ;

• F li a frame attached to the centre of leg i's revolute joint A i , in which the joint angle is expressed around the z axis;

• F bi a body-fixed frame attached to the CoM position B i of the multirotor i.

As discussed in Section 1.2.1, the generalised coordinates of the FPR consist of the 6dimensional pose of the platform and the additional mobility in the passive kinematic chains. For the orientation of the platform, the representation of unit quaternion is chosen, in order to avoid the potential singularity issue associated with the Euler angles. The mobility in the passive chains is characterised by the angle of the respective revolute joint. Therefore, the vector of the generalised coordinates can be defined by

q =      p p q p θ l      ∈ R 7+n (2.1)
where p p ∈ R 3 is the 3-dimensional position of the platform, q p ∈ H is the unit quaternion of the platform, which is defined in the quaternion space H, and

θ l = θ 1 θ 2 ... θ n T ∈
R n is a vector concatenating the leg angles. n is the total number of legs (and multirotors) and is supposed to be equal to or greater than 3. If n < 3, it can be proven that the system is under-actuated such that the 6-dimensional pose of the platform is not fully controllable [Six, 2018a], which is undesired and out of the research interests in this thesis.

The generalised velocity of the FPR is defined by a vector

ν =      v p p ω p θl      ∈ R 6+n (2.2)
including the linear velocity of the platform v p ∈ R 3 expressed in F 0 , the body-frame angular velocity of the platform p ω p ∈ R 3 in F p , and a vector of the leg angle rates θl = θ1 , θ2 , ..., θn T ∈ R n . The generalised acceleration of the FPR is given by a vector

ν =      a p p ωp θl      ∈ R 6+n (2.3)
where a p is the linear acceleration of the platform with respect to F 0 and expressed in F 0 , p ωp is the angular acceleration expressed in F p and θl concatenates the joint angle accelerations. Note that a p can be calculated by the time derivative of the velocity as vp since the linear velocity of the platform is also expressed in F 0 .

The coordinates of the actuators (i.e. each multirotor i) can be defined by the position p i ∈ R 3 and orientation q i ∈ H with respect to the reference frame F 0 , while its linear and angular velocities are denoted by v i ∈ R 3 expressed in F 0 and bi ω i ∈ R 3 expressed in F bi . Each multirotor produces a thrust force to actuate the FPR, represented by a vector f i ∈ R 3 expressed in F 0 which can be written as bi f i = 0 0 f t,i T in its body-fixed frame F bi , with f t,i being the total thrust magnitude. It should be remarked that any multirotor-based UAV can be applied as the actuators in the FPR design, among which the quadrotor (as shown in Fig. 2.1) has been chosen in the works done during this thesis for several reasons, including ❖ Fully actuation: Given a thrust force vector f i and desired yaw as commands, quadrotor's inputs are fully determined, i.e. thrust magnitude and orientation in 3-dimensional space derived from f i can deterministically define the four inputs of the quadrotor's motors.

❖ Implementation simplicity: Quadrotor's control has been intensively studied in the literature, and open-source autopilot software is available.

To not to lose the generality in the following sections, the term multirotor is still used to present the multirotor-based UAVs as the quadrotors used in the FPR.

It is additionally noted that the orientation of any given body j can also be defined by Euler angles using ZYX convention as η j = ϕ j ϑ j ψ j T ∈ R 3 , with ϕ j , ϑ j , ψ j respectively representing the roll, pitch and yaw angle of a body (see [START_REF] Diebel | Representing attitude: Euler angles, unit quaternions, and rotation vectors[END_REF] and Appendix A.1). This representation is beneficial to simplify the trajectory generation and data analysis, which might however encounter singularity problems and is thus not preferable in the control. Remark that the unit quaternion is the only representation adopted in the control algorithms presented in this thesis, while the Euler angles are used when it is needed (such as data analysis). The conversion between Euler angles and the corresponding unit quaternion can be found in Appendix A.2.

Geometric Relations

The geometric relations in robotics involve generally the Direct Geometric Model (DGM) which determines the end-effector pose from the values of the actuated joints, and the Inverse Geometric Model (IGM) as an inverse problem of the DGM. For parallel robots, the DGM is a complex problem in general, as it cannot be easily expressed in analytical form and might have multiple solutions. In contrast, the IGM is simple to derive and remains unique for parallel robots.

The IGM of the FPR is specifically referred to as the model computing the positions of multirotors knowing the coordinates of the passive architecture, since the actuators are the multirotors and the robot pose is composed of not only the pose of the end-effector (i.e. the platform), but also the leg angles. This model can then be applied to compute the internal configuration of the FPR (i.e. leg angles), supposing that the positions of multirotors and the pose of the platform are known by exteroceptive sensors. Finally, the additional consideration on the location of spherical joints attached to the multirotor that is away from the multirotor's CoM will be presented.

Inverse Geometric Model (IGM)

The location of the multirotor i's CoM position can be determined via the kinematic chain linking the moving platform to each multirotor, as

--→ OB i = -→ OP + --→ P A i + --→ A i B i (2.4)
This relation can be written by introducing the system's coordinates as

p i = p p + r • r i + l • l i (2.5)
where p i is the 3-dimensional position of the multirotor i, r is denoted as the radius of the platform (distance from its CoM position to the centre of the revolute joint), and l as the length of the leg, r i , l i are two unit vectors defining the direction of --→ P A i and --→ A i B i . These two unit vectors are expressed in F 0 , which is however constant if being expressed respectively in F p and F li . Thus, the following transformations of frames can be found

   r i = R p p r i l i = R p p R li li l i (2.6)
where R p is the rotation matrix associated to the quaternion q p (referred to (A.60) in Appendix A.2), p R li the rotation matrix defining the transformation from F li to F p , and p r i , li l i are obviously two constant vectors that can be defined by

p r i =      cos α i sin α i 0      , with α i = (i -1) • (n -2)π n ; li l i =      1 0 0      (2.7)
α i is a constant parameter defining the inclined angle between --→ P A i and the x axis of the platform frame in F p , with α 1 initialized as zero (i.e.

--→ P A 1 aligned with platform's x axis). It is recalled that the total number of the legs satisfies n ≥ 3 to ensure the expression of α i in (2.7) being valid. The transformation between F li and F p given by p R li can be defined with three sequential rotations similarly as the definition of Euler angles in ZXZ convention (see Appendix A.1), by firstly rotating an angle of α i around z axis of the frame F p , then following with a rotation of -π/2 around the x axis of the rotated frame, and rotating an angle of θ i around the new z axis to finally obtain the frame F li (as shown in Fig. 2.2, with F ′ and F ′′ being two intermediary frames). By multiplying the corresponding unit coordinate rotations given by (A.40), (A.41) and (A.42) in Appendix A.1, the rotation matrix p R li can be derived as

p R li = R z (α i )R x (- π 2 )R z (θ i ) =      cos α i -sin α i 0 sin α i cos α i 0 0 0 1           1 0 0 0 0 1 0 -1 0           cos θ i -sin θ i 0 sin θ i cos θ i 0 0 0 1      =      cos α i cos θ i -cos α i sin θ i -sin α i sin α i cos θ i -sin α i sin θ i cos α i -sin θ i -cos θ i 0      (2.8)
Finally, by grouping the equation of (2.5) for each multirotor, the complete IGM model can be obtained, which can be summarised by p = IGM(q)

(2.9)

with p = p T 1 p T 2 • • • p T n T
∈ R 3n a vector concatenating the positions of all the multirotors, and the input q as the vector of generalised coordinates of the robot.

Calculation of Internal Configuration via Geometric Relation

The geometric relation derived above can be used to calculate the internal configuration of the robot, i.e. the inclined angles θ i of the revolute joints on the legs, knowing the position of the multirotor p i and the pose of the platform p p and q p . By definition of the dot product between two vectors, the following relationship can be found

--→ P A i • --→ A i B i = ∥ --→ P A i ∥ • ∥ --→ A i B i ∥ • cos θ i (2.10)
from which the revolute joint angle of the leg i can be derived as

θ i = acos   --→ P A i • --→ A i B i ∥ --→ P A i ∥ • ∥ --→ A i B i ∥   (2.11) where --→ P A i and --→ A i B i are vectors expressed in F 0 .
Using the geometric relationship derived in the IGM, the expression of these two vectors can be given knowing the position of the multirotor i and the platform p i , p p , and the rotation matrix R p associated with the platform orientation q p as follows

           --→ P A i = R p p r P A i --→ A i B i = --→ OB i - --→ OA i = --→ OB i -( -→ OP + --→ P A i ) = p i -(p p + R p p r P A i ) (2.12)
where p r P A i is a constant vector defining the revolution joint i's position in F p and apparently p r P A i = r • p r i , with p r i a constant unit vector defined in (2.7). Note that the calculation of the leg angles using (2.11) can also be done if all the vectors are expressed in a local frame, such as F p .

Location of Spherical Joint attached on the Multirotor

The spherical joint attaching the multirotor to the leg's tip is not necessarily located at the multirotor's CoM position. In the design of the FPR within the range of this thesis, the location of the spherical joint lies in the plane defined by the x and y axes of the multirotor's body-fixed frame F bi . This location can thus be characterised by two constant parameters, the relative distance d and the relative angle β with respect to the multirotor i's frame as depicted in Fig. 2.3. A set of more generalised parameters can be defined such as the relative position of the joint's centre in the multirotor frame. However, only d and β are used to parameterise the location of the spherical joint to keep the coherence and simplicity of the actual mechanical design.

From Fig. 2.3, it can be found that d = ∥ --→ B i S i ∥ and β is the inclined angle between --→ B i S i and x axis of the multirotor's body-fixed frame F bi . Note that these two parameters d and β can be different for each multirotor, in particular the relative angle β where the spherical joint is connected. However, their values are considered as equal for all the multirotors in this FPR which is ensured by the assembly prerequisite. In addition, while a common assumption is that the centre of the spherical joint is located at the CoM position of the multirotor (i.e. d = 0) as discussed in Section 2.1, the fact that d ̸ = 0 makes the geometric relationship of (2.4) deviated by

--→ OB i = -→ OP + --→ P A i + --→ A i S i + --→ S i B i (2.13)
which gives the following expression introducing the robot variables

p i = p p + r • r i + l • l i + d • d i (2.14)
with d i representing the unit vector of --→ B i S i expressed in F 0 . However, the conditions that r ≫ d and l ≫ d allow this additional term in the geometric model to be neglected, as the radius of the platform r and the leg's length l are often required to be large enough such that no potential collision or interference between the multirotors would occur. In the following sections, the condition that d = 0 is a priori assumed, while additional discussions on the case where d ̸ = 0 will be made in Section 2.5.5 dealing with rotational dynamics of the multirotor. The geometric relation given by (2.5) can be further derived to develop the kinematic model, which is detailed in the next section.

Kinematics

Similarly to geometric models, the Forward Kinematic Model (FKM) and the Inverse Kinematic Model (IKM) of the robot are dual models to construct the relationship between the velocity of the actuated variables and the velocity of the robot generalised coordinates. Similarly to the geometric model, the IKM of the FPR is easily computed which computes the linear velocity of each multirotor based on the knowledge of generalised velocity vector. The FKM is thus solved by the inverse of IKM. The second-order kinematics is also detailed as follows.

First-Order Kinematics

For the FPR, the first-order IKM can be developed by differentiating the geometric relationship in (2.5), which gives

v i = v p + r • ṙi + l • ˙li (2.15)
with v i ∈ R 3 being the linear velocity of multirotor i expressed in F 0 . Note that v p is the linear velocity of the platform. The derivatives ṙi and ˙li require however the differentiation of the rotation matrices, which hold

ṙi = Ṙp p r i + R p p ṙi = R p [ p ω p ] × p r i = -R p [ p r i ] × p ω p (2.16) ˙li = Ṙp p R li li l i + R p p Ṙli li l i + R p p R li li ˙li = R p [ p ω p ] × p R li li l i + R p p R li [ li ω li/p ] × li l i = -R p [ p l i ] × p ω p -R li [ li l i ] × li ω li/p (2.17)
where p ω p is the body-frame angular velocity of the platform, li ω li/p ∈ R 3 is the angular velocity of the frame F li with respect to F p and expressed in F li , which is by definition given as li ω li/p = θi δ i , with θi the leg angle rate and δ i = 0 0 1 T representing the revolute-joint axis of the leg i. Note that [.] × represents the skew-symmetric matrix associated with an arbitrary 3-dimensional vector for the cross product operation (referred to (A.50) in Appendix A.1), p l i = p R li li l i is the vector l i expressed in F p , and R li = R p p R li represents the rotation matrix from F li to F 0 .

The kinematics relationship of (2.15) can be computed by introducing (2.16) and ( 2.17) into (2.15) and taking li ω li/p = θi δ i into account, as

v i = v p -r • R p [ p r i ] × p ω p -l • (R p [ p l i ] × p ω p + θi • R li [ li l i ] × δ i ) (2.18)
where the result of the cross product

[ li l i ] × δ i = li l i × δ i = 0 -1 0
T can be further applied to develop (2.18), which gives

v i = v p + (r • R p [ p r i ] T × + l • R p [ p l i ] T × ) p ω p + θi l • y li (2.19) with -[.] × = [.]
T × and y li representing the y-axis vector (i.e. second column) of the rotation matrix R li . The physical interpretation of this relationship can be given as follows:

• the linear velocity of each multirotor v i is directly linked to the linear velocity of the platform v p , both expressed in F 0 .

• the angular velocity of the platform causes additionally translational movements at the leg extremities. Note that the term (r

• R p [ p r i ] T × + l • R p [ p l i ] T × )
p ω p can be interpreted as p ω p × r P B i , with r P B i representing the vector of --→ P B i .

• the rotational rate of the leg angle θi generates translational movement of the multirotor only along y axis of the leg i's frame, according to the only possible DoF of the multirotor in leg's frame constrained by the revolute joint.

By concatenating the kinematics relationship in (2.19) for each multirotor i, the first-order IKM of the FPR can be finally derived by

v =         1 3×3 J ω 1 l • y l1 0 3 ... 0 3 1 3×3 J ω 2 0 3 l • y l2 ... 0 3 . . . . . . . . . . . . . . . . . . 1 3×3 J ωn 0 3 0 3 ... l • y ln                       v p p ω p θ1 θ2 . . . θn               = Jν (2.20)
where 6+n) is the Jacobian matrix linking the generalised velocity of the robot ν ∈ R 6+n to the vector of the multirotor linear velocities

J ω i = r • R p [ p r i ] T × + l • R p [ p l i ] T × ∈ R 3×3 , 1 3×3 is the (3 × 3) identity matrix and 0 3 is a (3 × 1) vector of zeros. J ∈ R (3n)×(
v = v T 1 v T 2 ... v T n T ∈ R 3n .
The FKM of the FPR, also called Forward Kinematics, is dedicated to calculate the velocity coordinates from the linear velocities of the multirotors. For the FPR, this model can be derived by the inverse of (2.20) as

ν = J † v (2.21)
with J † being the pseudo-inverse of the Jacobian matrix when the dimension of the actuated states (the linear velocities of multirotors, 3n) is superior than the dimension of robot coordinates (generalised velocity, 6 + n), i.e. the robot is over-actuated. Note that for the case where n = 3, J † = J -1 since J is square (3n = 6 + n), and the system is fully actuated. However, the inverse of Jacobian matrix necessitates J being invertible, i.e. det(J) ̸ = 0. It has been proven that this assumption holds true if all the leg angles are within the range of [0, π/2] rad [Six, 2018b].

Second-Order Kinematics

The second-order kinematic model depicts the relationship between the acceleration of the actuated variables and that of the robot configuration, which can be derived directly by the differentiation of the first-order kinematics in (2.20)

as v = J ν + Jν (2.22)
where v = v1 v2 ... vn T ∈ R 3n is a vector concatenating the linear accelerations of multirotors expressed in F 0 . J is the Jacobian matrix given in (2.20) and J ∈ R (3n)×( 6+n) is the derivative of the Jacobian matrix in form of

J =         0 3×3 Jω 1 l • ẏl1 0 3 ... 0 3 0 3×3 Jω 2 0 3 l • ẏl2 ... 0 3 . . . . . . . . . . . . . . . . . . 0 3×3 Jωn 0 3 0 3 ... l • ẏln         (2.23)
where

Jω i = r • R p [ p ω p ] × [ p r i ] T × + l • R p [ p ω p ] × [ p l i ] T × + l • R p [ p R li [ θi δ i ] × li l i ] T × ∈ R 3×3 , ẏli is the second column of the matrix given by Ṙli = R p [ p ω p ] × p R li + R p p R li [ θi δ i ] × ∈ R 3×3 .
Similarly as in FKM, the acceleration of the FPR can be computed knowing the accelerations of the multirotors, i.e. ν = J † ( v -Jν)

(2.24)

J † = J -1 when n = 3, assuming that det(J) ̸ = 0.

Dynamics

The dynamics model depicts the relationship between the robot motion and the applied actuation wrench by the equation of motion. It is necessary to derive an accurate dynamic model for the purpose of simulating the robot's behaviour using the Direct Dynamic Model (DDM) or constructing the control law with the Inverse Dynamic Model (IDM).

As discussed in Section 2.1, the dynamics of the FPR is decoupled by two-level systems: dynamics of the passive architecture and rotational dynamics of multirotors, which is ensured by the mechanical property of using spherical joints attached to the CoM of the multirotors. The effects due to the masses of multirotors are additionally considered within the development of the IDM for the passive architecture, which eliminates the need of introducing interaction force between the multirotor and the leg as in [Six, 2018a].

The IDM of the passive architecture can generally be written in matrix form as

M(q) ν + c(q, ν) = τ (2.25)
where M(q) ∈ R (6+n)×( 6+n) is the generalised inertia matrix, c(q, ν) ∈ R 6+n is a vector including Coriolis, centrifugal and gravitational effects, and τ ∈ R 6+n is the actuation wrench applied to the robot. This model can also be expressed as 6+n) the Coriolis matrix factorizing the Coriolis and centrifugal terms, and g(q) ∈ R 6+n being the generalised gravity wrench, such that c(q, ν) = C(q, ν)ν + g(q). Note that ν and ν represent the generalised velocity and acceleration of the robot as defined in (2.2) and (2.3). For more general cases in classical robotics, they are often represented by the derivatives of the robot coordinates q and q.

M(q) ν + C(q, ν)ν + g(q) = τ (2.26) with C(q, ν) ∈ R (6+n)×(
The dynamic modelling consists in computing the terms in (2.25) or (2.26) either in analytical forms or using numerical algorithms. It is straightforward to get expressions of the dynamic model using Euler-Lagrange formulation as discussed in Section 1.2.1. However, the development of analytical expressions is often tedious and computationally heavy to be implemented in real time. Therefore, numerical methods are more commonly adopted, such as Khalil's method based on recursive Newton-Euler algorithm [Khalil, 2002b] and Featherstone's method using Spatial Vector notation [START_REF] Featherstone | Rigid Body Dynamics Algorithms[END_REF]]. Khalil's method is usually applied to obtain the dynamic model in form of (2.25), which is then used to construct a dynamic model-based control law. The Spatial Vector notation uses 6-dimensional vectors and matrices, and equations are thus more compact. A numerical algorithm for computing the Coriolis matrix in (2.26) is furthermore applied, which might be required in specific control and estimation methods. They are therefore indispensable for developing algorithms presented in the following chapters of this thesis.

In the following subsections, the computation of the actuation wrench for the passive architecture is firstly given. Then, two numerical methods for the dynamic modelling respectively based on the recursive Newton-Euler algorithm and Spatial Vector notation will be detailed. In the fourth subsection, the gravity wrench can be computed directly by the static model, which complements the dynamic model written in form of (2.26). Finally, the decoupled rotational dynamics of multirotors will be presented.

Computation of Actuation Wrench

As discussed in Section 2.1, the FPR is a cascaded system in which the dynamics of the passive architecture is decoupled with the rotational dynamics of multirotors. The system is exclusively actuated by the thrust forces produced by the multirotors. The 3dimensional thrust forces produced by the multirotors can be concatenated by a vector

f = f T 1 f T 2 • • • f T n T ∈ R 3n
, with f i ∈ R 3 the thrust force vector of the multirotor i expressed in F 0 . The actuation wrench of the FPR given by τ in the dynamic models can be expressed as

τ =      f p p m p m l      ∈ R 6+n (2.27) with f p ∈ R 3 , p m p ∈ R 3
being the 3-dimensional force and moment actuated on the platform expressed respectively in F 0 and F p , and m l = m l1 m l2 ... m ln T ∈ R n concatenating the moments actuated about the revolute-joint axis of the legs. The actuation wrench can be computed from f using the static relation such that

τ = J T f (2.28)
where J is the kinematic Jacobian matrix defined in (2.20) relating the generalised velocity of the FPR to the velocities of actuated multirotors. This relationship can be proven by the principle of virtual power as follows (referred to Section 1.2.1 and [START_REF] Briot | Dynamics of Parallel Robots: From Rigid Bodies to Flexible Elements[END_REF]).

Proof. Consider a virtual velocity of the robot ν * which is driven by the virtual velocities of the multirotors v * . In absence of any other effects, the thrust forces of the multirotors f lead to the robot's actuation wrench τ . Thus, power conservation states that

ν * T τ = v * T f (2.29)
Replacing v * with kinematic relation given by (2.20) gets

ν * T τ = (Jν * ) T f (2.30)
which can be further simplified to obtain the relation (2.28) with the virtual velocity ν * being arbitrary.

Dynamic Modelling via Recursive Newton-Euler Algorithm

The recursive Newton-Euler algorithm uses the recursive computation of Newton-Euler equations allowing to decrease the computational complexity of the dynamic model [START_REF] Khalil | Dynamic modeling of robots using recursive Newton-Euler techniques[END_REF][START_REF] Briot | Dynamics of Parallel Robots: From Rigid Bodies to Flexible Elements[END_REF]. The algorithm starts with the formulation of the Newton-Euler equations for each rigid body in the robot, giving the total forces Σf j and moments Σm j on the body j at the origin of its frame F j , i.e.

Σf j = m j a j + ωj × ms j + ω j × (ω j × ms j ) Σm j = I O j ωj + ms j × a j + ω j × (I O j ω j ) (2.31)
where a j is the linear acceleration of the origin of the frame F j , ω j and ωj are the angular velocity and acceleration of the link, ms j ∈ R 3 is the vector of the first moment of inertia which is calculated by

ms j = m j s j (2.32)
as the mass of the body m j multiplied by the CoM position s j of the link with respect to its own frame F j . I O j ∈ R 3×3 is the rotational inertia matrix expressed at the origin of F j .

Then, the dynamic model is obtained by applying two recursive algorithms sequentially, the forward recursive computation for the velocity and acceleration of the links, i.e. right side of the equations (2.31) and the backward recursive computation for the total forces and moments, i.e. the left side of the equations (2.31). The recursive algorithms for the modelling of the FPR are detailed as follows, which involve the computation of the inertial matrix and the Coriolis vector for the dynamics of the passive architecture considering additional masses of the multirotors attached at the leg tips. Note that the moving platform is considered as the (floating) base of the robot, required to define the forward and backward directions as in the modelling of classical robotic manipulators.

Forward Recursive Computation

The forward computation has the objective to compute the velocities and accelerations of the legs from those of the platform. It is therefore initialized by the knowledge of the platform twist (i.e. v p and p ω p ) and accelerations (i.e. a p and p ωp ) with respect to F 0 , where v p , a p are further converted to be expressed in F p by p v p = R T p v p and p a p = R T p a p .

Then, the velocity of the leg i's frame F li with respect to F 0 and expressed in its own frame can be computed from that of the platform (in the forward direction)

li v li = p R T li p v li = p R T li ( p v p + p ω p × p r P A i ) li ω li = p R T li p ω p + li ω li/p = p R T li p ω p + θi δ i (2.33)
Remark that p R li is the rotation matrix from the frame F li to the frame F p , p r P A i is the vector --→ P A i expressed in F p (i.e. p r P A i = r • p r i ), li ω li/p is the relative angular velocity of the frame F li with respect to F p and expressed in F li , which is given by the leg angle rate θi multiplied by its rotational axis δ i of the revolute joint. Regarding the acceleration of each leg's frame F li , the following relations are given

li a li = p R T li p a li = p R T li p a p + p ωp × p r P A i + p ω p × ( p ω p × p r P A i ) li ωli = p R T li p ωp + li ωli/p = p R T li p ωp + θi δ i + θi ( li ω p × δ i ) (2.34)
where θi is the angular acceleration of the revolute-joint angle, li ω p is the angular velocity of the platform expressed in F li (i.e. li ω p = p R T li p ω p ).

Backward Recursive Computation

The backward computation is then developed to compute the total forces and moments acting on each body of the robot (i.e. the left side of (2.31)), which is performed in the backward direction (from the legs to the platform).

For each leg i, the total forces and moments expressed in F li are given by

li Σf i = li f p,i + m i li g li Σm i = li m p,i + li ms i × li g (2.35)
where li f i and li m i are the reaction force and moment exerted on the leg i by the platform expressed in F li , li g is a gravity vector expressed in F li , i.e. li g = R T li g, with g = 0 0 -g T and g = 9.81m/s 2 . m i and li ms i are constant mass parameters taking into account the leg's mass and the attached multirotor's mass, which are calculated by

   m i = m l,i + m b,i li ms i = li ms l,i + li ms b,i (2.36)
where m l,i and m b,i are the masses of the leg i and the multirotor i, li ms l,i is the vector of the leg i's first moment of inertia, which is computed by the multiplication between the leg i's mass and the CoM position in its own frame F li , li ms b,i is the vector of the first moment of inertia corresponding to the multirotor's mass expressed in F li , which is thus

li ms b,i = m b,i • li r A i B i (2.37) with li r A i B i = l • li l i is the vector --→ A i B i expressed in F li .
The total forces and moments on the platform expressed in F p can then be computed by considering the forces and moments transmitted from the legs

p Σf p = p f p - n i=1 p f p,i + m p p g p Σm p = p m p - n i=1 ( p m p,i + p r P A i × p f p,i ) + p ms p × p g (2.38)
where p f p and p m p are the reaction force and moment exerted on the platform by the virtual base (considered as the actuation wrench in (2.27)) expressed in F p , p f p,i and p m p,i are the reaction force and moment exerted on the platform by the individual leg expressed in F p , p g = R T p g is the gravity vector expressed in F p , m p and p ms p are constant mass parameters of the platform.

In practical computation, the gravity terms from (2.35) and ( 2.38) can be cancelled by taking into account their effects in the linear acceleration of the platform such that

p a p = R T p (a p -g) (2.39)
Thus, combining equations (2.33), (2.34) and ( 2.35), the expression of Newton-Euler equations (2.31) for the leg i can be written, which is then used to obtain the following relations

li f p,i = m i li a li + li ωli × li ms i + li ω li × ( li ω li × li ms i ) li m p,i = li I O i li ωli + li ms i × li a li + li ω li × ( li I O i li ω li ) (2.40)
where the composed mass m i and first moment of inertia li ms i corresponding to the leg i with the attached multirotor i are given by (2.36), and the composed moment of inertia li

I O i is calculated by li I O i = li I O l,i + li I O b,i (2.41)
with li I O l,i being the leg's moment of inertia expressed at the origin of its frame F li , and li I O b,i the moment of inertia due to the mass of the multirotor attached at the extremity of the leg expressed in F li , i.e.

li I O b,i = m b,i •      0 0 0 0 l 2 0 0 0 l 2      (2.42)
l is the leg's length.

The actuation force and moment of the platform can be calculated by formulating the Newton-Euler equations and considering relations in (2.38) and (2.40) as

p f p = m p p a p + p ωp × p ms p + p ω p × ( p ω p × p ms p ) + n i=1 p f p,i p m p = p I Op p ωp + p ms p × p a p + p ω p × ( p I Op p ω p ) + n i=1 ( p m p,i + p r P A i × p f p,i ) (2.43)
where m p , p ms p and p I Op are constant parameters corresponding to the platform's mass, first moment of inertia and moment of inertia expressed in F p , respectively. The reaction force p f p,i and moment p m p,i exerted on the platform by each leg are computed in (2.40) and converted by

p f p,i = p R li li f p,i p m p,i = p R li li m p,i (2.44)
Finally, the additional computation is performed to obtain the actuation wrench of the FPR aligned with its definition in (2.27) as follows

τ =            f p p m p m l1 . . . m ln            =            R p p f p p m p δ T 1 • l1 m p,1 . . . δ T n • ln m p,n            (2.45)
Note that m l1 , ..., m ln represents the moment about the rotational axis of the revolute joints, δ 1 , ..., δ n are the revolute-joint axis which are identical to be δ i = 0 0 1 T .

The recursive Newton-Euler formula for the dynamic modelling of the FPR is thus given by equations (2.33)- (2.45). By factorizing different terms that appear in (2.25), the inertia matrix and the Coriolis vector can be computed. A numerical algorithm can be implemented allowing an online computation of the dynamic model, as ❖ by imposing ν = 0 and g = 0, the result of τ computed by the recursive algorithm is exclusively the term M(q) ν in the dynamic model, ❖ then, by imposing νr = ... 0 1 (r) 0 ... T the acceleration vector with only 1 for the r-th component and 0 elsewhere, the result of τ corresponds to the r-th column of the inertia matrix M(q), ❖ the Coriolis vector c(q, ν) is resulted from the computations by imposing ν = 0.

Therefore, the numerical computation for the dynamic modelling using the recursive Newton-Euler method can be summarized by the following algorithm, which has a time complexity of O(N n), with N being the total number of the degrees of freedom of the FPR, i.e. N = 6 + n, and n being the number of the legs (and the attached multirotors).

Input: q, ν Output: M(q), c(q, ν)

M = 0 N ×N for j = 1 to N νr = 0 N νr (j) = 1 M.column(j) = recursiveNewtonEuler(q, ν = 0, νr , g = 0) end c = recursiveNewtonEuler(q, ν, ν = 0, g = 9.81) return M, c function τ = (q, ν, ν, g) p a p = R T p (a p + 0 0 g T ) (a p = ν1:3 ) p f p = m p p a p + p ωp × p ms p + p ω p × ( p ω p × p ms p ) ( p ω p = ν 4:6 ) p m p = p I Op p ωp + p ms p × p a p + p ω p × ( p I Op p ω p ) ( p ωp = ν4:6 ) for i = 1 to n li ω li = p R T li p ω p + θi δ i ( θi = ν 6+i ) li a li = p R T li p a p + p ωp × p r P A i + p ω p × ( p ω p × p r P A i ) li ωli = p R T li p ωp + θi δ i + θi ( li ω p × δ i ) ( θi = ν6+i ) li f p,i = m i li a li + li ωli × li ms i + li ω li × ( li ω li × li ms i ) li m p,i = li I O i li ωli + li ms i × li a li + li ω li × ( li I O i li ω li ) τ 6+i = δ T i li m p,i p f p = p f p + p R li li f p,i p m p = p m p + p R li li m p,i + p r P A i × ( p R li li f p,i ) end τ 1:3 = R p p f p ; τ 4:6 = p m p end
Algorithm. Numerical Computation of the Recursive Newton-Euler Method

Dynamic Modelling using Spatial Vector Notation

Featherstone's algorithms are used to model the dynamics of a rigid-body system based on spatial vector notation [START_REF] Featherstone | Rigid Body Dynamics Algorithms[END_REF]. As presented in Section 2.5.2, a rigid body in 3-dimensional space has 6-DoF motion, with force and moment expressed by 3-dimensional vectors. In spatial vector notation, 6-dimensional wrenches or twists are introduced combining the linear and angular aspects of the rigid body's motion to simplify the equations and computations. For instance, linear and angular velocity/acceleration are combined to form a 6-dimensional spatial velocity/acceleration vector; force and moment are combined to form a spatial force vector. Using these 6-dimensional vectors, the equation of motion for a rigid body j can be written as fj = Ĩj ãj + ṽj × * Ĩj ṽj (2.46) where fj = denoting respectively spatial force vector space and motion vector space. Ĩj is the body j's spatial inertia tensor detailed in (2.47). The symbol × * denotes the cross product of a spatial motion vector with a spatial force vector, i.e. M × * F. Note that for spatial vectors, additional tildes are placed above the symbols to distinguish them from a classical 3-dimensional vector, and the vectors of the angular/rotational aspects are usually placed above those of the linear/translational ones. For simplicity, all the spatial quantities are written in body coordinates without explicit expressions.

Ĩj =   I O j [ms j ] × [ms j ] T × m j 1 3×3   (2.47)
Recall that [.] × represents the skew-symmetric matrix for the cross-product operation of a 3-dimensional vector. m j , ms j and I O j are respectively the mass, vector of the first moment of inertia, and inertia parameters as defined in (2.31). The cross-product operation of a spatial motion vector with the symbol × * is given by

ṽj × * =   ω j v j   × * =   [ω j ] × [v j ] × 0 3×3 [ω j ] ×   (2.48)
The cross-product operation between two spatial motion vectors denoted by ×, i.e. M 6 × M 6 , is regarded as the dual of × * and given by ṽj

× =   ω j v j   × =   [ω j ] × 0 3×3 [v j ] × [ω j ] ×   (2.49)
Note that vj in the spatial acceleration vector represents the body-frame linear acceleration, which is obtained directly by the time derivative of the linear velocity v j , while the linear acceleration a j in the dynamic modelling using Khalil's method is relative to the reference frame F 0 , with the relationship given by

a j = vj + ω j × v j (2.50)
It is therefore remarked that the equation of motion depicted by (2.46) is equivalent to the Newton-Euler equations in (2.31), which can be applied to a recursive computation algorithm for the dynamic modelling as presented in Section 2.5.2. In this section, more compact algorithms for dynamic modelling are introduced taking advantage of the spatial vector notation, including ❖ a composite-rigid-body algorithm for computing the inertia matrix;

❖ a numerical algorithm for computing the Coriolis matrix.

Composite-Rigid-Body Algorithm

The numerical computation of the inertia matrix detailed in the recursive Newton-Euler algorithm has the advantage of being simple and straightforward. It is however not the most efficient way to calculate M, since the algorithm runs the same computations n dof times which is the total number of the DoFs of the robot. The composite-rigid-body algorithm [START_REF] Featherstone | Rigid Body Dynamics Algorithms[END_REF], as the fastest algorithm to compute the generalised inertia matrix, considers the robot as a single composite rigid body (from which the algorithm gets its name). The algorithm starts from the computation of the spatial inertia tensor of each body from the base, i.e. Ĩp of the platform (considered as the floating base) in the FPR as

Ĩp =   p I Op [ p ms p ] × [ p ms p ] T × m p 1 3×3   (2.51)
with m p , p ms p and p I Op the mass, vector of the first moment of inertia and the moment of inertia of the platform, expressed at the origin of the platform frame F p . Similarly, the inertia tensor of each leg i can be calculated by

Ĩi =   li I O i [ li ms i ] × [ li ms i ] T × m i 1 3×3   (2.52)
with m i , li ms i and li I O i being the composed mass, first moment of inertia and moment of inertia of the leg i expressed at the origin of the leg's frame F li and computed by equations (2.36) and ( 2.41) taking into account the attached multirotor's mass.

Then a new quantity is introduced, ĨC j , denoted as the composite inertia of the subtree of the robot rooted at an arbitrary body j, which is treated as a single composite rigid body. ĨC j is given by ĨC

j = Ĩj + k∈µ(j) j X * k ĨC k k Xj (2.53)
where µ(j) represents the set of all child bodies of the body j (the downstream bodies supported directly by the body j), j X * k , k X j ∈ R 6×6 are spatial matrices for the joint transform between two frames. Given two arbitrary frames F j and F k , they are defined by

j Xk =   j R k 0 3×3 0 3×3 j R k     1 3×3 0 3×3 [ j r k ] T × 1 3×3   , j X * k =   j R k 0 3×3 0 3×3 j R k     1 3×3 [ j r k ] T × 0 3×3 1 3×3   (2.54)
with j R k representing the rotation matrix from F k to F j , and j r k being the translation vector between the origins of two frames expressed in F j . The inverse of these two transforms can be given by

k Xj =   1 3×3 0 3×3 [ j r k ] × 1 3×3     j R T k 0 3×3 0 3×3 j R T k   , k X * j =   1 3×3 [ j r k ] × 0 3×3 1 3×3     j R T k 0 3×3 0 3×3 j R T k   . (2.55) It can be noted that k X * j = j XT k .
Finally, each component of the inertia matrix M can be calculated from the composite inertia by the following relations

M jk =            ST j ĨC j j Xk Sk if j ∈ υ(k) ST j j X * k ĨC k Sk if k ∈ υ(j) 0 otherwise (2.56)
where Sj , Sk are the spatial vectors/matrices defining the joint's motion subspace, which are dependent on the joint type. For instance, S = 0 0 1 0 0 0 T for the revolute joint's motion; S = 1 6×6 for a 6-DoF joint motion (free motion). υ(j), υ(k) are the sets of bodies in the subtree starting from the body j or k, meaning that body j is within the downstream bodies of body k if j ∈ υ(k), or vice visa. If j = k, it refers to the same body and M jj (or M kk ) becomes ST j ĨC j Sj . M jk = 0 if body j and body k are not located in the same chain from the robot base to the tips. However, to devise an efficient calculation for M jk in (2.56), a new quantity k Fj is introduced, which is the value of ĨC j Sj expressed in body k's coordinates, i.e. k Fj = k X * j ĨC j Sj . This quantity can be calculated recursively by the relationship

λ(k) Fj = λ(k) X * k k Fj with j Fj = ĨC j Sj (2.57)
where λ(k) represents the parent bodies supporting the body k. The computation of this quantity is therefore achieved from the tips back to the base. The inertia matrix is then given by

M jk =            ST j j Fk if k ∈ υ(j) M T kj if j ∈ υ(k) 0 otherwise (2.58)
Using the above-mentioned computation method, the inertia matrix of the FPR dynamics can be calculated, which is detailed as follows. The composite inertia of each body in the FPR is firstly calculated by a recursive computation from the downstream bodies (i.e. legs) to the base (i.e. platform), in which each leg's composite inertia is equal to the inertia tensor defined in (2.52), i.e. ĨC i = Ĩi . The composite inertia of the platform is then computed according to the relation (2.53) by

ĨC p = Ĩp + n i=1 p X * i ĨC i i Xp (2.59)
given the joint transform matrices defined by

p X * i =   p R li 0 3×3 0 3×3 p R li     1 3×3 [ p r P A i ] T × 0 3×3 1 3×3   , i Xp =   1 3×3 0 3×3 [ p r P A i ] × 1 3×3     p R T li 0 3×3 0 3×3 p R T li   (2.60)
recalling that p R li is the rotation matrix from F li to F p defined in (2.8), p r P A i = r • p r i is the vector of --→ P A i expressed in F p with the unit vector p r i defined in (2.7).

Then for the definition of joint's motion subspace matrices, as the translational motion of the platform and its corresponding actuated force are defined in a global frame F 0 , the joint motion matrix Sp ∈ R 6×6 is particularly defined by

Sp =   0 3×3 1 3×3 R T p 0 3×3   (2.61)
Note that the platform is considered as a floating base with 6-DoF free motion, and the joint motion matrix is thus similar to that of a 6-DoF joint motion (identity matrix), but the translational motion is further converted from F 0 to F p with the order adjusted to be coherent with the one defined in 3-dimensional vectors. The joint motion matrix for each leg i can be given by (2.62), since one-DoF revolute joints are applied Si = 0 0 1 0 0 0

T (2.62)
Based on the equations (2.56) and (2.58), the inertia matrix of the FPR computed by the composite-rigid-body algorithm is finally given by (2.63) where M 1:6,1:6 is the top left (6 × 6) sub-matrix, M 6+i,6+i is the component at the index (6+i, 6+i) and M 1:6,6+i , M 6+i,1:6 represent respectively a (6 × 1) column vector and a (1 × 6) row vector in the (6 + i) th column/row of the inertial matrix.

                 M 1:6,1:6 = ST p ĨC p Sp M 6+i,6+i = ST i ĨC i Si M 1:6,6+i = ST p p Fi (with p Fi = p X * i ĨC i ST i ) M 6+i,1:6 = M T 1:6,6+i

Numerical Algorithm for Coriolis Matrix Computation

The Coriolis Matrix C of the dynamic model written in form of (2.26) allows to compute the Coriolis and centrifugal terms factorized by the velocity of the robot. It is well known that many possible choices of C exist, which provide the correct dynamics satisfying the relation of ν T Ṁ(q) -2C(q, ν) ν = 0 [START_REF] Siciliano | Robotics: Modelling, Planning, and Control[END_REF], or more generally

u T Ṁ(q) -2C(q, ν) u = 0, ∀ u ∈ R n dof (2.64)
This relation is equivalent to the condition that Ṁ(q) -2C(q, ν) is skew symmetric or that Ṁ(q) = C(q, ν) + C(q, ν) T (2.65)

One special computation for C can be achieved by

C ij = k Γ ijk • ν k , where Γ ijk = 1 2 ∂M ij ∂q k + ∂M ik ∂q j - ∂M jk ∂q i (2.66)
are referred to as the Christoffel symbols [START_REF] Siciliano | Robotics: Modelling, Planning, and Control[END_REF]. Note that ν k is the velocity of the joint k, M is the inertia matrix of the system expressed in an analytical form. The Coriolis matrix computed by Christoffel symbols can be denoted by C ⋆ (q, ν), which is also called the Christoffel-consistent Coriolis factorization. However, this method needs to compute the partial differentiation of the inertia matrix with respect to the robot generalised coordinates q, requiring a relatively complex analytical derivation. Therefore, the other Coriolis factorization methods for the computation of C can be applied, among which an admissible Coriolis factorization is defined as follows [START_REF] Echeandia | Numerical Methods to Compute the Coriolis Matrix and Christoffel Symbols for Rigid-Body Systems[END_REF].

Definition (Admissible Coriolis Factorization

). Consider a system with the inertia matrix given by M(q). A matrix-valued function C(q, ν) is said to be an admissible factorization if 1. C(q, ν)ν = C ⋆ (q, ν)ν with C ⋆ (q, ν) being the Christoffel-consistent Coriolis factorization.

2. ∀q, ν, Ṁ(q) -2C(q, ν) is skew-symmetric.

The Coriolis computation can be achieved by factorization of the spatial equation (2.46) in which the velocity-product term ṽj × * Ĩj ṽj is firstly factorized in a way such that ṽj × * Ĩj ṽj = B(ṽ j , Ĩj )ṽ j (2.67) from which one immediate factorization can be taken as B(ṽ j , Ĩj ) = (ṽ j × * Ĩj ), while another factorization adopted by [START_REF] Echeandia | Numerical Methods to Compute the Coriolis Matrix and Christoffel Symbols for Rigid-Body Systems[END_REF] is

B(ṽ j , Ĩj ) = 1 2 (ṽ j × * ) Ĩj + ( Ĩj ṽj × * ) -Ĩj (ṽ j ×) (2.68)
with the operation × * defined as an equivalence of the cross product × * between a spatial motion vector ṽj and a spatial force vector fj , i.e.

( fj × * )ṽ j = (ṽ j × * ) fj .

(2.69)

It can be noticed from (2.48) that this operation is derived as

fj × * =   m j f j   × * =   [m j ] T × [f j ] T × [f j ] T × 0 3×3   .
(2.70)

The factorization of the velocity-product terms given by (2.68) satisfies the properties for an admissible factorization of the Coriolis matrix C(q, ν) in the dynamic model, which is proven as follows.

Proof. Consider the spatial inertia tensor of a body j denoted by Ĩj and its spatial velocity vector ṽj . Knowing the time derivative of spatial inertia that is given by [START_REF] Featherstone | Rigid Body Dynamics Algorithms[END_REF] İj = (ṽ j × * ) Ĩj -Ĩj (ṽ j ×) (2.71) it can be demonstrated that the factorization of B(ṽ j , Ĩj ) in (2.68)

satisfies ṽT İj -2 B(ṽ j , Ĩj ) ṽ = 0, ∀ ṽ ∈ M (2.72)
which is equivalent to that İj -2 B(ṽ j , Ĩj ) is skew-symmetric when expressed in coordinates or İj = B(ṽ j , Ĩj ) + B(ṽ j , Ĩj ) T . Such factorization is said to be an admissible body-level factorization which will naturally lead to system-level Coriolis matrix C satisfying the conditions for an admissible Coriolis factorization.

Then, the factorization of Ĩj ãj by ṽj is additionally required as the spatial acceleration of each body j involves the joint velocity. The spatial velocity and acceleration of a body can be computed recursively as presented in the Newton-Euler recursive algorithm but written in spatial vector notation as

ṽk = j∈λ(k) Sj ṽj (2.73) ãk = j∈λ(k) ( Sj ãj + Ṡj ṽj ) (2.74)
with λ(k) representing the sets of the parent bodies of the body k (upstream bodies from the body k to the base), and Sk being the joint's motion subspace of the body k. Ṡk is the derivative of the joint's motion subspace matrix due to the joint moving and given by Ṡk = (ṽ k ×) Sk (2.75)

Therefore, it can be noticed from (2.74) that the additional terms corresponding to Ĩj k∈µ(j) ( Ṡk ṽk ) of each body should be included in the Coriolis terms, which necessitates the computation of the body's composite inertia as given by (2.53). The body-level computation of B(ṽ j , Ĩj ) can be achieved using the same principle of the composite-rigidbody algorithm, i.e.

BC (ṽ j , Ĩj ) = B(ṽ j , Ĩj ) +

k∈µ(j) BC (ṽ k , Ĩk ) (2.76)
By grouping the factorization terms B(ṽ j , Ĩj ) and Ĩj k∈µ(j) ( Ṡk ) and expressing in body coordinates, the component of Coriolis matrix can be calculated as

C jk = ST j j X * k ( ĨC k Ṡk + BC k Sk ) C kj = Ṡj T j X * k ĨC k Sk + ST j j X * k ( BC k ) T Sk T (2.77)
when j ∈ υ(k), i.e. body j is in the path from body k to the robot base. Similarly as in (2.57), additional quantities can be defined to facilitate the calculation

           λ(k) F1,j = λ(k) X * k k ( ĨC j Ṡj + BC j Sj ) λ(k) F2,j = λ(k) X * k k ( ĨC j Sj ) λ(k) F3,j = λ(k) X * k k (( BC j ) T Sj ) (2.78)
which can then be calculated recursively from the downstream bodies to the robot base.

The Coriolis matrix calculation is finally given by

     C jk = ST j j F1,k C kj = ( Ṡj T j F2,k + ST j j F3,k ) T (2.79)
For the FPR, the computation of the Coriolis matrix is achieved following the abovementioned process, which is initiated by computing the composite factorization term BC (ṽ i , Ĩi ) = B(ṽ i , Ĩi ) of each leg. Then the composite factorization term of the platform is calculated according to (2.76) by

B C (ṽ p , Ĩp ) = B(ṽ p , Ĩp ) + n i=1 B C (ṽ i , Ĩi ) (2.80)
where B(ṽ p , Ĩp ) and each B(ṽ i , Ĩi ) are computed using the factorization of (2.68). For the additional terms corresponding to the derivative of the joint's motion subspace matrix Ṡk , it is noted that for each leg Ṡi = (ṽ i ×) Si (2.81) with ṽi the spatial velocity of the leg i that can be calculated recursively using the relation of ( 2.73) and Si being the revolute-joint motion vector given by (2.62). The derivative of the platform's joint motion matrix, denoted by Ṡp , is however different from the original definition in (2.75), since the platform is a floating base and does not have the notion of joint motion. The joint motion matrix defined in (2.61) is only used for the purpose of transforming frames. From the definition of Sp , its derivative can therefore be defined by

Ṡp =   0 3×3 0 3×3 [ p ω p ] T × 0 3×3   (2.82)
Knowing that Ṙp = R p [ p ω p ] × and as the linear velocity in ṽp is defined in F 0 , the left-down corner of Ṡp becomes [ p ω p ] T × . Note that the acceleration of the platform in the generalised acceleration vector of (2.3) is defined with respect to F 0 , while the spatial acceleration is referred to as body-frame acceleration, with the relationship presented in (2.50). The joint motion derivative matrix of the platform Ṡp is applied to satisfy this relationship as

ãp =   p ωp p vp   = Sp   p ωp a p   + Ṡp ṽp (2.83)
where Sp is the platform's motion subspace matrix defined in (2.61).

Based on equations (2.78) and (2.79), the Coriolis matrix of the FPR can finally be calculated by

                 C 1:6,1:6 = ST p p F1,p C 6+i,6+i = ST i i F1,i C 1:6,6+i = ST p p F1,i C 6+i,1:6 = ( Ṡp T p F2,i + ST p p F3,i ) T (2.84)
where C 1:6,1:6 is the top left (6 × 6) sub-matrix of C, C 6+i,6+i is the component at the index (6+i, 6+i), and C 1:6,6+i , C 6+i,1:6 represent respectively a (6 × 1) column vector and a (1 × 6) row vector in the (6 + i) th column/row of the Coriolis matrix. The additional quantities are given by

                         p F1,p = ĨC p Ṡp + BC p Sp i F1,i = ĨC i Ṡi + BC i Si p F1,i = p X * i ( ĨC i Ṡi + BC i Si ) p F2,i = p X * i ( ĨC i Si ) p F3,i = p X * i (( BC i ) T Si ) .
(2.85)

The algorithm for computing the inertia matrix and the Coriolis matrix of the FPR based on spatial vector notation can be summarised by the following algorithm. The overall algorithm has a time complexity of O(n), with n being the total number of legs.

Input: q, ν Output: M(q), C(q, ν) ṽp = p ω T p v T p T (v p = ν 1:3 , p ω p = ν 4:6 ) ĨC p = Ĩp BC p = 1 2 (ṽ p × * ) Ĩp + ( Ĩp ṽp × * ) -Ĩp (ṽ p ×) for i = 1 to n ṽi = i Xp ṽp + Si θi ( θi = ν 6+i ) Ṡi = (ṽ i ×) Si ĨC i = Ĩi BC i = 1 2 (ṽ i × * ) Ĩi + ( Ĩi ṽi × * ) -Ĩi (ṽ i ×) F1,i = ĨC i Ṡi + BC i Si F2,i = ĨC i Si F3,i = ( BC i ) T Si C 6+i,6+i = ST i F1,i ; M 6+i,6+i = ST i F2,i p F1,i = p X * i F1,i ; p F2,i = p X * i F2,i ; p F3,i = p X * i F3,i C 1:6,6+i = ST p p F1,i C 6+i,1:6 = Ṡp T p F2,i + ST p p F3,i M 1:6,6+i = ST p p F2,i M 6+i,1:6 = M T 1:6,6+i ĨC p = ĨC p + p X * i ĨC i i Xp BC p = BC p + p X * i BC i i Xp

Computation of Gravity Wrench

The vector of the generalised gravity wrench g(q) in the dynamic model (2.26) can be computed using the recursive Newton-Euler algorithm by setting ν = 0, ν = 0 (see Section 2.5.2). However, this term refers to the forces and moments due to the gravitational effects and can be computed more straightforward by deriving the static model written as

τ g = g(q)
(2.86)

where τ g refers to the actuation wrench needed to compensate for the gravitational effects.

It is remarked that the static model (2.86) indicates the robot working in (quasi-)static conditions where the velocity ν and acceleration ν are assumed to be zero.

The elements of τ g are defined in the same space of τ in (2.27) and given by

τ g =      f p,g p m p,g m l,g      (2.87) with m l,g = m 1,g m 2,g ... m n,g
T being the moments exerted about the revolute-joint axis of each leg due to the gravitation effects. It is obvious that the force acting on the platform f p,g to compensate for the gravitational effect can be given by

f p,g = -m tot g (2.88)
where g = 0 0 -g T is the gravity vector expressed in F 0 with g = 9.81 m/s 2 , m tot is the total mass of the robot

m tot = m p + n i=1 m i (2.89)
Note that m i is the total mass of the leg i and the attached multirotor given in (2.36).

The gravitational effect on the moment of the platform is computed recursively by

p m p,g = -p ms p × p g + p R li n i=1 ( li ms i × li g) (2.90) with p g = R T p g and li g = p R T li R T p g.
Finally, the moment of each leg to compensate the gravity can be written by

m i,g = -δ T i ( li ms i × li g) (2.91)
with δ i = 0 0 1 T being the axis of the revolute joint.

Multirotor Rotational Dynamics

As presented in Section 2.5, the translational dynamics of the multirotors are systematically considered in the dynamic model of the passive architecture, as they are rigidly connected to the passive architecture and their effects are taken into account by adding additional mass at each leg's tip. The rotational dynamics is however decoupled for each multirotor. Equations of motion for the rotational movement of the multirotor i can be written as [START_REF] Brescianini | Nonlinear Quadrocopter Attitude Control[END_REF]

qi = 1 2 q i •   0 bi ω i   bi m i = bi I i bi ωi + bi ω i × bi I i bi ω i (2.92)
where q i ∈ H, bi ω i ∈ R 3 and bi ωi ∈ R 3 are the quaternion-represented orientation, angular velocity and acceleration of the multirotor i. bi m i is the body-frame torque, and bi I i is the rotational inertia of the multirotor. The operation • represents the quaternion multiplication detailed in (A.48) of Appendix A.1.

The decoupling property of the multirotor's rotational dynamics from the dynamics of the passive architecture is ensured by the fact that the moment cannot be transmitted through a spherical joint, which necessitates that the CoM position of the multirotor B i is aligned with the location of the spherical joint S i , i.e. d = 0 as presented in Section 2.3.3.

When d ̸ = 0, the interaction force between the multirotor and the leg will additionally generate a moment in the multirotor's body-fixed frame. Given the interaction force f l,i exerted by the leg on the multirotor, the additional moment due to the spherical-joint location d i = --→ S i B i away from the multirotor's CoM position can be calculated by

m l,i = d i × f l,i (2.93)
written in global coordinates (expressed in F 0 ) as shown in Fig. 2.4. Similarly, the actuated force f i produced by the multirotor is transmitted to the passive architecture via the leg, generating an additional moment m i,l due to the spherical joint location that is away from the CoM location of the multirotor. However, this moment will not affect the dynamics of the passive architecture since the moment between two bodies connected via the spherical joint cannot be transmitted. Therefore, the condition d = 0 can be assumed even if it is not necessarily the case, with the moment m l,i considered as a disturbance exerted on the multirotor degenerating its rotational dynamics. The disturbance of m l,i is bounded and can be neglected in general cases as the value of d is small enough.

Numerical Validation

The modelling methods presented in the above sections are usually applied to construct model-based control algorithms or estimation techniques. In these methods, the modelling accuracy is an important issue affecting the validity and stability of the estimation and control system. The numerical validation of the models should therefore be conducted. This can be done by cross-validating the different modelling algorithms, comparing the results of the dynamic models respectively based on Khalil's algorithm [Khalil, 2002b] and Featherstone's Spatial Vector algorithms [START_REF] Featherstone | Rigid Body Dynamics Algorithms[END_REF]. The principle of the numerical validation on the dynamic modelling is that by randomly choosing a set of values for the robot states (i.e. generalised coordinates q and velocity vector ν), the results using two methods should be identical. As the expressions of the dynamic model between (2.25) and (2.26) are slightly different using two algorithms, a fair comparison is done by the following steps:

• M(q) the inertia matrix computed respectively using recursive Newton-Euler and Composite-Rigid-Body algorithms.

• c(q, ν) the Coriolis vector computed by the recursive Newton-Euler algorithm considering only the Coriolis and centrifugal effects with the gravity g set as zero, compared with the term C(q, ν)ν in which C(q, ν) is calculated using the Coriolis Matrix Computation algorithm.

• g(q) the vector of the gravity wrench computed using two methods: one computed by the recursive Newton-Euler algorithm excluding the Coriolis and centrifugal terms by setting ν = 0, the other directly obtained by the static model detailed in Section 2.5.4.

The numerical implementation of the dynamic models on a specific FPR composed of three legs attached with multirotors was done in C++ and then the results were numerically validated using the G-Test tool in ROS2 environment [Open-Robotics, 2022]. The repeatable results were found during the numerical validation by taking different sets of random values in the robot coordinates and one result is presented below. While the values on the constant parameters can be found in Table B.1 of Appendix B, the generalised coordinates and velocity of the robot are generated by random numbers as follows q = [p p,x , p p,y , p p,z , q p,0 , q p,1 , q p,2 , q p,3 , θ 1 , θ Note that the units are respectively metres for p p , radians for θ l , metres per second for v p , and radians per second for angular velocities such as ν p and θl . The values of the unit quaternion q p = [q p,0 , q p,1 , q p,2 , q p,3 ] T = [0.795, 0.550, 0.085, 0.242] T have been normalised. The results on the numerical comparison are shown in Table 2.1.

Comparison Term Computation Method Maximum Difference

Khalil's method Featherstone's method Inertia matrix

M RN E (q) M Composite (q)
4.4e-16 Coriolis vector It can be noticed that results from the two modelling methods are well coherent with each other, with the maximum values of the absolute differences on every element between two comparison terms all near zero. Note that the gravity wrench g * (q) under Featherstone's method is actually not based on Spatial Vector notation, but directly computed via the static model. It can be done by developing Featherstone's algorithm with the velocity ν set as zero, similarly to what has been done in Khalil's method. However, due to the simplicity of the static model, it is not preferred to restart the algorithm from the beginning for computing the gravity term.

c RN E (q, ν, g = 0) C Coriolis (q, ν)ν 8.9e-16 Gravity term c RN E (q, ν = 0, g = 9.81) g * (q) 0 Table 2.
The numerical validation of the other models such as the geometric relations and the Jacobian matrix in the kinematic model has also been conducted. As the analytical expressions of such models are well known and carefully verified, the only concern remains on the programming mistakes. To avoid this, cross-validation between different programming platforms was done, in which the results from the C++ codes were compared with those obtained by the codes written in MATLAB. The acceptance precision was set to 1e-7 as the success criterion for G-Test and all the tests were successfully passed. Another numerical test for the cross-validation between the IGM and the inverse kinematics (IKM) has been done, in which the idea is that by setting arbitrarily initial values for the generalised coordinates q and some small variations δq, the initial and final multirotor positions can be computed using the IGM as p init = IGM(q), p f in = IGM(q + δq), while the final positions can also be computed approximately using kinematic model by the Jacobian matrix as p ′ f in = p init + J(q)ν ′ . Note that ν ′ is obtained from δq, in which the transformation from the quaternion derivative δq p to the angular velocity p ω p is given by the relationship detailed in (A.83) (see Appendix A.3). During this test, q was initialised by the values given in (2.94) and several set of random values on δq were generated by a normal distribution N ∼ (0, 0.001). The results on the norm of the difference p f inp ′ f in were all limited within 1e-5.

All the numerical validations have been successfully passed, allowing the validation of the modelling algorithms presented in this chapter.

Conclusion

In this chapter, a specific design of the Fling Parallel Robot is presented, in which a number of multirotors support collectively a moving platform with passive rigid legs. The robot coordinates vector is composed of the 6-dimensional platform pose and the additional degrees of freedom of the revolute joints by which the legs are attached to the platform. The geometric, kinematics and dynamics of this particular FPR are detailed, allowing to respectively compute the internal configuration (i.e. leg angles) of the robot, relate the actuators' velocities (i.e. linear velocities of multirotors) to the generalised velocity of the robot, and develop the dynamic model written in generic forms using several numerical algorithms. All the models have been numerically validated to ensure the correctness of the modelling and programming progress. The models derived in this chapter are used to construct the model-based estimation and control algorithms which will be discussed in the next chapters.

WRENCH ESTIMATION AND INTERACTION CONTROL

This chapter presents the external wrench estimation and interaction control techniques applied to the Flying Parallel Robot (FPR) for physically interacting with the environment. An introduction to the robot-environment interaction of aerial robots, as well as a literature review on different approaches, are given in the first section. Then the momentum-based observers are presented in the second section, which can be used to construct an estimation technique of the external wrench acting on the robot. The third section presents an impedance-based interaction control method with the desired wrench tracking capacity, including a high-level impedance controller of the FPR and low-level multirotors' attitude controllers. A discussion of the overall estimation and control framework is given in the fourth section. Extensive experimental results are finally presented in the fifth section, validating the presented estimation and control techniques for cancelling modelling uncertainties, rejecting disturbances and accomplishing contact-based interaction tasks.

Introduction

As a potential aerial manipulator dedicated to industrial applications, it is important to show or enhance the ability of the Flying Parallel Robot in conducting real-world tasks, such as pushing/pulling an object, twisting on a surface, etc. The topic of the FPR physically interacting with the environment must be investigated. It is obviously a challenging topic especially for aerial robots as they can easily suffer from aerodynamic disturbances and uncertainties. Unlike the classical robot manipulators, flying robots are unstable and dynamically faster systems, which makes it more difficult to preserve the stability of the system when dealing with external disturbances or even interacting actively with the environment. A such problem commonly encountered by single UAVs or more sophisticated aerial manipulators is generally addressed by two classes of approaches in the literature: ❖ via robust control algorithms such as [START_REF] Islam | Robust Control of Four-Rotor Unmanned Aerial Vehicle With Disturbance Uncertainty[END_REF][START_REF] Nguyen | A Novel Robotic Platform for Aerial Manipulation Using Quadrotors as Rotating Thrust Generators[END_REF][START_REF] Zhang | Aerial grasping of an object in the strong wind: Robust control of an aerial manipulator[END_REF][START_REF] Sanalitro | Full-Pose Manipulation Control of a Cable-Suspended Load with Multiple UAVs under Uncertainties[END_REF][START_REF] Chen | Robust Control for Unmanned Aerial Manipulator Under Disturbances[END_REF];

❖ by estimation technique to construct the external effects as in [START_REF] Bellens | A hybrid pose/wrench control framework for quadrotor helicopters[END_REF][START_REF] Ruggiero | Impedance control of VToL UAVs with a momentum-based external generalized forces estimator[END_REF]Ruggiero, 2015b;[START_REF] Tomić | External Wrench Estimation, Collision Detection, and Reflex Reaction for Flying Robots[END_REF][START_REF] Bodie | An Omnidirectional Aerial Manipulation Platform for Contact-Based Inspection[END_REF].

In the first strategy, it is common to assume that the unknown external disturbances are bounded, which can be overcome by a robust controller with Lyapunov-based stability. However, this kind of control strategy might not be adequate to handle significant robot-environment interactions, during which the external forces or moments might easily exceed the presumed limits, nor applicable to the scenarios where it is expected to control the interaction behaviour of the robot. In contrast, using the estimation techniques to construct knowledge of the external wrench acting on the aerial robot, a reaction behaviour of the robot can then be designed and thus controlled. This can usually be achieved by force control strategies [START_REF] Bruno | Robot Force Control[END_REF], including hybrid force/position control applied in [START_REF] Bellens | A hybrid pose/wrench control framework for quadrotor helicopters[END_REF]Marconi, 2012;[START_REF] Scholten | Interaction Control of an UAV Endowed with a Manipulator[END_REF][START_REF] Nguyen | Hybrid force/motion control and internal dynamics of quadrotors for tool operation[END_REF][START_REF] Tzoumanikas | Aerial Manipulation Using Hybrid Force and Position NMPC Applied to Aerial Writing[END_REF], admittance control such as [START_REF] Barawkar | Admittance based force control for collaborative transportation of a common payload using two uavs[END_REF][START_REF] Ryll | 6D Interaction Control with Aerial Robots: The Flying End-Effector Paradigm[END_REF][START_REF] Slabaugh | Admittance Force-Based UAV-Wall Stabilization and Press Exertion for Documentation and Inspection of Historical Buildings[END_REF], and impedance control that can be found in [Forte, 2012;[START_REF] Ruggiero | Impedance control of VToL UAVs with a momentum-based external generalized forces estimator[END_REF][START_REF] Cataldi | Impedance Control of an aerialmanipulator: Preliminary results[END_REF][START_REF] Car | Impedance Based Force Control for Aerial Robot Peg-in-Hole Insertion Tasks[END_REF][START_REF] Bodie | An Omnidirectional Aerial Manipulation Platform for Contact-Based Inspection[END_REF].

In hybrid force/position control, a separated control paradigm is selected, in which a set of robot's degrees of freedom are controlled in position while the others are selected to be force controlled. This often requires prior knowledge of the environment model and a properly defined position/force trajectory, which is however not easy to be satisfied. Admittance and impedance controllers are dual approaches to dynamic control relating the position and force. They are often used in applications where a manipulator interacts with the environment and the position/force relation is of concern. While an admittance control law defines the motions that result from a force input, impedance control considers the ratio of force output to motion input. Like the hybrid position/force control, the admittance control additionally requires a considerably precise position (or motion) loop to achieve the overall control. This is however not evident for multi-UAV parallel robots such as the FPR, as the accuracy of the motion controller is extremely affected by the aerodynamic disturbances and any degenerated motion tracking will cause the controller failure. Therefore, impedance control seems to be a more preferable method among force control strategies, because the motion control loop is entirely replaced by a regulation of the desired robot interaction behaviour as a virtual impedance system. The impedancecontrolled aerial robots reacting passively to the external effects would therefore be more robust, especially for significant robot-environment interactions.

As mentioned beforehand, the FPR under impedance control enhanced by an estimation of the external wrench using momentum-based observers might be more appropriate for cancelling the modelling errors, rejecting disturbances and potentially interacting with the environment, which will be presented in the next sections.

External Wrench Estimation

In this section, an estimation technique based on momentum computation is presented, which is capable of estimating the wrench exerted on the robot due to the external effects without the need of knowing the acceleration of the robot as mainly required using acceleration-based techniques (applying directly the IDM). The external effects might consist of modelling errors, disturbances and potential interaction with the environment. The momentum-based observers show its efficiency in estimating all these effects as the external wrench acting on the full DoFs of the robot by a mismatch between the predicted and actual dynamics of the robot.

In the following subsections, the principle of the momentum-based approach is firstly presented, which allows for designing external wrench observers using the momentum dynamics. Three observers applying different techniques are then presented, including:

• First-Order Wrench Observer (FOWO);

• Second-Order Wrench Observer (SOWO);

• Sliding-Mode Wrench/Momentum Observer (SMWO).

As mentioned above, the external wrench acting on the robot can be estimated by these momentum-based observers using accessible measurements of the robot states, without the requirement of any acceleration measurements which might potentially be too noisy to perform a good estimation. The discussion on the momentum-based approach for estimating the external effects will be given at the end of this section.

Principle of Momentum-based Approach

The momentum-based estimation technique is constructed on the basis of the robot's dynamic model as the one presented in (2.26). An additional term τ e corresponding to the external wrench is furthermore taken into account in the dynamic model as

M(q) ν + C(q, ν)ν + g(q) = τ + τ e (3.1)
where τ e is composed of

τ e =      f p,e p m p,e m l,e      ∈ R 6+n (3.2)
with f p,e , p m p,e representing the external force and moment exerted on the platform, expressed in F 0 and F p respectively, and m l,e being the external moments acting on the revolute-joint axis of each leg.

Once the dynamic expression is obtained, the momentum of the robot can be computed. Let P be the generalised momentum of the robot that can be determined by

P = M(q)ν ∈ R 6+n (3.3)
where M(q) is the generalised inertia matrix given in the dynamic model of (3.1), and ν is the generalised velocity vector. Then the time derivative of the generalised momentum is given by Ṗ = Ṁ(q)ν + M(q) ν (3.4)

The skew-symmetric property of the generalised inertia matrix as in (2.65) and [START_REF] Siciliano | Robotics: Modelling, Planning, and Control[END_REF] indicates that Ṁ(q) = C(q, ν) + C(q, ν) T (3.5)

Based on equations (3.1) and (3.5), the time derivative of generalised momentum in (3.4) is finally determined by

Ṗ = C(q, ν) + C(q, ν) T ν + τ + τ e -C(q, ν)ν -g(q)
= C(q, ν) T νg(q) + τ + τ e (3.6) which can be used to directly compute the external wrench by

τ e = Ṗ -C(q, ν) T ν + g(q) -τ (3.7)
Note that τ is the actuation wrench exerted by the thrust forces of the multirotors as calculated in (2.28), C(q, ν) and g(q) are the Coriolis matrix and gravity wrench computed from the accessible robot generalised coordinates and velocity vectors (i.e. q and ν). Therefore, one can reconstruct an estimate of the external wrench exerted on the robot using momentum computation, with only knowledge of robot states (generalised coordinates and velocity) and the commands as the actuation wrench τ sent to the robot. However, as noises in the measurements of the robot states might affect the computation result of the external wrench term, additional filtering techniques are often applied on the basis of the direct computation in (3.7), which will be presented in the following sections.

First-Order Wrench Observer (FOWO)

As mentioned above, an additional filter should be applied to the computation of the external wrench given in (3.7) to leverage the measurement noises. A first-order filter can be adopted in the first place due to its simplicity. Let τ e denotes an estimate of the external wrench. By applying a first-order filter, the time-domain expression of the external wrench estimate can be determined as follows τ e (t) =K O P(t) -

t t 0 C q(t), ν(t) T ν(t) -g q(t) + τ (t)
+ τ e (t -∆t) dt -P(t 0 ) (3.8) where 6+n) is a positive-definite diagonal matrix as the observer gains, τ e (t -∆t) denotes an external wrench estimate at the previous timestamp with ∆t referring to a single time step of the digital computation, P(t) is the robot's momentum variable at timestamp t with P(t 0 ) being the momentum at the initial time which is usually set to zero supposing ν(t 0 ) = 0, τ (t) refers to the actuation wrench sent to the robot at the current time which can be calculated using relation of (2.28). Remark that the current estimate is computed by (3.8) based on the previous estimate and the terms computed by the dynamic model.

K O ∈ R (6+n)×(
By differentiating (3.8) with respect to time, the observer dynamics can be obtained from (3.6) as τ e (t) + K O τ e (t -∆t) -τ e = 0 (3.9)

Performing furthermore an approximation between two consecutive timestamps (sufficiently small time steps between every two estimation iterations), the estimation error dynamics can be finally depicted by the following differential equation

τ e + K O τ e = 0 (3.10)
with τ e = τ e -τ e being the estimation error. This relationship can be expressed elementwise in the Laplace domain by

G j (s) = τe,j (s) τ e,j (s) = K O,j s + K O,j , j = 1, ... , N (3.11)
with N (equal to 6+n) decoupled transfer functions G j (s) for each element of the external wrench estimates. In ideal conditions, the following relation holds [START_REF] De Luca | Collision detection and safe reaction with the DLR-III lightweight manipulator arm[END_REF]] (3.12) which means that the estimation gains should be taken as large as possible in the practice. However, larger values for K O also result in higher noise amplification in the wrench estimates which might deteriorate the observer performance in terms of sensitivity, and the limitation given by the digital implementation should also be taken into account. Therefore, a good compromise has to be reached to properly tune the estimation gains.

K O → ∞ ⇒ τ e ≈ 0 ⇒ τ e ≈ τ e

Second-Order Wrench Observer (SOWO)

Based on the direct computation of the external wrench by (3.7), a second-order filter can also be applied, which might better weaken the effects of high-frequency noises and thus have the performance superior to that of the first-order observer as a simple low-pass filter. Using the second-order filtering technique, the estimated external wrench in time domain can be given by

τ e (t) = K O 1 t t 0 -τ e (t -∆t) + K O 2 P(t) - t t 0 C q(t), ν(t) T ν(t)
g q(t) + τ (t) + τ e (t -∆t) dt dt (3.13) supposing that the momentum and the external wrench at initial timestamp are all zero. 6+n) are the positive-definite diagonal matrices for the second-order observer gains.

K O 1 , K O 2 ∈ R (6+n)×(
By differentiating two times (3.13) with respect to time and neglecting the time difference between any two consecutive timestamps (i.e. (t -∆t) and t) supposing ∆t is arbitrarily small, the estimation error dynamics can be obtained as τ e + D O τ e + K O τ e = 0 (3.14) with τ e = τ e -τ e being the estimation error and the gains related to the estimation gains defined in (3.13) as

   D O = K O 1 K O = K O 1 K O 2 (3.15)
Similarly, (3.14) can be written in the Laplace domain with element-wise transfer functions defined as

G j (s) = K O,j s 2 + D O,j s + K O,j , j = 1, ... , N (3.16)
From the definition of a second-order transfer function, the unitary gains for each element can be determined by

   D O,j = K O 1 ,j = 2ζ j ω n,j K O,j = K O 1 ,j K O 2 ,j = ω 2 n,j
(3.17)

with ω n,j and ζ j being respectively the natural frequency and damping factor of the system decoupled on each element. In an ideal case, notice that [START_REF] Ruggiero | Impedance control of VToL UAVs with a momentum-based external generalized forces estimator[END_REF] (3.18) which means that the gains in second-order wrench observer should also be taken as large as possible. Due to the same issues considering the sensibility and real-world implementation of the wrench observer, the values of these gains should be properly tuned.

   ζ j → 1 ω n,j → ∞ ⇒ τ e ≈ 0 ⇒ τ e ≈ τ e

Sliding-Mode Wrench/Momentum Observer (SMWO)

The momentum-based wrench estimator can be further enhanced by the sliding mode technique according to the expression of Ṗ in (3.6), which is reformulated to separate the accessible and unknown terms as

C(q, ν) T ν -g(q) + τ = Ṗ -τ e (3.19)
where the accessible left-side terms can be used in place of unknown right-side terms to design an observer that provides an estimation of both the generalised momentum and the external wrench in finite time [START_REF] Garofalo | Sliding mode momentum observers for estimation of external torques and joint acceleration[END_REF]. In fact, applying the sliding mode technique, an estimation on the generalised momentum is firstly constructed and then the external wrench is estimated by the mismatch between the estimated momentum dynamics and the real one, which is consequently performed in finite time. The observer structure can be designed according to the Super Twist Algorithm (STA) [START_REF] Moreno | A Lyapunov approach to second-order sliding mode controllers and observers[END_REF] for observation using second-order sliding modes as follows where P = P -P is the momentum estimation error, with P being the estimated momentum, and 6+n) are positive-definite diagonal matrices for the observer gains. Note that all the operators in (3.20) should be applied element-wise.

Ṗ = C(q, ν) T ν -g(q) + τ -K O T ∥ P∥
K O S , K O T ∈ R (6+n)×(
sgn * (.) denotes an adapted sign function given by (3.21), which has continuous output to avoid chattering issues that might occur using the sliding mode technique.

sgn * (s) =              1 if ∥s∥ > ϵ and s > 0; s ϵ if ∥s∥ ≤ ϵ; -1 if ∥s∥ > ϵ and s < 0 (3.21)
ϵ is an arbitrarily small and non-zero value, which is used to perform a linear approximation to avoid the discontinuity in the output of the sign function when input is near zero.

Using (3.4) and defining s = στ e , the error dynamics of the sliding mode observer can be obtained by Ṗ = -K O T ∥ P∥ 1 2 sgn * ( P) + s ṡ = -K O S sgn * ( P) -τ e (3.22) which refers to N independent and decoupled super twist algorithms (corresponding to the element-wise estimates of the momentum and external wrench). As global finite-time stability of the equilibrium point defined by ( P, s) = (0, 0) can be guaranteed for the STA being robust [START_REF] Moreno | A Lyapunov approach to second-order sliding mode controllers and observers[END_REF][START_REF] Garofalo | Sliding mode momentum observers for estimation of external torques and joint acceleration[END_REF], σ is an estimation of the external wrench τ e in finite time. For a successful implementation and application of such sliding mode wrench observer, it is important to properly tune the observer gains K O S and K O T which affect both the stability and the dynamic behaviour of the observer [START_REF] Garofalo | Sliding mode momentum observers for estimation of external torques and joint acceleration[END_REF]. To obtain an intuition on tuning the observer gains, the error dynamics in (3.22) can be rewritten as a second-order differential equation

Ṗ = -K O T ∥ P∥ 1 2 sgn * ( P) -K O S t t 0
sgn * ( P)dtτ e (3.23) where the observer gain K O T can be interpreted as equivalent to the proportional gain, while K O S is equivalent to the integral gain. Therefore, too high values for K O T will lead to overshoots, and too small values result in poor convergence of the estimation. In addition, values for K O S are tuned to reduce the static remaining errors. Empirically, the desired behaviour of the sliding mode observer is obtained by tuning the observer gains with initial values taking the relation of K O T ,j = 1.6 K O S ,j (j = 1, ..., N ). Then the estimated external wrench can be written in the time domain by where P(t -∆t), P(t) and τ e (t -∆t), τ e (t) are respectively the momentum estimation error and the estimated external wrench at the previous and current timestamp. Note that for all quantities, the initial values are assumed to be zero such that the constant terms of the integration in (3.24) can be omitted.

P(t) = t t 0 C q(t), ν(t) T ν(t) -g q(t) + τ (t) -K O T ∥ P(t -∆t)∥

Discussion on Wrench Observers

The above-mentioned momentum-based wrench observers are derived on the basis of the dynamic model depicted by (3.1) and its property, which are capable of estimating the unknown external wrench with only knowledge of the accessible robot states, i.e. robot configuration q and velocity ν. In terms of dynamic modelling, the Spatial Vector algorithms presented in Section 2.5.3 can be adopted, allowing an online computation of generalised inertia matrix and Coriolis matrix needed to construct the estimation. It is worth mentioning that although three types of wrench observers all use the momentum dynamics to obtain an estimation of the external wrench, the ways in which the relation (3.7) is used are different. In first-order and second-order observers, the momentum dynamics is used as an integrand in order to construct a low-pass filter to leverage highfrequency measurement noises, while the states of the sliding mode observer are directly an estimation of the generalised momentum and the external wrench, in which the momentum dynamics is internally considered in constructing the sliding mode.

Additionally, all these observers guarantee theoretically an estimation of the external wrench that converges to τ e in finite time. This is performed by the mismatch between the expected robot dynamics and its real behaviour which assumes that the command τ sent to the robot has been well achieved. Knowing the relationship of (2.28), this means that the thrust force commands f should be sufficiently well tracked by the multirotors, which however cannot be assured in real case scenarios. Therefore, the estimation of the external wrench will also contain uncertainties on thrust forces generated by the multirotors. In addition to this factor, any other modelling uncertainties, measurement noises and errors will inevitably lead to a noisy and/or biased estimation. As a consequence, the estimated external wrench will not be exactly zero even when no external effects are present. A threshold has to be empirically set to avoid false positives if the observers are used to detect the contacts or collisions.

Impedance-based Interaction Control

After having discussed the external wrench estimation based on momentum computation, the next step is to investigate the interaction control algorithm for interacting with the environment. As discussed in Section 3.1, the impedance control method is an indirect force control algorithm which regulates passively the robot's behaviour with respect to the external wrench. The desired behaviour is determined by a virtual impedance system, i.e. a mass-spring-damper system, taking the wrench exerted on the environment by the robot as the system's input. This control paradigm is particularly suitable for flying robots which can easily be suffered from aerodynamic uncertainties and disturbances, since the impedance controller can be applied to both reject the disturbance and control the interaction behaviour, making the robot itself robust enough for performing the interaction tasks. Additionally, as the motion control loop is totally replaced by the impedance law, the controller can handle both free-space flights and potential interaction tasks without the need of switching controllers as required in most of other force control approaches.

In this section, an impedance-based control of the flying parallel robot with wrench tracking capacity is presented. The high-level control law is firstly computed by designing the desired impedance behaviour of the robot. Then the desired thrust magnitude and attitude setpoints of each multirotor are derived in order to properly actuate the system. The low-level multirotor's attitude control is then discussed, which is based on a proportional regulation of the attitude and PID regulation of the angular rate. Additional discussions on the overall control structure and controller tuning will be given in the last subsection.

High-level Impedance-based Controller

Recall that q, ν and ν denote as the robot's generalised position, velocity and acceleration vectors, defined in Section 2.2. Let q d , ν d and νd be the desired position, desired velocity and desired acceleration of the robot, which can be defined by an off-line trajectory generation process usually based on an interpolation technique with a list of prescribed waypoints. A generalised form of the desired impedance behaviour of the robot interacting with the environment can be chosen as

M d ( νd -ν) + B d (ν d -ν) + K d ε q (q d , q) = ε τ (3.25)
where M d , B d and K d ∈ R (6+n)×(6+n) are the positive-definite diagonal matrices respectively for the desired mass, damping and stiffness coefficients of the system, which are decoupled on each robot state. The input of the desired impedance system is defined to be the wrench tracking error ε τ as in [START_REF] Seraji | Force tracking in impedance control[END_REF], which is calculated by

ε τ = -τ e -τ d e ∈ R 6+n (3.26)
with τ e being the estimated external wrench that can be constructed by the momentumbased observers discussed in Section 3.2, and τ d e representing the desired interaction wrench the robot is expected to exert on the environment. Note that -τ e refers to the estimated interaction wrench the robot exerted on the environment. ε q (q d , q) is the tracking error of the robot configuration, which takes the form of

ε q (q d , q) =      p d p -p p ε o (q d p , q p ) θ d l -θ l      ∈ R 6+n (3.27)
with ε o (q d p , q p ) ∈ R 3 being the platform orientation error computed by the quaternion error between the desired and actual orientations [START_REF] Brescianini | Nonlinear Quadrocopter Attitude Control[END_REF] as ε o (q d p , q p ) = sgn(q err p,0 )q err p,1:3

q err p = q -1 p • q d p (3.28)
with • being the quaternion multiplication as detailed in (A.48) of Appendix A.1, q 0 and q 1:3 are respectively the scalar part and the vector part of a quaternion. sgn(q err p,0 ) being the classical sign function defined as

sgn(q err 0 ) =    1, q err 0 ≥ 0 ; -1, q err 0 < 0 . (3.29)
Based on the desired impedance in (3.25), an auxiliary input corresponding to the acceleration of the system can be determined by

u = ν = νd + (M d ) -1 B d (ν d -ν) + K d ε q (q d , q) -ε τ (3.30)
The control input of the high-level impedance controller can then be calculated by feedback linearization using the dynamic model of (3.1) as

τ = M(q)u + C(q, ν)ν + g(q) -τ e = M(q) νd + M(q)(M d ) -1 B d (ν d -ν) + K d ε q (q d , q) -ε τ + C(q, ν)ν + g(q)
τ e (3.31) which is the actuation wrench that should be applied to the FPR to properly achieve the desired impedance behaviour of the system. By taking the relationship defined in (2.28), the required thrust forces of the multirotors actuating the robot can be calculated by

f = J(q) T † τ (3.32)
with J(q) being the Jacobian matrix derived in (2.20) and J(q) T † denoting the pseudoinverse of the transpose of the Jacobian matrix. In case where the number of legs n = 3, it can be simplified by J(q) -T as the inverse of J(q) T . However, one should assume that the Jacobian matrix is invertible, i.e. det(J) ̸ = 0. When det(J) = 0, it means that the specific robot configuration is singular and the determination of required thrust forces is impossible under such configuration. According to the singularity analysis conducted in [Six, 2018b], the singularity-free configuration can be assured when the leg angles are all restricted within the range of [0, π 2 ].

The stability of the impedance controller with external wrench estimates can be proven by considering the stability of perturbed systems studied in [Khalil, 2002a]. The error dynamics applying the control law of (3.31) can be written as (3.33) with τ e = τ e -τ e recalled as the estimation error and

M( ν -νd ) + M v B d (ν -ν d ) + M v K d ε q (q, q d ) + M v ε τ = -τ e
M v = M(M d ) -1 .
In case of perfect compensation of external wrench, i.e. τ e = 0, it can be proven that a global asymptotically stable equilibrium point is achieved by taking the following conditions [Khalil, 2002a]

ε q (q, q d ) = 0, ν -ν d = 0, ν -νd = 0, ε τ = 0 . (3.34)
In most cases where the condition of τ e = 0 is not necessarily ensured, the stability proof of the system has to be accomplished by taking into account non-vanishing perturbations, in which a stable equilibrium point of the system is no longer existing. However, with a reasonable hypothesis of the perturbation term being bounded, i.e.

∥τ e -τ e ∥ ≤ δ (3.35) with δ an arbitrarily small and positive value, it is possible to prove that the nominal system has an exponentially stable equilibrium at the origin (that of conditions in (3.34)) because it shows that arbitrarily small and uniformly bounded perturbations will not result in large steady-state deviations of the system from the origin [Khalil, 2002a]. In other words, the stability of the impedance control law of (3.31) with external wrench estimation can be ensured if the estimation error, i.e. τ e -τ e , is bounded. Furthermore, the time-scale separation argument commonly found in several robotics applications is exploited in dealing with feedback control with estimation. The estimator dynamics are supposed fast enough such that its transient behaviour can be considered as a bounded perturbation with respect to the robot motion, which further proves the assumption of bounded perturbation term in (3.35) to the system.

Computation of Multirotor Thrust/Attitude Setpoints

Based on f i resulted from (3.32) corresponding to the multirotor i's thrust force vector in 3-dimensional space, the desired thrust magnitude and desired attitude of multirotor i can be determined. As the classical multirotor (with untilted rotors) can only provide thrust force vertically in its body frame, the total thrust magnitude and the z axis of the multirotor's body frame F bi for the desired attitude can be systematically defined by

f d t,i = ∥f i ∥, z d i = f i ∥f i ∥ (3.36)
Any orientation satisfying z d i with an arbitrary yaw around z d i can be chosen to provide the correct desired thrust force f i . To fully determine the desired attitude, a desired yaw can be chosen by defining the desired x axis (or y axis) of the body frame. A constant angle β i (as presented in Section 2.3.3) between the leg's direction and the x axis of the multirotor's frame can be chosen, for the purpose of avoiding potential collisions between the rigid legs and the propellers. The definition of the desired x axis can be done in two steps:

1. defining firstly an auxiliary axis x ′d i which is perpendicular to both leg's direction --→ A i B i (with its unit vector expressed by l i ) and the axis z d i ;

2. then rotating an angle of (βπ 2 ) around the axis z d i .

The computation of the desired x axis of each multirotor's body frame is shown in Fig. 3.1 and detailed in (3.37).

Figure 3.1 -Definition of the desired x axis of the multirotor's body frame.

x ′d i = l i × z d i , x d i = AxisAngle(z d i , β - π 2 ) x ′d i (3.37) with u i = ---→ A i B i ∥ ---→ A i B i ∥

and --→

A i B i computed via the relation of (2.12). Note that AxisAngle(axis, angle) refers to the axis-angle representation of an orientation (see Appendix A.1). Finally, the rotation matrix associated with the desired attitude of the multirotor i can be fully determined as

R d i = x d i z d i × x d i z d i (3.38)
which is then converted to the unit quaternion q d i corresponding to the desired attitude of the multirotor i.

Low-level Multirotor Attitude Controller

Once the commands of (f d t,i , q d i ) are obtained corresponding to multirotor i's desired thrust magnitude and desired attitude, a thrust/attitude controller commonly seen in the literature can be chosen for the low-level multirotor control. For the cases where hexarotors or octorotors are used as the aerial vehicle platforms in the FPR design, the knowledge of desired thrust magnitude and attitude setpoints is not enough to determine the actuator inputs (i.e. motor speeds of the rotors). To solve this, a control allocation or optimisation method is often adopted, satisfying the achievement of thrust/attitude commands and optimising energy consumptions as investigated in [START_REF] Kotarski | Generalized Control Allocation Scheme for Multirotor Type of UAVs[END_REF][START_REF] Werink | On the Control Allocation of Fully-Actuated and Over-Actuated Multirotor UAVs[END_REF][START_REF] Liu | Robust optimal attitude control of hexarotor robotic vehicles[END_REF]. In the works conducted within this thesis, the quadrotors are chosen to actuate the robot with no over-actuation needed to be handled as it is sufficient to fully determine the four motor inputs given the desired thrust magnitude and desired attitude of a quadrotor. A quaternion-based attitude control of quadrotor such as [START_REF] Brescianini | Nonlinear Quadrocopter Attitude Control[END_REF][START_REF] Fresk | Full quaternion based attitude control for a quadrotor[END_REF] can then be applied, which is based on the quadrotor's kinematics and detailed as follows.

The objective of the low-level quadrotor control is to design a feedback law which stabilizes the quadrotor at the desired attitude while generating the desired thrust. From the desired and actual attitude of the quadrotor, the angular rate commands can be calculated considering the following control law

ω d i (q i ) = 2 τ
sgn(q err i,0 )q err i,1:3 (3.39) where τ is the first-order system time constant corresponding to the attitude (proportional) control gain, q err i = q -1 i

• q d i is the quaternion error, and sgn(q err i,0 ) is the sign function of the scalar part of the quaternion error, which has been defined in (3.29).

The computation of the desired angular rate commands by (3.39) satisfies ω d i (q i ) = ω d i (-q i ), required to solve undesired unwinding phenomena when using quaternion-based controllers as q i and -q i represent the same physical attitude [START_REF] Mayhew | On quaternion-based attitude control and the unwinding phenomenon[END_REF]. It is evident since any physical attitude in SO( 3) corresponds to two antipode quaternions, i.e. q i and -q i , and the controller outputs must therefore be consistent in these two equivalent attitude inputs. Then a PID-based controller can be designed to achieve the angular rate commands, as

m d i = K P ε ω + K D εω + K I t 0 ε ω dt (3.40)
with ε ω = ω d i -ω i being the error between the angular rate setpoints and the measured values, K P , K D and K I are the positive-definitive diagonal matrices for the PID gains.

It is additionally noted that the angular rate commands for each multirotor (i.e. ω d i ) should theoretically be depending on the rates of high-level control outputs (i.e. the rate of thrust commands computed from the high-level loop). This term or even higher-order terms affecting the low-level control are however neglected, supposing that the desired attitude setpoints are achieved instantaneously, a hypothesis ensured by the higher control rate and faster convergence of the low-level attitude controller compared to the high-level one for the relatively slow dynamics of the passive architecture.

After having obtained the commands on the quadrotor's thrust magnitude and rotational moments, the rotor speeds can be directly computed without any ambiguity. It is well known that for a quadrotor the thrust force applied to the airframe is the sum of thrusts produced by four rotors, while the reaction moments acting on the airframe are due to the rotor drag forces. Their relations between the squares of the motor speeds for a quadrotor can be written in matrix form [START_REF] Mahony | Multirotor aerial vehicles: Modeling, estimation, and control of quadrotor[END_REF]

        f t m x m y m z         =         c T c T c T c T 0 dc T 0 -dc T -dc T 0 dc T 0 -c Q c Q -c Q c Q                 Ω 2 1 Ω 2 2 Ω 2 3 Ω 2 4         (3.41)
where Ω j for j ∈ {1, 2, 3, 4} are the motor speeds, c T and c Q are the thrust force and drag force coefficients, and d is the distance from the central axis of the quadrotor to the rotor axis. This constant matrix is then inverted to compute the motor speeds from the commands of f d t,i and m d i , which is usually referred to as the output mixing process.

Discussion on Controller Structure and Tuning

The overall control structure is summarized by the diagram shown in Fig. 3.2. The high-level impedance controller deals with the tracking of the desired trajectory (q d , ν d , νd ) as well as the desired interaction wrench τ d e , via regulation on the impedance behaviour of the system. The output of the impedance controller, the vector of 3-dimensional thrust forces f , is then used to compute the thrust and attitude setpoints for the low-level multirotor attitude controller, which should be run at a frequency higher than the high-level controller to ensure the fast convergence towards the attitude setpoints.

Regarding the control gains, the multirotor (quadrotor) controller is experimentally tuned with aggressive attitude and angular rate gains to achieve fast convergence and good robustness to the perturbations. This can be accomplished by setting high proportional gains for the attitude control and properly tuning the PID gains for the angular rate control with good behaviour in convergence time and damped oscillations. The impedance gains in (3.25) are determined on the basis of the desired impedance behaviour for the robot-environment interaction, with values being tuned according to the specific task. For instance, a high stiffness can be chosen to reject disturbances during a steady flight, while a lower value will be more appropriate to ensure the compliance behaviour of the robot interacting with the external environment. On the other hand, the mass and damping coefficients must be properly defined to avoid overshooting and oscillations. Furthermore, the damping ratio of the desired impedance system can be taken into account, which is calculated by

ζ = B d 2 √ K d M d (3.42)
The system is under-damped when ζ < 1, critically damped when ζ = 1, and over-damped when ζ > 1. The damping ratio is usually selected between 0.4 and 0.7 in general case [START_REF] Shinners | Modern control system theory and design[END_REF].

Overall Estimation and Control Framework

The overall framework of the external wrench estimation and impedance-based control applied to the FPR is summarized in Fig. 3.3. An off-line trajectory generation procedure is firstly conducted, in which the desired waypoints of the generalised position coordinates q d are defined in a list, and the desired velocity and acceleration are calculated generally using the 5-order or 7-order polynomial interpolation techniques [START_REF] Kermorgant | Modeling and Control of Robot Manipulators[END_REF]. Then the desired wrench can be planned similarly in an off-line process or sent to the FPR online by an operator, providing the possibility of deriving from the tracking of the desired trajectory in case of interacting with the environment to achieve potential manipulation tasks. The determination of the desired wrench τ d e the robot exerts to the environment depends on the specific tasks performed by the robot. In the interaction experiments In terms of state measurements, the generalised position q of the FPR is measured directly by the Motion Capture (MOCAP) system, while the velocity of the robot ν is computed using the Forward Kinematics detailed in (2.21) from the measurements of linear velocities onboard the quadrotors by their IMU sensors. These easily accessible measurements of the robot states are taken as input for both external wrench estimation and the impedance-based interaction controller. Remark that for the velocity measure-ments, the derivatives from MOCAP data are not preferable due to the noise after the numerical differentiation, while the onboard linear velocity measurements of each UAV are usually well estimated by the additional filtering techniques.

Experimental Validation

In this section, the implementation and experimental validation of the wrench observers and the impedance-based control are presented, for which a video of experiments can be found at https://youtu.be/ryffKG-VG68 and results in [START_REF] Liu | Wrench Estimation and Impedancebased Control applied to a Flying Parallel Robot Interacting with the Environment[END_REF]. In the FPR prototype applied to the experimental works detailed in Appendix B, the quadrotors are used to actuate the system and the number of the legs (and attached quadrotors) is selected to be 3, which is the minimum number requested to be able to control the full DoFs of the robot. Experiments have been conducted to show the performance of the wrench observers and impedance-based controller applied to the FPR dealing with modelling uncertainties, external disturbances and physical interactions with the environment.

The high-level impedance-based controller as well as the wrench observers are implemented on a ground computer and run at 50 Hz. The commands are sent to each quadrotor by a 5 GHz Wifi network and tracked by the onboard autopilot of attitude control run at 250 Hz. The experiments of the FPR were done in an enclosed 6 × 4 × 3.5 m flight arena equipped with an 8-camera Qualisys Motion Capture (MOCAP) system [START_REF] Qualisys | Qualisys Motion Capture Systems[END_REF]. The MOCAP system can provide the measurements of the poses of all the bodies recorded in the arena, and stream the data over the Wifi network at 100 Hz.

Experiment I: Hovering in Free Space

In the first experiment, the FPR is flown in free space for the purpose of tuning the observer gains and the impedance gains. As the modelling errors can be estimated by the wrench observers, the free-space flight is also performed to analyse the effects of modelling errors and uncertainties. For tuning the wrench observers, the gains are particularly chosen to filter the high-frequency noises, while limiting the sensibility of the observer and the estimation oscillations at the same time. The gains of different wrench observers are determined to have equivalent cut-off frequencies. From the aspect of controller tuning, the impedance gains are chosen experimentally taking into account the damping ratio of the desired impedance system given by (3.42). The values of the impedance gains can be varied according to the specific application scenarios. In the general case, the gains are decoupled along different robot coordinates (i.e. platform position, orientation and leg angles of the FPR). A relatively small damping ratio on the platform position coordinates is selected to have a rapid response to the external effects during the flight. A slightly under-damped behaviour of the platform's rotational movement is chosen to reach the best trade-off between the response time and the acceptable overshoot on the platform orientation. In contrast, over-damped impedance gains are preferable on the leg angles to limit the overshooting and sensibility to external disturbances, which are beneficial to both avoid the singular configurations and maintain the wrench capability during the interaction with the environment. The pre-tuned gains of the wrench observers and impedance controller for achieving a stable free-space flight are summarized in Table 3.1.

Robot State

Wrench Observer Gains Impedance Gains 3.1 -Wrench observer and impedance control gains along different robot states. The corresponding damping ratio of the desired impedance system is calculated by (3.42).

K O K O 1 K O 2 K O S K O T M d B d K d ζ
One of the first analyses conducted on the results of this experiment is the performance of the implemented momentum-based observers. Fig. 3.4 shows the results of the external wrench estimation performed by three different momentum-based wrench observers during a hovering flight of 150 s. The range and evolution of the external wrenches estimated by three different observers are similar, which can be seen as cross-validation on the estimation techniques based on momentum computation. However, their performance is slightly different: compared to the first-order wrench observer (FOWO), the estimated values of the second-order wrench observer (SOWO) are less noisy but less reactive to the external wrench changes as well; in contrast, the sliding-mode wrench observer (SMWO) reacts very fast to the evolution of external wrench, the noise amplitude of which is however much higher.

Furthermore, the effects of modelling errors and uncertainties estimated by the observers can be analysed. One may notice that the z-axis external force exerted on the platform decreases linearly as time goes on. This is caused by the drops in battery levels as the flight lasts which lead to a decrease in thrusts generated by quadrotors. Therefore, the mismatch between the desired thrusts and the actual thrusts produced by quadrotors has been estimated in the external wrench term, in particular the z-component of fp,e . One may also find an increase in external moments on the legs due to the same reason since a decrease in quadrotor thrust will cause an external moment around the revolutejoint axis considered to be additionally exerted on each leg. According to Fig. 3.5(a), the tracking of the platform's z position was affected equivalently by applying three different wrench observers, caused by the mismatch of the actual thrusts produced by quadrotors.

The estimates of the external wrench on the other states are small, proving that the rest of the modelling errors except the uncertainties on quadrotor thrusts are negligible. Additionally, the regulation on the thrusts produced by quadrotors can be achieved in order to cancel the effects due to the battery level changes, which is detailed in Appendix C. After applying the regulation of thrust based on the actual battery levels used onboard, a free-space hovering flight of the FPR was performed again. The results on the evolution of the platform's z position after the thrust regulation are demonstrated in Fig. 3.5, in which the comparison with the PD and PID-based controllers initially pro-posed in [Six, 2018b;[START_REF] Liu | Decentralized Control and Teleoperation of a Multi-UAV Parallel Robot Based on Intrinsic Measurements[END_REF] is also conducted. It can be seen that after the thrust regulation, the impedance controller can well perform the tracking of desired trajectories in free space, with the results comparable to that of the PD and PID-based controllers which are previously well-tuned to have the best performance such controllers can achieve. In the following experiments, the thrust regulation is a priori applied to reduce as much as possible the effects of modelling uncertainties. The quantitative results presented in Table 3.2 also show that even with well-tuned gains, the PD controller is still inevitably affected by static errors, especially seen in the positioning errors, while the impedance controller and PID controller can both work fine in tracking desired trajectories during the hovering flights in free space.

Experiment II: Hovering with Additional Payload

In the second experiment, the FPR was flown with an additional payload attached to the centre of the platform (as shown in Fig. 3.6), which is unconsidered in the model and thus acts as an external disturbance on the platform. A hovering flight with a payload weighting 200 g was firstly conducted to test the performance of different observers and their effects on the control. The results of the external wrench estimation and the trajectory tracking on the platform's x and z position as well as leg angles are shown respectively in Fig. 3.7 and Fig. 3.8.

It can be remarked that all three observers can well perform the estimation, with estimated values converged to 2 N as the ground truth and the RMSE of the estimation all limited within 1.1 N as shown in Table 3.3. The tracking of the platform's z position is slightly degenerated to stably control the robot suffering from the external force along z direction, which is the compliance behaviour ensured by the desired impedance settings. In addition, the performance of the observers discovered in Experiment I can also be well identified: the FOWO has an average convergence time, and the high-frequency noises are well filtered; the SOWO can largely reduce the estimation noises, but it converges relatively slow to stable values; the SMWO is more reactive to the external wrench and convergences faster, however it further amplifies the external wrench such that the estimated values are very unstable compared to the other observers. The undesired behaviour found in SOWO and SMWO affects the stability of the control system, which can be seen in Fig. 3.7(b) that the tracking of the platform's x axis is poor using SMWO due to its noise amplification and in Fig. 3.8 that the slow convergence of SOWO affects the tracking of the leg angle. The quantitative results presented in Table 3.3 also demonstrate that the stability of different estimation techniques affects positioning accuracy and the tracking of the platform's roll and pitch angles. Consequently, the FOWO is kept in the following experiments because of its best compromise between the estimation noise and convergence time. In the next step, the hovering flight in addition to an external payload of 300 g was flown with the external wrench estimated by FOWO. For purpose of comparing with Observer p p,xy [cm] existing controllers, the same testing flights were conducted using the following controllers:

ϕ p [°] ϑ p [°] θ l [°] fpz,
1. Impedance-based controller presented in this chapter;

2. PD-based controller initially presented in [Six, 2018b];

3. PD-based controller with feed-forward compensation term corresponding to the external wrench estimation (named as PD+C controller).

All controllers are experimentally tuned to have good tracking results in free-space flights and then tested to handle the additional payload as the external disturbance. It has to be mentioned that PD controller is not dedicated to the interaction with the environment, whose performance is normal to be worse. However, the flights with this controller were still performed in order to set up a reference of the worst case. In addition, the PD+C controller is also compared in which the PD controller is enhanced by the knowledge of external wrench. The addition of an integral term in the PID-based controller was however shown to be unable to handle the external payload and inevitably result in crashes, which is therefore excluded in the comparison. Fig. 3.9 shows the results of the tracking of the platform's z position, and the estimated external force along z axis in F 0 . The root-mean-square errors (RMSE) of the trajectory tracking and the external force estimation are presented in Table 3.4. From the results, it can be seen that the impedance controller can better deal with unknown disturbances, with good compliance behaviour shown in the platform's z position and better tracking performance on the other states. In addition, the effectiveness of the wrench estimator is validated as the RMSE of the z-component external force estimates are all about 1 N, which is an acceptable value, especially taking into account the large estimation errors in take-off and landing periods due to the ground effects (during the time interval within [0,2] s and [45,47] s shown in Fig. 3.9). 8.9 9.2 6.9 12.0 0.9 Table 3.4 -Root-mean-square error (RMSE) of the trajectory tracking and the z-axis external force estimation during a hovering flight with additional payload of 300 g. Refer to Table 3.2 and Table 3.3 for the meaning of each state.

Controller p p,xy

[cm] ϕ p [°] ϑ p [°] θ l [°] fpz,

Experiment III: Hovering with External Wind Perturbations

After having validated the effectiveness of the estimation and impedance control techniques, this experiment has an objective of comparing the behaviour of the impedance system under different impedance gains. The FPR was flown to hover in front of a wind generator with a wind speed measured about 26 km/h from the centroid of the three quadrotors at their hovering height (as shown in Fig. 3.10). The winds are generated along the x axis of the global frame, which is approximately aligned with the platform's

x axis since zero yaw of the platform relative to the global frame is set in the desired trajectory. Therefore, the external winds will perturb the control of the leg angles and generate an external wrench on the platform mainly composed of:

• an x-axis force expressed in the global frame;

• a moment around the negative y axis of the platform frame (direction of the negative pitch angle of the platform).

Then the hovering flights in presence of wind perturbations during 60 s were performed, with different impedance gains on the platform's position and orientation states, while leaving the same gains for the additional DoFs on the leg angles. The mass and stiffness coefficients are varied with values higher or lower than the originally tuned ones to analyse the influence of impedance tuning, and the damping coefficients are calculated accordingly to maintain the same damping ratio as given in Table 3.1. Table 3.5 shows the variation in the impedance gains studied during the experiments, and the results on the tracking error distribution of the platform's x position and pitch angle are shown in Fig. 3.11, with quantitative results on the tracking performance of different impedance systems presented in Table 3 From the results, different compliance behaviour according to the variations in mass and stiffness coefficients can be well identified. A higher value in mass coefficient might be Note that the error distributions are calculated using the norm errors on the tracking of desired trajectories. beneficial to resist the external wrench (especially shown in the platform pitch response). However, the robot becomes less reactive to external effects, which is unexpected during the interaction tasks. A proper selection for the mass coefficient such as the values selected in the original gains which are coherent with the mechanical and structural properties of the robot is preferable. On the other hand, a stiffer impedance system is always advantageous in rejecting the disturbances as shown in both cases, in which the tracking of the platform orientation is much enhanced by increasing the stiffness of the impedance system. The concern of increasing stiffness would be the loss of compliance with the external environment and the problems of overshooting and oscillation that might occur. Based on this analysis, proper values for the impedance gains can be chosen according to the specific tasks the robot is controlled to achieve. For instance, to achieve contactbased interaction tasks, the original gains are chosen for the platform's position and leg angle states, while a stiffer behaviour of the platform orientation state is desirable. In this way, the platform's compliance during the interaction is maintained, while there is more resilience against perturbations on the platform orientation.

Experiment IV: Contact-based Interaction Tasks

In this experiment, the FPR was flown to work in more challenging scenarios where the contact-based interaction tasks were performed in order to mimic real-world applications using this kind of aerial manipulators. A simply designed cylinder-form end-effector is attached at the centre of the platform, whose frame is supposed to be aligned with the platform frame. During the interaction tasks, the platform of the FPR (with the attached end-effector) was controlled to interact with a 30×30 cm wooden board fixed in the middle of the flight arena by exerting force along its normal direction (i.e. z axis of the platform frame). The wooden board is considered as an unknown object in the environment, such as the surface of a ceiling. It is hung by several tightly stretched ropes and attached with a heavy payload above, and thus assumed to be stiff enough to resist the interaction force between the platform during the experiment. It has to be mentioned that the exact position of the external object is not necessarily known. A predefined trajectory is sent to the FPR for taking off and reaching the potential interaction pose measured by the MOCAP. Then a human operator sends the desired contact force commands by a joystick to perform the interactions with the board by the end-effector attached to the platform. Fig. 3.12 shows the configuration of several contact-based interaction tasks performed by the FPR in this experiment, demonstrating different application scenarios that can be achieved by the FPR. Figure 3.12 -FPR performing contact-based interaction tasks in Experiment IV.

Experiment p p [cm] ϕ p [°] ϑ p [°] θ l [°] f d c [N] Task 1 -

Task 1: pushing with different orientations

In the first task, the FPR was controlled to exert force onto the board by the platform in two different orientations: one in flat orientation and the other at an angle of about 10 • in roll and 25 • in pitch. The desired contact force is sent by the operator when the platform approaches the potential interaction pose with the board. Fig. 3.13 and Fig. 3.14 show the evolution of the desired and estimated contact force and the platform's position in two case studies with different orientations. In both cases, the estimated values of the contact force converge to desired values, with the range of the contact force exerted up to 10 N, validating the force-tracking performance of the proposed impedance controller. From the results of the tracking of the platform's position, the steady contacts between the platform and the board can be well identified, during which the platform position is further stabilized (indicated by the shaded areas in orange). The RMSE on the tracking of the other states in Table 3.7 also demonstrates that the robot configuration is stably regulated by the impedance controller during the interaction tasks.

Task 2: pushing and twisting

In this task, the platform was controlled to interact with the board in a flat orientation while twisting itself by yaw movement. When the contact is possible, the operator sends both the desired contact force and yaw rate commands to establish the interaction with the board and twist the platform at the same time. Fig. 3.15 shows the tracking of the desired contact force and platform's position, while the evolution of the platform's yaw angle is presented in Fig. 3.16. From these results, it can be remarked that the pushing & twisting task was successfully accomplished, with the contact force exerted by the platform up to 6 N. This task shows the FPR capable of accomplishing more complex tasks such as screwing or equipment replacement at remote locations.

Task 3: pushing in presence of external winds

This task involves a more challenging scenario where the FPR was performing the pushing task in presence of wind perturbations at a speed of about 13 km/h. The tracking results shown in Fig. 3.17 demonstrate that the interactions with the board were successfully achieved under the wind perturbations. The effects of the external winds are well estimated by the observer as shown in Fig. 3.18, demonstrating a x-axis force of about 2 N and a negative pitch moment of about -2 N.m on the platform. The tracking of the platform's x position and the pitch angle was perturbed, however the errors remain in a reasonable range to not perturb the steady contacts performed by the platform. It can be concluded that all the interaction tasks were successfully accomplished, with acceptable RMSE on the tracking of the desired values given in Table 3.7. The desired contact forces are well tracked in all tasks, with errors limited within 1.7 N. These results have shown the effectiveness of the impedance controller with the external wrench estimated by the first-order wrench observer applied to the FPR for performing contactbased interaction tasks in relatively complex working scenarios.

Conclusion

In this chapter, a methodology of controlling the FPR interacting with the environment has been studied, which involves firstly an estimation technique based on momentum computation to estimate the external wrench acting on the robot due to the modelling uncertainties, external disturbances and potential interactions with the environment. Several momentum-based observers are studied, including first-order wrench observer (FOWO), second-order wrench observer (SOWO) and sliding-mode wrench observer (SMWO). It has then been shown that these observers present different performances in terms of response time and noise amplitude in estimation. Then, based on the estimated external wrench, an impedance-based controller can be applied, which is designed by the desired impedance system and has the ability to track the desired interaction wrench set by a human operator. Extensive experimental validation has been done, in which the implemented estimation and control techniques have been tested and shown to be applicable to the FPR to cancel the modelling uncertainties, deal with the external disturbances and perform contact-based interaction tasks.

The method studied within this chapter has shown good potential in accomplishing a variety of industrial applications by the FPR. However, until now, this method still requires precise and high-rate exteroceptive measurements of the robot states and is usually implemented in a centralized way relying on the stable communication between each computation unit, which might not be realistic for real-world applications. In the next chapter, the presented estimation and control methods are shown to be applicable in a decentralized manner with the state estimation deployed onboard each multirotor using only intrinsic measurements.

Chapter 4

DECENTRALIZED ESTIMATION AND CONTROL

This chapter presents the decentralized control algorithms applied to the Flying Parallel Robot (FPR). An introduction to the topics of the decentralization of multi-vehicle aerial robots is given in the first section. While most of the previous works on such robots often depend on the use of exteroceptive state measurements by the Motion Capture (MOCAP) systems, a method for reconstructing the robot state distributed on each multirotor using only intrinsic measurements is presented in the second section. Then the decentralized controllers based on previously studied control methods are introduced in the third section, including two PID-based motion controllers and an impedance-based interaction controller decentralized on each UAV. These decentralized control methods are complemented by integrating the teleoperation from a human operator as no global reference frame is considered available for positioning the platform. Finally, the proposed decentralization methods are validated by extensive experiments detailed in the fourth section.

Introduction

In most of the previous works on multi-UAV manipulators discussed in Section 1.1.2 such as the FPR, the controller is often deployed in a centralized manner, implying that a central computation unit receives all the measurements and computes the control for all the UAVs. This control scheme is usually straightforward to be developed, however it relies on a highly reliable bidirectional communication channel for transmitting all the control and measurement messages, and the crashes will almost inevitably occur from any communication interruption of more than a few control iterations (this means several tenths of a second for an aerial robot). Therefore, the deployment of a decentralized controller allowing each multirotor to perform its own control seems to be more robust to communication interruptions.

Another issue along with the centralized controller of an aerial robot is that this scheme often requires reliable and high-rate measurements of the robot pose in a global reference frame, which is handled in most of the works by the Motion Capture (MOCAP) systems. These systems are usually bulky, expensive and require unobstructed lines of sight from multiple angles to each rigid body for the pose measurements. Along with high costs, the obvious impracticality in outdoor, cluttered or unknown environments is a disappointing limitation for an aerial robot. In some of the recent works, the MOCAP system is replaced by onboard visual and inertial sensing, such as in [Tagliabue, 2017] for leaderfollower control of a suspended payload, [Loianno, 2018a] for transporting a bar-like object collaboratively by two UAVs, and [Li, 2021a] for transporting a payload with quadrotors suspended by cables. However, these works were for the cooperative transportation of a payload by multiple UAVs, a relatively simple system. Multi-UAV manipulators with rigidly-connected structure working in outdoor environments are rare, due to the relatively inaccurate GPS localisation (particularly near buildings or under cover) being insufficient for precise inter-UAV positioning to avoid potential collisions.

The decentralization and the lack of global localisation in a common inertial frame are the issues that are extensively treated by the multi-robot control communities for swarming and formation flight [START_REF] Coppola | A Survey on Swarming With Micro Air Vehicles: Fundamental Challenges and Constraints[END_REF]. In these fields, a centralized control scheme is often undesirable not only because stable and reliable communication channels between every pair of a large number of agents seem infeasible, but also due to the complexity of a high-dimensional system resulting in centralized computation almost impossible. Therefore, it is much preferable to treat each robot as an independent agent running its own perception and control algorithms (a so-called decentralized architecture) making for a more intrinsically dependant and robust system [START_REF] Chung | A Survey on Aerial Swarm Robotics[END_REF]. The application of such decentralized algorithms can be seen in the formation control of a team of aerial robots such as [START_REF] Turpin | Decentralized Formation Control with Variable Shapes for Aerial Robots[END_REF][START_REF] Schiano | A rigidity-based decentralized bearing formation controller for groups of quadrotor UAVs[END_REF], leader-follower consensus of multiple UAVs [START_REF] Hou | Interactive Leader-Follower Consensus of Multiple Quadrotors Based on Composite Nonlinear Feedback Control[END_REF][START_REF] Guerrero-Castellanos | Leader-Following Consensus and Formation Control of VTOL-UAVs with Event-Triggered Communications[END_REF], and outdoor flocking of a large number of UAVs [START_REF] Vásárhelyi | Outdoor flocking and formation flight with autonomous aerial robots[END_REF]. In these works, decentralization is often made possible by the individual robots finding some virtual common frame through consensus or other algorithms which moves with the group of robots [START_REF] Coppola | A Survey on Swarming With Micro Air Vehicles: Fundamental Challenges and Constraints[END_REF][START_REF] Schiano | A rigidity-based decentralized bearing formation controller for groups of quadrotor UAVs[END_REF]. For the systems with rigidly-connected links, the classical decentralized strategies are not applicable since the multiple UAVs are physically interfered with by the rigid links and have effects on each other. One may however remark that all the UAVs are connected to a common body (the payload or the moving platform), and therefore a common frame can be assigned with respect to which the individual UAVs can localise and control themselves based on intrinsic and onboard measurements.

In the following sections, the robot state estimation distributed on each multirotor is firstly investigated, which is performed using only the onboard visual and inertial cues.

Then, the decentralized schemes of the previously studied control law will be presented, which are then validated in real-world experiments.

Distributed State Estimation

As mentioned above, one of the main drawbacks of the previous works on the FPR has been that the controller often required reliable and high-frequency measurements of the robot pose expressed in a global reference frame. This is also one of the current limitations of other multi-UAV parallel robots (with rigidly connected links), which has meant until now the necessity of using MOCAP systems, rendering such robots far away from practical applications in the real world. In this section, a solution for recovering the robot state using only intrinsic measurements is proposed, which can be distributed on each multirotor and allows to sufficiently reconstruct a partial set of robot states required by the control.

The vector of the generalised coordinates given by ( 2.1) that needs to be reconstructed can be divided into two parts: the platform pose (i.e. p p and q p ), and the internal configuration (i.e. passive leg angles θ l ). In the previous works, the platform pose was measured by the MOCAP system and the leg angles were computed using the geometric relation given the platform pose and the positions of the multirotors as presented previously in Section 2.3.2. Considering for now there is no longer external localisation available, two options can be proposed for measuring the leg angles:

❖ Potentiometers (or encoders) at the passive leg joints;

❖ Monocular pinhole cameras mounted on each multirotor.

The measurements of the leg angles by potentiometers could be straightforward. However, along with the much added weight due to the necessary stiffening of the revolute joint to maintain an accurate alignment, the additional arrangements such as the wiring, tuning and potential filtering to the noisy and biased measurements would reduce the practicality of using potentiometers. In contrast, the monocular vision seems to be a better solution, as cameras are now very lightweight and a branch of vision-based detection algorithms are available in the literature, such as an ArUco marker detection system [START_REF] Romero-Ramirez | Speeded up detection of squared fiducial markers[END_REF][START_REF] Romero-Ramirez | Tracking fiducial markers with discriminative correlation filters[END_REF], or model-fitting visual techniques that are rapidly becoming more computationally feasible [Tekin, 2017;[START_REF] Lepetit | BB8: A Scalable, Accurate, Robust to Partial Occlusion Method for Predicting the 3D Poses of Challenging Objects without Using Depth[END_REF]. In addition, the vision onboard the multirotors can provide more information not only for estimating the leg angles by detecting the relative position, but also for reconstructing the orientation of the platform by the knowledge of relative orientation. As a result, the solution using pinhole cameras is chosen in this work.

In the following parts, the methodology of measuring the relative pose (i.e. position and orientation) between the platform and each multirotor is firstly presented, which is based on a marker detection system. A filtering technique based on Extended Kalman Filter (EKF) on the relative pose is implemented, for the purpose of maintaining a high frequency of the relative pose estimates and reducing the rate of false detections. This filtered relative pose is then used to reconstruct a partial set of robot coordinates, in which a notion of flat frames is introduced to represent the states such as the orientations in the case where no inertial reference frame is available.

Relative Pose Measurement

To measure the relative pose, a camera is assumed to be mounted on each multirotor and has its own frame F Ci . An identified ArUco marker is supposed to be attached below the platform and has the marker frame F M . Fig. 4.1 shows the definition of the frames for the onboard pose measurement on each multirotor i. Note that an ArUco marker is a synthetic square fiducial marker composed of a wide black border and an inner binary matrix which determines its identifier. A specific library is chosen to generate an ArUco marker [START_REF] Garrido-Jurado | Generation of fiducial marker dictionaries using Mixed Integer Linear Programming[END_REF], which can be detected for pose estimation using the ArUco detection algorithm detailed in [START_REF] Romero-Ramirez | Tracking fiducial markers with discriminative correlation filters[END_REF] given the marker ID and size. The relative pose between the marker and the camera is therefore supposed to be estimated and represented by a homogeneous transformation matrix Ci T M . Note that the homogeneous transformation matrix between two arbitrary frames F A , F B is given by

A T B =   A R B A p B 0 T 3 1   ∈ R 4×4 (4.1)
where A R B and A p B are respectively the rotation matrix and displacement vector of F B expressed in F A , representing the relative pose between two frames.

The fixed transformations between the frames can be known by a prior calibration process, which are

• bi T Ci the transformation of the camera frame relative to the multirotor frame;

• p T M the transformation of the marker frame relative to the platform frame.

Then, if the camera is able to detect the ArUco marker and estimate the relative pose of Ci T M , each multirotor will have knowledge of its pose relative to the platform frame F p .

This can be done by multiplying the transformation matrices as

p T bi = p T M M T Ci Ci T bi (4.2) with p T bi =   p R i p p i 0 T 3 1 
 the transformation matrix between F bi and F p , which is composed of the relative position and orientation of the multirotor i expressed in F p (represented by the translation vector p p i and the rotation matrix p R i ). The fixed transformation matrices are computed as

M T Ci = Ci T -1 M , Ci T bi = bi T -1
Ci with the inverse transformation defined by

B T A = A T -1 B =   A R T B -A R T B A p B 0 T 3 1   ∈ R 4×4 (4.3)
given two arbitrary frames F A and F B .

EKF-based Pose Estimation

The relative pose between the platform and each multirotor represented by p T bi is supposed to be estimated by the ArUco marker detection system. This may present problems in practical cases like uneven detection rate, false detection and noise due to the issues commonly found in vision systems such as motion blur, unfavourable lightening conditions and loss of objects in the camera's angle of view. Therefore, the detected relative pose p T bi is not directly used in the next step for the robot pose reconstruction (presented in the next subsection), but rather filtered to output at a constant frequency with reduced noises and errors. To achieve this, an Extended Kalman Filter (EKF)-based algorithm is adopted, a well-known technique for data fusion and filtering in non-linear and discrete systems [START_REF] Welch | An Introduction to the Kalman Filter[END_REF].

The relative pose to be filtered is rearranged by a vector defined as the system state used in the Kalman filter

x =   p p i p q i   (4.4)
with p q i a unit quaternion converted from the rotation matrix p R i (see the conversion detailed in Appendix A.2). The evolution of the system state is then defined by

ẋ =   p ṗi p qi   (4.5)
To develop the prediction model in the EKF, two main hypotheses are made:

• p ṗi is supposed to be zero at each instant, due to the fact that each multirotor is rigidly attached to the passive structure and its relative position in the platform frame should be constant if the corresponding leg angle is not changing.

• p qi is only affected by the angular velocity of each multirotor, as the rotational movements of multirotors are fully decoupled with the passive architecture and the angular velocity of the platform is negligible compared to the fast rotational dynamics of UAVs.

Therefore, the expression of ẋ can be given by

ẋ =      0 3 1 2 p q i •   0 bi ω i        (4.6)
with bi ω i the angular velocity of the multirotor i, and • representing the quaternion multiplication. The evolution of the quaternion can be simplified by the matrix multiplication

p qi = Ω( bi ω i ) p q i (4.7)
with Ω(ω) is a (4×4) skew-symmetric matrix associated to a vector of the angular velocity ω, which can be defined as [START_REF] Schwab | Quaternions, Finite Rotation and Euler Parameters[END_REF]]

Ω(ω) = 1 2   0 -ω T ω -[ω] ×   (4.8)
Remind that [.] × represents the skew-symmetric matrix associated with a 3-dimensional vector for the cross product operation (referred to (A.50) in Appendix A.1).

It should be noticed that if the leg angles are changing or the platform is rotating (especially in roll and pitch angles), ẋ will also be affected by such movements. However, the slow dynamic response of the FPR structure limits the agility of the robot, which makes the evolution of the relative pose caused by the unconsidered movements as bounded modelling errors in the transition phase. They would slightly degenerate the prediction process, but will rapidly be rectified once the robot gets back to the quasi-static condition or during the next correction step.

According to [START_REF] Welch | An Introduction to the Kalman Filter[END_REF], the equations of the EKF can be written as follows for the state prediction and correction models

x k = f (x k-1 , u k ) + w k-1 z k = h(x k ) + v k (4.9)
with u k as the input of the system at each instant k, and additive vectors w k-1 , v k respectively for the prediction and measurement noises. The prediction equation corresponding to (4.6) can be written in discrete time, where the discrete-time expression of the evolution of the unit quaternion corresponding to (4.7) can be given by [START_REF] Sabatini | Quaternion-Based Extended Kalman Filter for Determining Orientation by Inertial and Magnetic Sensing[END_REF]

p q i,k = exp Ω k ( bi ω i,k )T s p q i,k-1 + w q,k-1 (4.10)
where u k = bi ω i,k is considered as the system input at time k, T s is the time step of the prediction process, w q,k-1 is the vector of prediction noises in quaternion elements, and p q i,k-1 and p q i,k are the quaternions at two consecutive time steps within an interval of

T s . When T s is small enough, Ω k ( bi ω i,k
) is assumed to be constant. Therefore, one can rewrite exp Ω k ( bi ω i,k )T s approximately using its first-order and second-order items of Taylor series expansion as [START_REF] Feng | A New Quaternion-Based Kalman Filter for Real-Time Attitude Estimation Using the Two-Step Geometrically-Intuitive Correction Algorithm[END_REF] p q i,k = 1 4×4 + Ω( bi ω i,k )T s p q i,k-1 + w q,k-1 (4.11)

which yields the prediction model and the state transition matrix finally given by

f (x k-1 , u k ) = x k-1 +   0 Ω( bi ω i,k )T s   (4.12)
and

F k = ∂f ∂x x k-1 ,u k =   1 3×3 0 3×4 0 4×3 1 4×4 + Ω( bi ω i,k )T s   (4.13)
For the observation model, the system state defined in (4.4) is considered to be directly measured via the relationship of (4.2), which gives

h(x k ) = x k ; H k = ∂h ∂x x k = 1 7×7 (4.14)
where H k is the observation matrix set by a (7 × 7) identity matrix.

After having constructed the state prediction and observation models, the prediction and correction equations of the EKF algorithm can be written as follows [START_REF] Welch | An Introduction to the Kalman Filter[END_REF] Prediction:

x ′ k = f (x k-1 , u k ) P ′ k = F k P k-1 F T k + Q k (4.15)
Correction:

x k = x ′ k + K k z k -h(x ′ k ) K k = P ′ k H ′T k (H ′ k P ′ k H ′T k + R k ) -1 P k = (1 -K k H ′ k )P ′ k (4.16)
Note that P k is the covariance matrix of the estimation at each instant k, with the covariance P 0 initialized with the initial state x 0 . K k is the matrix for the Kalman gains.

Q k and R k are the covariance matrices respectively for the prediction and measurement noises, defined by

Q k = E[w k w T k ] and R k = E[v k v T k ].
The terms with the prime symbol are those predicted but not yet updated.

The tuning of the EKF system stays at the determination of prediction and measurement noise covariance, i.e. Q k and R k . The former depends on the correctness of the prediction model, while the latter is usually defined based on the measurement uncertainties according to the noise covariance of sensor outputs. The prediction and update process are usually performed at the same rate (i.e. time interval of T s ). However, as the correction model does not depend on the time step, the update process can be done asynchronously each time when the measurements are available.

One major advantage of using EKF for the pose estimation is therefore that by a proper and regular prediction process, the EKF system can output the filtered relative pose at a constant rate. This is beneficial to recovering the robot state and the control in the following steps. The algorithm of EKF-based pose estimation can potentially be extended by adding another source of measurements, for which multiple sensor data can be fused to increase the redundancy of the pose estimation to avoid false detection issues. However, the Extended Kalman Filter is in general not an optimal estimator and only ensures local convergences due to the linearisation of the models (it is optimal when the prediction and correction models are both linear, the case where an EKF is identical to a regular Kalman filter). Additionally, the linear prediction and correction models in the EKF might not satisfy the normalisation constraint of the unit quaternion, which is ensured by a manual normalisation of the resulted quaternion after every prediction and correction process. Therefore, it would be better to adopt another filter more appropriate for the rotation group and quaternion parameterisation, such as Multiplicative Extended Kalman Filter (MEKF) [START_REF] Markley | Attitude Error Representations for Kalman Filtering[END_REF]Li, 2020a], Invariant Extended Kalman Filter (IEKF) [START_REF] Bonnabel | Invariant Extended Kalman Filter: theory and application to a velocity-aided attitude estimation problem[END_REF][START_REF] Barrau | The Invariant Extended Kalman Filter as a Stable Observer[END_REF] or Equivariant Filter (EqF) [START_REF] Goor | Equivariant Filter (EqF)[END_REF]. This may be the future improvements of the works presented in this section.

Robot State Reconstruction

Supposing now the relative pose of the platform expressed in F bi is well estimated by each multirotor, the current focus remains on how to reconstruct the robot states (i.e. the generalised coordinates q and the velocity ν) that are necessary for the control. This is done by firstly computing the leg angles knowing the position of multirotor i expressed in the platform frame, i.e. p p i . With the fixed revolution joint position of each leg p p A i expressed in F p that can be given by the expression of p r i in (2.7), the vector describing the leg's direction expressed in F p can be computed by

p r A i B i = p p i -p p A i (4.17)
Note that the relative position p p i is equivalent to the vector of p p Bi , i.e. the CoM position

B i of the multirotor i expressed in F p .
Then, the revolute joint angle of each leg can be calculated using the equation equivalent to (2.11), but expressed in F p

θ i = acos p r A i B i • p p A i ∥ p r A i B i ∥ • ∥ p p A i ∥ (4.18)
While this geometric model for computing the leg angles holds true for the FPR, the method may be generalised to other aerial manipulators by substituting their geometric models to compute the internal configuration with the knowledge of p T bi .

The platform pose was previously measured by the MOCAP systems and expressed with respect to a reference frame F 0 , which has lost much of its meaning under the situation that there is no more external localisation system, nor a global reference frame. To deal with the lack of the reference frame, one could of course use F p as a common frame for expressing all the states, and instead of controlling directly the position and orientation of the platform (previously in a global frame), one could regulate its linear and angular velocity expressed in F p through the first-order kinematic model described in Section 2.4.1. However, this might invoke additional problems: for teleoperation purposes, the operator must stabilise all six DoFs of the platform via the control of 6-dimensional velocity, which is difficult with a standard 4-axis joystick; excessive roll and pitch during the control can rapidly lead to instability of the robot; while this may work for eye-in-hand visual servoing, the additional tuning of the sensor-space control will potentially be too complicated. Therefore, a better choice of the common reference frame can be determined and a more ideal arrangement for the control of the platform's orientation should be made.

Actually, it is remarked that each multirotor can necessarily estimate its own attitude using onboard IMU measurements with the state estimation techniques such that it can provide additional information on the global attitude. Recall the Euler angles of ZYX convention η i = ϕ i ϑ i ψ i T ∈ R 3 for each multirotor i, denoted by ψ i (yaw), ϑ i (pitch) and ϕ i (roll) angles. The roll and pitch are commonly defined about the axes orthogonal to the gravity vector and are necessarily well estimated by the onboard sensing and estimation process for a stable flight. However, for the yaw estimates, the multirotors are usually not sharing a common frame, as in practice this measurement suffers from noises and biases especially in presence of magnetic field perturbations close to the metallic structures and electrical circuits onboard the multirotor. It can then be reasonably assumed that each multirotor's attitude is estimated with respect to an unknown reference frame F 0i , which is constrained such that its z axis is aligned with the z axis of F 0 (i.e. z 0i = z 0 ), but with an unknown yaw 0 ψ 0i relative to F 0 . Therefore, a notion of flat frame F F j attached to an arbitrary body j is introduced to represent an orientation with zero roll and pitch relative to a global reference frame, and an unknown yaw with respect to the unknown global frame F 0 (as shown in Fig. 4.2). The orientation of a body can thus be expressed in the flat frame, in which the roll and pitch are expressed similarly as previously defined in a global inertial frame, with an unknown yaw considered to be always zero. The orientation of multirotor i expressed in its flat frame can be expressed as

F i R i = R y (ϑ i )R x (ϕ i ) (4.19)
with R j (.) (for j = {x, y}) the unit coordinate rotations detailed in Appendix A.1.

As the relative orientation of the platform with respect to each multirotor i is known by i R p = p R T i , with p R i computed by its associated unit quaternion p q i , the orientation of the platform can be further expressed in F F i by

F i R p = F i R i i R p (4.20)
which allows to obtain the roll and pitch of the platform expressed in F F i independently to any yaw of the platform. Remark that the measurements and computations of F i R p on each multirotor must be identical. To simplify the derivation, a flat platform frame F F p is introduced, which shares a common z axis with F F i and has an unknown yaw relative to any F F i . According to the expression of the rotation matrix written by ZYX-convention Euler angles, the roll and pitch of the platform expressed in F F p are computed by

F p ϕ p = atan2 F i R p (3, 2), F i R p (3, 3) F p ϑ p = -asin F i R p (3, 1) (4.21)
where R(r, c) refers to the element at the r-th row and c-th column of the matrix. This allows to reconstruct the quaternion of the platform relative to F F p , which is then used in the control. The flat frame attached to the platform can therefore be served as a common frame to express all the other states of each multirotor i, for which the transformation matrix between F bi and F F p is computed by

F p T bi = F p T p p T bi (4.22)
This allows to further express the linear velocities of all the multirotors expressed commonly in F F p by

F p v i = F p R i bi v i (4.23)
with F p R i representing the relative orientation of the multirotor i expressed in F F p , extracted from the transformation matrix F p T bi , and bi v i being the body-frame linear velocity of each multirotor i measured onboard.

Then the computation of the generalised velocity of the FPR can be done similarly by using the forward kinematics of (2.21) as previously discussed in Section 3.4 for a centralized scheme. As the linear velocities of multirotors are all expressed in F F p , the linear velocity of the platform (i.e. F p v p ) is now expressed in F F p , while the body-frame angular velocity of the platform p ω p and the leg angles rates θl are the same as computed in the centralized scheme.

The geometric and kinematic models as well as the introduction of the flat frames have allowed to reconstruct the full vector of the robot velocity and a partial set of the robot pose as follows

q = 0 T 3 F p q T p θ T l T (4.24)
with the platform orientation F p q p defined by its roll and pitch expressed in F F p (i.e. F p ϕ p and F p ϑ p ) and the leg angles θ l , up to an unknown position p p (considered as zero in the first three elements of q) and unknown yaw ψ p of the platform with respect to any inertial frame.

Decentralized Controllers

Having shown in the previous section that sufficient information on the robot states can be recovered from intrinsic measurements and estimation techniques, this section addresses decentralized controllers which allow each multirotor to compute its own control law based on the available robot states estimated onboard. For the control law itself, it is based on the same controller presented in Section 1.2.2 for motion control or the interaction controller developed in Section 3.3. Compared to a centralized scheme which depends on highly reliable communication between each multirotor and the centralized computer, the deployment of the control law in a decentralized manner onboard each multirotor requires only partial information shared among all the agents, which would be more robust to communication delays or interruptions.

In the following parts, the control problem is firstly formulated in line with the robot states reconstructed by each multirotor. Then the decentralization of the motion control and interaction control law are presented, within which different schemes are discussed depending on whether the sharing of information between multirotors is available/necessary or not. For each multirotor, the computation of desired attitude setpoints is furthermore adjusted, considering the fact that there is no more global reference frame to express commonly the attitude setpoints and measurements.

Control Problem Formulation

The reconstruction of the robot states (i.e. robot pose and velocity) described in Section 4.2 has built knowledge of the platform orientation F p q p expressed in F F p , leg angles θ l and the robot velocity. The unknown coordinates are the position p p and yaw ψ p of the platform relative to any inertial reference frame. One may remark that these unknown coordinates are the same as the flat outputs of a quadrotor [Mellinger, 2011a], which are easily controlled with a joystick. Therefore, the control of the platform is similar to the manual pilot of a single multirotor, with the roll ϕ p and pitch ϑ p of the platform decoupled from its yaw rate ψp , and translation movements of the platform controlled by the linear velocity v p . Based on this arrangement, a new set of robot states that can be reconstructed is defined as

χ = F p v T p F p ψp F p ϑ p F p ϕ p θ T l T (4.25)
which can be known without relying on any external localisation system and thus defined as the set of controllable variables. This is furthermore an easily teleoperable system, as the leg angles, roll and pitch of the platform may be regulated by values (instead of by rate), which are the states susceptible to causing physical or numerical instabilities when the values are too small or too large (i.e. near unstable configurations). An operator is then able to set the desired values for those sensible states, and focus on the positioning and heading of the platform by controlling the linear velocity and yaw rate of the platform in F F p , independent of changes in roll and pitch of the platform. It is therefore assumed that an operator sends the desired values for χ d during the teleoperation of the FPR. To further ensure the smoothness of the evolution of the robot states, these teleoperation commands sent by the operator are further filtered, with the derivatives χd output from a basic low-pass filter provided to the controller as well. Therefore, the decentralized controller deployed on each multirotor will listen to the teleoperation commands χ d and χd sent by an operator, and regulate the robot states towards the desired setpoints, while the human operator is involved in the highest control loop for regulating the platform's position and yaw.

From the controller side, once the teleoperation commands of χ d and χd are received, the desired trajectory corresponding to the desired generalised coordinates, velocity and acceleration of the robot (i.e. q d , ν d and νd ) needs to be further computed to construct the tracking error in the control law. The position of the platform p p is now unknown, and thus its desired value is always set to zero. As the orientation of the platform is now defined by its roll and pitch angles in F F p , the unit quaternion F p q d p associated to the rotation matrix for desired angles

F p R d p = R y ( F p ϑ d p )R x ( F p ϕ d p )
is defined as the desired orientation. For the leg angles, the definition of the tracking error remains the same because their values are known by the geometric model.

The commands on the velocities given from χ d and χd are furthermore converted to compute the desired velocity and acceleration of the FPR as follows:

• The desired linear velocity and acceleration of the platform is set by F p v d p and F p vd p expressed in F F p ;

• The desired angular velocity and acceleration of the platform can be computed by

p ω d p = D( F p ϕ p , F p ϑ p ) F p ηd p p ωd p = Ḋ( F p ϕ p , F p ϑ p ) F p ηd p + D( F p ϕ p , F p ϑ p ) F p ηd p (4.26)
where the desired Euler angle rates are extracted from the teleoperation commands • The desired leg angle rates θd l are directly obtained from χd , with their values on desired accelerations θd l set by zero. Note that the desired accelerations are zero for the roll and pitch of the platform and the leg angles such that smoothness for those states susceptible to instability is ensured.

Decentralized Motion Controllers

In order to achieve the controller in a decentralized manner, meaning that each multirotor performs its own control based on the onboard measurements and estimations, the motion control law previously proposed in [Six, 2018a] and introduced in Section 1.2.2 is firstly adopted. The high-level motion control law is summarised as follows in line with the definition of the dynamic model and the robot states in this manuscript, but the method is equivalent to the one presented in the literature.

Considering the dynamic model of the FPR represented in form of (2.25) and the relationship between the thrust forces and the actuation wrench of (2.28), the vector of thrust forces is defined by an inversion of the dynamics as f = J(q) T † M(q)u + c(q, ν) (4.27)

Note that J(q) T † represents the pseudo-inverse of the transpose of the Jacobian matrix J; q and ν are the generalised coordinates and velocity of the robot; u is an auxiliary input defined to minimise the tracking error by a PID regulation as

u = νd + K d (ν d -ν) + K p ε + K i ε dt (4.28)
where K p , K i , K d are positive-definite diagonal matrices respectively for the PID gains, ν d , νd are the desired velocity and acceleration, and ε is the tracking error that can be equivalently defined by (3.27). As discussed in Section 4.3.1, it is now given by

ε(q d , q) =      0 3 ε o ( F p q d p , F p q p ) θ d l -θ l      ∈ R 6+n (4.29)
with F p q p the platform's orientation converted from F p R p and F p q d p its desired orientation computed from the desired roll and pitch F p ϕ d p , F p ϑ d p , all expressed in F F p . ε o (.) is the orientation error defined in (3.28).

Then, the control input of the high-level control loop is further converted to determine the desired thrust magnitude and attitude for each multirotor similarly to the method presented in Section 3.3.2. The final commands sent to the low-level control on each multirotor can be defined by a vector named control vector and denoted by

u i =   f d t,i q d i   ∈ R 5
(4.30) with f d t,i the desired thrust magnitude and q d i defined as the unit quaternion for the desired attitude of each multirotor i, which are afterwards tracked by the low-level attitude controllers.

As the low-level control is already performed onboard each multirotor independently, the only need is to decentralize the high-level computation of desired commands to the multirotors. One may notice that the motion control law of (4.27) can be done individually on all the multirotors. In this case, each one of them computes the full vector of the required thrust forces for all the multirotors but only uses the thrust vector belonging to itself to perform the next low-level control. The overall control on each multirotor is therefore deployed in a decentralized manner and receives feedback from decentralized sources, while listening to the common teleoperation commands remotely sent by an operator.

However, for each multirotor, the construction of the control law by (4.27) means the necessity of knowing some of the states reconstructed on the other multirotors, which are specifically the other leg angles and the linear velocities of the other multirotors. It is assumed that each multirotor has an estimation of the leg angle and its linear velocity expressed in F F p , denoted by a vector named information vector as

ζ i =   θ i F p v i   (4.31)
and can apply the control law if it has knowledge of the states of the other agents, i.e.

ζ j = θ j F p v T j T
, ∀j ̸ = i. Based on how these unknown states are obtained on the multirotor, two different decentralized controllers are proposed with the control diagrams illustrated in Fig. 4.3:

• Communicating controller (C-controller): sharing of information among all the multirotors to exchange the most recent measurements or estimates of ζ j , ∀j ̸ = i for each multirotor, supposing that the communication between every two of all the multirotors is reliable.

• Non-communicating controller (NC-controller): a communication-less method for which each multirotor assumes that each of the other multirotors perfectly tracks the desired states, and thus the unknown states are given by their desired values, i.e.

ζ d j = θ d j F p v d j T T
, ∀j ̸ = i. Note that for NC-controller, the desired leg angles θ d i are directly obtained from the teleoperation commands, while the desired linear velocity of the other multirotors can be computed from the desired velocity commands ν d using the IKM detailed in (2.20), but expressed now in F F p as

F p v d = J(q)ν d (4.32)
where

F p v d = F p v d 1 F p v d 2 • • • F p v d n ∈ R 3n
is the vector of desired linear velocities of all the multirotors, J(q) is the Jacobian matrix defined in (2.20) taking the robot state reconstructed now by F p q p and θ l as input, and ν d is the desired velocity computed from the teleoperation commands presented in Section 4.3.1.

While the C-controller benefits from a dynamic model that is closer to that of the real robot (deviating only by measurement noise), it may also have a noisier (thus less precise) dynamic model near the converged state. It is furthermore not robust to communication failures, and may have time delays, mitigating the potential advantage of the more accurate dynamic model. The NC-controller shows good potential in maintaining the robot configuration in converged and equilibrium states, however it might be less accurate when tracking varying trajectories, in particular sudden changes in trajectory (such as a step signal) will cause differences between the desired and actual states large enough to affect the controller stability.

Decentralized Interaction Controller

As previously studied decentralized motion controllers, the impedance-based interaction control presented in Section 3.3 beforehand can be deployed in a decentralized manner as well. Similarly as presented in Section 4.3.2, the need is to decentralize the computation of the desired thrust magnitude and desired attitude for each multirotor by the high-level control. For this, the interaction control law is adopted from (3.31) and (3.32), which is summarised by

f = J(q) T † M(q)u + C(q, ν)ν + g(q) -τ e (4.33)
with M(q), C(q, ν) and g(q) being respectively the generalised inertia matrix, the Coriolis matrix and the gravity wrench of the robot. τ e is the external wrench estimate and u is an auxiliary input defined by the impedance system of (3.25)

u = νd + (M d ) -1 B d (ν d -ν) + K d ε q -ε τ (4.34)
where M d , K d , B d are the desired mass, spring and damping matrices, the same as defined in (3.25), ν d , νd are the desired velocity and acceleration computed from the teleoperation commands, ε q is the tracking error equivalently given by (4.29) considering the available states computed from decentralized sources, and ε τ is the tracking error of the desired interaction wrench defined in (3.26). Note that the desired interaction wrench τ d e can be defined by an off-line procedure or sent by an operator along with the teleoperation commands using a joystick.

Similarly as illustrated in Section 4.3.2, the vector of thrust forces resulted from the highlevel control loop of (4.33) is then converted into the desired thrust magnitude and desired attitude, represented by the control vector u i = f d t,i q d i T T for each multirotor i, which can then be regulated by the low-level onboard controller.

It is furthermore noted that an estimation of the external wrench τ e is necessary to complete the impedance control law. To achieve this, the first-order momentum observer is chosen thanks to its advantageous behaviour regarding the convergence time and the stability previously validated in Section 3.5, with the estimates rewritten as

τ e (t) = K O P(t) - t t 0 C q(t), ν(t) T ν(t) -g q(t) + τ (t) + τ e (t -∆t) dt (4.35)
with K O the observation gains, P = M(q)ν the momentum of the robot, and τ the actuation wrench that can be computed by the relationship of (2.28), knowing the vector of the thrust force commands for all the multirotors, i.e.

f = f T 1 f T 2 • • • f T n T ∈ R 3n .
The decentralized achievement of the control law by (4.33) and estimation by (4.35) requires however the knowledge of not only some of the states (i.e. leg angles and linear velocities), but also the commands of the other multirotors. This information should be accurate enough to ensure the stability of the entire system. It is therefore assumed that inter-agent communications are possible as the C-controller in Section 4.3.2 and each multirotor shares the most recent values of its states and thrust magnitude commands with others, of which the information vector is now defined as

ζ i =         θ i F p v i F p q i f d t,i         (4.36)
with θ i being the leg i's angle computed by the multirotor i based on the geometric model, F p v i the linear velocity and F p q i the attitude estimated onboard with respect to F F p , and f d t,i the desired thrust magnitude from the last commands computed.

Based on the information received on each multirotor i, i.e. ζ j , ∀j ̸ = i, the robot coordinates and velocity vectors are known and the control law can be completed. For the control input required by the momentum observer, the thrust forces for all the multirotors can be further computed to be expressed in

F F p F p f i = F p R i      0 0 f d t,i      , i = 1, 2, ..., n (4.37)
with F p R i representing the rotation matrix associated to the unit quaternion F p q i that has been reconstructed on each multirotor and f d t,i the most recent thrust magnitude command sent to the low-level controller. On a given multirotor i, the other states of f d t,j and F p q j (∀j ̸ = i) are obtained by the sharing of information. The overall control diagram can be summarised by Fig. 4.4, in which the interaction control module includes the momentum observer and the impedance-based controller. This allows for each multirotor to construct the vector of thrust forces expressed in

F F p , i.e. F p f = F p f T 1 F p f T 2 • • • F p f T n T ∈ R 3n
, and then to perform the estimation of the external wrench, in which the platform's external force is now expressed in F F p , while the external moment of the platform and external moments of legs are still expressed relative to their own frames as initially defined in (3.2). Note that for constructing the thrust force vectors, the actual values of each multirotor's attitude are used rather than the desired ones. This is because each multirotor is not necessarily performing the estimation at the same time (which is however the case in centralized estimation) and the use of actual attitudes would allow to construct the external wrench estimates closer to the real values, better satisfying the controller stability requirements as discussed in Section 3.3.1.

In summary, the decentralized interaction controller requires stable communication between the multirotors for a non-biased external wrench estimation from decentralized sources of information on each UAV. The impedance-based controller decentralized on multiple UAVs can maintain its capability of tracking the desired trajectory and the desired interaction wrench sent by a human operator, as long as the inter-UAV communication is reliable. The overall decentralized scheme shows a teleoperation system allowing the operator to pilot the FPR potentially interacting with the environment.

Adjustment on Low-level Attitude Commands

After having obtained the desired commands u i d for each multirotor from the decentralized high-level controllers (no matter for motion control or interaction control), the desired attitude commands F p q d i computed in F F p should be adjusted to be expressed in the coherent local frame F 0i of each multirotor, which is however an unknown inertial frame (referred to Section 4.2.3). It is known that the common reference frame F F p can express equivalent roll and pitch angles compared to any inertial frame, but has a different and unknown yaw. Therefore, the further adjustment on the attitude commands is necessary to provide coherent yaw angles to the low-level attitude controllers. This can be done by computing the desired Euler angles in F F p converted from F p q d i , denoted by F p ϕ d i , F p ϑ d i and F p ψ d i , where the desired roll and pitch angles of each multirotor in F 0i should be the same as defined in the flat frame

F F p (i.e. 0i ϕ d i = F p ϕ d i , 0i ϑ d i = F p ϑ d i )
. The expression of the desired yaw is however different as there is unknown relative yaw between the two frames. It can be calculated knowing an onboard IMU measurement of the multirotor's actual yaw 0i ψ i and an estimate of the relative yaw

p ψ i extracted from p R i by 0i ψ d i = 0i ψ i + ( F p ψ d i -p ψ i ) (4.38)
Note that p ψ i = F p ψ i as the flat frame F F p and the platform's body frame F p share a common yaw. This relationship allows to correct the desired yaw commands to be coherent with the multirotor's yaw measurements relative to the unknown inertial frame F 0i . Actually, instead of converting the desired yaw directly from F F p to F 0i , a difference between the desired and actual yaw angle is computed, i.e. ( F p ψ d i -p ψ i ), which is then set to correct the desired yaw 0i ψ d i based on its onboard measurements 0i ψ i .

The desired attitude of each multirotor in its own inertial frame F 0i can finally be determined by the quaternion 0i q d i which is converted from the Euler angles 0i ϕ d i , 0i ϑ d i and 0i ψ d i and tracked by the onboard quaternion-based attitude controller.

Experimental Validation

In this section, the proposed decentralized controllers are validated by real-world experiments on an FPR prototype detailed in Appendix B. The decentralized motion controllers detailed in Section 4.3.2 were firstly validated using emulated camera detection data by the Motion Capture (MOCAP) system, with a video of experiments available at https://youtu.be/Rmmq0-b2zws. Then, real-world implementation of pose estimation with ArUco marker system based on monocular vision has been done, which is shown in the experimental validation of the decentralized interaction controller presented in Section 4.3.3. A video of experiments can be found at https://youtu.be/T0-fycf1V28.

During the experiments demonstrated in this section, the FPR was flown by teleoperation using a 4-axis gamepad controller with desired values set by axes and buttons as shown in Fig. 4.5. Note that the values for all the leg angles are set to be identical in the experiments. All the flights were performed inside a 4 × 6 × 3.5 m flight arena equipped with an 8-camera Qualisys MOCAP system, streaming data over a 5 GHz wifi network. The decentralized controllers have been implemented onboard the companion computer of each quadrotor at 50 Hz. The onboard ArUco detection rate is 20 Hz for the experiments when the onboard vision is used, with the RGB images of size 640 × 480 pixels captured by Raspberry Pi Camera V2. It is additionally noted that the communication between the onboard Raspberry Pi and Pixhawk autopilot for each quadrotor was handled using Ethernet (referred to Appendix B), in order to reduce the communication burden when the onboard camera is enabled.

Experiments on Decentralized Motion Controllers

In the experiments validating the decentralized motion controllers presented in Section 4.3.2, the MOCAP system is used to emulate the relative pose that can be estimated by the camera and vision-based detection techniques. In addition, the onboard velocity estimation of each multirotor is enhanced by the MOCAP system in these preliminary experiments. The integration of optical sensors can however be done and is only related to technological concerns. More precisely, the MOCAP system is used for:

• Extracting the pose of the platform in each multirotor's local frame (i.e. extracting p T bi ). It could therefore be replaced by a monocular camera observing the ArUco marker as presented in Section 4.2.1. To represent the measurement noise, Gaussian noises with a standard deviation of 2 cm for translations and 2°for rotations are added along/around each axis of the relative pose.

• Sensor fusion onboard the UAVs to improve the estimates of their body-frame linear velocities. It could thus be replaced by onboard optical flow sensors.

• Providing ground truth in post-flight analysis.

Two experimenting scenarios have been conducted to verify the effectiveness of the decentralized controllers, respectively the C-controller and NC-controller based on the PID regulation for a free-space flight of the FPR, which are:

1. Control of Orientation and Internal Configuration

Precise Positioning with Teleoperation

In the first scenario, the decentralized controller is tested to control the platform orientation and the internal configuration (i.e. leg angles). Then the precise positioning of the platform performed by a human pilot with teleoperation is shown in the second scenario.

Scenario I: Control of Orientation and Internal Configuration

The first experiment demonstrating the validity of the control method is simply to fly the FPR without any specific task, and track the desired configuration ϕ d p , ϑ d p , and θ d given by the operator. Fig. 4.6(a) shows a configuration with a large angle on the platform roll, while Fig. 4.6(b) shows a wide leg configuration (with small values on the leg angles). The results with the centralized controller previously presented in the literature making full use of MOCAP and computing all control in F 0 are also provided for comparison. The PID control gains of the centralized and decentralized controllers are given in Table 4.1. Note that the saturation on the integral term is enabled in the PID regulation to avoid integral wind-up [START_REF] Azar | Design and Modeling of Anti Wind Up PID Controllers[END_REF]. The desired and measured states for the control of the platform orientation and leg angles using the C-and NC-controller are plotted in Fig. 4.7. The result of the controlled states using both decentralized controllers as well as that of the centralized controller

Robot State

Centralized Controller Decentralized Controller Robot State C-controller NC-controller Centralized

K p K d K i K p K d K i p p,
ϕ p [°] 4.1 5.0 2.5 ϑ p [°] 2.9 4.2 3.3 mean θ l [°] 2.8 3.8 2.1
Table 4.2 -Results on the root-mean-square error (RMSE) for the experiment of configuring the platform orientation and leg angles. Note that mean θ l refers to the mean RMSE of three leg angles.

It can be seen in the plots that the platform orientation and the internal configuration track quite well their desired values. Both the C-controller and NC-controller can perform nicely the tracking of these variables, but C-controller is slightly better in terms of tracking errors. While we would expect the centralized controller to have better performance, it is not vastly superior to the two decentralized methods. In fact, as the centralized controller doesn't have any measurement noise (outside that of MOCAP which is negligible) and follows smooth trajectories with continuous acceleration, the degradation when switching to decentralized control with simulated noisy intrinsic measurements and non-continuous desired states seems reasonable.

Scenario II: Precise Positioning with Teleoperation

The second experimental scenario shows that fine positioning using eye-to-platform teleoperation is achievable. Three targets (the tennis balls) are suspended in the flight arena as shown in Fig. 4.8. An operator flies the FPR with the task of positioning the platform at each of the three targets. Once the positioning error falls below 10 cm, the operator is given 10 s to attempt to pick up the ball by placing it in the 4.5 cm diameter circular hole at the centre of the platform, which can be confirmed by the stabilisation of the positioning error around a small value near zero corresponding to the radius of the tennis ball. After the time is elapsed, a new target is assigned and the process repeats. This experiment is performed with the platform at a configuration of zero roll and pitch, and leg angles of 60 • , however there is no problem with performing it in other configurations as investigated in the experiments. The evolution of the platform positioning error towards the targets using the C-and NC-controller over the course of the full experiment in 165 s is shown in Fig. 4.9. Note that the successful examples in Fig. 4.9(b) and (e) show that the positioning error stabilises below 0.05 m, corresponding to the radius of the ball, which indicates the ball has been successfully picked up. The unsuccessful examples are shown in Fig. 4.9(c) and (f) as the positioning error is never stabilised. The large oscillations in positioning errors for the failed tasks correspond to the ball swinging due to a collision with the platform early in the task. controller. From the operator's perspective, both controllers were equivalent in terms of stability and positioning accuracy. Using the C-controller, 5/7 positioning tasks were successful, while with the NC-controller 6/7 tasks were accomplished. It must be recognized however that as teleoperation has human-in-the-loop feedback, it is not straightforward to standardize between tests.

In addition, the configuration states of the FPR were well tracked in both cases as shown in Table 4.3, with RMSE values almost half of what they were in Scenario I (since the configuration states had constant reference trajectories). However, a significant remark is that in Scenario I, the C-controller was better across all configuration states, while in Scenario II the NC-controller performs better. This is reasonable as it is expected that the C-controller will allow a more accurate model of the robot compared to the NCcontroller when the robot is not near the desired state (during a step input for example). The C-controller however introduces noisy measurements and delays to each quadrotor's controller, thus for smooth flights it may be less precise. This is further supported by the observation during experiments that if a noisy velocity input was provided to the FPR, instability occurred in the C-controller but not necessarily the NC-controller, probably due to communication delays. While these results have demonstrated centimetre-level precise for teleoperation using both C-and NC-controller, two factors likely contributed to the difficulty in accomplishing manipulation tasks:

• The operator has to stand away from the robot for safety, thus small errors between the platform frame and the target are hard to see. A solution could be eye-in-hand control with a camera on the platform.

• The gamepad controller has a large dead zone making fine control difficult.

Despite these difficulties, the decentralized motion controllers using either a communicating or non-communicating scheme have been verified and shown to be able to regulate the robot configuration (platform roll and pitch, and leg angles) as well as to achieve precise positioning through eye-to-platform teleoperation.

Experiments on Decentralized Interaction Controller

As the experimental results in the previous section have validated the decentralized controllers for free-space flight with emulated camera measurements by MOCAP, a more realistic experimental setup is considered in this section, involving the relative pose estimation by ArUco marker system in real-time and the controller handling the physical interaction with the environment.

A fiducial marker is attached beneath the platform, with the size of 0.109 m and ID 0 selected among the ArUco marker dictionary "ARUCO_MIP_36h12" [START_REF] Garrido-Jurado | Generation of fiducial marker dictionaries using Mixed Integer Linear Programming[END_REF]. Fig. 4.10 shows the images captured by the onboard Raspberry Pi cameras and the detection results by ArUco detection library on three multirotors. Note that these images are captured when the UAVs are motionless and staying on the ground (images are however rotated 90°counter-clockwise), but the detection algorithm is capable of tracking the moving marker to ensure its robustness to the image noise and blur due to the camera motion [START_REF] Romero-Ramirez | Tracking fiducial markers with discriminative correlation filters[END_REF]. Based on the detected relative pose between the marker and a camera frame represented by Ci T M and with knowledge of the global poses of the frames by the MOCAP system, the fixed transformations bi T Ci , p T M required to compute the relative pose of bi T p on each multirotor can be calibrated, with the calibration process and results detailed in Appendix D. Even though the ArUco detection library seems robust enough to perform the pose estimation (with the estimation noise and error on translation and rotation states in comparison to the MOCAP data given in Table 4.4), the real-time results of this detection algorithm during the experiments still suffer from other issues, such as the sensitivity to lightening conditions (too bright or too dark), the marker loss in camera's field of view, etc. Therefore, the emulated data is still used to make up for these defective situations. Additionally, the MOCAP system is used in the following experiments for:

• Emulating the relative pose p T bi with the same noises presented in Section 4.4.1 if the detection is lost for more than 0.5 s (corresponding to 10 control iterations) or a false detection is identified (with translation error >10 cm or rotation error >10°). This is required for safety reasons as the detection failure will inevitably cause instabilities and crashes, it may however be handled by redundant detection from other sources of sensors in the future.

• Emulating a high-level perception of the environment to obtain the velocity commands for x, y and yaw axes in experimenting scenario II. It can be achieved by adding an additional camera on the platform to estimate the pose to the contact surface.

• Sensor fusion onboard the UAVs to improve the linear velocity estimates of each UAV. It could thus be replaced by onboard optical flow sensors.

• Providing ground truth in post-flight analysis. represented by standard deviation (STD) in comparison to the MOCAP noise. The data was recorded with a static marker whose pose was being estimated using both ArUco and MOCAP (with additional settings for the detection tags) systems over 80 s. The absolute differences between ArUco and MOCAP results are seen as the estimation error.

Several experimenting scenarios are set up to validate the decentralized interaction controller based on the impedance-based control law along with the first-order wrench observer (FOWO) estimating the external wrench, including:

• Precise positioning of the platform towards a target and pick-up of the load • Contact-based interactions with an object in the environment As the impedance-based controller has been proven to be able to handle both free-space flights and the physical interactions with the environment, the estimation and control gains are set by the same values for all the experiments, which are summarised in Table 4

Scenario I: Precise Positioning and Pick-up of Load with Teleoperation

In this experimenting scenario, the platform is teleoperated by a human operator using a gamepad joystick shown in Fig. 4.5 for the precise positioning towards a target (tennis ball) hanging in the air, with a load suspended below corresponding to a total weight of about 400 g, as shown in Fig. 4.11. The robot configuration is maintained with a flat platform orientation (zero roll and pitch) and leg angles of 50°, a configuration beneficial to ensure the visibility towards the marker from the onboard cameras of all the UAVs. Then the human operator pilots the platform by sending linear velocity and yaw rate commands, similarly to the precise positioning experiment shown in Section 4.4.1, but with the task of picking up the load. The impedance-based controller thus regulates the robot configuration while tracking the desired velocity commands sent by the operator, involving a free-space control before touching the object and then the interaction with the load as its mass is no longer negligible. The real-time pose estimation between the platform and the UAVs by ArUco detection algorithm and EKF-based filtering is firstly evaluated. The results of the multirotor 1 are plotted in Fig. 4.12, consisting in the estimated relative pose, the filtered output from the EFK and the ground truth known by MOCAP. Note that each axis of the relative position p p 1 and the orientation represented by the quaternion p q 1 are separately analysed.

It can be noticed that except for several outliers, the ArUco detection results are very close to the ground truth, and the measurement noise is well filtered from the outputs of the EKF. Table 4.6 shows the RMSE of the detection and filtering results for all the UAVs using onboard ArUco detection and EKF techniques. The RMSE of the EKF outputs are all limited within 3 cm for relative position and 3°for relative orientation, which has validated the effectiveness of the relative pose estimates used afterwards in the control. Although the detection failures and interruptions illustrated by the outliers in Fig. 4.12 had to be compensated by MOCAP data, the percentage of successful detections presented in Table 4.8 shows a relatively good detection rate in the real-world scenario. Note that the roll, pitch and yaw angles for the relative orientation are converted from the quaternions p q i .

Since the control of the FPR by teleoperation involves a human-in-the-loop situation, the operator was asked to perform the same task 6 times to reduce the human factor affecting the results, during which the operator was given 45 s to position the platform towards the target and to pick up the load attached below. From the pilot's point of view, the system is quite easy to manipulate, similar to the manual pilot of a single quadrotor without many difficulties. The results on the evolution of positioning errors for the 6 tasks (5 success and 1 failure) are shown in Fig. 4.13, with successful tasks well identified by the positioning error being stabilised below 15 cm. The z-axis external force of the platform estimated by UAV 1 during the successful task 1

⃝ is plotted in Fig. 4.14, from which the pick-up of the load is illustrated with the estimated values converged to the ground truth of around -4 N. It is also remarked that there is very little difference in the external wrench estimates performed on different multirotors, which is reasonable as the decentralized estimation of the external wrench might only be affected by communication delays (negligible in the experiment). The overall success rate (5/6) of the pick-up tasks is acceptable with RMSE on the robot configuration presented in Table 4.7 , showing that the fine positioning of the platform by teleoperation considering the interaction with the environment is achievable. .13 -Evolution of positioning errors of the platform with respect to the target in 6 performed tasks. Note that the black dashed line is the criterion for a successful task, corresponding to the distance from the target's centre to the attached load (≈ 15 cm). The blue and purple curves (Success 1 ⃝ and 3 ⃝) are two successful cases where the load was released before the end of the given time (the reason why their positioning errors increase at the end). ⃝). Note that only the force estimated by UAV 1 is plotted, but the estimates on the other UAVs are identical to this curve.

Scenario II: Contact-based Interactions with the Environment

This experiment has been done in a more complex scenario where the FPR is controlled with teleoperation to interact with an object in the environment and exert a certain amount of force on it. It can therefore be seen as an extension of the contact-based interaction experiments presented in Section 3.5.4, but with onboard vision handling the robot pose estimation, and the estimation and control methods decentralized on each UAV. Similarly to the experimental setup presented in Section 3.5.4, a wooden board of dimension 30 × 30 cm is hanging in the air with tightly stretched ropes and additional masses to sufficiently consider it as a stiff object in the environment. A region of dimension 10 × 10 cm is pointed out, with its centre considered as the target for contact-based interactions. Fig. 4.15 illustrates the interaction experiment performed by the FPR. Since the teleoperation still involves the human in the loop, which is undesired for validating the methodology independent of the proficiency of the human operator. Therefore, an emulated pose estimation between the target and the platform is set up in this experiment running at the highest level to generate the desired velocity on x and y axes F p v p,x/y and desired yaw rate F p ψp using the MOCAP data. The desired velocity can be computed based on the proportional law given as

F p v p,x/y = λ p F p p t,x/y F p ψp = λ ψ F p ψ t (4.39)
where F p p t,x/y is the relative position (in x and y axes) of the target with respect to F F p , F p ψ t is the relative yaw of the target with respect to F F p , both known by the MO-CAP, and the proportional gains for controlling the platform to approach the target with aligned yaw are set by λ p = 0.4, λ ψ = 0.25. Note that the knowledge of F p p t,x/y and F p ψ t can be done by adding an additional camera on the platform pointing towards the target and integrating an online pose estimation achievable by ArUco detection algorithm [START_REF] Romero-Ramirez | Tracking fiducial markers with discriminative correlation filters[END_REF] or other model-based/learning-based algorithms. A visual servoing procedure for minimising some image features to attain the contact position may also be done [START_REF] Chaumette | Image moments: a general and useful set of features for visual servoing[END_REF][START_REF] Lippiello | Hybrid Visual Servoing With Hierarchical Task Composition for Aerial Manipulation[END_REF]. Therefore, the experiment was conducted in a hybrid scheme: the platform's linear velocity F p v p,x/y and yaw rate F p ψp are controlled by high-level control law (4.39) with emulated pose estimation (using MOCAP), the zaxis linear velocity of the platform and the desired contact force are controlled by the human operator, while the leg configuration and the platform orientation are regulated with desired values set by the teleoperation commands.

Fig. 4.16 shows the evolution of the positioning error between the platform and the target, and Fig. 4.17 are the desired and estimated values of the contact force between the platform and the board. It has taken about 27 s for the FPR to establish contact with the board, and during the steady contact (in the time interval of [27, 55] s) the positioning error is stabilised at a value lower than 6 cm. From Fig. 4.17, the estimated contact force well tracks the desired values of 5 N during the interaction, except the peak between [27,30] s probably because an impact occurs at the beginning of the contact. These results have shown that the proposed decentralization of the impedance-based controller on each UAV is capable of positioning the platform with good precision and exerting a certain range of forces along the normal direction of the platform. The success rates of the online ArUco detection are summarised in Table 4.8 and the RMSE of the robot configuration (i.e. platform roll and pitch and the leg angles) are presented in Table 4.7, which demonstrates a considerably favourable result in a real-world scenario. This experiment has shown the ability of the FPR to accomplish real manipulation tasks, such as contact-based inspection or repair on the surface of industrial infrastructures. Note that a successful detection is that the detection errors are less than 10 cm for position and 10°for rotation.

The conducted experiments have therefore validated the interaction controller decentralized on each UAV to achieve interaction tasks such as the pick-up of a load and contacts with an object in the environment. The overall success rate of the onboard pose estimation by monocular cameras based on ArUco detection and EKF algorithms is from 88.3% to 95%. Compared to the previous results using emulated camera data, the results of the robot configuration tracking given by Table 4.7 seem very acceptable when switching to a real-time pose estimation technique based on onboard vision. In addition, it has been observed in the experiment that the decentralized controller shows its advantageous feature compared to the centralized one especially in the emergency case where the communications among the UAVs were lost, while they are still capable of maintaining their own control and landing properly without crashing (by using desired states for the other UAVs as investigated in NC-controller in Section 4. 3.2). This work is thus an encouraging step towards the control and teleoperation of the FPR with only intrinsic measurements to accomplish manipulation tasks.

It is however found in the experiment that the platform angles and the leg configuration should be regulated within a small interval to ensure the marker visibility from the camera attached to each UAV. The experiments involving the control of the platform orientation in free space were conducted (as shown in Fig. 4.18), whose results were unfavourable because of the loss of detection during longer series of control iterations (the successful detection rate has dropped down to 61% for one UAV in the worst case). This is therefore a limitation of the proposed pose estimation technique based on vision. Although the marker visibility issue may potentially be solved by attaching to each UAV a specific marker on the platform with a better angle of view, the failure cases related to environmental conditions such as brightness still present the frustrating aspect of the vision-based method.

Conclusion

In this chapter, the methodology related to the decentralized estimation and control of the Flying Parallel Robot (FPR) has been investigated. A vision-based method for estimating and reconstructing the robot pose has been presented, which is constructed on basis of ArUco marker detection system and EKF-based filtering technique. Then several decentralized controllers have been proposed according to the application scenarios: for motion control, C-and NC-controllers depending on whether the sharing of information between the UAVs is possible, and a communicating impedance-based controller considering the interaction with the environment. Extensive experimental results for all the proposed controllers have shown the effectiveness of the method dealing with precise positioning of the platform, and contact-based interactions with the environment. These methods are applicable to other multi-UAV parallel manipulators as the FPR for applications such as the pick-and-transport of objects and contact-based inspections.

Even though the overall success rate of the onboard detection is quite high in the experiments using the vision-based technique for the pose estimation, the requisites on the lightening condition and the robot configuration (i.e. narrow intervals of platform orientation and leg angles for marker visibility) are quite strict for real-world applications. Therefore, future works may focus on the improvement of the onboard detection algorithm to be robust to the environmental conditions, or integrate other sources of sensors for the pose estimation such as the IMU on the platform for the orientation, and encoders for measuring the leg angles. The exploration of the outdoor scenario for the FPR can also be done, where the global positions of UAVs can be measured by low-cost GPS and possibly enhanced by time-of-flight-based sensors measuring the internal distances between the UAVs.

Chapter 5

WRENCH FEASIBILITY ANALYSIS

In this chapter, a wrench feasibility analysis on the Flying Parallel Robot (FPR) is investigated. The objective of this analysis is to build knowledge of available wrench the FPR can exert/support in quasi-static equilibrium circumstances. The content of this chapter is structured as follows: a general introduction to the wrench feasibility analysis is firstly presented, with some basic concepts introduced in the second section. Then a detailed definition of the Available Thrust Set (ATS) and the computation of the Available Wrench Set (AWS) on the full degrees of freedom of the FPR are detailed in the third section. A comprehensive static feasibility analysis is illustrated in the fourth section, which is then applied in order to determine the optimal leg configurations maximising the wrench feasibility of the platform in different platform orientations in the fifth section.

Introduction

The wrench feasibility analysis is a useful technique commonly found in a variety of mechanics and robotic applications. In parallel mechanisms or parallel robotics, the topic of the Wrench-Feasible Workspace (WFW) has been extensively studied to determine the robot workspace. A WFW usually refers to the set of poses for which the robot can balance any wrench of a specified set of wrenches, such that the actuation wrench in each actuator remains within a prescribed range [START_REF] Gouttefarde | Wrench-Feasible Workspace of Parallel Cable-Driven Mechanisms[END_REF]. It is therefore one of the most important criteria that can be applied to robot design, planning and control.

The WFW analysis approaches are probably the topics the most investigated in Cable-Driven Parallel Robots (CDPRs), as the tensile-only nature of cables (i.e. unilateral and non-negative cable tension) reduces dramatically the feasible workspace of such robots. For instance, [START_REF] Riechel | Force-Feasible Workspace analysis for underconstrained, point-mass cable robots[END_REF][START_REF] Bosscher | Wrench-feasible workspace generation for cable-driven robots[END_REF] studied the analytical generation of the boundaries of the WFW for point-mass cable robots. [START_REF] Loloei | Wrench feasible workspace analysis of cable-driven parallel manipulators using LMI approach[END_REF] proposed analysis on the WFW of a redundant CDPR formulated by Linear Matrix Inequalities (LMI); A more general case of CDPRs with variable configurations and degrees of freedom was considered in [START_REF] Bouchard | On the ability of a cable-driven robot to generate a prescribed set of wrenches[END_REF], in which the fundamental nature of Available Wrench Set (AWS) and Task Wrench Set (TWS) was studied. A numerical approach based on interval analysis was proposed in [START_REF] Gouttefarde | Wrench-Feasible Workspace of Parallel Cable-Driven Mechanisms[END_REF][START_REF] Gouttefarde | Interval-analysis-based determination of the wrench-feasible workspace of parallel cable-driven robots[END_REF], aiming at the determination of 6D workspace with consideration of more practical uncertainties and application to optimal design. While most of the previous works were based on a quasi-static equilibrium situation, the determination of the dynamic feasible workspace has been proposed in [START_REF] Gagliardini | Determination of a Dynamic Feasible Workspace for Cable-Driven Parallel Robots[END_REF]. The determination of WFW for CDPRs is in general achieved by taking into account both the requirement of non-negative cable tensions and that of maximum admissible values. It has allowed an enhanced knowledge of the robot's capacities, which is thus applicable to robot planning and optimal design. The wrench analysis is also an important topic in legged robots for the contact/motion planning based on the computation of Actuation Wrench Polytope (AWP) and Feasible Wrench Polytope (FWP) as in [START_REF] Carpentier | Learning feasibility constraints for multi-contact locomotion of legged robots[END_REF][START_REF] Fernbach | CROC: Convex Resolution of Centroidal Dynamics Trajectories to Provide a Feasibility Criterion for the Multi Contact Planning Problem[END_REF][START_REF] Orsolino | Application of wrench-based feasibility analysis to the online trajectory optimization of legged robots[END_REF][START_REF] Carpentier | Multi-contact Locomotion of Legged Robots[END_REF][START_REF] Aceituno-Cabezas | Simultaneous Contact, Gait, and Motion Planning for Robust Multilegged Locomotion via Mixed-Integer Convex Optimization[END_REF][START_REF] Orsolino | Feasible Region: An Actuation-Aware Extension of the Support Region[END_REF], because the determination of footprints that remains in the feasible wrench workspace is crucial for stable locomotion of such robots. Therefore, the computed FWP can be employed to an optimization process for footholds (contact points) selection [START_REF] Fernbach | CROC: Convex Resolution of Centroidal Dynamics Trajectories to Provide a Feasibility Criterion for the Multi Contact Planning Problem[END_REF][START_REF] Aceituno-Cabezas | Simultaneous Contact, Gait, and Motion Planning for Robust Multilegged Locomotion via Mixed-Integer Convex Optimization[END_REF][START_REF] Orsolino | Feasible Region: An Actuation-Aware Extension of the Support Region[END_REF], trajectory/motion planning [START_REF] Carpentier | Learning feasibility constraints for multi-contact locomotion of legged robots[END_REF][START_REF] Orsolino | Application of wrench-based feasibility analysis to the online trajectory optimization of legged robots[END_REF][START_REF] Aceituno-Cabezas | Simultaneous Contact, Gait, and Motion Planning for Robust Multilegged Locomotion via Mixed-Integer Convex Optimization[END_REF] and optimal control [START_REF] Carpentier | Multi-contact Locomotion of Legged Robots[END_REF]. Similar problems have equivalently been investigated in research related to robotic grasping, a domain that has flourished much earlier [START_REF] Miller | Grasp it! A Versatile Simulator for Robotic Grasping[END_REF][START_REF] Borst | Grasp Planning: How to Choose a Suitable Task Wrench Space[END_REF][START_REF] Krug | Analytic grasp success prediction with tactile feedback[END_REF]. In these works, the notion of Grasp Wrench Space (GWS) is applied, indicating the set of wrenches that can be applied to an object by a grasp given limits on the contact normal forces [START_REF] Miller | Grasp it! A Versatile Simulator for Robotic Grasping[END_REF]. A GWS can be created by the combination of friction cones on the contacts, called Cone Wrench Space (CWS), within which a force in each contact can be applied to the object to perform a stable grasp. The GWS can therefore be employed to analyse the grasping stability.

More recently, the wrench analysis has been employed in multi-UAV parallel robots to determine the available wrench that can be generated on a moving platform (and the attached end-effector) actuated by multiple UAVs. This analysis can be employed in aerial cable-towed systems [START_REF] Erskine | Wrench Capability Analysis of Aerial Cable Towed Systems[END_REF]Erskine, 2019a;[START_REF] Jamshidifar | Static Workspace Optimization of Aerial Cable Towed Robots With Land-Fixed Winches[END_REF], aerial manipulator architectures [Park, 2018;[START_REF] Nguyen | A Novel Robotic Platform for Aerial Manipulation Using Quadrotors as Rotating Thrust Generators[END_REF][START_REF] Li | Wrench Capability Analysis and Control Allocation of a Collaborative Multi-Drone Grasping Robot[END_REF] for various applications such as the optimal design of the novel architectures, determination/optimization of the robot workspace and the optimal control by maximising the wrench feasibility.

Inspired by these previous works, an analysis of the wrench feasibility of the Flying Parallel Robot (FPR) is conducted, which can be applied to determine the feasible task the FPR can exert and potentially to an optimal determination of the internal configuration (i.e. leg angles) having the optimal wrench feasibility according to the task specifications. Before detailing the methodology for wrench feasibility analysis of the FPR, some basic concepts regarding the wrench feasibility are introduced in the next section.

Basic Concept of Wrench Feasibility

The wrench feasibility analysis is generally initiated by finding the relationship between the actuated forces and the wrench exerted on the platform/end-effector of the robot, which can be depicted by a general form as in [START_REF] Bouchard | On the ability of a cable-driven robot to generate a prescribed set of wrenches[END_REF] Wt = w (5.1) where t is the vector of actuated forces, w is the wrench (i.e. force and moment) applied on the platform, and W is the wrench matrix being pose-dependent 1 . In cable-driven robots, t = t 1 ... t m T denoting the vector of cable tensions. However, for aerial manipulators actuated by multiple UAVs, the vector of the actuated forces t is given by

f = f T 1 ... f T m
T composed of vectors of 3-dimensional thrust forces produced by the multirotors. The wrench matrix W can often be characterised by the Jacobian matrix as the relationship between the actuated wrench and thrust forces illustrated in Section 2.5.1, resulting in the wrench matrix equal to the transpose of the Jacobian matrix, i.e. W = J T .

Knowing the relationship of (5.1), a Wrench-Feasible Workspace (WFW) is defined as Definition (Wrench-Feasible Workspace). Consider a set of actuated forces, denoted as T , which includes all possible t within the actuation limits, and a prescribed set of wrenches w on the mobile platform (end-effector), denoted as W s . The Wrench-Feasible Workspace is the set of mobile platform poses that are wrench-feasible, i.e. the poses for any wrench w in W s , there exists a vector of actuated forces t in T such that Wt = w.

The Available Wrench Set (AWS) is a dual concept of the WFW that can be defined as Definition (Available Wrench Set). Consider a set of actuated forces, donated as T , which inludes all possible t within the actuation limits. The Available Wrench Set (AWS), denoted as W, is the set of wrenches w that can be generated on the mobile platform (end-effector) at a given pose, i.e. for all actuated forces t in T , W is the set of wrenches w such that Wt = w.

The above-mentioned notions of WFW and AWS can be employed to analyse the feasibility of tasks in a certain condition. Given a prescribed task defined by a set of the required wrenches on the platform (end-effector), denoted by W t , the task is said to be feasible • If the platform pose remains in the Wrench-Feasible Workspace during the generation of required task wrenches in W t ; or

• If the set of task wrenches W t is a subset of the Available Wrench Set, i.e. W t ⊂ W.

One may remark that the second criterion is easier for analysing the task feasibility, since the determination of WFW itself is a complex problem. As shown in Fig. 5.1, the determination of WFW in Fig. 5.1(a) is tedious and a numerical method for approximating the WFW has been adopted, while the calculation of AWS in Fig. 5.1(b) for a planner CDPR allows to verify if a task set (illustrated by regions T 1 , T 2 and T 3 ) is feasible, i.e. if it is a subset of the Available Wrench Set (region A). Apart from analysing the feasible workspace or the feasibility for a given task, another common investigation on the feasibility focuses on the static equilibrium of the robot pose, for which the Static Feasible Workspace can be defined as a special case of WFW where only the gravity wrench induced by the platform weight has to be balanced considering the actuation limits [START_REF] Gouttefarde | Interval-analysis-based determination of the wrench-feasible workspace of parallel cable-driven robots[END_REF]. In other words, the static wrench feasibility states that the wrench required to balance the gravity wrench w g induced by the robot weight should be belonging to the AWS. A detailed definition is given as follows:

Definition (Static Wrench Feasibility). Consider a set of actuated forces T taking into account the actuation limits. A moving platform pose is said to be static feasible if the gravity wrench w g that corresponds to the moving platform (and the payload)'s weight can be balanced without violating the actuation limits, i.e.

∃ t ∈ T such that Wt + w g = 0 (5.2) or

-w g ∈ W (5.3)
where W is the set of available wrench w for which Wt = w, ∀ t ∈ T .

The dynamic feasibility criterion can also be analysed as in [START_REF] Loloei | Wrench feasible workspace analysis of cable-driven parallel manipulators using LMI approach[END_REF]Erskine, 2019b], in which the moving platform (or the payload)'s dynamic movements are considered beyond the quasi-static conditions. However, for aerial manipulators such as the FPR studied within the scope of this thesis, the dynamic response of the overall structure is relatively slow and the robot behaviour is furthermore close to a quasi-static motion when performing the interaction tasks. Therefore, the dynamic feasibility is not studied in this manuscript even though it is possible and not very complex to consider it.

Having discussed the basic concepts related to the wrench feasibility analysis, a detailed analysis of the Available Wrench Set of the FPR will be given in the next section.

Analysis of Available Wrench Set

The wrench analysis of the FPR has the objective to construct knowledge of the available wrench the robot is capable of resisting or exerting. Unlike the classical parallel mechanism such as CDPRs, the actuation by aerial vehicles and the additional DoFs provided by the mobility of internal configuration (i.e. leg angles) make the study of Wrench-Feasible Workspace (WFW) meaningless. The moving platform of the FPR has an unlimited workspace (in position and orientation) in 3-dimensional space as long as the internal configuration is well regulated for all wrench-feasible orientations. However, the calculation of Available Wrench Set (AWS) is useful to determine whether an interaction task is feasible or to optimise the robot configuration to ensure better wrench feasibility.

Taking the basic concepts of feasibility analysis presented in Section 5.2, the Available Wrench Set of the FPR is particularly defined as an augmented high-dimensional space in R 6+n with n being equal to the number of legs, which depicts not only the 6D wrench (force and moment) actuated on the platform that is achievable, but also the available moments actuated on the revolute-joint axes of the legs, i.e. (5.4) where f p is the force actuated on the platform expressed in inertial reference frame F 0 , m p is the body-frame moment actuated on the platform, and m l concatenates the moments actuated on the revolute joints of the legs. Note that from its definition, the wrench set of the FPR shares the same space with that of the actuation wrench defined in (2.27).

W = w ∈ R 6+n w = f T p m T p m T l T
To analytically describe a high-dimensional space, the mathematical techniques of convex hull and convex polytopes are usually adopted. If a space is convex1 , the intersection of any family of convex sets is again convex, and any affine transformation of the convex space is also convex [START_REF] Grünbaum | Convex Polytopes[END_REF]. This interesting property of convex polytopes facilitates the definition and computation of available wrench sets. A more detailed mathematical definition of polytopes and convex hulls will be given in the next subsection. Considering the actuation limitation of a single UAV, a notation of Available Thrust Set is presented and computed in the second subsection. Then a detailed methodology for the computation of Available Wrench Set of the FPR will be presented using two different representations. Several case studies and results will finally be demonstrated at the end of this section.

Definition of Convex Polytopes

As previously mentioned, the definition of a available set by means of convex polytopes is advantageous for further computation by a linear mapping or affine transformation. The precise mathematical definition of several common notations to be referred to throughout the calculation of Available Wrench Set is given as follows [START_REF] Herceg | Multi-Parametric Toolbox 3[END_REF]:

Definition (Convex Set). A set S ⊆ R d is convex if the line
≤ α ≤ 1, αs 1 + (1 -α)s 2 ∈ S.
Definition (Convex Hull). The convex hull of a subset S ⊆ R d , denoted by conv(S), is the intersection of all the convex sets in R d which contain S.

Definition (Polytope).

A polytope is a bounded convex set given as the intersection of a finite number of hyperplanes and half-spaces or as a convex combination of a finite number of vertices.

Based on these definitions, a polytope can be mathematically written using two different representations, respectively named H-representation and V-representation defined as Definition (H-representation). A polytope P is formed by the intersection of hyperplanes and half-spaces characterised by m i inequalities and m e equalities, i.e. (5.5) where

P = x ∈ R d Ax ≤ b, A e x = b e
A ∈ R m i ×d , b ∈ R m i , A e ∈ R me×d
, b e ∈ R me are the matrices representing the half-spaces and hyperplane, respectively.

Definition (V-representation). A polytope P is formed by the convex combination (convex hull) of n v vertices, i.e.

P = x ∈ R d x = nv i=1 λ i v i , λ i > 0, nv i=1 λ i = 1 (5.6)
where v i (i = 1, 2, ..., n v ) ∈ R d are the vertices.

These two representations are dual concepts for defining a polytope, as the H-representation (by the intersection of hyperplanes and half-spaces) can be converted to the V-representation, and vice versa, from which the represented polytopes are equivalent.

Computation of Available Thrust Set

With the knowledge of convex polytopes as the mathematical tool to define the space, the first step is to determine the Available Thrust Set (ATS) for a single UAV. The limitation of the actuated forces in systems involving UAVs is principally due to the limited thrust outputs of the propellers of a UAV [Park, 2018]. Additionally, the multirotors physically connected to a rigid structure in these designs are usually constrained by the mechanical stops in the joints, further limiting their rotational movements, as investigated in [START_REF] Nguyen | A Novel Robotic Platform for Aerial Manipulation Using Quadrotors as Rotating Thrust Generators[END_REF]. These constraints can be all described with the thrust force f i generated by multirotor i expressed in F 0 , which allows to determine the Available Thrust Set (ATS) that a single multirotor i can achieve in the FPR as follows

T i = f i ∈ R 3 ∥f i ∥ ≤ f max , ∥f i ∥ • cos γ ≤ z T f i , z = 0 0 1 T (5.7)
with two parameters characterising the actuation limitation, γ ∈ R, 0 < γ < π/2 the maximum angle of a multirotor's rotational motion in roll and pitch (i.e. ϕ i ≤ γ, ϑ i ≤ γ), and f max the maximum thrust magnitude (total thrust of all the propellers). An instinctive interpretation of T i is that it is defined by the intersection between a sphere (constrained by ∥f i ∥ ≤ f max representing the maximum total thrust of a multirotor) and a cone with an apex located at the sphere centre (representing the constrained rotational movements). The expression of the cone is given by ∥f i ∥ • cos γ ≤ z T f i and can be interpreted as

z T f i ∥f i ∥ = z T z i = ∥z∥ • ∥z i ∥ • cos(ϕ i or ϑ i ) ≥ cos γ (5.8)
from which the inclination angle of the multirotor is constrained by a constant angle γ, i.e. ϕ i or ϑ i ≤ γ, with z i representing the z axis of the multirotor i's body frame expressed in F 0 . A visual representation of the ATS defined by (5.7) is given as follows.

Figure 5.2 -Continuous ATS representing the actuation limit of a single UAV, with the sphere surface rendered in orange and the cone surface rendered in light blue.

As the ATS of a single multirotor defined by (5.7) and illustrated in Fig. 5.2 has continuous surfaces and represents an infinite number of vertices, a common way to handle the infinity is to linearise (or discretise) the expression of T i by a finite number of vertices. This is done by evenly choosing the points (i.e. vertices) on the surface of the cone space and the sphere space, respectively. The selection of a finite number of vertices on the cone surface is equivalent to the approximation of a circle by n-side regular polygon shown in Fig. 5.3, which is the intersection circle on the cone surface bounded by the maximum thrust limit. Along with the apex point of the cone, the selected vertices for a bounded cone surface are written by (5.9).

v c,0 = 0 0 0 T , v c,j = f max      sin γ sin α sin γ cos α cos γ     
, with α = 2πj n c , j = 1, 2, ..., n c .

(5.9)

Note that n c is the number of points to approximate a circle, and v c,0 is the apex of the cone corresponding to the point that represents minimum zero thrust produced by the multirotor (when the motors are off). One may also remark that the expression of v c,j is written in spherical coordinates, in which a point is addressed by two angular coordinates, the polar angle γ and the azimuthal angle α, with the polar angle being fixed to a constant value. This representation is beneficial to the definition of points on a sphere.

Consider a point located on the surface of a sphere depicting the maximum thrust limits, and characterised by the polar angle ϑ ∈ [0, π] and the azimuthal angle φ ∈ [0, 2π].

Given the radius of the sphere r, being equal to the maximum thrust f max , the Cartesian coordinates of a point on the surface of a sphere are given by

v s = r      sin ϑ cos φ sin ϑ sin φ cos ϑ     
(5.10)

The discretisation of the sphere surface can then be done by choosing a finite number of vertices. For this, an algorithm for equi-distributing points on the surface of a sphere is adopted, in which the points are regularly placed such that their distances in two orthogonal directions are locally always the same [START_REF] Deserno | How to generate equidistributed points on the surface of a sphere[END_REF]. It can be summarised by the following algorithm.

Input: N the total number of points Initialise n s = 0

a = 4πr 2 /N and d = √ a M ϑ = round(π/d) d ϑ = π/M ϑ and d φ = a/d ϑ for j = 0 to M ϑ -1 ϑ = π(j + 0.5)/M ϑ M φ = round(2π sin ϑ/d φ ) for k = 0 to M φ -1 φ = 2πk/M φ
Create point for (ϑ, φ) using (5.10) Algorithm. Regular Placement of Points on the Surface of a Sphere

n s = n s + 1 end end
This regular equi-distribution algorithm is actually achieved by choosing circles of latitude at constant intervals d ϑ and then points on these circles with distance d φ , such that d ϑ ≃ d φ and that d ϑs d φ equals the average area a per point [START_REF] Deserno | How to generate equidistributed points on the surface of a sphere[END_REF]. Note that at the end of the algorithm, n s points have been placed on the surface of a complete sphere, with n s very close to the desired number of points N . To further select the points that are within the cone space limited by the rotational motion of multirotor, one can make a selection by a simple condition on the polar angle ϑ which should be in the interval [π/2 -γ; π/2], with γ the maximum inclination angle.

Finally, a finite number of vertices describing the actuation constraints of a single UAV are generated, which allows to determine a discretised ATS by a convex combination of all the vertices

T i = f i ∈ R 3 f i = nv k=1 λ k v k , λ k > 0, nv k=1 λ k = 1 (5.11)
with v k a vertex from the collection of v c,j , (j = 0, 1, ..., n c ) and v s,j , (j = 1, ..., n s ), and the total number of vertices n v = n s + n c + 1. Recall that n s is the number of sphere surface points, n c the number of circle points on the cone surface, plus the apex point of the cone.

Computation of Available Wrench Set

Knowing the ATS, the Available Wrench Set (AWS) can then be computed, combining the actuation constraints of all the multirotors depicted each by the ATS defined in the previous section and mapping into the wrench set. It is reasonably assumed that the FPR has a homogeneous multirotor platform design and the ATS of all the multirotor are the same. The computation of AWS in both V-representation and H-representation is detailed as follows.

Available Wrench Set in V-representation

The computation of AWS using V-representation is straightforward, since every vertex in the thrust set T i can be directly mapped into a vertex in the wrench set W by the relationship of (5.1), which can be further decomposed and written as

w = Wf = W 1 W 2 • • • W n         f 1 f 2 . . . f n        
(5.12) with W i ∈ R (6+n)×3 a sub-matrix mapping the multirotor i's thrust vector f i ∈ R 3 to the wrench vector w ∈ R 6+n . This relationship allows to compute the Available Wrench Set corresponding to the actuation limitation of each single UAV, i.e. W i , with its definition given by 5.13) or equivalently by 2, ..., n, k = 1, 2, ..., n v ) being a vertex of each space W i obtained from T i . Remark that this mapping (from f i ∈ R 3 to w ∈ R 6+n ) indicates a lifting in dimensions, resulting in W i a lower-dimension notation represented in high-dimensional space (examples as a line located in a 2D surface, or a 2D plane in 3-dimensional space).

W i = w ∈ R 6+n w = W i f i , with f i ∈ T i (
W i = w ∈ R 6+n w = nv k=1 λ k v i k λ k > 0, nv k=1 λ k = 1 (5.14) with v i k = W i v k (i = 1,
After having computed all the sub-spaces W i by a linear mapping of the thrust sets for all the individual multirotors, the overall Available Wrench Set represented by Vrepresentation can be determined by the Minkowski sum of all the sub-spaces or the convex hull of all the vertices in W, i.e.

W = W 1 ⊕ W 2 ⊕ • • • ⊕ W n (5.15)
with ⊕ being the Minkowski sum, or equivalently expressed by (5.16) where v ′ k (k = 1, 2, ..., n ′ v ) are the vertices of the wrench set W. Remark that the Minkowski sum of any two polytopes defined by their vertices is defined as follows.

W = w ∈ R 6+n w = n ′ v k=1 λ ′ k v ′ k , λ ′ k > 0, n ′ v k=1 λ ′ k = 1
Definition (Minkowski Sum of Polytopes by Vertices). Consider two convex polytopes A, B and the sets of their vertices V A , V B . Let C be the Minkowski sum of two polytopes C = A ⊕ B and V C denotes the set of vertices, in which the vertex is defined by: For all a i ∈ V A and b j ∈ V B , check whether there exists a pair (a

′ , b ′ ) ̸ = (a i , b j ) with a ′ ∈ V A and b ′ ∈ V B such that (a ′ + b ′ ) = (a i + b j ). If it is the case, then (a i + b j ) / ∈ V C , otherwise (a i + b j ) ∈ V C .
It is often tedious to determine the Minkowski sum of two polytopes by their vertices, not to mention the need for computing the AWS by (5.15), which indicates n -1 times of the Minkowski sum. Therefore, a computationally efficient algorithm can be adopted, which is based on the formulation of linear programming problems that can be solved in polynomial time [START_REF] Delos | Minkowski Sum of Polytopes Defined by Their Vertices[END_REF]. The time complexity of computing the AWS by vertices for the FPR is O(n v n ), with n v the number of vertices in ATS and n the number of multirotors.

Available Wrench Set in H-representation

The computation of AWS in H-representation is useful because the definition of hyperplanes and half-spaces by a set of inequality or equality equations can facilitate the determination of wrench feasibility afterwards. This requires the conversion of the expression of a space from V-representation to H-representation, which is however not an easy problem. Therefore, instead of converting the wrench set from its V-representation defined by (5.16) to H-representation, which is dependent on the robot pose, it is more convenient to convert the ATS expressed in V-representation to its H-representation counterpart, as the ATS is not pose-dependent and considered constant.

The conversion from V-representation to H-representation can be done using a generic method based on the Fourier-Motzkin elimination [START_REF] Matoušek | Understanding and Using Linear Programming[END_REF]. Recall the ATS in V-representation of (5.11), and let V ∈ R 3×nv be a vertex matrix whose columns are the set of vertices. The convex combination of all the vertices, i.e. the discretised ATS can be rewritten as

T i = f i ∈ R 3 f i = Vλ, λ > 0, 1 T λ = 1
(5.17)

where λ = λ 1 λ 2 • • • λ nv T is the vector of coefficients. The expression of (5.17) is already close to the H-representation. By eliminating all the coefficients λ m (m = 1, 2, ..., n v ) of λ from the system of linear inequalities by Fourier-Motzkin yields an Hrepresentation (refer to [START_REF] Matoušek | Understanding and Using Linear Programming[END_REF] for more details), which can be written by

T i = f i ∈ R 3 A f f i ≤ b f (5.18) with A f ∈ R n h ×3 , b f ∈ R n h
representing the half-spaces corresponding to the vertices in V, n h being the total number of half-spaces (i.e. inequality equations). Remark that the elimination of vertex coefficients only results in the inequality constraints, and not always ensures non-redundant solutions.

Based on the expression of ATS in H-representation for a single multirotor, a notion of Augmented Thrust Set is introduced, in which the actuation limits for all the multirotors are included. This space can be constructed using H-representation by (5.19) with A aug ∈ R n•n h ×3n and b aug ∈ R n•n h respectively given by

T aug = f = f 1 f 2 • • • f n T ∈ R 3n A aug f ≤ b aug
A aug =         A f 0 • • • 0 0 A f • • • 0 . . . . . . . . . . . . 0 0 • • • A f         , b aug =         b f b f . . . b f        
(5.20)

The AWS in H-representation is finally obtained by the linear mapping from the augmented thrust set via the wrench matrix as 5.21) where the matrix A w ∈ R n•n h ×(6+n) and the vector b w ∈ R n•n h for the inequality constraints are respectively given by (5.22) with W -1 being the simple inverse of the wrench matrix if its dimension is square. Note that if W is not a square matrix, the inversion is usually performed by the pseudo-inverse, which is however not guaranteed not to break the inequality constraints. In such cases, solving an inequality-constrained optimisation problem is a viable solution in place of the pseudo-inverse of the wrench matrix [START_REF] Orsolino | Feasible Region: An Actuation-Aware Extension of the Support Region[END_REF].

W = w ∈ R 6+n A w w ≤ b w (
A w = A aug W -1 , b w = b aug

Case Study

The analysis of the available wrench set of a specific FPR (with n the number of legs/multirotors being equal to 3) is conducted as a case study. The definition and computation of polytopes by V-representation and H-representation are implemented using Matlab. While there exists a lot of open-source toolboxes and libraries for solving the problems regarding the convex polytopes such as [START_REF] Lofberg | YALMIP : a toolbox for modeling and optimization in MATLAB[END_REF][START_REF] Herceg | Multi-Parametric Toolbox 3[END_REF], it is still worthwhile to develop the algorithms presented beforehand by generic codes in order to easily migrate the algorithms to other programming platforms.

For the definition of Available Thrust Set corresponding to the actuation limitation of a single multirotor, the following constant values on the constraints are reasonably considered in line with the mechanical stops of the joints and the specifications of the brushless motors used to actuate the propellers.

f max = 25N, γ = 35 • (5.23)
The discretisation of the ATS is done by choosing a number of vertices approximating the spherical cone surface. With more points selected, the space is closer to theoretically the real one, but the computation time especially for the mapping to the wrench set is much greater. Two discretised ATS are therefore obtained by selecting respectively 17 (n c = 12, n s = 4) and 38 (n c = 24, n s = 13) vertices, which can be visualised as follows.

-15 -10 -5 The V-representation of the ATS is systematically obtained by the convex hull of these discretised vertices, while the conversion to H-representation can be done using the toolbox [START_REF] Herceg | Multi-Parametric Toolbox 3[END_REF]. The theoretical volume of the original and continuous spherical-cone space is known by

f i,x [N] f i,y [N] f i,z [N] (
V = 2 3 πf 2 max h (5.24) with h = f max (1 -cos γ).
The volume of a convex polytope can be computed based on the algorithm presented in [START_REF] Büeler | Exact Volume Computation for Polytopes: A Practical Study[END_REF]. In this case study, it is computed by the toolbox [START_REF] Herceg | Multi-Parametric Toolbox 3[END_REF]. The precision of the discretisation on an ATS can therefore be depicted by the percentage of its coverage volume with respect to the volume of the theoretically actual ATS. The precision of discretised thrust sets and the number of halfspaces (i.e. inequalities) for the H-representation are given in Table 5.1. Remark that as the discretised ATS by 17 vertices can cover more than 90% of the theoretical ATS, this thrust set is chosen in the following analysis considering the fact that the computation time and complexity explode exponentially when the number of vertices increases. Then, the discretised ATS can be mapped to the wrench set via two different pathways depending on the representation as discussed in Section 5.3.3:

1. Using V-representation: mapping all the vertices in discretised ATS to the vertices in the wrench set by a sub-wrench matrix → computing the Minkowski sum of the vertices in the wrench set.

2. Using H-representation: converting the discretised ATS defined by vertices to its H-representation counterpart → constructing the augmented ATS considering all the multirotors → mapping to the wrench set.

The mapping from the thrust set to the wrench set requires the computation of the Jacobian matrix (i.e. W = J T ), which is dependent on the robot pose. In this case study, the robot generalised coordinates are set by the following values q = [p p,x , p p,y , p p,z , q p,0 , q p,1 , q p,2 , q p,3 , θ 1 , θ 2 , θ 3 ] T = [0, 0, 0, 1, 0, 0, 0, 0.785, 0.785, 0.785] T (5.25) corresponding to a configuration with a flat platform orientation and leg angles of 45 • .

Note that the Jacobian matrix is particularly square for this specific FPR with 3 multirotors (i.e. 6 + n = 3n, when n = 3), and thus the mapping from augmented thrust set T aug ∈ R 9 to the wrench set W ∈ R 9 requires simply an inverse of the wrench matrix. This makes the construction of wrench sets in (5.21) by H-representation much easier compared to the V-representation method which needs to solve n 3 v linear programming problems. The pathway of using H-representation is valid and efficient as long as the Jacobian matrix is invertible, which can be ensured by singular-free robot configurations.

For the FPR, this means that the leg angles should always be constrained between 0 • to 90 • [Six, 2018b]. However, apart from the simplicity of computing wrench sets using H-representation, the visualisation of high-dimensional space (i.e. W ∈ R 9 ) defined by the intersection of half-spaces is not easy to deal with. In general, the high-dimensional space (hyperplanes) is projected into a low-dimensional space that can be visualised (such as 3D or 2D space). In contrast, the definition of space by vertices is more advantageous for visualisation purposes, since the vertices in wrench set mapped from the ATS can be decomposed to construct three independent spaces, i.e. 5.26) where F p , M p and M l are the available sets respectively for the 3-dimensional force and moment actuated on the platform and the moments actuated about the revolute joints of the legs. Based on the V-representation, they are systematically defined by the vertices in (5.16), i.e obtained by decomposition on each vertices v

W ∈ R 9 decomposed ------→ F p ∈ R 3 , M p ∈ R 3 , M l ∈ R 3 (
′ k = f T p,k p m T p,k m T l,k T . It
is however remarked that these vertices decomposed from those of the overall AWS are probably redundant for the representation of the decomposed spaces. The redundancy of vertices can be removed by checking the uniqueness of vertex using the algorithm detailed in [START_REF] Delos | Minkowski Sum of Polytopes Defined by Their Vertices[END_REF] when the Minkowski sums of polytopes are performed. This can also be handled by constructing irredundant decomposed spaces F p,i , M p,i and M p,i for each multirotor i from its thrust set T i and performing afterwards the Minkowski sums respectively for F p , M p and M l .

The visualisation of F p , M p and M l using V-representation according to the robot configuration given by (5.25) is shown in Fig. 5.5, which has been validated to be equivalent to the spaces represented by half-spaces. Table 5.2 shows the details on the number of irredundant vertices and half-spaces defining the decomposed spaces. It can be noted that F p has a similar form of T i since the corresponding sub-wrench matrix mapping the thrust sets to F p is identity (i.e. first three columns of W i ), indicating a simple Minkowski sum of the ATS vertices. F p is therefore not dependent on the robot pose as it depicts the available force actuated on the platform expressed in F 0 . M p is a more complex space in which all the surfaces are mapped from the thrust sets by the rotational parts of the Jacobian matrix (i.e. J ω 1 defined in (2.20)), while the moments generated on the legs are equivalently constrained from zero to about 25 N.m in the clockwise direction (for which the sign is negative) when the leg angles are 45 • .

Based on the definition of ATS and the computation of AWS, the static wrench feasibility can be analysed and will be presented in the next section.

Analysis of Static Wrench Feasibility

The construction of Available Wrench Set has the objective to analyse the feasibility of a specific task, if the wrench set required to accomplish the given task is known. However, for more general cases, the static wrench feasibility is of great interest, as it can provide information about the feasibility in quasi-static equilibrium conditions. Without the need of determining the wrench set of a known task, the static wrench feasibility can be analysed to determine quantitatively the available wrench that the robot can exert according to certain robot configurations after having compensated the gravity wrench. This analysis is particularly significant for evaluating the ability of the FPR such as the potential wrench capacity during a manipulation task, where the movements of the robot are considered slow enough to neglect its dynamic response.

In the following subsections, the notion of feasibility margin is firstly presented, which serves as quantitative metrics to evaluate the wrench feasibility in static conditions. Then, an extended analysis of the static wrench feasibility of the FPR based on the computation of AWS detailed in Section 5.3 is given. Finally, several case studies on different robot configurations, as well as the corresponding wrench set and feasibility will be given.

Definition of Static Feasibility Margin

As introduced in Section 5.2, the analysis of the static feasibility necessitates the computation of the wrench required to compensate for the gravitational effects (i.e. w g ). From the computation of gravity wrench detailed in Section 2.5.4, this term can be known by the static model written as ww g = 0 (5.27) which is pose dependent, i.e. the computation of w g takes the generalised coordinates q as input. According to the definition in (5.4), the w g can be decomposed and written as

w g = f T p,g m T p,g m T l,g T (5.28)
The static feasibility is therefore evaluated by the condition if w g ∈ R 6+n is belonging to the Available Wrench Set W. It is remarked however that the fulfilment of this condition only verifies if the robot in a certain configuration is capable of resisting the wrench due to the gravity in static equilibrium, without any quantitative metrics to possibly compare the feasibility in different configurations for example. Therefore, a feasibility metric can be adopted which is based on the capacity margin initially proposed in [START_REF] Gagliardini | Discrete reconfiguration planning for Cable-Driven Parallel Robots[END_REF] for CDPRs, and applied to the study of ACTS in [Erskine, 2019b].

In this manuscript, the feasibility metric in quasi-static conditions is named as Static Feasibility Margin, which is defined as the shortest distance from the w g to the nearest facet (i.e. hyperplanes) of W. It is therefore an index used to evaluate the robustness of the equilibrium in a specific robot configuration. The mathematical definition of the static feasibility margin can be given as follows. 5.29) where A w and b w are respectively the matrix and vector defining the half-spaces of the AWS given by (5.21). The definition of feasibility margin allows to compute for each configuration a quantitative result evaluating the wrench feasibility in static equilibrium.

min ∥w ′ -w g ∥, ∀ w ′ ∈ W s.t. A w w ′ = b w (

Computation of Static Feasibility

As it can be seen in the definition of static feasibility margin (named as feasibility margin in the rest of this chapter), the expression of the AWS by A w and b w (i.e. halfspaces) is needed for the computation of this variable. This makes the H-representation more favourable than the V-representation for the analysis of static wrench feasibility, especially because additional conditions corresponding to the intersection with hyperplanes (i.e. equality constraints) can easily be added to the expression of wrench sets in H-representation.

Taking advantage of using H-representation, the static Available Wrench Set can be further evaluated separately for the force and moment spaces decomposed from the wrench sets of the platform, i.e. F p ∈ R 3 , M p ∈ R 3 . These spaces describe the wrench capacity of the FPR in static equilibrium when the gravity wrench is well compensated. It is remarked that the feasibility analysis on the available moment set of the leg angles (denoted by the M l ∈ R n ) can also be done similarly, which is however omitted because it is not supposed that the manipulation task will be handled by the legs. Although it is possible to evaluate the range of available moments each leg can exert apart from resisting the moment due to the gravity, the moments actuated on the legs in the analysis presented in this section are only considered to compensate the gravity to stably maintain the internal configuration of the robot.

A detailed expression of the Available Wrench Set for analysing respectively the force and moment feasibility of the platform in static equilibrium can be written as (5.31) where the additional equality constraints are characterised by the matrices and vectors given by

W s fp = w ∈ R 6+n A w w ≤ b w , A fp w = b fp (5.30) W s mp = w ∈ R 6+n A w w ≤ b w , A mp w = b mp
A fp = 0 (3+n)×3 1 (3+n)×(3+n) , b fp = m T p,g m T l,g T A mp =   1 3×3 0 3×3 0 n×n 0 n×3 0 n×3 1 n×n   , b mp = f T p,g m T l,g T (5.32)
Note that the static AWS for force W s fp or moment W s mp are two different sets parameterising the force or moment feasibility of the platform in different static conditions. The static available force and moment sets F s p , M s p ∈ R 3 are then obtained by the projection of the respective wrench sets onto a 3-dimensional space, i.e. F s p = W s fp .project(1 : 3), M s p = W s mp .project(4 : 6). Remark that this projection onto the 3-dimensional space is done for visualisation purpose, which does not loose any information of the initially computed AWS. The expression of F p and M p after the projection can be further written using H-representation as After having obtained the respective available force and moment sets of the platform, the feasibility margin can be computed to evaluate quantitatively the feasibility in certain robot configurations, especially for different leg angles. The feasibility margin for F p and M p is therefore determined by the shortest distance respectively from the f p,g and m p,g to all the facets of the available set.

F s p = f p ∈ R 3 A s fp f p ≤ b s fp (5.33) M s p = m p ∈ R 3 A s mp m p ≤ b s mp ( 5
Based on the definition of feasibility margin, the finding of minimum distance can be formulated as a Quadratic Programming (QP) problem that can be written as follows. According to the computation of feasibility margin for the force or moment spaces, the arguments for solving the QP problems are respectively defined by Table 5.3.

Available Set

H b c A e b e F s p (x = f p ) 1 3×3 -2 • f p,g f T p,g f p,g A s fp b s fp M s p (x = m p ) 1 3×3 -2 • m p,g m T p,g m p,g A s mp b s mp Table 5.
3 -Definition of arguments for QP problem solving the feasibility margins.

The computation of static Available Wrench Sets (respectively on the available force and moment of the platform), as well as the determination of feasibility margin have allowed the completion of the feasibility analysis by a quantitative evaluation. The case study on this static feasibility analysis in different robot configurations is given in the following subsection.

Case Study

The case study is performed on a specific FPR design with 3 multirotors and the ATS discretised by 17 vertices presented in Section 5.3.4. The computation of the static AWS, i.e. F s p and M s p , is achieved by the toolbox [START_REF] Herceg | Multi-Parametric Toolbox 3[END_REF] in Matlab, with the definition of H-representation spaces given by (5.30) and (5.31). The QP problem for determining the feasibility margin can be solved by a generic solver such as the one presented in [START_REF] Herceg | Multi-Parametric Toolbox 3[END_REF].

As the static AWS are pose-dependent, implying that changes in platform orientation and leg angles will induce evolution in the wrench sets as well as the feasibility margin. Therefore, a first investigation can be done to fix a specific platform orientation, while evaluating the feasibility with varied values in the leg angles. To maintain balanced feasibility along different axes and avoid potential collisions, the values on different leg angles are always set to be equal.

The available wrench sets F s p and M s p and their feasibility margins corresponding to three different leg angles are studied, with the values on the angles chosen to be (see Fig. and the leg angles being respectively 15°(red regions), 45°(green regions) and 75°(blue regions). Note that the static equilibrium point for available force sets is given by the star point in red (left), while for available moment sets, they are respectively represented by the star points in red, green and blue (right) for each case of leg angles.

It can be seen that in both cases, the spaces with leg angles being 45°(green spaces) cover more feasibility areas. The narrow configuration (blue spaces) has better feasibility in the forces exerted towards the normal direction of the platform (peaks of the F s p in blue), while the wide configuration is capable of exerting more moments around the z axis of the platform (peaks in red M s p ). Furthermore, the Available Wrench Sets have been shifted when the platform is inclined, implying that the robustness is no longer symmetric relative to the static equilibrium point. This can be better visualised by the side views shown in Fig. 5.9, from which the shifting of the available sets can be well identified. Note that the force f p,g actuated on the platform due to the gravity in the available force sets remains constant as the platform force is expressed in the global frame. In addition, one may remark from the quantitative results shown in Table 5.4 that in both cases for different orientations, the configuration with leg angles of 45°has presented better feasibility in force and moment margins, indicating that the robustness of the equilibrium in this normal configuration is better compared to a wide or narrow configuration. This has justified the selection of the leg angles preferable to be around 45°in the previous works, although the other configurations might be suitable for specific cases such as in certain applications where the task requires a higher force or moment feasibility along/about the z axis.

The analysis of static feasibility can be applied to the determination of the best leg angles for every platform orientation required to accomplish a specific task, which will be presented in the next section.

Determination of Optimal Leg Configuration

In the previous sections, the computation of Available Wrench Set and the analysis of static feasibility with a quantitative metric to evaluate the feasibility in static equilibrium have been extensively studied. While in the previous case studies, the feasibility of different platform orientations with various leg configurations has been evaluated, it is possible to determine the optimal leg angles allowing maximisation of the feasibility margin in a given platform orientation.

As presented in Section 5.4, the computation of static wrench sets is dependent on the robot pose, i.e. the platform orientation and the internal configuration (i.e. leg angles). Therefore, for every single case of the robot pose, the static wrench set will evolve, and so does the static margin. This has complicated the determination of the optimal leg angles for a given orientation of the platform, because it means comparing the static feasibility margins and finding the maximum for different wrench sets corresponding to different leg angles. To simplify the task by reducing the number of cases, it can be reasonably assumed for each given platform orientation that

• values of all the leg angles are remaining as the same;

• a minimum step on the leg angles is set to be 1°.

Then, by performing the computational steps presented in Section 5.3 and Section 5.4 for each leg angle selected within the interval of non-singular configurations (i.e. between 0°a nd 90°) and an angle step of 1°, the optimal one maximising respectively the force and moment feasibility can be found. It is noted that the ATS is represented by half-spaces and only needs to be computed once (as it is constant and pose-independent), which is then mapped to the wrench set using the Jacobian matrix computed according to each case of the leg angles. It can be found in the results that the optimal leg angles maximising the force feasibility are occasionally 32°for both orientations (which are different with another inclination), a relatively wider configuration compared to the normal one where the leg angles are 45°, while for the moment feasibility, the optimal angles are close to the values of the normal configuration, but with 7°of difference for two different platform orientations. One may additionally remark that the moment feasibility margins with leg angles under 8°are zero, which means that the balance of the static equilibrium is even infeasible for those leg configurations. This makes the force feasibility margins under such leg configurations become uninterpretable since the computation of available force sets requires to compensate the gravity moment on the platform, which is however infeasible in these leg angles. The static AWS F s p , M s p with the optimal leg angles are visualised in Fig. 5.12. These results of the wrench feasibility analysis allow to determine the optimal leg angles which ensure the maximisation of force or moment feasibility according to the specific needs of the manipulation tasks. .12 -Optimal Available Wrench Sets of the platform F s p and M s p in flat (blue regions) and inclined (red regions) orientations with the optimal leg angles chosen from Fig. 5.11 to maximise the feasibility margin. The star points correspond to the static equilibrium at each configuration.

Then, the feasibility analysis on the evolution of the platform orientation can be done, in which the optimal leg configuration corresponding to each of the platform orientation cases can be found. The idea of conducting this analysis is also to verify if the platform is wrench feasible at static equilibrium in omnidirectional directions, i.e. with the platform's roll and pitch ranging from -180°to 180°. Remark however that as the leg angles are restricted between 0°and 90°to avoid the singularity, implying the platform is always supported above the UAVs, the orientations with the roll and pitch of the platform remaining within [-90°, 90°] are feasible in such leg configurations. In addition, the configurations of the platform's roll and pitch in the interval of [-90°, 0°] and [0, 90°] are symmetric and should have the same results on the wrench feasibility. Therefore, the cases of the platform angles within [0, 90°] are of interest in this analysis to determine the optimal leg angles and feasibility margins. It is furthermore noticed that the cases of the platform angles within [-180°, -90°] and [90°, 180°] can be also seen as symmetric configurations but with the leg angles being restricted within [-90°, 0°] (i.e. the platform is beneath the UAVs). Their results are thus easy to derive considering the same computation process. The transition between two singularity-free leg configurations (between the intervals of [-90°, 0°] and [0, 90°]) is however not studied in this thesis. It can be seen as a prerequisite in the setup of the robot assembly according to a specific task.

Apart from the discretisation of leg angles by angle step of 1°finding the maximum feasibility margins at each given orientation, an angle step of 5°on the roll (ϕ p ) and pitch (ϑ p ) of the platform is furthermore taken into account for varying the orientations. The optimal leg angles and their maximum force and moment feasibility margins can be visualised respectively by the 3D mesh plots in Fig. 5.13 and Fig. 5.14. The precision of this analysis is thus 5°in angles of the platform orientation, and 1°for the leg angles. It can be remarked from these results that the values of the optimal leg angles for the force feasibility are located in relatively wider configuration (θ l from 28°to 45°), while for the moment feasibility they are more symmetrically distributed around the normal configuration (θ l between 35°and 55°). The best wrench-feasible platform orientation is found at the point where the roll and pitch are zero, but a locally-optimal configuration can also be noticed around the point ϕ p = 25 • , ϑ p = 60 • . In addition, the feasibility margins for both force and moment of the platform in optimal leg configurations are always above a value considerably high enough to ensure the robustness of the static equilibrium (about 8 N for the force feasibility and 6 N.m for the moment feasibility), which has validated the capability of the FPR for executing the tasks required to generate omnidirectional wrench in various orientations.

Conclusion

In this chapter, a detailed analysis of the wrench feasibility of the FPR is conducted. The definition of the vertices depicting the actuation limitation of a single UAV allows to discretise the Available Thrust Set, which can then be mapped by the wrench matrix to obtain the Available Wrench Set of the FPR using respectively the V-representation and H-representation of polytopes. The static available wrench set and the static feasibility by a quantitative metric called static feasibility margin are introduced, which is then applied to determine the optimal leg configurations with different platform orientations to maximise the wrench feasibility of the platform. This analysis is thus a quantitative proof of the capacity of the FPR in performing manipulation tasks, which is applicable to optimal configuration planning, especially for determining the internal leg configurations. While all the computation in this chapter has been implemented in Matlab, the presented algorithms can potentially be achieved in other programming platforms such as C++ or Python, in order to compute the optimal leg configurations in real-time. However, the computation of wrench sets and the optimal leg angles still needs to solve a relatively large number of QP problems for every single configuration, which may be handled in future works by more efficient algorithms that reduce the complexity of the problem for every case.

CONCLUSION

Summary of the Thesis

The domain of aerial manipulation has experienced rapid development in recent years. Although a variety of aerial manipulator architectures have been proposed and studied in the literature, evolving from single Unmanned Aerial Vehicle (UAV) equipped with onboard actuators to multi-UAV cooperative systems, there still have been a lot of scientific issues awaited to be overcome, such as payload capacity, flight stability, wrench feasibility and manipulability of this kind of aerial robots. For this, a multi-UAV parallel robot named Flying Parallel Robot has been proposed within the thesis of [Six, 2018a], which presents better payload capacity, flight stability and accuracy, and can achieve full manipulability in 3-dimensional space thanks to the design of a parallel passive architecture actuated by multiple UAVs.

On the basis of the previous works for generic modelling and motion control applied to the FPR, the works presented in this thesis have been focusing on decentralized control and estimation techniques dealing with the interaction with the environment, which has extended the capability of the FPR for performing potentially industrial manipulation tasks while facing with challenges that might appear in real-world scenarios. More precisely, the main contents of this manuscript have been as follows:

❖ Chapter 1 has been devoted to a literature review of aerial manipulation with different generations of aerial manipulators, and the introduction to the design of Flying Parallel Robot as well as the generic modelling and motion control of the FPR. These previous works have been an inspiration and a solid basis for the works conducted in this thesis.

❖ Chapter 2 has investigated in depth the modelling of a specific FPR composed of a moving platform and a number of one-DoF legs attached with multirotors. Analytical expressions of geometric and kinematic relations have been derived, relating the robot pose/velocity to the positions/linear velocities of the multirotors. Dynamic modelling has also been done based on numerical algorithms using Khalil's method and Featherstone's Spatial Vector notation. Numerical validation of all the models has been conducted to verify the modelling correctness.

❖ Chapter 3 has tackled the problems related to the interaction with the environment by the FPR. Several momentum-based observers for estimating the external wrench exerted on the robot are firstly implemented and compared, which are then used in an impedance-based controller with wrench tracking capability shown to be able to deal with the modelling uncertainties, perturbations and physical interactions in the experimental validation.

❖ Chapter 4 has dealt with the decentralized estimation and control strategies for the FPR being more robust and independent on external localisation systems. A visionbased pose estimation technique using ArUco marker system has been adopted, with the estimation results enhanced by a quaternion-based Extended Kalman Filter considering the IMU measurements, for which a methodology of reconstructing a partial set of robot pose and velocity has been shown to be sufficient to construct a teleoperable system. Then several decentralized controllers according to the previously presented motion control and interaction control schemes have been investigated. These decentralized methods have been experimentally validated for precise positioning of the robot by teleoperation, pick-up of a payload and performing contact-based interactions.

❖ Chapter 5 has presented a wrench feasibility analysis of the FPR considering the actuation limits of UAVs. A Feasible Thrust Space has been firstly computed taking into account the limited thrust and rotational movements of a UAV. The computation of the Feasible Wrench Space of the FPR has been done using both H-representation and V-representation defining a convex polytope. A quantitative metric corresponding to the feasibility margin has been adopted to analyse quantitatively the feasible spaces, which is then applied to determine the optimal leg configurations to maximise the wrench feasibility in different platform orientations.

This thesis has thus been an extension of the previous works on the FPR to develop its application in the real world and its potential merits in the industrial context. Extensive experimental results have also been a valid demonstration of the FPR that is capable of performing a variety of manipulation tasks such as the transportation of relatively heavy loads, pick and place operations in remote locations, and contact-based inspection or repair of infrastructures.

Perspectives and Future Works

This thesis has presented the control and estimation methodologies for a multi-UAV manipulator performing physical interaction with the environment, with considerations of real-world constraints and implementations. Nevertheless, there are still places for improvements that may be completed in future works.

First of all, in terms of control, an impedance-based method based on the estimation of the external wrench has been implemented, regulating the robot's behaviour by the virtual impedance system when interacting with the environment. The output of this control law is however not ensured to be optimal, resulting in the positioning precision of the platform being centimetric or sometimes decimetric due to the perturbations or the uncertainties from UAVs themselves. A model-based optimal control algorithm may therefore be investigated, such as the Nonlinear Model Predictive Control (NMPC) as studied in [START_REF] Lunni | Nonlinear Model Predictive Control for Aerial Manipulation[END_REF][START_REF] Lee | Aerial Manipulation using Model Predictive Control for Opening a Hinged Door[END_REF][START_REF] Tzoumanikas | Aerial Manipulation Using Hybrid Force and Position NMPC Applied to Aerial Writing[END_REF]Yiğit, 2021a] applied to the FPR to compute the optimal control for minimising both position and wrench tracking errors with more constraints and optimisation conditions considered (like the actuation limits of UAVs and the energy consumptions). Besides, the control law considering a crossing of singularity can also be investigated [Six, 2017a], allowing the FPR to work in different configurations (where the platform is below or above the UAVs) and make possible a transition between two configurations suitable for different scenarios.

Secondly, even though a robot pose estimation technique based on onboard and intrinsic measurements has been adopted to sufficiently control the FPR with teleoperation, the lack of robustness in vision-based techniques still prevents this method to work in non-ideal environments. Therefore, the pose estimation based on other sources of sensors might be foreseen. On one hand, the vision-based approaches can be enhanced by redundant detection with other techniques to complete the defective situations for vision; on the other, novel strategies with no vision can be proposed to overcome the drawbacks related to the cameras. Such sources of sensors can be GPS for outdoor applications, additional IMU attached on the platform for measuring its orientation, encoders for measuring the leg angles, and/or Ultra Wide-band (UWB)-based localisation algorithm [START_REF] Shule | UWB-Based Localization for Multi-UAV Systems and Collaborative Heterogeneous Multi-Robot Systems[END_REF] applied to the FPR.

Thirdly, the perception of environment when the robot navigates is totally omitted in this thesis, which has been considered known (by MOCAP) during the experiments in Chapter 3 and handled by a human operator with teleoperation in Chapter 4. An online perception of the environment like detecting the contact surface may be implemented using an additional camera attached to the platform, for example Time-of-Flight camera in [Bodie, 2021a]. The perception may potentially be followed by a complete vision-based control, such as eye-in-hand image-based visual servoing (IBVS) of the platform. To further deal with the interaction with the environment, a hybrid vision/force control can be applied as investigated in [START_REF] Bellakehal | Vision/force control of parallel robots[END_REF]. The vision-based control may also be applied to a leg-direction-based visual servoing for maintaining a good internal configuration of the FPR. The application of such arrangements in control has been seen in cable-driven parallel robots (CDPRs) [START_REF] Dallej | Modeling and vision-based control of large-dimension cable-driven parallel robots using a multiplecamera setup[END_REF], and classical parallel manipulators [START_REF] Andreff | Unifying Kinematic Modeling, Identification, and Control of a Gough-Stewart Parallel Robot Into a Vision-Based Framework[END_REF][START_REF] Zhu | Sensor-based design of a Delta parallel robot[END_REF]. In the other aspect, the teleoperation of the FPR by a human operator may still be a solution for avoiding the onboard perception, but can be enhanced by a bilateral haptic feedback [START_REF] Lee | Haptic teleoperation of multiple unmanned aerial vehicles over the internet[END_REF][START_REF] Omari | Bilateral Haptic Teleoperation of VTOL UAVs[END_REF][START_REF] Zhang | Haptic Teleoperation of UAVs Through Control Barrier Functions[END_REF], which results in a more teleoperable system for accomplishing potential manipulation tasks.

Moreover, along with an initial analysis on the wrench analysis of the FPR, the optimal leg configurations are determined to relatively maximise the force and moment feasibility margins of the platform in different orientations. However, this analysis was only done off-line due to the computational time and complexity. A more computationally efficient algorithm may be proposed to extend the wrench feasibility analysis to online optimal planning of the leg angles maximising the feasibility according to the actual orientation of the platform and the specific task the robot is performing.

Last but not least, the improvements on practical and experimental aspects might also be necessary to bring the FPR closer to its real-world application. To this point, the quadrotor UAVs used in the FPR for experimental validations are customised using lowcost materials and a minimum set of sensors with an open-source flight controller, which has shown acceptable precisions for testing flights in the laboratory environment. The final applications of the FPR in the real world must be supported by more maturely controlled UAVs with a complete set of embedded sensors including IMU, optical flow, sonar-based or laser-based height sensors and possibly GPS (for outdoor applications). The rotation matrix encodes the attitude of a rigid body to be the matrix that when pre-multiplied by a vector expressed in the body-fixed frame yields the same vector but expressed in the world frame1 . That is, for a rigid body A, if z ∈ R 3 is a vector in the world frame and A z ∈ R 3 is the same vector expressed in the body-fixed frame, then the following relations hold: .38) with R A the rotation matrix representing the orientation of the rigid body with respect to the world frame. It should be noted that there are two possible conventions for defining the rotation matrix: one mapping from the body-fixed coordinates to the world coordinates as in (A.38); the other one writes the matrix that maps from the world coordinates to the body-fixed coordinates. Although two conventions are equivalent with their conversions being as trivial as performing the transpose of a matrix, it is necessary to be sure which convention is being used so as not to lose the coherence.

z = R A A z A z = R T A z (A
The rotation matrix can also depict the relative orientation between two coordinate systems or frames, i.e. for two frames denoted by F A and F B , the rotation matrix A R B performs a rotation from F B to F A , that can be given by .39) Note that R A and R B represent respectively the orientation of the rigid body A and B relative to the world frame.

A R B = R T A R B (A

Euler Angles

The most popular way to represent the orientation of a rigid body is a set of Euler angles, because of their simplicity to understand and use. A widely used convention of Euler angles for aerial robotics is ZYX, defined by yaw, pitch, roll angles about successive z-y-x axes of the body-fixed frame. Another convention is ZXZ, defined by successive z-x-z axes, with angles known respectively as spin, nutation and precession.

The Euler angles can be parametrized by a vector η ∈ R 3 of three angles defined about the successive body-fixed axes (with a specific order according to the ZYX or ZXZ convention). The orientation represented by Euler angles can thus be obtained by a combination of these three rotations about the single coordinate axis, which is called coordinate rotation denoted by R j (α) : R → SO(3) for j ∈ {x, y, z}, defining a rotation of an arbitrary angle α respectively about the x, y and z axis One disadvantage of using Euler angles is that the singularity might occur at certain angles, which restricts the usage of this representation particularly for control. For instance the singularity occurs at pitch values of ϑ = π 2 + nπ (n ∈ Z) for ZYX convention, and at nutations values of ϕ = nπ (n ∈ Z) for ZXZ convention. These singularities found in the various Euler angle representations are said to arise from gimbal lock, where the first and third Euler angles are indistinguishable when the second Euler angle is at some critical value. This means, for the ZYX convention, when the pitch angle is 90°, the vehicle is pointing straight up, making the roll and yaw impossible to be determined. For the ZXZ convention, when the nutation angle is 0°or 180°, the other two angles are ambiguous.

Unit Quaternion

The unit quaternion uses a four-element vector to represent an orientation in 3dimensional space. With the quaternion space defined by H, a quaternion q ∈ H can be parametrised by q = q 0 q 1 q 2 q 3 T =   q 0 q 1:3   (A.45)

which is composed of a scalar value q 0 and a complex part of the 3-dimensional vector q 1:3 . For a unit quaternion, the additional constraint is that ∥q∥ = q 2 0 + q 2 1 + q 2 2 + q 2 3 = 1 (A.46)

A set of additional definitions and operations may be applied to it, such as the conjugate and inverse of the quaternion given as follows q =   q 0 -q 1:3   , q -1 = q ∥q∥ (A.47)

It can be noted that for a unit quaternion, its inverse is equal to the conjugate of the quaternion, i.e. q -1 = q when ∥q∥ = 1.

As the unit quaternions are representatives of rigid-body orientations, the combination of two orientations can be done by the multiplication of two quaternions. The multiplication between two arbitrary quaternions q A and q B is defined by

q A • q B =  
q A,0 q B,0 -q T A,1:3 q B,1:3 q A,0 q B,1:3 + q B,0 q A,1:3 + q A,1:3 × q B,1:3   (A.48) with • representing the quaternion multiplication operation. (A.48) may be rewritten as a quaternion pre-multiplied by a matrix-valued function of the other quaternion, that is q A • q B =   q A,0 -q T A,1:3 q A,1:3 q A,0 1 3×3 + [q A,1:3 ] ×     q B,0 q B,1:3   =   q B,0 -q T B,1:3 q B,1:3 q B,0 1 3×3 -[q B,1:3 ] ×     q A,0 q A,1:3   (A.49) where the skew-symmetric cross product matrix [.] × : R 3 → R 3×3 is defined by

[v] × =      0 -v z v y v z 0 -v x -v y v x 0      (A.50)
It is additionally remarked that the cross-product operation and skew-symmetric matrix have the following properties

v × ω = -ω × v [v] × ω = -[ω] × v = [ω] T × v (A.51)
More compactly, the quaternion multiplication may be written as the second quaternion pre-multiplied by a matrix-valued function of the first quaternion, which is .52) where the quaternion matrix function, Q : H → R 4×4 is defined by

q A • q B = Q(q A )q B = Q(q B )q A (A
Q(q) =   q 0 -q T 1:3 q 1:3 q 0 1 3×3 + [q 1:3 ] ×   =        
q 0 -q 1 -q 2 -q 3 q 1 q 0 -q 3 q 2 q 2 q 3 q 0 -q 1 q 3 -q 2 q 1 q 0 .53) and the closely related conjugate quaternion matrix Q : H → R 4×4 is defined by Q(q) =   q 0 -q T 1:3

        (A
q 1:3 q 0 1 3×3 -[q 1:3 ] ×   =        
q 0 -q 1 -q 2 -q 3 q 1 q 0 q 3 -q 2 q 2 -q 3 q 0 q 1 q 3 q 2 -q 1 q 0         (A.54) Note that the quaternion matrix has the property of Q(q)q = Q(q) T q.

A unit quaternion can be used to represent the orientation of a rigid body. Consider a vector z ∈ R 3 in the global coordinates and the same vector A z ∈ R 3 expressed in the body-fixed frame of a rigid body A. The following relation holds: .55) with • being the operation of quaternion multiplication. Moreover, a physical interpreta-tion of unit quaternion is that it is defined by a rotation angle (the scalar value q 0 ) about a spatial axis (given by the complex vector q 1:3 ), as q =   q 0 q 1:3

  0 z   = q A •   0 A z   • qA (A
  =   cos θ 2 sin θ 2 u   (A.56)
where θ 2 is the half of the rotation angle and u is the unit vector defining the rotation axis.

The advantage of using unit quaternions is that there is no singularity in this representation. However, the main disadvantage of unit quaternions is that they are constrained to have unit length, a quadratic constraint that can lead to complications when attempting to optimise over the quaternion parameters. In addition, the interpretation of quaternion values is difficult, and the discontinuity between two quaternions for an identical orientation represented by q 0 q T 1:3

T and -q 0 -q T 1:3

T should be tackled.

Axis-Angle Representation

The axis-angle representation is a notation closely related to the unit quaternion, but with a more intuitive interpretation as it corresponds to a rotation vector codirectional with a rotation axis, denoted by u, and the length being the rotation angle, denoted by θ. The rotation vector representing an orientation is therefore defined by the product of the unit rotation axis and the rotation angle, as θ = θu ∈ R 3 (A.57)

Given a vector z ∈ R 3 , the vector rotated about the axis of rotation defined by the unit vector u by an angle θ can be obtained using Rodrigues' rotation formula

z ′ = (cos θ)u + (sin θ)(u × z) + (1 -cos θ)(u • z)u (A.58)
However, the same orientation can be represented by an infinite number of rotation vectors, and the relation between the rotation vector and the unit quaternion is quite straightforward as shown in (A.56), which together makes the axis-angle representation less used than its counterparts.

A.2 Conversions between Representations

As the same orientation can be represented by different notations, the unified conversions between them can be determined, among which the conversions between the commonly used representations that appear in this manuscript are summarised as follows.

Unit Quaternion ⇔ Rotation Matrix

The conversion from the unit quaternion to the rotation matrix can be derived from (A.55), which states

  0 z   = Q(q A ) T Q(q A )   0 A z   =   1 0 T 3 0 3 R A (q A )     0 A z   (A.59)
from which the rotation matrix R(q) : H → SO( 3) corresponding to the unit quaternion q can be written by

R(q) =     
q 2 0 + q 2 1 -q 2 2 -q 2 3 2(q 1 q 2 -q 0 q 3 ) 2(q 1 q 3 + q 0 q 2 ) 2(q 1 q 2 + q 0 q 3 ) q 2 0 -q 2 1 + q 2 2 -q 2 3 2(q 2 q 3 -q 0 q 1 ) 2(q 1 q 3 -q 0 q 2 ) 2(q 2 q 3 + q 0 q 1 ) q 2 0 -q 2 1 -q 2 2 + q 2 3     

(A.60)

The reverse mapping from a rotation matrix to a unit quaternion is slightly more complicated. Inspection from (A.60) yields the following relations and

                
                              
4q 0 q 1 = r 32 -r 23 4q 0 q 2 = r 13 -r 31 4q 0 q 3 = r 21 -r 12 4q 1 q 2 = r 12 + r 21 4q 1 q 3 = r 13 + r 31 4q 2 q 3 = r 23 + r 32 (A.61)

From these relations, four different inverse conversions can be obtained, written as q i (R) :

SO( 3) → H for i ∈ {0, 1, 2, 3}, and respectively defined by

q 0 (R) = 1 2        
(1 + r 11 + r 22 + r 33 )

1 2

(r 32 -r 23 )/(1 + r 11 + r 22 + r 33 )

1 2

(r 31 -r 13 )/(1 + r 11 + r 22 + r 33 )

1 2

(r 21 -r 12 )/(1 + r 11 + r 22 + r 33 )

1 2         (A.62) q 1 (R) = 1 2        
(r 32 -r 23 )/(1 + r 11 -r 22 -r 33 )

1 2

(1 + r 11 -r 22 -r 33 )

1 2

(r 12 + r 21 )/(1 + r 11 -r 22 -r 33 )

1 2

(r 13 + r 31 )/(1 + r 11 -r 22 -r 33 )

1 2        
(A.63) The reverse mapping from the unit quaternion to Euler angles in different conventions can be identified from (A.43), (A.44) and (A.60), which can be written by

q zxz = q z (ψ 1 ) • q x (ϕ) • q z (ψ 2 ) =         cos ψ 1 2 cos ϕ 2 cos ψ 2 2 -
η zyx =      ϕ ϑ ψ      =     
atan2(r 32 , r 33 ) asin(-r 31 ) atan2(r 21 , r 11 )

     =     
atan2 2(q 0 q 1 + q 2 q 3 ), q 2 0 -q 2 1 -q 2 2 + q 2 3 asin 2(q 0 q 2 -q 1 q 3 ) atan2 2(q 0 q 3 + q 1 q 3 ), q 2 0 + q 2 1 -q 2 2 -q 2 3      (A.72)

η zxz =      ψ 1 ϕ ψ 2      =     
atan2(r 13 , -r 23 ) acos(r 33 ) atan2(r 31 , r 32 )

     =     
atan2 2(q 0 q 2 + q 1 q 3 ), 2(q 2 0 q 2 1 -q 2 2 q 2 3 ) acos(q 2 0 -q 2 1 -q 2 2 + q 2 3 ) atan2 2(q 1 q 3 -q 0 q 2 ), 2(q 2 2 q 2 3 + q 2 0 q 2 1 )

     (A.73)
where atan2, asin and acos are the arctan, arcsin and arccos functions implemented in computer languages that produce correct results for all possible orientations.

A.3 Rotational Kinematics

Rotational kinematics is the study of rigid body motion irrespective of the forces and moments involved. In this section, the kinematic relations depicting the rotational movement of a rigid body using different representations are presented, including the relationship of derivatives of rotation matrix, Euler angles and unit quaternion with respect to the angular velocity of the rigid body as in [START_REF] Zhao | Time Derivative of Rotation Matrices: A Tutorial[END_REF][START_REF] Diebel | Representing attitude: Euler angles, unit quaternions, and rotation vectors[END_REF][START_REF] Schwab | Quaternions, Finite Rotation and Euler Parameters[END_REF].

Derivative of Rotation Matrix

Let R A ∈ SO(3) be the rotation matrix of a rigid body A, satisfying R T A R A = 1 3×3 (i.e. det R A = 1). The time derivative of the rotation matrix is defined by .74) where [.] × represents the skew-symmetric matrix defined in (A.50), ω A and A ω A are the angular velocity of the body A expressed respectively in the world frame and the bodyfixed frame.

ṘA = [ω A ] × R A ṘA = R A [ A ω A ] × (A
Similarly, the derivative of a rotation matrix depicting a relative rotation between two frames, such as A R B from F B to F A , can be given by

A ṘB = [ A ω B/A ] × A R B A ṘB = A R B [ B ω B/A ] × (A.75)
where A ω B/A is the angular velocity of F B (relative to F A ) expressed in F A , and B ω B/A is the same quantity expressed in F B .

Rates of Euler Angles

The relationship between the angular velocity of a rigid body A ω A expressed in its body-fixed frame and the rates of changes of Euler angles ηA can be defined by The matrix mapping the rates of ZXZ Euler angles to body-fixed angular velocity can be derived using the same procedure, which is however omitted here as this convention is not used to represent the rotational movement of a rigid body in this manuscript.

The reverse mapping from the body-fixed angular velocity to the Euler angle rates can be known by inverting the matrix D as ηA = (D -1 ) A ω A (A.79)

Consider the 3-dimensional thrust force produced by a quadrotor i expressed in its own frame F bi written by bi f i = [0, 0, f t,i ]. It can be known from the linear acceleration a i of the quadrotor i expressed in F 0 by

bi f i = m i R T i (a i -g) (C.3)
with m i the mass of the quadrotor, R i the rotation matrix representing its orientation and g = 0 0 -g (for g = 9.81m/s 2 ) being the gravity vector in F 0 . One may remark that the term a acc := R T i (a i -g) is directly measured by the accelerometer of the onboard IMU sensor, of which the z-axis element is related to f t,i and can be denoted by a acc,z .

Knowing from (C.1) that f max = f d t /u f , an estimation on the maximum thrust parameter can be formulated based on the relation of (C. where the estimation error is given by ( fmax -f max ) with f max = m i aacc,z u f as the actual maximum thrust computed from the direct measurements. fmax converges asymptotically to its actual value f max .

It is additionally remarked that the estimated values of fmax might not be smooth enough due to the noisy acceleration measurements. To avoid this, (C.4) can be further adapted to (C.6) using measurements of the linear velocity which are much better filtered by the onboard EKF technique.

fmax (t) = K I t 0 - m i bi g z u f -fmax (t -∆t) dt + bi v i,z u f (C.6)
where bi g z represents the z-axis element of the gravity vector expressed in F bi by bi g = R T i g, and bi v i,z is the z-axis linear velocity of the quadrotor i expressed in F bi .

The results on the evolution of the estimated maximum thrust parameter and the battery level recorded on one quadrotor are plotted in

Appendix D: Calibration of Fixed Transformations

As presented in Section 4.2.1, the estimation of relative pose between each UAV and the platform requires two fixed transformations to be known, which are bi T Ci from the camera frame to multirotor's body frame, and p T M from the ArUco marker frame to the platform frame. A calibration process is done to obtain the values of these two transformation matrices using both marker pose estimation algorithm and the MOCAP data. It is noted that to reduce the calibration errors, instead of detecting a single marker using ArUco algorithm, a ChArUco marker detection algorithm available in OpenCV [OpenCV, 2022] is chosen. The ChArUco maker is a chessboard composed of 3 × 3 squares and four ArUco markers inside the white squares. The pose estimation is therefore more accurate as the algorithm detects the corner points of four markers and the black squares, and estimates the pose based on these detected features. However, the size of four ArUco markers in a ChArUco marker is too small, limiting this method only for calibration (detecting in a short distance), but not for the pose estimation discussed in Section 4.2.1.

For calibrating bi T Ci , a ChArUco marker is placed in the flight arena, whose pose relative to the camera frame of the quadrotor is being estimated by the ChArUco algorithm (as shown in The calibration of the fixed transformation p T M can be done using a similar process. However, it is remarked that the global poses of the platform and the marker can be directly detected by MOCAP, written respectively by T p and T M expressed in F 0 . The pose of the marker relative to the platform frame is therefore known by The fixed transformations have thus been calibrated, which are expressed respectively by a rotation matrix and a translation vector. For the orientation, a simpler representation can be chosen to reduce the number of parameters for saving these constant values. The Euler angles in ZXZ convention are selected because they are simple and intuitive to use. The conversion from the rotation matrix to the ZXZ Euler angles is given in (A.73). Finally, the constant parameters for all the fixed transformations are summarised in Table D.1. Noted that the fixed transformation bi T Ci for all the UAVs are supposed to be identical. Abstract : Aerial manipulation is an emerging domain where multirotor Unmanned Aerial Vehicles (UAVs) are equipped with onboard end-effectors for grasping, transporting and manipulating objects. To enhance the payload capacity and achieve full manipulability in 3dimensional space, a flying parallel robot (FPR) was previously proposed in which a number of UAVs are used to collectively support a passive parallel architecture.

In this thesis, the estimation and control methods dealing with the interaction with the environment are addressed, which are applied to a specific FPR composed of a moving platform and a number of rigid legs attached with quadrotors actuating the system.

The second main contribution of this thesis is the proposal of decentralized strategies based on onboard and intrinsic measurements of the UAVs. Experiments show the effectiveness of the proposed methods in regulating the robot configuration, achieving precise positioning tasks through teleoperation and performing contact-based interactions with an object in the environment. In addition, a detailed analysis of the wrench feasibility of the FPR is presented, allowing to compute the Available Wrench Set (AWS) of the platform and determine the optimal leg configurations maximising the wrench feasibility of the robot accordingly to specific task requirements.

1. 1

 1 Aerial manipulators composed of a helicopter and an end-effector/industrial manipulator. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Aerial manipulator frameworks with a single multirotor platform and attached equipment for physical interaction. . . . . . . . . . . . . . . . . . . 1.3 Aerial manipulator frameworks with derived multirotor-based platforms. (a): ducted-fan vehicle; (b)-(f): multirotor with tilted or tiltable propellers; (g) and (h): morphing multirotor designs. . . . . . . . . . . . . . . . . . . . 1.4 Cooperative aerial manipulation frameworks. (a)-(c): cooperation of multiple aerial manipulators with onboard actuated equipment; (d)-(f): cablesuspended transportation or manipulation collaborated by multiple UAVs. 1.5 Aerial manipulators with rigidly connected structures. (a)-(c): multiple UAVs connected to a rigid frame using mechanical mechanisms; (d) and (e): multi-body systems actuated by multiple UAVs connected by means of passive joints. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.6 Example of flying parallel robots with 2 UAVs analogous to a Bi-glide parallel mechanism and with 3 UAVs to a 3-RPS parallel mechanism. . . .

2. 1 A 3 . 1

 131 general scheme of the Flying Parallel Robot, with x, y, z axes of the frames defined respectively by red, green and blue arrows. . . . . . . . . . 2.2 Sequential rotations for defining the transformation between the platform frame and leg i's frame. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3 Geometric constants defining the location S i of the attached spherical joint on the multirotor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4 Forces and moment exerted on the multirotor (red arrows), and reaction force and moment exerted on the leg (blue arrows). . . . . . . . . . . . . . vi Definition of the desired x axis of the multirotor's body frame. . . . . . . . 3.2 Diagram of the impedance-based interaction control along with the lowlevel quadrotor control. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3 Block diagram of the overall external wrench estimation and impedancebased control framework. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4 External wrench estimation performed respectively by: (a)-(c) the firstorder wrench observer (FOWO), (d)-(f) the second-order wrench observer (SOWO), (g)-(i) the sliding-mode wrench observer (SMWO) during the hovering flight in free space. . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5 Evolution of platform's z position without/with the thrust regulation based on battery levels during the hovering flight in Experiment I. . . . . . . . . 3.6 FPR hovering with additional payload in Experiment II. . . . . . . . . . . 3.7 Evolution of the x and z-axis external force estimates and the platform's x and z position during the hovering flight with an additional payload of 200 g. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.8 Evolution of the external moment estimates on ml3,e and the revolute-joint angle of the leg 3 during the hovering flight with an additional payload of 200 g. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.9 Evolution of the external force estimates on fpz,e and the platform's z position during the hovering flight with an additional payload of 300 g. . . . 3.10 FPR hovering in presence of external wind perturbations in Experiment III.

3. 13

 13 Evolution of the desired and estimated contact force and the platform's position during the interaction task in a flat orientation. Note that the dashed lines are the desired values and the shaded areas in orange indicate the performed steady contacts. . . . . . . . . . . . . . . . . . . . . . . . . . 3.14 Evolution of the desired and estimated contact force and the platform's position during the interaction task with inclined orientation. . . . . . . . . 3.15 Evolution of the desired and estimated contact force and the platform's position during the pushing and twisting task. . . . . . . . . . . . . . . . . 3.16 Evolution of the platform's yaw angle during the pushing and twisting task.

3. 18

 18 Evolution of the platform's external force and moment estimates. . . . . . vii 4.1 Definition of the frames in the FPR for the pose estimation on each multirotor.103 4.2 Introduction of flat frames for expressing the orientation defined by the roll and pitch angles on one leg of the FPR. The real platform and multirotor poses are solid, and their poses in the flat frames are transparent. Note that the origins of real and flat frames should be collinear, which is not the case in the figure just for better visualisation. . . . . . . . . . . . . . . . . 109 4.3 The communicating (left) and non-communicating (right) decentralized control diagrams. IKM and FKM refer to the Inverse Kinematic Model and the Forward Kinematic Model, and the red dashed lines indicate the modules that are embedded on each multirotor. . . . . . . . . . . . . . . . 114 4.4 Decentralized interaction control diagram. FKM refers to the Forward Kinematic Model, and the red dashed lines indicate the modules that are embedded in each multirotor. . . . . . . . . . . . . . . . . . . . . . . . . . 117 4.5 Demonstration of 4-axis gamepad for teleoperating the FPR. . . . . . . . 119 4.6 Control of the platform orientation and leg angles of the FPR using decentralized C-and NC-controller. . . . . . . . . . . . . . . . . . . . . . . . . . 120 4.7 Results of the tracking on the platform roll and pitch, as well as the leg angles using C-and NC-controller. The top curves show the desired value for all the legs θ d l (blue line) and measured ones θ l (light blue lines). The bottom curves show the tracking of the platform orientation, i.e. desired roll ϕ d p (dark red line), actual roll ϕ p (light red line), desired pitch ϑ d p (dark green line) and actual pitch ϑ p (light green line). . . . . . . . . . . . . . . . 121 4.8 Fine positioning of the platform with teleoperation towards the tennis balls hanging in the air. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 4.9 Evolution of positioning error of the platform during the experiment using respectively C-controller (top) and NC-controller (bottom). Examples of successful and failed tasks are shown in (b) and (c) for C-controller, (e) and (f) for NC-controller. The black dashed lines represent the criteria for stating the precise positioning task, while the red dashed lines show the criteria for a successful task. The rectangle boxes in (a) and (d) refer to individual positioning tasks, with successful tasks in red and failed ones in black. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 4.10 Visualisation of the ArUco marker detected onboard each of three multirotors of the FPR from different angles of view. The cubic boxes and the three-axis arrows represent the estimated pose of the detected marker relative to the camera frame. On each image, the number 0 indicates the detected marker ID, and the values following the keyword "w:" are the percentage of confidence between 0 and 1. . . . . . . . . . . . . . . . . . . 125 viii 4.11 Precise positioning of the platform towards a target (tennis ball) suspended with a load and pick-up of the load. . . . . . . . . . . . . . . . . . . . . . . 127 4.12 Relative pose of the multirotor 1 expressed in the platform frame. Blue curves represent the pose estimated by the ArUco detection algorithm [Romero-Ramirez, 2021], green curves are the filtered results from the EKF and the red dashed curves are the ground truth measured by the MOCAP. The outliers corresponding to the detection failures or interruptions are pointed out by red circles. . . . . . . . . . . . . . . . . . . . . . . . . . . . 128

5 . 5

 55 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 4.15 Contact-based interaction experiment of the FPR during which the platform is controlled to exert forces in normal direction on a board fixed in the environment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 4.16 Evolution of the positioning error between the platform and the target during the interaction experiment. . . . . . . . . . . . . . . . . . . . . . . . 131 4.17 Evolution of the desired and estimated values of the contact force between the platform and the board during the interaction experiment, recorded on UAV 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 4.18 Unfavourable configuration with large platform angle for onboard detection of the ArUco marker. Right figure shows the image captured on UAV 3 on which the marker tracking is lost. . . . . . . . . . . . . . . . . . . . . . . . 133 5.1 Wrench-Feasible Workspace analysis (left) and task feasibility analysis based on the Available Wrench Set (right). . . . . . . . . . . . . . . . . . . . . . . 138 5.2 Continuous ATS representing the actuation limit of a single UAV, with the sphere surface rendered in orange and the cone surface rendered in light blue.142 5.3 Approximation of a circle by a regular polygon with n c sides [Brilliant, 2022], from top view of Fig. 5.2. . . . . . . . . . . . . . . . . . . . . . . . . 142 5.4 Visualisation of discretised Available Thrust Set (ATS) by different number of vertices chosen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 ix Visualisation of decomposed Available Wrench Sets. . . . . . . . . . . . . . 5.6 Illustration of configurations with different leg angles. . . . . . . . . . . . . 5.7 Available Wrench Sets evaluated at static equilibrium of A fp w = b fp (left) and A mp w = b mp (right) for the flat platform orientation (roll = 0°, pitch = 0°

5 .

 5 14 Optimal leg angles for maximising the moment feasibility margin. . . . . . B.1 FPR prototype and its original CAD design for the experimental validation.178 C.1 Evolution of the estimated maximum thrust and the battery voltage level of a quadrotor during a hovering flight over 120 s. . . . . . . . . . . . . . . C.2 Linear regression between battery levels and maximum thrust estimates. . D.1 Calibration of the camera pose relative to the multirotor's frame, i.e. bi T Ci , using ChArUco pose estimation algorithm and MOCAP data. . . . . . . . x LIST OF TABLES 2.1 Numerical validation of the modelling algorithms based on Khalil's method and Featherstone's Spatial Vector notation. Note that RN E refers to the recursive Newton-Euler algorithm, Composite stands for the Composite-Rigid-Body algorithm and Coriolis for the Coriolis Matrix Computation algorithm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1 Wrench observer and impedance control gains along different robot states.

  . . . . . . . xi 4.1 Numerical values for the PID control gains. The control gains are decoupled along/around each axis of the robot state. p p,.

4. 5 5 . 3

 553 Estimation and control gains applied in the experiments. *The stiffness coefficient for the platform position and yaw is meaningless in the decentralized controller. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6 Root-mean-square error (RMSE) of the ArUco detection and EKF-based filtering results on the relative pose between each UAV and the platform during one positioning task. Note that the roll, pitch and yaw angles for the relative orientation are converted from the quaternions p q i . . . . . . . . 4.7 Root-mean-square error (RMSE) on the tracking of the platform orientation and leg angles. Note that mean θ l indicates the mean value of the RMSE of three leg angles. The results on Scenario I are computed by the average values of 6 performed positioning tasks. . . . . . . . . . . . . . . . 4.8 Successful detection rates for all the UAVs in two experimenting scenarios. Note that a successful detection is that the detection errors are less than 10 cm for position and 10°for rotation. . . . . . . . . . . . . . . . . . . . . 5.1 Information of the discretised ATS by different number of vertices (Vrepresentation) or half-spaces (H-representation) and their precisions with respect to the theoretical ATS. . . . . . . . . . . . . . . . . . . . . . . . . . 5.2 Number of vertices (V-representation) or half-spaces (H-representation) defined in the decomposed AWS. . . . . . . . . . . . . . . . . . . . . . . . . . xii Definition of arguments for QP problem solving the feasibility margins. . . 154 5.4 Feasibility margin of F s p and M s p with different robot configurations. . . . . 157 B.1 Geometric and dynamic parameters of the FPR. *MoI refers to the Moment of Inertia. diag(.) : R n → R n×n is the diagonal matrix of a given array of values. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 C.1 Constant parameters for thrust regulation as a function of battery levels according to (C.2) for three quadrotors. . . . . . . . . . . . . . . . . . . . . 182 D.1 Constant parameters (translation vector and ZXZ Euler angles) of the fixed transformations for the camera pose and the ArUco marker pose. . . .

F

  Space of 6-dimensional spatial force vectors M Space of 6-dimensional spatial motion vectors ṽj 6-dimensional spatial velocity of a body j ãj 6-dimensional spatial acceleration of a body j fj 6-dimensional spatial force of a body j Xj A spatial matrix of dimension (6 × 6) associated to a body j projection of the static FWS W s mp onto the platform moment space xvi

Figure 1 . 1 -

 11 Figure 1.1 -Aerial manipulators composed of a helicopter and an end-effector/industrial manipulator.

  actuated rigid links or tools, with examples shown in Fig. 1.2(a)-(c); ❖ grippers, with examples in Fig. 1.2(d), (e); ❖ passive links, such as cables or tethers used in designs shown in Fig. 1.2(f), (g); ❖ articulated robotic arms, including single serial robotic arm as in Fig. 1.2(h)-(j), dual-arm system in Fig. 1.2(k) and parallel manipulators in Fig. 1.2(l), (m).

Figure 1 . 2 -

 12 Figure 1.2 -Aerial manipulator frameworks with a single multirotor platform and attached equipment for physical interaction. 9

Figure 1 . 3 -

 13 Figure 1.3 -Aerial manipulator frameworks with derived multirotor-based platforms. (a): ducted-fan vehicle; (b)-(f): multirotor with tilted or tiltable propellers; (g) and (h): morphing multirotor designs.

Figure 1 .

 1 Figure 1.4 -Cooperative aerial manipulation frameworks. (a)-(c): cooperation of multiple aerial manipulators with onboard actuated equipment; (d)-(f): cable-suspended transportation or manipulation collaborated by multiple UAVs.

Figure 1 . 5 -

 15 Figure 1.5 -Aerial manipulators with rigidly connected structures. (a)-(c): multiple UAVs connected to a rigid frame using mechanical mechanisms; (d) and (e): multi-body systems actuated by multiple UAVs connected by means of passive joints.

  (a) Example of a 2D flying parallel robot with 2 UAVs [Six, 2018a] (b) A Bi-glide parallel mechanism, with the active joints in grey.

Figure 1 .

 1 Figure 1.6 -Example of flying parallel robots with 2 UAVs analogous to a Bi-glide parallel mechanism and with 3 UAVs to a 3-RPS parallel mechanism.

Figure 1 .

 1 Figure 1.7 -General schema of the flying parallel robot design with n UAVs [Six, 2018a].

Figure 1 .

 1 Figure 1.11 -Overall control diagram of the flying parallel robot [Six, 2018a].

Figure 2 . 1 -

 21 Figure 2.1 -A general scheme of the Flying Parallel Robot, with x, y, z axes of the frames defined respectively by red, green and blue arrows.

Figure 2 . 2 -

 22 Figure 2.2 -Sequential rotations for defining the transformation between the platform frame and leg i's frame.

Figure 2 . 3 -

 23 Figure 2.3 -Geometric constants defining the location S i of the attached spherical joint on the multirotor.

  is the spatial force acting on the body j, ṽj = are the spatial velocity and acceleration of the body j, with F and M

Figure 2 .

 2 Figure 2.4 -Forces and moment exerted on the multirotor (red arrows), and reaction force and moment exerted on the leg (blue arrows).

  Chapter 3

1 2

 1 sgn * ( P) + σ σ = -K O S sgn * ( P)(3.20)

Figure 3 . 2 -

 32 Figure 3.2 -Diagram of the impedance-based interaction control along with the low-level quadrotor control.

Figure 3 . 3 -

 33 Figure 3.3 -Block diagram of the overall external wrench estimation and impedancebased control framework.

Figure 3 . 4 -

 34 Figure 3.4 -External wrench estimation performed respectively by: (a)-(c) the first-order wrench observer (FOWO), (d)-(f) the second-order wrench observer (SOWO), (g)-(i) the sliding-mode wrench observer (SMWO) during the hovering flight in free space.

  Platform z position with thrust regulation, comparing impedance controller with PD and PID-based controllers.

Figure 3 . 5 -

 35 Figure 3.5 -Evolution of platform's z position without/with the thrust regulation based on battery levels during the hovering flight in Experiment I.

Figure 3 .

 3 Figure 3.6 -FPR hovering with additional payload in Experiment II.

Figure 3 . 7 -

 37 Figure 3.7 -Evolution of the x and z-axis external force estimates and the platform's x and z position during the hovering flight with an additional payload of 200 g.

Figure 3 . 8 -

 38 Figure 3.8 -Evolution of the external moment estimates on ml3,e and the revolute-joint angle of the leg 3 during the hovering flight with an additional payload of 200 g.

  Figure 3.9 -Evolution of the external force estimates on fpz,e and the platform's z position during the hovering flight with an additional payload of 300 g.

Figure 3 .

 3 Figure 3.10 -FPR hovering in presence of external wind perturbations in Experiment III.

  Error distribution on the platform's pitch angle.

Figure 3 .

 3 Figure 3.11 -Error distribution on the platform's x position and pitch angle during the hovering flight in presence of external wind perturbations with different impedance gains.Note that the error distributions are calculated using the norm errors on the tracking of desired trajectories.

Figure 3 .

 3 Figure 3.13 -Evolution of the desired and estimated contact force and the platform's position during the interaction task in a flat orientation. Note that the dashed lines are the desired values and the shaded areas in orange indicate the performed steady contacts.

Figure 3 .

 3 Figure 3.14 -Evolution of the desired and estimated contact force and the platform's position during the interaction task with inclined orientation.

Figure 3 .

 3 Figure 3.15 -Evolution of the desired and estimated contact force and the platform's position during the pushing and twisting task.

Figure 3 .

 3 Figure 3.16 -Evolution of the platform's yaw angle during the pushing and twisting task.

  Evolution of the platform's position

Figure 3 .Figure 3 .

 33 Figure 3.17 -Evolution of the desired and estimated contact force and the platform's position during the pushing task with external wind perturbations.

Figure 4 . 1 -

 41 Figure 4.1 -Definition of the frames in the FPR for the pose estimation on each multirotor.

Figure 4 . 2 -

 42 Figure 4.2 -Introduction of flat frames for expressing the orientation defined by the roll and pitch angles on one leg of the FPR. The real platform and multirotor poses are solid, and their poses in the flat frames are transparent. Note that the origins of real and flat frames should be collinear, which is not the case in the figure just for better visualisation.

χ

  d and χd , i.e. F p ηd p = defined in (A.78) and (A.82) (see Appendix A.3).

Figure 4 . 3 -

 43 Figure 4.3 -The communicating (left) and non-communicating (right) decentralized control diagrams. IKM and FKM refer to the Inverse Kinematic Model and the Forward Kinematic Model, and the red dashed lines indicate the modules that are embedded on each multirotor.

Figure 4 . 4 -

 44 Figure 4.4 -Decentralized interaction control diagram. FKM refers to the Forward Kinematic Model, and the red dashed lines indicate the modules that are embedded in each multirotor.

Figure 4 . 5 -

 45 Figure 4.5 -Demonstration of 4-axis gamepad for teleoperating the FPR.

  (a) Configuration with large platform roll (b) Configuration with small leg angles

Figure 4 . 6 -

 46 Figure 4.6 -Control of the platform orientation and leg angles of the FPR using decentralized C-and NC-controller.

Figure 4 . 7 -

 47 Figure 4.7 -Results of the tracking on the platform roll and pitch, as well as the leg angles using C-and NC-controller. The top curves show the desired value for all the legs θ d l (blue line) and measured ones θ l (light blue lines). The bottom curves show the tracking of the platform orientation, i.e. desired roll ϕ d p (dark red line), actual roll ϕ p (light red line), desired pitch ϑ d p (dark green line) and actual pitch ϑ p (light green line).

Figure 4

 4 Figure 4.8 -Fine positioning of the platform with teleoperation towards the tennis balls hanging in the air.

  (a) Detection on multirotor 1 (b) Detection on multirotor 2 (c) Detection on multirotor 3

Figure 4 .

 4 Figure 4.10 -Visualisation of the ArUco marker detected onboard each of three multirotors of the FPR from different angles of view. The cubic boxes and the three-axis arrows represent the estimated pose of the detected marker relative to the camera frame. On each image, the number 0 indicates the detected marker ID, and the values following the keyword "w:" are the percentage of confidence between 0 and 1.

Figure 4 .

 4 Figure 4.11 -Precise positioning of the platform towards a target (tennis ball) suspended with a load and pick-up of the load.

Figure 4 .

 4 Figure 4.12 -Relative pose of the multirotor 1 expressed in the platform frame. Blue curves represent the pose estimated by the ArUco detection algorithm [Romero-Ramirez, 2021], green curves are the filtered results from the EKF and the red dashed curves are the ground truth measured by the MOCAP. The outliers corresponding to the detection failures or interruptions are pointed out by red circles.

Figure 4

 4 Figure4.13 -Evolution of positioning errors of the platform with respect to the target in 6 performed tasks. Note that the black dashed line is the criterion for a successful task, corresponding to the distance from the target's centre to the attached load (≈ 15 cm). The blue and purple curves (Success 1 ⃝ and 3 ⃝) are two successful cases where the load was released before the end of the given time (the reason why their positioning errors increase at the end).

  Figure 4.14 -Evolution of the z-axis external force estimates of the platform during the successful experiment (Success 1⃝). Note that only the force estimated by UAV 1 is plotted, but the estimates on the other UAVs are identical to this curve.

Figure 4 .

 4 Figure 4.15 -Contact-based interaction experiment of the FPR during which the platform is controlled to exert forces in normal direction on a board fixed in the environment.

Figure 4 .Figure 4

 44 Figure 4.16 -Evolution of the positioning error between the platform and the target during the interaction experiment.

Figure 4 .

 4 Figure 4.18 -Unfavourable configuration with large platform angle for onboard detection of the ArUco marker. Right figure shows the image captured on UAV 3 on which the marker tracking is lost.

  Task feasibility analysed by the definition of AWS[START_REF] Bouchard | On the ability of a cable-driven robot to generate a prescribed set of wrenches[END_REF]

Figure 5 . 1 -

 51 Figure 5.1 -Wrench-Feasible Workspace analysis (left) and task feasibility analysis based on the Available Wrench Set (right).

Figure 5 . 3 -

 53 Figure 5.3 -Approximation of a circle by a regular polygon with n c sides [Brilliant, 2022], from top view of Fig. 5.2.

Figure 5 . 4 -

 54 Figure 5.4 -Visualisation of discretised Available Thrust Set (ATS) by different number of vertices chosen.

Figure 5 . 5 - 2 -

 552 Figure 5.5 -Visualisation of decomposed Available Wrench Sets.

  .34) Note that the matrices A s fp , A s mp and vectors b s fp , b s mp defining the half-spaces in 3dimensional space are obtained by the intersection of initial half-spaces represented by A w w ≤ b w and the hyperplanes respectively given by A fp w = b fp and A mp w = b mp , which are then projected into the corresponding force or moment space in R 3 .

  min x T Hx + b T x + c s.t. A e x = b e(5.35)

  5.6)• 15 • for wide configuration (rendered in red);• 45 • for normal configuration (rendered in green);• 75 • for narrow configuration (rendered in blue).

Figure 5 .Figure 5 . 7 -Figure 5 . 8 -

 55758 Figure 5.6 -Illustration of configurations with different leg angles.

Figure 5 . 9 -

 59 Figure 5.9 -Side views of the Available Wrench Sets of the platform evaluated at static equilibrium respectively for the flat and inclined platform orientations.

Fig. 5 .Figure 5 .Figure 5 .

 555 Figure5.10 -Evolution of feasibility margins of the platform regarding different leg angles in flat platform orientation. The leg angles corresponding to optimal wrench feasibility are found at 32°for the force feasibility (8.66 N) and 48°for the moment feasibility (6.92 N.m).

Figure 5

 5 Figure 5.12 -Optimal Available Wrench Sets of the platform F s p and M s p in flat (blue regions) and inclined (red regions) orientations with the optimal leg angles chosen from Fig.5.11 to maximise the feasibility margin. The star points correspond to the static equilibrium at each configuration.

Figure 5 .

 5 Figure 5.13 -Optimal leg angles for maximising the force feasibility margin.

Figure 5 .

 5 Figure 5.14 -Optimal leg angles for maximising the moment feasibility margin.

  matrix), which can be written with elements as follows:

ψ 1 cos ψ 2 -

 2 unit coordinate rotations, the rotation matrix associated with different conventions of Euler angles can be fully determined. The rotation matrix defined by ZYX Euler angles η = [ϕ, ϑ, ψ] T (written in roll, pitch and yaw order) isR = R z (ψ) R y (ϑ) R x (ϕ)ϑ cos ψ sin ϕ sin ϑ cos ψ -cos ϕ sin ψ cos ϕ sin ϑ cos ψ + sin ϕ sin ψ cos ϑ sin ψ sin ϕ sin ϑ sin ψ + cos ϕ cos ψ cos ϕ sin ϑ sin ψ -sin ϕ cos ψ sin ϑ sin ϕ cos ϑ cos ϕ cos ϑ rotation matrix of ZXZ Euler angles η = [ψ 1 , ϕ, ψ 2 ] T (for spin, nutation and precession angles) can be given byR = R z (ψ 1 ) R x (ϕ) R z (ψ 2 ) sin ψ 1 cos ϕ sin ψ 2 -cos ψ 1 sin ψ 2 -sin ψ 1 cos ϕ cos ψ 2sin ψ 1 sin ϕ sin ψ 1 cos ψ 2 + cos ψ 1 cos ϕ sin ψ 2 -sin ψ 1 sin ψ 2 + cos ψ 1 cos ϕ cos ψ 2 -cos ψ 1 sin ϕ sin ϕ sin ψ 2 sin ϕ cos ψ 2

  r 11 + r 22 + r 33 4q 2 1 = 1 + r 11 -r 22 -r 33 4q 2 2 = 1 -r 11 + r 22 -r 33 4q 2 3 = 1 -r 11 -r 22 + r 33

A

  ω A = D ηA (A.76) with the mapping matrix D ∈ R 3×3 . Depending on the convention of Euler angles, this matrix takes different forms which can be derived from the definition of the order of Euler angles, i.e. for ZYX Euler anglesA ω A = φ R T x (ϕ)with R x (ϕ), R y (ϑ) and R z (ψ) being the unit coordinate rotations. Then the matrix D can be calculated as ϕ cos ϑ sin ϕ 0 -sin ϕ cos ϑ cos ϕ

  3) such that fmax (t) = K I t 0 m i a acc,z u f -fmax (t -∆t) dt (C.4)where fmax (t), fmax (t -∆t) are the estimated maximum thrust parameter respectively at current and previous timestamps, u f is the actual control value sent to the flight controller, and K I is the estimation gain.This acceleration-based estimation is equivalent to a first-order filter. That is, by deriving the relation of (C.4), one can obtain the estimation error dynamics as ḟmax + K I ( fmax -f max ) = 0 (C.5)

  Fig. C.1. The linear regression for obtaining the relationship of (C.2) has been done (shown in Fig. C.2), which has resulted in constant parameters for regulating the maximum thrust parameter according to the battery level on all the quadrotors given in Table C.1.

Figure C. 1 -Figure C. 2 -

 12 Figure C.1 -Evolution of the estimated maximum thrust and the battery voltage level of a quadrotor during a hovering flight over 120 s.

1 McFigure D. 1 -

 11 Figure D.1 -Calibration of the camera pose relative to the multirotor's frame, i.e. bi T Ci , using ChArUco pose estimation algorithm and MOCAP data.

Titre:

  Commande décentralisée et estimation d'un robot parallèle volant en interaction avec l'environnement Mots clés : Systèmes Aériens: Mécanique et Contrôle; Robot Parallèle; Système Multi-Robots; Estimation basée sur la Vision; Commande Décentralisée; Manipulation Aérienne. Résumé : La manipulation aérienne est un nouveau domaine où les drones multirotors sont équipés d'effecteurs pour la saisie, le transport et la manipulation des objets. Afin d'améliorer la capacité de charge et la manipulabilité dans l'espace 3D, un robot parallèle volant (FPR) a été proposé, dans lequel un certain nombre de drones sont utilisés pour soutenir collaborativement une architecture parallèle et passive. Dans cette thèse, les méthodes d'estimation et de contrôle considérant l'interaction avec l'environnement sont adressées et appliquées à un FPR spécifique composé d'une plateforme mobile et des jambes rigides attachées à des quadrirotors qui actionnent le système. La deuxième contribution de cette thèse est la proposition de stratégies décentralisées basées sur des mesures embarquées et intrinsèques des drones. Les expériences montrent l'efficacité des méthodes proposées pour la régulation de la configuration du robot, la réalisation des tâches de positionnement précis par téléopération et des interactions basées sur le contact. En outre, une analyse détaillée sur les torseurs admissibles du FPR est présentée, qui permet de calculer l'espace de torseur admissible (AWS) de la plateforme et de déterminer les configurations optimales des jambes maximisant la faisabilité de torseurs du robot en fonction des exigences spécifiques de la tâche. Title : Decentralized control and estimation of a flying parallel robot interacting with the environment Keywords : Aerial Systems: Mechanics and Control; Parallel Robot; Multi-Robot Systems; Visionbased Estimation; Decentralized Control; Aerial Manipulation.

Computation of Inertia and Coriolis Matrix based on Spatial Vectors

	F2,p = ĨC p Sp
	F3,p = ( BC p ) T	Sp
	C 1:6,1:6 = ST p F1,p ; M 1:6,1:6 = ST p F2,p
	return M, C

end F1,p = ĨC p Ṡp + BC p Sp Algorithm.

  2 , θ 3 ] T

	= [0.815, 0.906, 0.127, 0.795, 0.550, 0.085, 0.242, 0.547, 0.958, 0.965]

T ν = [v p,x , v p,y , v p,z , ω p,x , ω p,y , ω p,z , θ1 , θ2 , θ3 ] T = [0

.158, 0.971, 0.957, 0.485, 0.800, 0.142, 0.422, 0.916, 0

.792] T

(2.94)

  1 -Numerical validation of the modelling algorithms based on Khalil's method and Featherstone's Spatial Vector notation. Note that RN E refers to the recursive Newton-Euler algorithm, Composite stands for the Composite-Rigid-Body algorithm and Coriolis for the Coriolis Matrix Computation algorithm.

Table 3 .

 3 2 -Root-mean-square error (RMSE) of the trajectory tracking during a hovering flight in free space. Note that RMSE for p p refers to the platform positioning error, ϕ p and ϑ p represent the roll and pitch Euler angles of the platform, and RMSE for θ l is the mean value of RMSE of three leg angles.

	Impedance	6.8	4.6	3.0	5.0
	PD	12.5	5.1	6.6	3.9
	PID	7.1	3.3	2.9	3.7

Controller p p [cm] ϕ p [°] ϑ p [°] θ l [°]

Table 3 .

 3 3 -Root-mean-square error (RMSE) of the trajectory tracking and the z-axis external force estimation during a hovering flight with 200 g payload using different observers. Note that RMSE for p p,xy refers to the platform positioning error on its x and y axes, and RMSE for fpz,e is computed relative to the ground truth.

	e [N]

Table 3 .

 3 .6.

	Impedance Gains M d p	B d p	K d p	M d o	B d o	K d o
	Originally tuned	5 10	25	8 25	25
	High mass	8 25 12.65 12 25 30.62
	Low mass	3 25 7.74	5 25 19.77
	High stiffness	5 35 11.83 8 50 35.36
	Low stiffness	5 20 8.94	8 15 19.36
	Originally tuned		12.3	3.4	11.2	5.0
	High mass		14.1	5.1	10.2	5.4
	Low mass		12.4	3.5	16.3	5.4
	High stiffness		9.4	2.1	5.6		4.6
	Low stiffness		15.8	6.1	19.2	5.8
	Table 3.6 -Root-mean-square errors (RMSE) of the trajectory tracking during the hover-
	ing flight in presence of external wind perturbations corresponding to different impedance
	gains. Refer to Table 3.2 for the meaning of each state.

5 -Impedance gains chosen in Experiment III. Note that the subscripts p and o represent respectively the platform's position and orientation states.

Impedance Gains p p [cm] ϕ p [°] ϑ p [°] θ l [°]

Table 3

 3

	Case 1	6.9	5.5	5.3	5.0	1.7
	Task 1 -Case 2	7.9	6.5	6.7	4.3	1.5
	Task 2	7.4	3.4	3.1	3.6	1.3
	Task 3	10.3	2.7	6.1	4.7	1.0

.7 -RMSE of the tracking of desired trajectories and contact force in Experiment IV. Note that RMSE for f d c refers to the tracking error of the desired contact force, and the rest of the states are defined in

Table 3.2.

Table 4 .

 4 1 -Numerical values for the PID control gains. The control gains are decoupled along/around each axis of the robot state. p p,. , o p,. stand for position and orientation axes of the platform decoupled between x or y and z axes. θ represents the leg angles on which the gains are the same. (*) indicates that the corresponding term is not available in the decentralized controller. tracking a trajectory with similar ranges of values and continuous accelerations are summarised in Table4.2.

	xy	9	6	25	*	9	*
	p p,z	16	8	50	*	8	*
	o p,xy	9	6	1	9	6	1
	o p,z	9	6	0.5	*	6	*
	θ	9	6	10	9	6	0.5

Table 4 .

 4 3 -Results on the root-mean-square error (RMSE) of the robot configuration during the precise positioning of the platform, comparing the configuration tracking error as in Table4.2. The last row is the number of successful positioning tasks accomplished in the experiment.

	Robot State C-controller NC-controller
	ϕ p [°]	2.4	2.1
	ϑ p [°]	2.1	1.8
	mean θ l [°]	1.8	1.6
	Success rate	5/7	6/7

Table 4 .

 4 .5. 5 -Estimation and control gains applied in the experiments. *The stiffness coefficient for the platform position and yaw is meaningless in the decentralized controller.

	Robot State	K O M d B d K d
	Platform position	2	5 10	*
	Platform orientation 1	8 25 25*
	Leg angles	1	5 20 15

Table 4 .

 4 7 -Root-mean-square error (RMSE) on the tracking of the platform orientation and leg angles. Note that mean θ l indicates the mean value of the RMSE of three leg angles. The results on Scenario I are computed by the average values of 6 performed positioning tasks.

	Robot State Scenario I Scenario II
	ϕ p [°]	5.4	4.6
	ϑ p [°]	5.9	5.9
	mean θ l [°]	5.4	5.3
	UAV Scenario I Scenario II
	1	93.1%	95.3%
	2	88.3%	89.4%
	3	88.7%	91.2%
	Table 4.8 -Successful detection rates for all the UAVs in two experimenting scenarios.

  segment connecting any pair of points of S lies entirely in S, i.e. if for any s 1 , s 2 ∈ S and any α with 0

Table 5 .

 5 1 -Information of the discretised ATS by different number of vertices (Vrepresentation) or half-spaces (H-representation) and their precisions with respect to the theoretical ATS.

  sin ψ 1 2 cos ϕ 2 sin ψ 2 2 cos ψ 1 2 sin ϕ 2 cos ψ 2 2 + sin ψ 1 2 sin ϕ 2 sin ψ 2

		
	2 2 sin ψ 2 2 sin ϕ 2 -cos ψ 1 2 cos ψ 2 2 sin ϕ sin ψ 1 2 sin ψ 1 2 cos ϕ 2 cos ψ 2 2 + cos ψ 1 2 cos ϕ 2 2 sin ψ 2	      	(A.71)

Table D .

 D 1 -Constant parameters (translation vector and ZXZ Euler angles) of the fixed transformations for the camera pose and the ArUco marker pose.

	Transformation		p [cm]			η zxz [rad]
		x	y	z	ψ 1	ϕ	ψ 2
	Camera Pose	8.45 -9.35 0.79	1.561 0.708 0.829
	Marker Pose	-0.83 0.26 -2.47 -0.716 3.136 0.837

A twist is a 6-dimensional vector, representing the linear and angular velocity of a rigid body.

1.2. Design of Flying Parallel Robots

Pose-dependent means that the matrix is dependent on the robot pose, i.e. W(q) with q usually including the end-effector pose and the robot internal configurations.

A space is called convex if any points on the segment between two arbitrary points within the space still belong to the space.

Note that world frame or world coordinate system is also referred as the global frame or inertial reference frame in the manuscript.

APPENDIX

Appendix A: Orientation and Rotational Kinematics

In robotics, a variety of mathematical constructs are adopted to represent the orientation (or attitude) of a rigid body in 3-dimensional space. While different ways of parametrising an orientation have their respective advantages and disadvantages, they are equivalent and should have unified conversions between each other. In addition, the rotational kinematics of a rigid body is of great importance to depict its angular motion, which can be equivalently described using different mathematical representations.

This appendix has thus objective to provide a thorough and unified reference on the definition of orientation and rotational kinematics adopted in this manuscript.

A.1 Representations of Orientation

The main mathematical notations to represent the orientation of a rigid body in 3dimensional space are: 1) the rotation matrix, 2) a triple of Euler angles, 3) the unit quaternion, and 4) the axis-angle representation. In the following part, a detailed definition of different notations as well as their relations and useful conversions will be given. For the mathematical derivations in this section, one may refer to [START_REF] Diebel | Representing attitude: Euler angles, unit quaternions, and rotation vectors[END_REF][START_REF] Slabaugh | Admittance Force-Based UAV-Wall Stabilization and Press Exertion for Documentation and Inspection of Historical Buildings[END_REF][START_REF] Flores | Euler Angles, Bryant Angles and Euler Parameters[END_REF][START_REF] Schwab | Quaternions, Finite Rotation and Euler Parameters[END_REF].

Rotation Matrix

A rotation matrix is a matrix for rotating a vector while preserving its length by the multiplication with the vector. It is belonging to the special orthogonal group, denoted by SO [START_REF] Mellinger | Minimum Snap Trajectory Generation and Control for Quadrotors[END_REF]. If a matrix R ∈ SO [START_REF] Mellinger | Minimum Snap Trajectory Generation and Control for Quadrotors[END_REF], then it possesses the following properties:

Rotation matrices for which the determinant det R = 1 are called proper and those for which det R = -1 are called improper. Improper rotations usually consist of a rotation followed by an inversion operation, known as rotoinversions and are not representing robot-body transformation [START_REF] Diebel | Representing attitude: Euler angles, unit quaternions, and rotation vectors[END_REF]. Therefore, the determinant of the rotation matrix for representing the orientation of a rigid body is constrained to be 1 (proper rotation

(r 13 + r 31 )/(1 -r 11 -r 22 + r 33 )

(1 -r 11 -r 22 + r 33 )

Depending on the values of R, some of these functions will produce complex numbers.

To avoid this, the following composite function can be defined, in which the best of these four conversions is selected depending on the parameters of R, i.e. q(R) :

From the definition of unit quaternion by a rotation axis with the rotation angle in (A.56), the unit quaternions q j (α) : R → H for j ∈ {x, y, z} corresponding to the unit coordinate rotation respectively about x, y and z axis can be obtained as follows

Based on these quaternions for unit coordinate rotations, the unit quaternions associated with ZYX and ZXZ Euler angles are respectively

where the inverse of the mapping matrix is written by

The second-order kinematics related to the Euler angles in ZYX convention can be additionally derived from (A.76), which holds

where A ωA is the angular acceleration of the rigid body expressed in its body-fixed frame F A , ηA and ηA represent the rates and second-order rates of the Euler angles, and Ḋ is the time derivative of D written as

Derivative of Unit Quaternion

Consider a unit quaternion of a rigid body written by q A , its derivative qA is related to the angular velocity A ω A expressed in the body-fixed frame, which can be written by the following relationship

and with the inverse mapping

Note that the relationship with respect to the angular velocity expressed in the world frame can also be derived, for which the reader may refer to [START_REF] Schwab | Quaternions, Finite Rotation and Euler Parameters[END_REF].

The angular acceleration of a rigid body is found by differentiation of the expression in (A.83), resulting in

Appendix B: Prototype and Experimental Implementation

The prototype of the Flying Parallel Robot (FPR) studied within this thesis is composed of a triangle-form platform and three legs attached with quadrotors, as shown in In terms of low-level quadrotor control, an open-source autopilot is chosen, which is based on PX4 (software) and Pixhawk 4 Mini/Pixhawk 5 (hardware) [START_REF] Dronecode | Pixhawk 4 Mini, PX4 User Guide[END_REF]. The flight control board can achieve different levels of quadrotor control, such as position, velocity, attitude and angular rate, with onboard IMU sensor and EKF filtering technique sufficiently estimating the state of the quadrotor, such as its attitude and linear velocity. A custom-built PX4 firmware is installed on the Pixhawk performing the attitude control such as the one presented in Section 3.3. setpoints and robustness to the disturbances. The location of the spherical joint is given by the offset d and the yaw constant β in Table B.1, which is away from the CoM of the quadrotor and considered as a disturbance on the onboard attitude controller. On each quadrotor, a Raspberry Pi 4B is mounted working as a companion computer to handle the communication with the Pixhawk either via serial ports by microRTPS protocol [eProsima, 2022] or through Ethernet by UDP protocol. It is remarked that the Ethernet connection seemed to be more robust in terms of bandwidth and stability compared to serial communication channels. The communication between the ground computer and the companion computers is handled by ROS2 Galactic, performed through a 5-GHz Wifi network.

Appendix C: Quadrotor Thrust Regulation

The onboard flight control of the quadrotor UAV used in the FPR prototype (detailed in Appendix B) is achieved by open-source hardware and software (Pixhawk and PX4). When received the thrust magnitude setpoint (i.e. f d t ) from a high-level controller, the onboard companion computer (i.e. Raspberry Pi) computes a scalar value as a percentage of maximum thrust and sends to the Pixhawk, i.e.

with u f a value between [0, 1] and f max a parameter characterising the maximum thrust magnitude in the Pixhawk.

The desired thrust is then mapped by Electronic Speed Control (ESC) units to the motor speeds propelling the rotors. The regulation of motor speeds by the ESCs is however in an open loop without any feedback, which makes the actual thrust produced by a quadrotor being deviated from its desired values. When the battery is fully charged, the actual thrust produced by the quadrotor is sufficiently close to the desired value, while the mismatch between the desired and actual thrusts becomes non-negligible with low battery levels. This problem has been particularly recognised when the flight lasts a relatively long duration, during which the tracking of z position of a UAV is gradually degenerated due to drops in the battery level.

However, it has been noticed that the maximum thrust that the quadrotor can produce decreases linearly when the battery level drops. Therefore, an online regulation of the thrust commands u f adapting the maximum thrust parameter f max according to the actual battery level can be done, which is given by a linear relationship as

with a and b two constants and V being the battery level in voltage.

To determine the linear relationship between the battery level and maximum thrust parameter in (C.2), a hovering flight of a single UAV has been done using a simple PDbased position controller as in [START_REF] Kamel | Dynamic modeling, simulation and PID controller of unmanned aerial vehicle UAV[END_REF]. Note that the integral gain of a classical PID controller is disabled to not compensate for the thrust changes due to the evolution of the battery level during the hovering flight. An acceleration-based observer such as the one investigated [START_REF] Tomić | External Wrench Estimation, Collision Detection, and Reflex Reaction for Flying Robots[END_REF] is additionally implemented to estimate the evolution of the maximum thrust f max during the flight, which can be summarised as follows:

Proceedings of the 2013 IEEE International Conference on Robotics and Automation (ICRA), IEEE. Staub, N., D. Bicego, Q. Sable, V. Arellano, S. Mishra, and A. Franchi (2018)