This is an archive site. Current senoir design projects are at https://projects.eng.uci.edu.
Autonomous Object-tracking Quadcopter
with Remote Processing Capability
Matthew Eng
Thuong Nguyen
Qiwei Fu
Wenta Zhu
Professor: Marco Levorato
TA: Davide Callegaro
EECS
Winter 2018
The tasks performed by autonomous drones are becoming increasingly complex. Many of these tasks involve the execution of complex algorithms (including deep learning) and analyzing video and other sensor input in real-time. The constraints in terms of onboard processing capabilities limit the ability of some drones to perform such tasks effectively. Additionally, the computational load may make the drone’s operational time significantly shorter due to the limited onboard energy storage. These issues are especially relevant to Unmanned Aerial Vehicles (UAV) due to obvious weight constraints.
The objective of the project is to build an architecture capable of offloading the computational tasks controlling the navigation of a UAV. The architecture will take as inspiration the recent edge and fog computing algorithms.
Project Outline
- Install and test a control framework for the navigation of the UAV. In particular, a video stream captured by a video camera will be captured by an onboard Raspberry Pi to be sent to the groundstation, which will also act as an interface between the drone and Pixhawk controller onboard of the drone. Pixhawk controller will take the command received from Raspberry PI and maneuver accordingly. The Raspberry Pi will also have the ability to run the tracking algorithm in case connection to ground station is lost.
- Build a data communication pipeline capable of transporting the video stream to a laptop on the ground using wifi, which will process the video using object tracking algorithm and send command for the drone back to the Raspberry Pi, which will then in turn be sent to Pixhawk controller to complete the maneuver.
- Measure the performance of the tracking and power usage between onboard processing and processing with remote groundstation. Operation time on a single charge and the accuracy of tracking will be our performance metrics.
Implementation
Above is the flowchart for the project implementation.
The project is divided into the UAV module and the Ground module:
Hardware Used
3DR Solo Quadcopter
Raspberry Pi
Logitech Webcam
Pixhawk Flight Controller
Functionality:
Our current functionality is as follow:
Working tracking algorithm implemented using OpenCV
Working communication protocol over TCP to issue movement command and stream video feed.
Working drone control script to allow for guided maneuver.
Ability for drone to track color flagged moving object.
Expandable tracking type with multitude of alternative tracking algorithm.
The drone tracking functionality is a success and the drone does not have an issue tracking objects.
Challenges and Issues:
There were many challenges and issues left to be solved for this project despite the fact that the drone can track object without an issue. One of the issue is the fact that the capability of the raspberry pi is quite low, it create a bottle neck on the video feed transfer from the UAV module to the Ground module. The video and command exchange had high response time and thus caused the tracking to overshoot target at times. The other issue we had was the ability for camera to capture good quality video feed on board the drone due to the viberation caused by the drone, that gives the tracking algorithm a bit of difficulties on determining the object of interest. That can be fixed in the future with an attached gimbal for stable video feed.
Members Roles
Matthew Eng (EE) : Captain, UAV Control, Tracking/Detection Systems, Communication
Email: engmc@uci.edu
Qiwei Fu (CpE) : UAV Control
Email: qiweif@uci.edu
Thuong Nguyen (CSE) : Tracking/Detection Systems
Email: thuonghn@uci.edu
Wentao Zhu (CSE) : Communication
Email: wentaoz@uci.edu
Davide Callegaro: TA, helped us with many aspect of the project.
Email: dcallega@uci.edu
Professor Marco Levorato
Email: levorato@uci.edu
Link to Demo
https://www.youtube.com/watch?v=YljgPcyVxvU&