Progress On and Usage of the Open Source Flight Dynamics Model Software Library, JSBSim

Jon Berndt, Agostino De Marco

AIAA Modeling and Simulation Technologies Conference · 2009 · 31 citations · 4 references

Concepts

Abstract

JSBSim is an open source software (OSS) flight dynamics model that can be incorporated into a larger flight simulation architecture (such as FlightGear, or OpenEaagles). It can also be run as a standalone batch application when linked with a stub routine. Since 2004, when JSBSim was formally introduced at the Modeling and Simulation Technology conference, many advances have taken place, and a variety of uses have been demonstrated. This paper will present updates on project status, an overview of XML configuration file format enhancements, details on recent improvements and design choices, and some basic examples of use. A discussion about interfacing JSBSim with Matlab as a Mex-Function or Simulink S-Function is included, followed by a deeper look at a representative usage case study. I. Introduction JSBSim is a high-fidelity, 6-DoF (Degree-of-Freedom), general purpose, flight dynamics model software library written in the C++ programming languages. The library routines propagate the simulated state of an aircraft given inputs provided via a script or issued from a larger simulation application. The inputs can be processed through arbitrary flight control laws, with the outputs generated being used to control the aircraft. Aircraft control and other systems, engines, etc. are all defined in various files in a codified XML format. The library consists of approximately 70,000 text lines in 185 files. The total lines of program code is estimated at about 50,000 lines. Begun in 1997, JSBSim has an international team of active developers and user contributors. As a design goal, JSBSim has attempted to find a balance between high simulation fidelity and data file simplicity, so the task of simulating the flight of any aerospace vehicle can be done with the minimum specific input possible. Most code changes now are a result of minor code tweaks, or the addition of a few new features, as the user base provides inputs. The code has evolved in response to the way it is used, similar to natural selection. But, in some ways, development has shifted from compiled C++ code towards the creation of common XML data files. At the time of this writing, JSBSim is releasing candidate source code archives for version 1.0. The numbering of versions is somewhat arbitrary, but it signals – roughly – that the application has been used reliably for some time in a number of applications, that documentation 1 has reached a level where it is fairly thorough and useful, and the feature set is well defined and mature.

References

4