J ' Aimerais Remercier Particulièrement

Arda Yiğit

Jean Dussine

Mandela Ouafo

Ethan Niddam

Florian Pouthier

Jean Soudier

Devesh Adlakha

Jérémy Begey

Agradecer Al Maestro

Alejandro Fuentes

Optimal Design and Visual Servoing of a Suspended Aerial Manipulator

Keywords: design optimization, feedback linearization, wrench feasible workspace, interval analysis, visual servoing, uav, kalman filter, teleoperation, tiling Résumé conception optimale, commande à contre-réaction linéarisante, espace des torseurs faisables, analyse par intervalles, asservissement visuel, uav, filtre de kalman, téléopération, mosaïques

An Aerial Manipulator with Elastic Suspension (AMES) is a novel type of robot developed in our team to have a simple, dexterous, low-cost, and accurate robot with a large workspace. Previous work focused on the control of AMES robots. The aim of this thesis is to develop ways of simplifying an AMES with the minimum of compromises. A mechanical optimization algorithm is proposed. The optimization results are used to build a new prototype, experimental results highlight the improvements with respect to a previous sub-optimal prototype. Furthermore, the minimal set of sensors required to control an AMES is explored through two applications. First, a method for autonomous tiling relying solely on image-based visual servoing is proposed and validated in simulation. Second, the teleoperation of an AMES using a handheld camera equipped with an IMU is studied. The proposed teleoperation framework is validated experimentally.

 [START_REF] Yiğit | Preliminary Study of an Aerial Manipulator with Elastic Suspension[END_REF]. . . 1.9 Concept of the SAM robot [START_REF] Sarkisov | Development of SAM: Cable-Suspended Aerial Manipulator[END_REF]. . . . . . . . . . . . . . . . . . . . 1.10 PBVS and IBVS control block diagrams comparison (inspired from [START_REF] Gangloff | Asservissements Visuels Rapides d'un Robot à Six Degrés de Liberté[END_REF]). The symbol χ is used to represent a pose vector which contains a position and an orientation parametrization. . . . . . 1.11 Characterization of a set of pixels P by using image moments. . . 1.12 Comparison between feature based and direct approaches. The image is taken from [START_REF] Dame | Mutual Information-Based Visual Servoing[END_REF]. In feature based approaches the control output is computed from features extracted from the image. These are illustrated by the blue and green line on the left part of the figure. In direct photo-metric visual servoing all the pixel intensities of the image are used for the visual servoing. . . . . . 1.13 Illustration of the working principle of virtual spring method for controlling UAVs. Both images are taken from [76]. . . . . . . . . 1.14 Virtual camera working principle. The image is taken from [START_REF] Zhang | l'opérateur tient à la main des marqueurs visuels. Ces avantages seront présentés plus en détail dans les chapitres suivants, tout en soulignant les défis techniques qui permettent d'intégrer dans une seule boucle de commande la position de l'agent primaire (la caméra tenue à la main) et la commande de l'agent secondaire (le MASE)[END_REF]. [6], (b) mobile robot equipped with a robotic arm [START_REF] Liu | Robotic Floor-Tiling Platform System Design[END_REF], (c) tiling using a robotic arm [START_REF] King | Robotic Tile Placement: Tools, Techniques and Feasibility[END_REF], (d) humanoid tiling robot [START_REF] Hong | Towards On-Site Autonomous Robotic Floor Tiling of Mosaics[END_REF] . . . . . 89 5.11 Shifting of the reference keypoints using the learned horizontal homography H h , in order to reach the new deposit position . . . 90 5.12 AM equipped with onboard camera, IMU, and fixed gripper. . . 93 5.13 Simulated virtual world in Gazebo with the table, tiles and camera. controller, state estimation, and disturbance observer. . . . . . . 6.10 Lever-arm problem illustration: a small camera rotation generates an important translation. . . . . . . . . . . . . . . . . . . . . . . . 6.11 Low-pass filtering of the camera relative pose measurements. . . 6.12 Teleoperation using a virtual camera and IMU. The robot is controlled to keep a constant pose w.r.t. F v . The blue color is used to designate the real camera frame, green for the virtual camera frame, and red for the body frame. . . . . . . . . . . . . . . . . . A.1 Exemple de manipulateur aérien dessinant sur un tableau blanc [START_REF] Bodie | Active Interaction Force Control for Contact-Based Inspection With a Fully Actuated Aerial Vehicle[END_REF].171 A.2 Évolution des différents types de MA [START_REF] Ollero | Past, Present, and Future of Aerial Robotic Manipulators[END_REF]

Background and Motivations

Robotics applications were traditionally carried out in controlled environments like laboratories and factories. In that context, the vast majority of robots were robotic arms with complex and expensive mechanical parts. Only later mobile robots began to develop, first with rovers, then with drones. An important advantage of mobile robots is that they have, in theory, an infinite workspace. Just like with cars, their workspace is limited by the amount of energy they can carry. However, a major disadvantage of mobile robots is that their dexterous capabilities are limited. To improve their dexterity, robotic arms are mounted on mobile robots. Both Aerial Manipulators (AMs) and Cable-Driven Parallel Robots (CDPRs) are low-cost robots that can cover large workspaces. They share the common goal of combining the large workspaces of mobile robots with the dexterity of robotic arms. The characteristics and limits of these robots are presented below.

Aerial Manipulators and Cable-Driven-Parallel Robots

On the one hand, Aerial Manipulators (AMs) are Unnmanned Aerial Vehicles (UAVs) designed to perform manipulation tasks such as assembly or contact inspection. An example of an Aerial Manipulator (AM) drawing on a whiteboard is available in Figure 1.1. AMs are particularly suited to work in regions that are hard, costly, or very dangerous to access for humans [START_REF] Orsag | Aerial Manipulation[END_REF][START_REF] Ollero | Past, Present, and Future of Aerial Robotic Manipulators[END_REF]. There is a wide range of AMs types, each with its own mechanical architecture. The recent review paper, presented in [START_REF] Ollero | Past, Present, and Future of Aerial Robotic Manipulators[END_REF], containing a total of 182 citations, is an effort to analyze the evolution and current work done in aerial robotics in the past 10 years. The Figure 1.2 is taken from their work, and illustrates the different types of AM available in the literature from 2010. From Figure 1.2, we distinguish two main configurations of AM. The first one corresponds to the case where the AM has a simple effector like a gripper. These types of AM are called flying hands. The second type of configuration corresponds to the situation where the aerial carrier is equipped with one or more serial or parallel robots.

On the other hand, Cable-Driven Parallel Robots (CDPRs) consist of a mobile platform connected in parallel by cables to a base frame as illustrated in Figure 1.3. By changing the length of the cables, the pose (position and orientation) of the mobile platform is controlled. The length of the cables is controlled by an actuation system often called winch [START_REF] Pott | Cable-Driven Parallel Robots: Theory and Application[END_REF]. A well-known commercial application of CDPRs is the Skycam robot used to film sports events; a figure of a Skycam prototype is available in Figure 1.4.

Both AMs and CDPRs have inherent limitations. Regarding AMs, their main limitation is their flying autonomy limited to a maximum of 20 -30 minutes which indirectly limits their workspace. By contrast, the workspace of CDPRs is limited by their complexity. Their workspace contain several singularities and situations where the cables can collide. Although these problems can be attenuated, to some extent, during the design phase.

Wrench Matrix Definition

Before addressing the state of the art, two important concepts of wrench and wrench matrix must be defined. These concepts play an important role on both the optimization of UAVs and CDPRs. The wrench is a vector composed of a force and a moment τ ∈ R 6 . The wrench matrix W t ∈ R 6×n , maps the control inputs of the system u ∈ R n , to the total wrench applied to the platform body:

W t • u = τ (1.1)
The control inputs of UAVs and CDPRs are respectively the thrust generated by propellers, and the cable tensions. For CDPRs, the wrench matrix depends on the cable directions, thereby on the platform pose. Whereas, the wrench matrix is constant for UAVs with fixed thrusters when expressed in a coordinate frame that is rigidly attached to the aerial vehicle.

The characteristics of the wrench matrix are directly related to the nature and performance of the robot as it is presented below.

Optimization of fully-actuated UAVs

Since the AMES is meant to be a dexterous robot, only fully-actuated and omnidirectional structures are considered. Under-actuated structures are by nature not as dexterous as fully-actuated ones. For example, a decoupled 6-Degree of Freedom (DoF) actuation allows for a better disturbance rejection with important wind disturbances even if the task does not require all six degrees of freedom.

The classification of fully-actuated UAVs is done based on the properties of their wrench matrix [START_REF] Ramy | Fully Actuated Multirotor UAVs: A Literature Review[END_REF][START_REF] Ollero | Past, Present, and Future of Aerial Robotic Manipulators[END_REF][START_REF] Hamandi | Survey on Aerial Multirotor Design: A Taxonomy Based on Input Allocation[END_REF]. When the rank of the wrench matrix is equal to six, they are labeled as fully actuated. In addition, if the UAV can compensate for the gravity force for any orientation of the UAV, it is considered omnidirectional.

There are two main types of fully actuated UAVs: fixed tilt, and variable-tilt [START_REF] Ramy | Fully Actuated Multirotor UAVs: A Literature Review[END_REF]. Two examples of fixed and variable tilt UAVs can be seen in Figure 1.6. In fixed-tilt UAV, the actuators are rigidly attached to the frame. They have a fixed position and orientation. By contrast, in variable-tilt UAV, the thrusters are actuated by a motor so the direction of the thrust can be controlled. The simpler mechanical structure of fixed-tilt UAVs simplify their control. Indeed, their wrench matrix is constant, thus they do not suffer from potential singularities. Therefore, fixed-tilted structures will be preferred for the design of an AMES prototype.

(a) Fixed-tilt UAV [START_REF] Dyer | Energy Optimal Control Allocation in a Redundantly Actuated Omnidirectional UAV[END_REF] (b) Variable tilt AM [START_REF] Bodie | An Omnidirectional Aerial Manipulation Platform for Contact-Based Inspection[END_REF] Figure 1.6 -Example of fixed and variable tilt aerial vehicles.

As presented in the literature review [START_REF] Ramy | Fully Actuated Multirotor UAVs: A Literature Review[END_REF], most design strategies seek to maximize the set of wrenches the platform can generate in any direction. Another common sought characteristic, specially for omnidirectional designs, is its rotational invariance [START_REF] Brescianini | An Omni-Directional Multirotor Vehicle[END_REF][START_REF] Park | ODAR: Aerial Manipulation Platform Enabling Omnidirectional Wrench Generation[END_REF]. Indeed, for an omnidirectional UAV, it is an advantage if the aerial vehicle can hover in any orientation.

and [START_REF] Park | ODAR: Aerial Manipulation Platform Enabling Omnidirectional Wrench Generation[END_REF] propose allocation techniques to minimize thrust direction inversion.

In order to cope with the ESC induced singularity, our previous prototype used propulsion units made of two coaxial mounted rotors as can be seen in Figure 1.8. For a given desired force, only one motor of the pair is used while the other stays idle. With this method, the direction of the rotational speed of each motor remains constant, thus avoiding the ESC singularity. Another approach to bypass this technical limitation is to design omnidirectional aerial vehicles using only unidirectional thrusters as done by Tognon and Franchi in [START_REF] Tognon | Omnidirectional Aerial Vehicles With Unidirectional Thrusters: Theory, Optimal Design, and Control[END_REF]. Their design strategy minimizes the range of required control inputs, given a set of desired wrenches, by minimizing the condition number of the wrench matrix. Omnidirectional UAVs using unidirectional thrusters are called omniplus. Omniplus prototypes built using the optimization strategy presented in [START_REF] Tognon | Omnidirectional Aerial Vehicles With Unidirectional Thrusters: Theory, Optimal Design, and Control[END_REF] can be found in [START_REF] Sarkisov | Development of SAM: Cable-Suspended Aerial Manipulator[END_REF][START_REF] Hamandi | Omni-Plus-Seven (O7+): An Omnidirectional Aerial Prototype with a Minimal Number of Unidirectional Thrusters[END_REF].

The Suspended Aerial Manipulator (SAM) prototype developed in [START_REF] Sarkisov | Development of SAM: Cable-Suspended Aerial Manipulator[END_REF] is an omniplus aerial manipulator. In contrast with the AMES, the SAM robot is suspended by a CDPR with three actuated rigid cables instead of a single passive spring. A picture of their prototype and their concept can be seen in Figure 1.9.

Conclusion

From the literature review, the main aspects to consider when addressing the structural optimization of an AMES are summarized below. By using unidirectional thrusters, technical limitations on the low-level control of the actuators are avoided. Omnidirectional aerial vehicles using only unidirectional thrusters are called omniplus. Omniplus aerial vehicles have a simpler mechanical structure, and their wrench matrix allows for a simple control allocation technique. Overall, omniplus aerial vehicles are well suited to the AM of an AMES.

The workspace of CDPRs is often a main concern during their design phase. Regarding the AMES, the workspace is an interesting criterion since it depends on the presence of the spring and on the saturations of the actuators.

Visual Servoing

Until now, all the implemented control laws carried with the AMES prototypes relied on a motion capture system. This constrains the AMES to indoor applications and controlled environments. Exploring the minimal set of sensors to efficiently control an AMES can increase its range of applications.

Unlike CDPRs with actuated cables, the AMES uses a passive elastic cable to suspend an AM. A common proprioceptive sensor found in UAVs are Inertial Measurement Units (IMUs). Indeed, all previous AMES prototypes have IMUs embedded. Depending on the number of sensors in the IMU, the full or partial orientation of the AMES can be estimated with respect to (w.r.t.) an inertial frame [START_REF] Mahony | Nonlinear Complementary Filters on the Special Orthogonal Group[END_REF][START_REF] Sebastian | Estimation of IMU and MARG Orientation Using a Gradient Descent Algorithm[END_REF].

To precisely control the position of the AMES, an exteroceptive sensor is needed, like a camera or a Ligth Detection and Ranging (LIDAR). A camera is more versatile than a LIDAR and is often embedded in UAVs [START_REF] Ollero | Past, Present, and Future of Aerial Robotic Manipulators[END_REF]. Besides, cameras and IMUs complement well each other; they are often found in navigation systems [START_REF] Huang | Visual-Inertial Navigation: A Concise Review[END_REF].

The well-established technique of visual servoing [START_REF] Chaumette | Visual Servo Control. I. Basic Approaches[END_REF] allows for controlling the pose of a robot using a camera as a position sensor. In this section, different methods of visual servoing are presented. A focus is made on visual servoing techniques developed for UAVs. Finally, relevant applications for this thesis using visual servoing are presented.

Basics of Visual Servoing

The main challenge in visual servoing is to establish a link between the task space and the image space. The task is usually defined in the Cartesian space corresponding to the 3D environment where the physical robot evolves. The image space is the discrete 2D camera sensor space, where all the camera measurements lie. The image space is the result of the perspective projection of the Cartesian space through the pin-hole camera model [21]. Two main different approaches of visual servoing exist: Position-Based Visual Servoing (PBVS) and Image-Based Visual Servoing (IBVS) [21,[START_REF] Chaumette | Visual Servo Control. I. Basic Approaches[END_REF]. PBVS first estimates the relative pose between one or multiple cameras from detected features in the image, then uses the pose estimate as the feedback of traditional control techniques in the Cartesian space. From the controller point of view, there is no information that the sensor used is a camera. 3D localization typically falls into this category. By contrast, IBVS maps directly the velocity of the features in the image space, to the camera velocity in the Cartesian space. No pose estimation algorithm is required in IBVS. The mapping between features and camera velocities is done through the intermediary of the interaction matrix. Usually, the interaction matrix is a first-order approximation of the relationship between camera motion and image-plane motion. A faster convergence is achieved in the control law when using a second-order approximation [21]. The control block diagrams of PBVS and IBVS are compared in Figure 1.10.

PBVS performs efficient straight-line camera motions in the Cartesian space, but may cause the image features to leave the camera Field of View (FoV) which can destabilize the system. By contrast, IBVS always keeps the features in the camera FoV but may result in trajectories that exceed the reach of the robot. It is particularly sensitive to rotations around the optical axis [21]. However, IBVS is more robust to camera calibration errors and pixel noise.

Finally, Malis showed in [START_REF] Malis | Improving Vision-Based Control Using Efficient Second-Order Minimization Techniques[END_REF] that visual servoing problems can be considered as least-square optimization problems. With this insight, in his paper, visual servoing methods are classified according to their corresponding minimization technique. The convergence rates of the control methods are compared, and two new control schemes with faster convergence rates are proposed.

Correspondence Free Visual Servoing

Traditional image-based visual servoing controllers rely on the detection and matching of the pixel positions of the image features between the measured and reference image. This step becomes difficult in non-controlled environments where no human-made markers are available. In this subsection, visual servoing techniques with no feature correspondence are presented. convenient for laboratory experiments, but impossible to reproduce in the field. In addition, motion capture systems tend to be expensive. By contrast, using a eye-in-hand configuration increases the navigation capabilities of the UAV which expands the range of possible applications to outdoors environments, like inspection and maintenance of hard-to-access locations [START_REF] Ollero | Past, Present, and Future of Aerial Robotic Manipulators[END_REF].

Due to the under-actuated nature of quadrotor UAVs, it is common to have a partitioned control architecture. In this scheme, a fast inner loop controls the orientation of the aerial vehicle using the IMU feeding an Attitude and Heading Reference System (AHRS), while an outer-loop controls the translation of the aerial vehicle using the camera measurements. The problem is that the point projections in the image space are heavily coupled with the rotational kinematics of the camera. So an important amount of research effort has been put into designing IBVS techniques that allow freely decoupling of the rotational and translational control. There are four main types of IBVS controllers for UAV available in the literature: (i) spherical moment based approaches, (ii) virtual spring methods, (iii) homography based methods, and (iv) virtual camera-based methods. These are described briefly in the following paragraphs. For a more in-depth review and comparison between these methods, the reader can refer to the thesis [START_REF] Xie | Dynamic Visual Servoing of Rotary Wing Unmanned Aerial Vehicles[END_REF].

The idea of using spherical image features for the control of under-actuated system was first introduced by Hamel and Mahony in [START_REF] Hamel | Visual Servoing of an Under-Actuated Dynamic Rigid-Body System: An Image-Based Approach[END_REF]. Their goal was to design an IBVS that leverages the full dynamics of a rigid-body under-actuated system. In their work they prove that spherical cameras are the only one to preserve passivity-like properties in the image space. This property facilitates the design of Lyapunov-based control algorithms [START_REF] Ortega | Passivity-Based Control of Euler-Lagrange Systems: Mechanical, Electrical and Electromechanical Applications[END_REF]. The proposed controller is a IBVS that uses robust back-stepping techniques. However, because of the illconditioning of the proposed interaction matrix, vertical motions are not feasible with their approach. Their method was augmented in [START_REF] Mebarki | Nonlinear Visual Control of Unmanned Aerial Vehicles in GPS-Denied Environments[END_REF] with a nonlinear observer and a nonlinear controller. The convergence of the observer and the stability of the controller are proved using Lyapunov techniques.

Virtual spring methods were introduced in [76]. The motivation behind this work is to propose a IBVS controller that uses perspective image moments instead of spherical image moments because they have more stable translational motions. The under-actuation of the quadrotor is solved by adding a term in the control law that plays the role of a torsion spring to limit the range of orientation the quadrotor can have during translational motions. This idea is illustrated in Figure 1.13a where the source of under-actuation problem is presented: in order to reduce the translational error, the image error first increases yielding a non-minimum phase behavior which can lead to instability. In Figure 1.13b, the virtual spring solution is illustrated where the spring is used to limit the IMU is a faster sensor that suffers from drift in its pose estimation. Thus, these sensors are perfect candidates for sensor fusion approaches as proposed in later chapters of this thesis.

Contributions

The thesis contributions are of two different natures. The first type of contribution is on the optimal design and assessment of AMES systems. An optimization algorithm is presented that maximizes the reachable workspace of an AMES while constraining the AM structure to be omniplus. In addition, various complementary criteria to evaluate the performance of an AMES are developed or adapted. These criteria can be used for future optimizations of AMES systems.

The second type of contribution is on the control of the AMES with a minimum set of sensors. Given a minimal set of sensors, two applications are studied.

The first application is automated tiling. Tiling requires precision over a large workspace, so an AMES is an appropriate candidate for this task. An autonomous tiling control algorithm is implemented. It uses IBVS-based control in a constantly changing environment, which differs from most IBVS tasks that are designed for non-changing environments.

The second application is the teleoperation of an AMES using a handheld camera coupled with an IMU. This unusual configuration has many advantages over the more common one where the camera is mounted on the robot end effector and telemanipulated with a target-tracking algorithm -the target being held by the operator. These advantages are detailed in later chapters in the manuscript, as well as the technical challenges to merge in one control loop the position acquisition of the primary (master) device and the control of the secondary (slave) robot.

Structure of the Dissertation

The rest of the manuscript is divided into six chapters. In Chapter 2, after introducing the main mathematical notations, tools (Section 2.1), and relevant results (Section 2.2), the dynamic model of a generic AMES with n ≥ 7 unidirectional thrusters is derived (Section 2.3-2.4). Then, the dynamic model is used in Section 2.5 to formulate a feedback linearization control law for trajectory tracking. The stability of the controller is proved using Lyapunov techniques. The overall goal of Chapter 2 is to set the main theoretical tools and results that are used throughout the thesis.

Chapter 3 presents the optimal design strategy of an AMES along with different tools and methods developed to characterize the performance of an AMES design. The chapter starts with Section 3.1 by recalling the main results and definitions from the design theory of omniplus aerial vehicles, in particular the notions of optimal and balanced omniplus designs. Section 3.2 presents an optimization algorithm to select the thrusters orientations that maximize the reachable workspace of an AMES. Then, a preliminary study to choose the optimal position of the thrusters is presented in Section 3.3. Finally, Section 3.4 defines the Wrench Feasible Workspace (WFW) of an AMES and presents an algorithm for its numerical computation using interval analysis.

The results from the optimization carried out in Chapter 3 are used to build a new AMES prototype in Chapter 4. First, the experimental platform is presented in detail in Section 4.1. Then, the controller presented in Chapter 2, is implemented on the new AMES prototype to characterize its dynamic performance, and some limits of its reachable workspace, thus validating the optimization algorithm presented in the previous chapter.

The following two chapters, Chapter 5 and Chapter 6 are dealing with the visual servoing of the AMES. Each chapter explores a novel application where only a single camera is used to control the position of the AMES. Thus, indirectly exploring the minimal set of sensors required to control an AMES.

Chapter 5 presents a method for tiling using solely IBVS for the robot navigation between the pick and place positions. After presenting related work and the method overview, the chapter presents the assumptions, and the necessary initialization steps of the tiling method in Section 5.2. Then, the navigation strategy to move the robot between the pick and place positions using recorded images is presented in Section 5.3. Next, the IBVS controller using image moments used for the tiling is detailed in Section 5.4. The tiling method is validated in simulation in Section 5.5.

Chapter 6 is dealing with the teleoperation of an AMES using a handheld camera equipped with an IMU. The model presented in Chapter 2 is extended to express the AMES equation of motions with respect to a moving camera frame in Section 6.2. The Extended Kalman Filter (EKF) used to fuse the visual and inertial measurements, along with the disturbance observer, are presented in Section 6.3. A feedback linearization control law is derived in Section 6.4 that takes into account the handheld device dynamics. In Section 6.5 a virtual camera and IMU concept is presented to filter out the operator hand tremors without compromising the bandwidth of the relative pose control loop. All the elements of the teleoperation framework are validated experimentally in Section 6.6.

The conclusion of the thesis is presented in Chapter 7, where the main results and findings are summarized. Furthermore, the limits to the presented work are presented along with future perspectives.

Chapter 2

Model and Control

Outline of the current chapter

Summary 34

In this chapter, the dynamic model of a generic AMES with n ≥ 7 unidirectional thrusters is presented. As explained in [START_REF] Tognon | Omnidirectional Aerial Vehicles With Unidirectional Thrusters: Theory, Optimal Design, and Control[END_REF], a minimum number of seven thrusters is needed in order to have an omnidirectional aerial vehicle. The dynamic model is used to derive a feedback linearization controller. The goal of this chapter is to establish the main theoretical results that are used throughout the manuscript.

Notations

The following list summarizes the different notations and conventions used throughout the manuscript:

• Vectors and matrices are represented by bold lowercase and bold uppercase letters respectively. An upper-script is used to indicate the coordinate frame the vector is projected in, for example a v corresponds to the projection of the vector v in the coordinate frame F a . When describing a vector from geometrical points, an arrow is used above the letters to describe the vector, for example, the vector from point A to point B is noted --→ AB .

• Let v ∈ R n be a vector. Vector and matrix inequalities, i.e., v > 0, must be understood element-wise. The expression v > 0 reads as: all the elements of the vector v are positive.

• The cross product matrix is noted

[•] × such that c = a ∧ b = [a] × • b.
• The identity matrix of dimension n ∈ N is noted I n ∈ R n×n . Matrices containing only i rows and j columns of zeros are noted 0 i,j .

• The functions sin(θ) and cos(θ) are abbreviated as s θ and c θ .

Let us consider two coordinate frames F a and F b verifying the right-hand rule and whose origins are O a and O b respectively. The following list summarizes the different notations involving operations between these frames:

• a R b represents the rotation matrix from F a to F b such that a v = a R b • b v. • a t b = a -----→
O a O b represents the vector from the origin of F a to the origin of F b expressed in F a .

• Homogeneous coordinate vectors are noted with a tilde: a pT = a p T 1 .

• a T b = a R b a t b 0 1,3 1
represents the homogeneous transformation matrix from

F a to F b such that a ṽ = a T b • b ṽ
• The angular velocity vector of F b w.r.t. F a is noted: ω b/a . The direction of ω b/a corresponds to the instantaneous axis of rotation and its norm is the rate of rotation around that axis.

• The operator • designates the Euclidean second norm unless specified otherwise

: v = √ v T • v.
• Let v be a vector, its time derivative w.r.t. a frame F a is noted d F a v dt .

Preliminaries

Let F a and F b be two coordinate frames, v ∈ R 3 a vector, and ω b/a the rotational speed of F b w.r.t. F a . The time derivative of v in F a is related to the time derivative of v in F b by the following equation:

d F a v dt = d F b v dt + ω b/a ∧ v (2.1)
The orientation of F b w.r.t. a frame F a can be parameterized by three Cardanian angles "roll, pitch and yaw" using the ZYX convention [21]:

η b/a = θ r , θ p , θ y . The rotation matrix a R b is related to η b/a by [84, Section 7.1.1, p143]: a R b = R z (θ y ) • R y (θ p ) • R x (θ r ) (2.2) a R b =           c θ p

c θ y s θ r s θ p c θ y -c θ r s θ y s θ r s θ y + c θ r s θ p c θ y c θ p s θ y c θ r c θ y + s θ r s θ p s θ y c θ r s θ p s θ y -s θ r c θ y -s θ p s θ r c θ p c θ r c θ p

          (2.
3)

The link between ω b/a and the time derivative of a R b is the following:

[ a ω b/a ] × = a Ṙb • a R T b (2.4)
From (2.4) we can obtain the expression of the analytical Jacobian a S(η b/a ) that links the time derivative of η b/a to the angular velocity ω b/a ( see [START_REF] Siciliano | Advanced Textbooks in Control and Signal Processing[END_REF]Section 3.6] ):

a ω b/a = a S(η b/a ) • ηb/a (2.5) a ω b/a =           c θ p c θ y -s θ y 0 c θ p s θ y c θ y 0 -s θ p 0 1           a S(η b/a ) •             θr θp θy             (2.6)

System Parametrization

The coordinate frames and model parameters used for the model are shown in Figure 2.1. Let us consider an inertial coordinate frame of origin O:

F f = O, x f , y f , z f ,
c i = b.ω p i .|ω p i |.z p i (2.8)
where a is the thrust coefficient in [N rad -2 s 2 ], and b is the drag coefficient in [N m rad -2 s 2 ]. The parameters a and b depend on the number of blades in the propeller, their geometry and the air density [START_REF] Orsag | Aerial Manipulation[END_REF]. For unidirectional thrusters, the above equations become:

f i = a.ω 2 p i .z p i (2.9) c i = b.ω 2 p i .z p i (2.10)
Let m i be the total moment exerted by the i-th propeller at the CoM of the aerial vehicle, we have:

m i = ---→ GP i ∧ f i + c i (2.11)
In the following, we assume that the thrusters are placed at least a propeller blade length away from the CoM. As a consequence, the propeller drag becomes negligible [START_REF] Brescianini | An Omni-Directional Multirotor Vehicle[END_REF]:

---→ GP i ∧ f i ≫ c i (2.12)
Therefore,

m i = ---→ GP i ∧ f i (2.13)
Let u ∈ R n be a column matrix containing the thrust generated by all the propellers: CHAPTER 2. Model and Control

u = a.           ω 2 1 . . . ω 2 n           (2.14)
The wrench or allocation matrix W t ∈ R 6×n maps the propeller individual thrusts u ∈ R n to the total wrench applied by the propellers to the platform at the CoM:

W t = • • • z p i • • • • • • ---→ GP i ∧ z p i • • • (2.15)
f u m u = W t • u (2.16)
where f u and m u correspond to the total force and moment generated by the propellers at the CoM. The spring mass is considered negligible. The force and moment of the spring at G are:

f s = k l 0 - ---→ OA ---→ OA ---→ OA
(2.17)

m s = ---→ GA z b ∧ f s (2.18)
where l 0 is the free length of the spring and k its stiffness (see Table 2.1).

Equations of Motion

The dynamics of the AMES can be described by the Newton-Euler's equations of motion for the case of a single body. [START_REF] Chaumette | Visual Servo Control. I. Basic Approaches[END_REF])

m b pb/f = -m b gz f + f u + f s (2.
I b ωb/f + ω b/f ∧ I b • ω b/f = m u + m s (2.20)

Control Law

For the sake of clarity, the under-script b/f of p b/f and η b/f is dropped in the most part of this section.

Error Definition

Let p ref and η ref be the reference position and orientation respectively. The pose error vector is defined as: (2.21) and the error time derivative is given by:

e = x ref -x = p ref -p η ref -η = e p e η
ė = ẋref -ẋ = ṗref - ṗ ηref -η = ėp ėη (2.22)
We recall that the quantity η is linked to the rotational velocity of the AMES by the analytical Jacobian (see (2.5)):

f ω b/f = f S(η b/f ) • ηb/f (2.23)
2.5.2 Feedback-Linearization Controller

Allocation Problem

In this subsection, a general Feedback-Linearization (FL) control law for an AMES is developed. The control output τ of the controller is defined to be the total wrench of the propellers at the CoM:

τ = b f u b m u (2.24)
From equation (2.16), we deduce the following relationship:

W t • u = τ (2.25)
Given a desired wrench τ, the allocation problem consists on distributing among the n propellers a thrust u i , so that (2.25) is verified. We recall that the AM of the AMES is supposed to be omnidirectional, thus we have the following property:

rank

(W t ) = 6 (2.26)
Hence, the elements of the solution set of (2.25) have the following form:

u = W -1 t • τ + u null (2.27)
where W -1 t is a generalized inverse of W t , usually the Moore-Penrose pseu-doinverse is used, and u null is a vector belonging to the nullspace of W t such that:

W t • u null = 0 (2.28)
The allocation problem is not developed further in this chapter. Different allocation techniques are presented in detail in Chapter 3.1.2.

Operational Space Dynamic Model

Before introducing the Feedback-Linearization (FL) controller, the equations of motion developed in section 2.4.2 are written in the matrix classical form of the Newton-Euler equations:

M (x) • ẍ + C(x, ẋ) • ẍ + G(x) = A • τ (2.29)
Or differently said, the dynamic model of the AMES is written in its operationalspace canonical form. Let us define the state of the system as:

x = f p b/f η b/f (2.30)
We recall that the equations of motion of an AMES are:

m b pb/f = -m b gz f + f u + f s (2.31
)

I b ωb/f + ω b/f ∧ I b • ω b/f = m u + m s (2.32)
Moreover, from (2.5) we have the following relationship:

b ω b/f = b S(η b/f ) • ηb/f (2.33)
We note that in (2.33) the rotational vector ω b/f is already projected into a coordinate frame, thus we can safely compute its time derivative and obtain:

b ωb/f = b Ṡ η b/f , ηb/f • ηb/f + b S(η b/f ) • ηb/f (2.34)
Considering the projection of (2.32) in the body frame F b , replacing the occurrences of b ω b/f and b ωb/f in (2.32) and (2.34) by ηb/f and ηb/f , gives us the following equation:

I b • b S(η b/f )• ηb/f + I b • b Ṡ η b/f , ηb/f + b S(η b/f ) • ηb/f ∧ I b • b S(η b/f ) • ηb/f = b m u + b m s (2.35)
Let us introduce the following symbols to alleviate the notations:

η = η b/f (2.36) p = f p b/f (2.37) S = b S(η b/f ) (2.38) Ṡ = b Ṡ(η b/f , ηb/f ) (2.39)
By left multiplying (2.35) by S T to have a symmetric inertia matrix, we obtain:

S T • I b • S • η + S T • I b • Ṡ + S • η ∧ I b • S • η = S T • b m u + b m s (2.40)
Finally grouping (2.31) and (2.40) in matrix form gives the following equation:

m b I 3 0 3,3 0 3,3 S T I b S p η + 0 3,3 0 3,3 0 3,3 S T I b Ṡ + S η × I b S ṗ η + -m b g f z f -f f s -S T • b m s = f R b 0 3,3 0 3,3 S T b f u b m u (2.41)
Let us define the following matrices:

M (x) = m b I 3 0 3,3 0 3,3 S T I b S (2.42) C(x, ẋ) = 0 3,3 0 3,3 0 3,3 S T I b Ṡ + S η × I b S (2.43) G(x) = -m b g f z f -f f s -S T • b m s (2.44) A(x) = f R b 0 3,3 0 3,3 S T (2.45)
Using the above matrices to write (2.41), we obtain the dynamic model in the operational-space in its canonical form:

M (x) • ẍ + C(x, ẋ) • ẋ + G(x) = A(x) • τ (2.46)
by:

f u = m b pref + K p p • e p + K d p • ėp + m b gz f -f s (2.49) m u = I b S • ηref + Ṡ • ηref + K p η • e η + K d η • ėη + ω b/f ∧ I b • ω b/f -m s (2.50)
This form is preferred in Chapter 6 to derive a new controller, mainly because it can be more easily linked to the equations of motion of the AMES (2. [START_REF] Chaumette | Visual Servo Control. I. Basic Approaches[END_REF]) and (2.20).

The FL controller presented above is used as a base for the control of the AMES prototype in the following chapters. As previously said, allocation techniques specific to the AMES prototype are presented in Chapter 3. In Chapter 6, other terms are added to the above FL controller to compensate for other physical phenomena.

Stability Analysis

The stability proof of a feedback linearization controller assuming a perfect model is a classical result that is briefly recalled below.

By substituting (2.47) in (2.46) and assuming that M = M , Ĉ = C, and Ĝ = G, we obtain the following error dynamics:

K p • e + K d • ė + ë = 0 (2.51)
Let us assume K p and K d to be symmetric positive definite matrices such that:

∀e 0, e T • K p • e > 0 (2.52) ∀e 0, e T • K d • e > 0 (2.53)
Let us consider the following Lyapunov candidate function V : R 6 -→ R, such that:

V (e) = 1 2 ėT • ė + 1 2 e T • K p • e (2.

54)

Or expressed differently,

V (e) = 1 2 ė 2 + 1 2 e T • K p • e (2.

55)

By definition, the function V verifies the following properties:

∀e 0, V (e) > 0 and V (0) = 0 (2.56) lim e →+∞ V (e) = +∞ (2.57)
Taking the time derivative of V and using (2.51), we obtain the following expression:

V ( ė) = -ėT • K d • ė (2.58)
We deduce that V verifies the following property:

∀ ė 0, V ( ė) < 0 and V (0) = 0 (2.59)
In summary, V is positive definite, and its time derivative is negative definite. As a consequence, the equilibrium point e = 0 is globally asymptotically stable:

∀ε > 0, e(0) < ε =⇒ e(t) → 0 as t → +∞ (2.60)
We note that the above stability proof assumes a perfect model, and that the propellers can immediately deliver an instant thrust, which in practice in not feasible. However, by using singular perturbation theory [START_REF] Khalil | Nonlinear Systems[END_REF], it is possible to prove the stability of the controller by taking into account the dynamics of the actuators which are usually significantly faster than the dynamics of the AMES. For an example of such a stability proof, the reader can refer to our work presented in [START_REF] Yiğit | Novel Omnidirectional Aerial Manipulator With Elastic Suspension: Dynamic Control and Experimental Performance Assessment[END_REF].

Summary

In this chapter, the mathematical notations, objects and theoretical results used throughout the manuscript are presented. The dynamic model of an AMES using n ≥ 7 unidirectional thruster is derived. The dynamic model is used to formulate a Feedback-Linearization (FL) controller. The stability of the controller is proved under the assumptions of a perfect model.

The presented FL controller is used in Chapter 4 to assess the performances of the new AMES prototype, and is used as a starting point for the development of a new control law presented in Chapter 6.

Chapter 3

Optimal Design

Outline of the current chapter

Summary 57

This chapter deals with the optimal design of an AMES using unidirectional thrusters. An algorithm is presented to find the thrusters orientations that maximize the reachable workspace of an AMES. A criterion to select the optimal position of the thrusters is developed. Finally, the wrench feasible workspace of an AMES is defined and an algorithm is presented for its numerical computation using interval analysis.

Omniplus Design

Omnidirectional aerial vehicles are well suited for manipulation tasks. Moreover, using unidirectional thrusters naturally solves the technological limitations of reversible thrusters presented in Chapter 1. An omniplus design is an omnidirectional aerial vehicle that uses only unidirectional thrusters. The concept and theory of omniplus designs were developed by Tognon and Franchi in [START_REF] Tognon | Omnidirectional Aerial Vehicles With Unidirectional Thrusters: Theory, Optimal Design, and Control[END_REF]. In this section, different elements from their work are presented, (i) the mathematical definition of an omniplus design, (ii) different possible allocation strategies for omniplus designs, (iii) the concepts of optimal and balanced omniplus designs.

Definitions

Definition 1 A multi-rotor design is a tuple D = n, a, z p 1 , . . . , z p n , ---→ GP 1 , . . . , ---→ GP n
containing the number of propellers n, their thrust coefficient a, their orientations and positions w.r.t. F b . We make the distinction between a vectoring part Z = z p 1 , . . . , z p n , and an etero-vectoring part

P e = n, a, ---→ GP 1 , . . . , ---→ GP n .
Definition 2 Given a scalar u ≥ 0, a multi-rotor design D is omniplus (O+) if one of the following conditions holds [START_REF] Tognon | Omnidirectional Aerial Vehicles With Unidirectional Thrusters: Theory, Optimal Design, and Control[END_REF]:

∀ τ ∈ R 6 ∃ u ≥ u • 1 n s.t. W t • u = τ (3.1) rank (W t ) = 6 and ∃ b > 0 s.t. W t • b = 0 (3.2)
where 1 n ∈ R n is the column vector containing only ones, τ is the total wrench exerted by the propellers, and u is the minimum force of the thrusters.

The minimal number of thrusters required to have an omniplus design is seven [START_REF] Tognon | Omnidirectional Aerial Vehicles With Unidirectional Thrusters: Theory, Optimal Design, and Control[END_REF]. A similar well-known result exists for CDPRs, where at least seven cables are needed to have a platform with six decoupled DoF.

Allocation Strategies

Given an omniplus design, and a desired wrench τ d ∈ R 6 , the allocation strategy must ensure a positive control output vector u ∈ R n that satisfies

W t • u = τ d .
A natural solution to the allocation problem is to consider the Moore-Penrose pseudo-inverse W † t of the matrix W t so that:

u * = W † t • τ d (3.3)
However, in their work [START_REF] Tognon | Omnidirectional Aerial Vehicles With Unidirectional Thrusters: Theory, Optimal Design, and Control[END_REF], Tognon and Franchi prove that given an omniplus design, for any given wrench τ d 0, u * has always at least a negative entry. To ensure u ≥ 0, the solution to the allocation problem should have the following form:

u = u * + b, b ∈ null(W t ) (3.4)
From (3.4), two possible allocation strategies are presented in [START_REF] Tognon | Omnidirectional Aerial Vehicles With Unidirectional Thrusters: Theory, Optimal Design, and Control[END_REF]. They are recalled below, and they differ only on how the vector b is chosen in the nullspace of W t .

Optimal Allocation Strategy

For energy efficiency and to minimize the risk of saturation, it seems natural to choose b as to minimize the norm u . Then, the allocation strategy can be formulated as the following optimization problem:

min b u * + b s.t. W t • b = 0, u * + b ≥ 1u (3.5)

Suboptimal Allocation Strategy

In this case, a positive vector on the nullspace of the wrench matrix is considered fixed, so b is given. Such a vector exists by definition of an omniplus design (see Definition 2). The suboptimal allocation problem becomes:

min λ u * + λb s.t. u * + λb ≥ 1u (3.6)
The above allocation method is trivial to implement, it only requires to search for the minimum element u * min of u * . Since necessarily u * min ≤ 0, then λ = -u * min solves the optimization problem.

Balanced Omniplus Designs

When b = 1 n ∈ null (W t ), the design is said to be balanced.

Definition 3 A balanced omniplus design, is an omniplus design whose wrench matrix satisfies W

t • 1 n = 0.
For a balanced omniplus design, if the suboptimal allocation strategy is used, the extra thrust λb to ensure the positiveness of the thrust is uniformly shared among all the propellers. Hence, reducing the risk of reaching the saturation limits of an actuator.

Optimal Omniplus Design

Given a set of desired wrenches Σ ⊂ R 6 , an omniplus design is considered optimal, if the range of required control inputs to generate Σ is minimized. Thereby avoiding possible actuator saturations. Considering the following equation:

W t • u = τ d (3.7)
Reducing the range of required inputs translates mathematically to minimizing the condition number of W t where the condition number is defined as the ratio between the maximum and minimum singular values of the Singular Value Decomposition (SVD) of W t [START_REF] Strang | Introduction to Linear Algebra[END_REF] or [START_REF] Khalil | Modeling, Identification and Control of Robots[END_REF]Appendix 4] or [21,Appendix B].

Given an etero-vectoring part P e , the optimization of a balanced omniplus design can be written as:

min Z cond (W t ) s.t. rank (W t ) = 6, W t • 1 n = 0 (3.8)
where the operator cond(•) computes the condition number of a matrix. We note that this definition of optimal omniplus design corresponds to the particular case where the set of desired wrenches Σ is a centered 6-dimensional sphere, for more details the reader can refer to [99, Section-V].

Design Optimization

As presented in the previous section, optimal omniplus designs minimize the condition number of the wrench matrix in order to minimize the range of required control inputs given a set of desired wrenches. However, two AMES, with two different optimal omniplus designs, can have different workspaces. An example of two configurations (with n = 8), with a similar condition number of their respective wrench matrices, but with different workspaces is presented in to:

χ = p b/f η b/f (3.9)
The set of allowed propeller thrusts [u] is defined as:

[ u ] = u | u i ∈ u i , u i , 1 ≤ i ≤ n (3.10)
where u i and u i correspond to the minimum and maximum thrusts that the i-th propeller can generate.

A given pose χ is said to be reachable if the propellers can compensate for all the external forces applied to the platform, i.e., the gravity and spring wrench (see (2.17) and (2.18)):

∃ u ∈ [ u ] | W t • u = f s (χ) -mgz f m s (χ) (3.11)
The reachable workspace is defined as the set of reachable poses of the robot:

χ | W t • u = f s (χ) -mgz f m s (χ) and u ∈ [u] (3.12)

Workspace Optimization

First, let us define a list Ω = (α 1 , . . . , α n , β 1 , . . . , β n ) containing each propeller orientation (see Figure 3.1), this list represents the vectoring part of a design D.

Considering the angles instead of the thrust directions makes-it possible to have a finer control over the final mechanical structure of the AMES at the cost of making the optimization constraints nonlinear.

For the optimization, the RW is computed for a fixed orientation of the AMES. A pre-defined volume around the equilibrium point of the AMES is discretized, thus giving a set of positions to be tested. Given an omniplus configuration, the maximum and minimum thrust of the actuators, the condition (3.11) can be tested for a pose of the AMES using the allocation technique presented in (3.5) and a linear solver. Hence all the positions from the discretization are tested, and the set of positions verifying (3.11) corresponds to the RW of the AMES.

A pure random search algorithm (see Algorithm 1) has been implemented to search for the design parameters that maximize the RW volume. It generates N random optimal balanced omniplus designs and selects the one with the greatest workspace. The algorithm starts by generating a random vectoring part Ω with the function randomAngles(). Then the function omniplusDesign(), based on the algorithm presented in [START_REF] Tognon | Omnidirectional Aerial Vehicles With Unidirectional Thrusters: Theory, Optimal Design, and Control[END_REF], outputs an optimal balanced omniplus design Ω O+ . Next, the volume of the RW of the design Ω O+ with a nominal orientation (a null roll, pitch and yaw) is computed. Finally, the algorithm returns the configuration with the greatest RW volume.

Algorithm 1 Optimal Design

Input: etero-vectoring part P e Output: optimal propellers orientation Ω opt 1: w opt ← 0 2: for i = 0 to N do 3:

Ω init ← randomAngles(n) 4:
Ω o+ ← omniplusDesign(Ω init , P e ) 5:

w vol ← workspaceVolume(Ω o+ , P e ) 6:
if w vol > w opt then 7:

Ω opt ← Ω o+ 8:
end if 9: end for 10: return Ω opt

Optimization Results

Design Constraints and Optimization Parameters

The spring anchoring point must be close to the CoM to limit the spring moment m s . Therefore a planar circular shape was considered for the structure. We suppose here that G = A, making m s = 0. The radius and the number of propellers are fixed and equal to 30 cm and n = 8 respectively. Only the orientation Ω of the propellers is optimized, their positions are distributed evenly on a circle every 45 deg.

Results

Two optimizations were carried out: (i) an unconstrained optimization where the propellers could take any orientation, (ii) an optimization where each β i was constrained to -25°≤ β i ≤ 90°in order to simplify the manufacturing of the prototype. The results of the optimizations are available in Table 3.2, and illustrated in Figure 3.2. They were carried out with a spatial resolution of 10 cm to compute the RW over a volume of 8.64 m 3 . The saturations of the actuators were chosen to be the same as the previous prototype [START_REF] Yiğit | Novel Omnidirectional Aerial Manipulator With Elastic Suspension: Dynamic Control and Experimental Performance Assessment[END_REF] (see Figure 1.5) with a maximum thrust of 7.2 N and a minimum thrust of 0 N. A thousand omniplus designs were generated (N = 1000) for both optimization strategies. These optimizations were conducted on a standard Dell laptop (Intel i5-2.5 GHz with 16 GiB of RAM) and took 25 min to complete. The optimal configuration obtained with the optimization constraining the β i angles, has a workspace 11 % smaller than without. In addition, the constraints make the β i angles converge to values close to zero (see Table 3.2).

To simplify the manufacturing of the AMES prototype, the constrained configuration is chosen. The β i angles are set to zero. This configuration yields thrust directions symmetrical w.r.t. z b .

Optimal Radius

The total inertia I T of the system at G around z f is:

I T = I b + m p .l 2 (3.13)
Since t is along y b (see Figure 3.3), the vectors t and z b are perpendicular. Hence, the torque exerted by the propeller at G around z f is:

N = t .l (3.14)
In the following t is noted t.

From the fundamental principle of dynamics we deduce:

I T . θ = l.t (3.15) Equivalently, θ = t.l I b + m p .l 2 (3.16)
We deduce,

∂ θ ∂l = t I b -m p .l 2 I b + m p .l 2 2
(3.17)

The propeller thrust is assumed always positive since unidirectional thrusters are used. So the sign of the above partial derivative is the same as I b -m p .l 2 . This yields the variation table of θ in function of l > 0 available in Figure 3 Finally, the length l = I b m p maximizes the angular acceleration. The inertia of the aerial vehicle I b without the propellers is assumed to be known, which in most cases implies that the aerial vehicle design is already finished. Nevertheless, it can be useful in situations where the AM is carrying a significant load such as heavy sensors. In this situation, the aerial vehicle load could almost completely characterize I b .

Wrench-Feasible Workspace of an AMES

Introduction

The Wrench Feasible Workspace (WFW) corresponds to the set of poses that are wrench-feasible. From [START_REF] Bosscher | Wrench-Feasible Workspace Generation for Cable-Driven Robots[END_REF], a pose χ is said to be wrench-feasible if for any given wrench τ d in a required set of wrenches [ τ ], there exists a vector of propeller thrust u ∈ [ u ] such that W t • u = τ d . The WFW represents the workspace where the robot is useful for a particular task. It is an interesting performance index because it allows to define areas where a manipulation task, requiring a certain amount of wrench, can be carried out. In simpler terms, the WFW allows to see where the robot can be "useful". Besides, the WFW is also interesting because it takes into account the particular aspects of an AMES. The WFW considers the unidirectionality of the actuators, their saturation, and also the spring wrench as it is presented in Section 3.4.4. Hence, the WFW can be used as criterion to compare different AMES robots.

A general analytical formulation of CDPRs WFW limits is presented in [START_REF] Bosscher | Wrench-Feasible Workspace Generation for Cable-Driven Robots[END_REF]. However, the analytical formulation is very complex for the case of 6-DoF robots.

The first numerical methods for computing the WFW relied on discretizing the search space, resulting in a grid of poses, and then testing each point of the grid. However, the WFW of CDPRs is known to be non-convex and contains holes in it [START_REF] Gouttefarde | Interval-Analysis-Based Determination of the Wrench-Feasible Workspace of Parallel Cable-Driven Robots[END_REF]. As a consequence, nothing guarantees that the poses between two points of the grid belong to the WFW. In addition, for a 6-DoF robot, the computation time to discretize a twelve dimensional space (six for the pose and six for the wrench) can rapidly diverge depending on the required precision. Therefore, methods relying on discretization require to make a trade off between speed and precision.

The authors of [START_REF] Gouttefarde | Interval-Analysis-Based Determination of the Wrench-Feasible Workspace of Parallel Cable-Driven Robots[END_REF] proposed a method for computing the WFW of CDPRs relying on interval analysis that solves all the limitations of the methods relying on discretization. In this section, their method to compute the WFW is first presented. Then, the adaptations necessary to compute the WFW of an AMES are explained.

The explanations below are heavily inspired from the article [START_REF] Gouttefarde | Interval-Analysis-Based Determination of the Wrench-Feasible Workspace of Parallel Cable-Driven Robots[END_REF]. Not all the aspects regarding the WFW computation using interval analysis are presented here for brevity concerns. In particular, how to prove that a box of poses does not belong to the WFW is omitted. For more information, the reader can refer to [START_REF] Gouttefarde | Interval-Analysis-Based Determination of the Wrench-Feasible Workspace of Parallel Cable-Driven Robots[END_REF] and the references therein.

Interval Modeling

3.4.2.1 Definitions Interval An interval, noted [x]
, is a set of real numbers defined by:

[x] = [x, x] = { x ∈ R | x ≤ x ≤ x } (3.18)
where (x, x) ∈ R 2 , and x ≤ x.

Interval Vector A n-dimensional interval vector [x] = [ [x 1 ] , • • • , [x n ] ] T is a set of vectors x = [x 1 , • • • , x n ] T such that, for each i, x i belongs to [x i ].
Interval Matrix An interval matrix [A] is a matrix whose each element is an interval. The notation A ij designates the interval located at the i-th line and j-th column of [A]. The notation A ∈ [A] must be understood component-wise.

Problem Parameters Definitions

Wrench Matrix

The wrench matrix (defined for an AMES in (2.15)) is noted W in this section. Note that for CDPRs, the wrench matrix is pose dependent, i.e., W (χ). Indeed, the direction of the cable tensions on the platform depends on the platform pose.

Allowed Actuators Force and Required Wrench Set

Let [u] be the n-dimensional vector of allowed actuator forces (cable tension or propeller thrust). The box [u] can be defined as:

[u] = { u | u i ∈ [u, u] , 1 ≤ i ≤ n } (3.19)
where u and u represent the minimum and maximum forces of an actuator. The set of required wrenches is similarly defined, noted [τ] and considered as a problem input for the WFW computation.

Set of Vertex Matrices and Vertex Vectors

Let Y n be the set of n-dimensional vectors y whose components are equal either to 1 or to -1 For example, if n = 2 we have:

Y 2 = 1 1 , 1 -1 , -1 -1 , - 1 1 (3.20)
For each of the 2 n vectors y ∈ Y n , a matrix A y is defined, whose components are equal to:

A y, ij = A ij + A ij -A ij (1 -y i ) 2 (3.21)
The 2 n matrices A y represent combinations of the upper and lower bounds of the interval matrix [A]. The A y matrices are called the vertex matrices. They play an essential role in the WFW computation. The concept of vertex matrices is better understood with an example, let us consider y = [1, -1] T ∈ Y 2 , and:

[A] = [-1, 2] [-2, 4] [-3, 5] [0, 3] [-1, 1] [-2, 2] (3.22)
Then,

A y = -1 -2 -3 3 1 2 (3.23)
The i-th component of y defines completely the i-th line of A y .

Interval Evaluation of a Function

Let us consider a continuous real function f : x → f (x). The basic operations of addition, substitution, multiplication, etc., have been extended to intervals [START_REF] Moore | Introduction to Interval Analysis[END_REF].

Similarly, common functions like polynomial, sine and cosine functions have also been adapted to intervals. Therefore, almost any real continuous function can be computed for an interval [x], resulting in an interval

[f ]. The image of [x] under f is noted f ([x]
) and satisfies the following property:

f ([x]) = { f (x) | x ∈ [x] } ⊆ [f ] (3.24)
For monovariable functions we have:

[f ] = f ([x]) (3.25)
Whereas, for multivariable functions f : R n → R m , such that x → f (x) we have:

[f ] f ([x]) (3.26) ∀A ∈ [A] , ∀x ∈ [x] , A • x ∈ [b] (3.30)
The interval [b] is a box enclosure of the set

{ A • x | A ∈ [A] and x ∈ [x] } (3.31)
As a consequence, there exist vectors b ∈ [b] which do not belong to the above set.

Interval Linear Systems

We recall that for CDPRs, the wrench matrix is pose dependent, i.e., W (χ). To alleviate the notations, this dependency is omitted from the notations, so W (χ) is written as

W A box of poses [χ] is included in the WFW if it satisfies the following condi- tion: ∀χ ∈ [χ] , ∀τ ∈ [τ] , ∃u ∈ [u] , s.t. W • u = τ (3.32)
Let χ ∈ [χ] be a pose, and W the corresponding wrench matrix. For a given wrench τ ∈ [τ], the system of linear equations W • u = τ is said to be feasible if it admits a solution u in [u]. Since there is an infinite number of poses and wrenches in [χ] and [τ] respectively, verifying (3.32) requires to test the feasibility of an infinite number of linear equations that belong to the set:

{ W • u = τ | χ ∈ [χ] , τ ∈ [τ] } (3.33)
The solution to this problem can be answered using interval analysis tools. For this, a system of interval linear equations must be considered:

[W ] • u = [τ] (3.34)
The system is said to be strongly feasible if

∀W ∈ [W ] , ∀τ ∈ [τ] , ∃u ∈ [u] , s.t. W • u = τ (3.35) Using Rohn's theorem (see [33, Section-IV-C]) the system [W ] • u = [τ] is strongly feasible if the 2 n systems of linear equations W y • u = τ y , y ∈ Y n are all feasible.
The strong feasibility of the interval linear system (3.34) is a sufficient condition for a box of poses [χ] to be in the WFW. Hence, the above theorem allows to conclude that [χ] is fully inside the WFW when the 2 n linear systems W y • u = τ y with y ∈ Y n are all feasible. This important result allows to conclude on the feasibility of an infinite number of linear equations, by testing the feasibility of a finite number of linear equations. Given y ∈ Y n , the feasibility of a linear system W y •u = τ y can be tested simply by solving:

min c T • u s.t. W y • u = τ y and u ∈ [u] (3.36)
with c any linear form, the trivial form c = 0 is enough since only the feasibility of the system is tested, i.e., if there exists a u that verifies the constraints of (3.36). Other possible methods are mentioned in [START_REF] Gouttefarde | Interval-Analysis-Based Determination of the Wrench-Feasible Workspace of Parallel Cable-Driven Robots[END_REF].

CDPR WFW Computation

The basic idea of the WFW computation algorithm is to start by testing if a box [χ] is inside or outside of the WFW. If nothing can be concluded from the tests, the box [χ] is bisected (divided into smaller boxes) and the tests are repeated with the bisected boxes, until either there are no more boxes to test, which means the algorithm has finished, or a precision limit is reached regarding the size of boxes.

From [START_REF] Gouttefarde | Interval-Analysis-Based Determination of the Wrench-Feasible Workspace of Parallel Cable-Driven Robots[END_REF], the algorithm to compute the WFW of a CDPR given an initial box of poses [χ init ] is available in Algorithm 2. The algorithm starts by initializing the list L with [χ init ], the initial box of poses corresponding to where the WFW is to be computed. Throughout the algorithm the list L contains the box of poses that are to be tested. The algorithm finishes when L is empty.

At each iteration, the next box of poses [χ] to be tested is extracted from L using the Extract() function. An interval wrench matrix [W ] is computed from the corresponding box of poses [χ]. The procedure Feasible() tests the feasibility of the interval system (3.34) presented in the previous Section 3.4.2.6. If the system is feasible, Feasible() returns true, and the box is stored in L in which contains the box of poses belonging to the WFW. If the interval system is not feasible, the procedure Out() is applied to [χ] to test if [χ] WFW. If Out() returns true, [χ] does not belong to the WFW and is appended to L out containing the box of poses that do not belong to the WFW. The implementation of Out() is not detailed in the manuscript and the reader can refer to [START_REF] Gouttefarde | Interval-Analysis-Based Determination of the Wrench-Feasible Workspace of Parallel Cable-Driven Robots[END_REF] for more details.

Finally, if both Feasible() and Out() return false, the size of [χ] is tested with the procedure Size().

If the size of [χ] is below a threshold ε , [χ] is inserted in L neg . Otherwise, [χ]
is bisected into smaller boxes, using the procedure Bisect(). The bisected boxes are inserted into L. The list L neg contains the box of poses that the algorithm could not decide if they belong or not to the WFW.

The algorithm converges because by bisecting the pose boxes [χ], the overestimation errors done by the interval computations are reduced, so the tests have more chances of succeeding. We note that the returned list L neg for a first run of Algorithm 2, can be fed back again to the algorithm as an input, in order to

Algorithm 2 WFW computation algorithm Input: [χ init ], [f ], [u], ε Output: L in , L out , L neg 1: L ← [χ init ] 2: while L.size() 0 do 3: [χ] ← Extract(L) 4: [W ] ← ComputeWrenchMatrix( [χ] ) 5: if Feasible( [W ] , [f ] , [u] ) then 6: L in ← [χ] 7: else if Out( [W ] , [f ] , [u] ) then 8: L out ← [χ] 9: else 10: if Size( [χ] ) > ε then 11: L ← Bisect( [χ] ) 12:
else 13:

L neg ← [χ] 14: end if 15:
end if 16: end while 17: return L in , L out , L neg compute the WFW but with a smaller resolution ε without having to run the algorithm from scratch.

AMES WFW Computation

As previously explained, the wrapping effect in the computation of [W ] slows down the WFW computation because of the overestimation errors. The authors of [START_REF] Gouttefarde | Interval-Analysis-Based Determination of the Wrench-Feasible Workspace of Parallel Cable-Driven Robots[END_REF] developed alternative ways of computing the wrench matrix to reduce the overestimation and increase the algorithm performances. The AMES robot has the advantage that the expression of the wrench matrix W t (see (2.15)) is constant in F b . This property is exploited in the WFW computation of an AMES as explained below.

For an AMES, the WFW is limited by the thrusters saturation and spring wrench. The WFW of an AMES is defined as follows: given a desired set of wrench b τ , a set of poses [χ] belongs to the WFW, if the following condition is satisfied:

∀χ ∈ [χ] , ∀ b τ ∈ b τ , ∃u ∈ [u] , s.t. b W t • u = b τ + b g w + b s w (χ) (3.37)
where,

g w = -m b gz f 0 3,1 (3.38)
and s w corresponds to the spring wrench which is computed using (2.17) and (2.18) for a given pose χ. The notation b W t must be read as the expression of W t (see (2.15)) in F b . Hence, to verify that a box of poses [χ] belongs to the WFW, the strong feasibility of the following interval linear system must be tested: The above equation can be written more compactly as:

b W t • u = b τ + b g w + b s w (χ) (3.
b W t • u = b τ T (χ) (3.40)
where b τ T (χ) is the sum of the right-hand side terms of (3.39). By working in F b , b W t is constant, and the overestimation due to the interval analysis computations are all grouped into the right-hand side of (3.40). The simpler structure of the AMES is thus exploited to facilitate its WFW computation. The modified algorithm to compute the WFW of an AMES is given in Algorithm 3.

The Matlab INTLAB toolbox [START_REF] Rump | INTLAB -INTerval LABoratory[END_REF] was used in order to compute the WFW of the optimal structure (with constrained angles) presented in Section 3.2.3.2. The WFW is computed for a constant nominal orientation (roll, pitch and yaw equal to zero). The precision threshold for a box is set to ε = 5 cm. The desired wrench b τ corresponds to the wrench generated by a load of 125 g placed at a distance of 19.5 cm from the CoM (gripper position in the prototype, see Figure 4.3), so b τ is defined by forces of ±1.25 N and moments of ±0.24 N m. The obtained WFW can be found in Figure 3.6. The computed WFW has a volume of 1.6 m 3 which is equivalent to a sphere of radius 0.73 m.

Algorithm 3 WFW computation algorithm

Input: [χ init ], b τ , [u], W t , ε Output: L in , L out , L neg 1: L ← [χ init ] 2: while L.size() 0 do 3: [χ] ← Extract(L) 4: b s w ← ComputeSpringWrench( [χ] ) 5: b τ T ← b τ + b g w + b s w 6: if Feasible(W t , b τ T , [u] ) then 7: L in ← [χ] 8: else if Out(W t , b τ T , [u] ) then 9: L out ← [χ]

Summary

This chapter addresses three main points, (i) the definition and study of omniplus designs, (ii) the optimal design of an AMES, (iii) the definition and computation of the WFW of an AMES. A summary of each of these points is further developed in the paragraphs below.

The chapter starts by giving the mathematical definitions of the concepts of an omniplus design, an optimal omniplus design, and a balanced omniplus design. An omniplus is an omnidirectional AM that uses only unidirectional thrusters. An optimal omniplus design is a design whose condition number of its wrench matrix is minimal. A balanced omniplus design is a design where the vector containing only ones belongs to the nullspace of its wrench matrix.

The second point starts by highlighting the importance of taking into account the spring during the design phase of an AMES. The spring is what limits the workspace of an AMES. A novel optimization algorithm is presented that chooses among optimal balanced omniplus designs, the one with the largest reachable workspace. In addition, a criterion is presented to choose the radius of a circle where the propellers are to be placed. The circle radius is chosen to maximize the angular acceleration of the aerial vehicle.

Finally, the definition and the numerical computation of the WFW of an AMES are presented. Interval analysis is used for the WFW computation taking inspiration from methods developed for CDPR robots.

Chapter 4 Experimental Platform

Outline of the current chapter

Summary 73

This chapter starts by presenting the design of a new AMES prototype using the optimization results from the previous chapter. Then, the control law presented in Chapter 2.5 is implemented on the new prototype to characterize its performances.

Aerial Vehicle Design

Mechanical Design

The geometrical parameters obtained from the design optimization, carried out in the previous chapter, are used to build a new AMES prototype. The prototype is built to be as light and as modular as possible. Two main materials are used for the frame, carbon fiber and Acrylonitrile Butadiene Styrene (ABS). The robot has two main stages that can be seen in Figure 4.1. The structure of the lower stage is made with several carbon fiber tubes so that different modules can be easily attached to it using 3D printed parts. Two locations are provided to hold two cameras as can be seen in Figure 4.1b. The upper stage contains the heaviest components in order to raise the CoM so that it is as close as possible to the spring anchoring point. The propellers used are the GEMFAN-51499, and the motors are X-NOVA Lightning V2N 2208-1700Kv.

Experimental Results

The Feedback-Linearization (FL) control law presented in Chapter 2.5 was implemented with an additional integral term. The controller runs in the embedded Jetsons system at 200 Hz. The model parameter values used for the controller are summarized in

Step Responses

Translation and orientation step responses and control input along each of the robot DoF can be found in Figure 4.5. The overshoot, settling time and rise time characteristics of the steps are presented in

Summary

In this chapter, the design of an AMES prototype using the optimization results from the previous chapter is presented. The prototype is designed to be as light and as modular as possible. Care is taken so that the CoM is as close as possible to the spring anchoring point to reduce the spring moment on the aerial vehicle. A low-level speed controller is implemented on the aerial vehicle FCs in order to precisely control the wrench generated by the thrusters. The prototype has a small suction cup for simple manipulation tasks, and can hold up to two cameras.

The FL controller presented in Chapter 2, and the suboptimal allocation strategy presented in Chapter 3.1.2.2, are implemented on the new prototype. The controller is used to characterize the step and trajectory tracking responses of the new prototype and the limits of its RW. The experimental results show that compared to our previous prototype, the new prototype has a larger RW and similar dynamic responses despite being heavier and having eight rotors instead of twelve.

The following two chapters focus on the visual servoing of an AMES. Each chapter presents a different application. The motivation behind those applications is to explore the minimal set of sensors required to control an AMES. First, tiling using IBVS is addressed. Then, the teleoperation of an AMES using a handheld camera is studied. In both applications, only one camera is used as a pose sensor to control the AMES.

Introduction

In this chapter, the task of tiling with an AMES using only IBVS is presented. Tiling consists in covering a surface with non-overlapping tiles. It is a repetitive task that requires precision over a large workspace. An AMES is thus fitted for the tiling task because of its large workspace and accuracy.

Model-based approaches require more memory and computational power w.r.t. appearance-based methods. The low computational cost of appearancebased methods makes them suited to resource-constrained robots [START_REF] Suman | Image-Based Indoor Topological Navigation with Collision Avoidance for Resource-Constrained Mobile Robots[END_REF]. Hence appearance-based approaches are preferred for the AMES navigation.

As it is shown in later sections, the robot manages to tile autonomously by using the recorded images of its previous action. A similar approach can be found in Visual Teach and Repeat [START_REF] Nguyen | Appearance-Based Visual-Teach-And-Repeat Navigation Technique for Micro Aerial Vehicle[END_REF] and Imitation Learning [START_REF] Jin | A Geometric Perspective on Visual Imitation Learning[END_REF] communities. In these communities, there is a teaching phase where the robot is teleoperated by a human, and a repeat phase where the robot repeats autonomously the learned task. Our problem presents two main differences. The first one is that while the robot is picking or placing a tile, it is simultaneously learning the next task and repeating the previous task at the same time. The second one is related to the periodic pattern of the tiling task: the next iteration is similar to the previous one, only shifted by a known offset in the image.

The contribution of this chapter is twofold. First, we propose a complete and generic tiling solution using only IBVS. Second, while IBVS and image-based navigation applications are generally used in fixed environments; here the tiling surface constantly evolves. Our solution takes advantage of the fact that changes in the scene are induced by the sole action of the robot. Indeed, the scene remains unchanged until a new tile is placed by the robot. This results in a new scene that, in turn, is considered fixed as long as the next tile has not been placed. Since the tiling task follows a repetitive pattern, each iteration in our method relies on the images acquired in the previous action. The planar nature of the task is exploited to modify the previously acquired images in order to generate new references and reach the next deposit position.

Method Overview

In this subsection we present the core ideas behind the proposed automated tiling solution along with the outline of its main steps. More in-depth and technical explanations are available in the subsequent sections of the chapter.

For simplicity, and without loss of generality, a square tiling pattern is assumed throughout the manuscript. Nevertheless, the same solution can be used with any other type of repetitive tiling pattern.

The following example demonstrates how to pick and place two tiles using only IBVS. Three successive steps are illustrated in Figure 5.3. The tiles are initially stacked on top of each other at their picking zone in the order in which they are to be deposited. The only information needed to place a tile in the deposit zone is the relative position with respect to the last tile dropped (left, right, bottom or top). In the present example, the robot will sequentially i) place the brown tile (currently at the top of the stack) going from the picking zone to use the recorded images of the previous action as references for the next step. If the robot is placing a tile, the previously recorded images are shifted in order to generate the reference. Otherwise, the reference is equal to the previous recorded images. The originality of this method compared to image-based navigation [START_REF] Remazeilles | Image-Based Robot Navigation from an Image Memory[END_REF] is that the images in memory are modified ("shifted") in order to generate a reference. Using this approach, a robot can interact and navigate in an environment evolving due to the robot actions using only IBVS. Assuming, a given sequence of recorded images, the main steps of the proposed iterative tiling algorithm are summarized as follows:

1. Generate the reference from the stored image sequence. If placing a tile, shift the images.

2. Follow the reference while recording images.

3. Pick or place a tile.

4. Go back to step 1.

The rest of the chapter is organized as follows. Section 5.2 presents the different definitions, assumptions and initialization steps of the autonomous tiling system. The image-based navigation system from a dynamic memory is presented in Section 5.3. The IBVS controller used for the tiling is presented in Section 5.4. In Section 5.5 the method is validated in simulation. Finally, a summary of the chapter content is given in Section 5.6.

Definitions, Assumptions, and Initialization

Assumptions

Four main assumptions are made. First, the tiles are supposed to be laid on a planar surface. Second, in order to simplify the problem, the robot orientation is supposed to be controlled by an internal controller such that the optical axis of the camera is perpendicular to the plane where the tiles are to be placed. Only the position of the robot is regulated using IBVS. We note that the AMES orientation can be controlled using the attitude estimation of its onboard IMU. Third, tiles are assumed to be of the same size and shape. Fourth, the tiles are assumed to be placed in a square pattern.

Definitions and Notations

The following terms are used throughout the chapter:

• A step is the action of picking or placing a tile.

• The keyframes stack is a Last-In-First-Out (LIFO) container. It contains the recorded images of the current step.

• The reference stack corresponds to the keyframes stack of the previous step.

The reference stack can be equal to the keyframe stack of the previous step or it can be "shifted" (see Section 5.1.2).

• The robot can be in three possible states, it is either picking a tile, placing a tile horizontally, or placing a tile vertically.

In addition to the above definitions, the list below gathers the name of variables and terms used in algorithms and figures presented in the subsequent sections. The purpose of the list below is to serve as a reference for the notations used in this chapter.

• img_ref : current reference image at the top of the reference stack.

• img_mes: current acquired image by the onboard camera.

• fts_ref : detected features in img_ref.

• fts_mes: detected features in img_mes.

• inliers_ref : inlier features in img_ref.

• inliers_mes: inlier features in img_mes.

• thrs_inliers: threshold used for inlier selection.

• thrs_ref : threshold used to select the next reference in the reference stack.

• thrs_filt: threshold used to decide if the current acquired image should be saved in the keyframe stack.

• mean_error: current mean error of the controller.

Initialization Steps

The goal of the initialization steps below is to add the minimum required visual information to the scene, so that the robot can autonomously tile using only its onboard camera.

The first three tiles are initially manually placed by an operator as presented in Figure 5.5-a. Then, the operator places the fourth tile by teleoperating the

Feature Matching

The feature matching block takes as input a reference and the current acquired image, and detects and matches features between them. Features are made of two elements: keypoints and descriptors. The keypoints correspond to image points (pixels) that contain highly recognizable information. Corners, for instance, are a good example of possible keypoints. A descriptor contains descriptive information about a keypoint in order to simplify its recognition across two or more images. Several algorithms to detect and match features between images exist in the literature such as Scale Invariant Feature Transform (SIFT) [START_REF] David | Distinctive Image Features from Scale-Invariant Keypoints[END_REF], Speed Up Robust Features (SURF) [START_REF] Bay | SURF: Speeded Up Robust Features[END_REF], or Oriented FAST and Rotated BRIEF (ORB) features [START_REF] Rublee | ORB: An Efficient Alternative to SIFT or SURF[END_REF]. ORB is widely used in Robotics applications for both its speed and reliability. For instance, ORB is used in SLAM algorithms such as [START_REF] Mur | ORB-SLAM2: An Open-Source SLAM System for Monocular, Stereo, and RGB-D Cameras[END_REF][START_REF] Bescos | DynaSLAM: Tracking, Mapping, and Inpainting in Dynamic Scenes[END_REF] to name a few.

The feature descriptors are used to match detected keypoints across images. In our work, correspondence matching is carried out between the descriptors of the current image and those at the top of the reference stack. Feature correspondences obtained by only relying on descriptors generally contain good matches (inliers) but may also contain a great deal of erroneous correspondences (outliers). Filtering outliers can be achieved by exploiting geometrical constraints of the tiling problem, more precisely exploiting the fact that all the tiles lie on a plane.

Let us consider a set of points P i that lie on a plane, and two cameras of optical center C 1 and C 2 as shown in Figure 5.8. Let 1 p i be the projection of P i on the image plane of the camera of center C 1 , and 2 p i the projection of P i on the image plane of the camera of center C 2 (see Figure 5.8). The projection of the points is related by the following equation [START_REF] Hartley | Multiple View Geometry in Computer Vision[END_REF]:

2 p i = λH • 1 p i (5.1)
where H ∈ R 3×3 is a nonsigular matrix known as a homography, λ ∈ R and λ 0. The scalar λ models the fact that (5.1) is an equality up to a scale. The operator ≃ is often used in the literature to describe these types of equalities. The points 1 p i and 2 p i are termed conjugate.

The goal is to filter out outliers from an initial match of features between the reference and acquired image. Given a pair of points and a homography, it is possible to test if the pair of points are conjugate. Thereby, if the homography is known, it is possible to have a criterion to filter out possible outliers. However, in order to estimate a homography between a reference and an acquired image, a minimum of four pairs of conjugate points are needed. All in all, it is a deadlock situation; to filter out outliers a homography is needed, but in order to have a inliers_ref .push(kpt_ref ) 13:

inliers_mes.push(kpt_mes)

14:

end if 15: end for 16: return inliers_ref , inliers_mes thresholds can be used depending on the situation. This can be useful for having a "loose" navigation threshold, and a "tight" deposit threshold to guarantee a satisfying tiling accuracy.

The image recorder block decides if the current image should be saved in the keyframe stack to be used as a future reference. For this, the block does a feature matching between the last saved image at the top of the keyframe stack, and the current image. The number of matches is compared to a threshold, thrs_filt, if the number of matches is below that threshold, the image is saved, otherwise it is discarded. The number of matches is used here as a criterion to quantify how much new visual information is available in the current image w.r.t. the previously saved image. Recording the measured images while following the reference trajectory is what allows the system to take into account changes in the scene.

Finally, the block transforms the current keyframe stack into the reference stack in order to go back to the initial position. This is done once the reference stack contains only one image, and the mean error of the controller is below the thrs_ref threshold. The complete algorithm of the block is given in Algorithm 5 where the main steps are:

• Check if the last image of the reference stack has been reached. If yes, replace the reference stack by the keyframe stack.

Tiling Using IBVS

Image-Based Visual Servoing (IBVS) has been chosen as the strategy to control the robot, i.e., its eye-in-hand motion such that the current image converges to the top reference image of the reference stack.

IBVS is a well-established method to control robots using a camera. Contrary to Position-Based Visual Servoing (PBVS) [START_REF] Chaumette | Visual Servo Control. I. Basic Approaches[END_REF], IBVS does not require a model of the observed scene. In addition, IBVS is known to be robust to camera calibration and depth approximation errors [START_REF] Marey | Analysis of Classical and New Visual Servoing Control Laws[END_REF]. Furthermore, using IBVS as a control method for our tiling application renders our solution highly object agnostic.

Traditional IBVS is known to suffer from stability and convergence issues in some scenarios [START_REF] Chaumette | Potential Problems of Stability and Convergence in Image-Based and Position-Based Visual Servoing[END_REF]. Fortunately, using IBVS based on image moments [START_REF] Tahri | Point-Based and Region-Based Image Moments for Visual Servoing of Planar Objects[END_REF] has proven to be an efficient way to increase the convergence domain of IBVS and have better camera trajectories. Image moments are computationally inexpensive and have successfully been used for IBVS [START_REF] Tahri | Point-Based and Region-Based Image Moments for Visual Servoing of Planar Objects[END_REF][START_REF] Hoffmann | Visual Servoing with Moments of SIFT Features[END_REF]. The core idea is to formulate an image moment per DoF in order to minimize the nonlinearities in the interaction matrix and also decouple the interaction between the DOFs. In our method, we use IBVS with image moments. The coordinates of the inlier keypoints in the reference and the currently acquired image are used to compute the error for the controller. The method used in [START_REF] Tahri | Point-Based and Region-Based Image Moments for Visual Servoing of Planar Objects[END_REF] relies on the assumption of the observed scene being parallel to the image plane, which is satisfied according to the assumptions presented in Section 5.2.1. However, this method was shown by the authors of [START_REF] Tahri | Point-Based and Region-Based Image Moments for Visual Servoing of Planar Objects[END_REF] to be robust, in practice, to the violation of this assumption.

Let us consider a discrete set of 2D points P = {(x 1 , y 1 ), . . . , (x n , y n )}. Moments are defined by:

m ij = n k=1 x i k y j k (5.2)
and centered moments are given by:

µ ij = n k=1 x k -x g i y k -y g j (5.3)
where x g = m 10 /n and y g = m 01 /n represent the center of mass coordinates of the set P . Centered moments are invariant to 2D translational motions. Using centered moments, let us additionally define:

a = µ 20 + µ 02 (5.4)
To control the position of the robot, we consider the following features:

a n = Z * a * a
x n = a n x g y n = a n y g (5.5) where Z * corresponds to the desired distance between the image plane and observed scene, and a * is computed using (5.4) from the set of keypoints in the reference image.

From [START_REF] Tahri | Point-Based and Region-Based Image Moments for Visual Servoing of Planar Objects[END_REF], we obtain the following interaction matrix for each of the above features:

L x n = 1 0 0 (5.6)
L y n = 0 1 0 (5.7)

L a n = 0 0 1 (5.8)
The interaction matrix used to control the robot is obtained by stacking the above interaction matrices:

L m = L T x n L T y n L T a n T = I 3 (5.9)
Note that by using moments, the interaction matrix becomes simply the identity matrix. The mapping between the task space and the image space becomes linear and decoupled. Let us consider the set of pixel coordinates F m = {(x m 1 , y m 1 ), . . . , (x m n , y m n )} of the inliers keypoints detected on the i-th image, and F r = {(x r 1 , y r 1 ), . . . , (x r n , y r n )} the set of reference coordinates for the i-th image. The previously presented visual features are computed for each set F r and F m :

r = x n r y n r a n r T (5.10) m = x n m y n m a n m T (5.11)
Finally, the robot velocity control law is given by:

v = λ(m -r) (5.12)
with v ∈ R 3 the linear velocity of the camera, and λ ∈ R 3×3 a positive gain matrix to tune the controller rate of convergence. This control law ensures exponential convergence of the image features to the desired ones [START_REF] Tahri | Point-Based and Region-Based Image Moments for Visual Servoing of Planar Objects[END_REF], thereby that the robot follows the desired trajectory.

Summary

This chapter presents an autonomous tiling solution using IBVS. It is assumed that the tiles have the same size, shape, and that they are placed on a planar surface following a square pattern.

The only sensors used for the tiling are the onboard camera and IMU of the AMES. The camera is used to control the position of the robot, while its orientation is assumed to be controlled independently using the attitude estimator of the onboard IMU. It is assumed that the orientation of the AMES is constant and such that the optical axis of the camera is perpendicular to the plane where the tiles are to be placed. The autonomous tiling method is initialized using a video recording of the telemanipulated deposit of one tile. The initial video is considered as an input, and obtained by an operator manually teleoperating the AMES.

The key idea for the autonomous tiling is to generate current references using the recorded images of the previous step. As a result, the AMES is able to navigate in an evolving environment using only the images captured by its onboard camera. The sequence of recorded images is used in an appearancebased navigation technique relying on IBVS to control the robot. By using IBVS for the robot navigation, no model of the scene is needed, making the method easy to adapt to different sizes and shapes of tiles.

ORB features are matched between the reference and acquired images, their positions are used to compute the visual servoing error. As a result, at each sampling step, the number of matched features between the reference and acquired image is variable and unknown. This variation is handled by using image moments to formulate an IBVS control law.

Since the tiles are supposed to be placed on a plane, homographies between the detected image features exist. The image homographies are used in two situations. First, they are used during the feature matching to discard outliers from the initial match relying solely on the ORB descriptors. Second, they are used to shift the reference keypoints so that the robot is able to reach new deposit positions.

Finally, a criterion is given to decide if the current acquired image is worth saving. The criterion is based on the number of matched features w.r.t. the previous saved image. The images saved during the navigation are used as future references.

The tiling system is validated in simulation where the robot places autonomously five tiles horizontally During the thesis, the development of the tiling method turned out to be more complex and took more time than expected. For this reason, efforts were shifted towards developing the teleoperation framework for the AMES, which is needed to deposit a first tile during the initialization of the presented tiling method. The following chapter focuses on the development of an interface to teleoperate the AMES using only a handheld camera equipped with an IMU.

Chapter 6

Visual Servoing Using a Handheld Camera and an IMU Outline of the current chapter

3.

The camera frame of center C, F c {x c , y c , z c }. The camera optical axis is along x c . Due to the small size of the handheld device, and without loss of generality since we are using PBVS, the point C is assumed to be the camera CoM and optical center. Similarly, the camera and IMU coordinate frames are supposed to be same.

Throughout this document, a parameter is termed absolute when it is defined w.r.t. F f and relative when it is defined w.r.t. F c . For example, p b/f is the absolute position of the aerial vehicle, and p b/c is the relative position of the aerial vehicle. Roll, pitch and yaw angles are chosen to represent the orientation of the frames using the ZYX convention [21]. The different position and orientation vectors used throughout the model are defined in Table 6.1.

The objective of this section is to establish the equations of motion of the AMES w.r.t. an accelerated (thus non inertial) camera frame F c . Since we are interested in relative velocities and accelerations w.r.t. F c , the conventional dot notation used to designate the time derivative of a vector will be avoided, whenever it is possible, because it does not give information with respect to which frame the vector is being differentiated (see (2.1)). This does not apply to orientation parameters because they are always defined w.r.t. to a frame.

To avoid possible confusions, additional variables are introduced to designate the relative velocities and acceleration quantities. A naming convention is used to describe absolute and relative velocities and accelerations. For the linear velocities, the velocity of a body i at its CoM w.r.t. a frame F j is noted:

v i/j = d F j p i/j dt (6.1)
The time derivative is taken w.r.t. the coordinate frame F j . The relationship between the time derivatives of a vector in two different coordinate frames is given in (2.1). Similarly, the convention for translational and rotational accelerations of a body i at its CoM w.r.t. to a coordinate frame F j are:

a i/j = d F j v i/j dt (6.2) a ω,i/j = d F j ω i/j dt (6.3)
Using conventions (6.1), (6.2), and (6.3), the position, velocity, acceleration vectors, and orientation parameters used throughout the model are available in Table 6

F c η b/f orientation of F b F f η c/f orientation of F c F f η b/c orientation of F b F c v b/f body absolute velocity F f v c/f camera absolute velocity F f v b/c
body relative velocity

F c ω b/f body absolute rotational speed F f ω c/f camera absolute rotational speed F f ω b/c body relative rotational speed F c a b/f body absolute acceleration F f a c/f camera absolute acceleration F f a b/c body relative acceleration F c a ω,b/f body absolute angular acceleration F f a ω,c/f camera absolute angular acceleration F f a ω,b/c
body relative angular acceleration F c Table 6.1 -Pose, speed and acceleration model parameters.

Kinematics

Rotational Kinematics

The rotational kinematics w.r.t. the orientation parametrization are directly obtained using (2.5):

f ω b/f = f S(η b/f ) • ηb/f (6.4) f ω c/f = f S(η c/f ) • ηc/f (6.5) c ω b/c = c S(η b/c ) • ηb/c (6.6)

Translational Kinematics

Let us consider the following geometrical equality:

p b/c = p b/f -p c/f (6.7)
Therefore,

d F f p b/c dt = d F f p b/f dt - d F f p c/f dt (6.8)
From the definitions of v b/f and v c/f we deduce:

d F f p b/c dt = v b/f -v c/f (6.9)
On the other hand, using (2.1) we can write:

d F f p b/c dt = d F c p b/c dt + ω c/f ∧ p b/c (6.10)
Furthermore, using the definition of v b/c , we can write:

d F f p b/c dt = v b/c + ω c/f ∧ p b/c (6.11)
Finally, using (6.9) and ( 6.11) we have:

v b/c + ω c/f ∧ p b/c = v b/f -v c/f (6.12)

Relative Dynamics

Rotational Relative Dynamics

From the rotational speed composition rule we have the following equality:

ω b/c = ω b/f -ω c/f (6.13)
Therefore,

d F f ω b/c dt = d F f ω b/f dt - d F f ω c/f dt (6.14)
By definition (6.3), we can write:

d F f ω b/c dt = a ω,b/f -a ω,c/f (6.15)
In addition,

d F f ω b/c dt = d F c ω b/c dt + ω c/f ∧ ω b/c (6.16)
Using the definition of a ω,b/c , we can write:

d F f ω b/c dt = a ω,b/c + ω c/f ∧ ω b/c (6.17)
Finally using (6.15) and (6.17) we obtain:

a ω,b/c + ω c/f ∧ ω b/c = a ω,b/f -a ω,c/f (6.18)

Translational Dynamics

From (6.9) we have:

d 2 F f p b/c dt 2 = d F f v b/f dt - d F f v c/f dt (6.19)
Using the definitions of a b/f and a c/f , we can write:

d 2 F f p b/c dt 2 = a b/f -a c/f (6.20)
From ( 6.11) we have:

d F f p b/c dt = v b/c + ω c/f ∧ p b/c (6.21)
Therefore,

d 2 F f p b/c dt 2 = d F f dt v b/c + ω c/f ∧ p b/c (6.22)
Or,

d F f v b/c dt = d F c v b/c dt + ω c/f ∧ v b/c = a b/c + ω c/f ∧ v b/c (6.23)
And,

d F f dt ω c/f ∧ p b/c = d F c dt ω c/f ∧ p b/c + ω c/f ∧ ω c/f ∧ p b/c (6.24)
Thus,

a b/c + ω c/f ∧ v b/c + d F c dt ω c/f ∧ p b/c + ω c/f ∧ ω c/f ∧ p b/c = a b/f -a c/f (6.25)
In addition, we have:

d F c dt ω c/f ∧ p b/c = d F c ω c/f dt ∧ p b/c + ω c/f ∧ d F c p b/c dt = a ω,c/f ∧ p b/c + ω c/f ∧ v b/c (6.26)
Finally, combining (6.25) and (6.26) yields:

a b/c + 2 ω c/f ∧ v b/c + a ω,c/f ∧ p b/c + ω c/f ∧ ω c/f ∧ p b/c = a b/f -a c/f (6.27)
The terms in (6.27) are often designated as follows in the literature (see for example [START_REF] Roberson | Dynamics of Multibody Systems[END_REF]Section 4.3.2]):

