1
0
Fork 0
Commit graph

403 commits

Author SHA1 Message Date
Durk Talsma
7e604f22a7 * Added a pure virtual render() function to FGATController that can be used to implement traffic visualization
* Allow position and intentions to be monitored and updated by the Startup controller
* Added a "parent" pointer to the startup controller to allow communication with the groundnetwork.
* Implemented a render() function for the Startup controller
* Renamed "FGGroundNetwork::getRenderNode() to FGGroundnetwork::render()
2011-04-26 19:18:28 +02:00
Durk Talsma
a7ccae9fca More work on AI/ATC integration:
- Fixed a bug in AI aircraft ground steering code: When aircraft were not moving, the value of headingchangeRate kept increasing to insane levels. Although this was clamped to a maximum of 30 degrees per second, the initial rate could still push the aircraft in the wrong direction. In practice, this bug would be visible when an AI aicraft would be pushed back, when it tended to veer to the right.
 - Make sure that the aircraft slows down well ahead of the pushback point. This change ensures that the AC will actually reach the pushback point. It also ensures a slightly tighter steering range.
 - AI ground steering rate is tuned to 30 degrees per second at a nominal taxispeed of 15. I now modulate the heading adjustment rate by manipulating the adjustment using a non-linear function (the sqrt). This allows for a slightly tighter turn radius at speeds < 15 and slightly looser turns at speeds > 15.
 - The AI Flightplan generation code can return false. This can be used to determine whether any additional AI aircraft may be created. Currently, the function returns false when no more parkings are available. This should limit the build-up of huge AIAircraft tower stacks.
 - The ground network can now graphically display all aircraft actitivy on the ground network by using a virtual marker system.
2011-04-19 18:01:24 +02:00
Durk Talsma
65e87bf2f8 Added some code to visualize the ground networks. 2011-04-17 10:19:58 +02:00
Durk Talsma
fa842a42b6 Added a small and simple dialogbox that allows the user to issue ATC commands. 2011-04-15 19:32:21 +02:00
Durk Talsma
dee72d3434 * First test scenario to get user ATC interaction working. 2011-04-14 17:51:46 +02:00
Durk Talsma
c597f72158 Added some interface function to traffic manager related classes and added a traffic record that mimicks the users aircraft's traffic intentions. 2011-04-12 23:28:48 +02:00
Durk Talsma
493661a2dc Small step forward: Ensure that traffic information is appropriately updated. 2011-04-11 22:23:53 +02:00
Durk Talsma
819e6a04fa Some more work on AI/ATC interaction.
* Added an AIAircraft that is shadowing the user aircraft's behavior, in terms of AI / ATC interactions
* Set up a shadow AI FlightPlan that is used for tracking the user's aircraft.
2011-04-10 12:46:00 +02:00
Durk Talsma
e04d2f8ba9 Assigned an ATC controller to the user's Aircraft and change the comm1 radio frequency according to the frequency relevant to the current scenario. 2011-04-10 08:58:48 +02:00
Durk Talsma
3455079060 Added a simple dialog, just as proof-of-principle. 2011-04-06 19:48:54 +02:00
Durk Talsma
ff4004b261 Some further testing of the ATC Dialog infrastructure. 2011-04-05 18:13:11 +02:00
Durk Talsma
52b0baace1 adding changed files for previous commit. 2011-04-03 17:58:16 +02:00
Durk Talsma
48bb176e87 Start of adding interaction between the user controlled aircraft and AI traffic, by means of ATC.
* Started transfering the ATC infrastructure to be driven by it's own subsystem
* Changed the bahavior of the "'" key so that it is no longer driven by ATCDCL, but it now triggered by the new subsystem based ATC module.
2011-04-03 17:39:35 +02:00
Dave Luff
07d430c129 More fixes to the ATCDCL & ATC compilation
Rename ATC/atis.[ch]xx to ATC/atis_mgr.[ch]xx, to avoid confusingly
having 2 atis.cxx and 2 atis.hxx in the source tree.  Also fix a copy
and paste error in src/ATCDCL/CMakeLists.txt.
2010-12-29 18:52:39 +00:00
Dave Luff
d6fceb3fbc Remove conditional compilation of ATCDCL
This patch removes the conditional compilation of ATCDCL, compiling both
the old and new ATC systems.  The old system only provides ATIS, AWOS and
some dialog lookups, and hence should not conflict with the new system.
2010-12-28 18:23:40 +00:00
James Turner
a91ec5f9f9 Initial work on CMake build files, with considerable help from Olaf Flebbe. 2010-12-19 15:06:04 +00:00
Christian Schmitt
0a5e86f4e6 remove old .cvsignore files 2010-11-11 01:16:29 +01:00
James Turner
f5c2c630eb Remove references to old (unused) airways code 2010-10-20 17:54:16 +01:00
Durk Talsma
467513cbaf Major update to the AI code:
* New features
    - More realistic descent paths
    - Separation during descent and approach
    - ATC approach controller (still silent)
    - inbound traffic flow will start immediately
  * Bug fixes
    - Properly handle vertical speed when on ground
    - Departing aircraft now wait for taxiclerance before moving
    - Traffic manager waits for proper weather initialization
    - Fixed instabilities in the preferential runway usage code
    - Fine tuning of waypoint following code.
