Zhiqi Tang
email: tang@tecnico.ulisboa.pt

Rita Cunha

David Cabecinhas
email: dcabecinhas@isr.tecnico.ulisboa.pt

Tarek Hamel
email: thamel@i3s.unice.fr

Carlos Silvestre
email: csilvestre@umac.mo

Quadrotor going through a window and landing: An image-based visual servo control approach

This paper considers the problem of controlling a quadrotor to go through a window and land on a planar target, the landing pad, using an Image-Based Visual Servo (IBVS) controller that relies on sensing information from two on-board cameras and an IMU. The maneuver is divided into two stages: crossing the window and landing on the pad. For the first stage, a control law is proposed that guarantees that the vehicle will not collide with the wall containing the window and will go through the window with non-zero velocity along the direction orthogonal to the window, keeping at all times a safety distance with respect to the window edges. For the landing stage, the proposed control law ensures that the vehicle achieves a smooth touchdown, keeping at all time a positive height above the plane containing the landing pad. For control purposes, the centroid vectors provided by the combination of the spherical image measurements of a collection of landmarks (corners) for both the window and the landing pad are used as position measurement. The translational optical flow relative to the wall, window edges, and landing plane is used as velocity cue. To achieve the proposed objective, no direct measurements nor explicit estimate of position or velocity are required. Simulation and experimental results are provided to illustrate the performance of the presented controller.

I. INTRODUCTION

Navigation of Unmanned Aerial Vehicles (UAVs) using vision systems has been an important field of research during recent decades. Especially in indoor environments, where GPS is unavailable, a widely adopted alternative sensor suite includes an inertial measurement unit (IMU) and cameras, which are both passive, lightweight, and inexpensive sensors Zingg et al. (2010). Three main solutions have been proposed for navigation using vision in indoor environments: mapbased navigation, map-building-based navigation and mapless navigation [START_REF] Desouza | Vision for mobile robot navigation: A survey[END_REF]. The first approach depends on a user-created geometric model or topology map of the environment, e.g. Perspective n Point (PnP), and the second requires the use of sensors to construct their own geometric or topological models, e.g. Simultaneous localization and mapping (SLAM). The mapless visual navigation, in which no global representation of the environment is required and the environment is perceived as the system navigates, can be classified in accordance with the main vision technique or types of clues used during the navigation, which are methods based on optical flow, appearance and feature tracking [START_REF] Desouza | Vision for mobile robot navigation: A survey[END_REF]). However, the appearance-based method has the main problems which are to find an appropriate algorithm for the representation of the environment and to define the on-line matching criteria.

Visual servo control is a popular mapless navigation method based on feature tracking, which can be classified in two main categories: Image-based visual servo (IBVS) and Positionbased visual servo (PBVS) control. PBVS involves reconstruction of the target pose with respect to the robot thus a 3-D model of the observed object should be known. However in IBVS, the control commands are deduced directly from image features, thus they offer advantages in robustness to camera and target calibration errors, reduced computational complexity, and simple extension to applications involving multiple cameras compared to PBVS methods [START_REF] Hutchinson | A tutorial on visual servo control[END_REF]). However, classical IBVS [START_REF] Chaumette | Visual servoing[END_REF]) suffers from three key problems. First, it is necessary to determine the depth of each visual feature used in the image error criterion independently from the control algorithm. Second, the rigid-body dynamics of the camera ego-motion are highly coupled when expressed as target motion in the image plane. And last, it uses a simple linearized control on the image kinematics that leads to complex non-linear dynamics and is not easily extended to the dynamics.

In order to overcome these problems, a spherical camera geometry can be used, from which the virtual spherical image points can be obtained by transforming the image points on the perspective camera to the view that would be seen by an ideal unified-spherical camera. The passivity-like properties can be recovered for a centroid image feature as long as a spherical camera geometry is used. The novel IBVS algorithms based on spherical image centroids (e.g. applications on hovering an autonomous helicopter Hamel & Mahony (2002), landing a quadrotor on moving platform [START_REF] Hérissé | Landing a vtol unmanned aerial vehicle on a moving platform using optical flow[END_REF], [START_REF] Serra | Landing of a quadrotor on a moving target using dynamic image-based visual servo control[END_REF] and landing a fixed-wing aircraft on the runway Le [START_REF] Bras | Approach maneuvers for autonomous landing using visual servo control[END_REF], [START_REF] Serra | Nonlinear image-based visual servo controller for the flare maneuver of fixed-wing aircraft using optical flow[END_REF], [START_REF] Tang | Aircraft landing using dynamic two-dimensional image[END_REF] ), do not require accurate depth information for observed image features and overcomes the difficulties associated with the highly coupled dynamics of the camera ego-motion in the image dynamics.

This paper extends the IBVS control solution based on spherical image centroids to a specific problem of steering a quadrotor to move from one room to a second one by crossing a window and then land on a planar target placed in the second room (see Fig. 1). This application has significant practical interest since many tasks (i.e. search and rescue in an earthquake-damaged building [START_REF] Michael | Collaborative mapping of an earthquakedamaged building via ground and aerial robots[END_REF], package delivery using UAVs) require UAVs to land on a final destination or to perform intermediate landings for battery recharge or exchange, or refueling (for larger UAVs) during long missions. The quadrotor is assumed to be equipped with an IMU and two on-board cameras: one forward-looking and another downward-looking. Neither the translational velocity and position of the vehicle nor the location of the target (window and landing pad) are known. In the proposed IBVS control laws, the centroid vectors provided by the combination of the spherical image measurements of a collection of landmarks (corners) from both the window and the landing pad are used as position cue and the translational optical flow relative to the plane containing window and landing pad is used as velocity cue. The proposed control strategy draws inspiration from [START_REF] Serra | Landing of a quadrotor on a moving target using dynamic image-based visual servo control[END_REF] which combines a centroid-like feature and the translational optical flow to perform exponential landing on a desired spot. This paper considers different control objectives: going through a window and then landing on a desired target. The control law for going through a window ensures that no collision with the wall or windows edges will occur and the vehicle will align with the center line orthogonal to the window, crossing it with non-zero velocity. The control law for the landing is an improvement with respect to the one used in [START_REF] Serra | Landing of a quadrotor on a moving target using dynamic image-based visual servo control[END_REF] in which the desired optical flow was chosen constant, leading to a high-gain controller that fails to achieve a perfect landing maneuver. Conversely, the desired optical flow adopted in this work is not constant. It corresponds to the component of the image centroid in the direction orthogonal to the target plane leading to a vanishing desired optical flow when the distance to the target approaches zero and therefore one avoids the high-gain nature of prior work [START_REF] Serra | Landing of a quadrotor on a moving target using dynamic image-based visual servo control[END_REF]).