• 2 ω c/f ∧ v b/c , corresponds to the Coriolis term.

• a ω,c/f ∧ p b/c , is called the angular acceleration term. When using the fundamental principle of dynamics, this term is the source of the Euler force.

• ω c/f ∧ ω c/f ∧ p b/c , corresponds to the centripetal acceleration.

State and Disturbance Estimation

A sate estimator is needed in order to estimate the relative speeds, relative accelerations, and the spring force needed in the control laws presented in Section 6.4. An EKF is chosen for the state estimation and sensor fusion because of its simple implementation, and proven efficiency in visual inertial navigation as presented in the review paper [START_REF] Huang | Visual-Inertial Navigation: A Concise Review[END_REF] and the references therein. For the spring force estimation, a separate disturbance observer is used.

In this section, the model considered in the EKF is presented first and its observability is evaluated. Then, the disturbance observer used to estimate the spring force is introduced.

Visual Inertial Extended Kalman Filter

Sensor Models

For reasons presented later in the observability study in Section 6.3.2, we suppose that the camera IMU is calibrated and without biases. The camera with the pose estimation algorithm is considered to be perfect. The body IMU measurements are assumed to be biased and disturbed by additive white Gaussian noises. Indeed, the aerial vehicle is submitted to additional vibrations due to the thrusters. Furthermore, IMUs embedded in aerial vehicles are usually more low-cost due to the weight and size constraints, thus more prone to biases and offsets.

