PositionControl: update comment about the order of thrust and position mc_pos_control: reset setpoints to NAN if required MulticopterLandDetector: consider to be landed if vehicle is not armed mc_pos_control: initialize landing struct with landed mc-pos-ctrl: adjust thrust-setpoint and yaw during ground-contact/maybe-landed without capturing that information within vehicle-local-position-setpoint topic because that information does not belong to user intention PositionControl: set local position/velocity setpoint to NAN if not used in the control pipeline mc-pos-ctrl: Fill vehicle_local_position_setpoint_s structure as follow: The message contains setpoints where each type of setpoint is either the input to the PositionController or was generated by the PositionController and therefore corresponds to the PositioControl internal states (states that were generated by P-PID). Example: If the desired setpoint is position-setpoint, _local_pos_sp will contain position-, velocity- and thrust-setpoint where the velocity- and thrust-setpoint were generated by the PositionControlller. If the desired setpoint has a velocity-setpoint only, then _local_pos_sp will contain valid velocity- and thrust-setpoint, but the position-setpoint will remain NAN. Given that the PositionController cannot generate a position-setpoint, this type of setpoint is always equal to the input to the PositionController. mc_pos_control: switch to designated initializer for landed It's less error prone because it produces an error on every discrepancy.
PX4 Drone Autopilot
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.
- Official Website: http://px4.io (License: BSD 3-clause, LICENSE)
- Supported airframes (portfolio):
- Multicopters
- Fixed wing
- VTOL
- many more experimental types (Rovers, Blimps, Boats, Submarines, etc)
- Releases: Downloads
PX4 Users
The PX4 User Guide explains how to assemble supported vehicles and fly drones with PX4. See the forum and chat if you need help!
PX4 Developers
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
- Project: Founder - Lorenz Meier, Architecture: Daniel Agar
- Communication Architecture
- UI / UX
- Multicopter Flight Control
- VTOL Flight Control
- Fixed Wing Flight Control
- Racers - Matthias Grob
- OS / drivers - David Sidrane
- UAVCAN / Industrial - Pavel Kirienko
- State Estimation - James Goppert, Paul Riseborough
- Vision based navigation
- Obstacle Avoidance - Martina Rivizzigno
- Snapdragon
- Intel Aero
- Raspberry Pi / Navio - Beat Kueng
- Airmind MindPX / MindRacer - Henry Zhang
- RTPS/ROS2 Interface - Nuno Marques
See also About Us (px4.io) and the contributors list (Github).
Supported Hardware
This repository contains code supporting these boards:
- Snapdragon Flight
- Intel Aero
- Raspberry PI with Navio 2
- Parrot Bebop 2
- FMUv2.x
- FMUv3.x Pixhawk 2
- FMUv4.x
- FMUv5.x (ARM Cortex M7)
- Gumstix AeroCore (only v2)
- Airmind MindPX V2.8
- Airmind MindRacer V1.2
- Bitcraze Crazyflie 2.0
Additional information about supported hardware can be found in PX4 user Guide > Autopilot Hardware.
Project Roadmap
A high level project roadmap is available here.