Flight Sim Software
Problems with Current flight simulators
- You cant talk to it. i.e. Use keyboard decoders, etc. (very ugly!)
- Not Modular, very Monolithic.
- No Communications.
Solution
NextGen flight Simulator.
- The system must be modular
- Should be open architecture. (APIs, Interfaces, etc.)
- Should use standard protocols.
- Each Box / Task / System could start in software and then be converted to hardware.
- Each Box / Task / System should talk/listen to other modules.
- The system should be channelized, for private messages.
- The system must talk & listen on Ethernet UDP
see AFDX (Avionics Full Duplex) Switched Ethernet.
Check out this white paper. - The system could use any of the following flight
dynamics models.- JSBSim
- YASim
- UIUC
- LaRCsim
or roll your own.
- The system will use Flightgear’s scenery.
- Pick any plane and put it into a standard
3d model. - The system could have multiple users i.e..
pilot, co, wiso, etc. - The systems could ‘play’ together, i.e..
formation flying, or good guy, bad guy.
Pilot/ Auto pilot are really two systems:
- The pilot and the controls: Stick, throttles, Rudder, Gear, etc.
- Auto pilot system (optional)
Flight Dynamics Model
This box does calculations on:
- The Aircrafts Frame of Reference
which is a 3-D Cartesian (orthogonal right-handed) coordinate
system (x, y, z), which is centered (origin) at the rear of
the aircraft. Where:- ROLL-axis passes through the propeller and tail.
(Positive to the nose) - PITCH-axis passes though wing tip to wing tip.
(Positive to right wing) - YAW-axis is a vertical axis, and is perpendicular
to both the ROLL-axis, and PITCH-axis. (positive is down)
which contains a hierarchical model of the aircraft. In this
way parameter data inputs can drive individual parts, such
as control surfaces. Also parts may be attached to other
parts in such a way that movement of one part will cause
movement in anoter. - ROLL-axis passes through the propeller and tail.
- The Local Frame of Referencewhich is
a 3-D Cartesian (orthogonal right-handed) coordinate system
(x, y, z), whose origin is defined to be the origin of the
Aircraft’s Frame of Refence- North-axis
- East-axis
- Down-axis
- all so factors such as wind, baro, temp,
rain, lift, drag, thrust, control surfaces, etc. will factor
into this module. - When the aircraft is flying North (0 roll,
0 pitch, 0 yaw) both Reference Frames will line up. - To transform points in the aircraft (AFR)
to the LFR you must use matrix math. - To find out what attitude the aircraft is in
you need to to perform integration on PITCH, ROLL, YAW- velocity += acceleration * Dt
- value += velocity * Dt
THIS MODULE Will run @ 100/fps
updated 9APR08
Navigation Model
This box does calculations on:
- Earth Frame of Reference, which is a
3-D Cartesian (orthogonal right-handed) coordinate system (x, y, z),
and whose origin is defined to be the center of the Earth.- Axis of Rotation (x) passes through the North Pole,
Center of the Earth, South Pole. (Positive is North) - Axis of Prime Meridian (z) passes through the Prime
Meridian at the equator and pass out the other side.
(Positive is Prime Meridian) - Axis of (y) passes 90 deg from the Prime
Meridian at the equator and passes out the other side.
(Positive is East)
the Earth Frame of Reference is encluded here for
referance only and only is used when you are off world or
in space. So we will skip this step and convert
directly to Geocentric (Spherical) Frame of Referance from
the LFR. - Axis of Rotation (x) passes through the North Pole,
- Tangential Plane, which is a
3-D Cartesian (orthogonal right-handed) coordinate system
(x, y, z), parallel to the LRF and is tangent to the
surface of the earth. - Geocentric Frame of Referencewhich is a spherical coordinate system, who’s origin is at the center of the earth.
- Distance from Center of Earth to Aircraft:
Ρ = √(x2+y2+z2) - Latitude of Aircraft on Earth: arcsin(x/Ρ)
- Longitude of Aircraft on Earth: arcsin(z/√(y2+z2))
- Distance from Center of Earth to Aircraft:
- Geodetic Frame of Reference
which is a ellipsoid model of the earth, World Geodetic System (WGS84).
this box does caululations Dead Reckoning Nav Model
this box does calculations on- lat-new = (cos(heading)*Dt*V) + lat-cur
- lon-new = ((sin(heading)*Dt*V)/cos(lat-cur))
+ lon-cur
THIS MODULE will run @ 10/fps
updated 9APR08
Navigation Management / Displays
needs the following information when starting (maybe more)
- Lat, Lon, Alt (from the Flight Dynamics and Nav Models
- Temp
- Barometer
- Time (Zulu) most likely a time stamp, UNIX time would be good..
The time should be derived from an NTP Server(Network Time Protocol)
This would sync all boxes in the world to the same time. - Navigation can use ellipsoid models such as WGS84, or others.
- Navigation can be both entered or displayed in both LAT/LONG or MILL-GRID. The time should be derived from an NTP Server(Network Time Protocol)
This would sync all boxes in the world to the same time.
Outputs to ADI, HSI, etc.
Out The Window(s) Sub-System
The Display Frame of Referance is a 3-D Cartesian (orthogonal right-handed) corrdinate system ( x, y, z ), and whose origin is defined as the pilot’s eye which is a vector in the Aircraft Frame of Rreferance.
- Up (x) is defined as Up and Down or in the Aircrafts Yaw Axis (positive up)
- Right (y) is defined in the Aricrafts Pitch Axis (right wing positive )
- In (z) is defined along the Aircrafts Roll Axis ( Forward is positive )
21MAY08
Radios / RadarBuild the Radio Stack of your dreams. Turn the knob, or click the mouse.
This could be its own processor. It has four functions:1. Voice Messages should be VOIP
2. It passes both simulated, and live messages between you the pilot and other planes, tower, control, etc.
3. It filters messages out that are not tuned-in or out-of-range
4. It passes messages to HSI, DME, etc for flying the needlesOut the window stuffOut the window should be its own processor, it just listens to system messages. Therefore you could have lots of displays and one computer.. No more computers just for displays.
To get a complete functional system where you never run out of CPU power, the simulator program should to be built up of several subprograms which can be disconnected to save CPU resources.
This means that you have a menu in where you can choose which part of the program that should be active, you can select which task each PC performs.
Master: Here is all weather and flight data, and it is here that the flight is conducted.
Panels: This PC uses only CPU resources to show the plane’s gauges/panels.
Scenery: This or these PCs generate the visual surrounding terrain to be seen from the cockpit.
I/O: This PC controls all inputs, outputs and sound.
If you select all the functions in the menu then you can simulate on a single PCs.
Instructor: Instructor PC were you can simulate faults, push back, ground power etc.
Dont forget that clouds and AI traffic should be synchronized on all PCs
All PCs are connected via network.