ω b/f = ω m,b/f -b ω -n ω a b/f = a m,b/f -b a -n a (6.

State Representation

Following the reasoning presented in [2], a "simplified" model is used for the Kalman filter where the aerial vehicle and the camera are modeled as freefloating 6-DoF bodies. Hence the equations of motion of the AMES including the control inputs (2. [START_REF] Chaumette | Visual Servo Control. I. Basic Approaches[END_REF]) and (2.20) are not included in the EKF model. The acceleration of the AMES is instead evaluated by the onboard IMU. As pointed in [2, Chapter 3, Section 3.1.1], this approach has the following advantages:

1. The system state vector is smaller.

2. The EKF implementation is less computationally expensive when compared to the implementation including the control inputs.

3. There is no need to identify body model parameters: mass, inertia, and in the case of aerial manipulators, the propeller coefficient.

The system state, containing 30 elements, is:

x = p T b/c η T b/c v T b/c ω T b/f ω T c/f a T b/f a T c/f a T ω,c/f b T ω b T a
T (6.30)

State Dynamics

The inertial measurements ω b/f , a b/f , and a c/f , are assumed to be constant between two sampling points, thus their time derivatives are considered null, except for the camera gyroscope measurement ω c/f . Indeed, the EKF needs to estimate the absolute angular camera acceleration a ω,c/f for the control law presented in Section 6.4, and for the sensor fusion between the camera and the IMUs measurements through (6.33) as presented below.

Considering the dynamic model notations developed in Section 6.2, the state dynamics become:

ẋ = v T b/c ηT b/c a T b/c 0 T a T ω,c/f 0 T 0 T 0 T 0 T 0 T T (6.31)
From Section 6.2, the equations used to compute ηb/c and a b/c in function of the other states are listed below:

ηb/c = c S(η b/c ) -1 • c ω b/f -c ω c/f (6.32)
a b/c = -2 ω c/f ∧ v b/c -a ω,c/f ∧ p b/c -ω c/f ∧ ω c/f ∧ p b/c + a b/f -a c/f (6.33)

System Measurements

The system outputs of the EKF model are:

y = p T b/c η T b/c ω T m,b/f ω T c/f a T c/f + gz T f a T m,b/f + gz T f T (6.34)
Since the camera IMU is supposed to be a 9-DoF IMU, it is possible to estimate its absolute orientation η c/f [START_REF] Mahony | Nonlinear Complementary Filters on the Special Orthogonal Group[END_REF][START_REF] Sebastian | Estimation of IMU and MARG Orientation Using a Gradient Descent Algorithm[END_REF]. The camera allows for measuring the relative orientation η b/c . Combining the two, it is possible to have both the camera and body absolute orientation and therefore to remove the gravity from the accelerometers measurements such that:

y = p T b/c η T b/c ω T m,b/f ω T c/f a T c/f a T m,b/f T (6.35)
To summarize:

• p b/c and η b/c are estimated from the camera measurement,

• ω m,b/f and a m,b/f are provided by the embedded IMU of the AMES,

• ω c/f and a c/f are provided by a high quality handheld IMU.

For the experiments presented in Section 6.6, the EKF is implemented using the Matlab Control System Toolbox. The reader can refer to the following references, where EKF algorithms are presented [21,[START_REF] Ostertag | Mono-and Multivariable Control and Estimation[END_REF]5].

Observability Study

From the nonlinear observability study in [START_REF] Weiss | Vision Based Navigation for Micro Helicopters[END_REF] and [2], it is known that for a camera attached to an IMU, called a camera and IMU pair in the following, all the IMU biases are observable as long as there is a non-biased position or velocity measurement. A more recent study [START_REF] Martinelli | Cooperative Visual-Inertial Sensor Fusion: Fundamental Equations and State Determination in Closed-Form[END_REF] shows that for different pairs of cameras and IMUs, all the IMU biases are observable. However, our case is different because there are two IMUs and one camera. The question of how many IMU biases are observable rises. The observability of the linearized state space model is presented in this subsection.

First a simple 1-DoF case will be explored. Then, a general 6-DoF case is treated using a computer algebra system.

1-DoF Model

The parameters of a simplified 1-DoF model are introduced in Figure 6.7. The translational case is presented.

The same simplified study can be made considering a body with one rotational DoF on a plane without modifying the conclusion of the observability study. In both cases, the results are the same; the bias of only one of the IMUs is observable.

Base Model From Figure 6.7, let us consider a base model that will gradually be augmented with one and two accelerometer biases:

x a = p b/c v b/c a b/f a c/f T (6.36)
We have,

ẋa =              v b/c a b/f -a c/f 0 0              = A • x a (6.37) O =             C CA CA 2 CA 3             =                           1 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 2,1 0 2,1 0 2,1 0 2,1 0 0 1 -1 0 5,1 0 5,1 0 5,1 0 5,1                           (6.41)
We have rank(O) = 4 (6.42) Thus the base system is observable.

One IMU Bias If the system model in (6.36) is augmented with the body accelerometer IMU bias. The augmented state space model becomes:

x a1 = x a b a b (6.43)
We have,

ẋa1 = A 0 4,1 0 1,4 0 • x a1 (6.44)
The system output measurements are:

y =         C         0 1 0                 • x a1 (6.45)
The rank of the observability matrix of the new augmented system is equal to the number of states: rank(O a1 ) = 5 (6.46) The augmented state space model is observable.

Two IMU Biases If now both the body and camera accelerometers are considered. The state-space system model becomes:

x a2 =         x a b a b b a c         (6.47) ẋa2 = A 0 4,2 0 2,4 0 2,2 • x a2 (6.48) y =         C         0 0 1 0 0 1                 • x a2 (6.49)
This time the observability matrix of this augmented system is not equal to the number of system states, thus the system is not observable: rank(O a2 ) = 5 (6.50) We deduce from this example that only one accelerometer bias can be estimated with our current sensors. As a result, one of the accelerometers must be a high-end calibrated accelerometer with negligible biases.

6-DoF Model

In the following, the observability of the linearized state space model presented in Section 6.3.1.2 is studied. The system is linearized around the origin, which is also an equilibrium point of the system.

Let us consider x and y as defined in (6.30) and ( 6.34) respectively. The following matrices describe the dynamics of the linearized model around the equilibrium point; they are obtained using the Jacobians of the nonlinear state space model defined in (6.31):

A = ∂ ẋ ∂x (6.51) C = ∂y ∂x (6.52)
Using a computer algebra system (in our case the Matlab symbolic toolbox), the observability of the linearized system was verified. The linearized system containing the AMES IMU biases is observable. The camera IMU is assumed to be a high-end device well calibrated with negligible biases. Otherwise, the system would not be observable.

Disturbance Observer

If the spring restoring force is known, it can be used in the control to improve the aerial vehicle pose regulation. A dedicated disturbance observer is implemented to estimate this force. The force estimate is then used in a feedback linearization control law presented in (6.72).

The previously presented EKF is deliberately not used as a disturbance observer to avoid using the AMES model inside the EKF and therefore losing the advantages presented in Section 6.3.1.2. Moreover, the spring force estimation is specific to our system, whereas the previously presented EKF could be used with any type of 6-DoF robot effector.

The presented disturbance observer is based on the disturbance observer targeted for AM developed in [START_REF] Tomić | External Wrench Estimation, Collision Detection, and Reflex Reaction for Flying Robots[END_REF]. The main idea is to use the system model, measurements, and control input to compute a nominal external disturbance, in our case the spring force. This nominal external disturbance is then filtered out using a low-pass filter. In theory, inverting the model dynamics should be sufficient to completely compute the spring force f s . Indeed, using (2.19) we have:

f s = m b a b/f + m b gz f -f u . (6.53)
However, in practice, the control input f u and accelerometer measurements a b/f , are noisy signals. So the spring force estimation is filtered using a first-order low-pass filter:

ḟs = 1 τ d f s -fs (6.54)
where τ d is the time constant ( or 1 2πτ d the cut-off frequency in Hz) of the filter. In our case, the external perturbation is known to be a spring restoring force, which can not change faster than the robot position. Using this information it is possible to determine an order of magnitude of τ d . The time constant of the filter must have a magnitude similar to the time constant of the closed-loop position controller.

The vector b t b ref gives directly the translational error projected in F

b : b e p = b t b ref = b ------→
GG ref (6.57) In order to make the reference appear explicitly, the position error can be written as:

e p = ------→ CG ref - ---→ CG = ------→ CG ref -p b/c (6.58)
This form is more useful when considering the time derivative of the position error vector in

F c , because ------→ CG ref is considered constant in F c . From b R b ref we can extract the
Cardanian angles "roll, pitch yaw" using the ZYX convention, which defines the rotational error: The goal of this subsection is to express the time derivative of the rotational error in function of the camera and AMES gyroscopes that provide ω c/f and ω b/f measurements. From (2.5), we have:

b R b ref = R z (θ y ) • R y (θ p ) • R x (θ r ) (6.
b ω b ref /b = b S(e η ) • ėη (6.62)
We deduce:

ėη = b S(e η ) -1 • b ω b ref /b (6.63)
By using the composition rule for the rotational velocities we have:

ω b ref /b = ω b ref /c + ω c/f + ω f /b (6.64)
The reference relative pose between the camera and the aerial vehicle is supposed to be constant, thus:

ω b ref /c = 0 (6.65) Hence, ω b ref /b = ω c/f -ω b/f (6.66)
And finally,

ėη = b S(e r ) -1 • b ω c/f -b ω b/f (6.67)

Position Error

As previously explained, the errors are defined w.r.t. the moving camera frame F c , so by using (6.58) we deduce:

ėp = d F c e p dt = -v b/c (6.68)
There is no available sensor in the system that measures a translational velocity. As a consequence, it can only be estimated from the available measurements. This is done by the EKF presented in Section 6.3.3, which estimates v b/c , therefore allowing to compute ėp .

PID Controller

Some experiments presented in Section 6.6 use a simple PID control law. The system performance with a PID controller is used as a reference for comparison with other controllers. The considered PID control law is:

τ pid = K p pid • e + K i pid • e dt + K d pid • ė (6.69)
where K p pid , K i pid , K d pid ∈ R 6×6 are assumed to be symmetric positive definite matrices. The wrench τ pid is then allocated to the thrusters by using the allocation techniques presented in Chapter 3.1.2.2.

In contrast with the control law presented below, no accelerometer is needed to compute τ pid , only the gyroscopes are used to determine ėη using (6.67).

Feedback Linearization Controller

Considering the expression of the relative body acceleration (6.27), let us define the following vector:

f = 2 ω c/f ∧ v b/c + a ω,c/f ∧ p b/c + ω c/f ∧ ω c/f ∧ p b/c (6.70)
Then, the relative body acceleration expression (6.27), becomes:

6.4. Control 123 a b/c + f = a b/f -a c/f (6.71)
Let a d b/c and a d ω,b/c be the desired relative accelerations of the AMES. The feedback linearization control law of Chapter 2.5.2 w.r.t. the moving frame F c becomes:

f u =m b a d b/c + K p p • e p + K d p • ėp + m b gz f -f s + m b a c/f + f (6.72) m u =I b a d ω,b/c + K p η • e η + K d η • ėη + I b ω c/f ∧ ω b/c + a ω,c/f + ω b/f ∧ I b • ω b/f (6.73)
Following the same reasoning presented in Chapter 2.5.3, replacing the above control law in the relative dynamic equations (2. [START_REF] Chaumette | Visual Servo Control. I. Basic Approaches[END_REF]) and (2.20), and using (6.18) and (6.27), gives us the following error dynamics:

K p • e + K d • ė + ë = 0 (6.74)
with,

K p = K p p 0 3,3 0 3,3 K p η (6.75) K d = K d p 0 3,3 0 3,3 K d η (6.76)
Note that given the teleoperation application, the desired relative acceleration a d b/c and a d ω,b/c are always null because the goal is to have a constant relative pose between F b and F c .

The presented control law has the advantage, apart from ensuring a convergence to 0 of the error e, to directly take into account the movements of the camera in the control law with a c/f in (6.72) and a ω,c/f in (6.73). This increases the system reactivity. The control block diagram with the state and disturbance estimation and controller is available in Figure 6.9.

between the body and the virtual camera frame η b/v using the following rotation matrices:

v R b = v R f • f R c • c R b (6.78)
From (2.5) we have the following relationship:

f ω v/f = f S(η v/f ) • ηv/f (6.79) Thus, v ω v/f = v R f • f S(η v/f ) • ηv/f (6.80)
So the rotational speed of F v is obtained by tacking the time derivative of η v/f and using (6.80). In practice, taking the time derivative of η v/f is not a problem because it is a smooth low-pass filtered signal.

Position and acceleration measurements

By construction of F v , we have:

p v/f = p c/f (6.81) p b/v = p b/c (6.82)
Taking the second time derivative of (6.81) w.r.t. F f , we deduce that:

a v/f = a c/f (6.83)
Finally the measurements from the virtual camera and IMU become:

1. v p b/v = v R c • c p b/c 2. η b/v 3. v ω v/f = v R f • f S(η v/f ) • ηv/f 4. v a v/f = v R c • c a c/f
The goal is for the robot to keep a constant pose w.r.t. F v as illustrated in Figure 6.12. As a consequence, the control error and state estimation presented in previous sections are now defined w.r.t. F v instead of F c . The control block diagram with all the elements (state and disturbance estimation, controller, and virtual camera) is available in Figure 6.14.

Experimental Results

The proposed teleoperation system is composed of several elements: the visual servoing controller, the observers for state and disturbance estimation, and the virtual camera and IMU measurements. In this section, different variants of the system with and without these elements are tested and compared. The influence on the overall system performance is assessed by teleoperating the AMES prototype presented in Chapter 4.

First, the experimental setup is presented. Second, the teleoperation system is tested, using a PID controller, with and without the EKF in order to quantify its influence. Third, the system speed and precision are compared using feedback linearization and PID control. Fourth, the system precision is compared with and without the virtual camera and IMU by simulating a significant lever-arm effect.

Experimental Setup

The main components of the experimental setup can be seen in Figure 6.15. These are a suspended aerial manipulator (the AMES introduced in Chapter 4), a handheld device combining a camera and an IMU, and a UR5e robot arm used to simulate a human operator in a repeatable way. Some experiments presented in Section 6.6.2.2, are also carried out with human operators holding the handheld device. For most of the experiments, the distance between the robot and the camera is around 2.5 m.

AMES

A total of five LEDs, used as visual markers, are attached to the arms of the AMES. The LEDs are positioned to maximize their visibility from different viewpoints, and to ensure that at least four LEDs are visible. With four detected points, the PnP problem has a unique solution [START_REF] Hartley | Multiple View Geometry in Computer Vision[END_REF]. The image processing is done using the C++ implementation of OpenCV version 4 5. A picture of the manufactured prototype, with the added LEDs, is available in Figure 6.16.

Handheld device

The handheld device can be seen in Figure 6.17. It is made of a CMOS, USB, high-speed 500 fps camera Ximea-MQ003MG-CM. A Tamron C-Mount lens 12VM1040ASIR with adjustable focal length from 10 to 40 mm is mounted on the camera. The handheld device is also equipped with a 9-DoF IMU, a Xsens MTI-630 running at 400 Hz. Camera and IMU are connected to a laptop over a

Extended Kalman Filter Influence

The goal of this section is to compare the system performance with and without an EKF. The EKF adds complexity to the system, so it is interesting to assess the added value of this complexity. A PID controller is used, because the feedback linearization control law can not be easily implemented without an EKF. First, the system precision with and without EKF is compared. Then, the execution time of a telemanipulation task performed by an operator with and without EKF is compared.

PID Control

The PID control law presented in 6.4.3 is used. The system control block diagram with the EKF is available in Figure 6.18. The sampling frequency of the controller, sensors, and EKF is 200 Hz. For the experiments without the EKF, the orientation error derivative is computed using (6.67). The position error derivative is obtained using the following transfer function:

(1 -0.95) z z -0.95 (6.84)
A robot arm is used to move the camera in a repeatable way. The robot arm does a pure translation of the camera along the three axis of F c with an amplitude of 3 cm in 0.3 s. The 10 % settling time limit for the controller error is defined as 10 % of the amplitude of the camera absolute displacement. The absolute displacement of the camera w.r.t. its initial position is noted:

δp c/f = p c/f -p c/f ,init (6.85)
where p c/f ,init is the initial absolute position of the camera at the beginning of the experiment. The controller gains are available in Table 6.3. They were tuned experimentally to minimize the settling time of the system, while maximizing the robustness to measurement noise.

The RMS of the controller errors for the translational DOFs are available in Table 6.2. From Table 6.2, it can be seen that the EKF increases significantly the system precision for camera movements along its optical axis x c . The precision improvement is less significant when the camera moves along z c , because in this case the robot movements are in the direction of the spring, so the controller (a PID) spends most of its effort compensating for the spring force variation. The error signal on the AMES position and the controller output can be found in Figure 6.19 where the camera moves along its optical axis x c . The task is realized by two different operators. Each operator starts the test with a different flavor of the controller, and the tests are repeated five times with each controller flavor. The first five experiments of the first operator are carried out without the EKF before switching to the controller with the EKF. The second operator starts with experiments with EKF before switching to experiments without EKF. The goal of this strategy is to detect and eliminate potential biases related to an effect of the training with a first controller yielding better results with the second controller.

The times to realize the task are available in Table 6.4a for the first operator, and Table 6 are carried. By fusing the IMU and camera measurements through the EKF, the relative pose estimation is improved which increases the accuracy of the controller as shown in the beginning of this section. As a consequence, it is easier for the operators to control the pose of the AMES and achieve the task.

Feedback Linearization

In this section, the system response time and precision are compared with the PID and feedback linearization controllers presented in Section 6.4. An EKF is used in both experiments. The block diagram of the PID control loop is available in Figure 6.18, whereas the feedback linearization control loop is available in Figure 6.9. The gains of the PID controller are available in Table 6.3a, and the feedback linearization controller gains can be found in Table 6 The experimental results show that feedback linearization makes the system faster and more precise at the cost of increasing the controller output oscillations. As can be seen in Figures 6.21, 6.22, and 6.23, the controller output of the feedback linearization oscillates more compared to the output of the PID controller. Oscillations are a problem for the ergonomics of a teleoperation system. The oscillations can be decreased, to some extent, by modifying the controller tuning strategy and the EKF gains. However this will inevitably reduce the system response time. A trade-off must then be found between speed, precision and stability as it is common in control problems.

Virtual Camera and IMU

For these experiments the robot arm is used to rotate the camera along an axis perpendicular to the camera optical axis, thus creating a "problematic" situation where a small camera rotation induces a large robot translation. The experiments are conducted with and without considering the Virtual Camera and IMU (VCI), in order to quantify its influence on the system precision. The disturbance rejection capabilities of the system using the Virtual Camera and IMU (VCI) are also tested.

The continuous transfer function of the VCI low-pass filter used in the experiment has the following form:

1 (1 + τ 1 s) (1 + τ 2 s) (6.86)
with τ 1 = 3.18 and τ 2 = 0.16. A second-order filter is chosen because the initial derivative of the system response to a step is null. As a consequence, the system response is smoother. The order and the cutoff frequency of the filter can be used to modify the responsiveness of the teleoperation system. Because only small camera rotations are considered, ω v/f is obtained directly by low-pass filtering the camera gyroscope measurements. The experiments are carried out using a PID controller without an EKF, the control block diagram used is available in Figure 6.24. The gains of the controller are available in Table 6.7. The controller runs at 200 Hz.

x y z roll pitch yaw Table 6.7 -Diagonal elements of the controller used for the experiments.

VCI Performance Evaluation

The robot arm is programmed to rotate the camera around its axis z c by 3 deg in 0.3 s. This creates an important error on the y and yaw DOFs. The controller position error and controller output signals, for the translation, are compared in Figure 6.25. The RMS of the signal errors can be found in Table 6.8. From Figure 6.25, it can be seen that the controller output is not equal to zero at the end of the experiment because the controller needs to compensate for wrench due to the spring restoring force.

0

Summary

This chapter presents a handheld user interface device that remotely controls the pose of an AMES. Although the teleoperation framework is applied to control the pose of an AMES, it could be used to control the pose of any 6-DoF robot effector. Visual servoing, combined with inertial measurements, is used to control the pose of the AMES w.r.t. the handheld device. The eye-to-hand configuration where the camera is held and moved by a user is original. The tools used to implement the teleoperation framework along with the main results are summarized below.

The handheld device consists of a camera and a 9-DoF IMU making it possible to use nowadays smartphones as handheld devices. It is also assumed that the AMES has an onboard 6-DoF IMU, which is common in nowadays UAVs. The visual and inertial measurements are fused together using an EKF. The observability study shows that with the current sensor suite, it is possible to estimate the biases of only one of the two IMUs. So a high-end calibrated IMU is assumed to be used for the handheld device throughout the chapter. The EKF improves the pose estimation of the AMES increasing the ergonomics of the teleoperation system. Indeed, experimental results show that by using the EKF, the execution time to realize a telemanipulation task is significantly reduced.

The camera dynamics are taken into account in two different ways in the presented teleoperation framework. First, the AMES dynamic model is derived w.r.t. to the moving camera coordinate frame. Then, the relative dynamic model is used to derive a feedback linearization control law. The camera absolute movements are directly taken into account in the control law, thus reducing the system response time as the experimental results show.

Second, the absolute orientation of the camera is low-pass filtered and used to generate measurements from a virtual camera and IMU which have the same position than the real primary device but with slower rotational dynamics. This approach enables to preserve a large bandwidth for the relative pose controller, while also filtering out the operator hand tremors. The virtual camera and IMU approach is validated experimentally.

Chapter 7

Conclusions, Limits, and Perspectives Outline of the current chapter The common thread and motivation throughout this thesis is to simplify AMES systems so that they become low-cost, dexterous, and accurate robots with a large workspace. On the one hand, this goal is carried out through the mechanical design. On the other hand, two original applications requiring visual servoing are studied, thus exploring the minimal set of sensors required to control the AMES. As a rapid comparison with our previous work, the number of motors in our prototypes reduced from twelve to eight while increasing the workspace of robot, and the number of cameras to control the pose of the AMES reduced from six to only one. The thesis presents three main contributions, (i) the optimal mechanical design and performance analysis of an AMES, (ii) a method for tiling using only IBVS, (iii) the visual servoing of an AMES using a handheld camera coupled with an IMU. The conclusions, limits and perspectives are presented below for each of these contributions. Finally, the last section of the chapter, focuses on more general conclusions and perspectives.

Optimal Design

Contributions

An optimization method to maximize the reachable workspace of an AMES using unidirectional thruster is presented in Chapter 3. We recall that using unidirectional thrusters is an advantage due to technical limitations on the control of aerial vehicles brushless motors as explained in Chapter 1.1. So, the optimization algorithm constraints the AM of the AMES to be an optimal balanced omniplus design. The results from the optimization are used to manufacture a new AMES prototype as presented in Chapter 4. The dynamic and static performances of the new AMES system are tested using a feedback linearization controller.

In addition, an optimal distance between the propeller and the CoM that maximizes the angular acceleration is proposed. Finally, the Wrench Feasible Workspace (WFW) of an AMES is defined, and an algorithm is given to numerically compute the WFW using interval analysis.

Limits and Perspectives

There are still theoretical challenges in the design of omniplus structures, which require to use stochastic approaches for the optimization algorithm. As mentioned by Tognon and Franchi in [99, Section V-A], the conditions for the existence of a solution to the problem of finding an optimal omniplus design is an open question. To overcome these limitations, the authors of [START_REF] Tognon | Omnidirectional Aerial Vehicles With Unidirectional Thrusters: Theory, Optimal Design, and Control[END_REF] rely on stochastic methods in their optimization algorithm. Clearly, an explicit characterization of the solution set of optimal omniplus design, would reduce the search space of the optimization. Moreover, instead of randomly initializing the optimization algorithm, the initial condition could be chosen among the set of possible solutions.

The main reason to use only unidirectional thrusters in the AM of the AMES is due to technical limitation on the low-level speed control of the brushless motors. Recently the Vertiq company (https://www.vertiq.co/) offered propulsion systems with integrated ESC and position sensors, making it possible to implement vector field control laws for the speed regulation of the propellers and solve the traditional limitations of sensorless brushless motors. If bidirectional propellers are used, only six propellers are needed to have an omnidirectional AM, thus eliminating two propellers from our current prototype. But it is important to remind that bidirectional propellers are still aerodynamically less efficient than mono-directional propellers.

Another possible improvement to our optimization method lies in the computation of the reachable workspace of the AMES configurations. Indeed, it relies on discretization methods which require to make a compromise between accuracy and computational speed. A possible solution to this problem would be to characterize the convex hull of the reachable workspace. If the convex hull is characterized, its volume could be used to estimate the reachable workspace volume and thus accelerate the optimization. Inspiration could be taken from the work in [START_REF] Bosscher | Wrench-Feasible Workspace Generation for Cable-Driven Robots[END_REF] where the analytical limits of the WFW are determined for CDPRs.

In [START_REF] Hao | Multi-Criteria Optimal Design of Parallel Manipulators Based on Interval Analysis[END_REF], a multi-criteria design method using interval analysis is presented for parallel manipulators. Interval analysis enables to naturally model design parameters and optimization constraints such as actuators saturation or the precision of the manufacturing process (3D printing, machining etc.). In addition, interval analysis is known to be a performant tool for global optimization problems [START_REF] Moore | Introduction to Interval Analysis[END_REF]. Besides, the multi-criteria aspect of this method has a great practical value because it gives the possibility to simply handle trade-offs which are an intrinsic part of any design process. Therefore, adapting this method to the optimization of AMES systems could be an interesting perspective to integrate the manufacturing precision, and multiple criteria such as the condition number of the wrench matrix, the volume of the reachable workspace, the volume of the set of forces and/or torques the AM can generate, etc.

Tiling Using IBVS

Contributions

Tiling is an application particularly suited for an AMES, because it requires precision over a large workspace. A novel tiling method is proposed that relies solely on IBVS for the navigation of the robot between the pick and place positions. By using IBVS no assumptions are made on the tiles other than they lie on a plane, nor any model of the scene is required. The proposed method requires the robot constantly recording camera images while it follows a current reference trajectory. The recorded images are used as references for future trajectories. By constantly recording images, changes in the environment due to the placing of the tiles are taken into account. The method is validated in simulation.

Contrary to existing image-based navigation techniques, the proposed navigation method modifies the recorded images by shifting the images keypoints using pre-learned homograhies during an initialization phase. The images in memory are modified so that the robot can reach new deposit positions. Hence constantly increasing the navigation area of the AMES.

Finally, the presented tiling method is not restricted to AMES robots and can be applied to several types of robots such as CDPRs and robotic arms.

Limits and Perspectives

Although using IBVS for the navigation confers the method some practical advantages, mainly robustness against camera calibration, and do not require a model of the scene, it also introduces an intrinsic limitation. The robot trajectories during tiling do not correspond to the shortest path. Indeed, it is important for the robot to pass through trajectories that maximize the visual information instead of minimizing the length of the trajectory. This is so, because maximizing the visual information facilitates the image-based navigation. The more features are available in the recorded images, the easier it is for the robot to navigate. As a consequence, during the initialization phase, the operator needs to be aware of this constraint while depositing the first tile, otherwise there is a risk for the robot to not being able to tile autonomously.

The other types of limits presented below are related to implementation choices, and can, to some extent, be mitigated or circumvented.

Our current method makes the robot to converge individually to each image of the reference stack with the same dynamics. This can be improved, as mentioned in Chapter 5.3, by using a navigation and manipulation threshold, setting two different values of thrs_ref, one for fast navigation, and another one for precise manipulation.

In order to leverage the fact that the trajectory is known in advance, it is possible to include feedforward terms in the control law using future images of the reference stack like in [START_REF] Diosi | Experimental Evaluation of Autonomous Driving Based on Visual Memory and Image-Based Visual Servoing[END_REF]. An interesting perspective for our application is to develop a visual planification technique using the image stack in order to have a smooth robot trajectory.

The strategy used for recording new images can be improved by having more efficient criteria to quantify new visual information. Inspiration from the methods used in Visual Teach and Repeat and Imitation Learning applications are worth exploring. Another possibility is to use the concept of mutual information from Information Theory [START_REF] Shannon | A Mathematical Theory of Communication[END_REF]. Mutual information seems a good candidate to quantify the difference in information between two images. Besides, mutual information has already proven to be an effective tool in direct visual servoing [START_REF] Dame | Mutual Information-Based Visual Servoing[END_REF], and image-based navigation [START_REF] Dame | A New Information Theoretic Approach for Appearance-Based Navigation of Non-Holonomic Vehicle[END_REF].

In addition to explore the previously mentioned perspectives, future work will focus on implementing the method on the AMES prototype to experimen-tally validate the tiling method. We recall that the AMES is particularly well suited for tiling because of its large workspace and precision.

7.3 Visual Servoing with a Handheld Camera and IMU

Contributions

The teleoperation of an AMES using a handheld camera equipped with an IMU is explored. A handheld camera offers an intuitive interface to manipulate a 6-DoF effector. Besides, nowadays a large part of the population possesses a smartphone which already has a camera and an IMU built-in. Therefore, the presented teleoperation method could easily be deployed as a smartphone application. The role of the IMU coupled with the camera is twofold, it is used to directly measure the movements of the operator's hand, and to estimate the camera absolute attitude which plays an important role in the method as explained below.

The proposed teleoperation scenario uses a visual servoing scheme where the camera is held by an operator. To the best of the authors' knowledge, this visual servoing scenario has never been considered before. Compared to a scenario where the camera is mounted on the robot and where the operator is holding a visual target, our approach allows for easily modifying the relative reference position between the handheld camera and the robot. In the other scenario this possibility is limited by the onboard camera field of view. Furthermore, relocating the camera at the operator side allows for more convenient image processing with a stationary PC instead of using expensive onboard computational power. Finally, if the camera and IMU is held by another robot manipulator like an industrial manipulator, the accurate positioning of this robot can be used to accurately drive the positioning of the aerial manipulator using the virtual linkage provided by visual servoing.

The visual and inertial measurements are fused together using an EKF. The EKF does not use a complete physical model of the AMES but a simplified model to reduce the computational complexity and make the state estimation method more general. Indeed, the presented state estimation method can be applied to any 6-DoF robot. The increase in the system precision due to the EKF is quantified experimentally. Moreover, the experiments show that the time of a telemanipulation task is reduced when using an EKF.

The equations of motion of the AMES relative to the moving camera frame are developed. The camera dynamics are used in a feedback linearization control scheme to compensate in real-time for the operator movements, thus increasing the reactivity of the system. The increase in the system responsiveness using the feedback linearization controller is quantified experimentally.

Finally, the operator hand tremors are filtered out by generating measurements from a virtual camera and IMU obtained by low-pass filtering the rotational dynamics from the original primary device. This approach does not compromise the bandwidth of the relative pose control, hence it is still able to reject fast disturbances like wind bursts. A difficult scenario where the camera rotates around its yaw axis is considered experimentally. Results show that using the virtual camera increases significantly the system precision.

Limits and Perspectives

In the short term, future work will focus on implementing experimentally the virtual camera and IMU strategy using the feedback linearization controller and the EKF.

A limit to the presented work is that it heavily depends on the relative pose estimation between the camera and the AMES. With the current sensor suite, if the relative pose estimation fails for an extended amount of time, either due to LEDs detection failure, or because something passes in front of the camera, the visual servoing is stopped and the robot is driven back to its equilibrium position by the spring, which can be dangerous for both the AMES and humans. In addition, we recall that only the biases of one IMU are observable. Therefore, a high-end, calibrated IMU is needed in the handheld device.

The limitations presented above can be avoided by adding an onboard camera in the AMES as presented in Figure 7.1. The proposed solution places the onboard camera so that it is rigidly attached to the spring and connected to the AMES through a spherical joint. The goal is to make the onboard camera constantly point toward a visual marker placed at the other side of the spring in order to measure the spring elongation. The advantages directly gained by measuring the spring elongation with an onboard camera are listed below:

1. There is no need to have a disturbance observer to estimate the spring wrench because by measuring the spring elongation it is possible to directly compute the spring wrench, thus simplifying the control architecture.

2. If the relative pose measurement between the handheld camera and the AMES fails, it is possible to hold the pose of the AMES using a fallback controller that uses the AMES onboard camera to maintain the relative pose of the AMES w.r.t. to the spring anchoring point.

3. With the onboard camera, and the handheld camera, it is possible to estimate all the IMU biases, so potentially reducing the cost of the handheld Just as the suboptimal allocation technique used is simple, because it exploits the geometrical structure of the aerial vehicle, a similar approach could be used for the control of the AMES. Hence, instead of considering the geometry of the aerial vehicle, the nature and/or characteristics of the AMES equations of motion could be used to design a controller using flatness theory [START_REF] Martin | Contribution à l'étude des systèmes différentiellement plats[END_REF]. Flatness based controllers have successfully been used for the control of quadcopters, with performances similar to that of NMPC controllers [START_REF] Tal | Accurate Tracking of Aggressive Quadrotor Trajectories Using Incremental Nonlinear Dynamic Inversion and Differential Flatness[END_REF][START_REF] Sun | A Comparative Study of Nonlinear MPC and Differential-Flatness-Based Control for Quadrotor Agile Flight[END_REF]. Flatness based controllers are simpler to implement than NMPC controllers. They require only some matrix multiplications requiring less computational resources compared to NMPC controllers where a nonlinear optimization problem is solved at each sampling period. Furthermore, flatness based predictive controllers have been developed in [START_REF] Fliess | Continuous-Time Linear Predictive Control and Flatness: A Module-Theoretic Setting with Examples[END_REF]. Thus it is possible to still have the advantages of a predictive controller. Considering the ambition to have a simpler, yet performant system, flatness based control of an AMES seems worth exploring.

An important milestone, yet to be reached, for an AMES prototype is to implement an actual manipulation task. The Street Art Drone project, funded by the National French Research Agency goes precisely in that direction. Their goal is to use an AMES to paint building facades. Just as with tiling, it is a task requiring precision over a large workspace, therefore suited for an AMES. d'abord avec des véhicules terrestres, puis ensuite avec des véhicules aériens. Un avantage significatif des robots mobiles c'est que leur espace de travail est en théorie infini. Comme pour les voitures, leurs espace de travail est limité par la quantité d'énergie qu'ils peuvent embarquer. Néanmoins, une limite des robots mobiles est leur faible dextérité par rapport au bras robotiques. En effet, des bras robots sont embarqués sur des robots mobiles pour faire face à cette limite.

Les Manipulateurs Aériens (MA) et les Robots Parallèles à Câbles (RPC) sont des robots peu coûteux avec des grands espaces de travail. Un de leurs objectifs est de combiner les grands espaces de travail des robots mobiles et la dextérité des bras robots. Les caractéristiques et limites de ces robots sont présentées ci-dessous.

A.1.1 Manipulateur aériens et robots parallèles à câbles

Les MA sont des Véhicules Aériens Non Habités (VANH) conçus pour effectuer des tâches de manipulation comme des assemblages ou des inspections au contact. Dans la Figure A.1 on peut trouver l'exemple d'une tâche où un MA dessine sur un tableau blanc. Les MA sont particulièrement adaptés pour travailler dans des environnements difficiles d'accès ou dangereux pour des humains [START_REF] Orsag | Aerial Manipulation[END_REF][START_REF] Ollero | Past, Present, and Future of Aerial Robotic Manipulators[END_REF]. Il existe une grande variété de MA avec des architectures mécaniques différentes. La récente étude bibliographique présentée dans [START_REF] Ollero | Past, Present, and Future of Aerial Robotic Manipulators[END_REF] contient un total de 182 références. Elle analyse l'évolution et le travail courant dans le domaine de robotique aérienne lors de ces dix dernières années. La Les MA et les RPC ont des limites intrinsèques. La grande limite des MA est leurs autonomie de vol, actuellement limitée à un maximum de 20 à 30 minutes dans le meilleur des cas. Ceci limite leurs espace de travail. Pour les RPC, l'espace de travail est limité par leurs complexité. Ils peuvent contenir différents singularités et configurations ou les câbles peuvent entrer en collision. Cepen- La matrice d'allocation W t ∈ R 6×n relie la commande du système u ∈ R n au torseur d'effort total appliqué sur la plateforme:

W t • u = τ (A.1)
La commande des VANH et des RPC sont respectivement la poussée générée par les propulseurs, et la tension des câbles. Pour les RPC, la matrice d'allocation dépend de la direction de câbles, donc de la pose de la plateforme. Pour les VANH avec des propulseurs fixes, la matrice d'allocation est constante dans le repère de coordonnées rigidement attaché au véhicule aérien.

Les caractéristiques de la matrice d'allocation sont directement reliées à la nature et performances des robots comme il est présenté ci-dessous.

A.2.2 Optimisation des VANH complètement actionnés

Le MASE est considéré comme un robot dextre, donc seulement les structures complètement actionnées et omnidirectionnelles sont considérées. Les structures sous-actionnées sont par nature moins dextres que les structures complètement actionnées. Par exemple, une structure à six degrés de libertés découplés permet d'avoir une meilleure capacité à rejeter des perturbations (comme des rafales de vent), même si la tâche ne nécessite pas des six degrés de libertés.

La classification des VANH complètement actionnés est faite en fonction des propriétés de leurs matrice d'allocation [START_REF] Ramy | Fully Actuated Multirotor UAVs: A Literature Review[END_REF][START_REF] Ollero | Past, Present, and Future of Aerial Robotic Manipulators[END_REF][START_REF] Hamandi | Survey on Aerial Multirotor Design: A Taxonomy Based on Input Allocation[END_REF]. Quand le rang de la matrice d'allocation est égal à six, ils sont considérées comme complètement actionnés. De plus, si le VANH peut compenser la force de gravité pour n'importe quelle orientation, il est considérée comme omnidirectionnel.

Il y a deux types principaux de VANH: fixed tilt, et variable-tilt [START_REF] Ramy | Fully Actuated Multirotor UAVs: A Literature Review[END_REF]. Deux exemples de fixed et variable tilt sont disponibles dans la Figure A.6. Pour les fixed-tilt VANH, les actionneurs sont rigidement attachés au bâti. Ils ont une position et orientation fixe. En revanche, les variable-tilt sont actionnées par des moteurs qui permettent de réguler la direction de la poussée. La simple structure mécanique des fixed-tilt facilite leurs commande. En effet, leurs matrice d'allocation est constante, donc ils ne souffrent pas de potentielles singularités. Ainsi, les structures fixed-tilt seront préférées pour la conception du nouveau prototype MASE.

(a) Fixed-tilt AM [START_REF] Dyer | Energy Optimal Control Allocation in a Redundantly Actuated Omnidirectional UAV[END_REF] (b) Variable tilt AM [START_REF] Bodie | An Omnidirectional Aerial Manipulation Platform for Contact-Based Inspection[END_REF] Figure A.6 -Exemples de fixed et variable tilt.

Comme présentée dans l'étude bibliographique [START_REF] Ramy | Fully Actuated Multirotor UAVs: A Literature Review[END_REF], la plupart des stratégies d'optimisation cherchent à maximiser l'ensemble des torseurs d'effort que la plateforme peut générer dans toutes les directions. Une autre caractéristique recherchée, particulièrement pour les structures omnidirectionnelles, est l'invariance par rotation [START_REF] Brescianini | An Omni-Directional Multirotor Vehicle[END_REF][START_REF] Park | ODAR: Aerial Manipulation Platform Enabling Omnidirectional Wrench Generation[END_REF]. En effet, pour les VANH omnidirectionnels, c'est un avantage si le véhicule aérien peut survoler dans n'importe quelle orientation. de sens de rotation, la force contre-électromotrice ne peut pas être mesurée précisément. Ceci entraîne une zone morte dans la saturation. Ce phénomène a été nommé singularité induite par ESC dans [START_REF] Park | ODAR: Aerial Manipulation Platform Enabling Omnidirectional Wrench Generation[END_REF]. Afin de répondre à cette limite, les auteurs dans [START_REF] Brescianini | An Omni-Directional Multirotor Vehicle[END_REF] et [START_REF] Park | ODAR: Aerial Manipulation Platform Enabling Omnidirectional Wrench Generation[END_REF] proposent des techniques d'allocation minimisant l'inversion de signe des propulseurs.

Afin de contourner les singularités induites par ESC, les unités de propulsion de notre ancien prototype sont composées de deux moteurs coaxiaux comme on peut le voir dans la Figure A.8. Pour une force désirée, seulement un des moteur est utilisé, tandis que l'autre reste inactif avec une basse vitesse de rotation (donc générant une poussée négligeable). Avec cette méthode, le direction de rotations de chaque moteur est constante, donc la singularité induite par ESC est évitée. Autre approche permettant d'éviter le problème de singularité induite par ESC est de concevoir des véhicules aériens omnidirectionnels n'utilisant que de propulseurs unidirectionnels comme proposé par Tognon et Franchi dans [START_REF] Tognon | Omnidirectional Aerial Vehicles With Unidirectional Thrusters: Theory, Optimal Design, and Control[END_REF]. Leurs stratégie de conception minimise l'intervalle des commandes nécessaires pour un ensemble de torseurs d'efforts donné. Ceci est réalisé en minimisant le conditionnement de la matrice d'allocation. Des VANH omnidirectionnels utilisant que des propulseurs unidirectionnels sont appelés omniplus. Des prototypes omniplus utilisant la méthode d'optimisation présentée dans [START_REF] Tognon | Omnidirectional Aerial Vehicles With Unidirectional Thrusters: Theory, Optimal Design, and Control[END_REF] sont le temps pour réaliser une trajectoire est considérée comme critère d'optimisation. La raideur et dextérité de RPC plans ont été considérés dans l'optimisation présentée dans [START_REF] Abdolshah | Optimizing Stiffness and Dexterity of Planar Adaptive Cable-Driven Parallel Robots[END_REF], tandis que la raideur et l'espace de travail sont considérés dans [4]. La tension de câble maximale sur tout l'espace de travail (directement reliée au coût de fabrication du robot), est minimisée dans [START_REF] Hussein | Smallest Maximum Cable Tension Determination for Cable-Driven Parallel Robots[END_REF]. Finalement, une méthode d'optimisation multi-critère pour des robots parallèles est développée dans [START_REF] Hao | Multi-Criteria Optimal Design of Parallel Manipulators Based on Interval Analysis[END_REF].

A.2.4 Conclusion

Compte tenu de l'état de l'art, les principaux éléments à retenir pour l'optimisation mécanique d'un MASE sont résumés ci-dessous.

L'utilisation de propulseurs unidirectionnels permet d'éviter des limites technologiques dans la commande bas-niveau des actionneurs. Les véhicules aériens omnidirectionnels utilisant des propulseurs unidirectionnels sont appelés omniplus. Les véhicules aériens omniplus ont une structure mécanique simple, et leurs matrice d'allocation permet d'implémenter simples techniques d'allocation. Dans l'ensemble, les structures omniplus sont adaptés pour les MA d'un MASE.

L'espace de travail de RPC est souvent une préoccupation majeure lors de la phase de conception d'un RPC. Pour le MASE, l'espace de travail est un critère intéressant car il dépend du ressort et la saturation des actionneurs.

A.3 Asservissement visuel

Les lois de commandes implémentés dans les précédents prototypes MASE dépendent d'un système de motion capture. Ceci contraint le MASE à des applications d'intérieur et dans des environnements contrôlés. Explorer l'ensemble minimal de capteurs nécessaires afin de commander efficacement un MASE permet d'augmenter la gamme de potentielles applications.

Contrairement aux RPC avec des câbles actionnés, le MASE utilise un câble passif et élastique pour suspendre un MA. Un capteur proprioceptive que l'on trouve communément dans les VANH sont les centrales inertielles, nommées par leurs acronyme anglais IMU dans la suite. En effet, tous les anciens prototypes MASE possédaient des IMU embarquées. En fonction du nombre de capteurs dans l'IMU, l'orientation complète ou partielle du MASE peut être estimée par rapport à un référentiel inertiel [START_REF] Mahony | Nonlinear Complementary Filters on the Special Orthogonal Group[END_REF][START_REF] Sebastian | Estimation of IMU and MARG Orientation Using a Gradient Descent Algorithm[END_REF].

Pour contrôler précisément la position d'un MASE, un capteur extéroceptive comme une caméra ou un LIDAR est nécessaire. Une caméra est plus versatile qu'un LIDAR et est souvent embarquée dans des VANH [START_REF] Ollero | Past, Present, and Future of Aerial Robotic Manipulators[END_REF]. De plus, les caméras et les IMU sont des capteurs complémentaires et sont souvent utilisés dans des systèmes de navigation [START_REF] Huang | Visual-Inertial Navigation: A Concise Review[END_REF].

La technique bien établie d'asservissement visuel [START_REF] Chaumette | Visual Servo Control. I. Basic Approaches[END_REF] permet de contrôler la pose d'un robot en utilisant une caméra. Dans cette section différentes méthodes d'asservissement visuel sont présentées. Un intérêt particulier est consacré aux techniques d'asservissement visuel développées pour des VANH. Finalement, des applications d'intérêt pour la thèse, et utilisant des techniques d'asservissement visuel sont présentées.

A.3.1 Les bases de l'asservissement visuel

Le principal défi de l'asservissement visuel est d'établir un lien entre l'espace Cartésien et l'espace image. La tâche est généralement définie dans l'espace Cartésien correspondant à l'environnement physique 3D où évolue le robot. L'espace image est l'espace 2D discret du capteur visuel correspondant aux mesures. L'espace image est le résultat de la projection perspective de l'espace Cartésien en utilisant le modèle sténopé de la caméra [21]. Deux principales approches existent pour l'asservissement visuel: l'Asservissement Visuel Basé Position (AVBP) et l'Asservissement Visuel Basé Image (AVBI) [21,[START_REF] Chaumette | Visual Servo Control. I. Basic Approaches[END_REF]. Pour l'AVBP, la position relative entre une ou multiple caméras est estimée en détectant des marqueurs visuels dans l'image caméra. L'estimation de pose est utilisée dans une loi de commande traditionnelle définie dans l'espace Cartésien. Du point de vue du contrôleur, il n'y a aucune information indiquant que le capteur utilisé est une caméra. La localisation 3D typiquement rentre dans cette catégorie. En revanche l'AVBI relie directement la vitesse des marqueurs visuels dans l'espace image, à la vitesse Cartésienne de la caméra. Aucun algorithme d'estimation de pose est utilisé dans l'AVBI. La relation entre les vitesses dans l'espace image et l'espace Cartésien est réalisé par l'intermédiaire de la matrice dinteraction. Il est courant que la matrice dinteraction soit obtenue en effectuant une approximation au premier ordre entre la vitesse caméra et la vitesse des marqueurs visuels dans le plan image. Une convergence plus rapide est obtenue dans la commande si l'on utilise une approximation du deuxième ordre [21]. Les schéma blocs de commande pour l'AVBP et l'AVBI sont comparés dans la Figure A.10.

AVBP effectue des mouvements de caméra efficaces en ligne droite dans l'espace Cartésien, mais peut faire en sorte que les marqueurs visuels quittent le champ de vision de la caméra, ce qui peut déstabiliser le système. En revanche, AVBI conserve toujours les marqueurs visuels dans le champs de vision de la caméra, cependant il peut entraîner des trajectoires au-delà de l'espace de travail du robot. Il est particulièrement sensible aux rotations autour de l'axe optique [21]. Cependant, AVBI est plus robuste aux erreurs d'étalonnage de la caméra et au bruit de mesure.

Les méthodes d'asservissement visuel directes utilisent toute l'information disponible dans le capteur, donc elles sont plus précises. La correspondance et le suivi de points d'intérêt sont sensibles à des erreurs de mesure ce qui diminue la précision [START_REF] Caron | Omnidirectional Photometric Visual Servoing[END_REF][START_REF] Dame | Mutual Information-Based Visual Servoing[END_REF][START_REF] Marchand | Direct Visual Servoing in the Frequency Domain[END_REF]]. De plus, les approches directes sont robustes à des occlusions et erreurs de mesure. Le principal désavantage des méthodes directes c'est que elles nécessitent de plus de ressources de calcul, donc leurs implémentation est plus lente.

A.3.3 Asservissement visuel des VANH

Il existe deux possibles configurations afin de contrôler un VANH avec une caméra : eye-to-hand et eye-in-hand. Dans la cas eye-to-hand, la caméra pointe vers le VANH, tandis que dans la configuration eye-in-hand, la caméra est embarquée dans le VANH.

La configuration la plus utilisée dans la littérature est la configuration eyeto-hand en utilisant un système de motion capture. Cette configuration est très pratique pour des essais en laboratoire, mais impossible à reproduire sur le terrain. De plus, les systèmes de motion capture sont onéreux. En revanche, la configuration eye-in-hand permet d'augmenter les capacités de navigation des VANH ce qui augmente la gamme de potentielles applications à l'extérieur, comme l'inspection et manutention de constructions difficiles d'accès [START_REF] Ollero | Past, Present, and Future of Aerial Robotic Manipulators[END_REF].

Afin de compenser le sous-actionnement des quadrotors, il est commun d'avoir deux boucles de commandes, une boucle interne pour l'orientation, et une boucle externe pour la position. Avec cette architecture, l'IMU est utilisée comme estimateur d'attitude pour la boucle interne, et la caméra est utilisée pour la boucle externe de position. La difficulté de l'asservissement visuel des quadrotors est que la projection des points d'intérêt dans le plan image sont fortement couplés à la cinématique en orientation de la caméra. Par conséquent, un effort important a été mis en uvre dans la recherche pour développer des techniques d'AVBI qui permettent de découpler facilement la commande en orientation et en position. Il y a quatre principaux types d'AVBI pour quadrotors dans la littérature : (i) méthodes dites sphériques, (ii) méthodes à ressort virtuel, (iii) méthodes utilisant des homographies, et (iv) méthodes utilisant des caméras virtuelles. Ces méthodes sont présentées succinctement ci-dessous. Pour une comparaison plus développée de ces méthodes, le lecteur peut se référer à la thèse [START_REF] Xie | Dynamic Visual Servoing of Rotary Wing Unmanned Aerial Vehicles[END_REF].

L'utilisation de moments sphériques pour la commande de systèmes sousactionnés a été introduite par Hamel et Mahony dans [START_REF] Hamel | Visual Servoing of an Under-Actuated Dynamic Rigid-Body System: An Image-Based Approach[END_REF]. Leur but est de concevoir un AVBI qui permet d'exploiter la dynamique complète d'un solide rigide sous-actionné. Dans leurs travaux, ils prouvent que les caméras sphériques sont les seules à préserver les propriétés de passivité dans le plan image. Cette robot mobile, comme par exemple un drone attaché au robot principal [START_REF] Xiao | Visual Servoing for Teleoperation Using a Tethered UAV[END_REF]. Des contrôleurs optimaux ont été proposés pour gérer les contraintes de visibilité et les occlusions de la caméra afin de contrôler le robot tenant la caméra [START_REF] Nicolis | Occlusion-Free Visual Servoing for the Shared Autonomy Teleoperation of Dual-Arm Robots[END_REF].

A.3.5 Conclusions

Les méthodes d'asservissement visuel et leurs applications sont vastes. La nature de l'application souhaitée et ses contraintes déterminent la méthode d'asservissement visuel la plus adaptée. Généralement il y a un compromis à faire entre la vitesse et la précision de la commande. Dans le cas de AVBI, un soin particulier doit être apporté aux caractéristiques extraites à partir de l'image. En outre, l'exploitation des informations géométriques de la scène observée (telles que des cibles coplanaires) peut simplifier le synthèse de la loi de commande, en particulier, l'expression de la matrice d'interaction.

Un autre point à prendre en compte dans la littérature est la complémentarité entre les caméras et les IMU. La caméra est un capteur lent mais sans dérive, tandis que l'IMU est un capteur plus rapide qui souffre de dérive dans son estimation de pose. Ces capteurs sont donc des candidats idéaux pour des approches de fusion de données comme il est présenté dans les chapitres suivants.

A.4 Contributions

Les contributions de la thèse ont deux natures différentes. Le premier type de contribution est dans la conception mécanique optimal et la caractérisation d'indices de performance d'un MASE. Un algorithme d'optimisation est présenté afin de maximiser l'espace de travail atteignable d'un MASE tout en contraignant la structure du MA a être omniplus. De plus, différents critères complémentaires afin d'évaluer la performance d'un MASE sont développées ou adaptés. Ces critères peuvent être utilisés pour des futures optimisations.

Le deuxième type de contribution est dans la commande de MASE avec un nombre minimum de capteurs. Avec un nombre de capteurs donné, deux applications sont étudiées.

La première application envisagée est celle de dépose automatique de mosaïques. Le dépôt de mosaïque nécessite de la précision sur un grand espace de travail, donc un MASE est un candidat approprié pour ce type de tâche. Un algorithme de dépose de mosaïque est développé. Il utilise de l'AVBI, ce qui représente un défi car l'environnement est en constante évolution.

La deuxième application est la téléopération d'un MASE en utilisant une caméra tenue à la main couplée à une IMU. Cette configuration originale présente différents avantages par rapport à la situation plus courante où la caméra est xiii

Table of Contents xvii

List of Tables xix

List of Figures xxi

Optimal Design and Visual Servoing of a Suspended Aerial Manipulator

Abstract

An Aerial Manipulator with Elastic Suspension (AMES) is a novel type of robot developed in our team to have a simple, dexterous, low-cost, and accurate robot with a large workspace. Previous work focused on the control of AMES robots. The aim of this thesis is to develop ways of simplifying an AMES with the minimum of compromises. A mechanical optimization algorithm is proposed. The optimization results are used to build a new prototype, experimental results highlight the improvements with respect to a previous sub-optimal prototype. Furthermore, the minimal set of sensors required to control an AMES is explored through two applications. First, a method for autonomous tiling relying solely on image-based visual servoing is proposed and validated in simulation. Second, the teleoperation of an AMES using a handheld camera equipped with an IMU is studied. The proposed teleoperation framework is validated experimentally.

Keywords

1 1 . 1

 11 Background and Motivations . . . . . . . . . . . . . . . . . . . . 1 1.2 Mechanical Optimization of UAVs and CDPRs . . . . . . . . . . 5 1.3 Visual Servoing . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5 Structure of the Dissertation . . . . . . . . . . . . . . . . . . . .

1 . 15 3

 1153 Image graph used for image-based navigation. The image is taken from[START_REF] Remazeilles | Image-Based Robot Navigation from an Image Memory[END_REF]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1 Generic AMES model parameters. . . . . . . . . . . . . . . . . . . 2.2 FL control block diagram, inspired from [110]. . . . . . . . . . . 3.1 Orientation parametrization of the propellers. . . . . . . . . . . . 3.2 Illustration of the optimal configurations for the unconstrained and constrained optimization problems. . . . . . . . . . . . . . . Problem parameters. . . . . . . . . . . . . . . . . . . . . . . . . . 3.4 Variation table of the angular acceleration in function of the rod length. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5 Illustration of the overestimation due to the interval evaluation of a function. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6 WFW of the optimal structure. The colormap has no physical meaning, it is only for visualization purposes. . . . . . . . . . . . 4.1 CAD of the new aerial vehicle prototype. . . . . . . . . . . . . . . 4.2 Electronic architecture of the prototype. . . . . . . . . . . . . . . 4.3 Experimental platform and its elements: motion capture system, spring, and the new manufactured AMES prototype. . . . . . . . 4.4 Control block diagram of the new AMES prototype. . . . . . . .4.5 Position a), orientation b), and control input c) for step responses. The actuators saturation is represented by a red dashed line. . . 4.6 Trajectory tracking position a), orientation b), and control input c). The actuators saturation is represented by a red dashed line. . 4.7 Trajectory tracking position a), and orientation b) error signals. . 4.8 Experimental reachable workspace characterization. . . . . . . . 4.9 Reachable workspaces of the previous and current prototypes. . 5.1 Examples of tiling robots: (a) first concept of a tiling mobile robot

