Safecopter: Developing a Collision Avoidance System Based on an Array of Time-of-Flight 3D Cameras

CSEF · 2017 Computational Systems & Analysis

Overview

Objectives/Goals 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. Integrating an array of time of flight 3D cameras, the algorithm uses coordinate transformations to convert point clouds provided by each camera into one 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. Methods/Materials To be able to process the point cloud produced by the 3D cameras, I use a compact onboard computer running the Ubuntu Linux operating system. The software system is programmed in C++ using ROS (Robot Operating System) as a development platform. My project uses the Gazebo 3D physics simulator to test in various situations. Results 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++, it 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, I was able to test different scenarios, without running the risk of causing an expensive crash. Conclusions/Discussion Based on the testing performed, the system can reliably detect and avoid collisions in real time and route the multicopter to a collision free path in order to reach a specific motion goal.

Summary statement

The goal of my project is to create a multicopter that doesn't collide with nearby objects. It is based on a modular collision avoidance system which includes an array of 3D cameras to detect and avoid objects in the way.

Help received

None. I designed, built, and programmed the system myself.

Competition history

  • CSEF 2017 Computational Systems & Analysis · Entry S0833

Resources

Related projects

Closest projects by meaning, across every fair and year in the corpus.

Browse more like this

Source: California Science & Engineering Fair public projects

Save projects to your library

Sign in with Google to keep track of projects you find interesting, organized into folders. An account also raises your daily allowance for “Has this been done?”, and lets you create a key for the MCP server with a much higher limit than anonymous use. Browsing stays public.

Continue with Google