2010-08-29 19:25:34 +02:00
James Turner
f467ba3609 One more std::string fixup. 2010-08-09 09:16:28 +01:00
Frederic Bouvier
b60cf04c1e Fix MSVC compilation 2010-08-01 18:43:28 +02:00
Durk Talsma
40480eb2b4 Because the new code is a stub, it really ought to be doing nothing, not even print debug information. :-) 2010-08-01 16:24:11 +02:00
Durk Talsma
7c73c7d3e5 Added some stubs in the flightgear main code to eventually add a full, FGSubsystems based ATIS system that will serve as a replacement for the ATCDCL code. 2010-08-01 16:16:33 +02:00
Durk Talsma
92a69d6d0a Silence a debug message that was accidentally left open. 2010-08-01 16:13:52 +02:00
Durk Talsma
314f3c5718 Properly compile kln89 code without reliance on ATCDCL. 2010-07-31 13:35:22 +02:00
Frederic Bouvier
ab09078767 Disable ATCDCL and fix replacement layer 2010-07-31 09:25:17 +02:00
Durk Talsma
7313b8f1df - Trying to improve waypoint following. 2010-07-24 09:19:37 +02:00
Torsten Dreyer
2e6d7e111a gcc warning fixes 2010-06-26 21:24:46 +02:00
Durk Talsma
c64f195523 Just a tiny (cosmetic) change to get some hands on experience with git. 2010-05-11 21:15:23 +02:00
fredb
1df4cd3f8c setState doesn't return a value 2010-05-05 12:00:47 +02:00
durk
e004e43553 Expanded ATC communication between AI aircraft and Airport ground control. 2010-05-05 11:59:37 +02:00
Tim Moore
d35b8db13f Merge branch 'durk/traffic' 2010-04-25 23:07:16 +02:00
durk
0c522bee02 AI aircraft will need to switch frequencies before being able to request
push-back clearance.
2010-02-21 22:25:46 +01:00
Tim Moore
988a6771aa Merge branch 'durk/atcdcl-cond'
Conflicts:
	src/ATC/trafficcontrol.cxx
	src/Main/Makefile.am
2010-02-10 00:45:06 +01:00
durk
e54798a8e2 A couple of last-minute patched / bugfixes to mitigate the probability of collisions between user controlled aircraft and AI traffic.
* AI aircraft distance to user proximity detection works again (lat/lon were inverted).
  * The parking uses by the user aircraft is marked as such to prevent it being reused by an AI aicraft
  * AI aircraft won't receive permission for pushback until the user aircraft is at a fair distance.
