本套课程主要内容:(持续更新)
1.独立完成飞行器所有代码编写、调试、硬件电路制作和机械结构组装:
完成的飞行器主要有迷你四旋翼、250机型、330机型、F450机型四旋翼,同时也完成了遥控器的制作(基于MPU6050、SPL06、IST8310传感器组合的第一版飞控已经开源:个人github页、电路城等)。
2.四旋翼动力学模型的分析:
分析出飞行器在空中运动时,飞行状态与各机臂动力间的关系。
3.滤波器设计:
针对传感器内部低通后输出数据具有滞后性,本项目中,对传感器采集时不设置内部低通,比较原始信号在四旋翼悬停油门附近与静止时的频谱图,确定因震动产生的传感器噪声截止频率,设计二阶巴特沃斯滤波器对噪声信号进行处理。同时针对姿态解算与惯性导航主导传感器不同,本项目中同一量在不同使用条件下的截止频率也不一样。
4.姿态解算:
利用互补滤波、梯度下降、EKF算法完成四元数的更新,经欧拉角转换得出姿态的俯仰和横滚角。本项目中,避免磁力计干扰引起水平姿态角解算错误,磁力计不参与水平姿态矫正,直接采用一阶互补滤波算法获取飞行器的偏航角。
5.惯性导航:
根据加速度计比力模型,将三轴加速度计原始数字量,通过在载体系统到导航系下的旋转矩阵归一化处理后,得到导航坐标系下比力加速度,减去重量加速度后,得到用以导航的运动加速度,本项目前期对APM飞控采用的基于经典回路反馈法的三阶互补方案原理进行了论证与设计实现,接着对竖直位置、速度采用单观测量的卡尔曼滤波进行惯导融合,接着针对气压计观测传感器滞后性,导致快速运动时,惯导收敛慢问题,提出了一种带延时修正的惯性融合算法。目前水平方向惯导融合采用的是双观测量带延时修正的卡尔曼滤波惯导算法,已实现户外GPS定位下的目标点悬停(相关算法已开源,见个人CSDN博客)。
6.控制器与算法设计:
参考APM、Autoquad整体控制结构基础上,飞控具有自稳、手动、定高、GPS定点、GPS模式下定速巡航等模式,其中姿态环采用的是双闭环控制,角度环采用单比例P控制,内环加速度采用PID控制,其中内环微分项采用的基于20Hz低通后的微分信号,避免了噪声对控制器微分的不利因素,增强了控制系统的鲁棒性。水平位置控制采用:水平位置+水平速度+水平姿态(角度、角速度)四环串级控制,竖直高度采用的是:高度位置+竖直速度+竖直加速度三环控制,针对传统飞控大多数只有两个控制环,本项目中加速度反馈信号采用的是5Hz截止频率数字低通后得到,避免了加速度噪声引起控制系统的异常输出引起油门突变导致的失控。
7.其他综述:
移植了开源飞控APM里面加速度六面校准算法,并对算法里面的牛顿消元法进行了推导,把加速度计校准模式直接结合遥控器动作位予以实现,方便操作;四旋翼学习期间,很荣幸受高志强老师邀请参加“2017 ADRC冬季研讨会:高速精密运动控制”,分享主题为《四旋翼飞行器的自抗扰控制:设计、实现与实例》的演讲。
课程背景:
开源飞控技术创业之路:考虑到对飞控学习而言,国外商业级飞控APM、PX4/Pixhawk、Autoquad等平台不适合初学者入门学习。而国内传统飞控如Crazepony、ANO、Light、INF等随着创始者们相继毕业,工作时间紧,代码缺乏更新(涉密),以及技术支持不及时等,随着飞控整个行业的技术成熟,对从业者的要求越来越高,在国内开源飞控“青黄不接”的当下,2017年9月,创立了无名科创开源飞控团队,将个人自研的第一代飞控NamelessCotrunQuad_V1.0进行了程序模块化、规范封装等优化,主控板与IMU采用分离式设计,对IMU模块进行独立减震处理,主控选用STM32F103RCT6,气压计选择低成本高性能的SPL06(精度媲美MS5611,价格为其1/5)、磁力计选用业界新款IST8310(DJI Mavic同款),极大的降低了飞控学习成本,结合配套持续更新的教学视频与技术博客进行飞控相关技术的讲解,赢得的广大飞控爱好者的青睐与支持,前期自己手工贴片的50套飞控学习板,不到一个星期就已卖断货,管理的无名科创开源飞控技术交流群成为当前学习层面,公共交流、活跃度最高的群(群号:540707961),创立首个知识星球飞控技术问答服务。