Asynchronous Event-based Line Tracking for Time-to-Contact Maneuvers in UAS

This paper presents an bio-inspired event-based perception scheme for agile aerial robot maneuvering. It tries to mimic birds, which perform purposeful maneuvers by closing the separation in the retinal image (w.r.t. the goal) to follow time-to-contact trajectories. The proposed approach is based on event cameras, also called artificial retinas, which provide fast response and robustness against motion blur and lighting conditions. Our scheme guides the robot by only adjusting the position of features extracted in the event image plane to their goal positions at a predefined time using smooth time-to-contact trajectories. The proposed scheme is robust, efficient and can be added on top of commonly-used aerial robot velocity controllers. It has been validated on-board a UAV with real-time computation in low-cost hardware during sets of experiments with different descent maneuvers and lighting conditions.


I. INTRODUCTION
The new advances in aerial robot technology have motivated intense research effort in performing faster and more agile maneuvers. Agile aerial robot maneuvers face relevant perception problems. First, the perception systems should be efficient enough to provide the required high control rates, often constraining the applicability of most planning-based robot navigation approaches. Image-based visual servoing methods directly use measurements obtained in the image plane to efficiently guide the robot. They provide remarkable results [1] [2] but are limited by the intrinsic nature of visual cameras, which are sensitive to lighting conditions and are severely affected by motion blur originated by the robot motion or vibrations. In this paper we use event cameras, which provide high dynamic range and temporal resolution, being insensitive to motion blur. A good number of successful techniques have been proposed in the last years evidencing their suitability, see e.g. [3]. The advantages of event cameras in many applications have attracted the manufacturers' interest causing a decrease in the camera weight and cost. We are interested in perception-based methods designed to be executed with low-cost hardware on top of standard velocity aerial robot controllers without significant modifications. Although many successful control methods have obtained outstanding results for aggressive maneuvers, see e.g. [1] [4], they are out of the scope of this paper.
This paper presents an event-based perception scheme for agile aerial robot maneuvers. It has a strong biological inspiration and tries to mimic birds, which perform perching and landing by matching the retinal separation of the images of their feet and the goal following time-tocontact trajectories [5], [6]. Event cameras mimic biological retinas in performing fast-response asynchronous data-driven light acquisition with high insensitivity to motion blur and lighting conditions. Besides, our scheme guides the robot using Tau theory by adjusting the position of features in the event image plane to their goal positions at a predefined time using smooth time-to-contact trajectories. This work has been developed in the context of the ERC Advanced Grant GRIFFIN project, which aims to develop aerial robots capable of navigating, perching and manipulating objects.
The proposed scheme guides the robot to perform Tau theory trajectories using event-based line features, which are caused by objects frequently found in many scenarios such as cables, pipes, windows, among many others, and can be more robustly detected than event-based punctual features such as corners. The scheme includes two main modules. First, straight lines are efficiently tracked combining fast-response event-by-event line tracking with robust event-image line extraction. The second module uses the tracked lines in the event camera plane to directly compute the velocity commands to the robot low-level controller such that the tracked lines describe the desired time-to-contact trajectories in the image plane. The scheme is robust, efficient and can be added on top of commonly-used aerial robot velocity controllers. It has been validated with on-board real-time computation in low-cost hardware in sets of experiments with different types of descent maneuvers and lighting conditions. The rest of the paper is organized as follows. Section II briefly summarizes the main works in the topics addressed in the paper. The event-based line tracker and Tau guiding methods are presented in Sections III and IV, respectively. Section V shows the experimental validation. Section VI concludes the paper and highlights future research.

