Optic flow-based robotics

,


INTRODUCTION Why use the optic flow in Robotics?
Robots are today capable of accurately evaluating their position and orientation in the three dimensions using sensory systems such as the Global Positioning System (GPS) and inertial navigation systems. This is very efficient for longrange navigation at high altitude far above the ground (several km), without obstacles around them, such as an airplane in cruising flight. Nevertheless, the expanding set of roles for robots increasingly calls for them to operate close to obstacles (<1m), and in both indoor and outdoor environments containing obstacles in all directions. Close to the ground, it is more difficult for a robot to get its accurate position with respect to obstacles when it is continually on the move. The robot can have difficulties receiving the GPS signal in GPSdenied or cluttered environments but it still has to pursue its mission. Despite such difficulties, the robot has to pick up the 3D structure of the surrounding environment to avoid obstacles and accomplish its mission. At such a short distance from obstacles (<1m), the environment is unpredictable: it is obviously very difficult to map the entire environment in 3D at such a scale. A more efficient approach would consist of the robot continuously using local information to avoid obstacles whilst waiting for global information to pursue its mission. Most of the time the use of emissive proximity sensors such as ultrasonic or laser range finders, radar, or scanning LIght Detecting And Ranging (LIDAR) has been considered for this purpose. Such emissive sensors can be bulky, stealth-compromising, high energy, and low-bandwidth -compromising their utility for tiny and insect-like robots. It is well known that flying insects such as flies and bees are sensitive to optic flow ( [1]; [2]; [3]; [4]; [5]) and in particular, they are able to measure optic flow of the surroundings irrespective of the spatial texture and contrast ( [6]; [7]; [8]; [9]), and some of their neurones respond monotonically to optic flow ( [2]; [10]). Consequently, there are considerable benefits to be gained by designing guidance systems for robots that utilize passive sensing, such as vision, and more precisely motion vision, because a visual system with poor acuity using low computational resources can be implemented onboard robots.

What is the optic flow?
The optic flow vector field perceived by a robot depends in particular on the structure of the environment ( [11]; [12]; [13]; [14]; [15]; [2]). The optic flow can be defined by a vector field of the apparent motion of objects, surfaces, and edges in a visual scene caused by the relative motion between an agent and the scene (Fig.1). The optic flow field ω (1) is the combination of two optic flow components: a translational optic flow ω T (Fig.1a) and a rotational optic flow ω R (Fig.1b) ( [15]). Figure 1: Optic flow field for an agent moving straight ahead in (a), or an agent rotating around its vertical axis in (b). Adapted from [16] c Springer.
Rotational optic flow depends only on agent's own rotations. However in the horizontal plane, translational optic flow, which describes the front-to-back motion occurring when the robot moves forward, depends on the ratio between the relative linear speed V and the distance D ϕ from the contrasting objects of the environment, and the angle ϕ between the gaze direction and the speed vector (2).
Translational optic flow ( (2)) is particularly interesting for short-range navigation because it depends on the ratio between (i) the relative linear speed of an object in the scene with respect to the agent and (ii) the distance from obstacles in the surrounding environment, this does not require either speed or distance measurement ((2)). Different optic flow sensors have been developed for short-range navigation purposes including hardware ( [17]; [18]; [19]) and software implementation [19].

