Difference between revisions of "PAR instrument"

From FlightGear wiki
Jump to navigation Jump to search
m (Major cleanup; fix double redirect)
Line 1: Line 1:
 
+
{{WIP|Although still incomplete, the information it contains is valid and available. |nocat=}}
 +
{{see also|Howto:Implementing a simple GCA system}}
 
{{Infobox addon
 
{{Infobox addon
 
|name=Precision Approach Radar Addon
 
|name=Precision Approach Radar Addon
Line 7: Line 8:
 
|contributors={{Usr|Rodolfo}}
 
|contributors={{Usr|Rodolfo}}
 
}}
 
}}
 +
[[File:PAR.png|thumb|Precision Approach Radar screen]]
  
 +
The '''PAR''' (Precision Approach Radar) addon allows a Ground Controlled Approach (GCA) controller to deliver approach directives to the requesting aircraft.
  
[[File:PAR.png|right|Precision Approach Radar screen]]
+
== Background ==
 
 
 
 
<big>Precision Approach Radar  (PAR)</big> is a ground instrument conceived primarily to provide the GCA service.
 
{{WIP|Although still incomplete, the information it contains is valid and available. |nocat=}}
 
'''PAR''' allows the Ground Controlled Approach (GCA) controller to deliver approach directives to the requesting aircraft.<br />
 
(see [[Howto:Implementing_a_simple_GCA_system]])
 
= Background =
 
 
{{FGCquote
 
{{FGCquote
 
   |Is there any work on GCA (ground controlled approach) in progress, or have missed it? GCA is surprisingly accurate and easy to use, both as a pilot and a controller.  |{{cite web |url=http://forum.flightgear.org/viewtopic.php?p=193941#p193941
 
   |Is there any work on GCA (ground controlled approach) in progress, or have missed it? GCA is surprisingly accurate and easy to use, both as a pilot and a controller.  |{{cite web |url=http://forum.flightgear.org/viewtopic.php?p=193941#p193941
Line 24: Line 20:
 
   }}
 
   }}
 
}}
 
}}
= What PAR and GCA are =
+
 
 +
== What PAR and GCA are ==
 
* https://secretsofcoldwarradar.omeka.net/exhibits/show/cold-war-radar-technology/radar-equipment/ground-controlled-approach-and
 
* https://secretsofcoldwarradar.omeka.net/exhibits/show/cold-war-radar-technology/radar-equipment/ground-controlled-approach-and
 
* https://aroundthepattern.com/training/ground-controlled-approaches-gca/
 
* https://aroundthepattern.com/training/ground-controlled-approaches-gca/
Line 30: Line 27:
 
* http://www.rquirk.com/cdnradar/cor/chapter21.pdf
 
* http://www.rquirk.com/cdnradar/cor/chapter21.pdf
  
= What can you expect from GCA =
+
== What can you expect from GCA ==
 +
[[File:Gca1.png|left|thumb|Horizontal trajectory when pilot follows GCA instructions]]
 +
[[File:Gca2.png|thumb|Vertical trajectory when pilot follows GCA instructions]]
 +
Arriving in the vicinity of the airport with little or no visibility, the pilot can request the GCA service.
 +
 
 +
The Controller, assisted by a PAR (''Precision Approach Radar''), will guide you through a safe path (both in heading and in altitude) that will take you to the head of the used runway.
 +
{{-}}
 +
 
 +
== How to install ==
 +
{{note|This is the latest version (Feb 22, 2018)}}
 +
 
 +
<!--Latest modifications:
  
[[File:Gca1.png|left|thumb|Horizontal trajectory when pilot follows GCA instructions]]Arriving in the vicinity of the airport with little or no visibility, the pilot can request the GCA service.
 
The Controller, assisted by a PAR (''Precision Approach Radar''), will guide you through a safe path (both in heading and in altitude) that will take you to the head of the used runway.[[File:Gca2.png|center|thumb|Vertical trajectory when pilot follows GCA instructions]]<br />
 
<br />
 
<br />
 
<br />
 
= How to install =
 
{{note |    This is the latest version (Feb 22, 2018)<br />
 
<!--Latest modifications:<br />
 
 
* plot2D helpers available.  
 
* plot2D helpers available.  
 
* {{key press|Track}} button at PAR screen chooses which aircraft must be tracked.
 
* {{key press|Track}} button at PAR screen chooses which aircraft must be tracked.
Line 45: Line 45:
 
* {{key press|RWY}}, {{key press|FLIP}} and  {{key press|+}}  {{key press|-}} zoom buttons at PAR screen.
 
* {{key press|RWY}}, {{key press|FLIP}} and  {{key press|+}}  {{key press|-}} zoom buttons at PAR screen.
 
  }}-->
 
  }}-->