II. STATE OF THE ART
The biological Tau-theory [7] states that humans and animals, specially birds, rely on the time-to-contact to guide most of their purposeful movements. There is evidence that pigeons adjust the breaking during landing and perching keeping constant the rate of change of τ [5], i.e. an approximation of the time-to-contact. It has been postulated that animals do not require cognitive processing for Tau-theory guidance, it is available at neural circuit level [7].
Recently, a number of works have explored Tau-theory for performing motions that close an action-gap (i.e the separation between the current state and a goal state), by controlling the time-to-closure τ at the current closure rate. Tau-theory has been used to endow robots with guidance capabilities [8] and to perform short-distance maneuvers such as breaking [9], landing [10] and perching [11]. Works [8], [9] employed Tau-theory to guide the movement of multirotor Unmanned Aerial Vehicle (UAV) providing remarkable results for autonomous navigation, docking and landing.
Two different approaches can be distinguished in Tautheory based guiding, Tau-dot methods and intrinsic Tau guidance methods. Tau-dot methods are used for smoothly decelerate to zero contact velocity. A number of works have approached Tau-dot strategy for unmanned aerial [9] [11] and ground vehicles [12]. Tau-dot strategy has also been used for simulating bird-like landing and perching maneuvers in order to provide sensor measurements [13]. The work in [11] extended Tau-dot guidance strategy to close a gap with nonzero final velocity with a rotary-wing MAV. The gap closure was approached in three stages, acceleration, deceleration and constant velocity tracking the reference τ while keeping the perch within the field of view.
Our work falls within the so-called intrinsic-Tau guidance, which computes the robot trajectories starting from an initial state with zero velocity and acceleration, and closing the gap with zero final velocity and acceleration in a predefined time interval, see e.g. [6], [14]. Additionally, different works improved standard intrinsic-Tau guidance systems by including non-zero initial velocity such as [10], [15]. Other works have explored intrinsic-Tau guidance during the planning stage. The work [14] proposed an intrinsic-Tau guidance method for multi-UAV collision avoidance detecting collisions between trajectories obtained using intrinsic-Tau guidance, which are then re-planned using particle swarm optimization.
Most of the existing intrinsic-Tau methods guide the robot closing the gap defined in space, which requires transforming from image to space, which could affect guiding command rate in fast maneuvers. The work in [11] use a vision system build on top of an attitude controller to control the motion of a MAV during the landing/perching maneuvers. However, the method does not rely only on visual input and suffers from the limitations of traditional cameras such as motion blur or sensitivity to lighting conditions. Although not relying on Tau theory strategies, a solution for the vertical landing of UAVs was proposed in [16] using the optical flow obtained from event-based vision, which overcomes the problems of using traditional cameras.
The advantages of event cameras have motivated increasing research interest of the robotics and computer vision communities [3] [17]. A wide variety of methods have been used for feature extraction [18], clustering [19], tracking [20], optical flow computation [21], detect objects in motion [22], and SLAM [23], among many others. A full review of event processing methods can be found in [3]. Most existing event processing methods group the temporally-close received events in frames called event images. Event cameras provide high noise level and processing event images allows reducing noise impact. However, event-image processing does not fully exploit the sequential and asynchronous nature of event cameras and some methods (e.g. [24]) require including mechanisms for cancelling motion blur.
Line detection using event cameras is a suitable alternative to extract scene structure from the event stream. Lines from a square are tracked in [25] as reference to estimate the pose of a flying drone using the Hough transform [26]. Inspired on the line segment detector LSD [27] an eventbased approach detects and tracks lines by clustering events [28]. Line detection is performed in [29] using event-based visual flow and least squares. The method also provides segment detection by estimating the endpoint of the detected lines. Events are clustered in [30] to generate planes on the spatio-temporal space that define possible lines, but as reported, the method cannot track spinning lines. Although these methods provide highly accurate line detection in their experiments, they do not focus on line tracking nor on the robustness in complex and unstructured scenarios, and few of them have been validated onboard robots.
This paper presents a bio-inspired perception-based method for aerial robot maneuvers. The contribution of this method is two-fold. First, we present a robust and efficient event-based line tracking method that fuses event-by-event processing together with event-image processing, combining the fast-responsivity of the former and the robustness of the later. Second, an efficient intrinsic-Tau guidance method that commands the robot using only features in the event camera plane by adjusting them to match a set of reference features. The scheme is designed to be executed on low-cost hardware on top of standard aerial robot controllers.

