【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】
传统的飞控,尤其是无人机,或者是四旋翼,最多是一个玩具。正是由于dji的存在,让飞控和camera做了一个巧妙的结合,从而迸发出巨大的生命力。人类对飞行的向往是与生俱来的,而飞控+四旋翼的出现,帮助人们完成了这么一个梦想。所以我们学习camera的同时,可以更多地拓宽一下自己的眼界,比如camera+飞控,就是这么一种巧妙的结合。

1、飞控的输入
飞控的输入主要是来自于两个方面,一方面是操作者的按键命令,比如说是上升、下降,还是左转、右转、前进、后退,或者是原地正向旋转、逆向旋转。另外一方面,就是imu传感器,有了这个传感器,通过计算得到角速度、角加速度。
2、飞控的输出
飞控的输出,则是通过pwm,借助于驱动板,对四个电机进行设置。**整体上,按键的油门,可以看成是四个电机的一个总转速之和。**但是四个电机是如何分配的,这里面就要看操作者是想做什么动作了。
假设是上升,那么1、2、3、4同时开始增大转速,反之,下降就是同时降低转速。左转的话,可以保持2、4转速不变,降低1的转速,增大3的转速,右转类似。前进、后退也是一样,保持1和3的转速,调整2和4的转速,形成一个速度差,就可以做出对应的效果。
如果是原地旋转,那么1、2、3、4之间依次是加速、减速、加速、减速,或者是减速、加速、减速、加速,就可以做出对应的动作。
3、控制目标
在控制手柄上面,方向方面最主要的是前、后和左、右操作,每一次操作其实就是设置一个目标旋转角度。要么是前、后旋转角度,要么是左、右旋转角度,对电机的控制,就是为了实现这样一个旋转角度。
4、旋转角度的计算
**角度本身是没有办法通过传感器imu直接获取的,主要是通过积分、卡尔曼滤波和四元数的方法获取。**当然测量的过程当中,不可避免地会引入噪声。怎么处理这些噪声也要花费很大的功夫。
5、控制方法
有了pwm,有了控制目标之后,下面就是通过自动控制算法实现这个控制目标。目前来说,用的最多的算法还是pid算法。**详细一点,就是角度控制外环 + 角速度控制内环 + 电机混控矩阵。**因为计算工作量不算特别大,并且对实时性要求有点高,所以一般都是用mcu来完成,尤其是stm32的mcu。
这样梳理下来,飞控的处理流程就是读取imu+读取key输入-》计算偏转角-》pid计算对应的pwm数值-》输出给四个电机。要做得好一点的话,可以6ms做一个时间中断,每次做一部分计算即可。

6、异常和告警的处理
当然除了飞控本身之外,异常和告警处理也是非常重要的。比如说电量告警,比如说传感器失效告警,比如说电机过热告警等等,这些异常的检测是每时每刻都需要做的。而且,很多时候,有一些器件还需要多余度设计,这样才能最大程度避免风险和降低损失。
7、飞控之上加一个相机
既然飞控ok了,这个时候上面就可以加一个soc开发板。soc本身都是为了拍摄图像做准备的,当然不仅仅是图像本身,还可以用这个soc做一些复杂的事情,比如说农业机器人、比如说军事作业、再比如避障和自动飞行,都可以通过soc来处理的。总之,飞控只是一个基础,大家可以在这个基础上做很多的事情。
注:
飞控的电机不需要编码器,这一点于机器人、AGV或者二轮小车不太一样。这是因为,电机转速和四旋翼的空速没有直接关系,一般是先控制姿态,再控制速度。