Hovering by Gazing: A Novel Strategy for Implementing Saccadic Flight-Based Navigation in GPS-Denied Environments

Hovering flies are able to stay still in place when hovering above flowers and burst into movement towards a new object of interest (a target). This suggests that sensorimotor control loops implemented onboard could be usefully mimicked for controlling Unmanned Aerial Vehicles (UAVs). In this study, the fundamental head-body movements occurring in free-flying insects was simulated in a sighted twin-engine robot with a mechanical decoupling inserted between its eye (or gaze) and its body. The robot based on this gaze control system achieved robust and accurate hovering performances, without an accelerometer, over a ground target despite a narrow eye field of view (±5°). The gaze stabilization strategy validated under Processor-In-the-Loop (PIL) and inspired by three biological Oculomotor Reflexes (ORs) enables the aerial robot to lock its gaze onto a fixed target regardless of its roll angle. In addition, the gaze control mechanism allows the robot to perform short range target to target navigation by triggering an automatic fast “target jump” behaviour based on a saccadic eye movement.


Introduction
Making Unmanned Aerial Vehicles (UAVs) autonomous is likely to be a key research subject for the next 10 years.
To achieve this autonomy, one of the most crucial steps is stabilizing the attitude of aerial vehicles. This objective has been classically achieved using an Inertial Measurement Unit (IMU) composed of rate gyros, accelerometers and magnetometers ( [1][2][3]).But IMUs often have to be combined with other sensors to estimate the position of the UAV without drifts. A GPS has been used, for example, to remove the bias from the pose estimates in outdoor applications ( [4][5][6]). Many strategies involving vision and IMU combined have been adopted for indoor applications because they work efficiently in GPS-denied environments. For example, [7] used an external trajectory device yielding very fast dynamics, which was able to accurately measure both the position and the attitude of a robot equipped with markers. Likewise, [8] used a simple external CCD camera to measure the positions of two LED markers onboard a quadrotor. Although external visual sensing devices of this kind are quite accurate, their visual computational resources often have to be provided by a ground-based host computer. In other studies, the visual sensor was implemented onboard a robot, which was stabilized using two elliptic markers (one placed under the robot and the other in front of it) to determine its attitude and position ( [9]). Five markers with a specific geometry were used by [10] to estimate the robot's yaw and position, while an IMU gave the robot's attitude and angular velocities. Another particularly cheap solution ( [11]) comprised using a Wii remote sensor (Nintendo) to control a hovering vehicle, while the pitch and roll were measured by an IMU. Another solution ( [12]) consisted of merging a five DOF estimation provided by a monocular camera with a gravity vector estimation provided by an IMU to achieve take-off, hovering and landing of a quadrotor. Successful control of a hovering quadrotor was achieved by cancelling the linear velocity based on optic flow measurements ( [13], [14]). Optic flow was also used to estimate the altitude and the forward speed of an airborne vehicle ( [15]). The robot's attitude has usually been determined in these studies by means of an IMU combined with accelerometers compensating for the drift. However, the authors of several studies have used small or panoramic cameras to determine the robot's attitude ( [7]). Visual servoing was recently applied to stabilize a hovering quadrotor equipped with a fixed camera facing a ground-coloured target ( [16]). When this approach was tested under natural outdoor conditions, its vision-based hovering accuracy was found to range between -2m and 2m. In [17], a monocular camera and computer vision with high delays was used to avoid drift obtained with a simple IMU pose estimation. A camera is also used in [18] as a dual-sensor to achieve a drift-free hover and perform obstacles avoidance on a quadrotor.
In our bio-inspired minimalistic framework, a new control strategy was developed, which consists of using only three sensors: • an optical angular position sensing device with a small Field-Of-View (FOV) of only a few degrees, which is able to locate the angular position of a ground target with great accuracy ( [19], [20]) • a low-cost rate gyro • a simple proprioceptive sensor used to measure the eye orientation in the robot's frame.
Using a decoupled eye onboard an UAV greatly reduces the computational complexity because a narrower FOV could be used, meaning fewer pixels were needed. In a previous robotic study ( [21]), a decoupled eye is classically used as an observation device to track a target and compensate for the UAV displacements around this target.
The latter was successfully tracked by an autonomous helicopter, the position and attitude of which were determined using a combination of GPS and IMU. In the present study, it was proposed to use the robot's own gaze (i.e., the orientation of the eye in the inertial frame) as a reference value in order to determine its rotations and positions.
An eye with a restricted FOV of only a few degrees (like a kind of fovea 1 ) was adopted here for the following main reasons: • a small FOV means that very few pixels have to be processed because a small FOV can be obtained by selecting a small Region Of Interest (ROI) • a small ROI means a high frame rate • a fovea makes it possible to greatly reduce the computational complexity of the visual processing algorithms, as described in [22]. Therefore that tiny, low-cost, low consumption microcontroller can be implemented onboard the robot.
The robot's eye was taken to be a visual Position-Sensing Device (PSD), which is able to locate an edge (or a bar) accurately thanks to its small FOV (here, FOV = ±5°, in opposition to a classical FOV of ±25°). This visual sensor was endowed with hyperacuity ( [23]), i.e., the ability to locate a contrasting target with a much better resolution than that dictated by the pixel pitch. The implementation of this kind of hyperacute sensor visual sensor was described by previous authors ( [19,20,[24][25][26]).
The simulated robot and its decoupled eye are described in section 2 along with the nonlinear dynamic model. The Processor-In-the-Loop (PIL) system used to perform the simulations was also described in this section. The original nonlinear observer presented in section 3 estimates the linear speed, the position, the attitude (on the roll axis only in this paper), and the rate gyro's bias. Then the gaze controller as well as the whole robot controller based on these estimations is described in detail. In section 4, a new navigation strategy for aerial robots in terms of automatic target to target navigation based on a saccadic flight is outlined. Lastly, the advantages of using a decoupled eye with a gaze control strategy are discussed before the conclusion.

