Projects:2019s1-110 AI-Enabled Fuzzy Logic Controller for Autonomous Navigation of Multiple Drones

From Projects
Jump to: navigation, search

Introduction

In 2016, the University of Cincinnati, and its spin-off Psiberentix Inc developed a software capable of beating top-tier human pilots in air-to-air combat simulations. This project aims to apply similar concepts and techniques to the following problem: In a cluttered environment, a team of autonomous agents are tasked to safely navigate and simultaneously arrive at their targets. Such a problem arises in many scenarios, for example, search-and-rescue missions, police siege support, and military applications. The findings of this project will also benefit future projects investigating autonomous systems.

Project team

Project students

  • Bryan Goh
  • James Feeney

Supervisors

  • Dr. Cheng-Chew Lim
  • Dr. Hong Gunn Chew
  • Dr. Anna Dostolavola (DSTG)
  • Dr. Jijoong Kim (DSTG)

Advisors

Objectives

The objective for this project was the design of a fuzzy logic controller capable of enabling a fleet of drones to accomplish the objectives of the problem. The problem objectives were effectively:

  1. No collisions
  2. Constant travel speed
  3. Simultaneous arrivals

Background

Particle Swarm Optimisation

This is the global optimisation method which was utilised in this project. Global optimisation methods aim to find minima/maxima for a given maths function by altering the inputs to that function programatically. Particle Swarm Optimisation (PSO) is an evolutionary algorithm that was discovered through simulating the simplified social models of bird flocking and fish schooling. A simple description of the algorithm is given as follows:

  1. Generate a random population (swarm) of potential solutions (particles).
  2. Determine the fitness(the maths function to be minimised/maximised) of each particle.
  3. Update each particle’s best solution, and the swarm’s best solution.
  4. Update the velocity and position of each particle.
  5. Repeat steps 2 – 4 for a desired number of iterations.

Fuzzy Logic

Fuzzy Logic (FL) is the type of logic the agents will utilize to make decisions on how to achieve their objectives. FL has been applied in control problems where the behaviour of the modelled system cannot be readily expressed using mathematical equations. FL controllers utilize a set of “IF-THEN” fuzzy rules, linguistically combining inputs and outputs. The fuzzy rules are constructed by using expert knowledge, or via global optimisation methods as was attempted in this project. The motivation for the use of global optimisation methods in this project is due to evolutionary designed FL-based systems demonstrating a high degree of resilience to the uncertainty of inputs whilst providing efficient and robust performance.

Method

To simplify the problem, the project was broken into the following stages:

  1. A supervisory agent will generate optimal paths for individual agents. Key points along these paths will serve as waypoints and be sent to individual agents.
  2. Fuzzy logic controllers will use these waypoints and guide agents toward them to achieve the problem objectives.

For both of these stages, PSO was used to find optimal solutions. In the first stage, PSO was used to optimise the paths generated, whilst it was used in the second stage to find optimal parameters for the controller.


Results

In this section, the results from both stages of the project are demonstrated in a simple case of 2 drones. The first figure depicts the generation of optimal waypoints for a fleet of 2 agents. The trajectories have equal lengths to ensure the simultaneous arrival of each agent to their respective destination. The waypoints and desired path lengths are then sent to the fuzzy logic controller in each agent and solved locally. This can be seen in the second figure, where each agent has successfully navigated to its target. Unfortunately, the agents have failed to arrive simultaneously, this can be attributed to the limitations of the implemented training regime.

Conclusion

The project shows promising results given the complexity of the problem. However, there were clear areas for future work to improve upon.

References