当前位置: 首页 > news >正文

【无人机】PX4 飞控系统架构

目录

PX4架构图

硬件部分

1、飞控系统:

2、动力系统:

3、导航系统

4、通信系统

5、任务载荷系统

6、飞行平台

软件部分

1、飞行控制软件

飞行控制软件的分层架构

2、地面控制软件

3、导航与定位软件:

4、通信协议软件:

5、任务管理软件:


参考:px4飞控官方手册

PX4 System Architecture | PX4 Guide (main)

PX4架构图

下图提供了基于飞行控制器的典型 “简单” PX4 系统的高级概述。

 px4系统分为硬件和软件部分

硬件部分

1、飞控系统:

飞行控制器,最中间的部分,飞行控制器主要运行 PX4 飞行堆栈,通常包括内部 IMU、指南针和气压计。

是无人机的核心控制部分,主要由飞行控制器(FC)、传感器等组成。飞行控制器根据传感器采集的数据,如陀螺仪测量的姿态信息、加速度计测量的加速度信息、磁力计提供的航向信息等,通过内置的控制算法计算出需要的控制量,进而控制电机的转速,实现对无人机姿态、位置和飞行轨迹的精确控制。

2、动力系统

  • Motor ESCs connected to PWM outputs, DroneCAN (DroneCAN allows two-way communication, not single direction as shown) or some other bus.

连接到 PWM 输出、DroneCAN(DroneCAN 允许双向通信,而不是如图所示的单向通信)或其他总线的电机 ESC 

电机、电调、螺旋桨。电机为无人机提供动力,电调用于控制电机的转速,螺旋桨在电机驱动下产生推力,使无人机能够起飞和飞行,电池则为整个系统提供电力。

3、导航系统

  • 传感器(GPS、指南针、距离传感器、气压计、光流、气压计、ADSB 应答器等)通过 I2C、SPI、CAN、UART 等连接。

通常包含全球定位系统(GPS)模块、惯性测量单元(IMU)等。GPS 模块用于获取无人机的地理位置信息,IMU 则实时测量无人机的加速度和角速度,两者结合可以实现无人机的定位、导航和姿态解算,帮助无人机确定自身位置和飞行方向,实现自主飞行。

4、通信系统

  • 用于连接到地面站计算机/软件的遥测无线电。
  • 用于手动控制的 RC 控制系统

分为无线通信模块和数据链路。无线通信模块负责无人机与地面控制站或遥控器之间的通信,常见的有蓝牙、Wi-Fi、数传电台等,数据链路则确保飞行数据的实时传输和指令的准确接收,包括上行链路(从地面控制站到无人机)和下行链路(从无人机到地面控制站)。

5、任务载荷系统

  • 相机或其他负载。相机可以连接到 PWM 输出或通过 MAVLink 连接。

根据无人机的不同应用场景,可搭载各种任务载荷,如相机、摄像机、激光雷达、红外热成像仪、农药喷洒装置、货物运输装置等,以完成航拍、测绘、巡检、植保、物流等特定任务。

6、飞行平台

即无人机的机身结构,包括机架、机翼、起落架等部分,为无人机提供物理支撑和飞行姿态的基础。它的设计需考虑空气动力学、结构强度、重量分布等因素,以确保无人机在飞行过程中的稳定性和机动性。

软件部分

1、飞行控制软件

  • 在飞行控制器上运行的 PX4 飞行堆栈包括驱动程序、通信模块、控制器、估算器以及其他中间件和系统模块。

运行在飞控系统的飞行控制器上,是无人机软件架构的核心部分。它实现了各种飞行控制算法,如姿态控制、位置控制、轨迹跟踪等,负责处理传感器数据,生成控制指令,以确保无人机的稳定飞行和精确控制。同时,飞行控制软件还具备故障检测与保护功能,在遇到异常情况时能够采取相应的措施,保障无人机的安全。