System overview
In this part, we will describe first the PIL system and the custom toolchain we developed to perform the robot's simulation. Then we will present how the biology has inspired our approach and finally we will present the twin-engine robot's model.

Processor-In-the-Loop (PIL) simulation
All the simulations presented in this study were performed using an Processor-In-the-Loop (PIL) system. Figure 1 shows the environment and the links existing between the host computer and the embedded processor board. The host computer simulates the robot's dynamics in real time and monitors the computations performed by the embedded autopilot board which controls the robot.

The autopilot board : Gumstix Verdex Pro XL6P
In its future version, our robot, a quadrotor, will be equipped with a Gumstix, which is a Linux-based Computer-On-Module (COM). This processor board is equipped with an XScale-PXA270 processor cadenced at 600MHz with 128MB of DRAM and 32MB of Flash memory. This powerful micro computer was chosen to make our robot fully autonomous in terms of computational resources. In addition, the Gumstix can be easily managed via a wifi connection and a console application (such as PuTTY) from the host computer.

Rapid prototyping tool: from Simulink to Gumstix
The novel fast prototyping tool we have developed can be used to automatically and easily download a Simulink model (containing the controllers and the observers in our case) onto the autopilot board. This development toolchain uses a user friendly interface, such as Matlab Simulink, to execute in real-time digital controllers designed in the Simulink environment. This novel automatic code generation tool makes the implementation of a digital control system considerably easier and faster because: • it generates and compiles a bug-free C code • it gives block-level access to on-chip peripherals (wifi, serial connections, etc.) • it can be used to directly design systems using floating-point system design, simulation and scaling procedures thanks to the 32-bit FPU of the Gumstix (it also handles all the fixed-point data).

