过去一年主要在手机的稳定性方面做出了一定的突破,另外对无刷电机的控制也有一定的突破:
手持稳定器需要解决几大问题点:
1、无刷电机FOC控制问题
一般应用到产品的无刷电机质量跟性能可以说天差地别,简单的算法可以在优良的电机跑起来但是不一定能在性能差的电机跑起来。
首先,云台电机需要要求电机的充磁特性是横向充磁(便于FOC控制),而且最好充磁特性呈均匀分布。不同的厂家,不同价格的电机肯定是性能上参差不齐,所以需要调整算法使适应性更广
另外,手持云台一般使用霍尔或者磁编码器给电机识别电角度。磁编码器还好一点,若是使用霍尔,则对电机安装的要求就会比较高,安装偏差大的会引起电角度不够均匀。
针对以上两个问题点:无刷电机FOC需要做一定的算法处理使能适应不同性能的产品。目前我这边用的是电机多点校准。刚开始做的多点校准算法不是占用SRAM多就是运行速度跟不上,但是2020年已经优化好这个多点校准算法。多点校准算法目前为止已经做的很成熟,占用SRAM少并且运行速度快。
2、手持云台三轴坐标转换问题
三轴手持云台需要做坐标转换,不同的结构坐标转换都不一样。需要适应云台全360度都能无死角控制,这个坐标转换也是需要下一点功夫的。目前坐标转换已经完成,360无死角控制。并且更换结构只需要微调参数。
3、手持云台的横竖屏切换
三轴手持云台涉及到一个全角度控制问题,一般的欧拉角计算是做不到全角度的,只能使roll轴小角度下pitch yaw实现-180到180,roll角度大的时候pitch yaw角度会出错。怎么解决这个问题呢,这个我们得知道一个情况:四元素是可以表示全角度的,所以从四元素入手。
4、姿态控制
姿态控制,常规的串级PID是比较简单的一种方法,然而在云台这里精度还差一点。无法实现高精度控制。过去一年也是花了很多时间精力在新的控制方式:
ADRC自抗扰控制,这个控制包括最速微分跟踪器、扩张状态观测器、非线性误差状态反馈控制律;而扩张状态观测器(ESO)是ADRC的核心,ESO的算法包括滤波和计算扰抗,然后根据扰抗给系统做出更加精确的控制。具体细节下一篇文章将会专门谈谈我对ADRC的心得,完全自主编写的ESO代码,完全调试好的控制。