Game of drones : dynamic trajectory planning and tracking in multi-player race

In this report we propose a solution to the Tier 1 task of Game of Drones – a simulation-based drone race organised by Microsoft Research [1]. Objective of the task was to fly a drone through a given series of gates with the minimum possible time, while avoiding collision with a competing drone and...

Full description

Saved in:
Bibliographic Details
Main Author: Fang, Meiyi
Other Authors: Huang Shell Ying
Format: Final Year Project
Language:English
Published: Nanyang Technological University 2020
Subjects:
Online Access:https://hdl.handle.net/10356/138772
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Nanyang Technological University
Language: English
Description
Summary:In this report we propose a solution to the Tier 1 task of Game of Drones – a simulation-based drone race organised by Microsoft Research [1]. Objective of the task was to fly a drone through a given series of gates with the minimum possible time, while avoiding collision with a competing drone and static obstacles. The simulator and the competition Application-Programming-Interface (API) were both provided by the organisers. Participants were required to implement their racing strategies based on the API in Python and verify these strategies in the simulator. Our solution focuses on three areas: trajectory planning, trajectory tracking, and collision avoidance. For trajectory planning, we used Cubic Hermite Spline interpolation through the gate centres. Tangents of spline segments were constrained with augmented gate orientations. A Pure Pursuit Controller and a Proportional-Integral-Derivative (PID) controller were used for trajectory tracking. We improved the Pure Pursuit Controller by scaling it with trajectory curvature to achieve more precise trajectory tracking. For collision avoidance, the trajectory was re-planned with new waypoints once opponent interference was detected. Our solution submitted for qualification flew the drone through all gates with a lap time of 121 seconds. After the competition, we continued to improve the solution. Eventually, our best lap time in the qualification round environment was reduced to 59 seconds. We continued to run the solution in the final round environment and improved it further. The final solution was able to fly the drone through all gates with a lap time of 74.8 seconds in the final round environment. Our experiments have shown that precise trajectory tracking was the key to solving the challenges in this task. Since the built-in opponent was moderately competitive, it was not difficult for the ego drone to surpass the opponent at the early stage of the race. To maintain this advantage, the ego drone should be able to precisely follow its planned trajectory at the maximum possible speed. With improved trajectory tracking, there would be more room for optimization in trajectory planning and collision avoidance. Therefore, a more robust trajectory tracker and trajectory planner can be developed in future studies.