Biology as a source for new robot's abilities
As shown in figure 2, the robot consists of a twin-engine aerial robot with two degrees of freedom. This robot was considered to fly at a constant altitude H. It is therefore able to rotate freely θ r around its roll axis, translate along the horizontal axis X and a third degree of freedom enables the eye to rotate with respect to the robot's body (θ er ) thanks to a mechanical decoupling between the eye and the body. The eye's orientation is assumed to be finely controlled by a very fast, accurate servomotor.
As discussed in [27] and [28], the design of our hovering robot and its sensing abilities results from our bio-inspired approach where biology is a source of new ideas for implementing new mechanisms and control strategies. In this sense, our sighted robot with its drifting rate gyro, its proprioception and its visual sensor with a small FOV accounts for key mechanisms observed in flying insects in terms of sensing abilities (see [29]), gaze stabilization (see [30][31][32]), flight behaviour ( [33][34][35][36]) and target localization ( [37]). The following main similarities between the robot and the fly shown in figure 2 are listed below: • A rate gyro: the fly has gyroscopic haltere organs under its wings ( [38][39][40]), which measure its body's angular speed around the three degrees of rotation (pitch, roll and yaw). The robot is equipped with a classical MEMS rate gyro, which measures its angular roll speed. • An optical position sensing device: the fly's eyes are able to locate a contrasting target placed in a small frontal part of its visual field ( [33] and [41], [42]). The robot's eye, which is endowed with hyperacuity ( [19] and [20]), can locate a contrasting target within its small FOV. • A neck: neck movements are essential to the fly, which has no less than 23 pairs of muscles controlling the orientation of its head ( [43]). The robot is assumed to be provided with a simpler but nevertheless highly efficient degree of freedom via a fast (60°within 70ms), Similarities between the hovering robot with a decoupled eye (a) and the fly (b). These two dynamic underactuated systems are able to measure their body's rotational speed Ω r by means of a rate gyro (in the case of the robot) and halteres (in that of the fly) and to locate a contrasting target θ t placed in a small part of their FOV. The fly has no less than 23 pairs of neck muscles with which to stabilize its gaze θ g , whereas the simulated robot controls the angular position of its eye θ er by means of a small actuator (e.g., a servomotor). In this figure, the fly and the robot are hovering over a target placed on the ground. accurate (0.1°) servomotor controlling the orientation of its gaze.
• A proprioceptive sensor located in the neck: a pair of prosternal organs consisting of a pair of mechanosensitive hair fields provide the fly with accurate information about its head orientation ( [44]). Along similar lines, the robot is able to measure the orientation of the eye relative to its body by means of a contactless position sensor.
In the first part of this study, the robot was assumed to be hovering above a single stationary ground target. As shown in figure 3 and 4, the robot's roll (θ r ) is controlled by applying a differential rotational speed to the propellers. [15], [11] and [8] have established that the altitude control can be completely decoupled from the roll and lateral control in systems belonging to the class of planar Vertical Taking Off and Landing (VTOL) aircraft. It is therefore assumed here that the hovering altitude of the robot is constant and equal to H. To control the position of this underactuated robot, it is necessary to adjust the attitude around the roll axis. The robot's equilibrium therefore corresponds to a null roll angle, θ r = 0°. Figure 3 gives an overview of the robot's control architecture, which is based on an observer combined with a state-feedback controller controlling the robot's attitude and position. Figure 3 presents the mechanical decoupling between the eye and the robot by showing that the robot and its eye receive separate reference input signals (T , δ and θ er ).
The following notations and angles will be used in what follows: • θ t : angular position of the target relative to the robot's position in the inertial reference frame. • θ r : the robot's roll angle.
• θ er : eye-in-robot angle, given the gaze direction in the robot's frame. This angle is mechanically constrained to a maximum value: |θ er | < θ er_MAX . Simplified block diagram of the robot. Due to the mechanical decoupling between the robot's body and its eye, the latter can be described as an independent system receiving its own reference input signals θ er .

Aerial Robot Controller
• θ g : gaze direction in the inertial frame θ g = θ er + θ r . • r : retinal error detected by the visual sensor, defined by r = θ t − θ g . • X: robot's position along the horizontal axis in the inertial frame. • V x : robot's speed along the horizontal axis in the inertial frame. • Y: robot's hovering altitude in the inertial frame. Y was taken to be constant (Y(t) = H ∀t). • Ω r : the robot's rotational speed.
The estimated values will be denoted from now on by an additional hat (e.g.,θ), reference values by a star (e.g., θ ) and measured values by a bar (e.g.,θ).

