Overview of the Septentrio GNSS Driver
mainsbf/ directory, which manages message definitions, block IDs, and a parser specifically designed for the messages required by PX4.repository·main·Indexed 11 days ago
https://github.com/px4/px4-autopilotAn open-source autopilot stack for drones and unmanned vehicles, including multirotors, fixed-wing, and rovers. It features a modular architecture using uORB middleware, supports NuttX, Linux, and macOS, and provides integration with MAVLink and ROS 2. The system supports SITL simulation and a wide range of autopilot boards, including the Pixhawk ecosystem.
sbf/ directory, which manages message definitions, block IDs, and a parser specifically designed for the messages required by PX4.Depending on your needs, several tools are available for analyzing PX4 flight logs:
| Tool | Type | Best For |
|---|---|---|
| Data Comets | Interactive Web/Local | Encoding flight data onto flight paths and brushing/filtering by time. |
| FlightPlot | Desktop (Java) | Cross-platform GUI for .ulg, .px4log, and .bin formats. |
| Flight Review | Web-based | Easy sharing and interactive plots via a browser. |
| Foxglove | Desktop | Native ULog support with 3D, Map, and Plot panels. |
| MAVGCL | Desktop (Java) | Real-time in-flight analysis or offline ULog analysis with XY analysis. |
| PlotJuggler | Desktop | Deep analysis of all uORB topics and time-series data. |
| PX4Tools | Python/Jupyter | Advanced plotting and sharing via iPython/Jupyter notebooks. |
| pyulog | Python CLI | Parsing, extracting info, and converting ULog to CSV/KML. |
| Roboto | Cloud Platform | Automated detection of issues (vibration, GPS, etc.) and AI-assisted debugging. |
PX4 supports several community-maintained simulators that offer varying levels of physical and visual realism.
Warning: These simulators are not maintained, tested, or supported by the core PX4 development team. They may not be compatible with all current PX4 versions. For officially supported environments, refer to the Toolchain Installation guide.
| Simulator | Description | Supported Vehicles |
|---|---|---|
| AirSim | Cross-platform, physically and visually realistic. Resource intensive. | Iris (MultiRotor and QuadRotor X) |
| FlightGear | Physically and visually realistic; simulates weather (thunderstorms, snow, rain, etc.) and atmospheric flows. Supports multi-vehicle simulation. | Plane, Autogyro, Rover |
| JMAVSim | Simple multirotor/quad simulator. (Note: Replaced by Gazebo in the core toolchain). | Quad |
| JSBSim | Advanced flight dynamics models based on wind tunnel data. | Plane, Quad, Hex |
| PteroSim | Proprietary high-fidelity simulation (Unreal Engine 5 + JSBSim). Uses Simulator MAVLink API with lockstep synchronization. | Multicopter (Free), Fixed-wing/VTOL/Helicopter (Paid) |
| RotorPy | Python-based multirotor environment with aerodynamic forces, sensor noise, and a Gymnasium interface for research. | Quad |
| X-Plane | Commercial simulator using blade element theory. Uses the px4xplane bridge plugin. | Plane, Multicopter, VTOL |
Note: Gazebo and SIH are the officially supported simulators.
The PX4 ROS 2 Control Interface is a C++ library (with Python bindings) designed to simplify controlling PX4 from ROS 2. It allows developers to create and dynamically register ROS 2-based modes that appear as native PX4 modes in Ground Control Stations (GCS).
Key capabilities include:
Note: This interface is currently Experimental (as of PX4 v1.15). While the core architecture for defining modes is stable, some setpoint types are still under development and the API is not fully documented.
The Holybro Pixhawk Jetson Baseboard is an integrated hardware solution that combines a Pixhawk flight controller and an NVIDIA Orin-series computer (Orin NX or Orin Nano) into a single package. It is designed to simplify the setup of a companion computer for PX4.
Key features include:
The Amovlab Flycore is an STM32H743-based flight controller designed for PX4-powered vehicles. It features dual onboard IMUs (Bosch BMI088 and InvenSense ICM-42688P), an onboard MS5611 barometer, and an integrated UM982 GNSS module on the internal GPS1 interface.
Key Specifications:
TELEM1, TELEM2, TELEM3).GPS1 is internal to the UM982 module; GPS2 is an external connector).I2C1, I2C4).Note: This board does not have a PX4IO coprocessor and has no onboard magnetometer. If a magnetometer is required, it must be connected via an external I2C interface.
Sky-Drones AIRLink (Artificial Intelligence & Remote Link) is an integrated avionics system designed for drone manufacturers. It combines a flight control computer (autopilot), an AI mission computer, and an LTE/5G connectivity module into a single unit to support advanced features like computer vision, obstacle avoidance, and remote broadband workflows.
Core Components:
PX4 can trigger cameras connected directly to flight controller outputs (PWM, GPIO, or Seagull MAP2 via PWM) using MAVLink commands during missions or via a Ground Control Station (GCS).
Key features include:
CAMERA_TRIGGER MAVLink message containing the image sequence number and a timestamp. This is critical for aerial surveying, multi-camera synchronization, or visual-inertial navigation (VIO).Recommendation: For best results, use MAVLink cameras that support the MAVLink Camera Protocol v2.
The CORVON 743v2 is a high-performance flight controller based on the STM32H743VIH6 (Cortex-M7, 480 MHz). It features dual high-grade IMUs (ICM-42688P and BMI088), a high-precision BMP581 barometer, and an iSentek IST8310 magnetometer.
Key connectivity features include:
Gazebo is an open-source robotics simulator used for PX4 SITL (Software In The Loop) simulations. It supersedes the older Gazebo Classic and is the primary supported Gazebo version for Ubuntu 22.04 and newer.
Supported Vehicles:
PX4 development is intended for software developers and hardware integrators. The development workflow covers several key areas:
If you are simply building an existing airframe or flying a standard PX4 vehicle, these development guides are not required.