The Quadcopter that Never Crashes

View the source code | View Safecopter's awards

Safecopter In Person

Integrating an array of time-of-flight 3D cameras, the algorithm uses coordinate transformations to convert the point clouds provided by each camera into a main one, creating a 360° snapshot of the environment within a six-meter radius. The challenge is to develop an algorithm fast enough to provide collision avoidance decisions in real time.

Safecopter data graph

Multicopters have a wide range of applications from surveillance to package delivery and medical support. Although growing in popularity, they are not used yet on an industrial scale for safety reasons. The goal of Safecopter is to develop a modular collision detection and avoidance system that would make flying a multicopter in autonomous or tele-operated mode completely safe and responsive to the changing environment.

Safecopter Exploded View

Based on the research of multiple collision detection algorithms, the octree spatial partitioning system proved to be the most efficient. In comparison to the point cloud based algorithm, it was more than 320 times faster. Developed in C++, the algorithm was able to achieve this level of performance by organizing the data into tree-like hierarchies and performing binary operations.

A key element of developing an advanced collision avoidance algorithm is the ability to simulate complex indoor and outdoor environments. Safecopter was modeled in 3D and, using the Gazebo physics simulator, different scenarios were tested, without running the risk of causing an expensive crash.

Screenshot of Safecopter Simulation

This project has won numerous international awards at the Intel International Science and Engineering Fair (ISEF). For more details, see the awards page.

Many thanks to these companies for sponsoring this project...



PMD Technologies!