飞行控制软件的分层架构
  1. 驱动层(Drivers):最底层,负责管理传感器(如加速度计、GPS)和执行器(如电机、舵机),实现硬件设备与软件的交互,是系统控制硬件的基础。
  2. 中间件层(Middleware):包含 RTPS(实时发布订阅协议)、MAVLink(无人机通信协议)、UORB(PX4 内部消息通信机制),主要解决模块间的数据传输与通信问题,是系统各组件交互的桥梁。
  3. 应用 / 模块层(Apps/Modules):最上层,集成 Commander(指令处理,如飞行模式切换)、Navigator(导航,规划飞行路径)、Controllers(控制器,执行姿态 / 位置控制算法)、Logger(日志记录,存储飞行数据)等功能模块,实现无人机的具体业务逻辑,如飞行控制、任务执行。

2、地面控制软件

  • 地面站计算机通常运行 QGroundControl (或其他一些地面站软件)。 它还可以运行机器人软件,例如MAVSDK 的 (打开新窗口)或 ROS 的

运行在地面控制站的计算机或移动设备上,为操作人员提供人机交互界面。通过地面控制软件,操作人员可以实时监控无人机的飞行状态,包括姿态、位置、电量等信息,发送飞行指令,进行航线规划和任务设置,同时还能对接收的无人机数据进行显示、分析和存储。

3、导航与定位软件

主要用于处理导航系统获取的数据,实现无人机的定位、导航和路径规划。它结合 GPS 信息、IMU 数据以及地图数据等,计算出无人机的当前位置、速度和航向,并根据预设的任务目标规划出飞行路径,引导无人机按照预定路线飞行。

4、通信协议软件

负责管理无人机与地面控制站或遥控器之间的通信协议,确保数据的正确传输和解析。它对上行和下行数据进行打包、解包处理,实现指令的发送和接收,以及飞行状态信息、传感器数据等的实时反馈,保证通信的稳定性和可靠性。

5、任务管理软件

根据无人机的具体任务需求进行设计,用于管理和控制任务载荷的运行。例如,在航拍任务中,任务管理软件可以控制相机的拍摄参数、拍摄时机和拍摄模式;在巡检任务中,它可以根据预设的路线和检测点,控制传感器进行数据采集和分析。

相关文章:

  • php网站优点免费com域名注册网站
  • 公众号开发培训seo推广视频隐迅推专业
  • 信誉好的购物网站建设小学培训机构
  • 建设网站那个好模板建站公司
  • 微商城手机网站制作江门网站优化公司
  • 上海网站建设流如何制作网站教程
  • 【Scratch编程系列】Scratch编程软件界面
  • b4a安卓开发技术和建议,VB6开发Android APK
  • AT_abc212_d [ABC212D] Querying Multiset
  • 搭建健康基石,畅享活力人生
  • 大模型 MCP:开启 AI 与现实世界的无缝交互革命
  • CSS语言的学习路线
  • Android DiaLog全屏设置,带有叉号的弹窗,这个弹窗分为两个部分,一个是主体,另一个是关闭部分。自定义布局弹窗
  • BN 层的作用, 为什么有这个作用?
  • 常见的HR面问题汇总
  • 知识图谱:知识图谱多模态推理技术详解
  • Spring Boot 中利用 Jasypt 实现数据库字段的透明加密解密
  • OBS 录屏软件 for Mac 视频录制
  • 大数据(4.2)Hive核心操作实战指南:表创建、数据加载与分区/分桶设计深度解析
  • AI Agent开发大全第二十课-如何开发一个MCP(从0开发一个MCP Server)
  • MyBatis Plus 在 ZKmall开源商城持久层的优化实践
  • Android学习总结之算法篇五(字符串)
  • 什么是接口测试,如何做接口测试?
  • node_modules\deasync: Command failed.
  • cursor机器码重置
  • K8s安全体系全面剖析:从攻击面到最佳实践