Following on previous work Tang et al. (2018b), which presents the preliminary results with only simulations, this paper presents the following novel contributions: 1) bounded disturbances (e.g. due to wind, and unmodeled dynamics) are included in the dynamics of the system; 2) a complete stability analysis shows that convergence to the desired zeroheight equilibrium is guaranteed in all cases and ultimate boundedness of the horizontal position error is guaranteed when landing in the presence of horizontal disturbances; 3) experimental results are provided where the controllers run on an onboard computer together with the image processing for the detection of window and landing pad and for the computation of the translational optical flow.

The body of the paper consists of eight parts. Section II presents the dynamic model, the fundamental equations of motion, and the adopted hierarchical control architecture. Section III introduces the environment and presents the image features that are used in the control laws. Section IV proposes two control laws: one for the landing task in obstacle-free environments and the other for flying through the window. A combination of these two control laws in the practical case is also presented in this section. Section V shows simulation results obtained with the proposed controller. Section VI presents and analyzes the experimental results which validate the proposed controllers. The paper concludes with some final comments in Section VII.

A. Related Work

There are several examples in the literature of recent work dedicated to the problem of flying autonomous vehicles in complex environment using vision systems. In [START_REF] Falanga | Aggressive quadrotor flight through narrow gaps with onboard sensing and computing using active vision[END_REF], [START_REF] Guo | Image-based estimation, planning, and control for high-speed flying through multiple openings[END_REF], [START_REF] Loianno | Estimation, control, and planning for aggressive flight with a small quadrotor with a single camera and imu[END_REF], the authors specifically address the problem of going through a window using only a single camera and an IMU. However, estimation of vehicle's position and velocity is required in [START_REF] Falanga | Aggressive quadrotor flight through narrow gaps with onboard sensing and computing using active vision[END_REF], [START_REF] Loianno | Estimation, control, and planning for aggressive flight with a small quadrotor with a single camera and imu[END_REF]. Besides, the pose of the window is assumed to be known in [START_REF] Loianno | Estimation, control, and planning for aggressive flight with a small quadrotor with a single camera and imu[END_REF]. Although the work in [START_REF] Guo | Image-based estimation, planning, and control for high-speed flying through multiple openings[END_REF] directly uses image feature as position cue, estimates of the image depth are still required and the velocity vector is assumed to be known. In general, state estimation adds computational complexity, and the output is often sensitive to image noise and camera calibration errors. The limited work on image-based control approach can be explained by the complexity involved in obtaining sound proofs of convergence and stability.

Landing in complex environments calls for obstacle avoidance capabilities, which are naturally provided by the use of optical flow, a visual feature that draws inspiration from flying insects. Optical flow measures the pattern of apparent motion of objects, surfaces, and edges in a visual scene caused by the relative motion between an observer and a scene [START_REF] Burton | Thinking in perspective: critical essays in the study of thought processes[END_REF]). It has been experimentally shown that the neural system of the insects reacts to optic flow patterns to produce a large variety of flight capabilities, such as obstacle avoidance, speed maintenance, odometry estimation, wall following and corridor centering, altitude regulation, orientation control and landing [START_REF] Floreano | Science, technology and the future of small autonomous drones[END_REF], [START_REF] Serres | Optic flow-based collisionfree strategies: From insects to robots[END_REF]). Using optical flow as velocity cue and observed feature expressed in terms of an unnormalized spherical centroid, a fully nonlinear adaptive visual servo control design is provided in [START_REF] Mahony | Dynamic imagebased visual servo control using centroid and optic flow features[END_REF]. Although estimating the height of the camera above the landing plane was still required, it was the first time that an IBVS control using image measurements for both position and velocity was proposed, going beyond the kinematic model to consider the dynamics. Based on [START_REF] Mahony | Dynamic imagebased visual servo control using centroid and optic flow features[END_REF] and using optical flow, the authors proposed IBVS controllers for landing a quadrotor [START_REF] Hérissé | Landing a vtol unmanned aerial vehicle on a moving platform using optical flow[END_REF] When compared to related work, this paper proposes simple IBVS controllers applied in sequence to first go through a window and then land on a planar target, using only vision measurements and requiring no estimation of position, velocity, image depth, nor height above the target. The present work also provides rigorous mathematical proofs for stability and robustness in the presence of disturbances, complemented by experimental validation of the proposed controllers.

II. QUADROTOR MODELING AND CONTROL

ARCHITECTURE

Consider a quadrotor equipped with an IMU and two cameras. To describe the motion of the quadrotor, two reference frames are introduced: an inertial reference frame {I} fixed to the earth surface and a body-fixed frame {B} attached to the quadrotor's center of mass (see Fig. 2). Let R = I B R ∈ SO(3) denote the orientation of the frame {B} with respect to {I} and let ξ ∈ R 3 be the position of the origin of the frame {B} with respect to {I}. Let v ∈ R 3 denote the translational velocity expressed in {I} and Ω ∈ R 3 the orientation velocity expressed in {B}. The kinematics and dynamics of the quadrotor vehicle are then described as

ξ = v m v = -F + mge 3 + (1)
I Ω = -Ω × IΩ + Γ (2)
with g the gravitational acceleration, m the mass of the vehicle and I its inertia matrix. The matrix Ω × denotes the skewsymmetric matrix matrix associated with the vector product

Ω × x = Ω × x, for any x ∈ R 3 .
The vector F ∈ R 3 expressed in {I} combines the principal non-conservative forces applied to the quadrotor and generated by the four rotors. In quasi-hover conditions one can reasonably assume that this aerodynamic force is always in the direction e b 3 in {B}, since all the four thrusters are aligned with e b 3 and their contribution predominates over other components. Thus the F in the direction of e b 3 expressed in the inertial frame can be described as follows:

F = F T Re 3 (3)
where the scalar F T represents the total thrust magnitude generated by the four motors. It also represents the unique control input for the translational dynamics.

The term combines the modeling errors and aerodynamic effects due to the interaction of the rotors wake with the environment causing random wind and dynamic inflow effects [START_REF] Peters | Dynamic inflow for practical applications[END_REF]).

The vector Γ ∈ R 3 expressed in {B} is the torque control for the attitude dynamics. It is obtained via the combination of the contributions of four rotors. The invertible linear map between [F T ∈ R + , Γ ∈ R 3 ] and the collection of individual thrusters [F T1 , F T2 , F T3 , F T4 ] can be found in Hamel et al. (2002).

A. Control architecture

