FlightAxis Link Q&A

Jeremy Babbar-Sebens

Staff member
How do I connect my Flight Controller?
The FlightAxis toolkit enables Hardware- and Software-in-the-Loop testing for flight controllers.
The toolkit allows RealFlight to communicate using SOAP. Using the ExchangeData SOAP method, the flight controller sends a control vector to RealFlight. In response, RealFlight sends a state vector. After processing, the controller sends an updated control vector and receives a state update, forming a feedback loop as this cycle repeats. A flowchart is provided at the end of this document.

What state data is sent?
The state data sent by RealFlight includes:
Simulation time (s)
Airspeed (m/s)
Altitude, ASL (m)
Altitude, AGL (m)
Ground Speed, (m/s)
Pitch, Roll, Yaw rates (deg/s)
Orientation (Azimuth, Inclination, Roll; deg)
Orientation (quaternion)
Position (x, y, z; m) - can be converted to Latitude and Longitude
Velocity, world-referenced (x,y,z; m/s)
Velocity, body-referenced (x,y,z; m/s)
Acceleration, world-referenced (x,y,z; m/s^2)
Acceleration, body-referenced (x,y,z; m/s^2)
Wind velocity (x,y,z; m/s)
Propeller RPM
Main Rotor RPM
Battery Voltage (V)
Battery Current (A)
Remaining Battery Capacity (mAh)
Fuel Remaining (oz)
Is Locked (bool)
Has Lost Components (bool)
Engine is Running (bool)
Is Touching Ground (bool)
Current Status

How do I send control data?
The plugin accepts up to 8 channels of servo input, scaled from -1 to 1.
Additional SOAP methods are included to:
Reset the simulation
Allow external input
Return manual control to the RealFlight transmitter

What kind of performance can I expect?
RealFlight’s performance will be dependent upon the system used to run it, and the communication frame rate corresponds to the overall performance. On an i7-equipped desktop with a mid-range graphics card, we can reliably operate at 200Hz or better.

Can I simulate my own vehicle?
Yes! Creating a model for RealFlight has two stages: visuals and physics. The visual model is built using our KEMax toolchain (http://www.knifeedge.com/KEmax/). Vehicle physics are defined using RealFlight's internal Vehicle Editor. By specifying the geometry, mass, etc. of the various aircraft components, you create a predictive model of the vehicle’s behavior.

Can Knife Edge Software help me make a simulated vehicle?
Absolutely! We can provide consulting services to assist you in learning this process, or even to create your vehicle for you.

Do I need flight test or wind tunnel data?
No - the FlightAxis physics system is predictive, and simulates each component of the vehicle in every simulation cycle. We find that a simulated model made from careful measurements will match the flight characteristics of the physical model.

Can the vehicle change configuration in flight?
Yes. Tilt-rotor, tilt-wing, and other variable geometries are handled gracefully by the FlightAxis component system. Since each component is simulated in real time, any configuration changes are automatically included in physics calculations.

I have my own Flight Dynamics Model. Can I use RealFlight as a visualization engine only?
Not at this time. In the current generation, the FDM and visualization are inseparable. Future versions may be capable of this, but we do not have a release date at this time.

Can I use RealFlight for visualization of telemetry logs?
Not directly (see the question above). However, RealFlight can record simulated flights internally, allowing playback within the simulator. This will not be synchronized with your telemetry data, unfortunately.

Can I use my own terrain?
Not in the current version. RealFlight uses real terrain data from the Sierra Nevada region in Southern Spain. This makes it possible to test terrain-dependent software, just not at your home range (unless you happen to be operating within that region).

Hardware/Software-in-the-Loop flowchart
The following flowchart shows the basic structure for HIL/SITL testing with an external controller. These are the steps you will need to incorporate into your software in order to test against the RealFlight FDM and terrain.

Is there an existing implementation?
Yes. The ArduPilot project has a standing implementation that works well. Please see tridge's post here for links to the code and a sample packet.

Is there formal documentation?
We will provide additional documentation here as soon as possible.
Last edited: