有没有约化的双四元数三对角化算法
发布网友
发布时间:2022-05-29 05:14
我来回答
共1个回答
热心网友
时间:2023-10-05 04:09
四元数多是用在中间环节,在最终的PID输出的时还是用的欧拉角。
我认为造成这个现象的根本原因是抄袭!!对,就是抄袭。
通过6轴或者9轴融合姿态角的算法有两种,这两种我记得没错的话是英国人开发的(国籍可能记错了),并开源了,国内的那些没有研发能力的团体和个人就是用的这个算法,而那个算法的中间环节均为四元数,输出是欧拉角。
我也是没有研发能力的个人,所以也不能透彻理解这个转换的意义,猜测可能是像拉式变换或者傅立叶一样,通过一种域的变换使计算过程简便,也就是三维的'复数域',再可能是通过四元数防止计算过程中出现超过欧拉角表示范围的问题。四元数在旋转合成方面会方便一些,计算量也少于欧拉角,但是!姿态算法里根本没有四元数的旋转合成。
国内的开源的四轴代码都是这样,还有以前看的一个开源代码开始还是开源的,后来还有*了,就那破代码,也就开发者自己还觉得不错了。
这些代码没有核心的姿态算法的开发能力,就在传感器的数据上'下功夫',就是被玩坏的滤波器,MWC用的滑动均值滤波、互补滤波简单明了,可靠有效,但是我们的开发者不这么认为,不用上椭圆滤波器,多阶低通滤波器,卡尔曼滤波这些复杂的算法就是低端的体现,浮点运算随心情写,也不管用不用的上,能用浮点绝不定点,这都还好,反正他们用的芯片完成他们的代码就是用大炮打蚊子,有的是资源没用,双精度都算的过来。
其中我最受不了的就是他们的卡尔曼滤波了,那个叫卡尔曼?天启者 卡尔玛吧。那都什么算法啊,有什么用,定义个QR就开始计算了,几个矩阵就高大上了,完全的低通性能,就是抑制dv/dt,确实给信号的波动减少了同时也把传感器的中高频信号给过滤掉了,这个可以,问题是中高频都滤掉了,控制频率给提到400+hz是什么意思,信号带宽给*到了100hz,再把控制频率给升高,有什么用?有什么用?
说的这些都是我能看到源码的算法,当然有很多没有公开源码的好的算法,国内的牛人很多很多,只是他们专注于卖套件,谁都想把自己的劳动有回报,也不会公开,就是这个情况。
开源的国内代码就是这个质量,别想有什么突破,心态就是这样,别想短时间内有突破。
废话说了一堆也没解决你疑惑,实在抱歉。