A hierarchical control design strategy is adopted in this paper (see Fig. 3). This choice is motivated by the natural structure of the system dynamics and its practical implementation [START_REF] Bertrand | A hierarchical controller for miniature {VTOL} uavs: Design and stability analysis using singular perturbation theory[END_REF][START_REF] Hérissé | Landing a vtol unmanned aerial vehicle on a moving platform using optical flow[END_REF]). For the translational dynamics of the quadrotor (Eq. ( 1)), the force F (Eq. ( 3)) is used as control input by means of its thrust direction and its magnitude. This constitutes a high-level outer loop for the control design. The thrust F T is directly the magnitude of the designed force (F T = F ) and the desired attitude R d (partly obtained by the desired direction R d e 3 = F F complemented by a desired yaw) can then be reached by considering the body's angular velocity Ω as an intermediary control input, which constitutes again a desired angular velocity for the fully actuated orientation dynamics (Eq. ( 2)) via the high gain control torque Γ. The stabilisation of the orientation dynamics is not the subject of this paper and it is assumed that a suitable low level robust stabilising control is implemented, that satisfactorily regulates the attitude error with a fast dynamics.

III. ENVIRONMENT AND IMAGE FEATURES

In this section adequate image features in relation to the considered tasks are derived and all required assumptions regarding the environment and the setup are established.

Assumption 1. A downward-looking camera and a forwardlooking camera are attached to the center of mass of the vehicle. The downward-looking camera reference frame coincides with the body-fixed frame {B}. The rotation matrix from the forward-looking camera reference frame to the body frame

B C R ∈ SO(3) is known. Assumption 2.
The angular velocity Ω is measured and the orientation matrix R of {B} with respect to {I} is obtained by external observer-based IMU measurements. This allows to represent all image information and the system dynamics in the inertial frame.

Assumption 3. The landing target lies on a textured plane which is called target plane. Its normal direction η t ∈ S 2 in the inertial frame is known (typically η t ≈ e 3 ).

Assumption 4. The target window has a rectangle shape and lies on a textured wall which is called window plane. Its width r w is known but its normal direction η w ∈ S 2 is unknown.

Both landing plane and window plane are placed in the environment, as shown in Figure 4. It assumed that the vehicle is able to recognize the landing pad and the window from landmarks on the pad and from corners and edges of the window respectively. The background texture on both landing plane and window plane are also exploited to obtain information about the vehicle's velocity with respect to the planes and also to avoid collisions with the wall and the window's edges.

For any initial position (along with any initial velocity) outside the room containing the landing pad, the main objective is to design a feedback controller resorting only to image features that can ensure automatic landing of the vehicle without any collision.

A. Image features on the landing plane

The target on the landing plane is depicted in Figure 4. The axes of {I} are given by (u t , ρ t , η t ), where ρ t = η t × u t , and the origin of {I} is placed at the center of the landing pad. As shown in Figure 4,s t i ∈ R 3 denotes the position of ith marker (or a corner) of the landing pad relative to the inertial frame expressed in {I}. Note that η t s t i = 0. Define the position vector of ith marker of the target relative to {B} as

P t i = s t i -ξ. ( 4
)
The position of the vehicle relative to the center of the landing pad is defined as

ξ t = - 1 n t nt i=1 P t i = ξ - 1 n t nt i=1 s t i (5)
where n t is the number of observed markers on the landing pad and 1 nt nt i=1 s t i is a constant vector. This sum is zero when all markers are in the camera field of view.

Using the spherical projection model for a calibrated camera, the spherical image points of landing pad's markers can be expressed as

p t i = P t i P t i = s t i -ξ s t i -ξ (6)
It can be obtained from the 2D pixel locations (X t i , Y t i ) of the camera image, such that

p t i = R pt i ||p t i || , with pt i = A -1   X t i Y t i 1   . (7)
The matrix A -1 in the above equation is the camera's intrinsic parameters that transforms image pixel to perspective coordinates pt i . Note that expressions ( 6) and ( 7) are the same and hence p t i does not depend on the orientation. The visual feature used for the landing task is the the centroid of the observed visual feature.

q t := - 1 n t nt i=1 p t i = -R 1 n t nt i=1 pt i ||p t i || (8)
which is the simplest image feature that encodes all information about the position of the vehicle with respect to the landing plane. It is not necessary to match observed image points with desired features as required in classical image based visual servo control. Besides, the calculation of the image centroid is highly robust to pixel noise, and easily computed in real-time in the camera frame and then derotated. This ensures that q t is invariant to any orientation motion (Hamel & Mahony (2002)).

B. Image features on the window plane

As shown in the Figure 4, a rectangular window is placed on a textured wall. Its corners and edges are assumed to be recognized in camera images. Both information are combined together to extract the normal direction η w and provide the feedback information used in the controller.

Consider first the the windows corners and let s w i ∈ R 3 denote the position of ith corner of the window expressed in {I}. Define the position vector of ith corner of the window relative to {B} as

P w i = s w i -ξ. (9)
From there, one can deduce the position of the vehicle with respect to the window's center:

ξ w = - 1 n w nw i=1 P w i = ξ - 1 n w nw i=1 s w i , (10)
with n w (typically n w = 4) number of the window's corners and 1 nw nw i=1 s w i constant vector. Similarly to Section III-A and recalling that the forwardlooking camera is used to detect the window, the spherical image points of the corners of the window are exploited:

p w i = P w i P w i = R B C R pw i ||p w i || , ( 11
)
with pw i the perspective coordinates of the ith window's corner, leading the following centroid:

q w (t) := - 1 n w nw i=1 p w i (t) = -R B C R 1 n w nw i=1 pw i ||p w i || , ( 12
) where B C R is the rotation matrix from the forward-looking camera reference frame to the body frame. Now, to extract the normal direction η w , recall that the axes representing the window are given by (η w , ρ w , u w ), with ρ w = u w × η w (see Figure 5). Using the image of ith line and exploiting the fact that the window has a rectangular shape, it is straightforward to get the directions u w and ρ w and consequently η w . As described in [START_REF] Mahony | Image-based visual servo control of aerial robotic systems using linear image features[END_REF], in the binormalized Euclidean Plucker coordinates, the ith line can be represented by its unit direction u w (resp. ρ w ) and the unit direction h i , which is normal to the plane defined by the origin of the camera/body-fixed frame and the ith line. The unit vector h i can be obtained directly from the images of lines which can be identified using a convenient line detection technique, such as the Hough transform. Using the fact that lines 1 and 3 (resp. lines 2 and 4) are parallel in the inertial frame, one deduces the measure of the direction u w (resp. ρ w ) from the following relationships:

ρ w = ± h 1 × h 3 h 1 × h 3 (13) u w = ± h 2 × h 4 h 2 × h 4 . (14)
Then the normal vector to the window plane is directly obtained by

η w = ± u w × ρ w u w × ρ w (15)
and the sign of equation ( 15) is chosen such that the condition η w q w (0) < 0, with q w (t) the image centroid of window's corners in equation ( 12).

To exploit the image of window's edges, defining the vector from the vehicle to the closest point on window's edges as L e ∈ R 3 , its direction l e = L e L e can be obtained from the camera

l e = {l e i : max{|η w l e i |}, i = {1, 2, 3, 4}} (16)
where

l e i = ±(h i × ρ w ), i = {1, 3}, l e i = ±(h i × u w ), i = {2, 4}
are the directions from the vehicle to the nearest point on each edge i.