III. ASYNCHRONOUS EVENT-BASED LINE TRACKING
We are interested in perception techniques for guiding aerial robots in agile maneuvers consisting in moving the robot from its initial pose to a goal pose. The robot goal pose is defined w.r.t. a reference pattern that can be observed with no occlusions during the full maneuver. The reference pattern can be off-line predefined, e.g. the robot landing pad in landing experiment, or can be online selected during the robot navigation, e.g. to facilitate moving to a waypoint, the navigation system selects as reference a pattern near the waypoint. We assume that the reference pattern is defined by a set of straight line segments. Lines are general features that have been largely exploited in robot perception, see e.g. [31]. In our problem, a great variety of objects and scenarios can originate lines in the event camera and, many of these objects are actually used for a number of aerial robot maneuvers such as landing or perching. Line features contain richer structure and can be more robustly extracted than punctual features such as corners.
This module tracks a set of straight lines in the image plane using event processing. The events from the Dynamic Vision Sensor (DVS) of an event camera onboard the robot are received asynchronously with µs resolution. We adopted an approach consisting in combining two types of event-based processing with different temporal resolutions. First, an event-by-event processing module analyzes every new event received and provides fast-response, but noisy, line tracking estimations. Second, an event-frame processing module accumulates the N last events received and provides robust line tracking estimations. The final estimation combines both modules using an efficient Extended Kalman Filter (EKF) for each line tracked, providing fast-response and robust line tracking. The line estimations from the event-by-event processing are used in the EKF Prediction stage and, those from the event-frame processing are used in the Update stage. The EKF covariance matrices were set to assign to the observations double reliability than the predictions. To ensure the statistical consistency of the EKF, event-by-event processing and event-image processing use different events. The events received from the camera are randomly sampled as in [22]. γ e and γ i are the percentages of the input events that are sent to the event-by-event and the image-event processing modules, respectively. Setting γ e and γ i can be used to adjust the computational cost for running on real time adapting to the scenario particularities and the onboard hardware.
Each event is defined by e = (t, u, v, p), where t is the time in which the event was triggered, (u, v) are the pixel coordinates and p is the polarity of the brightness change, i.e. either 1 or 0. Both event processing methods are based on the Hough space representation [26]. In polar coordinates, lines are expressed as ρ = u cos θ + v sin θ. Similarly, lines are defined by l = (θ, ρ) in the Hough space. To reduce the computational effort, the (θ, ρ) Hough space is discretized.