Robot-Fly and Bee-Bot: the pioneers of the optic flow-based robots
In the 80s, robust optic flow computation methods were developed (e.g. Lucas & Kanade's method (1981) [20] and Horn & Schunck's method (1981) [21]), as were custom-made optic flow sensors [22] allowing robots to be endowed with motion vision. The first robot built using optic flow for short-range navigation was the Robot-Fly (in French "robot-mouche", Fig.2)); [23]; [24]). The Robot-Fly always moved at the same constant speed across an obstacle forest, sensing the world during an elementary translation step (Fig.3). This step-by-step locomotion was inspired by the freely flying insects' locomotion mode, which has been found to usually consist of straight flight sequences (lasting 50-200ms) interspersed with rapid turns termed saccades ( [25]; [26]; [27]; [28]). Intersaccadic sequences, in which the Robot-Fly moved in a purely translation mode (length 10cm; duration 200ms), enable its 116-pixel artificial panoramic eye to assess the purely translational optic flow, which depends on parameters including the robot's speed (50cm/s) and its distance from obstacles. At the end of each step, the Robot-Fly panoramic eye had therefore detected the proximity of the local obstacles. An analog-electronics based fusion occurs between the spatial information concerning the angular bearing of the goal and the angular bearings of the obstacles, and ensures that the robot's next heading will be the as close as possible to the goal while avoiding obstacles. These short-lived proximity cues were updated after each step, the Robot-Fly did not rely on nor build any metric representation of its environment. The Robot-Fly was particularly reactive to local obstacles because its panoramic eye was able to measure a frontal optic flow in a range of [6 • /s; 135 • /s] and a lateral optic flow in a range of [25 • /s; 574 • /s], corresponding to 1.4-decade of optic flow range. The second one was called the Bee-Bot and built by Coombs and Roberts in 1992 ([29]; [30]). The Bee-Bot took inspiration from the bee's centering behavior ( [7]; [8]) in its visual control system. Bee-Bot was fitted with a pair of wide-angle cameras (with a 256x256-pixel image, frame rate 10Hz) with a 115 • field of view. The pair of cameras were both facing obliquely to left and right at about 30 • forward of side-looking. The optic flow was basically computed using a gradient method, and could be measured in the range of [4 • /s; 20 • /s] therefore limiting the Bee-Bot's speed to about 10cm/s during experiments. The maximal optic flow value taken from each peripheral field indicated the nearest obstacles to right and left, consequently by balancing the optic flow on both sides, the Bee-Bot was able to center its trajectory between obstacles. 25 years ago, both Robot-Fly and Bee-Bot demonstrated their ability to use visual information to avoid local obstacles without any global representation of the environment. Both robots are fitted with very low resolution visual systems, but use distinct optic flow-based strategies to assess proximity information from their environment. Figure 2: (a) Robot-Fly (in French: "Robot-mouche") with a visual system composed of a compound eye (visible at half-height) for obstacle avoidance. This 12kg three-wheeled robot, which was completed in 1991 ( [23]; [24]) is fully autonomous as regards its processing and power resources. (b) and (c) A target seeker for detecting the light source serving as a goal. (d) Despite its small number (116) of pixels, this robot can avoid obstacles at a relatively high speed (50cm/s) by reacting to the optic flow generated by its own locomotion. It carries a set (114) of local motion sensors [22], each of which is inspired by the fly's Elementary Motion Detector (EMD). c CNRS Photolibrary / Nicolas Franceschini.
The chicken-and-egg problem of the translational optic flow A given value of translational optic flow is a kind of chicken-and-egg problem (2), because an infinite number of couples (speed; distance) lead to the same speed/distance ratio, i.e. the same optic flow value. For instance, an optic flow value of 1rad/s (i.e., 57 • /s) can be generated by a robot moving at 1m/s at 1m from an obstacle, or moving at 2m/s at 2m from an obstacle, and so on. Figure 3: Simulation of the Robot-Fly fitted with a bio-inspired panoramic eye for obstacle avoidance and a light target detector to reach the goal by positive phototaxis behavior. Robot-Fly is able to navigate across an obstacle forest [24]. Courtesy from Nicolas Franceschini / Jean-Marc Pichon / Christian Blanes.
To get around the optic flow chicken-and-egg problem, roboticists introduced the assumption prevailing in those days that robots have to measure their own speed (by using a tachymeter on wheels: [23]; [24], a GPS unit: [31]; [32], a custom-built pitot tube [33]), or by whatever means in simulation [34] in order to assess the obstacles' distances, then to avoid them. However, flying animals are not able to directly measure their true ground speed or their distance from an obstacle. As far as we know, insects do not solve the optic flow chicken-andegg problem but instead use strategies directly based on optic flow criterions that we have called optic flow regulators ( [35]; [36]; [37]).