Form now on, it is able to derive the required information achieving the double goal of going through the window in the meanwhile avoiding collision with the window edges and wall. We first define the safety region W such that

W := {ξ w : q w (ξ w ) ≤ }, (17)
where > 0 is chosen such that ∀ξ w ∈ W, the condition ξ w < rw 2also holds, implying that the region W does not contain the window edges (see Fig. 6).

From there, the chosen visual feature that encodes all required information about the position of the vehicle with respect to the window is:

qw := -1 nw nw i=1 p w i α w (t) 1 η w p w i + (1 -α w (t)) η w le η w p w i , (18)
where α w ( q w (ξ w ) ) is a weight function ensuring the continuity of qw . It is defined as follows:

α w (t) =      0 , if q w ≤ (ξ w ∈ W) 1 δ ( q w -), , if < q w < + δ 1 , if q w ≥ + δ, (19)
qw (t) = α w (t) ξ w (t) d o (t) + (1 -α w (t)) ξ w (t) d e (t) (20)
where d o := η w P w i = -η w ξ w is the distance from the camera to the wall and d e := L e = d 2 o + π ηw L e 2 represents the distance from the camera to the closest window's edge.

C. Image Kinematics and Translational Optical Flow

The kinematics of any observed points on the landing plane (including markers of the the landing pad) can be written as:

Ṗ t = -ξ = -v (21)
where P t expressed in {I} denotes any point on the textured ground of the landing plane. So the kinematics of the corresponding image point p t = P t P t can be expressed as

ṗt = -π p t v P t . ( 22
)
with π y := I 3 -yy ≥ 0, the orthogonal projection operator in R 3 onto the 2dimensional vector subspace orthogonal to any y ∈ S 2 . Let d t be the height of the vehicle above the landing plane:

d t := η t P t = η t P t i = -η t ξ t , (23)
then equation ( 22) can be rewritten as

ṗt = -cos θ t π p t φ t (t) (24)
where cos θ t = dt P t = η t p t and φ t is the translational optical flow:

φ t (t) = v(t) d t (t) (25)
which is the ideal image velocity cue that can be complemented with the centroid information for designing a pure IBVS controller to perform the landing task.

The translational optical flow φ t can be obtained by integrating ṗt (24) over a solid angle S 2 of the sphere around the normal direction η t to the landing plane. It can be shown that the average of the optical flow is calculated as in [START_REF] Hérissé | Landing a vtol unmanned aerial vehicle on a moving platform using optical flow[END_REF]:

φ t (t) = -(R t Λ -1 R t ) S 2 ṗt dp t , (26)
where matrix Λ is a constant diagonal matrix depending on parameters of the solid angle S 2 , and R t represents the orientation matrix of the landing plane with respect to the inertial frame. Since {I} is chosen coincident with the target frame one has R t = I 3 .

In practice, the optical flow is first measured in the camera frame from the 2-D optical flow ṗt obtained from a sequence of images using the Lucas-Kanade algorithm and then derotated (see [START_REF] Hérissé | Landing a vtol unmanned aerial vehicle on a moving platform using optical flow[END_REF] for more detail). Note however that computing the optical flow from (26) or directly from ṗt in the camera frame and then derotating it, the result is theoretically the same and does not depend on the measured Ω nor on the estimated R.

Similarly, the kinematics of any observed points on the window plane can be written in the inertial frame as

Ṗ w = -v (27)
where P w expressed in {I} denotes the position of a point on the textured wall of the window plane with respect to {B} expressed in {I}, not to be confused with P w i in Eq. ( 9), which is the position of the ith corner of the window with respect to {B} and also expressed in {I}. So the kinematics of the corresponding image point p w = P w P w can be written as

ṗw = -cos θ w π p w v d o (28)
with cos θ w = do P w = η w p w . Analogously to the previous case, the translational optical flow with respect to the textured wall v do can be obtained from the integral of ṗw along the direction η w over a solid angle. Now, to achieve the goal that the vehicle is going through the window smoothly, the translational optical flow with respect to the closest window's edge is also used. The kinematics of any observed points on the closest window's edge is

Ṗ e = -v (29)
where P e denotes the position of a point on the the closest edge from the window. The kinematics of the corresponding image point p e = P e P e can be written as

ṗe = -cos θ e π l e v d e (30)
with cos θ e = de P e = l e p e . The translational optical flow with respect to the closest window edge, v de , can be obtained from the integral of ṗe along the direction l e over a solid angle.

Analogously to (18), the translational optical flow used for going through the window is the convex combination of the translational optical flow with respect to the textured wall and to the closest window edge, respectively:

φ w = α w (t) v(t) d o (t) + (1 -α w (t)) v(t) d e (t) (31)
with α w (t) defined already by ( 19).

IV. CONTROLLER DESIGN

A. Landing in obstacle free environment Theorem 1. Consider the system (1) in the nominal case ( ≡ 0) subjected to the following feedback control:

F t = K t p q t + K t d φ t + mge 3 . ( 32
)
with K t p = k t p1,2 π ηt + k t p3 η t η t and K t d = k t d1,2 π ηt + k t d3 η t η t two constant positive definite matrices. If for any initial condition such that d t (0) = -η t ξ t (0) ∈ R + , then the following assertions hold ∀t ≥ 0:

1) the height d t (t) = -η t ξ t (t) ∈ R + and its derivative ḋt (t) ∈ R are well defined and uniformly bounded ∀t and converge to zero asymptotically, 2) the acceleration v(t) and the states (ξ t (t), v(t)) are bounded and converge asymptotically to zero.

Proof. See Appendix A.

Proposition 1. Consider the system (1) in which and ˙ are bounded.

1) If the perturbation is such that:

= π ηt , or equivalently η t (t) = 0, ∀t ≥ 0, then, for any initial condition such that d t (0) = -η t ξ t (0) ∈ R + , direct application of the feedback control (32) ensures that: i) Item 1 of Theorem 1 holds, ii) v(t) and v(t) are bounded and converging asymptotically to zero, and finally iii) π ηt ξ t is ultimately bounded by ∆ ξ , solution of

π ηt q t = max k t d 1,2 .
2) If η t (t) = 0, then, for any initial condition such that d t (0) = -η t ξ t (0) ∈ R + , the following slightly modified feedback control:

F t = K t p q t + K t d (φ t -η t φ * t ) + mge 3 (33) with φ * t ≥ 1 k t d 3
|η t (t)| max , ensures that the above i) and ii) assertions hold and guarantees that ξ t is bounded.

Proof. See Appendix B.

Remark 1. The focus of the above proposition is on robustness and adaptation of the controller with respect to the bounded perturbation . It is introduced particularly to show robustness of the proposed control law with respect to bounded perturbations in the plane orthogonal to η t and, in the interest of a less complicated presentation, a slightly modified version of the control law (32) is introduced in (33) to be able to analyse the robustness of the closed loop system with respect to any bounded disturbance.

