ATC-pie: Difference between revisions

From FlightGear wiki
Jump to navigation Jump to search
m (v1.6.8)
(v1.7.0)
Line 10: Line 10:
| developedby            = Michael Filhol
| developedby            = Michael Filhol
| initialrelease        = February 1, 2015
| initialrelease        = February 1, 2015
| latestrelease          = 1.6.8 (May 9, 2020)
| latestrelease          = 1.7.0 (June 10, 2020)
| writtenin              = Python3
| writtenin              = Python3
| os                    = Any
| os                    = Any
Line 22: Line 22:
'''ATC-pie''' is an [[air traffic control]] simulation program featuring:
'''ATC-pie''' is an [[air traffic control]] simulation program featuring:
* solo sessions, incl. voice instruction recognition and pilot speech synthesis;
* solo sessions, incl. voice instruction recognition and pilot speech synthesis;
* multi-player network connections through [[FGMS]];
* network sessions through [[FGMS]] and FSD;
* tutorial sessions for teacher supervision of an ATC student.
* tutorial sessions for teacher supervision of an ATC student.


Line 32: Line 32:
* flight plan filing and editing...
* flight plan filing and editing...


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 the appropriate FlightGear aircraft and scenery.
To download the program and learn more about how to use it, read the ATC-pie [[ATC-pie installation guide|installation]] and [[ATC-pie user guide|user]] guides. If you have a question, check the [[ATC-pie FAQ|FAQ]] first, or try the forum for help.


== Screenshots ==
== Screenshots ==
Line 49: Line 49:
== Working principles ==
== Working principles ==


=== General ===
You are the air traffic controller, working with equipment depending on your position and local facility. This may include a tower view, radar scopes, data links, etc. Your traffic is the aircraft connected by human pilots (FlightGear, FSD), or simulated with AI (solo) or by a teacher (student). They all contact you with different types of aircraft, [[transponder]] equipment and intentions.
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 student traffic generated and controlled by the teacher, all with different types of aircraft, [[transponder]] equipment and intentions.
 
