Prototyping a Quadrotor Collision Avoidance System Using Ultrasonic Rangefinding with NodeJS and Arduino Platforms
CSEF · 2016 Electronics & Electromagnetics
Overview
Objectives/Goals Make a collision avoidance system and algorithm that overrides user input to maneuver a quadrotor away from potential threats. Maneuver the drone in a variety of test cases to test effectiveness. Methods/Materials Laptop with the Arduino IDE and a NodeJS compiler. Unmodified, the AR Drone 2.0 used in the experiment is controlled through a smartphone app. In order to prototype a collision avoidance system, the controls of the drone had to be manipulated. An Arduino Mega 2560 with a physical joystick and buttons was connected to NodeJS through a serialport. Node communicated user commands to the drone through an API, and an avoidance system mounted on the drone delivered data to the Mega 2560. Whenever threats were detected, user control was overriden. The program architecture and any software was a novel creation. The system was tested in 80 different test cases. Results The drone was run through eighty presentations of obstacles. The drone successfully avoided sixty eight out of eighty cases and failed to avoid twelve cases. The Arduino Mini mounted on top of the drone was sending incorrect signals at times, which can be attributed to the ultrasonic rangefinder. These cases occured mostly in presentations of objects quickly to the drone, or when the object was too small. Conclusions/Discussion The tests went relatively well but the twelve times that the drone didn't avoid the presented objects was partially to blame on the sensor and the angle of the drone itself. The angle of attack at which the drone takes movement at can affect the angles at which the sensor can detect obstacles. The rangefinder also did not detect small objects very well. In order to maximize performance, a LIDAR sensor and a gimbal should be used in the future. A wider field of view would also maximize performance in the system.
Summary statement
I created a collision avoidance system that overrode user control whenever objects posed a threat to a drone using ultrasonic rangefinding, NodeJS, and Arduino.
Help received
I created the entire architecture and software myself, after watching a variety of tutorials on programming and debugging.
Competition history
- CSEF 2016
Resources
Related projects
CSEF · 2017
Prototyping an Omnidirectional Drone Collision Avoidance System with Sweeping Ultrasonic Sensors
ISEF · 2017
UAV Obstacle Avoidance and Collision Prevention System
CSEF · 2017
Safecopter: Developing a Collision Avoidance System Based on an Array of Time-of-Flight 3D Cameras
CSEF · 2016
Safecopter: Developing a Collision Avoidance System Based on an Array of Time-of-Flight 3D Cameras
CSEF · 2014
4eyes: An Ultrasonics-based Solution to Collisions Involving Cellphone Distracted Pedestrians
CSEF · 2016
Using Optical Flow Modeling Methods and Sensor Fusion to Create a Novel Low-Cost Autonomous Emergency First Responder
ISEF · 2016
Safecopter: Developing a Collision Avoidance System Based on an Array of Time-of-Flight 3D Cameras
CSEF · 2016
Constructing a Noise Generator to Interrupt Multicopter Flight
Closest projects by meaning, across every fair and year in the corpus.
Browse more like this
Source: California Science & Engineering Fair public projects