B. Going through the center of the window

To accomplish the goal of going through the window, while avoiding the wall and window edges, the following control law is proposed

Fw = σ(qw)(k w p πη w qw+k w d πη w φw+k w φ ηw(ηw φw-φ * w )+mge3), (34)
with k w p , k w d and k w φ positive gains, φ * w > 0 and

σ(q w ) = 0 , if η w q w ≥ 0 1 , if η w q w < 0, (35)
which indicates that when the vehicle already crossed the window (d o ≤ 0), F w = 0. Note that when η w q w < 0, the resulting closed-loop system can be written as

   ξw = v v = -k w p π ηw ξ w d w -k w d π ηw v d w -k w φ η w (η w v d w -φ * w ) + , (36)
The unknown term d w is a convex combination of the unknown distances d o and d e :

1 d w = (α w 1 d o + (1 -α w ) 1 d e ) (37)
which is deduced from ( 20) and ( 31) according to the definition of α w (19):

d w =      d e , if q w ≤ (ξ w ∈ W) dode αwde+(1-αw)do , if < q w < + δ d o . if q w ≥ + δ (38)
Remark 2. Note that the unknown time varying distance d w involved in the closed-loop system is due to the use of feedback information qw = ξw dw and φ w = v dw in the control law. It is the key feature to achieve the double goal of avoiding collision with the wall and window edges as well, while ensuring the main task of going through the center of the window. When the vehicle approaches the wall or window edges outside the region W, d w = d o . If d o is decreasing then the motion in the orthogonal direction to the wall is highly damped while the region W is highly attractive. In practice, this leads to a bounded high gain in the feedback control that prevents collision. When the vehicle is inside the region W, d w = d e . This later is lower bounded by a positive constant so that the vehicle is able to go through the center of the window with a non-zero velocity. More details of analysis will be shown below.

Proposition 2. Consider the system (1) with the control input given by (34). If the positive gains k w p , k w d and k w φ are such that

k w d 2 k w p > rw
2 and for any arbitrary small > 0, the chosen φ * w satisfies:

φ * w > |η w (t)| max k w φ + , ∀t ≥ 0, (39)
then for any initial condition satisfying d w (0) ∈ R + and as long as σ(q w (t)) = 1, the following assertions hold ∀t ≥ 0: 1) there exists a finite time t w ≥ 0 at which the vehicle enters the region W ( q w (t w ) ≤ ) and remains there, while d w (t) ≥ d o (t) ∈ R + , ∀t < t w , 2) there exists a finite time t lim > t w at which the vehicle crosses the window d o (t lim ) = 0, with strictly negative velocity ḋo (t lim ) such that the vehicle is inside the region W ( q w (t) ≤ ) for all t ∈ [t w , t lim ).

Proof. See Appendix C.

C. Application Scenario

The double goal of crossing the window and landing on the landing pad can be achieved by simply applying the control laws F w and F t in sequence, with an adequate trigger to switch from F w to F t . Taking the limitation of the cameras' field of view into the consideration, there will be four different modes during the full process of going through a window and landing on the pad. When t ∈ [T 1 , T 2 ), mode = 1 and F w (34) is active. When the vehicle approaches to the center of the window, the on-board camera loses the full image of the window and mode changes to 2. When t ∈ [T 2 , T 3 ), mode 2 is active and the open-loop control η w |η w F w (T - 2 )| is applied, where T - 2 is the last time instance before the camera loses the image of the window. At the time instance t = T 3 , when the downward-looking camera detects the landing pad, the mode changes to 3 and the control law F t (32) is applied when t ∈ [T 3 , T 4 ). At time instance t = T 4 , the vehicle is already close to the center of the landing target and it is safe to slowly shutdown the quadrotor motors. In order to avoid inadequate behaviors, the switch from mode 2 to 3 is only triggered once. Moreover, in practice, due to the limitation of camera's field of view, the initial errors should not be large and should converge to zero fast enough, thereby allowing the vehicle to almost align with the center of the window before switching to mode 2. Additionally, the position of the landing target should be close enough to the window so that the quadrotor is able to timely detect the landing target after it goes through the window. The switching between different modes is based on the combination of selected frames from both the downwardlooking and forward-looking on-board cameras obtained in the experiments. The detail on the adopted procedure is described in Section VI.

V. SIMULATION RESULTS

In this section, simulation results are presented to illustrate the behavior of the closed-loop system using the proposed controller. A high-gain inner-loop controller is used to control the attitude dynamics (Tang et al. (2015)). It generates the torque inputs in order to stabilize the orientation of the vehicle to a desired one defined by the desired thrust direction R d e 3 , which is provided by the outer-loop image-based controller, and the desired yaw chosen to align the forward-looking camera with direction orthogonal to the wall.The control algorithm is tested with different initial conditions, always starting from a position outside the room containing the target (see Fig. 1). The initial velocity of the quadrotor is v(0) = [0 0 0] , and the gains are chosen as The time evolution of the active mode is also specified. In mode 1, the quadrotor is approaching the window; in mode 2, it is crossing the window with no image cues; in mode 3, it starts detecting the landing pad and transitions to the landing maneuver; and finally in mode 4, the motors are shutdown.

K t p = diag[4 4 1.75], K t d = 4I 3 , k w d = 0.8, k w p = 1, k w φ =
Figure 7 shows the time evolution of the vehicle's position and the dashed lines are the coordinates of window's center. From Figure 7, one can see the quadrotor first converges to the center line of the window and then converges to the center point of the target. Fig. 8 shows the time evolution of the vehicle's velocity. The virtual control input F is shown in Fig. 9. The angular velocity of the quadrotor is depicted in Fig. 10 and Fig. 11 depicts the time evolution of Euler angles, which indicates a good compromise in terms of time-scale separation between the outer-loop and inner-loop controller. Figures 12 and13 show the translational optical flow used for going through the window in mode 1 and for landing in mode 3, respectively. The evolution of image features of qw and q t are depicted in Figures 14 and15, respectively. We can see that the image features qw and q t approach to the desired values [-1 0 0] and [0 0 0] , respectively, before the on-board cameras lose the image information. In order to set up the experiment, a movable wall was used to divide the testing space into two smaller compartments and a landing pad was placed on the ground of the second one. The partition wall contains a rectangular window and is textured as a brick wall to provide the background optical flow, as shown in Fig. 18. The vehicle used for the experiments is an Asctec Pelican quadrotor (Fig. 16) with weight 1676g and the arm length from the center of mass to each motor is 20cm. The available commands are thrust force and attitude which are derived from the force F provided by the outer-loop controller (32) (respectively (34)) and the desired yaw angle. The quadrotor is equipped with two wide-angle cameras, one pointing towards the ground and another is facing the forward direction, pointing at the wall. Recalling Assumption 1, the downward-looking camera reference frame coincides with the

