the simulated drone flying championship

28
Introduction Explaining The Simulated Drone Flying Championship How to Evolve Controllers Evolutionary Algorithm S T HE S IMULATED DRONE F LYING C HAMPIONSHIP Muhammad Adil Raja Roaming Researchers cbna

Upload: adil-raja

Post on 04-Aug-2015

37 views

Category:

Technology


5 download

TRANSCRIPT

Page 1: The Simulated Drone Flying Championship

Introduction Explaining The Simulated Drone Flying Championship How to Evolve Controllers Evolutionary Algorithm Simulation Environments

THE SIMULATED DRONE FLYING

CHAMPIONSHIP

Muhammad Adil Raja

Roaming Researcherscbna

Page 2: The Simulated Drone Flying Championship

Introduction Explaining The Simulated Drone Flying Championship How to Evolve Controllers Evolutionary Algorithm Simulation Environments

OUTLINE

1 INTRODUCTION

2 EXPLAINING THE SIMULATED DRONE FLYINGCHAMPIONSHIP

3 HOW TO EVOLVE CONTROLLERS

4 EVOLUTIONARY ALGORITHM

5 SIMULATION ENVIRONMENTS

Page 3: The Simulated Drone Flying Championship

Introduction Explaining The Simulated Drone Flying Championship How to Evolve Controllers Evolutionary Algorithm Simulation Environments

OUTLINE

1 INTRODUCTION

2 EXPLAINING THE SIMULATED DRONE FLYINGCHAMPIONSHIP

3 HOW TO EVOLVE CONTROLLERS

4 EVOLUTIONARY ALGORITHM

5 SIMULATION ENVIRONMENTS

Page 4: The Simulated Drone Flying Championship

Introduction Explaining The Simulated Drone Flying Championship How to Evolve Controllers Evolutionary Algorithm Simulation Environments

OUTLINE

1 INTRODUCTION

2 EXPLAINING THE SIMULATED DRONE FLYINGCHAMPIONSHIP

3 HOW TO EVOLVE CONTROLLERS

4 EVOLUTIONARY ALGORITHM

5 SIMULATION ENVIRONMENTS

Page 5: The Simulated Drone Flying Championship

Introduction Explaining The Simulated Drone Flying Championship How to Evolve Controllers Evolutionary Algorithm Simulation Environments

OUTLINE

1 INTRODUCTION

2 EXPLAINING THE SIMULATED DRONE FLYINGCHAMPIONSHIP

3 HOW TO EVOLVE CONTROLLERS

4 EVOLUTIONARY ALGORITHM

5 SIMULATION ENVIRONMENTS

Page 6: The Simulated Drone Flying Championship

Introduction Explaining The Simulated Drone Flying Championship How to Evolve Controllers Evolutionary Algorithm Simulation Environments

OUTLINE

1 INTRODUCTION

2 EXPLAINING THE SIMULATED DRONE FLYINGCHAMPIONSHIP

3 HOW TO EVOLVE CONTROLLERS

4 EVOLUTIONARY ALGORITHM

5 SIMULATION ENVIRONMENTS

Page 7: The Simulated Drone Flying Championship

Introduction Explaining The Simulated Drone Flying Championship How to Evolve Controllers Evolutionary Algorithm Simulation Environments

INTRODUCTION

Drone planes are becoming common by the day.They have a wide variety of applications.Applications domains range from security apparatus toprecision agriculture.There should be a way to design efficient, smart andhuman-competitive, self-coordinating, intelligentcooperative drones.Such drones should be present in real-world as well as inartificial reality environments.And there should be ways to design, test and evolve suchdrones in simulators.One of the ways to develop such technology is design acompetition for drone planes.In this competitors may be solicited to submit noveldesigns of drones (or fleets of drones) that perform certainuser specified tasks.As more and more people submit their designs, bettermodels can be selected and kept, and bad ones can belittered.And the process of designing nice drones can be madeevolutionary.“The Simulated Drone Flying Championship” exactlyaddresses such interests.It is a software development competition.Inspiration has been taken from “The Simulated CarRacing Championship”

Page 8: The Simulated Drone Flying Championship

Introduction Explaining The Simulated Drone Flying Championship How to Evolve Controllers Evolutionary Algorithm Simulation Environments

EXPLAINING THE SIMULATED DRONE FLYING

CHAMPIONSHIP I

My inspiration for the simulated drone flying championshipensues from my interest in the simulated car racingchampionship.

The latter competition is overseen and managed by theGECCO (Genetic and Evolutionary ComputationConference) and the wider community of evolutionaryalgorithms practitioners.

The simulated car racing championship provides itsparticipants a software which is essentially a simulationenvironment for racing cars, or car racing.

Page 9: The Simulated Drone Flying Championship

Introduction Explaining The Simulated Drone Flying Championship How to Evolve Controllers Evolutionary Algorithm Simulation Environments

EXPLAINING THE SIMULATED DRONE FLYING

CHAMPIONSHIP II

