PX4-Autopilot代码解析(1)-概述

PX4 自动驾驶仪是一款开源飞行控制软件栈,专为无人机、探测车、船舶和航天器等自动驾驶飞行器而设计。本文档详细介绍了 PX4 代码库架构及其核心子系统。

什么是 PX4 自动驾驶仪

PX4 自动驾驶仪是一套完整的飞行控制解决方案,提供驱动程序、中间件、控制算法、状态估计和通信协议,以实现各种飞行器类型的自主运行。

主要特点:

  • 多平台:支持 NuttX RTOS、Linux 和 macOS
  • 多飞行器:支持多旋翼飞行器、固定翼飞机、垂直起降飞机、漫游车、船只和实验车辆类型
  • 模块化架构:基于组件的设计,具有明确定义的接口
  • 实时能力:专为硬实时飞行控制应用而设计

支持的车辆类型:

车辆类型 描述 控制方法
多旋翼飞行器 多旋翼旋翼机 推力矢量位置/姿态控制
固定翼 传统飞机配置 基于能量的控制面
垂直起降 垂直起降飞机 具有模式转换的混合控制
罗孚 地面车辆 差速转向和速度控制
实验 船只、潜艇、宇宙飞船等 特定车辆的控制策略

系统架构

PX4 系统采用分层架构,硬件抽象、核心控制逻辑和外部接口之间清晰分离。中央通信主干是 uORB(微对象请求代理)消息总线,它实现了系统组件之间的松散耦合。

高级系统架构

关键子系统

模块组织

PX4 模块组织在src/modules目录下,每个模块实现飞行控制系统的一个特定方面。构建系统会根据目标配置自动发现并编译模块。

模块类别 关键模块 目的
状态估计 ekf2attitude_estimator_q 传感器融合和车辆状态估计
飞行控制 commander,,navigatorflight_mode_manager 高级控制逻辑和任务管理
车辆控制 mc_pos_control,,fw_pos_controlvtol_att_control 特定车辆的控制算法
沟通 mavlinkrc_update 外部通信和远程控制
模拟 simulatorgazebo 软件在环测试

数据流架构

构建系统和配置

PX4 使用基于 CMake 的构建系统,并使用 Kconfig 进行配置管理。这种方法允许跨不同的硬件平台和操作系统进行灵活的目标配置。

构建配置结构

关键构建系统组件:

成分 文件位置 目的
内核配置 [配置:1-219] 主配置定义系统
CMake 根目录 [CMakeLists.txt:102-497] 主要构建配置和模块编排
生成文件 [Makefile:1-588] 用户友好的构建目标界面
平台配置 platforms/${PX4_PLATFORM}/cmake/ 特定于平台的构建设置
主板配置 boards/*/default.px4board 特定于板的配置

系统启动过程

开发和测试基础设施

PX4 包括用于开发、测试和持续集成的综合工具。

开发工具:

模拟支持:

  • SITL(软件在环):Gazebo 集成,实现逼真的车辆模拟
  • 锁步调度程序CMakeLists.txt203-209- 确定性模拟时间
  • 硬件在环:支持使用模拟传感器进行硬件测试

有关模拟功能的详细信息,请参阅Gazebo 模拟硬件在环测试

相关推荐
IT猿手11 小时前
基于控制障碍函数的多无人机编队动态避障控制方法研究,MATLAB代码
开发语言·matlab·无人机·openclaw·多无人机动态避障路径规划·无人机编队
智算菩萨17 小时前
【Generative AI For Autonomous Driving】1 生成式AI重塑自动驾驶的技术浪潮与体系化挑战
论文阅读·人工智能·深度学习·机器学习·ai·自动驾驶
智算菩萨17 小时前
【Generative AI For Autonomous Driving】7 生成式AI驱动自动驾驶的未来图景:开放挑战、社会机遇与技术展望
论文阅读·人工智能·深度学习·机器学习·ai·自动驾驶
IT猿手18 小时前
基于 ZOH 离散化与增量 PID 的四旋翼无人机轨迹跟踪控制研究,MATLAB代码
开发语言·算法·matlab·无人机·动态路径规划·openclaw
IT猿手18 小时前
基于控制障碍函数(Control Barrier Function, CBF)的无人机编队三维动态避障路径规划,MATLAB代码
开发语言·matlab·无人机·动态路径规划·无人机编队
IT猿手18 小时前
基于 CBF 的多无人机编队动态避障路径规划研究,无人机及障碍物数量可以自定义修改,MATLAB代码
开发语言·matlab·无人机·动态路径规划
IT猿手21 小时前
基于强化学习Q-learning算法的无人机三维路径规划算法原理与实现,MATLAB代码
算法·matlab·无人机·路径规划·动态路径规划
GIS数据转换器1 天前
洪水时空大数据分析与评估系统
大数据·人工智能·机器学习·数据挖掘·数据分析·无人机·宠物
LONGZETECH1 天前
实测职业教育无人机仿真教学软件:架构、功能与落地全解析
人工智能·架构·无人机·无人机仿真教学软件·无人机教学软件·无人机仿真软件
智算菩萨1 天前
【Generative AI For Autonomous Driving】5 生成式AI在自动驾驶中的六大应用场景:从数据合成到智慧交通
论文阅读·人工智能·机器学习·ai·自动驾驶·感知