OPTIC FLOW-BASED STRATEGY IN THE HORIZONTAL PLANE
Optic flow balance strategy 25 years ago, the optic flow balance strategy was put forward to explain the bee's centering behavior ( [7]; [8]). This quite simple strategy was quickly applied in the field of Robotics [29]. The idea is basically to control the heading by means of a heading error ∆Ψ (3) as a function of an optic flow error |ω L |−|ω R |, where ω L and ω R are respectively the maximum optic flow amplitude coming from the left and the right part of the field of view, and K Ψ is the gain of the proportional controller (Fig.4).
The heading error ∆Ψ will therefore become, by linearizing (3), proportional to the distance error ∆D with respect to a corridor midline (4).
Where V f represents the robot's forward speed, D represents the local corridor width, and D L and D R are respectively the distance from the left and right walls. Consequently, equalizing the two lateral optic flows (ω L ≈ ω R ) with (3) may lead the robot to follow the corridor midline by canceling the distance error ∆D with respect to the corridor midline (4). Interestingly, in the particular case of a straight corridor, the robot will reach the corridor midline while its heading is also aligned with the corridor axis (Fig.4c). The reality of experimental robotic trajectories shows that an optic flow balance trajectory always leads to an oscillatory trajectory around the corridor midline, because the robot is constantly avoiding two walls (the right one, or the left one). The optic flow balance strategy has been implemented on-board many terrestrial wheeled robots ( [29]; [38]; [39]; [40]; [41]; [42]; [43] ; [44]; [45]; [46]; [47]; [48] ; [49]), and many aerial vehicles (blimp: [50]; simulated hovercraft: [51] ; simulated helicopter: [52] ; helicopter: [47]; unmanned air vehicle: [53]). In each experiment the robot was able to follow the corridor or canyon midline with more or less oscillations either in indoor or in outdoor conditions, because actually the equilibrium position along the corridor midline is obtained by jointly avoiding the two lateral walls. Simple proportional controllers (gain in (4)) were used to control the robot's heading ( [29]; [40]; [41]; [52]), or even lead controllers to stabilize the robot in case of lateral obstacles ( [39]). However, using an integral action in the controller would result in destabilizing the robot's behavior ( [39]). Works on optimizing the optic flow balance strategy demonstrated that the robot's centering behavior was optimum with respect to the maximum force restoring the robot toward the corridor axis for a pair of cameras faced obliquely at 45 • forward of side-looking ( [54]; [33]). However, if the optic flow balance strategy alone can keep a robot near the midline of a straight corridor or an urban straight canyon, it cannot be used to negotiate T-junctions or L-junctions without including another visual modality to detect frontal obstacles ( [40]; [47]). To get around this difficulty and to allow the robot to detect imminent collision and to trigger an avoidance maneuver with a higher level of priority than the optic flow balance strategy, a frontal obstacle system must be implemented on the basis of the average time-to-contact [55] in the central part of the field of view ( [40]; [41]), or on the basis of stereo vision [47]. In both cases, if the time-to-contact (or the frontal distance) is below a critical value, the robot will stop and turn away to avoid the obstacle. If the robot moves at a constant forward speed inside a corridor, the visual motion requires measuring a wide range of optic flow to equalize the two lateral optic flows because the corridor could be narrow, thus generating a high optic flow value, or wide, generating a low optic flow value. That's why controlling the speed of the robot according to the width of the corridor, allows the roboticist to limit the range of the optic flow measurement around the best sensitivity of the visual motion sensors. However, attempting to balance the two lateral optic flows would make a robot rush into any openings in a wall, since an opening offers zero optic flow (if ∆D → +∞ in (4), then ∆Ψ → +∞). To solve this problem, some authors proposed switching to a "wall-following behavior" based on keeping the unilateral optic flow constant, coupled with a constant speed when the average of the two lateral optic flows becomes larger than a given threshold [41] (Fig.4c)or when one of the lateral optic flows is at a zero value [39].