As in real life if you use a radar, your main technology is [http://en.wikipedia.org/wiki/Secondary_surveillance_radar SSR], hence unless you cheat or activate the primary radar, it will show you only what you pick up from on-board transponders in its range. This means:
* if a transponder is off or out of range, you will not see the aircraft on your radar screen;
* if a transponder is on and in range, 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 and your radar capabilities.


=== Strips ===
=== Strips ===
Line 62: Line 57:
* information like aircraft type, airspeed, route... that can be provided by the pilots themselves when filing ''flight plans'';
* information like aircraft type, airspeed, route... that can be provided by the pilots themselves when filing ''flight plans'';
* transponder code and flight parameter assignments (heading, altitude/FL, air speed).
* transponder code and flight parameter assignments (heading, altitude/FL, air speed).
=== Radar ===
As in real life, the main radar technology is [http://en.wikipedia.org/wiki/Secondary_surveillance_radar SSR], which only shows what is picked up from on-board transponders in its range. This means that:
* if a transponder is off or out of range, you will not see the aircraft on your radar screen;
* if a transponder is on and in range, you will at least be able to see its position and read a transponder code, and possibly its altitude, type, callsign... depending on the transponder mode and your radar capabilities.


=== Linking strips ===
=== Linking strips ===
Every strip can be '''linked''' to a flight plan and/or a radar contact. A linked strip will automatically:
Every strip can be '''linked''' to a flight plan and to a transponder contact on radar. A linked strip will automatically:
* display its missing elements when available from the linked flight plan or aircraft transponder;
* display its missing elements when available from the linked flight plan or aircraft transponder;
* populate the linked aircraft radar tag with useful details, e.g. assigned altitude.
* populate the information in the radar tag of the linked aircraft with useful details, e.g. assigned altitude.
Any detail mismatch between a strip and its linked elements will be reported for you to resolve.


=== Radar identification ===
=== Radar identification ===
[[File:ATC-pie-screenshot-radarIdentification.png|thumbnail|Radar identification: both matched strip and radar contact marked in blue]]
[[File:ATC-pie-screenshot-radarIdentification.png|thumbnail|Radar identification: both matched strip and radar contact marked in blue]]
When using radar, ATCs can rely on different things to ''identify'' an aircraft and link the right contact to its strip. They can read an aircraft's callsign straight away if its transponder is squawking mode S, tell from reported positions, or use a transponder code.
When using radar, ATCs use different methods to ''identify'' an aircraft and link the right contact to its strip. They can read an aircraft's callsign straight away if its transponder is squawking mode S, tell from reported positions, or use a transponder code.


For instance, say a transponder-equipped VFR traffic makes radio contact giving their 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:
For instance, say a transponder-equipped VFR traffic makes radio contact giving their 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:
Line 84: Line 83:
=== General ===
=== General ===
Available session types:
Available session types:
* FlightGear multi-player network connections
* Solo simulation (AI IFR traffic)
* Solo sessions (simulated IFR traffic)
* FlightGear networks (FGMS protocol)
* Teacher–student tutoring (teacher spawns and manipulates the traffic visible to the student)
* FSD connections (as served by https://github.com/kuroneko/fsd commit bc7d43, latest available in April 2020)
* Teacher–student tutoring (teacher spawns and runs the traffic visible to the student)


For all session types:
Available modes for all session types:
* Airport mode (for ATC positions such as TWR, GND, APP, DEP at a selected airfiled)
* Airport (for ATC positions such as TWR, GND, APP, DEP at a selected airfiled)
* En-route centre (free positioning of radar, no base airport or runway-related options)
* En-route centre (free positioning of radar, no base airport or runway-related options)


Common data sources:
Common data sources:
* Airport and navigation data retrieved from [http://data.x-plane.com X-Plane] sources (whole world default file set included)
* Airport and navigation data sourced in the [http://data.x-plane.com X-Plane] format (old world-wide default file set included)
* Editable aircraft data base (ICAO designators, cruise speeds, WTC, etc.)
* Editable aircraft data base (ICAO designators, cruise speeds, WTC, etc.)
* Radar background images and hand drawings (integrated EuroScope/[http://www.vatsim.net VATSIM]/IVAO .sct sector file import)
* Radar background images and hand drawings (integrated EuroScope/[http://www.vatsim.net VATSIM]/IVAO .sct sector file import)
Line 143: Line 143:


Communications:
Communications:
* [[FGCom]] radio integration for multi-player and tutoring sessions (possible use of externally running client), incl. ATIS recording (see [[:File:ATC-pie-screenshot-ATISdialog.png|feature dialog]] with pre-filled preparation notepad), multiple frequency transmissions and monitoring, frequency-specific sound level selection
* [[FGCom]] radio integration for FlightGear and tutoring sessions (possible use of externally running client), incl. multiple frequency transmissions and monitoring
* Radio direction finding (RDF) and integration to radar
* Radio direction finding (RDF) and integration to radar
* Controller-pilot data link communication (CPDLC)
* Controller-pilot data link communication (CPDLC)
* Public text chat in MP with preset messages, auto-completion, predefined and custom aliases for context-sensitive replacements, sender blacklist to filter out trolls
* Text radio chat in network sessions, with preset messages, auto-completion, predefined and custom aliases for context-sensitive replacements, sender blacklist to filter out trolls
* ATIS recording and reminder alarm (see [[:File:ATC-pie-screenshot-ATISdialog.png|dialog]] with pre-filled notepad)


ATC coordination:
ATC coordination:
* Strip exchange with known ATCs (handovers)
* CPDLC authority transfers
* Private messaging with other ATCs (text "landlines")
* Private messaging with other ATCs (text "landlines")
* General ATC chat room
* General ATC chat room
Line 154: Line 157:


=== Session environments ===
=== Session environments ===
FlightGear multi-player sessions:
* Strip exchange: handovers with other ATC-pie and [[OpenRadar]] instances in range
* Weather: real world METAR retrieval
* Flight plans: interface with [http://flightgear-atc.alwaysdata.net Lenny64's data base] (the ''de facto'' FG standard), incl. run-time retrieval, opening, closing, filing and editing (work on local copies and manage sync with online status)
* In-app announcement of ATC sessions on Lenny64's event page
Solo sessions (AI traffic):
Solo sessions (AI traffic):
* Strip exchange: handovers to/from virtual ATCs
* Strip exchange: handovers to/from virtual ATCs
* Weather: randomised
* CPDLC: transfers with ATCs and instructions/requests with ACFT
* Weather: randomised and progressively changing
* Voice instruction recognition (with Sphinx)
* Voice instruction recognition (with Sphinx)
* Pilot read-back speech synthesis (with pyttsx)
* Pilot read-back speech synthesis (with pyttsx)
* Airline choice and custom aircraft appearence
* Airline choice and custom aircraft appearence in tower view
* Configurable airspace rules
* Configurable airspace rules
* Adjustable difficulty (traffic density)
* Adjustable difficulty (traffic density)
FlightGear network sessions:
* Strip exchange: full handover support with ATC-pie, compatible with [[OpenRadar]]
* CPDLC: supported but no ACFT capable of connection yet
* Weather: real world METAR retrieval
* Flight plans: interface with [http://flightgear-atc.alwaysdata.net Lenny64's data base] (the ''de facto'' FG standard), incl. filing, editing, opening and closing
* ATIS: voice recording through FGCom
* In-app announcement of ATC sessions on Lenny64's event page
FSD network sessions:
* Strip exchange: handovers with other clients (although lossy if not ATC-pie)
* CPDLC: not supported by FSD
* Weather: fetch from server or retrieve real world METAR
* Flight plans: available from the network (although only editable by the pilots, and open/close not supported by FSD)
* ATIS: recorded as text only (sent through chat system)


Tutoring sessions (teacher with student):
Tutoring sessions (teacher with student):
* Strip exchange: configurable ATC neighbours and handover supervision by teacher
* Strip exchange: configurable ATC neighbours and handover supervision by teacher
* CPDLC: fully supported, incl. transfers to/from student and dialogues with teacher ACFT
* Weather: controlled by teacher
* Weather: controlled by teacher
* Traffic snapshots and recall to repeat situations with the student
* Traffic snapshots and recall to repeat situations with the student
== Using ATC-pie ==
To download the program and learn more about how to use it, read the ATC-pie [[ATC-pie installation guide|installation]] and [[ATC-pie user guide|user]] guides. If you have a question, check the [[ATC-pie FAQ|FAQ]] for help or try the forum.


[[Category:ATC-pie]]
[[Category:ATC-pie]]
[[Category:ATC clients]]
[[Category:ATC clients]]
[[Category:Air Traffic Control]]
[[Category:Air Traffic Control]]

Revision as of 13:09, 10 June 2020

ATC-pie
ATC-pie logo
Tower viewing, following a departing aircraft
Tower viewing, following a departing aircraft
Developed by Michael Filhol
Initial release February 1, 2015
Latest release 1.7.0 (June 10, 2020)
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 featuring:

  • solo sessions, incl. voice instruction recognition and pilot speech synthesis;
  • network sessions through FGMS and FSD;
  • tutorial sessions for teacher supervision of an ATC student.

It can simulate en-route centre control (CTR) as well as airport-based services (TWR, APP, GND...), and allows 3D tower viewing through FlightGear. It is essentially designed for realism and simulates many tasks and situations of real-life ATC such as:

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

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

Screenshots

Visit the ATC-pie screenshot category for more.

Working principles

You are the air traffic controller, working with equipment depending on your position and local facility. This may include a tower view, radar scopes, data links, etc. Your traffic is the aircraft connected by human pilots (FlightGear, FSD), or simulated with AI (solo) or by a teacher (student). They all contact you with different types of aircraft, transponder equipment and intentions.

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 across racks and bays until handed over to a different controller or shelved. Strip details can all be manually edited, and include:

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

Radar

As in real life, the main radar technology is SSR, which only shows what is picked up from on-board transponders in its range. This means that:

  • if a transponder is off or out of range, you will not see the aircraft on your radar screen;
  • if a transponder is on and in range, you will at least be able to see its position and read a transponder code, and possibly its altitude, type, callsign... depending on the transponder mode and your radar capabilities.

Linking strips

Every strip can be linked to a flight plan and to a transponder contact on radar. A linked strip will automatically:

  • display its missing elements when available from the linked flight plan or aircraft transponder;
  • populate the information in the radar tag of the linked aircraft with useful details, e.g. assigned altitude.

Radar identification

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

When using radar, ATCs use different methods to identify an aircraft and link the right contact to its strip. They can read an aircraft's callsign straight away if its transponder is squawking mode S, tell from reported positions, or use a transponder code.

For instance, say a transponder-equipped VFR traffic makes radio contact giving their 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".

Detailed feature list

General

Available session types:

  • Solo simulation (AI IFR traffic)
  • FlightGear networks (FGMS protocol)
  • FSD connections (as served by https://github.com/kuroneko/fsd commit bc7d43, latest available in April 2020)
  • Teacher–student tutoring (teacher spawns and runs the traffic visible to the student)

Available modes for all session types:

  • Airport (for ATC positions such as TWR, GND, APP, DEP at a selected airfiled)
  • En-route centre (free positioning of radar, no base airport or runway-related options)

Common data sources:

  • Airport and navigation data sourced in the X-Plane format (old world-wide default file set included)
  • Editable aircraft data base (ICAO designators, cruise speeds, WTC, etc.)
  • Radar background images and hand drawings (integrated EuroScope/VATSIM/IVAO .sct sector file import)
  • Ground elevation maps (can be generated automatically with a provided script)
  • Real world magnetic declination lookup

GUI features:

  • Multiple window workspace (radar screens, strip racks and bays) saved by location
  • Floatable/dockable panels and toolbars (see screenshot) and layout save/restore
  • Customisable colours
  • Notification system combining selectable sounds, status bar messages and time-tagged history

Misc. tools:

  • Quick point-to-point heading and distance measuring tool
  • Multiple weather station monitor
  • Direct text annotation of radar screen
  • World airport, map navpoint and AD parking position browsing/indicating
  • Aeronautical unit conversion calculator
  • Custom alarm clocks with quick keyboard timer start
  • General and location-specific notes and settings saved on close and restored on restart

ATC surveillance

Radar and transponders:

  • SSR mode selection and primary radar activation
  • Full transponder support and mode-dependant radar behaviour
  • Traffic identification assistant
  • Runway occupation/incursion detection
  • Position/track vs. assignment mismatch warning system

Tower viewing for airport mode (requires FlightGear):

  • Renders view of airport, aircraft, weather, time of day
  • Internally started or through an externally running instance
  • Control panel to orient/zoom view or follow aircraft
  • Additional views can be connected (for multiple camera angles)

Traffic management

Strips and racks:

  • User-defined racks with configurable colours for linked radar contacts and ATCs to collect strips from
  • Strip auto-print for expected departures or arrivals
  • Runway boxes with automatic RWY separation timers
  • Loose strip bays with customisable backgrounds

Routes, vectors, conflicts:

  • World route suggestions, presets, analysis, radar drawing and world map view
  • Convenient mouse input for vectors, taxi instructions and waypoint changes
  • Current leg and next waypoint display with geodesic calculations of headings and distances
  • Route/vector conflict anticipation and separation incident alarm
  • Approach spacing hints for inbound sequences

Communications:

  • FGCom radio integration for FlightGear and tutoring sessions (possible use of externally running client), incl. multiple frequency transmissions and monitoring
  • Radio direction finding (RDF) and integration to radar
  • Controller-pilot data link communication (CPDLC)
  • Text radio chat in network sessions, with preset messages, auto-completion, predefined and custom aliases for context-sensitive replacements, sender blacklist to filter out trolls
  • ATIS recording and reminder alarm (see dialog with pre-filled notepad)

ATC coordination:

  • Strip exchange with known ATCs (handovers)
  • CPDLC authority transfers
  • Private messaging with other ATCs (text "landlines")
  • General ATC chat room
  • "Who has?" requests

Session environments

Solo sessions (AI traffic):

  • Strip exchange: handovers to/from virtual ATCs
  • CPDLC: transfers with ATCs and instructions/requests with ACFT
  • Weather: randomised and progressively changing
  • Voice instruction recognition (with Sphinx)
  • Pilot read-back speech synthesis (with pyttsx)
  • Airline choice and custom aircraft appearence in tower view
  • Configurable airspace rules
  • Adjustable difficulty (traffic density)

FlightGear network sessions:

  • Strip exchange: full handover support with ATC-pie, compatible with OpenRadar
  • CPDLC: supported but no ACFT capable of connection yet
  • Weather: real world METAR retrieval
  • Flight plans: interface with Lenny64's data base (the de facto FG standard), incl. filing, editing, opening and closing
  • ATIS: voice recording through FGCom
  • In-app announcement of ATC sessions on Lenny64's event page

FSD network sessions:

  • Strip exchange: handovers with other clients (although lossy if not ATC-pie)
  • CPDLC: not supported by FSD
  • Weather: fetch from server or retrieve real world METAR
  • Flight plans: available from the network (although only editable by the pilots, and open/close not supported by FSD)
  • ATIS: recorded as text only (sent through chat system)

Tutoring sessions (teacher with student):

  • Strip exchange: configurable ATC neighbours and handover supervision by teacher
  • CPDLC: fully supported, incl. transfers to/from student and dialogues with teacher ACFT
  • Weather: controlled by teacher
  • Traffic snapshots and recall to repeat situations with the student