Back to the Table of Contents
Optic flow can be used to autonomously land an aerial robot in closed quarters. To simplify this task, the rotational component of optic flow (see equation below) arising from changes in aircraft pitch are assumed smaller than the translational component. Srinivasan observed that honeybees land by keeping the optic flow on the landing surface constant (v/d, where d is the altitude). Mimicking this behavior demands the fixed-wing aircraft decrease forward speed in proportion to altitude. Autonomous takeoff is simplier and can be achieved by applying full throttle with elevator deflection.
Back to the Table of Contents
The optic flow control system block diagram and flow chart are shown below. When approaching a landing, a microprocessor, or controller, will take an initial optic flow reading and set that as the desired value, oi(t). The controller will continue to take readings throughout the landing process and compute the error, e(t), between the desired and actual values, oi(t) - of (t). When the optic flow on the landing surface becomes larger than the desired optic flow, the error is negative and two conditions are possible. One, the forward velocity, v, could be significantly increasing. However, this is not likely during a landing sequence and can be ruled out. Two, the altitude, d, can be decreasing at a faster rate than v. Here, the controller will send a signal to the elevator, Ka, to slightly deflect it upwards to give a small increase in altitude. The other possibility is that the optic flow could start to dip below the desired level causing the error to be positive. The two possible cases that arise here are one, d is increasing but again this is not practical while in landing mode and two, v is decreasing faster than d. In this case, the controller will need to increase the propeller speed slightly by giving an output, Km to the motor. After either control sequence has been implemented to force the optic flow back to the desired value, the throttle and elevator should be reset to its initial settings (i.e. Ka = Km = 1).
![]() |
             | ![]() |
Back to the Table of Contents

Back to the Table of Contents
Back to the Table of Contents