A Radical Open Source, Open Data, No License Approach to ... · A Radical Open Source, Open Data,...

47
1 | A Radical Open Source, Open Data, No License Approach to Air Traffic Simulation Jacco Hoekstra, Joost Ellerbroek, Junzi Sun

Transcript of A Radical Open Source, Open Data, No License Approach to ... · A Radical Open Source, Open Data,...

Page 1: A Radical Open Source, Open Data, No License Approach to ... · A Radical Open Source, Open Data, No License Approach to Air Traffic Simulation Jacco Hoekstra, Joost Ellerbroek, Junzi

1 |

A Radical Open Source, Open Data, No License Approach to Air Traffic SimulationJacco Hoekstra, Joost Ellerbroek, Junzi Sun

Page 2: A Radical Open Source, Open Data, No License Approach to ... · A Radical Open Source, Open Data, No License Approach to Air Traffic Simulation Jacco Hoekstra, Joost Ellerbroek, Junzi

2 |

Outline• Why open source, open data traffic simulation?

• Open source challenge

• Open data challenge (includes OpenAP)

• BlueSky project:

• Example application

• Adoption, Community

Page 3: A Radical Open Source, Open Data, No License Approach to ... · A Radical Open Source, Open Data, No License Approach to Air Traffic Simulation Jacco Hoekstra, Joost Ellerbroek, Junzi

3 |

ATM papers reviewing

“ The AFM-2 is the preferred option for the OPCS when AFDRS is not available in the ACCS. In all scenarios the I-IAA was higher with ARRS switched on.”

Page 4: A Radical Open Source, Open Data, No License Approach to ... · A Radical Open Source, Open Data, No License Approach to Air Traffic Simulation Jacco Hoekstra, Joost Ellerbroek, Junzi

4 |

now AFeasible!

Better!

Current status of ATM Science

Page 5: A Radical Open Source, Open Data, No License Approach to ... · A Radical Open Source, Open Data, No License Approach to Air Traffic Simulation Jacco Hoekstra, Joost Ellerbroek, Junzi

5 |

now AFeasible!

Better!

BFeasible!

Better!

Page 6: A Radical Open Source, Open Data, No License Approach to ... · A Radical Open Source, Open Data, No License Approach to Air Traffic Simulation Jacco Hoekstra, Joost Ellerbroek, Junzi

6 |

now AFeasible!

Better!

BFeasible!

Better!

C

Feasible!

Better!

Page 7: A Radical Open Source, Open Data, No License Approach to ... · A Radical Open Source, Open Data, No License Approach to Air Traffic Simulation Jacco Hoekstra, Joost Ellerbroek, Junzi

7 |

now AFeasible!

Better!

BFeasible!

Better!

C

Feasible!

Better!

DFeasible!

Better!

Page 8: A Radical Open Source, Open Data, No License Approach to ... · A Radical Open Source, Open Data, No License Approach to Air Traffic Simulation Jacco Hoekstra, Joost Ellerbroek, Junzi

8 |

now AFeasible!

Better!

BFeasible!

Better!

C

Feasible!

Better!

DFeasible!

Better!

EFeasible!

Better!

F

Feasible!Better!

Feasible!

GBetter!

HFeasible!

Better!

Page 9: A Radical Open Source, Open Data, No License Approach to ... · A Radical Open Source, Open Data, No License Approach to Air Traffic Simulation Jacco Hoekstra, Joost Ellerbroek, Junzi

9 |

Research lines CNS/ATM group TU Delft1. Foundation of ATM research

1. Open source tools (ADS-B decoding, ATM simulation, conversion tools)2. Open Data (Performance data, scenarios, historic traffic data)3. Big Data & Metrics (Complexity, Traffic Flow dynamics)

2. ADS-B surveillance and applications1. Raw data analysis, surveillance quality2. Airborne Applications (ATSAW, CD&R algorithms)

3. Drone CNS/ATM technology1. Indoor & outdoor navigation and autonomy2. Swarming

4. General Aviation CNS/ATM technology1. Airborne radar & surveillance technology for safety

5. Schiphol/Mainport related CNS/ATM issues

Google: ADS-B Junzi Sun

Google: ProfHoekstra BlueSky

Page 10: A Radical Open Source, Open Data, No License Approach to ... · A Radical Open Source, Open Data, No License Approach to Air Traffic Simulation Jacco Hoekstra, Joost Ellerbroek, Junzi

10 |

Improve science & research in ATM• Comparable research results, same metrics, tools and scenarios

• Research does not thrive under standardisation

• But every researcher needs aircraft performance models => success BADA 3

• Open Source, free (also for tools)

• Open Data, free

