Board index FlightGear Development Nasal

Spoken GCA

Nasal is the scripting language of FlightGear.

Spoken GCA

Postby rleibner » Thu Sep 07, 2017 8:55 pm

Hi,
I'm proud to submit the first working prototype of Spoken GCA.
You can download it from here.
(I don't think this is a good time to make a fork in SF, until the new release comes out).
Please read the Readme file included into the zip.

Note this is to be installed as Submodule. Later I'll make the addon.
But prior to that I want to now your opinions about its 'architecture' and behavior.

Thanks in advance for your cooperation.
Rodolfo
*************************
Non-shared knowledge is lost knowledge
User avatar
rleibner
 
Posts: 217
Joined: Fri May 19, 2017 7:17 pm
Location: Uruguay - SUMU
Callsign: CX-BEX
Version: 2180.2.0
OS: Ubuntu 17.10

Re: Spoken GCA

Postby Alant » Thu Sep 07, 2017 9:50 pm

The link shows the files within the zip, but does not seem to allow download of the zip file itself.

I am looking forward to trying this.

Alan
Alant
 
Posts: 703
Joined: Wed Jun 23, 2010 5:58 am
Location: Portugal
Callsign: Tarnish99
Version: from Git
OS: Windows 10

Re: Spoken GCA

Postby rleibner » Thu Sep 07, 2017 9:58 pm

Alant wrote in Thu Sep 07, 2017 9:50 pm:The link shows the files within the zip, but does not seem to allow download of the zip file itself.

Once the link is opened, you would see (near the upper right corner) a download symbol
Rodolfo
*************************
Non-shared knowledge is lost knowledge
User avatar
rleibner
 
Posts: 217
Joined: Fri May 19, 2017 7:17 pm
Location: Uruguay - SUMU
Callsign: CX-BEX
Version: 2180.2.0
OS: Ubuntu 17.10

Re: Spoken GCA

Postby Alant » Thu Sep 07, 2017 10:16 pm

Got it.

Perhaps I need some spoken help on the page ;)
Alant
 
Posts: 703
Joined: Wed Jun 23, 2010 5:58 am
Location: Portugal
Callsign: Tarnish99
Version: from Git
OS: Windows 10

Re: Spoken GCA

Postby rleibner » Thu Sep 07, 2017 11:12 pm

:lol: :lol:
Rodolfo
*************************
Non-shared knowledge is lost knowledge
User avatar
rleibner
 
Posts: 217
Joined: Fri May 19, 2017 7:17 pm
Location: Uruguay - SUMU
Callsign: CX-BEX
Version: 2180.2.0
OS: Ubuntu 17.10

Re: Spoken GCA

Postby Alant » Sat Sep 09, 2017 12:33 pm

I have problems starting GCA.
The ">" key produces this :-
Nasal runtime error: No such member: speak at /input/keyboard/key[62]/binding, line 1

However I can get GCA to start by entering gca.Control(); on the nasal console.

After that it seems OK. The messages are a little more frequent than I remember, but it was a long time ago. (My "teacher" had just retired from the RAF, where he flew the Avro Shackleton )

Alan
Alant
 
Posts: 703
Joined: Wed Jun 23, 2010 5:58 am
Location: Portugal
Callsign: Tarnish99
Version: from Git
OS: Windows 10

Re: Spoken GCA

Postby rleibner » Sat Sep 09, 2017 2:01 pm

Make sure that your keyboard.xml looks like:
Code: Select all
   . . .
 <key n="62">
  <name>greater-than</name>
  <desc>Gnd Controlled Approach</desc>
  <binding>
   <command>nasal</command>
   <script><![CDATA[gca.Control();]]></script>
  </binding>
 </key>
  . . .
Rodolfo
*************************
Non-shared knowledge is lost knowledge
User avatar
rleibner
 
Posts: 217
Joined: Fri May 19, 2017 7:17 pm
Location: Uruguay - SUMU
Callsign: CX-BEX
Version: 2180.2.0
OS: Ubuntu 17.10

Re: Spoken GCA

Postby Alant » Sat Sep 09, 2017 2:49 pm

It does, but this is overwritten by line 11 of Nasal/Gca/config.xmp.

<script><![CDATA[gca.speak(10);]]></script>

- which is what I see in the property list.

Alan

PS All seems OK when line 11 has gca.Control();
Alant
 
Posts: 703
Joined: Wed Jun 23, 2010 5:58 am
Location: Portugal
Callsign: Tarnish99
Version: from Git
OS: Windows 10

Re: Spoken GCA

Postby rleibner » Sat Sep 09, 2017 4:38 pm

Alant wrote in Sat Sep 09, 2017 2:49 pm:It does, but this is overwritten by line 11 of Nasal/Gca/config.xmp.
All seems OK when line 11 has gca.Control();

My fault.
I've just uploaded that amend and some other changes into the zip.
Please update it and let me now your comments.
Rodolfo
*************************
Non-shared knowledge is lost knowledge
User avatar
rleibner
 
Posts: 217
Joined: Fri May 19, 2017 7:17 pm
Location: Uruguay - SUMU
Callsign: CX-BEX
Version: 2180.2.0
OS: Ubuntu 17.10

Re: Spoken GCA

Postby Alant » Sat Sep 09, 2017 10:37 pm

OK. It is working now.

