forked from Archive/PX4-Autopilot
7229ec2a37
This commit is an attempt to fix a race condition happening on takeoff between the land detector and the multicopter position controller. Previously, an auto-takeoff leads to the following events: 1. A takeoff setpoint is given. 2. The thrust setpoint spikes because we don't enter smooth takeoff yet. 3. The land detector detects a takeoff because of the high thrust. 4. The position controller sees the landed state transition and initiates the smooth takeoff. Thrust goes back down. 5. Depending on control gains the takeoff is successful or fails if the smoothing takes too long which causes thrust to be too low, so the land detector detects land again. The two obvious problems with this are: - The intermittent spike. - The failed takeoff because of the smoothing leads to a delay.. With this change, the logic for a takeoff detection is moved from the land detector to the position controller. The events are now: 1. A takeoff setpoint is given. 2. The position controller detects the takeoff setpoint and initiates the smooth takeoff. 3. As thrust ramps up, the land detector detects the take off. In the same way, we now detect the intent to takeoff in manual, altitude, control, position control in the position controller instead of in the land detector. |
||
---|---|---|
.github | ||
Debug | ||
Documentation | ||
Images | ||
ROMFS | ||
Tools | ||
cmake | ||
integrationtests | ||
launch | ||
mavlink/include/mavlink | ||
msg | ||
nuttx-configs | ||
platforms/nuttx/NuttX | ||
posix-configs | ||
src | ||
test_data | ||
.ackrc | ||
.clang-tidy | ||
.gitignore | ||
.gitmodules | ||
.travis.yml | ||
.ycm_extra_conf.py | ||
CMakeLists.txt | ||
CODE_OF_CONDUCT.md | ||
CONTRIBUTING.md | ||
CTestConfig.cmake | ||
Firmware.sublime-project | ||
LICENSE.md | ||
Makefile | ||
README.md | ||
Vagrantfile | ||
circle.yml | ||
eclipse.cproject | ||
eclipse.project | ||
package.xml |
README.md
PX4 Pro Drone Autopilot
This repository holds the PX4 Pro 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.md)
- Supported airframes:
- Multicopters
- Fixed wing
- VTOL
- many more experimental types (Rovers, Blimps, Boats, Submarines, etc)
- Releases: Downloads
Please refer to the user documentation and user forum for flying drones with the PX4 flight stack.
Weekly Dev Call
The PX4 Dev Team syncs up on a weekly dev call.
- Wednesday 17:00 Central European Time, 11:00 Eastern Time, 08:00 Pacific Standard Time
- Uber conference (dial-in or web client)
- The agenda is announced in advance on the PX4 Discuss
- Issues and PRs may be labelled devcall to flag them for discussion
Developers
Maintenance Team
- Project / Founder - Lorenz Meier
- 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 - Vilhjalmur Vilhjalmsson
- Snapdragon
- Intel Aero
- Raspberry Pi / Navio - Beat Kueng
- Parrot Bebop - Michael Schaeuble
- Airmind MindPX / MindRacer - Henry Zhang
- RTPS/ROS2 Interface - Vicente Monge
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
- Pixracer
- Pixhawk 3 Pro
- FMUv5.x (ARM Cortex M7, future Pixhawk)
- STM32F4Discovery (basic support) Tutorial
- Gumstix AeroCore (v1 and v2)
- Airmind MindPX V2.8
- Airmind MindRacer V1.2
- Bitcraze Crazyflie 2.0
Project Milestones
The PX4 software and Pixhawk hardware (which has been designed for it) has been created in 2011 by Lorenz Meier.