a radical open source, open data, no license approach to ... · a radical open source, open data,...

Post on 30-May-2020

12 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1 |

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

2 |

Outline• Why open source, open data traffic simulation?

• Open source challenge

• Open data challenge (includes OpenAP)

• BlueSky project:

• Example application

• Adoption, Community

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.”

4 |

now AFeasible!

Better!

Current status of ATM Science

5 |

now AFeasible!

Better!

BFeasible!

Better!

6 |

now AFeasible!

Better!

BFeasible!

Better!

C

Feasible!

Better!

7 |

now AFeasible!

Better!

BFeasible!

Better!

C

Feasible!

Better!

DFeasible!

Better!

8 |

now AFeasible!

Better!

BFeasible!

Better!

C

Feasible!

Better!

DFeasible!

Better!

EFeasible!

Better!

F

Feasible!Better!

Feasible!

GBetter!

HFeasible!

Better!

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

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

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)

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

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

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?

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

16 |

Open Data: Geographical information• Just background for GUI

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

• Satellite imageused from GoogleEarth

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

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

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

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

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

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"

23 |

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

24 |

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

25 |

Modules inside BlueSky

Includes 3D/4D wind modeland turbulence

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

26 |

GUI: Standard (Qt/OpenGL based)

27 |

GUI: Classic (Pygame/SDL based)

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

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

30 |

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

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

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)

32 |

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

33 |

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

34 |

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

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

36 |

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

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.

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

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

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

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

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

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

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

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”)

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…..

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

top related