2010-01-31 17:52:43 +01:00
durk
d8ae90801a Some additional changes to ensure that FlightGear at least compiles after configuring with --disable-atcdcl. Some substitution code is added in ATC/atcutils.cxx and ATC/atcutils.hxx. Note that the new code doesn't run properly yet. Instead, it is just meant to identify which parts need replacement. Getting that to work will be the next step. 2010-01-05 22:21:49 +01:00
durk
8114d1d899 Conditional compilation of ATCDCL module. Use --disable-atcdcl to try building flightgear without ATCDCL code. 2009-12-30 17:44:06 +01:00
Tim Moore
d838ef5f40 compilation fixes for gcc -Wall -Werror
Most are cosmetic, but the changes in the FGATCInstruction constructor
fix unitialized members.
2009-08-24 17:13:31 +02:00
fredb
19eab15f8e Remove few warnings 2009-05-18 12:24:17 +02:00
durk
c478cdd35f Allow the AI Traffic controller to set a transponder code. This code is
used in ATC chatter, and writted to the property, so it can -in principle-
be picked up by the radar.
2009-04-01 09:23:54 +02:00
durk
9cc92035b1 A set of additions related to allow the use of SID and STAR procedures.
The current code still has some rough edges, in particular memory still
needs to be deallocated where possible, and the actual use of the code
needs more testing. This code has been running without noticable problems,
so I think it's ready for some wider exposure. Detailed changes include:
- Finetuning of the SID/STAR data concept.
- Preloading of all SIDs, from one xml file.
- ATC determines which SID should be used and echoes this over the com1 or
  com2 radio.
2009-03-11 23:14:34 +01:00
durk
d24fe19914 One step further toward better integration of AI and ATC systems.
* Changed the runway XX. ATC message to actually report the real
   designated departure runway
 * In case of multiple active runways, select the one with a heading that is
   closest to the direction of the ultimate departure destination / lines up
   with the arrival path.
2009-02-16 00:56:44 +01:00
durk
916240693f Some further work toward adding more AI/ATC messages. This patch provides
some prepratory work for assigning different operations to different
frequencies. It also returns a stub for returning an ATIS message ID.
Currently, the ATIC information ID is hardcoded to "Sierra", which needs
to be replaced by a dynamic ID once ATIS services are fully integrated
with the new trafficcontrol code. At least, it's marginally more realistic
then the previous information XX. :-).
2009-02-10 00:22:16 +01:00
durk
66b5a7c53b Better support for multiple startup messages. 2008-11-16 13:43:44 +00:00
durk
301054204e James Turner: Improved runway management code:
- Runways are now part of an airport, instead of a separate list
 - Runways are no longer represented as a boring struct, but as a class
   of their own.
 -Improved runway access to unify various runway access methods.
2008-08-14 18:13:39 +00:00
ehofman
667e64e1eb - remove the SG_GLxxxx_H #defines, since OSG provides its own versions
- this exposed a bizarre issue on Mac where dragging in <AGL/agl.h> in
   extensions.hxx was pulling in all of Carbon to the global namespace
   - very scary. As a result, I now need to explicitly include CoreFoundation
   in fg_init.cxx.
 - change SG_USING_STD(x) to using std::x
2008-07-27 16:25:13 +00:00
durk
85ec807d97 Enable Radio #2. 2008-07-27 09:59:52 +00:00
ehofman
d9bfd5a425 This should apply, and everything should build cleanly, in isolation from the
SimGear change. It changes all the SG_xxxx to be the 'real' includes, and gets
rid of many #ifdef SG_HAVE_STD_INCLUDES. As an added bonus, rather than
replacing 'SG_USING_NAMESPACE(std)' with 'using namespace std', I just fixed
the small number of places to use std:: explicitly. So we're no longer polluting
the global namespace with the entire contents of std, in many cases.

There is one more 'mechanical' change to come - getting rid of SG_USING_STD(X),
but I want to keep that separate from everything else. (There's another
mechnical change, replacing <math.h> with <cmath> and so on *everywhere*, but
one step at a time)
2008-07-25 18:38:29 +00:00
fredb
dce2d5d7cd MSVC doesn't have a round function 2008-07-14 09:48:09 +00:00
durk
17c42deae1 Initial attempt to establish a better integration between AI and ATC code.
Various other patches that have been lingering around for a while:
 * Moved trafficcontrol.[ch]xx from the Airports directory to ATC, where
   it really belongs.
 * AI aircraft will request startup clearance, and ground control will
   approve.
 * Starting AI Aircraft will be pushed back to a predefined holding point
   on the ground network, and wait a while before taxiing out to the runway
2008-07-13 12:51:06 +00:00