In this video, we demonstrate fast moving obstacle detection and avoidance for Unmanned Aerial Vehicles. Sensing and avoidingmoving objects is essential to autonomous flight.


Our experimental setup consists of a quadrotor platform equipped with a forward facing monocular camera. The UAV platform was held manually in position to emulate a hover. In order to simulate high speed obstacles

we use a pitching machine which propels objects at speeds up to 20 meters per second.


Our method for obstacle detection consists of binarization followed by blob detection. Once an obstacle is detected, we employ a potential field approach to begin avoidance.


This consists of calculating the position of the obstacle in a global frame of reference, which is determined by the image in which the obstacle was first detected.


This is performed via homography transform.

In the potential field method, we imagine the obstacle and the groundto repel the UAVwhile the image center attractsit. The three combined imaginary forces on the platform are then used to generate a hypothetical position for the UAV. This process is repeated until the distance between the image center and the current hypothetical position exceeds some threshold. The UAV then begins to move towards the current hypothetical position. This process is shown in the ROS simulation video.


In this clip, original video from the UAV camera is shown in the top left corner. The bottom left and right screens demonstrate the homography transform and trajectory generation, respectively, and the top right displays the ROS simulation.The video is shown first at full speed and then again at 10 percent to illustrate the obstacle avoidance steps. 

Now it is simulation only but definitely we will implement it on a real UAV.

E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones


  • Is there any sort of camera calibration beforehand (can aid faster thresholding before binarization in some ways)?

  • Helldesk.  I'm assuming that  the image is realistically stable during the binarization shots.  If the UAV were moving you'd have to have a phase prior to the binarization phase in which you normalize the frames to allow the binarization to happen on a similar FOV.  This would complicate things heavily, probably why they just have a hovering idle UAV.

  • Nice! What is the threshold for an object to avoid? Having the whole image field move during a flight obviously isn't a problem, so how does it tell obstacles apart from the background?

This reply was deleted.