The simulation environment has everything in it includingenvironments for car racing, such as different types of lapson different types of terrains, different types of cars withdifferent specifications etc.It also has a so called physics engine which emulatesother environmental factors for the car racing simulator.The physics engine emulates real life factors such as aerialdrag, road friction etc.Read the TORCS manual.It is important to take such factors into account so as to beable to emulate the car racing competition as close aspossible to the reality.

Page 10: The Simulated Drone Flying Championship

Introduction Explaining The Simulated Drone Flying Championship How to Evolve Controllers Evolutionary Algorithm Simulation Environments

EXPLAINING THE SIMULATED DRONE FLYING

CHAMPIONSHIP III

The simulator can also be integrated with third-partysoftware through its programming interfaces.It is an open source project.And this is where the fun begins.Competitors are invited to plug in and test their ownsoftware controllers for the racing cars.Design parameters for the software controllers aresomewhat easy to understand conceptually as well.As a matter fact the simplest design goal is to come upwith controllers that can help a car to win a race.That is quite simple to state and understand at this level.And this is where the whole competition becomes a lotmore fun.

Page 11: The Simulated Drone Flying Championship

Introduction Explaining The Simulated Drone Flying Championship How to Evolve Controllers Evolutionary Algorithm Simulation Environments

EXPLAINING THE SIMULATED DRONE FLYING

CHAMPIONSHIP IV

Machine learning, and specially chauvinists of evolutionaryalgorithms, try to solve this problem from a totally differentperspective.And that is their perspective.And in order to understand their perspective you wouldhave to understand either one of these disciplines in a bitmore detail.Stated shortly, the idea is to evolve a set of optimumcontrollers for the racing cars that would help the car winthe competition.People have tried plenty of algorithms.One may as well cook up new algorithms along the way todesign newer controllers.

Page 12: The Simulated Drone Flying Championship

Introduction Explaining The Simulated Drone Flying Championship How to Evolve Controllers Evolutionary Algorithm Simulation Environments

EXPLAINING THE SIMULATED DRONE FLYING

CHAMPIONSHIP V

I shall explain how a set of controllers can be preciselyevolved using an evolutionary algorithm in a subsequentarticle.Suffice it say for now that if you have understood the basicworking of an evolutionary algorithm, you would not find itvery hard to learn the whole idea behind the competition.The simulated drone flying championship can also bedesigned in a similar way.There are plenty of simulators for drone flying availableonline.You can try either one of them.I have particularly liked UAV Playground.This is written in Java and can also be found on google.

Page 13: The Simulated Drone Flying Championship

Introduction Explaining The Simulated Drone Flying Championship How to Evolve Controllers Evolutionary Algorithm Simulation Environments

EXPLAINING THE SIMULATED DRONE FLYING

CHAMPIONSHIP VI

This is open source and quite modular.It also allows integration with third party software as well.It also emulates virtual reality quite well.You can integrate it with a machine learning package andtry to design controllers for drone planes with simplerobjectives.The objectives could be to fly a drone all over a place andperform some simple navigation.You can also use this package for genetic programmingthat I wrote myself for symbolic regression.This is written in java and works pretty well.Of course you are free to use your own software packageand run it.

Page 14: The Simulated Drone Flying Championship

Introduction Explaining The Simulated Drone Flying Championship How to Evolve Controllers Evolutionary Algorithm Simulation Environments

EXPLAINING THE SIMULATED DRONE FLYING

CHAMPIONSHIP VII

And obviously everyone would have to try somethingdifferent for this championship to work.

If it all goes well and many people participate in it, the stateof the art in drone industry could evolve pretty fast anddevelop quite sophisticated drone systems.

Page 15: The Simulated Drone Flying Championship

Introduction Explaining The Simulated Drone Flying Championship How to Evolve Controllers Evolutionary Algorithm Simulation Environments

HOW TO EVOLVE CONTROLLERS FOR SIMULATED

DRONES I

Why do we need to evolve controllers?Consider that if you are trying to replace a human pilot inan aircraft with some sort of artificial intelligence that wouldfly the plane as well as a human being would.This can be a great idea.This is also a central theme behind designing drones.And in order to accomplish this task you would either haveto develop a background in machine learning or artificialintelligence.And this also answers the question on as to why do weneed to evolve controllers.Now let us answer one more question:

Page 16: The Simulated Drone Flying Championship

Introduction Explaining The Simulated Drone Flying Championship How to Evolve Controllers Evolutionary Algorithm Simulation Environments

HOW TO EVOLVE CONTROLLERS FOR SIMULATED

DRONES II

Why evolve controllers for simulated drones?The answer for this question is simple, although therecould be quite a few reasons.And this is an extremely important question.The answer lies in the question that why do we need toevolve simulated drones in the first place?The reasons we would prefer to design drones insimulation lies in the expenditure it may require to test, try,design and evolve controllers for drones while employingreal drones.Most of the machine learning algorithms employ hit andtrial methods.