Non-linear model of the hovering robot
The nonlinear dynamic model of the robot was developed classically using rigid body equations, and simplified to account for the simple case where the robot can perform only roll rotations and horizontal translations: where L is the distance between the robot's centre of mass and the propellers, I z is the inertial momentum around the roll axis, F 1 and F 2 are the thrust generated by propellers 1 and 2, respectively, and K vx is the drag coefficient which is assumed to be constant.
The eye's dynamics are modelled as a first order transfer function cascaded with a rate limiter corresponding to the maximum rotational speed.
The mechanical constraints (the angular course) are modelled in terms of the saturation (see the block named "Eye" in figure 4).
For greater clarity, the stabilization of the robot with its decoupled eye was decomposed into two independent problems. Stabilization of the robot's attitude and position are handled by a high-level controller (see subsection 3.5) yielding a reference rotational speed (Ω r ), which is fed to the low-level propeller speed controller. The latter consists of an internal loop which aligns the robot's rotational speed Ω r faithfully with the reference speed Ω r (see subsection 3.4).
The thrust generated by the two propellers is classically composed of a nominal thrust T and a differential thrust δ. The nominal thrust (T ) counteracts the gravity and the differential thrust (δ ) generates the torque responsible for roll rotation. The propellers were assumed to be controlled by adjusting their thrust as follows: The dynamics of the two propellers were modelled in the form of a first order system with a time constant τ mot (see table 2). The transfer function F 1,2 (s) is therefore given by

Hovering by gazing
This study is part of a larger project in which robust, accurate and fast hovering flight is achieved mainly on the basis of a gaze control system. For example, [25] developed a "steering by gazing" strategy to maintain the gaze of a robot oriented toward a target. In many previous studies ( [45], [46]), the robot's attitude was determined using an Inertial Measurement Unit (IMU) including a rate gyro, accelerometers and/or magnetometers, and a fixed camera ( [47][48][49]). In this paper, an alternative approach is presented for answering the following question: how can a hovering robot be accurately stabilized by means of only a rate gyro and a visual sensor? Recent studies on the hoverfly ( [36]) have suggested that efficient solutions to this problem do exist and that the gaze control system is certainly one of them. As a result, the present robot's attitude and position, and the rate gyro's bias, are now determined on the sole basis of the robot's measured angular speedΩ r , the angle of the robot's gazeθ er and the retinal error¯ r . Thanks to the control strategy we have implemented based on oculomotor reflexes (see subsection 3.3), the robot hovers above a target by minimizing the retinal error signal.
In this part, we propose explaining how the eye and the hovering controller were designed, and how they interact with each other.

The nonlinear observer
The nonlinear observer is the cornerstone of the present hovering strategy, as shown in figure 5. By combining the robot's eye orientation (θ er ) with the retinal error (¯ r ) measurements, the robot's position relative to the target (θ tr ) can be calculated as follows in the robot's frame: As the robot's rotational speed measurement (Ω r ) is known, a nonlinear observer can be implemented. This observer is able to deliver at its output an estimation of the linear speedV x , the positionX, the roll angleθ r and the rate gyro's bias∆ g : Whereθ tr = (θ er +¯ r The implementation of a nonlinear observer was based on the strongly nonlinear equation giving the evolution of the linear speed V x (see equation (4)) and the nonlinear output θ tr (function of X and θ r ). Nonlinearities in˙V x give better estimation during transient, and nonlinearities inθ tr give a nonsteady state error in position estimation, even when the robot is not above the target. The observer gain L = L 1 L 2 L 3 L 4 T was tuned using the classical LQG method and the system was linearized around the origin.

Remark 1:
Assuming that the angular precision of the sensor is about 0.1°, the robot is able to estimate its position with a 0.5cm accuracy if it hovers at 2m above the target. This precision is much greater than that of a classical GPS device.