B C R = R Z (-π 4 )R X ( π 2
). These two cameras are uEye UI-122ILE models featuring a 1/2-in sensor with global shutter which operate at a resolution of 752 × 480 pixel at 50 frames per second and are provisioned with 2.2-mm lenses.

In the experiments, a rapid prototyping and testing architecture are used in which a MATLAB/Simulink environment integrates the sensors and the cameras, the control algorithm and the communication with the vehicle. The controller is developed and tuned on a MATLAB/Simulink environment and C code is generated and compiled to run onboard the vehicle as a final step. The onboard computer (a 4-core Intel i7-3612QE at 2.1GHz, named AscTec Mastermind) is responsible for running in Linux three major software components that provide: 1) interface with the camera hardware, image acquisition, A Python program running on the onboard computer performs detection of the window, detection of landing target, and optical flow computation using the OpenCV library. ARUCO markers, for which built-in detection functions exist in the OpenCV library, are used to define the landmarks on the landing pad. In order to fit the camera's field of view during the full process of landing, the landmarks are composed by 4 groups of ARUCO markers and in each group there are 4 ARUCO markers with same border size but different identifier (id) as shown in Fig. 17. When the camera is far away from the markers, the group of larger markers can be seen and when the camera is near the ground, only the smaller group of the landmarks will be shown in the field of view. The rectangular window shape is detected using the library code originally developed for ARUCO marker's border detection. The detected window frame (in green) and the window's coordinate system overlayed on the image are show in Fig. 18 (1), (2), and (3). The translational optical flow is also computed onboard. The computation is based on the conventional image plane optical flow field provided by a implementation of the Lucas-Kanade algorithm.

The detailed of the computation be found in [START_REF] Serra | Landing of a quadrotor on a moving target using dynamic image-based visual servo control[END_REF]. The small vectors represented in Fig. 19 represent the translational optical flow of the image pixels.

In order to provide ground truth measurements and evaluate window, and landing target. The motion capture system is able to accurately locate the position of the markers, from which ground truth position and orientation measurements are gathered. Note that, none of the measurements from the motion capture system are used in the proposed controller.

B. Experimental results

The experiments were conducted with the same control gains as the simulations. Before the proposed controller is triggered, the vehicle is hovering at position ξ = [0.15, 1.79, -1.76] m, which is outside the space containing the landing pad. As mentioned in Section IV-C, there are four different modes during the full process of going through a window and landing on the target due to the limitation of the field of view of the on-board cameras. Fig. 18 shows the selected frames in a timed sequence from the forwardlooking camera. These four frames are a fixed time step apart and were taken during a mode 1 to mode 2 transition. In Fig. 18 (1), (2), and (3), mode 1 is active, and one can see that the window frame is well detected. In Fig. 18 (1), t = T 1 and the controller F w is triggered. In Fig. 18 (2) and (3), the vehicle is still in mode 1 and approaches the center of the window. As the vehicle approaches the window, the window frame disappears from the field of view of the camera and at time t = T 2 the mode commutes to 2, as shown in Fig. 18 (4). Note that during transition from mode 1 to 2, instead of losing the window frame, the camera may detect rectangles other then the target window, as depicted in Fig. 18 (4). In order to avoid this situation, the mode changes from 1 to 2 if the pixel coordinates change instantaneously in a way that is incompatible with smooth tracking of the same window object. Fig. 19 shows the selected frames in a timed sequence from the downward-looking camera. These four frames were taken at fixed time steps during a transition from mode 2 to 3 to 4. As shown in Fig. 19 (1), the vehicle has already crossed the window but the landing pad is not fully detected thus the mode is still 2. At time instance t = T 3 , as shown in Fig. 19 (2), the downward-looking camera detects successfully the landing the mode is switched to 3 and F t is applied as control input. Recall that the switching from mode 2 to mode 3 is only triggered once in order to avoid inadequate behavior. In Fig. 19 (3), the vehicle approaches the target and the mode is still 3. At the time instance t = T 4 , when the quadrotor has almost reached the target position (see Fig. 19 (4)), the mode changes to 4 and it is safe to slowly shutdown the motors.

Figures 20 and21 show the position and velocity coordinates of the vehicle provided by VICON, respectively. We can see that the vehicle goes through the center of the window at the end of mode 2 and finally lands on the target. Fig. 22 shows the evolution of the angular velocity and Fig. 23 show the evolution of the Euler angles. From Fig. 23, one can see that a good compromise in terms of time-scale separation between the outer-loop and inner-loop controllers is attained, which indicates that the inner-loop controller is sufficiently fast to track the outer-loop references, including during the transitions between different modes. Figure 25 shows the image feature qw used for going through the window. The solid line represents qw computed from the image sequence and the dashed line represents qw provided by the VICON system. There are slight differences between these two computations due to the fact that rotation matrix R provided by the IMU is affected by the surrounding magnetic field generated by the fast rotating motors. Figures 27 and26 show the translational optical flow used for going through the window and for landing respectively. The solid red lines represent the translational optical flow computed from the image sequence and the dashed line represents the translational optical flow derived from VICON measurements. The video of the experimental results can be found in https://youtu.be/j3UWk4qSIEE.

VII. CONCLUSION

This paper considers the problem of controlling a quadrotor to go through a window and land on planar target, using an Image-Based Visual Servo (IBVS) controller. For control Proof. The proof follows a reasoning very similar to that of Theorem 1 in [START_REF] Rosa | Optical-flow based strategies for landing vtol uavs in cluttered environments[END_REF]. Recalling (1) and applying the control input (32), the closed-loop system can be written as

   ξt = v v = -K t p q t (ξ t ) -K t d v d t . (40)
Before proceeding with the proof of item 1), a positive definite storage function L 2 (ξ t , v) will be defined and one will show that if d t (t) remains positive, L2 is negative semi- definite, which implies that the solutions remain bounded for all t ≥ 0. Define 2 as

2 (ξ t , v) = L 1 (ξ t ) + 1 2 v K t p -1 v (41)
L 1 (ξ t ) is the radially function given by

L t ) = 1 n t nt i=1 ( P t i (ξ t ) -P t i (0) ). (42)
To show that L 1 (ξ t ) is a positive definite function, note that where

∂L 1 ∂ξ t = q t (43) ∂ 2 L 1 ∂ξ 2 t = Q (44)
Q = 1 nt nt i=1 1 P t i π p t
i is positive definite, as long as at least two of the vectors p t i are non-collinear. It follows that L 1 is a convex function of ξ t , with a global minimum attained when ∂L1 ∂ξt = q t = 0, or equivalently, when ξ t = 0. Since L 1 (0) = 0 is the global minimum of the function, one concludes L 1 (ξ t ) is positive-definite. Noting that,

L1 = q t v, (45)
it follows that

