JSBSim Simulation
WARNING
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)
INFO
These instructions were tested on Ubuntu 18.04
Install the usual Development Environment on Ubuntu LTS / Debian Linux.
Install a JSBSim release from the release page:
shdpkg -i JSBSim-devel_1.1.0.dev1-<release-number>.bionic.amd64.deb
(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:
sh
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).
Vehicle | Command |
---|---|
Standard Plane | make px4_sitl jsbsim_rascal |
Quadrotor | make px4_sitl jsbsim_quadrotor_x |
Hexarotor | make 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:
Clone the
px4-jsbsim-bridge
package into your catkin workspace:shcd <path_to_catkin_ws>/src git clone https://github.com/Auterion/px4-jsbsim-bridge.git
Build the
jsbsim_bridge
catkin package:shcatkin build jsbsim_bridge
You must have already set MAVROS in your workspace (if not, follow the instructions in the MAVROS installation guide).
:::
So start JSBSim through ROS using the launch file as shown:
shroslaunch jsbsim_bridge px4_jsbsim_bridge.launch