Skip to content

JSBSim Simulation


This simulator is community supported and maintained. It may or may not work with current versions of PX4.

See Toolchain Installation for information about the environments and tools supported by the core development team.

JSBSim is a open source flight simulator ("flight dynamics model (FDM)") that runs on Microsoft Windows, Apple Macintosh, Linux, IRIX, Cygwin (Unix on Windows), etc. Its features include: fully configurable aerodynamics and a propulsion system that can model complex flight dynamics of an aircraft. Rotational earth effects are also modeled into the dynamics.

Supported Vehicles: Plane, Quadrotor, Hexarotor


See Simulation for general information about simulators, the simulation environment, and simulation configuration (e.g. supported vehicles).

Installation (Ubuntu Linux)


These instructions were tested on Ubuntu 18.04

  1. Install the usual Development Environment on Ubuntu LTS / Debian Linux.

  2. Install a JSBSim release from the release page:

    dpkg -i JSBSim-devel_1.1.0.dev1-<release-number>.bionic.amd64.deb
  3. (Optional) FlightGear may (optionally) be used for visualisation. To install FlightGear, refer to the FlightGear installation instructions).

Running the Simulation

JSBSim SITL simulation can be conveniently run through a make command as shown below:

cd /path/to/PX4-Autopilot
make px4_sitl jsbsim

This will run both the PX4 SITL instance and the FlightGear UI (for visualization). If you want to run without the FlightGear UI, you can add HEADLESS=1 to the front of the make command.

The supported vehicles and make commands are listed below (click on the links to see the vehicle images).

Standard Planemake px4_sitl jsbsim_rascal
Quadrotormake px4_sitl jsbsim_quadrotor_x
Hexarotormake px4_sitl jsbsim_hexarotor_x

The commands above launch a single vehicle with the full UI. QGroundControl should be able to automatically connect to the simulated vehicle.

Running JSBSim with ROS

To run JSBSim with ROS:

  1. Clone the px4-jsbsim-bridge package into your catkin workspace:

    cd <path_to_catkin_ws>/src
    git clone
  2. Build the jsbsim_bridge catkin package:

    catkin build jsbsim_bridge


    You must have already set MAVROS in your workspace (if not, follow the instructions in the MAVROS installation guide).

  3. So start JSBSim through ROS using the launch file as shown:

    roslaunch jsbsim_bridge px4_jsbsim_bridge.launch

Further Information