Page 17: The Simulated Drone Flying Championship

Introduction Explaining The Simulated Drone Flying Championship How to Evolve Controllers Evolutionary Algorithm Simulation Environments

HOW TO EVOLVE CONTROLLERS FOR SIMULATED

DRONES III

This is quite natural to suppose and understand as wellthat as new algorithms are designed, it is done so at theexpense of bad algorithms at times.And bad algorithms and controllers can result in a lot ofcrashes, thus making employment of real drones for designof their controllers a very expensive expedition toundertake.So as a result controllers for drones have to be designed insimulation.Whether or not the simulated controllers would be goodenough for deployment in real drones depends partly onthe quality of the controllers that have been designed andalso on the ability of the simulation environment to mimicmost types of real environments.

Page 18: The Simulated Drone Flying Championship

Introduction Explaining The Simulated Drone Flying Championship How to Evolve Controllers Evolutionary Algorithm Simulation Environments

HOW TO EVOLVE CONTROLLERS FOR SIMULATED

DRONES IV

If you want to design controllers that do other complextasks besides ordinary flying, such as extinguishing fires orcoordinate with other drones as they perform complexactivities, you would have to develop simulationenvironments that can allow your drones to do exactly that.How to evolve controllers for simulated drones then?This is our final question.I would like to draw your attention to the tutorials aboutgenetic algorithms and genetic programming.Both of them are population based algorithms.The latter is a lot more powerful as it allows wholecomputer programs to be evolved.

Page 19: The Simulated Drone Flying Championship

Introduction Explaining The Simulated Drone Flying Championship How to Evolve Controllers Evolutionary Algorithm Simulation Environments

HOW TO EVOLVE CONTROLLERS FOR SIMULATED

DRONES V

Both algorithms generate a huge population of individualsas they start.Then they evolve newer populations of individuals usinggenetic operators of crossover and mutation.They test each individual for its fitness to solve theunderlying problem.In this problem a fitness score could be based on how wellthe set of controllers evolved allow the drone to performthe prescribed tasks of coordination while flying andcarrying out the tasks.Once all the individuals of the population have beenassigned fitness, a certain number of good individuals arekept and bad ones are littered.

Page 20: The Simulated Drone Flying Championship

Introduction Explaining The Simulated Drone Flying Championship How to Evolve Controllers Evolutionary Algorithm Simulation Environments

HOW TO EVOLVE CONTROLLERS FOR SIMULATED

DRONES VI

The good ones are used to make a new parent populationof individuals. And a new evolutionary cycles begins.

At this stage it must be fairly intuitive for you to imagine foryou that in the beginning the algorithm would generate alot of bad and naive controllers.

And they might result in a lot of crashes if real drones wereemployed.

So we need nice simulation environments.

It is only when a certain number of generations haveelapsed, the search process may begin to find betterindividuals.

Page 21: The Simulated Drone Flying Championship

Introduction Explaining The Simulated Drone Flying Championship How to Evolve Controllers Evolutionary Algorithm Simulation Environments

HOW TO EVOLVE CONTROLLERS FOR SIMULATED

DRONES VII

And eventually, as we can hope, it would find an individualset of controllers that has all the dexterity of an adepthuman pilot in flying the drone.

The controller can be bench-marked at this stage andemployed in real drones.

Page 22: The Simulated Drone Flying Championship

Introduction Explaining The Simulated Drone Flying Championship How to Evolve Controllers Evolutionary Algorithm Simulation Environments

AN EVOLUTIONARY ALGORITHM IN A NUTSHELL

FIGURE : Breeding Cycles of a Typical EA

Page 23: The Simulated Drone Flying Championship

Introduction Explaining The Simulated Drone Flying Championship How to Evolve Controllers Evolutionary Algorithm Simulation Environments

FLIGHT GEAR I

FIGURE :

Page 24: The Simulated Drone Flying Championship

Introduction Explaining The Simulated Drone Flying Championship How to Evolve Controllers Evolutionary Algorithm Simulation Environments

FLIGHT GEAR II

FIGURE :

Page 25: The Simulated Drone Flying Championship

Introduction Explaining The Simulated Drone Flying Championship How to Evolve Controllers Evolutionary Algorithm Simulation Environments

FLIGHT GEAR III

FIGURE :

Page 26: The Simulated Drone Flying Championship

Introduction Explaining The Simulated Drone Flying Championship How to Evolve Controllers Evolutionary Algorithm Simulation Environments

UAV PLAYGROUND I

FIGURE :

Page 27: The Simulated Drone Flying Championship

Introduction Explaining The Simulated Drone Flying Championship How to Evolve Controllers Evolutionary Algorithm Simulation Environments

UAV PLAYGROUND II

FIGURE :

Page 28: The Simulated Drone Flying Championship

Introduction Explaining The Simulated Drone Flying Championship How to Evolve Controllers Evolutionary Algorithm Simulation Environments

THANK YOU

This presentation has been developed using LATEXBeamer.Frankfurt, monarca.