Keeping the unilateral optic flow constant coupled with a constant speed
Keeping the unilateral optic flow constant and coupling this with a constant forward speed was tested on-board many robots encountering lateral openings along a corridor ( [39] and Fig.5a; [41] and Fig.5b; [56]; [57]) or moving inside a square arena ( [58] and Fig.5c). Keeping the unilateral optic flow constant consists of using one of the two lateral optic flows to follow the nearest wall to the robot by maintaining a unilateral optic flow constant. The desired optic flow can therefore be considered as a pre-specified distance set-point. This strategy was applied on wheeled robots whose speed was adjusted to a relatively low velocity (8cm/s in [39]; 12cm/s in [41]; 10cm/s in [58]), or on a simulated hovercraft moving at 1m/s [56]; [57]). To stabilize the unilateral optic flow regulation, lead controllers were mainly employed to limit the robot's oscillations ( [39]; [41]; [58]; [56]; [57]) because lateral dynamics piloted by the robot's heading introduced two successive integrations significantly reducing the phase margin of the regulation loop. However, controlling the robot's lateral translations by yawing introduced a rotational optic flow component in the optic flow The robot was endowed with a camera and a couple of mirrors for looking laterally and ahead. Walls were avoided by balancing the two lateral optic flows; the robot speed was adjusted by regulating the bilateral optic flow. (c) In a straight corridor, the robot was seen to adopt a centering behavior, however, any lateral opening would make the robot leave the corridor. Adapted from [41] by permission of Oxford University Press.
measurement. Hence different techniques can be used to limit such rotational disturbances: the visual system can be counter-rotated to cancel the rotational optic flow component ( [29]; [59]; [56]; [57]), the robot's rotations can be speedlimited ( [40]; [39]), or the rotational optic flow component can basically be subtracted from the overall optic flow by using visual cues ( [42]; [46]) or by measuring mechanical rotations ( [41]; [58]). An original work was developed by Dev and colleagues [42] in which only the forward speed of a wheeled robot was remotely controlled by an operator. Both distance and orientation with respect to the wall were estimated on the basis of the optic flow including the non-holomic constraint of a wheeled robot. By maintaining the lateral optic flow constant, the distance to the wall therefore became commensurate with the robot's speed given by the operator [42]. A more recent work on a holonomic and fully actuated robot was developed in simulation ( [60]; [37]) and implemented on-board a tiny hovercraft ( [61]; [62]) in which unilateral optic flow regulation was directly used to adjust the lateral distance from the walls, but the robot's heading was provided by a micro-compass (Fig.6a). Keeping the bilateral optic flow constant: a speed control system The idea of introducing a speed control system based on optic flow was firstly developed by Coombs and Roberts (1992) [29]. Their Bee-Bot adjusted its forward speed to keep the optic flow within a measurable range, using a bilateral optic flow criterion to control the robot's speed. The bilateral optic flow criterion (sum of the left and right optic flows) as a feedback signal to directly control the robot's speed was first introduced by Santos-victor and colleagues ( [38]; [39]) on-board the Robee robot. Qualitatively, the robot's speed was scaled by the level of the environment's visual clutter. In simulation, the Robot-Fly (Fig.2) moved at a constant speed in the purely translation mode during intersaccadic sequences, the robot's speed was determined by the distance from the nearest obstacle during the previous step [63]. Lastly, the bilateral optic flow criterion as a feedback signal to directly control the robot's forward speed was tested on many robots in both straight and tapered corridors ( [39]; [41]; [64]; [43]; [46]; [49]; [65]; [61]; [62]). The desired bilateral optic flow was ∼ 12 • /s for the Bee-Bot robot [39], ∼ 19 • /s in [41], ∼ 46 • /s in [43], ∼ 21 • /s in [46], 190 • /s or 250 • /s in [61]; [62]. The higher the desired bilateral optic flow, the faster the robot will be while moving close to the walls.

Dual optic flow regulation
The first optic flow regulator was originally developed for ground avoidance when following terrain ( [35]; [36]). An optic flow set-point is compared to a measured optic flow to provide an error signal, this latter feeding into a regulator controlling a force orthogonal to the direction of motion. The combination of a unilateral optic flow regulator for controlling the lateral positioning on either side and a bilateral optic flow regulator for controlling the forward speed has been called a dual optic flow regulator ( [60]; [37]). The dual optic flow regulator concept was originally developed for aerial vehicles endowed with natural roll and pitch stabilization abilities, in which planar flight control systems can be developed conveniently [37] in order to mimic honeybees' abilities in the horizontal plane ( [8]; [66]; [67] Fig.7a). The dual optic flow regulator is based on: i) a unilateral optic flow regulator (Fig.6b) that adjusts the hovercraft's lateral thrust so as to keep the higher of the two perceived lateral optic flows (left or right) equal to a sideways optic flow set-point (noted ω setSide ). The outcome is that the distance to the nearest wall y becomes proportional to the hovercaft's forward speed V f , as determined in (ii); ii) a bilateral optic flow regulator (Fig.6c) adjusts the hovercraft's forward thrust so as to keep the sum of the two lateral optic flows (right and left) equal to a forward optic flow set-point (noted ω setF wd ).
In a steady state, with a given corridor width of D, the final operating point of the dual optic flow regulator will be: As a consequence, the robot's speed will asymptotically and automatically be scaled by the corridor width or even by the environment clutter (Fig.7b). By increasing the forward optic flow set-point ω setF wd at a given sideways optic flow set-point ω setSide , one can change the robot's forward speed. By reducing the sideways optic flow set-point at a given forward optic flow set-point, one can induce a graceful shift from "wall-following behavior" to "centering behavior". "Centering behavior" occurs as a particular case of "wall-following behavior", whenever ω setSide ≤ ω setF wd /2. In addition, the dual optic flow regulator requires a third feedback loop to stabilize the robot around its vertical axis, which makes the robot experience purely translational optic flow. The robot's heading is maintained constant by a heading-lock system (based on a micro-compass enhanced by a micro-gyrometer) controlling the rear thrusters differentially in closed-loop mode (Fig.6a).

Bio-inspired visuomotor convergence
J. Sean Humbert put forward the bio-inspired visuomotor convergence concept during his PhD (PhD thesis [68]; obstacle avoidance and speed control [51] & [69]; terrain-following [70]) to control a robot solely on the basis of optic flow.
This theory is based on the spatial decompositions performed by the neurons in the insect visuomotor system ( [71]; [72]; [73]) that extract relative velocity and proximity information from patterns of optic flow.
Based on the choice of weighting function, which is an engineering analogue to the directional templates of individual Lobula Plate Tangential Cells -LPTCneurons, various forms of relative velocity and proximity information can be obtained directly such as the lateral position and orientation [74] or the forward speed relative to corridor-like environments [65]. This resulting information can be applied as feedback to provide robust theoretically justified versions of the centering behavior (see §Optic flow balance strategy) and automatic speed adjustment behavior (see §Keeping the bilateral optic flow constant: a speed control system). Advantages of this bio-inspired approach include: i) significant improvements in signal-to-noise ratio of relative velocity and proximity information since one weight across many estimates of optic flow, an inherently noisy quantity [74], ii) through proper choice of weighting functions, you can separate the rotational and translational components automatically and do not need to perform a separate operation [65].
Nevertheless, it was previously demonstrated that the visual stimulation of just one fly Elementary Motion Detector (EMD) generated a strong response of the H1 LPTC-neuron, which was about 50% of its full response to thousands EMDs [76]. This kind of electrophysiological experiment has demonstrated that the feedback signal coming from optic flow is not as simple as a weighting function of each local optic flow measurement. This kind of nolinearities has not been considered by the bio-inspired visuomotor convergence theory yet. The bio-inspired visuomotor convergence was applied to a mobile robot fitted with a 1-D circular optic flow sensor providing measurements from 40 discrete angles [49]. The wheeled robot was able to move at up to 21cm/s by adjusting its own speed commensurate with the local corridor width (from 2m to 0.8m) while following the corridor midline, even if in presence of a 45 • -bend [49]. This same robot was able to negotiate a fixed-width 1.2m corridor comprising a L-junction ( [65]; [77]) or in a cluttered obstacle field [77] at a fixed forward speed of 0.4m/s [65].
The bio-inspired visuomotor convergence was also applied to a quadrotor fitted with a 1-D circular optic flow sensor providing measurements from 20 discrete angles [75] with the help of additional metric sensors such as sonar for ground avoidance (Fig.8).
Recently, a theoretical proof for stability of the bio-inspired visuomotor convergence theory was demonstrated ( [78]; [79]), but also an analysis of the robustness and quantification of the level of uncertainty in the environment (corridor-like environments with additional structure such as small poles, cylinders, or gaps and holes in the corridor) that the closed loop system can tolerate was provided ( [78]; [79]). This is a major point because [78] & [79] are the only works that have provided robustness guarantees; none of the other work listed in this review provides robustness or performance guarantees, which is a fundamental requirement for analysis of closed loop feedback systems. Actually, the only other references that provide a basic stability analysis (without robustness) of the closed loop system are references [69], [70],& [80]. To compare the bio-inspired visuomotor convergence theory to the optic flow balance strategy that frequently fails in corridors comprising one-sided or openings in a wall (Fig. 4 & Fig. 5). In contrast the switching mode strategy employed in such environments ( Fig. 5; [41]; [39]), the bio-inspired visuomotor convergence in [78] & [79] retains the strategy of balancing lateral optic flows and leverages the stability and performance guarantees of the closed loop to achieve stable quadrotor flight in environments that include a corridor with a large opening in a wall. Adapted from [75]. c Springer.

