PX4 Autopilot Software
Go to file
Silvan Fuhrer 1e56d9c219 Rework flaps/spoilers logic
- remove deprecated actuator_controls[INDEX_FLAPS/SPOILERS/AIRBRAKES]
- use new topic normalized_unsigned_setpoint.msg (with instances flaps_setpoint
and spoilers_setpoint) to pass into control allocation
- remove flaps/spoiler related fields from attitude_setpoint topic
- CA: add possibility to map flaps/spoilers to any control surface
- move flaps/spoiler pitch trimming to CA (previously called DTRIM_FLAPS/SPOILER)
- move manual flaps/spoiler handling from rate to attitude controller

FW Position controller: change how negative switch readings are intepreted
for flaps/spoilers (considered negative as 0).

VTOL: Rework spoiler publishing in hover

- pushlish spoiler_setpoint.msg in the VTOL module if in hover
- also set spoilers to land configuration if in Descend mode

Allocation: add slew rate limit of 0.5 to flaps/spoilers configuration change

Instead of doing the flaps/spoilers slew rate limiting in the FW Position Controller
(which then only is applied in Auto flight), do it consistently over all flight
modes, so also for manual modes.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-03-06 22:43:41 +01:00
.ci ci: build thepeach FCC-K1 & FCC-R1 2023-02-20 21:56:08 -05:00
.clusterfuzzlite Add clusterfuzzlite to fuzz in CI 2022-01-07 10:17:12 -05:00
.devcontainer ci: update container versions to 2021-09-08 2021-09-09 09:43:15 +02:00
.github workflows: add CubeOrange+ to CI build 2023-02-13 22:36:22 -05:00
.vscode remove some vscode settings 2023-02-06 17:25:36 -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 drivers: remove RoboClaw 2023-03-06 09:43:01 -05:00
Tools Subscribe to vehicle odometry in GZ Bridge 2023-03-06 09:27:35 -05:00
boards Changes to allow the commander module to be built and run on Qurt (#21186) 2023-03-06 09:49:07 -05:00
cmake cmake: fix and update packaging 2023-01-18 22:51:12 -05:00
integrationtests/python_src/px4_it Spelling errors (#19935) 2022-07-27 14:33:16 +10:00
launch rename 'gazebo' simulation to 'gazebo-classic' (#20936) 2023-01-15 11:36:12 -05:00
msg Rework flaps/spoilers logic 2023-03-06 22:43:41 +01:00
platforms posix server: changed the method of checking and setting the server file lock (#21243) 2023-03-06 09:55:57 -05:00
posix-configs fw_path_navigation: Remove explicit L1 mentioning. 2023-02-09 17:51:55 +01:00
src Rework flaps/spoilers logic 2023-03-06 22:43:41 +01:00
test rename 'gazebo' simulation to 'gazebo-classic' (#20936) 2023-01-15 11:36:12 -05:00
test_data lib/rc: Fix DSM2/DSMX guessing routine and DSM range checking (#18270) 2022-04-13 17:29:08 -04:00
validation Spelling errors (#19935) 2022-07-27 14:33:16 +10:00
.ackrc ack: add .ackrc to ignore the Documentation directory 2016-04-11 11:23:01 +02:00
.clang-tidy .clang-tidy: exclude some warnings 2022-07-20 01:14:04 -04:00
.gitattributes delete systemcmds/mixer 2022-09-09 09:14:09 -04:00
.github_changelog_generator Changelog generator default params 2017-12-30 11:27:57 +01:00
.gitignore NuttX push jlink-nuttx into cmake and enable CONFIG_DEBUG_TCBINFO by default 2023-01-12 09:05:26 -05:00
.gitmodules rename 'gazebo' simulation to 'gazebo-classic' (#20936) 2023-01-15 11:36:12 -05:00
.travis.yml Update CI to use the main branches. 2022-09-07 20:03:19 -04:00
.ycm_extra_conf.py update C++ standard (c++11 -> c++14) 2020-01-21 21:49:10 -05:00
CMakeLists.txt cmake: fix and update packaging 2023-01-18 22:51:12 -05: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
Firmware.sublime-project boards new split VENDOR_MODEL naming convention 2018-11-26 14:40:14 -08:00
Jenkinsfile Jenskinsfile: use nuttx container as emscripten requires xz to be installed 2022-10-26 14:54:48 -04:00
Kconfig VOXL2 board updates and new Kconfig option for ROOTFSDIR 2023-01-30 12:03:40 -05:00
LICENSE Update current year in LICENSE 2023-01-21 12:57:27 -05:00
Makefile rename 'gazebo' simulation to 'gazebo-classic' (#20936) 2023-01-15 11:36:12 -05:00
README.md Update README: Maintainers, Boards, Roadmap (#21030) 2023-02-28 19:06:09 +01:00
appveyor.yml appveyor: switch to Cygwin toolchain v0.9 2020-03-24 13:31:41 +00:00
eclipse.cproject boards new split VENDOR_MODEL naming convention 2018-11-26 14:40:14 -08:00
eclipse.project boards new split VENDOR_MODEL naming convention 2018-11-26 14:40:14 -08: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 publc 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