An unbiased rate gyro
Rate gyros always have a bias, resulting in a drift in the attitude estimation if they are not filtered and fitted. Classical methods ( [3,45,46,50,51]) are based on accelerometers to determine the gravity direction, and/or magnetometers to perform magnetic field measurements, and compensate for the rate gyro bias. The original method presented here relies, as occurs in insects, on vision and proprioceptive sensors (specifying the eye's orientationθ er ) to unbias the rate gyro. If the gaze stabilization system is locked onto the target, the rate gyro's bias will therefore depend on the angular errorθ tr defined by equation (4). In our case, the low-frequency inclination information, classically provided by accelerometers, is given here by the proprioceptive measurementθ er .
The rate gyro's bias can be defined as follows: Where Ω r is the actual rotational speed, ∆ g is the rate gyro's bias, and µ is an unknown centred noise.

Remark 2:
The value ofθ r in equation (4) is obtained from equation (5).Ω r −∆ g is therefore simply the modelling term accounting for the rate gyro's bias and L 3θtr is the innovative term. As mentioned above, the rate gyro's bias is determined on the sole basis of the target angle error (˙∆ g = L 4θtr ).

Eye controller
The eye's controller keeps the gaze locked onto a target placed on the ground. Since the field of view is very small, the closed loop gaze system has to act very fast and efficiently. The requisite efficiency is achieved using a bio-inspired approach, involving a combination of three complementary oculomotor reflexes: • A rotational vestibulo-ocular reflex called the rVOR, which has to counteract the effects of all the rotations performed by the robot. This reflex yields the signal θ er_θ r , which is simply the opposite of the roll angleθ r . • A translational vestibulo-ocular reflex called the tVOR compensates for the effects of any robot's translations in the retina. The output signal θ er_X , based on the robot's positionX and its altitude H, contributes to keeping the eye locked onto the target. • A visual fixation reflex called the VFR, consists of a visual feedback loop with which any retinal signal errors r are cancelled by controlling the eye's orientation θ er via the control input signals θ er_VFR (see figure 5).
The VFR reflex plays a key role here. It is the main reflex serving to track the target under all conditions. Thanks to this reflex, the robot is able to: • hover "robustly" above a target, • reject any lateral disturbances resulting from gusts of wind by quickly correcting the eye's orientation, which is not possible if the robot has no decoupling, because of its relatively large inertia.
The VFR controller consists of a simple proportional integral controller, which keeps the retinal error close to 0°. This controller yields a reference angle (θ er_VFR ) in order to contribute to the eye's orientation, see equation (7). In short, this reflex is responsible for target tracking in every situation, which is the first step towards hovering robustly and accurately determining the robot's attitude and position.
The VOR is composed of a combination of two reflexes keeping the target in the FOV even if the robot is moving. VORs, which were directly inspired by the visual processes occurring in insects, compensate for two kinds of robot movements: • roll: the rVOR uses the roll angle estimationθ r provided by the nonlinear observer to compensate for any body rotations (θ er_θ r = −θ r ), • lateral translation: the tVOR, which is based on the estimation of the robot's linear position, minimizes the effects of any lateral displacements on the retinal error r , (θ er_X = − arctan X H ).
The reference angle θ er (see figure 5), which therefore results from the joint contribution of three reflexes (rVOR, tVOR and VFR), can be expressed as follows: The VORs were used as feedforward control signals cancelling the movements perceived by the robot (thanks to the gyro and the eye-in-robot angle). Additionally, the VFR is used here as a feedback control signal cancelling any undetected movements and the modelling errors present in the feedforward terms. Simulation results and discussions about the efficiency of theses reflexes could be found in our previous works ( [52] and [53]).

Rotational speed controller of the propellers
The rotational speed of the robot is used by the attitude and position controller as an input control signal to stabilize the robot and achieve the desired position ( figure 4).
In this way, the rotational speed inner loop makes the robot faithfully adopt the speed rotation set-points (Ω r ) imposed by the attitude-position controller (see subsection 3.5).
It was assumed here that the propellers are driven directly by the thrust, which can be deduced from the propeller's rotational speed in line with equation (8). The rotational speed is therefore controlled by a simple differential thrust between the two propellers.
Where F i is the thrust generated by the propeller i, ω i is the rotational speed of the propeller i, and c T is the thrust coefficient, which can be identified using static thrust tests.
In order to account more satisfactorily for the rate gyro's dynamics, a classical LQG controller-observer structure was chosen instead of a simple PID. The state space representation for the rotational speed loop, including the gyro dynamics, can therefore be written: Where Ω r is the actual roll rotational speed andΩ r is the rotational speed measured by the rate gyro.
The closed loop time response obtained for Ω r was less than 20ms, and the differential control noise was less than 2%.

Position and attitude controller
The position and attitude controller were implemented using LQR methods and the estimated states (V x ,X and θ r ) given by the nonlinear observer. When designing this controller, it was assumed that the rotational speed feedback loop described above (see subsection 3.4) is much faster than the attitude-position loop.
The LQR state feedback was designed for the system (1) linearized around the origin with the equilibrium control input Ω req = 0. To cancel the steady state error, an integral term was added to the position error.

New outlooks provided by the hovering by gazing control strategy
In previous studies carried out at our laboratory ( [52] and [53]), we demonstrated that a robot equipped with a decoupled eye (denoted D-EYE) was able to reject lateral and rotational disturbances better than the same robot with a fixed eye (denoted F-EYE) even if the field of view of the decoupled eye robot is smaller.
The implementation of a decoupled eye onboard an aerial vehicle also opens up new perspectives: • it enables a robot to finely control its horizontal position with respect to the target without being given any explicit information about it position by an external camera, a motion capture system, or a GPS as occurs in more classical systems, • it enables a robot to perform shifted hovering with respect to the target. This point has interesting consequences regarding the robot's disturbance rejection ability. More generally, the robot is therefore not constrained to stay in a small restricted area around the target (see • it enables a robot to jump from one target to another by simply triggering a saccade towards the new target (see subsection 4.2). This provides to the robot the ability to follow a specific trajectory based on various targets forming a path.

Shift hovering
The following discussion demonstrates that the decoupling allows for hovering not only above a target but also near a target. Let us start by defining the Maximum Lateral Disturbance (MLD):

Definition 1:
The maximum lateral disturbance (denoted MLD) corresponds to the maximum range of horizontal displacement which can occur without losing sight of the target (i.e., without the target ever leaving the FOV). In other words, the MLD corresponds to the robot's maximum lateral displacement which can arise between two consecutive updates of the visual control loop (i.e., during the sample time of the VFR). If a disturbance is greater than the MLD, the visual feedback loop's sampling rate will be too slow to detect this movement and the robot will not be able to reject this disturbance. The MLD is expressed in metres, and MLD R and MLD L correspond to the right and left MLD, respectively.
D-EYE system: theoretically, the robot can adopt any position on the X axis.
When hovering perpendicularly above the target, the F-EYE robot benefits from its large FOV and can reject a 93-centimetre MLD, whereas the F-EYE robot can cope with an MLD of only 17.5 centimetres due to its smaller FOV. However, by shifting the robot's horizontal position away from the target, it is possible to greatly increase the D-EYE robot's MLD rejection capacity, which becomes larger than that of the F-EYE robot after simply making a 2-m lateral shift. This simple strategy therefore makes it possible to overcome the problem focusing on the trade-off between the width of the FOV and the MLD. Even with its 5-fold smaller FOV, the D-EYE robot can reject much larger MLDs than the F-EYE robot. In addition, unlike the F-EYE, the decoupled eye enables the D-EYE robot to reject disturbances of practically the same amplitude on both sides (right and left).
One of the main advantages of the novel strategy consisting of shifting the robot laterally with respect to the target focuses on the Maximum Lateral Disturbances (MLD) that can be rejected. From figure 6, it can be seen that the F-EYE robot with a ±25-°FOV cannot even achieve a 2-m shift without losing sight of the target. Unlike the F-EYE robot, the D-EYE robot with a ±5-°FOV decoupled eye hovering at 2m and offset by 2m from the target can reject both right and left lateral disturbances of up to 38cm while keeping a positioning accuracy of more than 1cm.

Saccadic flight behaviour
A last useful advantage of the decoupled eye is its ability to make a change of target. For example, when the robot hovers above a first target, a very quick eye rotation (similar to a catch-up saccade) is generated to make the robot's eye "jump" to a second target, the position of which is known. A catch-up saccade is one of the four types of eye movement (saccadic, smooth pursuit, vestibulo-ocular reflex and vergence) used to track a trajectory. Catch-up saccades occur in humans when the smooth pursuit system is not sufficiently fast to track a moving target ( [54]).
In this study, this mechanism was used first to make the robot shift from one target to another. Like the steering by gazing strategy ( [25]), the aerial robot will move toward the target at which its gaze is looking.

Notations and implications:
Here we define some notations used to distinguish between the variables used in the various reference frames: A B U describes the variable U from A (the object in terms of which the vector is expressed) in the frame of reference B ( in which the measurements are made.) For example, R I X gives the actual position of the robot R in the inertial frame I and R T X denotes the reference position of the robot R relative to the target frame T .
Three frames of reference were therefore used in this study: -the Robot's frame of reference, denoted R, -the Inertial frame, denoted I, -the Target's frame, denoted T .

Remark 1:
Note that in the previous part, the target frame T was the same as the inertial frame I because the two origins were the same, i.e.,: T I X = X T and T T X = 0.
The relation between the estimated robot's position in the inertial frame, the estimated robot's position in the target's frame and the target's position in the inertial frame can be written: Where T I X is the position of the current target in the inertial frame. The observer described by equation (4) therefore becomes: where R Tθ tr = R Tθ tr − R Tθ tr

"Target Jump" procedure:
To make the robot shift from one target to another, a simple change of variable suffices. The previous value of the target's position is then replaced by the new one. The coordinates of the new target just need to be updated as follows: T I X(t) = T I X k before jump.
T I X(t + ∆t) = T I X k+1 after jump.
Where ∆t corresponds to the nonlinear observer's sampling time and T I X k with the subscript k or k + 1 corresponds to the target's identifier. T I X k and T I X k+1 are therefore the position of the target k before the "target jump" and the position of target k + 1 after the "target jump", respectively.
The eye's "jump" (or saccade) is then expressed by changing the value of the feedforward term θ er _ X , which is written with the new notation: θ er _ X = − arctan R TX R T H . When the operator wants to make the robot change target, he/she just needs to send the robot the new target coordinates, expressed in the inertial frame ( T I X k ).
Once the target's new coordinates have been specified, the robot immediately changes its eye orientation and re-positions itself appropriately with respect to the reference R T X . A simulation of the robot's target-jumping behaviour is illustrated in the figures 7, 8 and 9. This computations corresponded to less than 20% of the whole CPU load. All the calculations and control inputs were monitored at the same frequency in real time via the wifi connection before being plotted and compared with the "real" values simulated on the host computer.
The following scenario was simulated in figures 7 and 9: • step 1: the robot made a 1-m lateral shift with respect to the target • step 2: after 5s, the robot jumped to target 2 and the previous lateral shift with respect to the target was maintained (the figure 8 shows only the eye jump occurring at t = 5.0s) • step 3: after 5s, the robot jumped to target 3 We therefore have: T I X 1 = 0m, T I X 2 = −1m and T I X 3 = −2m.
In conclusion, thanks to the fast eye dynamics, the "eye jump" is performed very quickly because the new target is locked by the robot's eye in less than 0.13s, as shown in figure 8. Once this new target is locked, the robot's body automatically reaches the desired relative to target position R T X in less than 1.5s, as shown in figures 7 and 9.

Advantages of the decoupled eye
Here we summarize the advantages of having a decoupled eye with a small FOV: • Less distortion: having a large FOV necessarily implies to use a fish-eye lens and more pixels to keep a good angular resolution. The fish-eye lens induces a lot of distortions in the peripheral region of the image which need to be compensated. Finally, the use of a large FOV implies taking into account more pixels and cancelling the lens distortions, which leads to more computations. However, a decoupled eye with a small FOV allows for Augustin Manecy, Nicolas Marchand and Stéphane Viollet: Hovering by Gazing: A Novel Strategy for Implementing Saccadic Flight-based Navigation in GPS-denied Environments  (15) involves a jump in the feedforward term θ * er_X (red curve), which triggers the change of target. c) Retinal error during the target jumping phase. It takes only 0.13s for the eye to lock the new target in its narrow field of view. Therefore, the new target enters into the FOV 0.13s after the target change was asked. Figure 8 shows more precisely the retinal error signals during a target jumping. 4 (see table 2). Here, the new target is locked in less than 0.13s and is kept locked into the FOV. In addition, the retinal error is kept under 1.4°in less than 0.15s (| r | < 1.4°) and under 0.2°in less than 0.7s. avoiding the lens distortions and reducing the number of pixels by maintaining the target at the centre of the FOV where the acuity is the best.
• Reduced computational complexity: as shown in section 4.2.2 of [53], the D-EYE robot rejects disturbances more efficiently with its two pixels than does a F-EYE robot featuring a large FOV having 1000 pixels (a classical camera with 1000 pixels has the same 0.1°-angular resolution as the D-EYE sensor endowed with hyperacuity). The small number of pixels of a decoupled eye reduces drastically the computational resources required to extract the angular position of the target. • Faster disturbance rejection: with the F-EYE robot (equipped with a small FOV), a lateral disturbance resulting from a wind gust cannot be quickly counteracted. To compensate sharply for a lateral disturbance, the robot has to take a stiff roll angle, The robot's attitude during "target jumping". Plots of the UAV's position and attitude were sampled at 20Hz. For the sake of clarity, the various sequences have been shifted vertically, but the altitude H remained constant throughout all the jumping sequences. At t = 0s, the robot shifted one metre to the right with respect to the target 1. At t = 5s, the robot made a change of reference target and moved to a point one metre to the right of the target 2. Lastly, at t = 10s, the robot moved to a point one metre to the right of the target 3, the new reference target.
which results in the loss of the target; whereas it is possible with the D-EYE system to adopt a stiff attitude without losing sight of the target (see section IV of [52]).
• Robustness with respect to lateral wind: in the same way, the decoupled eye enables the robot to hover not only above a target but next to a target. With this simple method the ground area covered by the FOV is extended, which increases the Maximum Lateral Disturbance (MLD) which can be rejected. In addition, the robot is able to hover relatively far from the target without losing sight of this target (which is not possible with a robot having a fixed eye, as shown figure 6). • More than hovering: Lastly, the decoupled eye enables the robot to change target and move above the next target, as explained in subsection 4.2. This makes it possible to impose a specific path of travel to the robot. • GPS and gaze strategy: if a GPS signal is available, it would be possible to communicate the absolute position of a moving target. Our strategy could be used efficiently to track a moving target (these results are not presented in the paper but the D-EYE robot might be able to track a 1.5-m.s −1 moving target.) It is then possible to communicate the absolute position of the target as the sum of the robot's GPS position (low-pass filtered) and the relative to target robot's position estimated thanks to the gaze strategy: Where R I X f GPS is the filtered GPS position and R T X gaze is the estimated position of the robot with respect to the target.

Parameter Description
Value Unit

Conclusion
In this paper, a simulated hovering aerial robot equipped with a decoupled visual system and a bio-inspired strategy of stabilization are presented. The control strategy depends on oculomotor reflexes providing accurate gaze stabilization, which greatly improves the robot's ability to reject large lateral and rotational disturbances. The gyro's data are unbiased using the orientation of the gaze given by a proprioceptive sensor. This novel approach was tested using a PIL development toolchain which allows easy programming and execution in real-time using the Simulink autopilot on the embedded Gumstix COM. In addition, the saccadic eye movements enables the robot to navigate along a travel path defined by several successive targets. As a conclusion, the practical uses of a decoupled eye go far beyond the stabilization of a hovering robot: it opens up promising avenues for controlling the 3-D position of a robot by anchoring its gaze onto particular objects of interest. In a future study, the method presented here will be implemented onboard a small fully autonomous quadrotor with six degrees of freedom.