JSBSim: Difference between revisions

From FlightGear wiki
Jump to navigation Jump to search
(20 intermediate revisions by 11 users not shown)
Line 6: Line 6:
== Overview ==
== Overview ==
JSBSim provides several different physics models which work together to calculate the overall vehicle dynamics.
JSBSim provides several different physics models which work together to calculate the overall vehicle dynamics.
* Mass Balance - This model uses weight (mass) to provide a force due to gravity and moments of inertia to damp changes in rotational velocity. Empty mass and inertia are specified, and point masses (which can have a shape and size) and fuel load are added in.
* [[JSBSim Mass and balance|Mass Balance]] - This model uses weight (mass) to provide a force due to gravity and moments of inertia to damp changes in rotational velocity. Empty mass and inertia are specified, and point masses (which can have a shape and size) and fuel load are added in.


* Ground Reactions - JSBSim has a fairly simple system for ground reactions. You can have structural contacts which are uni-directional or bogeys which act only in a given direction.  Both are modeled as spring and damper systems. Each bogey or structural contact provides a force on the vehicle when in contact with the ground. If the contact is not at the CG it also provides a rotating moment.
* [[JSBSim GroundReactions|Ground Reactions]] - JSBSim has a fairly simple system for ground reactions. You can have structural contacts which are uni-directional or bogeys which act only in a given direction.  Both are modeled as spring and damper systems. Each bogey or structural contact provides a force on the vehicle when in contact with the ground. If the contact is not at the CG it also provides a rotating moment.


* Propulsion - JSBSim models a variety of engine types using different methods. All engines provide a force along their X axis, and create moments if this force in not applied at the CG. The propeller and rotor thrusters also create turning moments.
* [[JSBSim Engines|Propulsion]] - JSBSim models a variety of engine types using different methods. All engines provide a force along their X axis, and create moments if this force in not applied at the CG. The propeller and rotor thrusters also create turning moments.


* Aerodynamics - JSBSim's aerodyamics are a blank slate. It is entirely up to the vehicle author to use valid formulas. The aerodynamic force is divided into Lift, Drag, and Side. You can also create Roll, Pitch and Yaw moments. In addition, if the aerodynamic force reference point is not coincident to the CoG the forces will create a hidden moment.
* [[JSBSim Aerodynamics|Aerodynamics]] - JSBSim's aerodyamics are a blank slate. It is entirely up to the vehicle author to use valid formulas. The aerodynamic force is divided into Lift, Drag, and Side. You can also create Roll, Pitch and Yaw moments. In addition, if the aerodynamic force reference point is not coincident to the CoG the forces will create a hidden moment.


* Buoyant forces - Lighter than air craft, i.e., Balloons, dirigibles and rigid airships, can be simulated with this model.
* [[JSBSim Buoyant forces|Buoyant forces]] - Lighter than air craft, e.g. gas balloons, pressure airships (e.g. blimps) and rigid airships, can be simulated with this model.


* External forces - If the aerodynamic section is too limiting, or you want to simulate glider tow ropes, catapults or other things, you can add forces at arbitrary points.
* [[JSBSim External forces|External forces]] - If the aerodynamic section is too limiting, or you want to simulate glider tow ropes, catapults or other things, you can add forces at arbitrary points.
 
* [[JSBSim Atmosphere|Atmosphere]] - JSBSim can be set up to use its own atmosphere model, or it can use an externally supplied model.  There are three turbulence models to chose from.
 
* [[JSBSim Systems|Systems]] - A JSBSim system can implement any sort of model. This is a very useful facility as you can have any number of systems referenced from the aircraft configuration file. JSBSim Systems can be used to model items required in the FDM, and non-flight items, such electrics, hydraulics.  


* Atmosphere
* Gravity
* Gravity