Page 11: A Radical Open Source, Open Data, No License Approach to ... · A Radical Open Source, Open Data, No License Approach to Air Traffic Simulation Jacco Hoekstra, Joost Ellerbroek, Junzi

11 |

Previous work: BADA, “only” aircraft data• Data files with performance and procedure data

• BADA 3 vs BADA 4

• Quality BADA 3 could be improved easily

• BADA 4 has more sensitive, proprietary data

• BADA 3 currently default standard for research

• Licensing regime tightens

• Not fully open (sharing/publishing not allowed)

Page 12: A Radical Open Source, Open Data, No License Approach to ... · A Radical Open Source, Open Data, No License Approach to Air Traffic Simulation Jacco Hoekstra, Joost Ellerbroek, Junzi

12 |

BlueSky Air Traffic Simulator• For use in academic world:

• 100 % fully open data:• Aircraft performance data• Navigation data

• 100 % open source:• Co-development shared via GitHub/TUDelft-CNS-ATM/BlueSky• Should not require any commercial development tools or libraries• Quality control?

• Increase adoption:• Easy to use: GUI and data/scenarios in plain text files, run locally • Readable source code for scientists who are not computer experts• Philosophy: no need to understand what you do not need to know

Page 13: A Radical Open Source, Open Data, No License Approach to ... · A Radical Open Source, Open Data, No License Approach to Air Traffic Simulation Jacco Hoekstra, Joost Ellerbroek, Junzi

13 |

BlueSky GNU General Public License v3 • Required:

• Disclose Source• License and copyright notice• State Changes

• Permitted:• Commercial Use• Distribution• Modification• Patent Use, Private Use

• Forbidden:• Hold Liable

• http://www.gnu.org/licenses/quick-guide-gplv3.en.html

Page 14: A Radical Open Source, Open Data, No License Approach to ... · A Radical Open Source, Open Data, No License Approach to Air Traffic Simulation Jacco Hoekstra, Joost Ellerbroek, Junzi

14 |

Challenges Open Data vs Quality?• Navigation data:

• Geographical information• Navigational Aids• Waypoints• Airport data: taxiways, runways• Sector lay-out/Airspaces

• Aircraft Performance data:• Drag polar• Engine performance• Operating weights• Autopilot/Autothrottle settings, mode logic• Procedural speeds

• Weather data?

Page 15: A Radical Open Source, Open Data, No License Approach to ... · A Radical Open Source, Open Data, No License Approach to Air Traffic Simulation Jacco Hoekstra, Joost Ellerbroek, Junzi

15 |

Open data: navaids• Web-crawling programs collect the data from public sites and convert

to text data files

• Global coverage for navaids and waypoints

• No guarantee that it is always up-to-date

Page 16: A Radical Open Source, Open Data, No License Approach to ... · A Radical Open Source, Open Data, No License Approach to Air Traffic Simulation Jacco Hoekstra, Joost Ellerbroek, Junzi

16 |

Open Data: Geographical information• Just background for GUI

• Geo-website contains all required info:• Coastlines• Rivers• Borders

• Satellite imageused from GoogleEarth

Page 17: A Radical Open Source, Open Data, No License Approach to ... · A Radical Open Source, Open Data, No License Approach to Air Traffic Simulation Jacco Hoekstra, Joost Ellerbroek, Junzi

17 |

Open data: Airports• 14480 airports included

• Large airports also featuretaxiway and runway layout

• Flight simulator and gamingcommunity have people who collectthis information as well

Page 18: A Radical Open Source, Open Data, No License Approach to ... · A Radical Open Source, Open Data, No License Approach to Air Traffic Simulation Jacco Hoekstra, Joost Ellerbroek, Junzi

18 |

Open Data: FIRs, Sectors etc• Supplied data limited

• Web-crawling possible,no global repository

• Often implementedmanually based onscenarios

• Console is not ATCo HMI,but fully reconfigurable

• More help needed

Page 19: A Radical Open Source, Open Data, No License Approach to ... · A Radical Open Source, Open Data, No License Approach to Air Traffic Simulation Jacco Hoekstra, Joost Ellerbroek, Junzi

19 |

Open Data: Aircraft Performance models• Compatible Plug& Play with BADA v3.12 (nearly open):Copy BADA files to empty folder: .\data\coefficients\BADA

• Generic Open Data models fully based on Open sources (built-in)

• Big Data effort using ADS-B data to develop comprehensive set of aircraft performance files (built-in)

• Metrics also use generic measure Energy, independent of Fuel Flow