L2 = - 1 d t v K t p -1 K t d v (46)
which is negative semi-definite as long as d t remains positive and implies that the states ξ t (t) and v(t) remain bounded for of boundedness v (59) and its convergence to zero is directly deduced from to proof the unperturbed case (50). From there and analogously to the unperturbed case (Theorem 1-proof of Item 2), one gets:

v d t = -K t d -1 K t p q t + K t d -1 + η t φ * t + o(t) (63)
with o(t) an asymptotically vanishing term. By multiplying both sides of (63) by q t and using the fact that L1 = q t v (45), one obtains:

L1 d t = -q t K t d -1 K t p q t + q t (K t d -1 + η t φ * t + o(t)). (64)
From there one distinguishes between the two issues stated in the proposition: 1) η t (t) = 0, ∀t and φ * t = 0 (F t given by (32)) By changing the time scale index and similarly to argument used at the end of the proof of Theorem 1, one concludes that q t is ultimately bounded by

max k t p 1,2
. Since d t = η t ξ t converges to zero, one concludes that π ηt ξ t is ultimately bounded by ∆ ξ which is the solution of

π ηt q t = max k t d 1,2 .
2) η t (t) = 0, and φ * t = 0 (F t given by ( 33)) In that case one concludes that the storage function L 1 is decreasing as long as the right hand side of the above equation is negative and d t > 0 and hence ξ t is bounded. The argument of changing time index is not valid in this case.

C. Proof of Proposition 2

Proof. We will consider hereafter only the case where σ(q w ) = 1 (or equivalently when η w q w < 0). That is the situation in which the vehicle is going through the window while avoiding collision with the wall and the window edges.

From the dynamics of the closed-loop system (36), the proof focus first on the evolution of d w . That is the evolution of the system in the direction η w .

When q w (t) ≥ + δ, one has d w = d o = -η T w ξ w and hence:

ḋo = -η w v do = -k w φ ḋo d o -k w φ β w (65) with β w = φ * w + η w k w φ ≥ .
When < q w (t) < + δ, one has d w = dode αwde+(1-αw)do with α w (defined by ( 19)) a uniformly continuous and bounded valued function on [0, 1], and hence one verifies that:

do (t) = -k w φ b(t) ḋo (t) d o (t) -k w φ β w (66) with b(t) = (1-αw(t))do(t)+αw(t)de(t) de(t)
a positive uniformly continuous and bounded function as long as < q w (t) < + δ and d o (0) ∈ R + . direct application of (Hérissé et al. 2012, Th. 5.1) to both equation ( 65) and (66), one can conclude that as long as d o (0) ∈ R + and q w (t) > (or equivalently ξ w ∈ W), d o (t) ∈ R + , ∀t ≥ 0 and d o (t) converges to zero exponentially (the exponential convergence of d o (t) is granted due to the fact that β w ≥ ) but never crosses zero and hence the vehicle will never touch the wall in a finite time. Additionally, one also proves, from (Hérissé et al. 2012, Th. 5.1), that there exists a finite time t 1 ≥ 0 such that ḋo (t) < 0, ∀t ≥ t 1 and hence d o and d w are decreasing after t 1 .

When q w (t) ≤ (the situation when ξ w ∈ W), one has d w = d e > d o . In this case one can easily verify that (65) can be rewritten as: ≤ -k w φ k(t) and hence one immediately ensures that there exists a finite time t 2 ≥ 0 from which ḋo (t) < 0, ∀t ≥ t 2 . This implies that when q w (t) ≤ (ξ w ∈ W), d o is decreasing ∀t ≥ t 2 and hence d o crosses zero in a finite time t > t 2 . Note that at t = t, one has σ(q w ( t)) = 0 according to (35). Consider now the the dynamics of the closed-loop system (36) in the plane π ηw . That is the dynamics of ξ ⊥ := π ηw ξ w . By defining v ⊥ := π ηw v and ⊥ := π ηw , one gets:

ξ⊥ =v ⊥ (68) v⊥ = - k w d d w (v ⊥ + k w p k w d ξ ⊥ ) + ⊥ . (69)
Define a new state

z = v ⊥ + k w p k w d ξ ⊥ , (70)
and the following positive definite storage function:

L 3 = 1 2 z 2 + 1 2 ( k w p k w d ) 2 ξ ⊥ 2 ,
with time derivative

Proof of Item 1:

To show there exists a finite time t w ≥ 0 at which the vehicle enters the region W and remains there as long as σ(q w ) = 1, one proceeds using a proof by contradiction in two steps.

In the first step, assume that ξ w is not converging to W in a finite time t w and hence q w (t) > , ∀t. In the second one, assume that ξ w is switching indefinitely between the two regions. i) Consider the situation for which the initial condition is such that q w (0) > (outside the region W). Using the fact that there exists a finite time instant t 1 from which d w is decreasing and converging to zero but never crosses zero in finite time (see the above discussion), one concludes that z (70) is exponentially converging to zero and hence:

v ⊥ = ξ⊥ = - k w p k w d ξ ⊥ + o(t),
with o(t) an exponential vanishing term. This in turn implies that ξ ⊥ (resp. v ⊥ ) is converging to zero exponentially. Combining this with the fact that d w (t) (resp. d o (t)) is converging to zero, one concludes that there exists a finite time t w at which q w (t w ) < (ξ w (t w ) ∈ W), which contradicts the first part of the assumption. ii) Consider the situation for which the vehicle is switching indefinitely between the two regions. Since d o (t) (respectively d w ) is decreasing ∀t ≥ max{t 1 , t 2 } for both cases of q w > and q w ≤ with the fact that (ξ ⊥ , v ⊥ ) converges exponentially to (0, 0) (proof of the step (i)), one concludes that there exists a finite time t w ≥ 0 at which the vehicle enters the region W ( q w (t w ) ≤ ), and remains there as long as σ(q w ) = 1, which contradicts the assumption.

Combining this with the discussion following (66), one ensures that there exists 1 > 0 such that d w (t) ≥ d o (t) > 1 , ∀t < t w . Proof of Item 2: When ξ w is inside the region ( q w ≤ ), one guarantees that L 3 (71) is decreasing as long as 0 < d w < . Now since there exists a time t > t w such that d o ( t) = 0, one concludes that t lim exists and it is equal to t.

based guidance control', IEEE Transactions on Aerospace and Electronic Systems 55(5), 2104-2117. Tang, Z., Cunha, R., Hamel, T. & Silvestre, C. (2018b)

Fig. 1

 1 Fig. 1: 3-D plot of the quadrotor trajectories under different initial conditions.

