JSBSim

JSBSim

Infobox_Software
name = JSBSim
developer = JSBSim build team
latest_release_version = 0.9.13
latest_release_date = 20 January 2007
operating_system or environments = Windows, Linux, Cygwin, Mac OS-X, FreeBSD, Solaris or IRIX
genre = Cross-platform Engineering Flight simulation
license = LGPL
website = [http://www.jsbsim.org www.jsbsim.org]

JSBSim is an open source Flight Dynamics Model (FDM) software library that models the flight dynamics of an aerospace vehicle. The library has been incorporated into the flight simulation packages FlightGear and OpenEaagles. It can also be called from a small standalone program to create a batch simulation tool. JSBSim has been in development and use since 1996, and has been built on all of the most popular platforms in use today including those running Linux, Macintosh, and Microsoft Windows operating systems. JSBSim is written in C++ and uses XML configuration files.

History and Overview

JSBSim was conceived in 1996 as a lightweight, data-driven, non-linear, six degree-of-freedom (6DoF), batch simulation application aimed at modeling flight dynamics and control for aircraft. Since the earliest versions, JSBSim has benefited from the open source development environment it has grown within, and the wide variety of users that have contributed ideas for its continued improvement. It has been incorporated into larger, full-featured, flight simulation applications and architectures (known examples are FlightGear and OpenEaagles), and has been used as a batch simulation tool in industry and academia.

As an example of ease of use, the following code illustrates how JSBSim could be called by a small program, with execution being controlled by a script:


#include int main(int argc, char **argv){ JSBSim::FGFDMExec FDMExec; bool result = true; FDMExec.LoadScript(argv [1] ); while (result) result = FDMExec.Run();}

The above application works when built with the JSBSim library, and it only needs to be supplied with an aircraft configuration file, an initial conditions file, and a script file that controls execution. All of these files are defined using XML (eXtensible Markup Language). JSBSim is perhaps the first flight dynamics model to employ XML to describe an aircraft for simulation. An example of an aerodynamic definition is shown below:

aero/qbar-area fcs/flap-pos-deg 0.0 0.0 10.0 0.007 20.0 0.012 30.0 0.018

Input Output Features

When running JSBSim in a standalone mode using the basic driver program, one only needs to supply a script name. Control inputs can be supplied to JSBSim from within the script.

If the aircraft configuration file contains an input port specification, the user can also telnet into JSBSim. From within the telnet interface, values of many parameters internal to JSBSim can be both read and set. The simulation itself can also be paused and resumed. The telnet feature, of course, is most valuable for running JSBSim in real-time. The sample standalone application included with the JSBSim distribution supports running in soft real-time.

JSBSim can be directed to output logically grouped sets of data to the console (screen), to a file, or to a socket. Output can simultaneously be directed out through any number of channels, where each channel can contain any set of data or single specific parameter, can be directed towards any file or socket (or even the console), and can be output at any rate.

A utility included with JSBSim takes the whole data file output by JSBSim and creates a complete set of plots in PDF format, using the open source plotting tool, gnuplot.

Flight Control Features

JSBSim allows a flight control system or autopilot to be constructed from individual components. The suite now includes: filters, conditional switch, summer, sensor, and gain (variable and static) components. Additionally, there is a function component that can be defined by the user.

A sample flight control system block diagram is seen below in the flight control system editor for the separate open source project, JSBSim Commander (currently in the early stages of development, but functional).

Aerodynamics Modeling

JSBSim uses a coefficient build-up method for modeling the aerodynamic characteristics of aircraft. Any number of forces and moments (or none at all) can be defined for each of the axes. Each force/moment specification includes a definition comment, and a specification of the function that calculates the force or moment. The function definition can be a simple value, or a complicated function that includes trigonometric and logarithmic functions, and a one-, two-, or three-dimensional table lookup.

Propulsion Modeling

JSBSim includes generic piston/propeller, rocket/nozzle, turbine, and turboprop models. The models are not detailed engineering models, but they allow engines to be added easily. Any number of engines can be added to an aircraft model, at any location and orientation, and different engine types can be mixed.

Equations of Motion

JSBSim is a full, six degree-of-freedom flight dynamics model. It provides the capability to specify initial conditions, and to trim the aircraft in several ways prior to startup. Specific integrators can be chosen for propagating each of the translational and rotational velocities and positions. Currently, 3rd order Adams Bashforth is the default.

Extensibility

JSBSim is designed to be extensible. The key objects (engines, flight control components) are implemented as base classes with a simple interface. Specific, new engines can be modeled by creating new classes derived from the base classes. New flight control components can be created in the same manner.

Notable Uses

JSBSim is the default flight model used with the FlightGear open source simulator. Along with FlightGear, JSBSim is used to drive the motion base simulator at the University of Naples in Italy. JSBSim is included as a driving application for the OpenEaagles simulation environment. JSBSim has been used to model the flight of rockets (from sounding rockets to larger launch vehicles). It has been used to model the flight of UAVs—including the ARES vehicle designed to fly in the Martian atmosphere. It has been used as part of an air traffic control study. JSBSim has been used together with MATLAB and Simulink, has been compiled as a DLL, and has been ported to C#. The C# port is out of date and is no longer publicly available.

Future Plans

Development continues on JSBSim itself. Additional tools that work with JSBSim are also emerging. A freely available tool called DATCOM+ (a derivative of Digital Datcom) outputs an aerodynamic specification directly in JSBSim-ML format (the XML aircraft file format). JSBSim Commander is under development as an editor for creating and modifying JSBSim models.

External links

* [http://www.jsbsim.org JSBSim ] Main project web site on SourceForge
* [http://jsbsimcommander.sf.net JSBSim Commander ] An editor for JSBSim files (beta)
* [http://www.jsbsim.org/wiki Project wiki ]


Wikimedia Foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Look at other dictionaries:

  • FlightGear — Saltar a navegación, búsqueda FlightGear Desarrolladora(s) Equipo original de FlightGear y su gran comunidad a nivel mundial …   Wikipedia Español

  • FlightGear — Concepteur Curt Olson Début du projet 1996 Licence …   Wikipédia en Français

  • Flight Gear — FlightGear FlightGear Concepteur Curt Olson Début du projet 1996 Licence …   Wikipédia en Français

  • Flightgear — Concepteur Curt Olson Début du projet 1996 Licence …   Wikipédia en Français

  • FlightGear — Infobox Software name = FlightGear caption = Boeing 787 with Continental Airlines livery in version 1.0.0 collapsible = author = developer = FlightGear Developers Contributors released = July 17, 1997 latest release version = 1.0.0 latest release …   Wikipedia

  • USAF Digital DATCOM — The United States Air Force Stability and Control Digital DATCOM is a computer program that implements the methods contained in the USAF Stability and Control DATCOM to calculate the static stability, control and dynamic derivative… …   Wikipedia

  • Flight dynamics — is the science of air and space vehicle orientation and control in three dimensions. The three critical flight dynamics parameters are the angles of rotation in three dimensions about the vehicle s center of mass, known as pitch , roll and yaw… …   Wikipedia

  • FGFS — FlightGear Eine Hawker Hunter über San Francisco Basisdaten Entwickler: Community Aktuelle Version …   Deutsch Wikipedia

  • FlightGear — Ein Airbus A320 in FlightGear Basisdaten Entwickler ursprünglich David Murr, Curt Olson, Michael Basler, Eric …   Deutsch Wikipedia

  • Flight Gear — FlightGear Eine Hawker Hunter über San Francisco Basisdaten Entwickler: Community Aktuelle Version …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”