A. Event-by-event line tracker
The proposed event-by-event method is partially inspired by the method described in [25] and includes mechanisms to increase robustness without significantly increasing the computational burden. The method is initialized with the set L of lines that represent the reference pattern to track. Each line l ∈ L is defined by a tuple (θ l , ρ l ) in the Hough space and by a set P l of N P prototype events well distributed over l in the image plane. For each line l, buffer B l is used to keep the actual and last prototype events representing l. To prevent over-representation, the number of elements in B l corresponding to the same prototype event is bounded. P l is initialized as follows. First, the consistency of each received event e = (u, v) with line l is evaluated in the Hough space. The representation of e in the Hough space is (θ l , ρ e ), where ρ e = u cos θ l + v sin θ l . If the distance between (θ l , ρ l ) and (θ l , ρ e ) is low, e is assigned as belonging to line l. Next, to ensure a good distribution of prototype events, e is added to P l if the distance to its nearest element in P l is greater than a threshold. This procedure is iterated until P l contains N P prototype events. The events in P l are buffered in B l and projected into a Hough space of events. The parameters of the line (θ l , ρ l ) are computed as the centroid of the event Hough space originated by B l .
Hence, each line l is characterized by (θ l , ρ l ), P l , B l and, for computational reasons, the event Hough space of B l .
After initialization, the event-by-event line tracker processes every new event e as follows. First, the consistency of e with every line l is evaluated as described above. If consistent with only one line l, e is assigned to l. Events consistent with several lines are discarded to avoid contributions from line intersections. Events not assigned to any line are discarded. Next, if the distance between e and the nearest prototype event in P l is higher than a distance, e is taken as spurious and is discarded. In order to enable line updates with new events, if the distance between e and the nearest prototype event in P l is below a distance, P l and B l are updated: the prototype event in P l is substituted by e; and e is added to B l eventually deleting the oldest event in B l in case the number events corresponding to that prototype exceeds the bound. The operation in one example is shown in Figure 1. The updated line parameters (θ l , ρ l ) are computed as the coordinates of the centroid of the event Hough space originated by the elements in B l , see Figure 1c. This computation is efficient: the contribution of the new element in B l is added to the event Hough space and, the contribution of the deleted element, removed. Finally, old elements of P l and B l are deleted by using their timestamp. Notice that old element check and deletion are also efficient due to the asynchronous nature of events.
The operation of the method is summarized in Alg. 1. For efficiency, it uses the Manhattan distance. Although performs event-by-event processing, it has low computational cost suitable for onboard execution in low-cost hardware. if nearToAnyPrototype(e, P l ) then replaceP rototype(e, P l ) association ← T rue else if ¬ isF ull(P l ) then if fitsIn(e,P l ) then addP rototype(e, P l ) association ← T rue if association then updateHoughSpace(e) ekf P rediction(l) end end

B. Event-frame line tracker
This module extracts lines in event frames generated by accumulating the last received events. This approach was preferred over using frames with events accumulated in a fixed time window since it naturally adapts the event frame generation to the relative camera-scene motion: highly dynamic scenes, which require faster response, trigger more event-frames than static scenes. The method is efficient and can be executed online and onboard with low-cost hardware.
This method extracts lines from the event-image and associates them to the tracked lines. First, the Hough transform is computed over the event image. Due to the Hough space discretization, each line in the image plane provides contributions to nearby locations. The centroids in the Hough space are used to represent lines. Finally, these candidate lines are associated to the tracked lines using minimum Hough-space distance. The EKF is updated using the new extracted lines as observation.

IV. TIME-TO-CONTACT VELOCITY GUIDANCE
This section presents a Tau-theory based method that uses the lines tracked in the image plane to directly compute the velocity commands to the robot such that the tracked lines describe the desired time-to-contact (TTC) trajectories in the image plane. We adopt an intrinsic-Tau guidance approach that closes the gap to the goal in a predefined time and with zero final velocity and acceleration. Unlike most existing intrinsic-Tau methods used in robotics, the gap is defined directly in the image plane, which enables fast response. In our problem each gap is defined by the difference between the actual features (lines extracted from the event camera) and the goal features in image plane. Assuming calibrated cameras and the target geometry being known, the position of the goal features in the image plane can be easily computed by projecting the reference pattern as if the robot were at the goal pose. The computation of goal features is performed only once before the maneuver starts. Closing the gaps will drive the image features towards their goal positions, which will result in the robot reaching the goal pose.
For clarity, we first describe the adopted intrinsic-Tau guidance strategy for one only gap. For a given gap χ(t), τ (t) provides a first order approximation of the time-tocontact computed as τ (t) = χ(t)/χ(t), whereχ(t) is the gap closing rate at time t. By convention, χ(t) is always negative and the gap is closing whenχ(t) is positive.
For each feature at time t we can define the gap distance χ(t), its closure velocity rateχ(t), and its closure accelerationχ(t). We focus in maneuvers that start at rest (i.e. χ(0) = 0,χ(0) =χ(0) = 0), accelerate to a peak velocity and then, decelerate to end the movement at rest at time T g (χ(T g ) =χ(T g ) =χ(T g ) = 0). These type of motions are of interest for many time-constrained maneuvers such as landing and perching. As reported in [9], the above intrinsic Tau-guidance trajectory can be computed as follows: where k determines the trajectory kinematics. In particular, selecting k ∈ (0, 0.5] ensures χ(T g ) =χ(T g ) =χ(T g ) = 0. We aim at closing the gaps for all features altogether by using the concept of Tau-coupling [7]. One gap is declared as main, typically that with the greatest gap distance at t = 0, and the rest are declared as coupled. The evolution of the main gap is computed with Eq. (1). Gap coupling is characterized by κ, a constant that expresses the relation between both gap closing rates such as τ χ = κτ ζ . Therefore, the trajectory of every coupled gap is obtained as follows: where c = ζ(0)/χ(0) (1/κ) establishes the relation between the main and the coupled gap. Next, the robot velocity commands are computed using Image-Based Visual Servoing (IBVS). As described above, χ(t) and ζ(t) describe the desired gap distances to accomplish the intrinsic-Tau guidance maneuver: they are the reference for our controller. Also, we can obtain the actual 5981 gap distances at a given time t by using the lines tracked as in Section III and the goal lines. Let e(t) be a vector with the difference between the actual gap distances and the reference gap distances at time t. Each feature defines a number of gaps, one for each feature parameter. In particular, each tracked line defines two gaps, one in θ and one in ρ. Hence, each tracked line creates two entries in e(t): the error in ρ using the Euclidean distance, and the error in θ using the circular distance. We adopted a simple control law (see [32]) to compute the camera velocities ν(t) at time t: where K is a positive definite diagonal weighing matrix,ė(t) is the error between the current gap closure velocities and their reference values obtained using Eqs. (1) and (2), and J * is the pseudoinverse of J, the Jacobian that describes the variation of the gap distance as a function of camera velocity, computed as shown below. We preferred to use a control law with a derivative term in order to improve the transient response and anticipate error cancellation. Notice that ν(t) is expressed in the camera frame and has to be transformed to the robot frame. J is obtained as follows. Assuming features obtained with normalized focal length, i.e. f = 1, the kinematics of line l in the image plane can be expressed asl = J l ν, where ν is the camera (linear and angular) velocity vector and J l is the Jacobian that describes the variation of the line parameters as a function of camera velocity. J l can be computed as: where s(·) and c(·) stand for sine and cosine and λ θ = (arccos θ − bs(θ))/d, where aX + bY + cZ + d = 0 defines the plane in space that contains the line. Although quite tolerant to a certain degree of error in the plane parameters, a broad estimate of the line depth is required. We compute the depth by derotating the optical flow at the intersections between the tracked lines as described in [33]. The gaps are defined by the lines extracted in the image plane and the goal lines. Only the current line features are affected by the camera velocities while the goal lines are constant. Hence, J l , the Jacobian of a line, represents the variation of the gap distance with the camera velocity. J can be computed by concatenating row-wise the Jacobians J l for all tracked lines. Each line contributes with two rows in J, one for θ and one for ρ. A minimum of three non-colinear lines is required to have a full rank J. However, higher number of lines enhances accuracy and prevents potential temporary co-linearity between lines along the maneuver.
Standard multirotors are underactuated and require tilting in the direction they desire to translate. To compensate for these rotations the image coordinates are re-projected into a virtual image plane as in [2]. The robot roll and pitch angles (φ and ϕ) are estimated using an Inertial Measurement Unit (IMU). Assuming null translation in the x and y axes between the camera and robot coordinate frames, the reprojection of image coordinates (u, v) into the virtual image plane ϑ can be computed as: where R φϕ is the rotation matrix associated to the robot roll and pitch angles, and β ensures the re-projection in an image plane with focal length f using: Re-projection could not be necessary when the robot moves slowly or is endowed with a non-underactuated controller such as [34]. However, our scheme is designed to be valid on most multicopters, which are typically underactuated.

V. EXPERIMENTAL RESULTS
The proposed scheme has been validated in sets of experiments performing different descent maneuvers and with different lighting conditions. The aerial platform includes a DJI Flamewheel F450 frame with a PixRacer autopilot. A DAVIS 346 event camera was mounted pointing downwards (−90 o pitch rotation) and a low-cost Khadas VIM3 board is used for logging and real-time computation, see Figure 2. The method was implemented in C++ on top of the UAL abstraction layer [35] using ROS Kinetic and the ASAP event processing scheme [36]. The output of the proposed method was used as input of the default PX4 velocity-based low-level controller. The experiments were performed in a testbed equipped with 24 OptiTrack Prime x 13 cameras that provided millimeter accuracy robot pose estimations, used only as ground truth for evaluation.

A. Preliminary Experiments
First, we evaluated the accuracy and robustness of the line tracking method and confirmed the suitability of its execution rates for robot guiding. The performance of the line tracker was robust to reasonable values of its parameters. The size of P l was chosen as 6 and, the size of B l , as 20. Further, γ e and γ i were set to 0.6 and 0.4 respectively to enhance computation without losing robustness. For these experiments, event images were obtained by accumulating 2,000 events as a trade-off between robustness and computational effort.
The accuracy of the line tracking method was evaluated by measuring the error between the resulting tracked lines and the ground truth (GT) lines extracted applying the wellknown Canny edge detector on the visual images provided by the Davis APS sensor. The tracking error was measured as the mean distance between the pixels detected by Canny as belonging to the GT lines and the lines tracked by our method. We want to asses the accuracy at line tracking, not the line detection capabilities. Our line tracking method was initialized with the GT lines and during the rest of the experiment, it was fed only with events from the Davis DVS sensor as described in Section III. The mean error, estimated averaging more than 20,000 different line tracking, was lower than 2.23 pixels, which was sufficient for our scheme.
Next, we evaluate the robustness of our method in highly cluttered environments, when different objects partially occlude the tracked lines: flying objects, office background and the testbed safety net. Figure 3 shows a visual image and one event image with the tracked lines taken from the experiment in the safety net scenario, which is particularly hard since the net originates many line-distributed spurious events. Table I shows the duration of the cluttered scenes and the lifetime of the lines tracked. In all cases the lines were robustly tracked. Additionally, we evaluate the execution rates performed by our proposed line tracking method running onboard the Khadas VIM3 and, compared it versus two other line extractors. Method1 applies the Hough transform on visual images from the DAVIS APS sensor. Method2 extracts lines from event images. The three methods were executed for the same experiment simultaneously tracking 4 lines. Table II shows the execution rates of the line tracker and the resulting command rates of the full guiding system. Running in the low-cost Khadas VIM3 board, the proposed line tracking method provided average execution rates of 348Hz enabling control command rates of 339Hz, both significantly higher than those of Method1 and Method2. It is worth noting that the execution times of Method2 and the proposed approach are not constant (i.e. they are asynchronous) and these values are average values from our experiments. Therefore, their performance depends on the scene dynamics and can reach frequencies significantly higher at times while providing lower rates when the scene is static. However, these rates were valid to perform all the robot guiding experiments. Additionally, we empirically evaluate the scalability of the system and conclude that the computational cost of both algorithms (i.e. line extraction and TTC guidance) grows linearly with the numbers of lines. Although using a very high number of lines reduces the performance of the proposed method, one can choose the number of lines to track beforehand in order to provide the sufficient command rate required for the desired maneuver.