5 . 2

 52 Example of a graph used for appearance-based navigation. The image is taken from [10]. . . . . . . . . . . . . . . . . . . . . . . . 5.3 Pick and place example of two tiles. The Scene column represents the current tiling. The red dashed arrow corresponds to the robot reference trajectory, the red dots highlight its position at each recorded image. The Reference column gives the list of images used as a reference for the current step. The Recorded Images column, are the list of images stored by the robot while following its reference trajectory. . . . . . . . . . . . . . . . . . . . . . . . . 5.4 The previous image is repeated here to facilitate the reading. . . 5.5 Initialization Steps. . . . . . . . . . . . . . . . . . . . . . . . . . . 5.6 Illustration of the round trip scenario and of the keyframes recorded during the movement from A to B. . . . . . . . . . . . . . . . . . 5.7 Control block diagram of a round trip scenario. . . . . . . . . . . 5.8 Correspondence of the perspective projection of images on a plane by a homography. Image inspired from [38, Figure 13.1]. . . . . . 5.9 Illustration of the feature matching steps. . . . . . . . . . . . . . xxiii 5.10 Reference update illustration. . . . . . . . . . . . . . . . . . . . .

94 5 .

 5 14 Simulation coordinate frames. . . . . . . . . . . . . . . . . . . . . 95 5.15 Initial and final conditions of the simulation. . . . . . . . . . . . 95 5.16 Camera position for the simulation of the autonomous tiling of five tiles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 5.17 Camera position (a) and control input (b) for the deposit of the fifth tile. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 5.18 Control input along x c and a signal indicating when the reference has been updated. The ref_update signal is equal to one, when the reference has changed w.r.t. to the previous sampling period, otherwise the signal is equals to zero. . . . . . . . . . . . . . . . . 97 6.1 Tele-assembly experimental setup and objects used for the teleassembly task done in [93] . . . . . . . . . . . . . . . . . . . . . . 6.2 Example of handheld devices used in medical applications. . . . 6.3 System overview of [25]. . . . . . . . . . . . . . . . . . . . . . . . 6.4 Illustration of the control algorithm steps in [25]. . . . . . . . . . 6.5 Concept illustration of the visual servoing using a handheld camera with an IMU. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.6 Model parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.7 1-DoF system model parameters. . . . . . . . . . . . . . . . . . . 6.8 Pose error illustration. . . . . . . . . . . . . . . . . . . . . . . . . 6.9 Global teleoperation control block diagram with all the elements:

6 . 13

 613 Virtual camera parametrization. . . . . . . . . . . . . . . . . . . . 6.14 Complete teleoperation control block diagram with all the elements: controller, state estimation, disturbance observer, and virtual camera and IMU. . . . . . . . . . . . . . . . . . . . . . . . 6.15 System overview of the experimental setup. . . . . . . . . . . . . 6.16 AMES prototype with its LED markers. . . . . . . . . . . . . . . . 6.17 Handheld device, camera and IMU. . . . . . . . . . . . . . . . . . 6.18 Control block of the experiments using the EKF. . . . . . . . . . 6.19 Comparison of the controller position error and controller output,along x b , with and without EKF, for a camera movement along its optical axis x c represented by a black solid line. The black dashed lines represent the 10 % settling time limit. . . . . . . . . . . . . 6.20 Object where the LASER beam must pass through, and aerial vehicle with added LASER. . . . . . . . . . . . . . . . . . . . . . . 6.21 Feedback Linearization and PID control position error and controller output comparison along x b , for an absolute camera movement along x c . The black dashed lines represent 10 % of the camera displacement amplitude. . . . . . . . . . . . . . . . . . . 6.22 Feedback Linearization and PID control position error and controller output comparison along y b , for an absolute camera movement along y c . The black dashed lines represent 10 % of the camera displacement amplitude. . . . . . . . . . . . . . . . . . . 6.23 Feedback Linearization and PID control position error and controller output comparison along z b , for an absolute camera movement along z c . The black dashed lines represent 10 % of the camera displacement amplitude. . . . . . . . . . . . . . . . . . . 6.24 Control block diagram used for the VCI experiments. . . . . . . 6.25 Controller error (a) and controller output (b) with and without the VCI along y b . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.26 Allocation output with (a) and without (b) the VCI. The actuators saturation is represented by a red dashed line. . . . . . . . . . . . 6.27 Relative position of the aerial vehicle along y c (a), and controller output (b) along y b . At t = 1 s, the camera is rotated around z c . At t = 5.6 s, a constant perturbation of -4 N is exerted along y b . . . . 7.1 Setup with onboard camera in the AMES in order to measure the spring elongation. . . . . . . . . . . . . . . . . . . . . . . . . . . .