If your FGFS version accepts [[Addons]], you can download this feature from the [https://sourceforge.net/p/flightgear/fgaddon/HEAD/tree/trunk/Addons/PAR/ Addons Repository]. Download all the 12 files into the directory of your choice.<br />
+
If your FGFS version accepts [[Addon]]s, you can download this feature from the {{fgaddon source|path=PAR|text=FGAddon repository}}. Download all the 12 files into the directory of your choice.
  
Launch FlightGear including --addon argument, eg.:  
+
Launch FlightGear including <code>--addon</code> argument, for example:  
 
<syntaxhighlight>
 
<syntaxhighlight>
  fgfs <usual args> --addon=/path/to/PARaddon/</syntaxhighlight>
+
  fgfs <usual args> --addon=/path/to/PARaddon/
{{note |   From version 2017.4.0, the FG launcher accepts the ''--addon'' option in his ''Settings/Additional Settings'' tab.<br />}}
+
</syntaxhighlight>
 +
 
 +
{{note|From version 2017.4.0, the FlightGear launcher accepts the <code>--addon</code> option in his '''Settings > Additional Settings''' tab.}}
 +
 
 
Otherwise, you can install it as a submodule. Contact the author for further instructions.
 
Otherwise, you can install it as a submodule. Contact the author for further instructions.
  
And that's all !<br />
+
And that's all !
 +
 
 +
== How to use it ==
 +
When you are about 15 or 20 miles from your destination, tune the COM1 radio to an available ATC frequency (you can find them at '''Menu > Location > Airfield information''' or at the {{key press|F12}} dialog).
 +
 
 +
Press the {{key press|&gt;}} key to see the PAR instrument (you can open as many as you want). Verify the airport and runway destination.
 +
 
 +
On the screen you should see not only your plane but all the flying MP/AI in range. Adjust zoom if necessary.
 +
 
 +
Click the {{key press|GCA}} button to  request GCA assistance.
  
= How to use it =
+
You will hear the GCA's answer ''"&lt;callsign&gt;, this will be a PAR approach to &lt;airport&gt; runway &lt;rwy&lt;."''
When you are about 15 or 20 miles from your destination, tune Comm1 to an available ATC frequency (you can find them at ''Menu/Location/Airfield information'' or at the {{key press|F12}} dialog).<br />
+
 
Press the {{key press|>}} key to see the PAR instrument (you can open as many as you want). Verify the airport and runway destination.<br />
+
Now, as you do not want to cheat, you should click the {{key press|hide}} button. (Remember: This PAR is a ground instrument, not a flying one).
On the screen you should see not only your plane but all the flying MP/AI in range. Adjust Zoom if necessary.<br />
+
 
Click the {{key press|GCA}} button to  request GCA assistance.<br />
+
But not worry, once you have landed (or anytime, indeed) you can press the {{key press|&gt;}} key again to visualize and analyze your plotted trajectory.  
You will hear the GCA's answer ''"<callsign>, this will be a PAR approach to <airport> runway <rwy>."''<br />
+
 
Now, as you do not want to cheat, you should click the {{key press|hide}} button. (Remember: this PAR is a ground instrument, not a flying one).<br />
+
 
But not worry, once you have landed (or anytime, indeed) you can press the {{key press|>}} key again to visualize and analyze your plotted trajectory. <br />
+
Depending on your position and altitude, the GCA will give you a vector towards the base leg or towards the final one. Also will instruct to climb or descend if necessary.
  
Depending on your position and altitude, the GCA will give you a vector towards the base leg or towards the final one. Also will instruct to climb or descend if necessary.<br />
 
 
Follow closely those instructions making standard turns first, and half standard ones when indicated.
 
Follow closely those instructions making standard turns first, and half standard ones when indicated.
Adopt about 90 to 110 kts IAS until you hear ''"Begin descent"'', and configure a "final" atitude then.<br />
+
 
If you are adviced ''"<Well/Slightly> <left/right> of course."'' then make "S" turns to fix that. Little ones if "Slightly", big ones if "Well".<br />
+
Adopt about 90 to 110 kts IAS until you hear ''"Begin descent"'', and configure a "final" altitude then.
Correct your vertical speed if you hear ''"<Above/Below> glidepath."''
+
 
<br />
+
If you are advised ''"&lt;Well/Slightly&gt; &lt;left/right&gt; of course."'' then make "S" turns to fix that. Little ones if "Slightly", big ones if "Well".
= Phraseology customization =  
+
 
You can customize the phraseology by editing the "''phraseology.xml''" file.<br />
+
Correct your vertical speed if you hear ''"&lt;Above/Below&gt; glidepath."''
 +
 
 +
== Phraseology customization ==
 +
You can customize the phraseology by editing the <code>phraseology.xml</code> file.
 +
 
 
There you can find groups of tags like:
 
There you can find groups of tags like:
 
<syntaxhighlight lang="xml">
 
<syntaxhighlight lang="xml">
Line 80: Line 95:
 
   <foo type="string">to fly. </foo>
 
   <foo type="string">to fly. </foo>
 
     . . . .  </syntaxhighlight>
 
     . . . .  </syntaxhighlight>
which will be read as a single sentence (''"Hello world. It is a good day to fly. "'').</br>
+
which will be read as a single sentence (''"Hello world. It is a good day to fly. "'').
 +
 
 
=== Literals ===  
 
=== Literals ===  
 
Those in the example above are literal sentences that you can change by the strings you want.
 
Those in the example above are literal sentences that you can change by the strings you want.
{{note |  
+
{{note|  
* You should not include either " or ' .
+
* You should not include either <code>"</code> or <code>'</code>.
* Punctuation is meaningfull. }}
+
* Punctuation is meaningfull.}}
 +
 
 
=== Substitutions ===  
 
=== Substitutions ===  
Strings starting by '''%''' will call some '''property value'''.
+
Strings starting by <code>%</code> will call some '''property value'''.
In the example above replace "'''day'''" by "'''% /sim/startup/time-offset-type'''". </br>
+
In the example above replace <code>day</code> by <code>% /sim/startup/time-offset-type</code>.
Now the sentence will be read as ''"Hello world. It is a good morning to fly. "'' or ''"Hello world. It is a good evening to fly. "'' depending on the time.</br>
+
 
{{note |  
+
Now the sentence will be read as ''"Hello world. It is a good morning to fly. "'' or ''"Hello world. It is a good evening to fly. "'' depending on the time.
 +
 
 +
{{note|  
 
* The called property must be a string.}}
 
* The called property must be a string.}}
 +
 
=== Concatenation ===  
 
=== Concatenation ===  
Strings starting by '''~''' will append the sentence with another one.</br>
+
Strings starting by <code>~</code> will append the sentence with another one.
 +
 
 
Try this:  
 
Try this:  
 
<syntaxhighlight lang="xml">
 
<syntaxhighlight lang="xml">
Line 102: Line 123:
 
   <foo type="string">Have a nice fly, </foo>
 
   <foo type="string">Have a nice fly, </foo>
 
   <foo type="string">~short</foo>
 
   <foo type="string">~short</foo>
     . . . .  </syntaxhighlight>when calling ''foo'' you should hear ''"Have a nice fly, <your-callsign> , "'' </br>
+
     . . . .  </syntaxhighlight>when calling ''foo'' you should hear ''"Have a nice fly, <your-callsign> , "''  
  
 
=== Word Replacement ===  
 
=== Word Replacement ===  
If you find that the word ''Wind'' is not pronounced clearly, you can change it by ''Winnded'' or similar to increase its intelligibility..</br>
+
If you find that the word ''Wind'' is not pronounced clearly, you can change it by ''Winnded'' or similar to increase its intelligibility..
 +
 
 
Better? Fine, but what about the message on the screen?
 
Better? Fine, but what about the message on the screen?
 
Include a tag with the pattern  <replace type="string">'''old''':'''new'''</replace> :
 
Include a tag with the pattern  <replace type="string">'''old''':'''new'''</replace> :
Line 111: Line 133:
 
     . . . .  
 
     . . . .  
 
   <replace type="string">Winnded:Wind</replace>  
 
   <replace type="string">Winnded:Wind</replace>  
     . . . .  </syntaxhighlight> </br>
+
     . . . .   
= Roadmap =
+
</syntaxhighlight>
  
* To implement a setting dialog (binded to the {{key press|set}} button) allowing further customizations.(as glideslope, TTS arguments, etc.)<!-- {{done}}-->
+
== Roadmap ==
* To improve the terrain ''getVertProfilefunction'' when unloaded tiles are needed. <!-- {{progressbar|20}}-->
+
* To implement a setting dialog (bound to the {{key press|set}} button) allowing further customizations. (As glideslope, TTS arguments, etc.)<!-- {{done}}-->
 +
* To improve the terrain <code>getVertProfilefunction</code> when unloaded tiles are needed.<!-- {{progressbar|20}}-->
 
* General improvements & optimizations
 
* General improvements & optimizations
= Behind the scene =
 
  
 +
== Behind the scene ==
 
Supporting all the graphic work:
 
Supporting all the graphic work:
* [[Canvas Nasal API|Canvas_Nasal_API]]
+
* [[Canvas Nasal API]]
* plot2D.nas
+
* <code>Cplot2D.nas</code>
* graph.nas
+
* <code>graph.nas</code>
 
* [[Skinnable canvas window]]
 
* [[Skinnable canvas window]]
  
 
( to be continued ... )
 
( to be continued ... )

Revision as of 10:44, 12 July 2020

WIP.png Work in progress
This article or section will be worked on in the upcoming hours or days.
Note: Although still incomplete, the information it contains is valid and available.
See history for the latest developments.
Precision Approach Radar Addon
Started in 02/2018
Description PAR addon
Contributor(s) Rodolfo
Status under active development as of 02/2018
Precision Approach Radar screen

The PAR (Precision Approach Radar) addon allows a Ground Controlled Approach (GCA) controller to deliver approach directives to the requesting aircraft.

Background

Cquote1.png Is there any work on GCA (ground controlled approach) in progress, or have missed it? GCA is surprisingly accurate and easy to use, both as a pilot and a controller.
— Alant (Sun Ago 13). Re: Spoken ATC.
(powered by Instant-Cquotes)
Cquote2.png

What PAR and GCA are

What can you expect from GCA

Horizontal trajectory when pilot follows GCA instructions
Vertical trajectory when pilot follows GCA instructions

Arriving in the vicinity of the airport with little or no visibility, the pilot can request the GCA service.

The Controller, assisted by a PAR (Precision Approach Radar), will guide you through a safe path (both in heading and in altitude) that will take you to the head of the used runway.

How to install

Note  This is the latest version (Feb 22, 2018)

If your FGFS version accepts Addons, you can download this feature from the FGAddon repository. Download all the 12 files into the directory of your choice.

Launch FlightGear including --addon argument, for example:

 fgfs <usual args> --addon=/path/to/PARaddon/
Note  From version 2017.4.0, the FlightGear launcher accepts the --addon option in his Settings > Additional Settings tab.

Otherwise, you can install it as a submodule. Contact the author for further instructions.

And that's all !

How to use it

When you are about 15 or 20 miles from your destination, tune the COM1 radio to an available ATC frequency (you can find them at Menu > Location > Airfield information or at the F12 dialog).

Press the > key to see the PAR instrument (you can open as many as you want). Verify the airport and runway destination.

On the screen you should see not only your plane but all the flying MP/AI in range. Adjust zoom if necessary.

Click the GCA button to request GCA assistance.

You will hear the GCA's answer "<callsign>, this will be a PAR approach to <airport> runway <rwy<."

Now, as you do not want to cheat, you should click the hide button. (Remember: This PAR is a ground instrument, not a flying one).

But not worry, once you have landed (or anytime, indeed) you can press the > key again to visualize and analyze your plotted trajectory.


Depending on your position and altitude, the GCA will give you a vector towards the base leg or towards the final one. Also will instruct to climb or descend if necessary.

Follow closely those instructions making standard turns first, and half standard ones when indicated.

Adopt about 90 to 110 kts IAS until you hear "Begin descent", and configure a "final" altitude then.

If you are advised "<Well/Slightly> <left/right> of course." then make "S" turns to fix that. Little ones if "Slightly", big ones if "Well".

Correct your vertical speed if you hear "<Above/Below> glidepath."

Phraseology customization

You can customize the phraseology by editing the phraseology.xml file.

There you can find groups of tags like:

    . . . . 
  <foo type="string">Hello world. </foo>
  <foo type="string">It is a good </foo>
  <foo type="string">day </foo>
  <foo type="string">to fly. </foo>
    . . . .

which will be read as a single sentence ("Hello world. It is a good day to fly. ").

Literals

Those in the example above are literal sentences that you can change by the strings you want.

Note
  • You should not include either " or '.
  • Punctuation is meaningfull.

Substitutions

Strings starting by % will call some property value. In the example above replace day by % /sim/startup/time-offset-type.

Now the sentence will be read as "Hello world. It is a good morning to fly. " or "Hello world. It is a good evening to fly. " depending on the time.

Note
  • The called property must be a string.

Concatenation

Strings starting by ~ will append the sentence with another one.

Try this:

    . . . . 
  <short type="string">% /satc/callsign-fmt</short>	
  <short type="string">, </short>

  <foo type="string">Have a nice fly, </foo>
  <foo type="string">~short</foo>
    . . . .

when calling foo you should hear "Have a nice fly, <your-callsign> , "

Word Replacement

If you find that the word Wind is not pronounced clearly, you can change it by Winnded or similar to increase its intelligibility..

Better? Fine, but what about the message on the screen? Include a tag with the pattern <replace type="string">old:new</replace> :

    . . . . 
  <replace type="string">Winnded:Wind</replace> 
    . . . .

Roadmap

  • To implement a setting dialog (bound to the set button) allowing further customizations. (As glideslope, TTS arguments, etc.)
  • To improve the terrain getVertProfilefunction when unloaded tiles are needed.
  • General improvements & optimizations

Behind the scene

Supporting all the graphic work:

( to be continued ... )