这里有些内容要解释一下,考虑到涉及之前的飞控和之后的计划,和本次的正文关系不大,就不放在正文里了。
这边先讲比之前飞控的一些改进吧。当然,这个是一个航电平台,在系统性上和之前的完全不是一个东西了,我主要讲生成的固件代码和之前的区别。
首先是惯导算法,之前SS0飞控使用的是jy901b的硬件四元数,再加上优化三子样的划桨误差补偿,但是现在退回普通二子样的划桨误差补偿,然后软件做圆锥误差的二子样补偿。
实际上,对于一般的MEMS,实测二子样补偿就足够了,之前SS0根本就没必要使用优化三子样,而且之前imu带宽居然只设置为10 Hz,那完全没用了。现在imu带宽拉到256Hz了,而且没有使用内部融合的四元数,而是选择mcu软件更新。实测jy901b内部融合的四元数带宽很低,而且姿态在接近水平时精度很差。
其次是融合,这应该是最大的区别,之前都是固定增益融合,还没有gnss竖直速度,相当于sf5,现在从前面flp的复算可以得知卡尔曼滤波的效果了。
再次是遥测和日志,之前真的以为nrf24l01+可以传1km呢……现在了解了一点相关的知识,知道要实测,要计算了。而且当前遥测的协议也重新严谨设计了。现在遥测和日志是两手打算,日志用上了更快的4线sdio,记录了更加详细的信息,而遥测信息也会被电脑记录,用于在火箭飞丢等无法取得日志的情况下仍能获取部分信息。
最后是一些算法细节,比如时间帧的对齐,量测到来时延迟处理,量测协方差的缩放,gnss丢失后的恢复等等,这个之前完全没有考虑。整体来看,我觉得价值最大的反而是这些算法细节的处理。