Figure 1 . 5 -

 15 Figure 1.5 -Components of the AMES robot [110].

Figure 1 . 8 -

 18 Figure 1.8 -Propulsion units used by the previous AMES prototype [110].

3. 1 38 3. 2 42 3. 3

 1382423 Omniplus Design 36 3.1.1 Definitions . . . . . . . . . . . . . . . . . . . . . . . 36 3.1.2 Allocation Strategies . . . . . . . . . . . . . . . . . . 36 3.1.3 Optimal Omniplus Design . . . . . . . . . . . . . . . Design Optimization 38 3.2.1 Definitions . . . . . . . . . . . . . . . . . . . . . . . 39 3.2.2 Workspace Optimization . . . . . . . . . . . . . . . . 41 3.2.3 Optimization Results . . . . . . . . . . . . . . . . . . Optimal Radius 45 3.3.1 Problem Definition and Motivations . . . . . . . . . 45 3.3.2 Problem Parametrization . . . . . . . . . . . . . . . . 45 3.3.3 Optimal Radius . . . . . . . . . . . . . . . . . . . . . 46 3.4 Wrench-Feasible Workspace of an AMES 47 3.4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . 47 3.4.2 Interval Modeling . . . . . . . . . . . . . . . . . . . . 48 3.4.3 CDPR WFW Computation . . . . . . . . . . . . . . 52 3.4.4 AMES WFW Computation . . . . . . . . . . . . . . . 53