Line 25: Line 28:
{| style="margin-top:0.1em; margin-bottom:0.1em; margin-left:2em; padding:2px; font-size:95%; text-align:left; background: transparent;"
{| style="margin-top:0.1em; margin-bottom:0.1em; margin-left:2em; padding:2px; font-size:95%; text-align:left; background: transparent;"
|-
|-
| [[File:1rightarrow.png|15px]] ''See [http://jsbsim.sourceforge.net/readme-aeromatic.html Aeromatic Readme] for the main article about this subject.''
| [[File:1rightarrow.png|15px]] ''See [[Aeromatic]] for the main article about this subject.''
|}
|}


Line 36: Line 39:
== Related content ==
== Related content ==
* [[JSBSim Aerodynamics|JSBSim Aerodynamics notes]]
* [[JSBSim Aerodynamics|JSBSim Aerodynamics notes]]
* [[Aero input and outputs|JSBSim Aerodynamics input and outputs]]
* [[JSBSim GroundReactions]]
* [[JSBSim GroundReactions]]
* [[JSBSim Engines|JSBSim Engine configuration]]
* [[JSBSim Engines|JSBSim Engine configuration]]
* [[JSBSim Thrusters|JSBSim Thruster configuration]]
* [[JSBSim Thrusters|JSBSim Thruster configuration]]
* [[JSBSim Fuel System]]
* [[Howto: Write a fuel system in JSBSim]]
* [[DATCOM|DATCOM, lets you input many more variables than Aeromatic]]
* [[Howto: Setup winch and aerotowing for JSBSim-aircraft]]
* [[Howto: methods to replace the NASAL code with JSBSim code]]


== External links ==
== External links ==
* [http://www.jsbsim.org/ JSBSim web site]
* [http://www.jsbsim.org/ JSBSim web site]
* [http://www.jsbsim.org/JSBSimReferenceManual.pdf JSBSim Reference Manual] (in-work, PDF)
* [https://github.com/JSBSim-Team/jsbsim JSBSim site on github]
* [http://jsbsim.sourceforge.net/JSBSim/annotated.html JSBSim annotated reference] – Though meant for programmers, it also document the JSBSim xml markup language.
* {{cite web
| url = http://jsbsim.sf.net/JSBSimReferenceManual.pdf
| title = JSBSim – An open source, platform-independent, flight dynamics model in C++ (a.k.a. JSBSim Reference Manual v1.0)
| author = Jon S. Berndt and the JSBSim Development Team
| date = 9 July 2011  <!-- Manual states 6/9/2011 probably in American notation. -->
| format = pdf
| accessdate = 15 January 2014
}} (WIP)
* {{cite web
| url = http://jsbsim.sourceforge.net/CreatingJSBSimAircraft.pdf
| title = A Journal for the Creation and Refinement of a JSBSim Aircraft Flight Model
| author = Jon S. Berndt
| format = pdf
| accessdate = 15 January 2014
}} Detailed report on an aircraft FDM improvement process.
* [http://jsbsimcommander.sf.net/ JSBSim Commander] (beta)
* [http://jsbsimcommander.sf.net/ JSBSim Commander] (beta)
* [http://jsbsim.sourceforge.net/aeromatic2.html Aeromatic]
* [http://jsbsim.sourceforge.net/aeromatic2.html Aeromatic 0.95 (online)]
* [http://build.flightgear.org:8080/job/JSBSim-win/ws/dist/bin/aeromatic.exe AeromatiC++ 3.3.8 (Windows)]
* [http://build.flightgear.org:8080/job/JSBSim/ws/dist/bin/aeromatic AeromatiC++ 3.3.8 (Linux)]
* [http://www.holycows.net/datcom/ DATCOM+]
* [http://www.holycows.net/datcom/ DATCOM+]
[[es:JSBSim]]


{{FDM}}
{{FDM}}


{{JSBSim}}
{{JSBSim}}

Revision as of 09:29, 10 August 2018

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.

Overview

JSBSim provides several different physics models which work together to calculate the overall vehicle dynamics.

  • Mass Balance - This model uses weight (mass) to provide a force due to gravity and moments of inertia to damp changes in rotational velocity. Empty mass and inertia are specified, and point masses (which can have a shape and size) and fuel load are added in.
  • Ground Reactions - JSBSim has a fairly simple system for ground reactions. You can have structural contacts which are uni-directional or bogeys which act only in a given direction. Both are modeled as spring and damper systems. Each bogey or structural contact provides a force on the vehicle when in contact with the ground. If the contact is not at the CG it also provides a rotating moment.
  • Propulsion - JSBSim models a variety of engine types using different methods. All engines provide a force along their X axis, and create moments if this force in not applied at the CG. The propeller and rotor thrusters also create turning moments.
  • Aerodynamics - JSBSim's aerodyamics are a blank slate. It is entirely up to the vehicle author to use valid formulas. The aerodynamic force is divided into Lift, Drag, and Side. You can also create Roll, Pitch and Yaw moments. In addition, if the aerodynamic force reference point is not coincident to the CoG the forces will create a hidden moment.
  • Buoyant forces - Lighter than air craft, e.g. gas balloons, pressure airships (e.g. blimps) and rigid airships, can be simulated with this model.
  • External forces - If the aerodynamic section is too limiting, or you want to simulate glider tow ropes, catapults or other things, you can add forces at arbitrary points.
  • Atmosphere - JSBSim can be set up to use its own atmosphere model, or it can use an externally supplied model. There are three turbulence models to chose from.
  • Systems - A JSBSim system can implement any sort of model. This is a very useful facility as you can have any number of systems referenced from the aircraft configuration file. JSBSim Systems can be used to model items required in the FDM, and non-flight items, such electrics, hydraulics.
  • Gravity

Aeromatic

1rightarrow.png See Aeromatic for the main article about this subject.

Aeromatic can be used to create aircraft configuration files for use with the JSBSim Flight Dynamics Model. The configuration file format produced using this utility is version 2.0, and is incompatable with older formats because of an extensive overhaul of JSBSim's XML code that occured in December of 2004. Aeromatic is a online web tool, written in PHP, not a standalone program.

You will need at least three files for a complete configuration, an aircraft file containing information on the aircraft's mass properties, propulsion, flight control, aerodynamic properties, etc., an engine file describing the engine(s), and a thruster file. Thrusters can be rotors, propellers, nozzles or direct. All turbine engines use the default "direct" thruster. Piston, electric and turboprops need rotors or propellers. Rockets need nozzles. Aeromatic will generate plausible configuration files for your aircraft using some simplifying assumptions. Note that Aeromatic allows only one type of engine to be defined per aircraft. If you want to mix engine types you'll have to make the necessary changes by hand.

Be careful when tweaking the resulting configuration file, because it's easy to make changes that will result in an unflyable FDM. Common errors are: moving things around so they are not left/right symmetrical, and moving the CG too far away from the AeroRP.

Related content

External links