Frontal image expansion
The optic flow balance strategy was originally suggested to explain the centering behavior along a straight corridor [8]. However, it turned out that this strategy, when used alone, did not allow an agent to avoid frontal obstacles, i.e. following a corridor that included L-junctions or T-junctions without using the frontal viewfield [40]. The frontal image expansion can therefore be used to estimate the time-to-contact [55] by means of the optic flow divergence ( [81]; [82], and trigger a pre-specified rotation angle around the robot's vertical axis. A simulated small helicopter could therefore trigger U-turns when encountering frontal obstacles [52], or a wheeled robot could trigger a rotating angle of 90 • [40] or of 110 • [43] in front of an obstacle, or the robot could stop and rotate on the spot until the frontal range once again became large enough [41]. Other robots use a series of open-loop commands, called body saccades, to avoid a frontal obstacle (Fig.9). The saccade duration has either been set to a constant pre-specified value ( [83]; [84]), determined according to a Gaussian distribution [85], or modulated using optic flow ( [86]; [87]; [88]; [89]; [90]). Recently, an optic-flow based algorithm has been developed to compute a quantified saccade angle; this has allowed a simulated fully actuated hovercraft to negotiate tight bends by triggering body saccades, on the basis of a time-to-contact criterion and to realign its trajectory parallel to the wall along a corridor that includes sharp turns [91]. Figure 9: 30-g microflyer with description of electronic components, sensors, and actuators. Cameras on both sides sense the optic flow to assess the time-to-contact, then avoid a frontal obstacle by generating fast saccades around the microflyer's yaw axis. From [84]. c IEEE.

OPTIC FLOW-BASED STRATEGY IN THE VERTICAL PLANE
Ventral optic flow ω x (expressed in rad·s −1 ) can be defined by the ratio between forward speed V x and flight height z [12] as follows: The ventral optic flow can be used by aerial robots to achieve different maneuvers along the longitudinal axis: take off, terrain-following, flying nap-of-the earth, landing, decking. 20 years ago, a landing strategy was put forward to explain how a bee could land on flat ground ( [66]; [92]). Bees were observed to land on flat ground with a constant descent angle, M.V. Srinivasan and colleagues at the Australian National University therefore suggested a pair of rules for explaining the bee's smooth landing on flat ground: (i) the forward speed is controlled by holding the angular velocity of the image of the ground constant (i.e., holding a constant ventral optic flow), (ii) making the instantaneous downward speed proportional to the instantaneous forward speed (i.e., holding a constant descent angle). This pair of rules was first implemented in a robotic gantry without including dynamic aspects [92], and subsequently on-board a small fixed-wing aircraft [93] in which the elevator angle was controlled via a proportional feedback loop by holding the ventral optic flow close to ∼ 40 • /s. During a real closed-loop flight experiment, the small fixed-wing aircraft was seen to slow down from 25m/s to 15m/s while loosing 30m in altitude, but experimental results were almost the same with or without the feedback loop, and the craft's altitude was observed to decrease linearly with time instead of exponentially as predicted by the pair of rules [93]. Ventral optic flow was also employed for ground avoidance on-board a Micro Air Vehicle (MAV) whose mass was lower than 100-gram. A control algorithm based on a "bang-bang" method was used on-board a MAV to control its lift such that if a certain threshold of ventral optic flow was exceeded, the MAV elevator angle would be moved to a preset deflection (glider in [87]; fixed-wing aircraft in [88]). In 2002, a 840-gram tethered rotorcraft, called Fania, was able to jump over 1-meter high obstacles using a basic optic-flow based control algorithm [94]. A small Hirobo Eagle helicopter with an overall mass of 8kg [32] used its avionics to deduce the height above ground from the ventral optic flow. The above ground height was therefore held constant by adjusting the main rotor thrust: the helicopter was able to follow the terrain at a flight height of ∼1.5-2m while flying at speeds ranging from 5 to 8m/s (Fig.11).

Ventral optic flow regulation
In 2003, a 100-gram tethered rotorcraft, called OCTAVE (OCTAVE stands for Optic flow based Control system for Aerial VEhicles), followed a smooth relief [95] by using the ventral optic flow regulator principle ( [35], Fig.10). A ventral optic flow regulator integrated an optic flow measurement into a feedback loop driving the robot's lift so as to compensate for any deviations in the measured optic flow from a given optic flow set-point (The OCTAVE autopilot Fig.10).
The ventral optic flow regulator ensures that at any moment the flight height is proportional to the airspeed. Any increase in the airspeed leads to an increase in height, so this can lead to an automatic takeoff then terrain-following under visual control. In the same way, any decrease in the airspeed can lead to an automatic landing at a constant angle under visual control until touchdown at zero speed [36], as actually observed in honeybees in similar situations ([66]; [92]). The OCTAVE robot was also able to land along the longitudinal axis onto a moving platform [96], as honeybees actually do on a moving target [97].  [36]. c Elsevier.
A Vertical Take-Off and Landing (VTOL)aircraft with an overall mass of 0.85kg [98] was able to follow a steep terrain (slope 25%) at a flight height of 1.5m while flying at 0.3m/s by regulating the ventral optic flow at ∼ 12 • /s while estimating its own forward speed by combining both accelerometer and barometer readings [98].

Twin dual optic flow regulation
With the goal of developing a full optic flow-based autopilot for 3D indoor navigation, the OCTAVE autopilot for ground avoidance [35] and LORA autopilot for speed control and lateral obstacle avoidance [37] have been combined to develop the ALIS autopilot (ALIS stands for Autopilot using an Insect-based vision System) [99]. The ALIS autopilot consists of two visuo-motor feedback loops: (i) the speed control loop (along x-axis) based on a feedback signal coming from the maximum value of the bi-lateral or bi-vertical optic flow; consequently the agent considers the minimum cross-section of the tunnel when adjusting its forward speed, and (ii) a positioning control loop (along y-and z-axis) based on a feedback signal coming from the maximum value of the lateral, ventral, or dorsal optic flow; consequently the distance from the nearest surface (lateral walls, ground, or ceiling) becomes proportional to the forward speed obtained in (i). These two loops work in parallel and are independent; each has its own optic flow set-point. Simulation results [99] showed that an agent was able to navigate safely along a straight or tapered tunnel and to react appropriately to any untoward optic flow perturbations, such as those resulting from the occasional lack of texture on one wall or converging-diverging tunnel sections.
Recently, dual flow optic regulation in the vertical plane was tested on-board a 80-gram rotorcraft called BeeRotor [100]. As a third control feedback, an active system of reorientation based on a quasi-panoramic eye constantly realigned its gaze in parallel to the nearest surface followed: the Beerotor robot demonstrated its abilities and achieved automatic terrain following despite steep reliefs (Fig.12) without a need for inertial frames or scaling sensors [100].
Recently, in the framework of the Green Brain project managed by James Marshall, a dual optic flow regulator for both speed control and lateral positioning, and a ventral optic flow for altitude control were implemented on-board a small quadrotor ( [101]). Figure 12: (a) BeeRotor I robot equipped with the full cylindrical CurACE sensor [18]. (b) Photograph of the experimental set-up. (c) Trajectories of the robot BeeRotor II that automatically follows the ground, thanks to the ventral optic flow regulator and the fixed eye (blue) and decoupled eye (red) oriented parallel to the ground. This reorientation enables the robot, at an earlier stage, to detect the increase in the optic flow due to steep relief. Adapted from [100] under CC-BY license.

Ventral image expansion
The expansion of the ventral optic flow can be used for VTOL aircraft. This kind of aircraft is able to take off, hover, and land vertically. If the robot is looking straight down, the ventral image expansion can be computed by the optic flow field divergence ∇ ω (expressed in s −1 ), which is equal to: with z the height above the ground, and V z the ascent speed (axis pointing up). This optic flow divergence can also be expressed in terms of time-tocontact τ (expressed in s) [55]: The ventral image expansion by means of optic flow divergence or time-tocontact allows a VTOL vehicle fitted with a monocular camera and an inertial measurement unit to take off, hover or land vertically without measurement of flight height or vertical speed. Methods using either an enforcement of a decreasing time-to-contact or keeping the optic flow divergence constant have been used in recent landings ( [80]; [102]; [103]; [104]; [105]), as actually observed in honeybees in similar situations [106]. Automatic vertical landing can be achieved using vertical optic flow (the downwards expansion of optic flow) even over a moving platform ( [80]; [107]), this kind of maneuver is called a decklanding and could be useful for any VTOL aircraft wanting to land on the deck of a sea going vessel (Fig.13).

OPTIC FLOW-BASED ODOMETRY
There is now evidence that bees gauge distance in flight by integrating optic flow over time [108]. Lateral optic flows were used to gauge the traveled distance of wheeled robots ( [41]; [45]) or a small blimp [50]. Downward optic flow was used to gauge the traveled distance of a car-like robot [109] or a wheeled robot [110]. An optic-flow based odometer appears to achieve better results than a wheelbased odometer [109]. A recent paper demonstrated that the combination of downward optic flow and stereovision to calculate the current position of a quadrotor along a pre-defined trajectory could be achieved with an error of about 1.7% in the total path length [111].

RECENT ADVANCES ON OPTIC FLOW-BASED ROBOTS
Recently, an event-based collision avoidance algorithm was developed and has been implemented on-board a wheeled robot [112]. The collision avoidance direction, computed from this algorithm, points away from nearby objects by combining optic flow measurement and true ground speed measurement. This new kind of bio-inspired algorithm has only been tested under open loop conditions in a corridor with a small number of objects but experimental results have shown that this algorithm could be used to control a robotic platform [112]. face below moving with small oscillations, the quadrotor followed the surface oscillations either at a constant height above the surface or during a vertical landing maneuver. (b) Quadrotor fitted with a downward looking camera above an oscillating surface. From [80]. c IEEE.
A new approach to solving the "Route Learning and Long-range Homing" problem has been suggested in recent years: Denuelle and colleagues have combined a smart optic flow method and a snap-shot panoramic picture to navigate back and forth between the home and the goal locations [113].
Efforts have also been made in recent years to decrease drift due to low mass inertial devices on-board robots by using optic flow direction [114]: optic flow direction can be defined by the direction along the focus of the expansion and contraction axes. Finally, a new kind of robust dedicated sensor for the measurement of changes over extended periods -several decades -of light level has also been recently developed to measure optic flow even in the dark ( [18]; [115]).

COMMERCIAL DEVELOPMENT
Several companies are now using optic flow onboard aerial robots, examples of this are the Parrot company with the AR Drone to stabilize the x-y position in hover mode or Sensefly with the fixed-wing drone called eBee that lands automatically. It is worth noting that the SnapDragon Flight controller from Qualcomm now features an optic flow sensor as part of its avionics.