Figure 3 . 2 -

 32 Figure 3.2 -Illustration of the optimal configurations for the unconstrained and constrained optimization problems.

Figure 3 . 4 -

 34 Figure 3.4 -Variation table of the angular acceleration in function of the rod length.

  39) where b s w (χ) is the box enclosure of the set b f s ([χ]) corresponding to the spring wrenches given pose box [χ].

Figure 3 . 6 -

 36 Figure 3.6 -WFW of the optimal structure. The colormap has no physical meaning, it is only for visualization purposes.

Figure 4 . 5 -

 45 Figure 4.5 -Position a), orientation b), and control input c) for step responses. The actuators saturation is represented by a red dashed line.

Figure 4 . 6 -Figure 4 . 7 -

 4647 Figure 4.6 -Trajectory tracking position a), orientation b), and control input c). The actuators saturation is represented by a red dashed line.

5 . 1 . 1

 511 Related Work and Contributions . . . . . . . . . . . 5.1.2 Method Overview . . . . . . . . . . . . . . . . . . . . 5.2 Definitions, Assumptions, and Initialization 5.2.1 Assumptions . . . . . . . . . . . . . . . . . . . . . . 5.2.2 Definitions and Notations . . . . . . . . . . . . . . . 5.2.3 Initialization Steps . . . . . . . . . . . . . . . . . . . 5.3 Image-Based Navigation from an Image Stack 5.3.1 Feature Matching . . . . . . . . . . . . . . . . . . . . 5.3.2 Reference Handler and Image Recorder . . . . . . . 5.3.3 Reference Shift . . . . . . . . . . . . . . . . . . . . .