Page 20: A Radical Open Source, Open Data, No License Approach to ... · A Radical Open Source, Open Data, No License Approach to Air Traffic Simulation Jacco Hoekstra, Joost Ellerbroek, Junzi

20 |

Spin-off: OpenAP/WRAP models• Based on Bayesian approach (particle model) to ADS-B data

• Also supplied with BlueSky (Options: BADA/OpenAP/Legacy)

• Structure is not too different from BADA but no license required. Physics based, focus is on performance limits.

• Includes generic drone models and equivalence table

• Can also be used in other modules or programs

• https://github.com/junzis/openap

• https://github.com/junzis/wrap

Page 21: A Radical Open Source, Open Data, No License Approach to ... · A Radical Open Source, Open Data, No License Approach to Air Traffic Simulation Jacco Hoekstra, Joost Ellerbroek, Junzi

21 |

Open Source: Python language of choice• BlueSky simulator made entirely in Python

• Based on standard scientific libraries

• Python 3.6+

• Uses Numpy, Scipy

• For GUIs:- Qt, OpenGL,zmq- baseline: SDL (via Pygame)

V3.6+32-bits

OpenGLzmq

Page 22: A Radical Open Source, Open Data, No License Approach to ... · A Radical Open Source, Open Data, No License Approach to Air Traffic Simulation Jacco Hoekstra, Joost Ellerbroek, Junzi

22 |

Open Source: Python language of choice

V3.6+32-bits

• BlueSky simulator made entirely in Python

• Based on standard scientific libraries

• Python 3.6+

• Uses Numpy, Scipy

• For GUIs:- Qt, OpenGL,zmq- baseline: SDL (via Pygame)

from math import *

print "Hello ICRAT"

a,b,c = input("Give a,b,c":)

D = b**2-4.0*a*ctop = -b/(2.0*a)

if D>=0.0 :x1 = (-b-sqrt(D))/(2.0*a)x2 = (-b+sqrt(D))/(2.0*a)print "x = ",x1," or x =",x2

else:print "No solutions"

Page 23: A Radical Open Source, Open Data, No License Approach to ... · A Radical Open Source, Open Data, No License Approach to Air Traffic Simulation Jacco Hoekstra, Joost Ellerbroek, Junzi

23 |

Python has many free IDE/Editors:PyCharm & VSCode for example

Page 24: A Radical Open Source, Open Data, No License Approach to ... · A Radical Open Source, Open Data, No License Approach to Air Traffic Simulation Jacco Hoekstra, Joost Ellerbroek, Junzi

24 |

Python has many free IDE/Editors:Sublime & Atom for example

Page 25: A Radical Open Source, Open Data, No License Approach to ... · A Radical Open Source, Open Data, No License Approach to Air Traffic Simulation Jacco Hoekstra, Joost Ellerbroek, Junzi

25 |

Modules inside BlueSky

Includes 3D/4D wind modeland turbulence

