A method for controlling an unmanned aerial vehicle comprising a first optical device and a second optical device, the method comprising: capturing, by one or more processors (108, 604) associated with a flight management system (104, 600) of the unmanned aerial vehicle, one or more images, the capturing comprising: capturing a first image by the first optical device at a first time, the first image including an obstacle; and capturing a second image by the second optical device at the first time, the second image including the obstacle, and the second optical device being situated a predetermined distance from the first optical device; assessing, by the one or more processors (108, 604), signals from an inertial measurement unit, IMU,; processing, by the one or more processors (108, 604), the captured images based on the assessed signals to generate corrected images; processing, by the one or more processors (108, 604), the corrected images to estimate a first position of the obstacle at the first time; capturing a third image by the first optical device at a second time; and capturing a fourth image by the second optical device at the second time, estimating a second position of the obstacle at the second time based on the third and fourth images; estimating a first velocity of the obstacle based on a difference between the first position and the second position and a difference between the first time and the second time; capturing a fifth image by the first optical device at a third time; capturing a sixth image by the second optical device at the third time; estimating a third position of the obstacle at the third time based on the fifth and sixth images; estimating a second velocity of the obstacle based on a difference between the second position and the third position and a difference between the second time and the third time; and estimating an acceleration of the obstacle based, at least in part, on the first estimated velocity and the second estimated velocity; controlling, by the one or more processors (108, 604), the unmanned aerial vehicle based on the position data. capturing, by one or more processors (108, 604) associated with a flight management system (104, 600) of the unmanned aerial vehicle, one or more images, the capturing comprising: capturing a first image by the first optical device at a first time, the first image including an obstacle; and capturing a second image by the second optical device at the first time, the second image including the obstacle, and the second optical device being situated a predetermined distance from the first optical device; capturing a first image by the first optical device at a first time, the first image including an obstacle; and capturing a second image by the second optical device at the first time, the second image including the obstacle, and the second optical device being situated a predetermined distance from the first optical device; assessing, by the one or more processors (108, 604), signals from an inertial measurement unit, IMU,; processing, by the one or more processors (108, 604), the captured images based on the assessed signals to generate corrected images; processing, by the one or more processors (108, 604), the corrected images to estimate a first position of the obstacle at the first time; capturing a third image by the first optical device at a second time; and capturing a fourth image by the second optical device at the second time, estimating a second position of the obstacle at the second time based on the third and fourth images; estimating a first velocity of the obstacle based on a difference between the first position and the second position and a difference between the first time and the second time; capturing a fifth image by the first optical device at a third time; capturing a sixth image by the second optical device at the third time; estimating a third position of the obstacle at the third time based on the fifth and sixth images; estimating a second velocity of the obstacle based on a difference between the second position and the third position and a difference between the second time and the third time; and estimating an acceleration of the obstacle based, at least in part, on the first estimated velocity and the second estimated velocity; controlling, by the one or more processors (108, 604), the unmanned aerial vehicle based on the position data.