嵌入式C语言在无人机中的高阶应用

📘 30章 · 从底层到集群
01 C语言在无人机中的角色
飞控系统架构 C在RTOS中位置 为何非C++/Python
02 STM32平台与开发环境搭建
STM32选型 CubeMX & HAL ARM GCC Makefile/CMake
03 FreeRTOS任务管理
任务创建/删除 优先级与调度 状态切换 空闲任务&钩子
04 队列与信号量
队列创建/收发 二值信号量&互斥 计数信号量 优先级反转
05 软件定时器与事件组
定时器创建/回调 事件组同步 任务通知
06 内存管理
静态/动态分配 FreeRTOS heap方案 内存碎片 自定义内存池
07 MPU6050传感器驱动
I2C协议 寄存器配置 DMP姿态解算 滑动平均/卡尔曼
08 GPS与UART通信
NMEA协议 UBX配置 GPS数据融合 UART DMA
09 PWM与电机控制
定时器PWM 电调校准 油门曲线 BLDC控制
10 遥控器信号解析
PPM & SBUS 信号捕获/解码 通道映射 失控保护
11 姿态解算基础
欧拉角&四元数 旋转矩阵 互补滤波 Mahony滤波
12 PID控制器实现
位置/增量式PID 积分限幅&抗饱和 微分先行 参数整定
13 串级PID控制
角度环/角速度环 内外环频率设计 串级PID应用
14 状态估计与卡尔曼滤波
一维卡尔曼 扩展卡尔曼EKF 协方差调整 传感器融合
15 位置控制与导航
GPS位置控制 光流定点 超声波定高 气压计定高
16 航线规划与任务管理
航点链表 任务状态机 自动起飞/降落 紧急返航
17 SD卡数据记录
FATFS移植 CSV日志 高速写入 环形缓冲区
18 无线数传与Mavlink
Mavlink消息 心跳/参数协议 地面站通信 数据遥测
19 Bootloader与固件升级
Flash分区 CRC32校验 跳转逻辑 云端升级
20 安全机制与故障保护
电压监测 看门狗 传感器健康检查 紧急停机
21 实时性优化
中断优先级 临界区保护 Cache一致性 流水线优化
22 代码规范与模块化设计
HAL层抽象 驱动接口设计 回调函数 单元测试
23 多传感器融合框架
时间戳对齐 外参标定 加权融合 异常值剔除
24 高级滤波算法
IIR & FIR 陷波滤波器 自适应滤波 噪声分析
25 无人机动力学建模
四旋翼动力学 力矩/推力计算 模型辨识 仿真环境
26 模型预测控制(MPC)
MPC基本原理 约束处理 实时求解器 无人机应用
27 视觉SLAM基础
ORB特征 PnP求解 图优化 飞控数据融合
28 深度学习在无人机中应用
TinyML部署 推理优化 目标检测 避障
29 编队飞行与集群控制
一致性算法 编队保持 碰撞避免 通信拓扑
30 综合项目实战
从零搭建飞控 硬件选型/焊接 代码架构 试飞调参