# nextpilot-flight-control
**Repository Path**: nextpilot/nextpilot-flight-control
## Basic Information
- **Project Name**: nextpilot-flight-control
- **Description**: NextPilot飞控系统是一款基于px4和rt-thread的国产先进自动驾驶仪。能够便捷的应用于教育、研究和工业等领域,让工程师专注于自己的擅长领域(比如嵌入式、控制算法、应用业务)进行高效的开发。
- **Primary Language**: C
- **License**: BSD-3-Clause
- **Default Branch**: main
- **Homepage**: https://www.nextpilot.org
- **GVP Project**: No
## Statistics
- **Stars**: 100
- **Forks**: 22
- **Created**: 2022-11-28
- **Last Updated**: 2025-06-24
## Categories & Tags
**Categories**: auto-driving
**Tags**: 飞控, 无人机, 自动驾驶, autopilot
## README
# NextPilot 飞行控制系统
[English](README.md) | [中文](README_zh.md) | [Español](README_es.md) | [Deutsch](README_de.md)
# 简介
NextPilot飞控系统是一款功能丰富、高度扩展、稳定可靠的国产先进自动驾驶仪。目标是便捷的应用于教育、研究和工业等领域,让工程师专注于自己的擅长领域(比如嵌入式、控制算法、应用业务)进行高效的开发。
## 特色亮点
1. 出色的嵌入式性能。基于 [RT-Thread V5.0.2](https://github.com/RT-Thread/rt-thread/tree/v5.0.2) 国产实时操作系统,它资源占用极低、超低功耗设计、支持高性能应用,拥有活跃的社区、丰富的组件(如FINSH、DFS、ULOG等)、繁荣发展的软件包生态。
2. 丰富的自动驾驶功能。核心算法移植于著名开源飞控软件 [PX4 V1.14.2](https://github.com/PX4/PX4-Autopilot/tree/v1.14.2),它由来自全世界工业界和学术界的开发者维护,支持多旋翼、复合翼、固定翼、潜水艇等。
3. 高度的可扩展性。拥有良好的软件架构([uORB](pkgs/uORB/uORB.h)、[PARAM](pkgs/param/param.h)、[AIRFRAME](apps/airframe/README.md))、代码松耦合([自动初始化机制](https://www.rt-thread.org/document/site/#/rt-线程版本/rt线程标准/编程手册/basic/basic?id=rt线程-%e8%87%aa%e5%8a%a8%e5%88%9d%e5%a7%8b%e5%8c%96%e6%9c%ba%e5%88%b6)),充分模块化(每个文件夹对应一个独立模块),易于定制和扩展等特性。
4. 高效的开发效率。支持 MATLAB/Simulink [基于模型的设计](https://www.mathworks.com/help/simulink/gs/model-based-design.html),在统一的 Simulink 环境下完成设计、仿真、测试和一键代码生成,快速且经济高效地开发控制系统、信号处理系统和通信系统。
5. 支持多种飞行仿真,如模型在环(Model in Loop)、软件在环([Software in Loop](bsps/sitl/qemu/README.md))、硬件在环(Hardware in Loop)和硬件内飞行仿真([Simulation in Hardware](apps/simulation/sih/sih.cpp)),以及多机编队仿真。
6. 支持多种飞控硬件,包括广泛使用的开源硬件 [Pixhawk FMUv5](bsps/px4/fmu-v5/README.md) 和 [NextPilot团队开发的硬件](bsps/ndt//README.md)。
7. 支持主流开发工具,包括 Gcc+VScode([Windows](https://github.com/nextpilot/nextpilot-windows-toolchain)/[Ubuntu](https://github.com/nextpilot/nextpilot-ubuntu-toolchain))、Keil 和 IAR等,通过 scons 工具生成多种 IDE 项目文件。
## 系统框架

## 机型支持
- 多旋翼:quad, six, oct, hex
- 固定翼:plane
- 垂 起:standard, tailsitter, tiltrotor
## 硬件支持
Pixhawk 开源硬件:
- [CUAV Pixhawk V5+ (FMUv5)](https://docs.px4.io/main/en/flight_controller/cuav_v5_plus.html), [bsp code](bsps/px4/fmu-v5)
- [CUAV Pixhawk V6X (FMUv6x)](https://docs.px4.io/main/en/flight_controller/cuav_pixhawk_v6x.html), 即将支持
- [Holybro Pixhawk V5X (FMUv5X)](https://docs.px4.io/main/en/flight_controller/pixhawk5x.html), 即将支持
- [Holybro Pixhawk V6X (FMUv6X)](https://docs.px4.io/main/en/flight_controller/pixhawk6x.html), 即将支持
NextPilot 设计硬件:
- fcs-v1, 飞行控制计算机
- ins-v1, 组合导航计算机
- ads-v1, 大气数据计算机
支持的硬件设计点:
- 处理器:STM32F765IIK 和 STM32H753IIK
- 传感器:gnss/imu/baro/mag
- 作动器:pwm/can/rs485
- 遥控器:s.bus
- 告 警:led/tunes
## 编译支持
NextPilot 主要支持以下 IDE/编译器:
- KEIL MDK
- ARM GCC + VSCode, ([Windows](https://github.com/nextpilot/nextpilot-windows-toolchain) | [Ubuntu](https://github.com/nextpilot/nextpilot-ubuntu-toolchain))
使用基于 Python 的 scons 进行命令行生成 Keil 等工程,使用 Kconfig 进行系统裁剪和配置。
# 功能清单
## 飞行控制
- 飞行模式:手动, 特技, 姿态, 定高, 定点; 起飞, 着陆, 任务, 悬停, 返航, 跟随; 外部控制等
- 安全保护:地理围栏, 低电量保护, GNSS失锁, 遥控失联, 链路失联, 发动机故障等
## 组合导航
输出姿态和位置,并支持风速估计、地形估计、多传感器表决、振动频率估计等,具备融合gps、imu、mag、baro等传感器数据。
## 飞行仿真
- [软件在环]((bsps/sitl/qemu/README.md)):运行于qemu环境(支持windows和ubuntu),飞控集成了飞行动力学仿真,传感器采用仿真数据,地面站通过UDP连接飞控
- 硬件在环:运行于stm32硬件上,飞控集成了飞行动力学仿真,传感器采用仿真数据,地面站通过UART连接飞控
# 资源文档
## 用户手册
[NextPilot 用户手册](https://www.nextpilot.org/manual),可以带您 [快速入门](https://www.nextpilot.org/manual),并了解 NextPilot的 [飞行模式](https://www.nextpilot.org/manual/05.%E5%9F%BA%E6%9C%AC%E6%A6%82%E5%BF%B5/01.%E9%A3%9E%E8%A1%8C%E6%A8%A1%E5%BC%8F/index.html)、[高级调参]()、[飞行仿真]()、[日志分析]()等。
## 开发指南
您可以通过 [NextPilot 开发指南](https://www.nextpilot.org/develop) 了解如何进行 NextPilot 开发,比如:[搭建开发环境](https://www.nextpilot.org/develop/01.%E5%BF%AB%E9%80%9F%E5%85%A5%E9%97%A8/01.setup-develop-environment.html), [如何添加代码](https://www.nextpilot.org/develop/01.%E5%BF%AB%E9%80%9F%E5%85%A5%E9%97%A8/99.add-new-code.html), [系统底层框架]()等。
# 社区支持
NextPilot 非常感谢所有社区小伙伴的支持,在使用 NextPilot 的过程中若您有任何的想法,建议或疑问都可通过以下方式联系到 NextPilot,我们也实时在这些频道更新 NextPilot 的最新讯息。
- 官方网站:
- 交流论坛:
- 问题反馈:
- 联系方式:
扫码加入`NextPilot社区支持`群,我们会提供相关技术支持,全力为大家答疑解惑。
# 许可协议
NextPilot 系统完全开源,遵循[BSD 3-Clause License](./LICENSE) 开源许可协议,可以免费在商业产品中使用,并且不需要公开私有代码,没有潜在商业风险。
# 贡献代码
如果您对 NextPilot 感兴趣,希望参与 NextPilot 的开发并成为代码贡献者,请参阅[代码贡献指南](.github/CONTRIBUTING.md)。
提交代码:
感谢以下小伙伴对本仓库的贡献!