Figure 5 . 17 -

 517 Figure 5.17 -Camera position (a) and control input (b) for the deposit of the fifth tile.

Figure 5 . 18 -

 518 Figure 5.18 -Control input along x c and a signal indicating when the reference has been updated. The ref_update signal is equal to one, when the reference has changed w.r.t. to the previous sampling period, otherwise the signal is equals to zero.

  [START_REF] Dyer | Energy Optimal Control Allocation in a Redundantly Actuated Omnidirectional UAV[END_REF] where ω m,b/f and a m,b/f denote the biased aerial vehicle gyroscope and accelerometer measurements, b ω and b a are the gyroscope and accelerometer biases respectively, n ω and n a represent white Gaussian noise.The biases b ω and b a are considered constant:

  [START_REF] Marchand | Direct Visual Servoing in the Frequency Domain[END_REF])e η = η b ref /b = θ r θ p θ y T (6.60)Finally the pose error is equal to:

Figure 6 . 19 -

 619 Figure 6.19 -Comparison of the controller position error and controller output, along x b , with and without EKF, for a camera movement along its optical axis x c represented by a black solid line. The black dashed lines represent the 10 % settling time limit.

Figure 6 . 21 -Figure 6 . 22 -

 621622 Figure 6.21 -Feedback Linearization and PID control position error and controller output comparison along x b , for an absolute camera movement along x c . The black dashed lines represent 10 % of the camera displacement amplitude.

Figure 6 . 27 -

 627 Figure 6.27 -Relative position of the aerial vehicle along y c (a), and controller output (b) along y b . At t = 1 s, the camera is rotated around z c . At t = 5.6 s, a constant perturbation of -4 N is exerted along y b .

7. 1

 1 Optimal Design 150 7.1.1 Contributions . . . . . . . . . . . . . . . . . . . . . . 150 7.1.2 Limits and Perspectives . . . . . . . . . . . . . . . . 150 7.2 Tiling Using IBVS 151 7.2.1 Contributions . . . . . . . . . . . . . . . . . . . . . . 151 7.2.2 Limits and Perspectives . . . . . . . . . . . . . . . . 152 7.3 Visual Servoing with a Handheld Camera and IMU 153 7.3.1 Contributions . . . . . . . . . . . . . . . . . . . . . . 153 7.3.2 Limits and Perspectives . . . . . . . . . . . . . . . . 154 7.4 General Conclusions and Perspectives 155

Figure A. 2

 2 est extraite de cette publication, et regroupe les différents types de MA depuis 2010. On peut distinguer deux grand types de MA. Le premier type possède un effecteur simple (une pince), et il est appelé flying hand. Le deuxième type correspond à des configurations où le véhicule aérien est équipe d'un robot série ou parallèle D'autre part, les RPC sont composés d'une plateforme mobile connectée parallèlement par des câbles à un bâti comme illustré dans la Figure A.3. En changeant la longueur des câbles, la pose (position et orientation) de la plateforme mobile peut être contrôlée. La longueur des câbles est contrôlée en enroulant les câbles dans une poulie [80]. Une application commerciale bien connue des RPC est le Skycam utilisée pour l'enregistrement vidéo de films ou événements sportifs. La Figure A.4 présente un des prototypes existants de Skycam.

Figure A. 5 -

 5 Figure A.5 -Composants principaux d'un MASE [110].

Figure A. 8 -

 8 Figure A.8 -Unités de propulsion du précédent prototype [110].

1 1 . 1

 11 Background and Motivations . . . . . . . . . . . . . . . . . . . . 1 1.1.1 Aerial Manipulators and Cable-Driven-Parallel Robots . . 2 1.1.2 Aerial Manipulator with Elastic Suspension . . . . . . . . 3 1.2 Mechanical Optimization of UAVs and CDPRs . . . . . . . . . . 5 1.2.1 Wrench Matrix Definition . . . . . . . . . . . . . . . . . . 6 1.2.2 Optimization of fully-actuated UAVs . . . . . . . . . . . . 7 1.2.3 Optimization of CDPRs . . . . . . . . . . . . . . . . . . . 1.2.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3 Visual Servoing . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.1 Basics of Visual Servoing . . . . . . . . . . . . . . . . . . 1.3.2 Correspondence Free Visual Servoing . . . . . . . . . . . 1.3.3 Visual Servoing of UAVs . . . . . . . . . . . . . . . . . . . 1.3.4 Relevant Applications . . . . . . . . . . . . . . . . . . . . 1.3.5 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5 Structure of the Dissertation . . . . . . . . . . . . . . . . . . . .

Table of Contents

 of

	Abstract	ix
	Acknowledgments	xi
	Acronyms	xiii
	Table of Contents	xvii
	List of Tables	xix
	List of Figures	xxi
	1 Introduction

  Omniplus Design . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Design Optimization . . . . . . . . . . . . . . . . . . . . . . . . 3.3 Optimal Radius . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4 Wrench-Feasible Workspace of an AMES . . . . . . . . . . . . . Example of an AM drawing on a whiteboard. The image is taken from [12]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Evolution of different types of AM. The image is taken from [71]. 1.3 Main components of a CDPR robot, image taken from [33]. . . . 1.4 Skycam robot, image taken from [91]. . . . . . . . . . . . . . . . . 1.5 Components of the AMES robot [110]. . . . . . . . . . . . . . . . 1.6 Example of fixed and variable tilt aerial vehicles. . . . . . . . . . 1.7 Examples of omnidirectional UAV. . . . . . . . . . . . . . . . . . 1.8 Propulsion units used by the previous AMES prototype

	List of Figures
	1.1
	3 Optimal Design
	3.1 xvii

2 Model and Control 2.1 Notations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Preliminaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3 System Parametrization . . . . . . . . . . . . . . . . . . . . . . . 2.4 Dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.5 Control Law . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

  . . . . . . . . . . . . . . A.3 Principaux éléments d'un RPC [33]. . . . . . . . . . . . . . . . . . A.4 Robot Skycam [91]. . . . . . . . . . . . . . . . . . . . . . . . . . . A.5 Composants principaux d'un MASE [110]. . . . . . . . . . . . . . A.6 Exemples de fixed et variable tilt. . . . . . . . . . . . . . . . . . . A.7 Exemples de structure omnidirectionnelles. . . . . . . . . . . . . A.8 Unités de propulsion du précédent prototype [110]. . . . . . . . A.9 Concept de robot SAM [88]. . . . . . . . . . . . . . . . . . . . . . Aerial Manipulator with Elastic Suspension . . . . . 3 1.2 Mechanical Optimization of UAVs and CDPRs 5 1.2.1 Wrench Matrix Definition . . . . . . . . . . . . . . . 6 1.2.2 Optimization of fully-actuated UAVs . . . . . . . . . 7 1.2.3 Optimization of CDPRs . . . . . . . . . . . . . . . . 10 1.2.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . Basics of Visual Servoing . . . . . . . . . . . . . . . . 12 1.3.2 Correspondence Free Visual Servoing . . . . . . . . 12 1.3.3 Visual Servoing of UAVs . . . . . . . . . . . . . . . . 15 1.3.4 Relevant Applications . . . . . . . . . . . . . . . . . 18 1.3.5 Conclusions . . . . . . . . . . . . . . . . . . . . . . . 19

	Introduction
	Outline of the current chapter
	1.1 Background and Motivations	1
	1.1.1 Aerial Manipulators and Cable-Driven-Parallel Robots	2
	1.1.2 11
	1.3 Visual Servoing	11
	1.3.1 1.4 Contributions	20
	1.5 Structure of the Dissertation	20

Table 3 .

 3

	Configuration 1 Configuration 2

1 -Examples of two optimal omniplus configurations with similar matrix condition number but different RW volumes. The RW was computed with a spatial resolution of 10 cm over a rectangular volume of 8.64 m 3 .

  4.1 Aerial Vehicle Design 59 4.1.1 Mechanical Design . . . . . . . . . . . . . . . . . . . 59 4.1.2 Electronics and Software . . . . . . . . . . . . . . . . 62 4.2 Experimental Results 64 4.2.1 Step Responses . . . . . . . . . . . . . . . . . . . . . 64 4.2.2 Trajectory Tracking . . . . . . . . . . . . . . . . . . . 68 4.2.3 Reachable Workspace Characterization . . . . . . . . 71

Table 4

 4 .1. The complete control block diagram of the system is available in Figure4.4, where the block Allocation designates the sub-optimal allocation presented in Chapter 3.1.2.2. The output of the Allocation block is a vector u containing the reference thrust for each propeller. The block Rot. Speed Conversion inverts the relationship (2.9) to compute the rotational reference speed for the low-level speed regulation of the propellers which is implemented in the FCs as previously explained. The rotational reference speed of the i-th propeller is noted ω * P i in Figure4.4. The block Saturation limits the rotational reference speed of the propellers to a maximum of 25 000 rpm. Finally, the measurements from the embedded IMU and the motion capture system are used to compute the error of the FL controller (see Chapter 2.5.1).

	Parameter Description	Value	Unit
	k	Spring stiffness	22	[N m -1 ]
	l 0 m b I xx I yy I zz a ---→ GP i	Spring free length Total mass Inertia moment around x b Inertia moment around y b Inertia moment around z b Thrust coefficient Propellers and CoM distance 0.3 0.78 2.717 35.9 × 10 -3 [kg m 2 ] [m] [kg] 35.9 × 10 -3 [kg m 2 ] 71.8 × 10 -3 [kg m 2 ] 1.82 × 10 -6 [N rad -2 s 2 ] [m]

Table 4 .

 4

1 -Model parameters used for the FL controller.

Table 4 .

 4 2. The robot is 42 % heavier than our previous prototype[START_REF] Yiğit | Novel Omnidirectional Aerial Manipulator With Elastic Suspension: Dynamic Control and Experimental Performance Assessment[END_REF] yet it has similar dynamic performances but with 20 % less overshoot: rise times are less than 110 ms for positions, and inferior to 190 ms for the orientations. The controller tuning gains used in these experiments are K p = 150.I 6 , K i = 400.I 6 , K d = 20.I 6 . The controller gains were tuned experimentally to minimize the settling time and the overshoot.

	Characteristics		Degree of Freedom
		x	y	z	roll pitch	yaw
	Overshoot [%]	34.8 32.14 28.46	6.55	2.24 33.90
	Rise Time 10-90% [s] 0.104 0.103 0.108 0.170 0.188 0.090
	Settling Time 5% [s] 0.869 0.918 1.123 0.496 0.318 0.789

Table 4 .

 4 2 -Step responses characteristics.

					(a)
	Position [m]	0.000 0.020 0.040							x ref x y ref y z ref z
		0		10	20	30	40	50
					(b)
	Orientation [deg]	-2.000 0.000 2.000 4.000 6.000							roll ref roll pitch ref pitch yaw ref yaw
		0		10	20	30	40	50
					(c)
	Rotation Speed [rpm]	0 10,000 20,000 30,000	0	10	20	30	40	50	ω p 1 ω p 2 ω p 3 ω p 4 ω p 5 ω p 6 ω p 7 ω p 8 sat
					Time [s]

Table 4 .

 4 3 -Trajectory tracking RMS error per DoF.In this test, the robot follows a 6-DoF polynomial trajectory. The values used for the controller are: K p = 90.I 6 , K i = 300.I 6 , K d = 20.I 6 . They were tuned experimentally to maximize precision and robustness for this kind of reference. A video of the trajectory tracking is available at (https://www.youtube.com/ watch?v=DPVq50Pw3yg). The pose reference, measurements, and the control inputs can be found in Figure4.6. The robot presents a good accuracy with a maximum Root Mean Square (RMS) error of 1.6 mm for the position and 0.7°f or the orientation (see Table4.3). The controller error signals can be found in Figure4.7.

	4.2.2 Trajectory Tracking

  Motivations . . . . . . . . . . . . . . . . . . . . . . . 6.5.2 Implementation . . . . . . . . . . . . . . . . . . . . .

	6.5 Virtual Camera and IMU
	6.5.1 6.6 Experimental Results
	6.6.1 Experimental Setup . . . . . . . . . . . . . . . . . .
	6.6.2 Extended Kalman Filter Influence . . . . . . . . . . .
	6.6.3 Feedback Linearization . . . . . . . . . . . . . . . . .

6.1 Introduction 6.2 Model 6.2.1 Problem Parametrization . . . . . . . . . . . . . . . . 6.2.2 Kinematics . . . . . . . . . . . . . . . . . . . . . . . 6.2.3 Relative Dynamics . . . . . . . . . . . . . . . . . . . 6.3 State and Disturbance Estimation 6.3.1 Visual Inertial Extended Kalman Filter . . . . . . . . 6.3.2 Observability Study . . . . . . . . . . . . . . . . . . 6.3.3 Disturbance Observer . . . . . . . . . . . . . . . . . 6.4 Control 6.4.1 Pose Error Definition . . . . . . . . . . . . . . . . . . 6.4.2 Time Derivative of the Pose Error . . . . . . . . . . . 6.4.3 PID Controller . . . . . . . . . . . . . . . . . . . . . 6.4.4 Feedback Linearization Controller . . . . . . . . . .

  .1.

	Parameter Description	w.r.t.
	p b/f p c/f p b/c	body absolute position camera absolute position body relative position	F f F f

  .4b for the second operator. Results show that the EKF reduces the task time for both operators, and independently of the order the experiments

	Without EKF		With EKF
	x	y	z	x	y	z
	Error RMS [mm] 7.11 5.76 4.54	3.65 4.31 4.09
	Improvement [%]			-48.7 -25.2 -9.9
	Table 6.2 -Controller error RMS comparison with and without EKF. The im-
	provement is computed taking the controller RMS error without EKF as a refer-
	ence.
	x	y	z roll pitch yaw
	5 K i 150 150 300 20 K p 100 100 200 K d 30 30 30 1	5 20 1	5 20 2
		(a) With EKF.
	x	y	z roll pitch yaw
	50 100 K i 90 150 200 15 5 K p 30 K d 10 15 15 0.5	5 15 0.5	2 5 1

(b) Without EKF.

Table 6 . 3

 63

-Diagonal elements of the controller with and without EKF.

  .6. A robot arm is used to move the camera with repeatable translations. The position error and the control input are compared in Figures 6.21, 6.22, and 6.23. The 10 % settling time is defined as the time when the error goes below 10 % of the absolute camera motion amplitude. The RMS error and 10 % settling time of the experiments are available in Table6.5.

						(a)
	Position Error [m]	-0.020 0.000 0.020								e x with FL e x with PID x T c • δp c/f
			0	1	2		3	4	5
	Controller Output [N]	-10.000 0.000 10.000	0	1	2	(b)	3	4	5	τ x with FL τ x with PID
					Time [s]

  : design optimization, feedback linearization, wrench feasible workspace, interval analysis, visual servoing, uav, kalman filter, teleoperation, tilingRésuméUn Manipulateur Aérien à Suspension Élastique (MASE) est un nouveau type de robot développé par notre équipe afin d'avoir un système simple, dextre, accessible, précis et avec un grand espace de travail. Les travaux précédents s'intéressent à la commande de robot MASE. Le but de cette thèse est de simplifier les systèmes MASE tout en minimisant les compromis. Un algorithme d'optimisation mécanique est proposé, puis utilisé pour fabriquer un nouveau MASE présentant de meilleures performances que l'ancien prototype. En outre, on explore le nombre minimal de capteurs nécessaires pour la commande d'un MASE à travers deux applications. D'abord, une méthode autonome de dépose de mosaïques utilisant uniquement un asservissement visuel basée image est proposée et validée en simulation. Ensuite, on s'intéresse au développement d'une méthode de télémanipulation avec une caméra tenue à la main et équipée d'une centrale inertielle. Cette méthode est validée expérimentalement.Mots clés : conception optimale, commande à contre-réaction linéarisante, espace des torseurs faisables, analyse par intervalles, asservissement visuel, uav, filtre de kalman, téléopération, mosaïquesICube LaboratoryTélécom Physique Strasbourg -300 Bd Sébastiant Brantt -CS 10413 -F-67412 Illkirch Cedex -France -

Acknowledgments

Acknowledgments

Acronyms

Acknowledgments xi

Acronyms

Disturbance Rejection

The goal of this experiment is to show that the VCI does not affect the bandwidth of the relative pose control. Thereby, the same experiment is conducted as before, but a simulated constant perturbation offset of -4 N is applied at 5.6 s to the aerial vehicle using the thrusters. The perturbation is applied after the robot arm finishes its rotation, and before the aerial vehicle reaches its final position. The relative position measured by the camera along y c is available in Figure 6.27.

From Figure 6.27, two dynamics can be distinguished in the relative pose measurement. A first slower dynamic corresponding to the settling time of the VCI with an exponential convergence to zero, and a faster disturbance rejection dynamic, between 5.5 s and 9 s, corresponding to the relative pose controller disturbance rejection. This results shows that the VCI does not affect the bandwidth of the relative pose controller.

Appendix A

Résumé

Outline of the current chapter