四旋翼算法
① 增量非线性动态逆(INDI)应用在四旋翼无人机中
增量型非线性控制方法在先进飞行控制领域中崭露头角,特别是增量型动态逆(INDI)与增量型反步法(IBKS)这类方法的流行。这些算法在多个领域,如直升机、四旋翼无人机、固定翼无人驾驶飞机、Cessna奖状机型、倾转旋翼机及电动垂直起降(eVTOL)真机上得到应用与验证。
INDI方法的核心在于对一阶系统进行增量形式的表达,简化为 ,其中x0代表上一采样时刻的x值,delta_u为上一采样时刻与当前采样时刻输入量的差值,delta_f为模型简化误差,采样频率越高,delta_f越小,因此在INDI中可忽略。跟踪误差定义为 。求导后得到 ,若要使误差系统指数收敛,指令delta_u应为 。若追求更快的收敛速度,可调整为 。最终,真实控制量u通过 计算得出。
在四旋翼无人机中应用INDI,主要针对角速度环动力学。四旋翼无人机的角速度环动力学方程为 ,其中。通过进一步推导,可得到 ,进而写成增量形式 。当采样时间足够小,delta_f可以忽略。角速度控制指令跟踪误差定义为 ,其动态方程为 。电机引起的力矩增量计算为 ,从而得到力矩指令 ,最终通过控制分配输出给各个电机。
② 为什么大多数的无人机有四个螺旋桨
大多数的无人机有四个螺旋桨主要是因为四旋翼设计在轻便性和性能之间取得了良好的平衡。具体原因如下:
- 稳定性与控制性:四旋翼无人机能轻松实现四个自由度的控制,使飞行器能在空中保持稳定飞行姿态或悬停。成对的螺旋桨相互角力可以完成前进、后退、俯仰旋转等动作。
- 结构简单:四旋翼无人机无需复杂的机械结构,相较于双旋翼设计,它不会增加额外的机械结构,从而保持了低成本和轻便性。
- 安全性:四旋翼设计在一定程度上能在某一个马达失灵时提供安全着陆的可能性。当飞行时无人机发生故障时,重心可能仍然落在剩下的三个螺旋桨形成的三角形中,有助于实现安全降落。
- 算法与冗余度:相较于三旋翼设计,四旋翼无人机在算法上更为简单,且具有一定的冗余度,提高了飞行的可靠性。
③ 四旋翼飞控里 为什么一定要用四元数用欧拉角不一样吗 就算用四元数也是将四元数转化为欧拉角进
四元数多是用在中间环节,在最终的PID输出的时还是用的欧拉角。
我认为造成这个现象的根本原因是抄袭!!对,就是抄袭。
通过6轴或者9轴融合姿态角的算法有两种,这两种我记得没错的话是英国人开发的(国籍可能记错了),并开源了,国内的那些没有研发能力的团体和个人就是用的这个算法,而那个算法的中间环节均为四元数,输出是欧拉角。
我也是没有研发能力的个人,所以也不能透彻理解这个转换的意义,猜测可能是像拉式变换或者傅立叶一样,通过一种域的变换使计算过程简便,也就是三维的'复数域',再可能是通过四元数防止计算过程中出现超过欧拉角表示范围的问题。四元数在旋转合成方面会方便一些,计算量也少于欧拉角,但是!姿态算法里根本没有四元数的旋转合成。
国内的开源的四轴代码都是这样,还有以前看的一个开源代码开始还是开源的,后来还有限制了,就那破代码,也就开发者自己还觉得不错了。
这些代码没有核心的姿态算法的开发能力,就在传感器的数据上'下功夫',就是被玩坏的滤波器,MWC用的滑动均值滤波、互补滤波简单明了,可靠有效,但是我们的开发者不这么认为,不用上椭圆滤波器,多阶低通滤波器,卡尔曼滤波这些复杂的算法就是低端的体现,浮点运算随心情写,也不管用不用的上,能用浮点绝不定点,这都还好,反正他们用的芯片完成他们的代码就是用大炮打蚊子,有的是资源没用,双精度都算的过来。
其中我最受不了的就是他们的卡尔曼滤波了,那个叫卡尔曼?天启者 卡尔玛吧。那都什么算法啊,有什么用,定义个QR就开始计算了,几个矩阵就高大上了,完全的低通性能,就是抑制dv/dt,确实给信号的波动减少了同时也把传感器的中高频信号给过滤掉了,这个可以,问题是中高频都滤掉了,控制频率给提到400+hz是什么意思,信号带宽给限制到了100hz,再把控制频率给升高,有什么用?有什么用?
说的这些都是我能看到源码的算法,当然有很多没有公开源码的好的算法,国内的牛人很多很多,只是他们专注于卖套件,谁都想把自己的劳动有回报,也不会公开,就是这个情况。
开源的国内代码就是这个质量,别想有什么突破,心态就是这样,别想短时间内有突破。
废话说了一堆也没解决你疑惑,实在抱歉。