diff --git a/README.md b/README.md index 8353f3add6..bf4d74bb76 100644 --- a/README.md +++ b/README.md @@ -1,62 +1,109 @@ -# PX4 Drone Autopilot +

+ + PX4 Autopilot + +

-[![Releases](https://img.shields.io/github/release/PX4/PX4-Autopilot.svg)](https://github.com/PX4/PX4-Autopilot/releases) [![DOI](https://zenodo.org/badge/22634/PX4/PX4-Autopilot.svg)](https://zenodo.org/badge/latestdoi/22634/PX4/PX4-Autopilot) +

+ The autopilot stack the industry builds on. +

-[![Build Targets](https://github.com/PX4/PX4-Autopilot/actions/workflows/build_all_targets.yml/badge.svg?branch=main)](https://github.com/PX4/PX4-Autopilot/actions/workflows/build_all_targets.yml) [![SITL Tests](https://github.com/PX4/PX4-Autopilot/workflows/SITL%20Tests/badge.svg?branch=master)](https://github.com/PX4/PX4-Autopilot/actions?query=workflow%3A%22SITL+Tests%22) +

+ Releases + DOI + Build Targets + Discord +

-[![Discord Shield](https://discordapp.com/api/guilds/1022170275984457759/widget.png?style=shield)](https://discord.gg/dronecode) +--- -This repository holds the [PX4](http://px4.io) flight control solution for drones, with the main applications located in the [src/modules](https://github.com/PX4/PX4-Autopilot/tree/main/src/modules) directory. It also contains the PX4 Drone Middleware Platform, which provides drivers and middleware to run drones. +## About -PX4 is highly portable, OS-independent and supports Linux, NuttX and MacOS out of the box. +PX4 is an open-source autopilot stack for drones and unmanned vehicles. It supports multirotors, fixed-wing, VTOL, rovers, and many more experimental platforms from racing quads to industrial survey aircraft. It runs on [NuttX](https://nuttx.apache.org/), Linux, and macOS. Licensed under [BSD 3-Clause](LICENSE). -* Official Website: http://px4.io (License: BSD 3-clause, [LICENSE](https://github.com/PX4/PX4-Autopilot/blob/main/LICENSE)) -* [Supported airframes](https://docs.px4.io/main/en/airframes/airframe_reference.html) ([portfolio](https://px4.io/ecosystem/commercial-systems/)): - * [Multicopters](https://docs.px4.io/main/en/frames_multicopter/) - * [Fixed wing](https://docs.px4.io/main/en/frames_plane/) - * [VTOL](https://docs.px4.io/main/en/frames_vtol/) - * [Autogyro](https://docs.px4.io/main/en/frames_autogyro/) - * [Rover](https://docs.px4.io/main/en/frames_rover/) - * many more experimental types (Blimps, Boats, Submarines, High Altitude Balloons, Spacecraft, etc) -* Releases: [Downloads](https://github.com/PX4/PX4-Autopilot/releases) +## Why PX4 -## Releases +**Modular architecture.** PX4 is built around [uORB](https://docs.px4.io/main/en/middleware/uorb.html), a [DDS](https://docs.px4.io/main/en/middleware/uxrce_dds.html)-compatible publish/subscribe middleware. Modules are fully parallelized and thread safe. You can build custom configurations and trim what you don't need. -Release notes and supporting information for PX4 releases can be found on the [Developer Guide](https://docs.px4.io/main/en/releases/). +**Wide hardware support.** PX4 runs on a wide range of [autopilot boards](https://docs.px4.io/main/en/flight_controller/) and supports an extensive set of sensors, telemetry radios, and actuators through the [Pixhawk](https://pixhawk.org/) ecosystem. -## Building a PX4 based drone, rover, boat or robot +**Developer friendly.** First-class support for [MAVLink](https://mavlink.io/) and [DDS / ROS 2](https://docs.px4.io/main/en/ros2/) integration. Comprehensive [SITL simulation](https://docs.px4.io/main/en/simulation/), hardware-in-the-loop testing, and [log analysis](https://docs.px4.io/main/en/log/flight_log_analysis.html) tools. An active developer community on [Discord](https://discord.gg/dronecode) and the [weekly dev call](https://docs.px4.io/main/en/contribute/). -The [PX4 User Guide](https://docs.px4.io/main/en/) explains how to assemble [supported vehicles](https://docs.px4.io/main/en/airframes/airframe_reference.html) and fly drones with PX4. See the [forum and chat](https://docs.px4.io/main/en/#getting-help) if you need help! +**Vendor neutral governance.** PX4 is hosted under the [Dronecode Foundation](https://www.dronecode.org/), part of the Linux Foundation. Business-friendly BSD-3 license. No single vendor controls the roadmap. +## Supported Vehicles -## Changing Code and Contributing + + + + + + + +
+ + Multicopter
+ Multicopter +
+
+ + Fixed Wing
+ Fixed Wing +
+
+ + VTOL
+ VTOL +
+
+ + Rover
+ Rover +
+
-This [Developer Guide](https://docs.px4.io/main/en/development/development.html) 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. +…and many more: helicopters, autogyros, airships, submarines, boats, and other experimental platforms. These frames have basic support but are not part of the regular flight-test program. See the full airframe reference. -Developers should read the [Guide for Contributions](https://docs.px4.io/main/en/contribute/). -See the [forum and chat](https://docs.px4.io/main/en/#getting-help) if you need help! +## Quick Start +```bash +git clone https://github.com/PX4/PX4-Autopilot.git --recursive +cd PX4-Autopilot +make px4_sitl +``` -## Weekly Dev Call +> [!NOTE] +> See the [Development Guide](https://docs.px4.io/main/en/development/development.html) for toolchain setup and build options. -The PX4 Dev Team syncs up on a [weekly dev call](https://docs.px4.io/main/en/contribute/). +## Documentation & Resources -> **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](https://www.dronecode.org/calendar/). +| Resource | Description | +| --- | --- | +| [User Guide](https://docs.px4.io/main/en/) | Build, configure, and fly with PX4 | +| [Developer Guide](https://docs.px4.io/main/en/development/development.html) | Modify the flight stack, add peripherals, port to new hardware | +| [Airframe Reference](https://docs.px4.io/main/en/airframes/airframe_reference.html) | Full list of supported frames | +| [Autopilot Hardware](https://docs.px4.io/main/en/flight_controller/) | Compatible flight controllers | +| [Release Notes](https://docs.px4.io/main/en/releases/) | What's new in each release | +| [Contribution Guide](https://docs.px4.io/main/en/contribute/) | How to contribute to PX4 | +## Community -## Maintenance Team +- **Weekly Dev Call** — open to all developers ([Dronecode calendar](https://www.dronecode.org/calendar/)) +- **Discord** — [Join the Dronecode server](https://discord.gg/dronecode) +- **Discussion Forum** — [PX4 Discuss](https://discuss.px4.io/) +- **Maintainers** — see [`MAINTAINERS.md`](MAINTAINERS.md) +- **Contributor Stats** — [LFX Insights](https://insights.lfx.linuxfoundation.org/foundation/dronecode) -See the latest list of maintainers on [MAINTAINERS](MAINTAINERS.md) file at the root of the project. +## Contributing -For the latest stats on contributors please see the latest stats for the Dronecode ecosystem in our project dashboard under [LFX Insights](https://insights.lfx.linuxfoundation.org/foundation/dronecode). For information on how to update your profile and affiliations please see the following support link on how to [Complete Your LFX Profile](https://docs.linuxfoundation.org/lfx/my-profile/complete-your-lfx-profile). Dronecode publishes a yearly snapshot of contributions and achievements on its [website under the Reports section](https://dronecode.org). +We welcome contributions of all kinds — bug reports, documentation, new features, and code reviews. Please read the [Contribution Guide](https://docs.px4.io/main/en/contribute/) to get started. -## Supported Hardware +## Governance -For the most up to date information, please visit [PX4 User Guide > Autopilot Hardware](https://docs.px4.io/main/en/flight_controller/). +The PX4 Autopilot project is hosted by the [Dronecode Foundation](https://www.dronecode.org/), a [Linux Foundation](https://www.linuxfoundation.org/) Collaborative Project. Dronecode holds all PX4 trademarks and serves as the project's legal guardian, ensuring vendor-neutral stewardship — no single company owns the name or controls the roadmap. The source code is licensed under the [BSD 3-Clause](LICENSE) license, so you are free to use, modify, and distribute it in your own projects. -## Project Governance - -The PX4 Autopilot project including all of its trademarks is hosted under [Dronecode](https://www.dronecode.org/), part of the Linux Foundation. - -Dronecode Logo -
 
+

+ + Dronecode Logo + +

diff --git a/docs/.vitepress/config.mjs b/docs/.vitepress/config.mjs index e9190be018..c12b4e27ef 100644 --- a/docs/.vitepress/config.mjs +++ b/docs/.vitepress/config.mjs @@ -254,7 +254,63 @@ export default defineConfig({ head.push(["link", { rel: "canonical", href: canonicalUrlToAdd }]); } - // Add any other custom head tags you might want later + // Build version-aware site URL for OG tags + const branch = process.env.BRANCH_NAME || "main"; + const siteUrl = `https://docs.px4.io/${branch}`; + + // OG image — same image for all pages, but URL includes version base + const ogImage = + pageData.frontmatter.ogImage || `${siteUrl}/og-image.png`; + + // Build the actual page URL (version-aware, includes locale prefix) + let ogPath = pageData.relativePath.replace(/\.md$/, ""); + if (ogPath === "index") ogPath = ""; + else if (ogPath.endsWith("/index")) + ogPath = ogPath.slice(0, -"/index".length); + const ogUrl = `${siteUrl}/${ogPath}`; + + // Open Graph + head.push( + [ + "meta", + { + property: "og:title", + content: pageData.title || "PX4 Autopilot", + }, + ], + [ + "meta", + { + property: "og:description", + content: + pageData.description || + "Open-source flight stack for drones and autonomous vehicles.", + }, + ], + ["meta", { property: "og:url", content: ogUrl }], + ["meta", { property: "og:image", content: ogImage }], + ); + + // Twitter Card + head.push( + [ + "meta", + { + name: "twitter:title", + content: pageData.title || "PX4 Autopilot", + }, + ], + [ + "meta", + { + name: "twitter:description", + content: + pageData.description || + "Open-source flight stack for drones and autonomous vehicles.", + }, + ], + ["meta", { name: "twitter:image", content: ogImage }], + ); // Return head that will be merged. return head; @@ -276,6 +332,14 @@ export default defineConfig({ gtag('js', new Date()); gtag('config', 'G-91EWVWRQ93');`, ], + // Open Graph + ["meta", { property: "og:site_name", content: "PX4 Autopilot" }], + ["meta", { property: "og:type", content: "website" }], + ["meta", { property: "og:image:width", content: "1200" }], + ["meta", { property: "og:image:height", content: "630" }], + ["meta", { property: "og:image:type", content: "image/png" }], + // Twitter Card + ["meta", { name: "twitter:card", content: "summary_large_image" }], ], vue: { diff --git a/docs/assets/site/dronecode_logo.svg b/docs/assets/site/dronecode_logo.svg new file mode 100644 index 0000000000..c9315f6b57 --- /dev/null +++ b/docs/assets/site/dronecode_logo.svg @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/assets/site/px4_logo.svg b/docs/assets/site/px4_logo.svg new file mode 100644 index 0000000000..ade96659ab --- /dev/null +++ b/docs/assets/site/px4_logo.svg @@ -0,0 +1,163 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/en/index.md b/docs/en/index.md index 53bcd97f66..f361486948 100644 --- a/docs/en/index.md +++ b/docs/en/index.md @@ -3,19 +3,11 @@ import { useData } from 'vitepress' const { site } = useData(); -
- # PX4 Autopilot User Guide [![Releases](https://img.shields.io/badge/release-main-blue.svg)](https://github.com/PX4/PX4-Autopilot/releases) [![Discuss](https://img.shields.io/badge/discuss-px4-ff69b4.svg)](https://discuss.px4.io//) [![Discord](https://discordapp.com/api/guilds/1022170275984457759/widget.png?style=shield)](https://discord.gg/dronecode) -PX4 is the _Professional Autopilot_. -Developed by world-class developers from industry and academia, and supported by an active world wide community, it powers all kinds of vehicles from racing and cargo drones through to ground vehicles and submersibles. - -:::tip -This guide contains everything you need to assemble, configure, and safely fly a PX4-based vehicle. -Interested in contributing? Check out the [Development](development/development.md) section. -::: +PX4 is an open-source autopilot for drones and autonomous vehicles. It runs on multirotors, fixed-wing, VTOL, helicopters, rovers, and more. This guide covers everything from assembly and configuration to flight operations and development.
@@ -29,83 +21,43 @@ Documented changes since the stable release are captured in the evolving [releas
-## How Do I Get Started? +## For Developers -[Basic Concepts](getting_started/px4_basic_concepts.md) should be read by all users! -It provides an overview of PX4, including features provided by the flight stack (flight modes and safety features) and the supported hardware (flight controller, vehicle types, telemetry systems, RC control systems). +:::tip +Building on PX4 or extending the platform? Start here: [Development Guide](development/development.md). Set up your [dev environment](dev_setup/config_initial.md), [build from source](dev_setup/building_px4.md), run [SITL simulation](simulation/index.md), or integrate via [ROS 2](ros2/index.md) and [MAVSDK](https://mavsdk.mavlink.io/). +::: -Depending on what you want to achieve, the following tips will help you navigate through this guide: +## Getting Started -### I want a vehicle that works with PX4 +Start with [Basic Concepts](getting_started/px4_basic_concepts.md) for an overview of the flight stack, flight modes, safety features, and supported hardware. -In the [Multicopter](frames_multicopter/index.md), [VTOL](frames_vtol/index.md), and [Plane (Fixed-Wing)](frames_plane/index.md) sections you'll find topics like the following (these links are for multicopter): +## Build a Vehicle -- [Complete Vehicles](complete_vehicles_mc/index.md) list "Ready to Fly" (RTF) pre-built vehicles -- [Kits](frames_multicopter/kits.md) lists drones that you have to build yourself from a set of preselected parts -- [DIY Builds](frames_multicopter/diy_builds.md) shows some examples of drones that have been built using parts that were sourced individually +Pick your frame type: [Multicopter](frames_multicopter/index.md), [Fixed-Wing](frames_plane/index.md), [VTOL](frames_vtol/index.md), [Helicopter](frames_helicopter/index.md), or [Rover](frames_rover/index.md). Each section covers complete vehicles, kits, and DIY builds. For assembly instructions see [Assembling a Multicopter](assembly/assembly_mc.md) or the equivalent for your frame. -Both kits and complete vehicles usually include everything you need except for a battery and RC System. -Kits are usually not hard to build, provide a good introduction to how drones fit together, and are relatively inexpensive. -We provide generic instructions for assembly, such as [Assembling a Multicopter](assembly/assembly_mc.md), and most kits come with specific instructions too. +## Configure and Tune -If the kits and complete drones aren't quite right for you then you can build a vehicle from scratch, but this requires more knowledge. -[Airframe Builds](airframes/index.md) lists the supported frame starting points to give you some idea of what is possible. +Once assembled, follow the configuration guide for your vehicle type (e.g. [Multicopter Configuration](config_mc/index.md)). This covers sensor calibration, flight mode setup, and tuning. -Once you have a vehicle that supports PX4 you will need to configure it and calibrate the sensors. -Each vehicle type has its own configuration section that explains the main steps, such as [Multicopter Configuration/Tuning](config_mc/index.md). +## Hardware -### I want to add a payload/camera +The [Hardware Selection & Setup](hardware/drone_parts.md) section covers flight controllers, sensors, telemetry, RC systems, and payloads. See [Payloads](payloads/index.md) for camera and delivery integrations. -The [Payloads](payloads/index.md) section describes how to add a camera and how to configure PX4 to enable you to deliver packages. +## Fly -### I am modifying a supported vehicle +Read [Operations](config/operations.md) to understand safety features and failsafe behavior before your first flight. Then see [Basic Flying (Multicopter)](flying/basic_flying_mc.md) or the equivalent for your frame type. -The [Hardware Selection & Setup](hardware/drone_parts.md) section provides both high level and product-specific information about hardware that you might use with PX4 and its configuration. -This is the first place you should look if you want to modify a drone and add new components. +## Support -### I want to fly - -Before you fly you should read [Operations](config/operations.md) to understand how to set up the safety features of your vehicle and the common behaviours of all frame types. -Once you've done that you're ready to fly. - -Basic instructions for flying each vehicle type are provided in the respective sections, such as [Basic Flying (Multicopter)](flying/basic_flying_mc.md). - -### I want to run PX4 on a new Flight Controller and extend the platform - -The [Development](development/development.md) section explains how to support new airframes and types of vehicles, modify flight algorithms, add new modes, integrate new hardware, communicate with PX4 from outside the flight controller, and contribute to PX4. - -## Getting Help - -The [Support](contribute/support.md) page explains how to get help from the core dev team and the wider community. - -Among other things it covers: - -- [Forums where you can get help](contribute/support.md#forums-and-chat) -- [Diagnosing issues](contribute/support.md#diagnosing-problems) -- [How to report bugs](contribute/support.md#issue-bug-reporting) -- [Weekly dev call](contribute/support.md#weekly-dev-call) - -## Reporting Bugs & Issues - -If you have any problems using PX4 first post them on the [support forums](contribute/support.md#forums-and-chat) (as they may be caused by vehicle configuration). - -If directed by the development team, code issues may be raised on [Github here](https://github.com/PX4/PX4-Autopilot/issues). -Where possible provide [flight logs](getting_started/flight_reporting.md) and other information requested in the issue template. +Get help on the [discussion forums](https://discuss.px4.io/) or [Discord](https://discord.gg/dronecode). See the [Support](contribute/support.md) page for diagnosing problems, reporting bugs, and joining the [weekly dev call](contribute/dev_call.md). ## Contributing -Information on how to contribute to code and documentation can be found in the [Contributing](contribute/index.md) section: - -- [Code](contribute/index.md) -- [Documentation](contribute/docs.md) -- [Translation](contribute/translation.md) +See the [Contributing](contribute/index.md) section for code, [documentation](contribute/docs.md), and [translation](contribute/translation.md) guidelines. ## Translations -There are several [translations](contribute/translation.md) of this guide. -You can access these from the Languages menu (top right): - -![Language Selector](../assets/vuepress/language_selector.png) +There are several [translations](contribute/translation.md) of this guide. Use the language selector in the top navigation. @@ -141,9 +93,9 @@ The following icons used in this library are licensed separately (as shown below ## Governance -The PX4 flight stack is hosted under the governance of the [Dronecode Project](https://dronecode.org/). +The PX4 Autopilot project is hosted by the [Dronecode Foundation](https://www.dronecode.org/), a [Linux Foundation](https://www.linuxfoundation.org/) Collaborative Project. Dronecode holds all PX4 trademarks and serves as the project's legal guardian, ensuring vendor-neutral stewardship. No single company owns the name or controls the roadmap. The source code is licensed under the [BSD 3-Clause](https://opensource.org/license/BSD-3-Clause) license, so you are free to use, modify, and distribute it in your own projects. -Dronecode Logo +Dronecode Logo Linux Foundation Logo
 
diff --git a/docs/index.md b/docs/index.md index 20f2371f3e..6ac4d4ab85 100644 --- a/docs/index.md +++ b/docs/index.md @@ -4,9 +4,9 @@ layout: home hero: name: "PX4" - text: "User Guide" - tagline: PX4 is the Open Source Autopilot for Professional Drone Developers. - image: /logo_pro_small.png + text: "Autopilot" + tagline: Open-source flight stack for drones and autonomous vehicles. BSD-3 licensed. Vendor neutral. + image: /px4-logo.svg actions: - theme: brand text: Read the docs @@ -20,22 +20,21 @@ hero: features: - title: Modular Architecture - details: PX4 is highly modular and extensible both in terms of hardware and software. It utilizes a port-based architecture - which means when developers add components, the extended system does not lose robustness or performance. - - title: Open Source - details: PX4 is co-developed with a global development community. The flightstack is not just fulfilling the needs of one lab or one company, but has been intended as a general toolkit and is widely used and adopted in the industry. - - title: Configurability - details: PX4 offers optimised APIs and SDKs for developers working with integrations. All the modules are self-contained and can be easily exchanged against a different module without modifying the core. Features are easy to deploy and reconfigure. - - title: Autonomy Stack - details: PX4 is designed to be deeply coupled with embedded computer vision for autonomous capabilities . The framework lowers the barrier of entry for developers working on localization and obstacle detection algorithms. - - title: Real-world Validation - details: Thousands of commercial PX4 based systems have been deployed worldwide. In parallel, dedicated flight test team clocking up thousands of flight hours each month running hardware and software tests to ensure the codebase's safety and reliability. + details: Built on uORB, a DDS-compatible publish/subscribe middleware. Every module runs as its own thread, fully parallelized and thread safe. Build custom configurations and strip out what you don't need. + - title: Wide Hardware Support + details: Supports Pixhawk-standard flight controllers and a growing range of boards beyond that standard. DroneCAN peripherals run PX4 firmware in CAN node mode. No vendor lock-in. + - title: Developer Friendly + details: First-class MAVLink and DDS/ROS 2 integration. Comprehensive SITL simulation, hardware-in-the-loop testing, and log analysis tools. MAVSDK provides a high-level SDK/API for programmatic vehicle interaction. + - title: Autonomy Ready + details: Extensible architecture for advanced autonomy. External modes, offboard control, and DDS/ROS 2 interfaces provide the building blocks for computer vision, GPS-denied navigation, and custom flight behaviors. + - title: Proven at Scale + details: Millions of vehicles deployed worldwide across commercial, defense, and research applications. Continuous flight testing validates the codebase across multirotors, fixed-wing, VTOL, helicopters, rovers, and more. - title: Permissive License - details: PX4 is free to use and modify under the terms of the permissive BSD 3-clause license. Which means the software also allows proprietary use and allows the releases under the license to be incorporated into proprietary products. + details: BSD 3-Clause. Use it, modify it, ship it in proprietary products. You only need to include the original copyright notice and license text. - title: Interoperability - details: Beyond being a robust flight stack, PX4 offers an ecosystem of supported devices. The project also leads the standardarization effort for the advancement of communications, peripherals integration, and power management solutions. - - - title: Powerful Safety Features - details: Great safety features including automated failsafe behaviour, support for different return modes, parachutes etc. are by default already included in the codebase. The features are easily configurable and tunable for custom systems. + details: Part of a modular ecosystem. PX4 (autopilot), MAVLink (protocol), QGroundControl (ground station), Pixhawk (hardware standard), MAVSDK (SDK/API), and ROS 2 via DDS or Zenoh. All Dronecode projects, all open source. + - title: Vendor Neutral Governance + details: Hosted by the Dronecode Foundation under the Linux Foundation. No single company owns the name or controls the roadmap. Community-driven with a weekly open dev call. search: false footer: BSD 3-clause license diff --git a/docs/public/og-image.png b/docs/public/og-image.png new file mode 100644 index 0000000000..5625b82550 Binary files /dev/null and b/docs/public/og-image.png differ