PX4 Autopilot Software
Go to file
PX4 BuildBot bebeb9c53d Update submodule rosidl to latest Mon Mar 25 12:39:32 UTC 2024
- rosidl in PX4/Firmware (374f256584): https://github/commit/7790c70717e09c003711f6f65015666c223fc283
    - rosidl current upstream: https://github/commit/f47565cf5f0edfc535e5278503a6a0bce772f1e5
    - Changes: https://github/compare/7790c70717e09c003711f6f65015666c223fc283...f47565cf5f0edfc535e5278503a6a0bce772f1e5

    f47565c 2023-08-21 Mike Purvis - Add rosidl_find_package_idl helper function (#754)
1fab290 2023-08-21 Chris Lalancette - 4.3.1
bf4cce3 2023-08-21 Chris Lalancette - Changelog.
b854136 2023-08-10 Chris Lalancette - Set the C++ version to 17. (#761)
89c6713 2023-07-25 Emerson Knapp - Fix same named types overriding typesources (#759)
c72b454 2023-07-20 Chen Lihui - update comment (#757)
17944a6 2023-07-11 Chris Lalancette - 4.3.0
261cb04 2023-07-11 Chris Lalancette - Changelog.
187210e 2023-06-21 Stefan Fabian - Fixed visibility control file added to wrong header list variable. (#755)
69efae0 2023-06-12 Shane Loretz - Remove unused splitting of .srv files in CMake (#753)
fcf7b5f 2023-06-07 Chris Lalancette - 4.2.0
1225630 2023-06-07 Chris Lalancette - Changelog.
1228f54 2023-06-07 Emerson Knapp - Fix deprecation warnings for message constants (#750)
e3b71ec 2023-05-15 Stefan Fabian - Generate typesupport declarations for actions, messages and services (#703)
a5cc3ec 2023-05-11 Chris Lalancette - 4.1.1
9302d87 2023-05-11 Chris Lalancette - Changelog.
5df46c3 2023-05-10 Alexis Paques - Fix IWYU for clangd in C and C++ (#742)
3853866 2023-05-01 Chris Lalancette - Mark _ in benchmark tests as unused. (#741)
e1af9be 2023-04-28 Yadunund - 4.1.0
a57baea 2023-04-11 Chris Lalancette - 4.0.0
8e82d7a 2023-04-11 Chris Lalancette - Changelog.
7583b95 2023-04-11 methylDragon - Dynamic Subscription (BONUS: Allocators): rosidl (#737)
6da8660 2023-04-08 methylDragon - Runtime Interface Reflection: rosidl (#728)
7cbb116 2023-04-06 Emerson Knapp - Type Description Codegen and Typesupport  (rep2011) (#727)
8b27b67 2023-03-29 Emerson Knapp - Copied type_description_interfaces structs (rep2011) (#732)
eac4201 2023-03-24 Emerson Knapp - Expose type hash on typesupports (rep2011) (#729)
10d0883 2023-03-24 Chris Lalancette - Fix a few more clang analysis problems. (#731)
ce20c11 2023-03-22 Alexander Hans - Return reference from BoundedVector::emplace_back (#730)
b93c518 2023-03-15 Emerson Knapp - Type hash in interface codegen (rep2011) (#722)
383ca18 2023-03-14 Yadu - Fix warnings (#726)
2024-03-25 12:39:32 +00:00
.ci Jenkinsfile: correct typo, missing comma 2024-02-27 13:32:46 +01:00
.clusterfuzzlite Add clusterfuzzlite to fuzz in CI 2022-01-07 10:17:12 -05:00
.devcontainer vscode add Makefile extension to recommended and devcontainer.json 2023-09-25 12:26:29 -04:00
.github boards: new ARK Septentrio GPS CAN node(ark_septentrio-gps) 2024-02-09 10:26:09 -05:00
.vscode boards: new ARK Septentrio GPS CAN node(ark_septentrio-gps) 2024-02-09 10:26:09 -05:00
Documentation msg ROS2 compatibility, microdds_client improvements (timesync, reduced code size, added topics, etc), fastrtps purge 2022-10-19 19:36:47 -04:00
ROMFS ekf2-mag_auto: always use mag 3D after takeoff 2024-02-27 12:33:43 -05:00
Tools VOXL2: HRT updates for synchronization with Qurt time (#22881) 2024-03-22 15:24:51 -04:00
boards VOXL2: HRT updates for synchronization with Qurt time (#22881) 2024-03-22 15:24:51 -04:00
cmake cmake: fix kconfig cache when setting to 0 or n 2023-10-18 15:30:36 -04:00
integrationtests/python_src/px4_it integrationtests: MAVROS mission_test.py relax yaw estimate STD check for now (#22061) 2023-09-08 15:27:39 -04:00
launch rename 'gazebo' simulation to 'gazebo-classic' (#20936) 2023-01-15 11:36:12 -05:00
msg uavcan: publish new can interface status as uorb topic (#22873) 2024-03-20 12:38:47 -04:00
platforms VOXL2: HRT updates for synchronization with Qurt time (#22881) 2024-03-22 15:24:51 -04:00
posix-configs fw pos control: revert name until we delineate this module a bit more (#21442) 2023-04-13 17:00:04 +02:00
src Update submodule rosidl to latest Mon Mar 25 12:39:32 UTC 2024 2024-03-25 12:39:32 +00:00
srv Add srv/ folder and srv/VehicleCommand.srv 2023-11-14 11:29:17 -05:00
test MAVSDK tests: shorten Position, Altitude control flights 2024-02-22 15:29:13 +01:00
test_data lib/rc: Fix DSM2/DSMX guessing routine and DSM range checking (#18270) 2022-04-13 17:29:08 -04:00
validation GotoControl: add go-to control interface to mc position controller 2023-11-30 17:16:02 +01:00
.clang-tidy .clang-tidy: exclude some warnings 2022-07-20 01:14:04 -04:00
.editorconfig add `.editorconfig` for consistent code style across editors (#22916) 2024-03-21 20:56:20 -04:00
.gitattributes delete systemcmds/mixer 2022-09-09 09:14:09 -04:00
.gitignore .gitignore: ignore generate top level log/ folder (colcon) 2023-03-20 11:06:12 -04:00
.gitmodules VOXL2: HRT updates for synchronization with Qurt time (#22881) 2024-03-22 15:24:51 -04:00
CMakeLists.txt events: pass relative paths plus base path to source parser script (#22551) 2023-12-18 09:33:53 +01:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md 2017-07-30 19:18:49 +02:00
CONTRIBUTING.md Docs are now in user guide and main (#19977) 2022-08-01 11:39:39 +10:00
CTestConfig.cmake gather test results 2017-01-02 10:14:41 +01:00
Jenkinsfile Jenkinsfile: add 'git fetch' to failsafe target 2023-11-15 14:23:06 +01:00
Kconfig Add Zenoh pico support 2023-10-18 15:30:36 -04:00
LICENSE Update current year in LICENSE 2023-01-21 12:57:27 -05:00
Makefile Jenkins compile remove obsolete target nxp_fmurt1062-v1_default 2023-11-22 11:16:22 -05:00
README.md README.md spelling mistake corrected 2023-10-19 10:01:47 -04:00
SECURITY.md Security Vulnerability Reporting 2023-11-06 09:32:16 +01:00
package.xml initial minimal PX4_ROS2 platform and px4_ros2_default build (#20689) 2022-12-08 23:03:44 -05:00

README.md

PX4 Drone Autopilot

Releases DOI

Nuttx Targets SITL Tests

Discord Shield

This repository holds the PX4 flight control solution for drones, with the main applications located in the src/modules directory. It also contains the PX4 Drone Middleware Platform, which provides drivers and middleware to run drones.

PX4 is highly portable, OS-independent and supports Linux, NuttX and MacOS out of the box.

Building a PX4 based drone, rover, boat or robot

The PX4 User Guide explains how to assemble supported vehicles and fly drones with PX4. See the forum and chat if you need help!

Changing code and contributing

This Developer Guide is for software developers who want to modify the flight stack and middleware (e.g. to add new flight modes), hardware integrators who want to support new flight controller boards and peripherals, and anyone who wants to get PX4 working on a new (unsupported) airframe/vehicle.

Developers should read the Guide for Contributions. See the forum and chat if you need help!

Weekly Dev Call

The PX4 Dev Team syncs up on a weekly dev call.

Note The dev call is open to all interested developers (not just the core dev team). This is a great opportunity to meet the team and contribute to the ongoing development of the platform. It includes a QA session for newcomers. All regular calls are listed in the Dronecode calendar.

Maintenance Team

Note: This is the source of truth for the active maintainers of PX4 ecosystem.

Sector Maintainer
Founder Lorenz Meier
Architecture Daniel Agar / Beat Küng
State Estimation Mathieu Bresciani / Paul Riseborough
OS/NuttX David Sidrane
Drivers Daniel Agar
Simulation Jaeyoung Lim
ROS2 Beniamino Pozzan
Community QnA Call Ramon Roche
Documentation Hamish Willee
Vehicle Type Maintainer
Multirotor Matthias Grob
Fixed Wing Thomas Stastny
Hybrid VTOL Silvan Fuhrer
Boat x
Rover x

See also maintainers list (px4.io) and the contributors list (Github). However it may be not up to date.

Supported Hardware

Pixhawk standard boards and proprietary boards are shown below (discontinued boards aren't listed).

For the most up to date information, please visit PX4 user Guide > Autopilot Hardware.

Pixhawk Standard Boards

These boards fully comply with Pixhawk Standard, and are maintained by the PX4-Autopilot maintainers and Dronecode team

Manufacturer supported

These boards are maintained to be compatible with PX4-Autopilot by the Manufacturers.

Community supported

These boards don't fully comply industry standards, and thus is solely maintained by the PX4 public community members.

Experimental

These boards are nor maintained by PX4 team nor Manufacturer, and is not guaranteed to be compatible with up to date PX4 releases.

Project Roadmap

Note: Outdated

A high level project roadmap is available here.

Project Governance

The PX4 Autopilot project including all of its trademarks is hosted under Dronecode, part of the Linux Foundation.

Dronecode Logo Linux Foundation Logo