B. Event-based Tau Guidance Experiments
A total of 180 descent maneuvers were performed covering different initial and goal poses, maneuver's duration T g , and lighting conditions. The selected values of T g ensured that the robot spatial velocities were lower than the lowlevel controller safety bounds, 2m/s in our case. The wellknown camera retreat issues [33] of the IBVS method were prevented by selecting a rotation between the initial and goal robot poses lower than π/4. Although multiple initial and goal configurations were evaluated, all experiments were performed with the same parameters. The gain of the imagebased control law is set to 0.2 in all the diagonal entries, i.e. K = 0.2I 6x6 . We selected κ = 1 to ensure that coupled gaps close at the same time that the main gap. Also, k = 0.5, which determines the gap trajectory kinematics was set to ensure that gaps are closed with final zero velocity and acceleration. Figure 4 shows the gap evolution along a maneuver in which the robot covered a distance of 1.5m in T g = 2s. It is worth noting that the maneuver starts and finish at zero velocity and, therefore, it requires reaching a maximum velocity close to the safety bounds, i.e. 2m/s. The experiment was performed with 4 lines, i.e. 8 gaps. For brevity we show only four gaps: a) the main ρ gap χ(t), b) an example θ gap ζ 1 (t) and, c) and d) the ρ coupled gaps that best ζ 2 (t) and worst ζ 3 (t) reduced the gap at T g . The y-axis represents the gap distance assuming unitary focal length. The gap trajectory predicted using intrinsic-Tau guidance strategy is shown in red, and the evolution of the actual gap resulting in the experiment, in blue. Closing θ gaps only involves robot rotations in Yaw angle, hence TTC trajectories can be easily  followed with low error (Figure 4b). Closing ρ gaps is not that accurate since it involves robot spatial translations in X, Y and Z axes. The main gap (Figure 4a) was closed more accurately than the coupled gaps. Although not all the ρ gaps might be fully closed at T g , they are consistently reduced in a smooth way within the time constrains. The average ρ and θ gap closing error at T g were 0.32 pixels and 0.5 o in the event camera image plane. In the maneuver the robot follows a smooth spatial evolution. Figure 5 shows the 3D trajectory followed by the robot and the distance between the robot and the goal position along the trajectory. After T g the robot pose had an error (Euclidean distance) over the goal robot pose of 10.4cm, measured with the OptiTrack. Similar performance was also noticed in all the maneuvers performed. The error in reaching a robot goal pose depends on the duration of the maneuver. Figure 6 shows the average robot error when performing the same trajectory using different of T g ∈ [2, 10]s. The errors were obtained averaging the results in 20 maneuvers for each value of T g . All the maneuvers were performed with the same method parameters, including  the control law gain K. Figure 6 shows that the error decreases as the value of T g increases. With low values of T g , the adopted method provides stronger velocity commands. The limitations in the responsiveness to the velocity commands of the controller (PX4 in our case) implemented on the robot is more noticeable with low values of T g . This error could be reduced in case of running a IBVS method after the trajectory has ended (i.e. t > T g ) so that the error is reduced during hovering. Different experiments were performed for a variety of lighting conditions including, in pitch dark. UAV operated in different lightning conditions, even in pitch dark scenes, which has higher spurious event rates than wellilluminated scenes.

VI. CONCLUSIONS AND FUTURE WORK
This paper presents a bio-inspired perception-based method for aerial robot maneuvers. It is based on event cameras, also called artificial retinas, which provide fast response and robustness against motion blur and lighting conditions. The scheme tries to mimic birds, which perform purposeful maneuvers, such as landing and perching, by matching the separation of the retinal image and the goal, following time-to-contact trajectories.
Our scheme includes two main modules. First, a eventbased line tracking method combines event-by-event and event-image processing, providing fast-response and robust line estimations. Second, an efficient intrinsic-Tau guidance method commands the robot adjusting the features in the event camera plane to a set of reference features and, thus, describing smooth TTC trajectories. The scheme has been designed to be online executed onboard low-cost hardware using standard aerial robot controllers. It has been experimentally validated with different descent maneuvers and challenging lighting conditions. The adaptation and extension of the proposed scheme to be used onboard ornithopter robots is object of future work.