> For the complete documentation index, see [llms.txt](https://theiotlearninginitiative.gitbook.io/bitol/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://theiotlearninginitiative.gitbook.io/bitol/virtual-drone-solution/flight-code/px4.md).

# PX4

> The Professional Autopilot. PX4 powers any vehicle from racing and cargo drones through to ground vehicles. The powerful and uniquely flexible core of the Dronecode Platform is open-source, and available for you to use and customise as needed. [Homepage](http://px4.io/)
>
> PX4 is used in a wide range of use-cases, from consumer drones to industrial applications. It is also the leading research platform for drones and has been successfully applied to under water vehicles and boats.

* [PX4 Flight Core Presentation](https://wiki.dronecode.org/_media/d03-r.px4_overview_-_lorenz_meier.pdf)

Components

* Open Source
* Full stack
  * Flight Stack
  * Middleware
  * ESC firmware
  * Bootloader
  * Operating System
    * NuttX OS
* Flexible
* World Class Devs
* Membership++
* Community

## Technology

Complete Autopilot Solution

* PX4 Flight Stack: The flight control system (autopilot).
* [MAVLink](https://mavlink.io/en/): A highly efficient, lightweight and blazing fast robotics communication toolkit.
* [QGroundControl](http://qgroundcontrol.com/): Modern, mobile and desktop user interface to configure the system and execute flights.

Built for Aerial Robotics

* Optical Flow and Visual Inertial Odometry
* Avoidance
* Planning

Great User Experience

> QGroundControl is a state of the art ground control station

Simulation

* AirSim
* ROS Gazebo Simulator
* jMAVSim
* X-Plane
* DroneKit-SITL
* SITL Simulator (Software in the Loop)
* Hardware In The Loop (HITL) simulation

Hardware

* Flight Controllers
  * Pixhawk-compatible flight controllers, including the 3DR Pixhawk and Pixhawk Mini
  * Qualcomm Snapdragon Flight
  * Intel® Aero Ready to Fly Drone
* SIK Telemetry Radio
  * HopeRF HM-TRP
  * 3DR radio
  * RFD900 ultra long range radio
* SAPOG ESC
* Optical Flow Sensor

Broad Airframe Support

> PX4 supports anything from a multi rotor to a fixed wing, and all mix forms of VTOL planes in-between.

Links

* [PX4 Pro Drone Autopilot Homepage](http://px4.io/)&#x20;
* [PX4 User Guide](https://docs.px4.io/en/)
* [PX4 Development Guide](https://dev.px4.io/en/)
* [PX4 Pro Drone Autopilot Wikipedia](https://en.wikipedia.org/wiki/PX4_autopilot)
* [PX4 Pro Drone Autopilot Github Source code](https://github.com/px4)
* [PX4 Seminar](https://www.slideshare.net/narnars0/02-px4-seminaroam)
* [PX4 Github](https://github.com/PX4/Firmware)

## Installation, Scripting Levels

1. <https://github.com/PX4/Devguide/blob/master/build_scripts/ubuntu_sim_common_deps.sh>
2. <https://github.com/PX4/Devguide/blob/master/build_scripts/ubuntu_sim.sh>
3. <https://github.com/PX4/Devguide/blob/master/build_scripts/ubuntu_sim_nuttx.sh>