Extremely scalable(#ac, #clients, #plug insdata access unlimited)

Page 26: A Radical Open Source, Open Data, No License Approach to ... · A Radical Open Source, Open Data, No License Approach to Air Traffic Simulation Jacco Hoekstra, Joost Ellerbroek, Junzi

26 |

GUI: Standard (Qt/OpenGL based)

Page 27: A Radical Open Source, Open Data, No License Approach to ... · A Radical Open Source, Open Data, No License Approach to Air Traffic Simulation Jacco Hoekstra, Joost Ellerbroek, Junzi

27 |

GUI: Classic (Pygame/SDL based)

Page 28: A Radical Open Source, Open Data, No License Approach to ... · A Radical Open Source, Open Data, No License Approach to Air Traffic Simulation Jacco Hoekstra, Joost Ellerbroek, Junzi

28 |

• Easiest way to set up BlueSky:• Download and install BlueSky : Clone or Download and Download ZIP• Download latest Python version and a select “Add to PATH”• Run the supplied BleuSky script to install modules required for BlueSky with

PIP

• Double click BlueSky.py to run BlueSKy or BleuSky-pygame in case of problems

Download & set-up GitHub>ProfHoekstra>BlueSky

Page 29: A Radical Open Source, Open Data, No License Approach to ... · A Radical Open Source, Open Data, No License Approach to Air Traffic Simulation Jacco Hoekstra, Joost Ellerbroek, Junzi

29 |

• Easiest way to set up BlueSky:• Download and install BlueSky : Clone or Download and Download ZIP• Download latest Python version and a select “Add to PATH”• Run the supplied BleuSky script to install modules required for BlueSky with

PIP

• Double click BlueSky.py to run BlueSKy or BleuSky-pygame in case of problems

Download & set-up GitHub>ProfHoekstra>BlueSky

Page 30: A Radical Open Source, Open Data, No License Approach to ... · A Radical Open Source, Open Data, No License Approach to Air Traffic Simulation Jacco Hoekstra, Joost Ellerbroek, Junzi

30 |

BlueSky setting up• It is run by BlueSky.py to check

• The first time (when no settings.cfg exists), answer questions

Page 31: A Radical Open Source, Open Data, No License Approach to ... · A Radical Open Source, Open Data, No License Approach to Air Traffic Simulation Jacco Hoekstra, Joost Ellerbroek, Junzi

31 |

Choose yourself which user interface you want (classic in case of problems)

• Delete settings.cfg and run BlueSky.py again

• Or double click on (create a shortcut to)

Page 32: A Radical Open Source, Open Data, No License Approach to ... · A Radical Open Source, Open Data, No License Approach to Air Traffic Simulation Jacco Hoekstra, Joost Ellerbroek, Junzi

32 |

Scenario file• Scenario file are basically time stamped input by a user

Page 33: A Radical Open Source, Open Data, No License Approach to ... · A Radical Open Source, Open Data, No License Approach to Air Traffic Simulation Jacco Hoekstra, Joost Ellerbroek, Junzi

33 |

Scenario file• Scenario file are basically time stamped input by a user

Page 34: A Radical Open Source, Open Data, No License Approach to ... · A Radical Open Source, Open Data, No License Approach to Air Traffic Simulation Jacco Hoekstra, Joost Ellerbroek, Junzi

34 |

Scenario file: demo.scn• Scenario file are basically time stamped input by a user

Page 35: A Radical Open Source, Open Data, No License Approach to ... · A Radical Open Source, Open Data, No License Approach to Air Traffic Simulation Jacco Hoekstra, Joost Ellerbroek, Junzi

35 |

Run BlueSky:• In QtGl version: Enter “IC” to select a file or “IC demo” to start demo

file (“IC de”+Tab uses file completion) as Initial Condition

• In pygame version: select demo.scn

Page 36: A Radical Open Source, Open Data, No License Approach to ... · A Radical Open Source, Open Data, No License Approach to Air Traffic Simulation Jacco Hoekstra, Joost Ellerbroek, Junzi

36 |

Language in console and files: TrafScript• CRE ?CRE acid,type,lat,lon,hdg,alt,spd• CRE KL204,B744,52,4,090,FL100,250

Page 37: A Radical Open Source, Open Data, No License Approach to ... · A Radical Open Source, Open Data, No License Approach to Air Traffic Simulation Jacco Hoekstra, Joost Ellerbroek, Junzi

37 |

• CRE ?CRE acid,type,lat,lon,hdg,alt,spd• CRE KL204,B747,52,4,090,FL100,250

Click on an aircraft (once to select, double to see status)• KL204 HDG 270 (call sign and command can be reversed)• ALT KL204, FL250

• PAN KJFK and zoom in with zoom buttons or gestures on touchscreen• QUIT stops program• IC allows selecting a new scenario file

• ADDWPT ?KL204 DEST EHAMKL204 ORIG KJFKADDWPT acid, (wpname/lat,lon),[alt],[spd],[afterwp]• KL204 addwpt SPY,FL240,350

Language in console and files: TrafScript

Flight plan entered like an FMSAlso see commands LNAV, VNAV, DIRECT, etc.

Page 38: A Radical Open Source, Open Data, No License Approach to ... · A Radical Open Source, Open Data, No License Approach to Air Traffic Simulation Jacco Hoekstra, Joost Ellerbroek, Junzi

38 |

TrafScript: ease of use, compatibility• Easy to use in console or in time-stamped scenario file

• Scenario files are text files can be edited in Notepad or Word

• Scenarios compatible with tools like NLR Traffic Manager TMX or NASA LaRC ATOL lab

• Convertersfor Eurocontrol DDR2 are in beta phase, other converter can easily be added due to simplicity TrafScript language

• Scenario generation tools run external

• Requires only basic computer skills from user

Page 39: A Radical Open Source, Open Data, No License Approach to ... · A Radical Open Source, Open Data, No License Approach to Air Traffic Simulation Jacco Hoekstra, Joost Ellerbroek, Junzi

39 |

BlueSky already contains many features• FMS and autopilot logic

• ASAS/ATC simulation for conflict detection and resolution (different modules)

• Extensive scenario control

• External connections

• Batch simulation on multiple CPUs and multiple PCs, very fast, thousands of aircraft (QtGL version only)

• Metrics & data logging

• Visualisation: traffic samples, ADS-B plug-in

Page 40: A Radical Open Source, Open Data, No License Approach to ... · A Radical Open Source, Open Data, No License Approach to Air Traffic Simulation Jacco Hoekstra, Joost Ellerbroek, Junzi

40 |

Applications so far• Complexity metrics in existing traffic demand scenarios

• Simulate/analyze ATM procedures like Upstream delay absorption

• AMAN and XMAN interference of scheduling with pop-up traffic

• Visualize ADS-B data from receivers or networks

• Conflict Detection and Resolution studies

• ASAS/Swarming algorithms

• Effect of procedures and airspace structure oncapacity and safety (UTM)

• Machine learning plug-ins for sequencing task

Page 41: A Radical Open Source, Open Data, No License Approach to ... · A Radical Open Source, Open Data, No License Approach to Air Traffic Simulation Jacco Hoekstra, Joost Ellerbroek, Junzi

41

Manage high density U-space

Manage local traffic density

Geofencing Geocaging

Reduce number of conflicts

Increase safety or increase capacity

Segmentation effect

Manage traffic complexity

Geovectoring

Reduce conflict rate

Reduce relative speed

New

Page 42: A Radical Open Source, Open Data, No License Approach to ... · A Radical Open Source, Open Data, No License Approach to Air Traffic Simulation Jacco Hoekstra, Joost Ellerbroek, Junzi

42

Geovectoring: a generic way to define this

• Define an area (polygon/min alt/max alt) and define a geovectorconsisting of intervals in three specific dimensions:

• Note: horizontal speed is defined in polar notation: ( GS , HDG )

[ ][ ]

[ ]

min max

min max

min max

,, ( , , ),

geo

Groundspeed GroundspeedV Course Course f lat lon altitude

VerticalSpeed VerticalSpeed

= =

250 2000

FL100

180

360

SpdHdgV/S

Page 43: A Radical Open Source, Open Data, No License Approach to ... · A Radical Open Source, Open Data, No License Approach to Air Traffic Simulation Jacco Hoekstra, Joost Ellerbroek, Junzi

43

Static vs Dynamic Geovectoring

StaticPart of navigation/procedural

data for a given airspacecan be stored or uplinked

DynamicVaries with time and situation

Needs to be uplinked

Page 44: A Radical Open Source, Open Data, No License Approach to ... · A Radical Open Source, Open Data, No License Approach to Air Traffic Simulation Jacco Hoekstra, Joost Ellerbroek, Junzi

44 |

Your help is needed• Fully open source, so help us:

• Missing data in GUI/model: sectors, airspaces, weather/wind data

• Debugging: send reports

• Extension: request us to add functionality you need

• Extension: add your own functionality in a plug in

• Wikipedia philosophy: open source and forever “beta”

• Documentation:https://github.com/TUDelft-CNS-ATM/bluesky/wiki

Page 45: A Radical Open Source, Open Data, No License Approach to ... · A Radical Open Source, Open Data, No License Approach to Air Traffic Simulation Jacco Hoekstra, Joost Ellerbroek, Junzi

45 |

Plug-in: Easy way to code your extension• Init_plugin() function:

• Define the frequency with which your update should be called• Add your own user command to the dictionary, connect them to your own

added functions. Uses built-in argument interpreter if you want.

• Update() function:• Called each time step (optionally before traffic update with preupdate)

• Reset() function:• Reset everything for next scenario run

• Input:• Access freely all variables e.g. traf.gs[idx] or functions e.g.

traf.id2idx(“KL204”)

• Output:• stack.stack(‘CRE KL642,KJFK,RW22L,0,0”)

Page 46: A Radical Open Source, Open Data, No License Approach to ... · A Radical Open Source, Open Data, No License Approach to Air Traffic Simulation Jacco Hoekstra, Joost Ellerbroek, Junzi

46 |

The End Goal of BlueSky• A fully open source, open data, with extensive features but still easy to

use and develop by everyone without any restrictions or licensing

• Exchange metrics (common measures)

• Exchange scenarios (reference set will be developed in AHMED project)

• Stand on the shoulders of yourfellow researchers (giants?)

• Join the BlueSky community

• Experimental…..

Page 47: A Radical Open Source, Open Data, No License Approach to ... · A Radical Open Source, Open Data, No License Approach to Air Traffic Simulation Jacco Hoekstra, Joost Ellerbroek, Junzi

47 |

Current status BlueSky community• https://github.com/TUDelft-CNS-ATM/bluesky/graphs/contributors

• Global user community (Europe/US/China dominant, but also users in African countries)https://github.com/TUDelft-CNS-ATM/bluesky/network/members

• Many spin-offs, development of plugins (of which 13 have been added to the master version) and 80 forks

• 1182 commits