如何计算欧拉角

如何计算欧拉角,第1张

欧拉角是用来唯一地确定定点转动明体位置的三个一组独立角参量,由章动角θ、进动角ψ和自转角φ组成,为L.欧拉首先提出,故得名。它们有多种取法,下面是常见的一种。

如图所示,由定点O作出固定坐标系Oxyz以及固连于刚体的坐标系Ox'y'z'。以轴Oz和Oz'为基本轴,其垂直面Oxy和Ox'y'为基本平面.由轴Oz量到Oz'的角度θ称为章动角。平面zOz'的垂线ON称为节线,它又是基本平面Ox'y'和Oxy的交线。在右手坐标系中,由带含ON的正端看,角θ应按逆时针方向计量。由固定轴Ox量到节线ON的角度ψ称为进动角,由节线ON量到动轴Ox'的角度φ称为自转角。由轴Oz和Oz'正端看,角ψ和φ也都按逆时针方向计量。欧拉角(ψ,θ,φ)的名称来大行哪源于天文学。

三个欧拉角是不对称的,在几个特殊位置上具有不确滚码定性(当θ=0时,φ和ψ就分不开)。对不同的问题,宜取不同的轴作基本轴,并按不同的方式量取欧拉角。

若令Ox'y'z'的原始位置重合于Oxyz,经过相继绕Oz、ON和Oz'的三次转动Z(ψ)、N(θ)、Z'(φ)后,刚体将转到图示的任意位置(见刚体定点转动)。变换关系可写为:

R(ψ,θ,φ)=Z'(φ)N(θ)Z(φ),

四元数多是用在中间环节,在最终的PID输出的时还是用的欧拉角。

我认为造成这个现象的根本原因是抄袭!!对,就是抄袭。

通过6轴或者9轴融合姿态角的判敏算法有两种,这两种我记得没错的话是英国人开发的(国籍可能记错了),并开源了,国内的枣冲配那些没有研发能力的团体和个人就是用的这个算法,而那个算法的中间环节均为四元数,输出是欧拉角。

我也是没有研发能力的个人,所以也不能透彻理解这个转换的意义,猜测可能是像拉式变换或者傅立叶一样,通过一种域的变换使计算过程简便,也就是三维的'复数域',再可能是通过四元数防止计算过程中出现超过欧拉角表示范围的问题。四元数在旋转合成方面会方便一些,计算量也少于欧拉角,但是!姿态算法里根本没有四元数的旋转合成。

国内的开源的四轴代码都是这样,还有以前看的一个开源代码开始还是开源的,后来还有限制了,就那破代码,也就开发者自己还觉得不错了。

这些代码没有核心的姿态算法的开发能力,就在传感器的数据上'下功夫',就是被玩坏的滤波器,MWC用的滑动均值滤波、互补滤波简单明了,可靠有效,但是我们的开发者不这么认为,不用上椭圆滤波器,多阶低通滤波器,卡尔曼滤波这些复杂的算法就是低端的体现,浮点运算随心情写,也不管用不用的上,能用浮点绝不定点,这都还好,反正他们用的芯片完成他们的代码就是用大炮打蚊子,有的是资源没用,双精度都算的过来。

其中我最受不了的就是他们的卡尔曼滤波了,那个叫卡尔曼?天启者 卡尔玛吧。那都什么算法啊,有什么用,定义个QR就开始计算了,几个矩阵就高大上了,完全的低通性能,就是抑制dv/dt,确实给信号的波动减少了同时也把传感器的中高频信号给过滤掉了,这个可以,问题是中高频都滤掉了,控制频率给提到400+hz是什么意思,信号带宽给限制到了100hz,再把控制频率给升高,有什么用?有什么用?

说的这些都是我能看到源码的算法,当然有很多没有公开源码的好的算法,国内的牛人很多很多,只是他们专注于卖套件,谁都想把自己的劳动有回报,凳指也不会公开,就是这个情况。

开源的国内代码就是这个质量,别想有什么突破,心态就是这样,别想短时间内有突破。

废话说了一堆也没解决你疑惑,实在抱歉。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12494791.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存