Autonomous Control for Quadcopters
Dr. Yiqiang Han (Department of Mechanical Engineering)
Alex Krolicki (Department of Mechanical Engineering)
Phillip Do (School of Computing)
Rowan Desiardins (Department of Aerospace Engineering, Purdue University)
Abstract
System Operation
The camera provides an input image to the onboard computer. The onboard computer is a compact, powerful and cutting edge technology allowing for graphically intense computations to be done efficiently. The camera image is taken as an input for the path planning and object detection neural networks. These neural networks can be trained on labeled data sets to build a set of reference patterns it uses to classify new images. Once the controller receives the predicted position, orientation and potential obstacles from the neural networks, a new yaw angle is transmitted to the flight controller from the computer. The flight controller communicates with the electric motors to steer toward the center of the path, while maintaining a constant altitude and forward velocity. An onboard Lidar Sensor is used for maintaining a stable height from the ground, and a optical flow sensor measures the velocity of the drone.

Camera
Used for object detection, such as people and pets.
Neural Net used to navigate a trail.
Takes output data from the DNN and controls the drone.
Used to initialize autonomous flight and stop any unwanted flight behavior.
Allows communication via MAVLink from the ground station to ROS.
Testing Hardware Communication
First Autonomous Flight Test
Hardware
Software
Neural Networks
Quadcopter Dynamics
Performance/Results
- Power Consumption
- The bulk of the power consumption comes from the motors, so reducing weight will save us the most flight time.
- It was estimated that we could achieve 9 minutes of flight time, however on average we could fly for 15 minutes.
- Reducing the number of onboard components would greatly increase the longevity of missions.
- Autonomous controller accuracy
- The accuracy of the controller is dependent on the quality of your input sensor data, as well as the training data used to make predictions about the location and orientation of the drone with respect to the center of the path.
- The controller achieves impressive accuracy without the need for providing explicit information about the path it will follow, making it ideal for real world implementation in any previously unexplored environment
Conclusions
- It is possible to control a quadcopter using artificial intelligence.
- Good accuracy can be obtained if the hardware is well calibrated and reasonably accurate.
- Good training data will help the drone make accurate predictions about the center of a trail that it has not seen before.
- It is important to troubleshoot problems with others to gain a new perspective about the problem and possible solutions.
Future Plans
- Transfer the knowledge gained from this project to build a smaller drone in order to compete in future competitions.
- Create and evaluate our own training data sets to train the neural network to navigate in urban environments.
- Integrate custom hardware into the robotics operating system (ROS) to perform package pick-up and drop-off maneuvers.
- Use a stereo camera to capture image depth to build a 3D map of the environment using a point cloud for obstacle avoidance.
- Develop future projects on the more compact, powerful and inexpensive NVIDIA Jetson Nano.
References
Smolyanskiy, N., Kamenev, A., Smith J., & Birchfield, S. (2017, May). Toward Low-Flying Autonomous MAV Trail Navigation using Deep Neural Networks for Environmental Awareness [Scholarly project]. In ArXiv.org. Retrieved August 3, 2019, from https://arxiv.org/abs/1705.02550