Difference between revisions of "ATC-pie"

From FlightGear wiki
Jump to: navigation, search
(v1.1.1)
(Too many features listed, highlighted a subset; reordered sections)
Line 40: Line 40:
 
ATC-pie-screenshot-backgroundPixmapDrawing.png|Background image display
 
ATC-pie-screenshot-backgroundPixmapDrawing.png|Background image display
 
ATC-pie-screenshot-airportCloseUp.png|Depiction of airport tarmac and objects
 
ATC-pie-screenshot-airportCloseUp.png|Depiction of airport tarmac and objects
 +
ATC-pie-screenshot-separationRings.png|Aircraft separation rings
 +
ATC-pie-screenshot-runwayIncursion.png|Runway incursion detected and highlighted in red
 
ATC-pie-screenshot-flightPlans.png|Flight plan editor
 
ATC-pie-screenshot-flightPlans.png|Flight plan editor
 
</gallery>
 
</gallery>
 +
 +
== Working principles ==
 +
 +
=== General ===
 +
You are the air traffic controller, working with or without a tower window or radar scope, depending on your position and local facility. Players will connect to the network (multi-player), AI traffic be simulated (solo), or teacher traffic generated (tutorial session), with different types of aircraft and [[transponder]] equipment.
 +
 +
As in real life, your main radar technology is [http://en.wikipedia.org/wiki/Secondary_surveillance_radar SSR], hence unless you cheat or activate the primary radar, will show you only what you pick up from on-board transponders in its range. This means:
 +
* if a transponder is off, you will not see the aircraft on your radar screen;
 +
* if a transponder is on, you will at least be able to see its position and read the transponder code, possibly its altitude and even its type and callsign, depending on the mode set by the pilot.
 +
 +
=== Strips ===
 +
[[File:ATC-pie-screenshot-stripDetailSheet.png|thumbnail|The ATC-pie strip detail sheet]]
 +
Your basic traffic flow and sequence working unit is the '''strip''', each representing a controlled (or soon expected) aircraft. Strips are created, filled with details and moved along and across ''racks'' until handed over to a different controller or discarded. Strip details include:
 +
* most importantly, the aircraft's ''callsign'', to be used on the radio;
 +
* information like aircraft type, airspeed, route... that can be specified by the pilots themselves when filing ''flight plans'';
 +
* transponder code and flight parameter assignments (or vectors: heading, altitude/FL, speed).
 +
 +
=== Linking strips ===
 +
Strip details can be manually edited, but every strip can also be '''linked''' to a flight plan and/or a visible radar contact on the scope screen. Linking to a strip will automatically:
 +
* make the strip display the missing elements available from the linked aircraft transponder or flight plan;
 +
* inform the radar contact label with useful details provided on the strip, e.g. assigned altitude.
 +
Any detail mismatch between a strip and its linked flight plan or radar contact will be reported for you to resolve.
 +
 +
=== Radar identification ===
 +
[[File:ATC-pie-screenshot-radarIdentification.png|thumbnail|Radar identification: both matched strip and radar contact marked in blue]]
 +
To ''identify'' an aircraft and link the right radar contact to a strip, an ATC can rely on different things. He can read an aircraft's callsign straight away if its transponder has mode S turned on, tell from reported positions and altitudes, or use a transponder code.
 +
 +
For instance, say a VFR traffic makes an initial radio contact giving his callsign and approximate position. ATC will typically pull out a new blank strip and give the pilot a unique transponder code to squawk, writing it on the strip alongside the announced callsign, then wait for it to appear on the radar. This allows for '''radar identification''' of aircraft–strip pairs such that:
 +
* the strip is assigned a transponder code;
 +
* no other strip is assigned the same code;
 +
* the aircraft is the only unidentified traffic squawking that code in radar range.
 +
 +
ATC-pie identifies such pairs automatically and reports them to you so you can properly link the two and get back to the pilot: "radar identified".
  
 
== Program features ==
 
== Program features ==
Line 47: Line 82:
 
The features listed below have been tested on various Linux versions, Mac and Windows.
 
The features listed below have been tested on various Linux versions, Mac and Windows.
  
=== General features ===
+
=== General ===
 
+
 
Available games:
 
Available games:
 
* FlightGear multi-player server connection ([[FGMS]])
 
* FlightGear multi-player server connection ([[FGMS]])
 
* Solo games with AI IFR traffic
 
* Solo games with AI IFR traffic
 
* Teacher–student tutoring sessions
 
* Teacher–student tutoring sessions
* For all game types: en-route centre or airport control mode
+
* For all game types: '''en-route centre''' or '''airport control''' mode
* For all airport games: tower view available (rendered by FlightGear)
+
* For all airport games: '''tower view''' available (rendered by FlightGear)
  
 
Common data sources:
 
Common data sources:
 
* Airport and navigation data retrieved from the latest [http://data.x-plane.com X-Plane] file set (whole world covered)
 
* Airport and navigation data retrieved from the latest [http://data.x-plane.com X-Plane] file set (whole world covered)
 +
* Real world declination lookup and true/magnetic distinction
 +
* '''Custom background images''' (integrated [[OpenStreetMap]] retrieval helper)
 
* Nav/AD data customisation in separate files
 
* Nav/AD data customisation in separate files
 
* Editable aircraft data base (ICAO designators, cruise speeds, WTC, etc.)
 
* Editable aircraft data base (ICAO designators, cruise speeds, WTC, etc.)
* Real world declination lookup and true/magnetic distinction
 
 
* Script to assist data import from .sct sector files (EuroScope/[http://www.vatsim.net VATSIM], IVAO)
 
* Script to assist data import from .sct sector files (EuroScope/[http://www.vatsim.net VATSIM], IVAO)
* Custom background images (integrated [[OpenStreetMap]] retrieval helper)
 
  
FlightGear multi-player games:
+
'''FlightGear multi-player''' games:
 
* Weather: real world METAR retrieval
 
* Weather: real world METAR retrieval
 
* ATC handovers: strip exchange with other ATC-pie and [[OpenRadar]] instances in range
 
* ATC handovers: strip exchange with other ATC-pie and [[OpenRadar]] instances in range
* Flight plans: interface with [http://flightgear-atc.alwaysdata.net Lenny64's data base] (the ''de facto'' FG standard), incl. in-game retrieval, filing and editing (work on local copies and manage sync with online status), opening and closing
+
* Flight plans: '''interface with [http://flightgear-atc.alwaysdata.net Lenny64's data base]''' (the ''de facto'' FG standard), incl. in-game retrieval, filing and editing (work on local copies and manage sync with online status), opening and closing
 
* In-app announcement of ATC sessions on Lenny64's popular event page
 
* In-app announcement of ATC sessions on Lenny64's popular event page
  
Solo games:
+
'''Solo games''':
 
* In airport mode, configurable combination of TWR, GND, APP and DEP positions
 
* In airport mode, configurable combination of TWR, GND, APP and DEP positions
 
* Randomised weather
 
* Randomised weather
Line 79: Line 113:
 
* Departure–arrival and ILS–visual balance options
 
* Departure–arrival and ILS–visual balance options
  
Teaching/learning sessions:
+
'''Tutorial sessions''' (teaching/learning):
 
* Teacher spawns and manipulates traffic visible to student (flight and transponder settings)
 
* Teacher spawns and manipulates traffic visible to student (flight and transponder settings)
 
* Strip exchange, configurable ATC neighbours and handover supervision by teacher
 
* Strip exchange, configurable ATC neighbours and handover supervision by teacher
Line 87: Line 121:
 
GUI:
 
GUI:
 
* Floatable, dockable and closable panels and toolbars (see [[:File:ATC-pie-screenshot-toolbars.png|screenshot]]), window layout saved
 
* Floatable, dockable and closable panels and toolbars (see [[:File:ATC-pie-screenshot-toolbars.png|screenshot]]), window layout saved
 +
* '''Customisable colours'''
 
* Notification system combining selectable sounds, status bar messages and time-tagged history
 
* Notification system combining selectable sounds, status bar messages and time-tagged history
 
* Notes, window state, general and location-specific settings saved on close and restored on restart
 
* Notes, window state, general and location-specific settings saved on close and restored on restart
* Customisable colours
 
* Instruct taxi, assign vectors and change routes with direct drag-and-drop mouse gestures
 
* Multiple weather stations
 
  
 
=== ATC surveillance ===
 
=== ATC surveillance ===
 
Radar and transponders:
 
Radar and transponders:
* Full transponder support and mode-dependant radar behaviour (off, GND, A, C, C+S)
+
* '''Full transponder support''' and mode-dependant radar behaviour (off, GND, A, C, C+S)
 
* Configurable radar sweep interval and horizontal/vertical ranges
 
* Configurable radar sweep interval and horizontal/vertical ranges
 +
* '''Radar identification assistant''' (detects unique matches between strip info and radar signals)
 
* Primary radar activation (see targets without XPDR signals)
 
* Primary radar activation (see targets without XPDR signals)
* Open multiple radar screens
+
* '''Runway occupation/incursion detection'''
* Radar identification assistant (detects unique matches between strip info and radar signals)
+
* '''Route/vector conflict anticipation''' and separation incident alarm
* Runway occupation/incursion detection
+
* Multiple weather stations
* Anticipated path conflict warnings and separation incident alarm
+
* Open '''multiple radar screens'''
 
* Individual and general cheat modes
 
* Individual and general cheat modes
 
* Ignore contacts
 
* Ignore contacts
Line 115: Line 148:
 
Strips, racks, flight plans:
 
Strips, racks, flight plans:
 
* User-defined racks with configurable colours for linked radar contacts
 
* User-defined racks with configurable colours for linked radar contacts
* Runway boxes with automatic WTC timers when freed
+
* '''Runway boxes''' with automatic WTC timers when freed
 
* Loose strip bays with customisable backgrounds
 
* Loose strip bays with customisable backgrounds
 
* Link strips, FPLs and radar contacts to merge details and inform radar display, tracking conflicts
 
* Link strips, FPLs and radar contacts to merge details and inform radar display, tracking conflicts
 
* Mouse drag to move strips along and across racks, runway boxes and loose strip bays
 
* Mouse drag to move strips along and across racks, runway boxes and loose strip bays
 +
* Direct '''mouse instructions for vectors''', taxi and route/waypoint changes
 
* Handovers with neighbouring ATCs
 
* Handovers with neighbouring ATCs
  
 
Routes, vectors, conflicts:
 
Routes, vectors, conflicts:
* Route parsing, drawing and world map view
+
* '''Route analysis''', drawing and world map view
 
* Route presets and quick retrieval between two end airports
 
* Route presets and quick retrieval between two end airports
 
* Current leg and next waypoint display with geodesic calculations of headings and distances
 
* Current leg and next waypoint display with geodesic calculations of headings and distances
Line 129: Line 163:
 
Misc. tools:
 
Misc. tools:
 
* Quick point-to-point heading and distance measuring tool and access to Earth coordinates
 
* Quick point-to-point heading and distance measuring tool and access to Earth coordinates
* Direct text annotation of radar screen
+
* '''Direct text annotation of radar''' screen with mouse
 
* Custom alarm clocks with quick two-key timer set-up
 
* Custom alarm clocks with quick two-key timer set-up
 
* AD/nav point browser and indicator
 
* AD/nav point browser and indicator
Line 136: Line 170:
 
Radio:
 
Radio:
 
* [[FGCom]] integration, incl. echo test and possible use of externally running client
 
* [[FGCom]] integration, incl. echo test and possible use of externally running client
* ATIS recording with pre-filled preparation notepad (see [[:File:ATC-pie-screenshot-ATISdialog.png|feature dialog]])
+
* '''ATIS recording''' with pre-filled preparation notepad (see [[:File:ATC-pie-screenshot-ATISdialog.png|feature dialog]])
* Multiple frequency transmissions and monitoring
+
 
* Frequency-specific sound level selection
 
* Frequency-specific sound level selection
 +
* '''Multiple frequency transmissions and monitoring'''
  
 
Text chat:
 
Text chat:
 
* Preset message list manager
 
* Preset message list manager
 
* Predefined and custom aliases for context-sensitive replacements (general, location- and ACFT-specific)
 
* Predefined and custom aliases for context-sensitive replacements (general, location- and ACFT-specific)
* Message history and single-click dest. or message recall
+
* Message history and single-click dest. or message recall'
* Hardcore communication sim possible by disabling unknown senders' callsigns
+
 
* Senders blacklist management (filter out trolls)
 
* Senders blacklist management (filter out trolls)
 
== Working principles ==
 
 
=== General ===
 
You are the air traffic controller, working with or without a tower window or radar scope, depending on your position and local facility. Players will connect to the network (multi-player), AI traffic be simulated (solo), or teacher traffic generated (tutorial session), with different types of aircraft and [[transponder]] equipment.
 
 
As in real life, your main radar technology is [http://en.wikipedia.org/wiki/Secondary_surveillance_radar SSR], hence unless you cheat or activate the primary radar, will show you only what you pick up from on-board transponders in its range. This means:
 
* if a transponder is off, you will not see the aircraft on your radar screen;
 
* if a transponder is on, you will at least be able to see its position and read the transponder code, possibly its altitude and even its type and callsign, depending on the mode set by the pilot.
 
 
=== Strips ===
 
[[File:ATC-pie-screenshot-stripDetailSheet.png|thumbnail|The ATC-pie strip detail sheet]]
 
Your basic traffic flow and sequence working unit is the '''strip''', each representing a controlled (or soon expected) aircraft. Strips are created, filled with details and moved along and across ''racks'' until handed over to a different controller or discarded. Strip details include:
 
* most importantly, the aircraft's ''callsign'', to be used on the radio;
 
* information like aircraft type, airspeed, route... that can be specified by the pilots themselves when filing ''flight plans'';
 
* transponder code and flight parameter assignments (or vectors: heading, altitude/FL, speed).
 
 
=== Linking strips ===
 
Strip details can be manually edited, but every strip can also be '''linked''' to a flight plan and/or a visible radar contact on the scope screen. Linking to a strip will automatically:
 
* make the strip display the missing elements available from the linked aircraft transponder or flight plan;
 
* inform the radar contact label with useful details provided on the strip, e.g. assigned altitude.
 
Any detail mismatch between a strip and its linked flight plan or radar contact will be reported for you to resolve.
 
 
=== Radar identification ===
 
[[File:ATC-pie-screenshot-radarIdentification.png|thumbnail|Radar identification: both matched strip and radar contact marked in blue]]
 
To ''identify'' an aircraft and link the right radar contact to a strip, an ATC can rely on different things. He can read an aircraft's callsign straight away if its transponder has mode S turned on, tell from reported positions and altitudes, or use a transponder code.
 
 
For instance, say a VFR traffic makes an initial radio contact giving his callsign and approximate position. ATC will typically pull out a new blank strip and give the pilot a unique transponder code to squawk, writing it on the strip alongside the announced callsign, then wait for it to appear on the radar. This allows for '''radar identification''' of aircraft–strip pairs such that:
 
* the strip is assigned a transponder code;
 
* no other strip is assigned the same code;
 
* the aircraft is the only unidentified traffic squawking that code in radar range.
 
 
ATC-pie identifies such pairs automatically and reports them to you so you can properly link the two and get back to the pilot: "radar identified".
 
  
 
== Using ATC-pie ==
 
== Using ATC-pie ==

Revision as of 18:06, 29 January 2017

ATC-pie
ATC-pie logo
ATC-pie at the KSFO mess
ATC-pie at the KSFO mess
Developed by Michael Filhol
Initial release February 1, 2015
Latest release 1.1.1 (January 29, 2017)
Written in Python3
OS Any
Platform Qt5
Development status Active
Type ATC client
License GNU GPL v3
Website



ATC-pie is an air traffic control simulation program allowing to play solo games, connect to FlightGear multi-player networks and set up tutorial sessions for teacher supervision of an ATC student. It features en-route centre control (CTR) as well as airport-based service (TWR, APP, GND...) where 3d tower viewing is possible. It is essentially designed for realism and simulates many tasks and situations of real-life ATC such as:

  • strip rack and sequence management;
  • transponder identification;
  • handovers to/from neighbouring controllers;
  • ATIS recording;
  • flight plan filing and editing;
  • routing and conflict anticipation.

The program is free and open source, and programmed in Python3 for Qt5 hence system-independant. Only Python3 and its Qt5 bindings must be installed. That done, it is meant to work straight away, with no make/compile command to run or external resource to install. The whole world is immediately available on radar. Tower viewing requires a running FlightGear installation and the appropriate aircraft and scenery.

Screenshots

Visit the ATC-pie screenshot wiki category for more

Working principles

General

You are the air traffic controller, working with or without a tower window or radar scope, depending on your position and local facility. Players will connect to the network (multi-player), AI traffic be simulated (solo), or teacher traffic generated (tutorial session), with different types of aircraft and transponder equipment.

As in real life, your main radar technology is SSR, hence unless you cheat or activate the primary radar, will show you only what you pick up from on-board transponders in its range. This means:

  • if a transponder is off, you will not see the aircraft on your radar screen;
  • if a transponder is on, you will at least be able to see its position and read the transponder code, possibly its altitude and even its type and callsign, depending on the mode set by the pilot.

Strips

The ATC-pie strip detail sheet

Your basic traffic flow and sequence working unit is the strip, each representing a controlled (or soon expected) aircraft. Strips are created, filled with details and moved along and across racks until handed over to a different controller or discarded. Strip details include:

  • most importantly, the aircraft's callsign, to be used on the radio;
  • information like aircraft type, airspeed, route... that can be specified by the pilots themselves when filing flight plans;
  • transponder code and flight parameter assignments (or vectors: heading, altitude/FL, speed).

Linking strips

Strip details can be manually edited, but every strip can also be linked to a flight plan and/or a visible radar contact on the scope screen. Linking to a strip will automatically:

  • make the strip display the missing elements available from the linked aircraft transponder or flight plan;
  • inform the radar contact label with useful details provided on the strip, e.g. assigned altitude.

Any detail mismatch between a strip and its linked flight plan or radar contact will be reported for you to resolve.

Radar identification

Radar identification: both matched strip and radar contact marked in blue

To identify an aircraft and link the right radar contact to a strip, an ATC can rely on different things. He can read an aircraft's callsign straight away if its transponder has mode S turned on, tell from reported positions and altitudes, or use a transponder code.

For instance, say a VFR traffic makes an initial radio contact giving his callsign and approximate position. ATC will typically pull out a new blank strip and give the pilot a unique transponder code to squawk, writing it on the strip alongside the announced callsign, then wait for it to appear on the radar. This allows for radar identification of aircraft–strip pairs such that:

  • the strip is assigned a transponder code;
  • no other strip is assigned the same code;
  • the aircraft is the only unidentified traffic squawking that code in radar range.

ATC-pie identifies such pairs automatically and reports them to you so you can properly link the two and get back to the pilot: "radar identified".

Program features

The features listed below have been tested on various Linux versions, Mac and Windows.

General

Available games:

  • FlightGear multi-player server connection (FGMS)
  • Solo games with AI IFR traffic
  • Teacher–student tutoring sessions
  • For all game types: en-route centre or airport control mode
  • For all airport games: tower view available (rendered by FlightGear)

Common data sources:

  • Airport and navigation data retrieved from the latest X-Plane file set (whole world covered)
  • Real world declination lookup and true/magnetic distinction
  • Custom background images (integrated OpenStreetMap retrieval helper)
  • Nav/AD data customisation in separate files
  • Editable aircraft data base (ICAO designators, cruise speeds, WTC, etc.)
  • Script to assist data import from .sct sector files (EuroScope/VATSIM, IVAO)

FlightGear multi-player games:

  • Weather: real world METAR retrieval
  • ATC handovers: strip exchange with other ATC-pie and OpenRadar instances in range
  • Flight plans: interface with Lenny64's data base (the de facto FG standard), incl. in-game retrieval, filing and editing (work on local copies and manage sync with online status), opening and closing
  • In-app announcement of ATC sessions on Lenny64's popular event page

Solo games:

  • In airport mode, configurable combination of TWR, GND, APP and DEP positions
  • Randomised weather
  • Handovers to/from virtual ATCs
  • Airline choice and custom aircraft appearence
  • Configurable runways in use, airspace and entry/exit/routing points
  • Adjustable difficulty (traffic density)
  • Departure–arrival and ILS–visual balance options

Tutorial sessions (teaching/learning):

  • Teacher spawns and manipulates traffic visible to student (flight and transponder settings)
  • Strip exchange, configurable ATC neighbours and handover supervision by teacher
  • Wind control
  • Traffic snapshots and recall to repeat situations with the student

GUI:

  • Floatable, dockable and closable panels and toolbars (see screenshot), window layout saved
  • Customisable colours
  • Notification system combining selectable sounds, status bar messages and time-tagged history
  • Notes, window state, general and location-specific settings saved on close and restored on restart

ATC surveillance

Radar and transponders:

  • Full transponder support and mode-dependant radar behaviour (off, GND, A, C, C+S)
  • Configurable radar sweep interval and horizontal/vertical ranges
  • Radar identification assistant (detects unique matches between strip info and radar signals)
  • Primary radar activation (see targets without XPDR signals)
  • Runway occupation/incursion detection
  • Route/vector conflict anticipation and separation incident alarm
  • Multiple weather stations
  • Open multiple radar screens
  • Individual and general cheat modes
  • Ignore contacts

Tower viewing (not in CTR mode):

  • Real-time rendering of the airport scene from tower viewpoint
  • Internally started (requires FlightGear installed) or through connection to an external instance
  • Controller pane to orient/zoom view or follow aircraft
  • Possible use of custom scenery and aircraft model addition/substitution
  • Additional views can be connected (for multiple camera angles)

Traffic management

Strips, racks, flight plans:

  • User-defined racks with configurable colours for linked radar contacts
  • Runway boxes with automatic WTC timers when freed
  • Loose strip bays with customisable backgrounds
  • Link strips, FPLs and radar contacts to merge details and inform radar display, tracking conflicts
  • Mouse drag to move strips along and across racks, runway boxes and loose strip bays
  • Direct mouse instructions for vectors, taxi and route/waypoint changes
  • Handovers with neighbouring ATCs

Routes, vectors, conflicts:

  • Route analysis, drawing and world map view
  • Route presets and quick retrieval between two end airports
  • Current leg and next waypoint display with geodesic calculations of headings and distances
  • Visible mismatches between assigned vectors and picked up positions (see all-in-one graphics)

Misc. tools:

  • Quick point-to-point heading and distance measuring tool and access to Earth coordinates
  • Direct text annotation of radar screen with mouse
  • Custom alarm clocks with quick two-key timer set-up
  • AD/nav point browser and indicator

Communications

Radio:

  • FGCom integration, incl. echo test and possible use of externally running client
  • ATIS recording with pre-filled preparation notepad (see feature dialog)
  • Frequency-specific sound level selection
  • Multiple frequency transmissions and monitoring

Text chat:

  • Preset message list manager
  • Predefined and custom aliases for context-sensitive replacements (general, location- and ACFT-specific)
  • Message history and single-click dest. or message recall'
  • Senders blacklist management (filter out trolls)

Using ATC-pie

To download the program and learn more about how to use it, read the ATC-pie user guide. If you have a question, check the FAQ for help or try the forum.