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 Electronics & Electromagnetics · Entry S0921

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