Mathias Frohlich:
I have now the FDM side of an aircraft carrier set up. The implementation uses a local cache of the scene graph to do intersection tests. This can then be done per gear/hook/lauchbar. Also the required aircraft carrier hardware will show up in this cache and can provide the required information. The cache itself is ATM integrated into the FGInterface class. New are functions to query a ground contact point below a given location in the earth. Together with that contact point the surface normal and the velocity of that contact surface are returned. The locations, normals and velovities are cartesian vectors given in the wgs84 coordinate system (origin in the earths center, x axis towards lat=lon=0, y axis towards lat=0, lon=90, z axis towards the north pole). A function to test catching a wire. The test is done by intersection of the quad where the hook moved during the past timestep with the lines representing the wires. When this test was sucessfull, we can query for the locations/velocities of the wires mount points. When the wire is no longer needed it should be released. Catapults are also stored as special lines in the scenegraph. There is a function which returns the nearest catapult line and its current locations/velocities. To build up the cache you need to call a function to let the cache know where and how big the cache must be. I have also a preliminary implementation to make use of that stuff from within JSBSim together with an aircraft which I have used for development. To play with that, you have to install the patches/new files described above. The hook can be extended with the H key, retracted with h. Start flightgear with fgfs --lat=37.688 --lon=-122.683 --heading=180 --altitude=71 and you will be placed on the carriers deck rolling backwards wrt the carrier. Then apply the breaks and wait until the aircraft settled down past being not trimmed. Now taxi on the deck to one of the catapults. When the nose wheel is above the first few meters of the catapult (please taxi exactly there). Apply the breaks and leave them applied. lower the flaps to half and give full throttle. Pull a little at your stick and release the breaks. As the breaks are released the aircraft is launched. Then you can cruise a bit, and again try to land on the nimitz. When you land, do not forget to extend the hook with 'H'. If you like it, you can then taxi to the catapult ... :) The physical model is not yet ready, but the api between the FDM and flightgear has prooven to be sufficient for that task.
This commit is contained in:
parent
f06b96f7ff
commit
fa045bf0bf
1 changed files with 31 additions and 0 deletions
31
Data/AI/nimitz_demo.xml
Normal file
31
Data/AI/nimitz_demo.xml
Normal file
|
@ -0,0 +1,31 @@
|
|||
<?xml version="1.0"?>
|
||||
|
||||
<PropertyList>
|
||||
|
||||
<scenario>
|
||||
|
||||
<entry>
|
||||
<type>carrier</type>
|
||||
<model>Models/Geometry/Nimitz/carrier.xml</model>
|
||||
<latitude>37.688</latitude>
|
||||
<longitude>-122.683</longitude>
|
||||
<speed>30.0</speed>
|
||||
<heading>180</heading>
|
||||
|
||||
<wire>wire-1</wire>
|
||||
<wire>wire-2</wire>
|
||||
<wire>wire-3</wire>
|
||||
<wire>wire-4</wire>
|
||||
|
||||
<catapult>cat-1</catapult>
|
||||
<catapult>cat-2</catapult>
|
||||
<catapult>cat-3</catapult>
|
||||
<catapult>cat-4</catapult>
|
||||
|
||||
<solid>deck</solid>
|
||||
<solid>round-down</solid>
|
||||
</entry>
|
||||
|
||||
</scenario>
|
||||
|
||||
</PropertyList>
|
Loading…
Reference in a new issue