I will need to fly some approaches to test it. The first impression is that the heading changes are not sufficinet to get the aircraft back on track.
This may be because I am coming in with my TSR2 at 180kts. Perhaps I should use the Cesna or similar for this exercise.

Alan
Alant
 
Posts: 703
Joined: Wed Jun 23, 2010 5:58 am
Location: Portugal
Callsign: Tarnish99
Version: from Git
OS: Windows 10

Re: Spoken GCA

Postby Alant » Sun Sep 10, 2017 12:13 am

P.S

This is a brilliant start to automated GCA.

GCA looks simple, but it relies on two human operators - the controller and the pilot,

The GCA system being developed simulates the controller.

The pilot does what he decides with the instructions. Some pilot are better than others.

The aircraft instruments (in particular the compass) may not indicate the same as the controller´s radar display.

Cross winds add a further complication, but the ground controller should be aware of this.and be able to compensate.

The GCA controller must be able to recognise that when he requests a given heading, and that the localiser track is not corrected as , he expects, then he should assume that his commands gave been followed and therefore he should change his heading (track) datum accordingly.

The same logic applies to the descent/glideslope commands.

The logic for commands is therefore:

Start with best estimate, based upon wind, magnetic variation and expected airspeed.

If the aircraft response is not as expected, modify the commands , using new estimates, or just differences from the last command. i.e If the last track command was turn port/left, heading 167 did not correct a drift to the right, issue the next command turn port/left heading 166.

If this was not sufficient to show that the error is showing signs of being corrected, the next instruction may be turn port/left, heading 165/164/163 etc. Cross winds and compass errors will both result in this confusion.

All of this is relatively simple for a human controller, but our controller must rely on the artificial intelligence that he is programmed with.

Alan
Alant
 
Posts: 703
Joined: Wed Jun 23, 2010 5:58 am
Location: Portugal
Callsign: Tarnish99
Version: from Git
OS: Windows 10

Re: Spoken GCA

Postby Alant » Sun Sep 10, 2017 12:26 am

P.S

In a simulator we can cheat and make things much simpler.

The GCA controller has access to Flightgear´s property tree. Therefore he knows the track, indicated heading, ground speed etc. These, and other variables, can be used to generate the steering commands.

Alan
Alant
 
Posts: 703
Joined: Wed Jun 23, 2010 5:58 am
Location: Portugal
Callsign: Tarnish99
Version: from Git
OS: Windows 10

Re: Spoken GCA

Postby vanosten » Sun Sep 10, 2017 6:56 am

Hi

Not sure whether this is the right place to ask. But its seems that both this module and spoken ATC is using Nasal. Would it be possible to create these modules outside of main FGFS and act through properties over e.g. http? I guess the number of read/writes per second are pretty low - and the same goes for the number of properties in interest. The reason for asking is that looking at recent threads about performance I seem not to be the only one being disappointed about framerates even after buying a very capabable new computer. The HLA seems to progress in small steps. So one thing to "help" performance would IMO be to start creating (new) modules outside of FGFS, so they can run in their own processor etc.
Maintaining osm2city
vanosten
 
Posts: 290
Joined: Sat Sep 25, 2010 5:38 pm
Location: Denmark - but I am Swiss
Callsign: HB-VANO
Version: latest
OS: Win 10 and Ubuntu

Re: Spoken GCA

Postby wkitty42 » Sun Sep 10, 2017 2:09 pm

even after buying a very capabable new computer.

the real question here is what about the video card... my $60US NVIDIA card works well enough for me (10-30fps depending) but i am considering a much better NVIDIA card that costs as much or more than the current high performance(?) 8-core 4GHZ setup that i have... i just find it hard to pay as much or more for the GPU ($500+US) than the CPU/MB/RAM/HD stuff ($500US)... but then i think back to when a 5Meg HD was $5000US and the machine to put it in was "only" $3000US... and memory... whoa the memory prices of yesteryear...
"You get more air close to the ground," said Angalo. "I read that in a book. You get lots of air low down, and not much when you go up."
"Why not?" said Gurder.
"Dunno. It's frightened of heights, I guess."
User avatar
wkitty42
 
Posts: 4161
Joined: Fri Feb 20, 2015 3:46 pm
Location: central NC, USA
Callsign: wk42
Version: git next
OS: Kubuntu 14.04.5

Re: Spoken GCA

Postby rleibner » Sun Sep 10, 2017 3:31 pm

vanosten wrote in Sun Sep 10, 2017 6:56 am:Not sure whether this is the right place to ask. But its seems that both this module and spoken ATC is using Nasal. Would it be possible to create these modules outside of main FGFS and act through properties over e.g. http? . . . .
The reason for asking is that looking at recent threads about performance . . .

May be this is not the right place, but let me share some brief data:
    GCAContro_class interrupts once per second and tooks 1 to 1.5 ms to update properties.
    control.nas (his caller) processes the response taking 0.2 to 0.4 ms each second.
With such values (benchmarked on my PC, a medium speed computer) I'm sure there will be no difference in the fps.
Rodolfo
*************************
Non-shared knowledge is lost knowledge
User avatar
rleibner
 
Posts: 217
Joined: Fri May 19, 2017 7:17 pm
Location: Uruguay - SUMU
Callsign: CX-BEX
Version: 2180.2.0
OS: Ubuntu 17.10

Next

Return to Nasal

Who is online

Users browsing this forum: No registered users and 1 guest