Fig. 2 :

 2 Fig. 2: Reference frames and force for schematic representation of a quadrotor.

  , Serra et al. (2016)) and landing a fixed-wing aircraft eliminating the need to estimate the height of the vehicle above the ground (Le Bras et al. (2014), Serra et al. (2015), Tang et al. (2018a)). Using a distinct paradigm, a novel setup of self-supervised learning based on optical flow was introduced in Ho et al. (2018). Using optical flow, the proposed method learns the visual appearance of obstacles in order to search for a landing spot for micro aerial vehicles.

  Fig. 3: A hierarchical control design strategy.

Fig. 4 :

 4 Fig. 4: Landing plane and window plane.

Fig. 5 :

 5 Fig. 5: Window plane and unit directions h i normal to the planes defined by the origin of camera frame and the ith window edge.

Fig. 6 :

 6 Fig. 6: The green volume represents the region W defined by inequality (17) which excludes the window edges.

  with δ an arbitrary small positive constant. Since η w l e = η w L e L e = η w P w i L e , qw can be expressed in terms of the unknown distance d o and d e :

  1 and φ * w = 0.3 As shown in Fig. 1, with different initial positions the quadrotor successfully avoids the wall and window, goes through the center of the window, and then lands on the center of the landing target. Figures 7-15 show in detail the time evolution of quadrotor's state variables, virtual input, and image features for the initial position ξ(0) = [-2 0.1 -1.82] .

Fig. 7 :

 7 Fig. 7: Evolutions of the quadrotor's position ξ and the mode

Fig. 9 :

 9 Fig. 8: Evolutions of the quadrotor's velocity v

Fig. 11 :

 11 Fig. 10: Evolution of angular velocity Ω

Fig. 12 :Fig. 13 :

 1213 Fig. 12: Translational optical flow using for going through the window during mode 1.

Fig. 14 :Fig. 15 :

 1415 Fig. 14: Image feature qw during mode 1.

Fig. 16 :

 16 Fig. 16: Asctec Pelican quadrotor.

Fig. 18 :

 18 Fig. 18: Selected frames from the forward-looking camera.

Fig. 19 :

 19 Fig. 19: Selected frames from the downward-looking camera.

Fig. 20 :Fig. 21 :

 2021 Fig. 20: Evolutions of the quadrotor's position ξ and the mode

Fig. 25 :

 25 Fig. 24: Evolutions of the controller output F

Fig. 26 :

 26 Fig. 26: Translational optical flow computed during mode 1(going through window) from the image sequence (solid line) and from the VICON measurements (dashed line).

Fig. 27 :

 27 Fig. 27: Translational optical flow computed during mode 3 (landing) from the image sequence (solid line) and from the VICON measurements (dashed line).

  bounded positive gain as long as d e (t) is positive. Due to the fact that β w ≥ , ḋo is ultimately bounded by -

  , Going through a window and landing a quadrotor using optical flow, in '2018 European Control Conference (ECC)', IEEE, pp. 2917-2922. Tang, Z., Li, L., Serra, P., Cabecinhas, D., Hamel, T., Cunha, R. & Silvestre, C. (2015), Homing on a moving dock for a quadrotor vehicle, in 'TENCON 2015-2015 IEEE Region 10 Conference', IEEE, pp. 1-6. VICON (2014), 'Motion capture systems from vicon', http: //www.vicon.com. Zingg, S., Scaramuzza, D., Weiss, S. & Siegwart, R. (2010), Mav navigation through indoor corridors using optical flow, in 'IEEE International Conference on Robotics and Automation (ICRA)', pp. 3361-3368.

This work was partially supported by the Project MYRG2018-00198-FST of the University of Macau; by the Macao Science and Technology, Development Fund under Grant FDCT/0031/2020/AFJ; by Fundação para a Ciência e a Tecnologia (FCT) through Project UIDB/50009/2020 and PTDC/EEI-AUT/31411/2017. The work of T. Hamel was supported by the DACAR project of the French National Research Agency (ANR). The work of Z. Tang was supported by FCT through Ph.D. Fellowship PD/BD/114431/2016 under the FCT-IST NetSys Doctoral Program.

Z. Tang is with ISR, IST, , Nice-Sophia Antipolis, France

all t ≥ 0. The next steps of the proof consist in proving first Item (1) and then the uniform continuity of (46) along every system's solution in order to deduce, by application of Barbalat's Lemma, the asymptotic convergence of v to zero and from there one deduces the asymptotic convergence of v and then ξ t to zero (Item 2).

Proof of Item 1: Using (40) and the fact that

This relation is of course valid as long as d t (t) > 0. From there, direct application of (Rosa et al. 2014, Th. 1-(2)) shows that if d t (0) ∈ R + , the solution (d t , ḋt ) ∈ (R + , R) exists and uniformly bounded ∀t and converges asymptotically to (0, 0).

Proof of Item 2:

To show that

is bounded and hence L2 (46) is uniformly continuous, it suffices to show that v dt is bounded (so is ḋt dt ). For that purposes, consider the dynamics of v dt :

Since ḋt converges asymptotically to zero and q t is bounded then, by direct application of [START_REF] Rosa | Optical-flow based strategies for landing vtol uavs in cluttered environments[END_REF], Lemma 4) one ensures that v dt is bounded. From there one concludes that L2 is uniformly continuous and hence v converges asymptotically to zero.

To prove that q t (t) (or equivalently ξ t ) is asymptotically converging to zero one has to show first v is converging to zero. From (40), one can verify that:

with

is also a bounded vector, one ensures that δ 0 v is bounded. Therefore, direct application of (Rosa et al. 2014, Lem. 3) concludes boundedness and the asymptotic convergence of v to zero and hence one has:

with a asymptotically term. By multiplying both sides of the above equation by the bounded vector q t (the gradient of L 1 ) and using fact that L1 = q t (45), one obtains:

Since d t (t) converges asymptotically to zero, then by taking the integral of ( 47)

from which one concludes that q t (and ξ t ) is asymptotically converging to zero.

B. Proof of Proposition 1

Proof. The proof follows and exploits the same technical steps of the proof of Theorem 1. Since assertions made are almost the same using either (33) or (32) (equivalently (33) with φ * t = 0) except for the last item iii), the proof will be provided using (33) as feedback control and differences will be specified when necessaries. When = 0 and φ * t = 0 , it is straightforward to verify that (46) becomes:

Recall now the dynamics of ḋt (47), v dt (49), and of v (50) in case where = 0 and φ

with

Now since β t (t) > 0, ∀t independently from the value chosen for φ * t , direct application of (Rosa et al. 2014, Th. 1-(2)) shows that the solution (d t , ḋt ) ∈ (R + , R) exists and uniformly bounded ∀t and converges (at least) asymptotically to (0, 0).

By combining this with the fact that all terms involved in δ v (q t , and φ * t ) are bounded, direct application of (Rosa et al. 2014, Lem. 4) concludes the boundedness of v dt . Since d t is converging to zero, one concludes that v is converging to zero by a direct application of (Rosa et al. 2014, Lem. 3). Using the fact that ˙ is bounded by assumption, the proof