5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)

标题: AHRS温飘越来越严重 [打印本页]

作者: wgx602    时间: 2011-5-19 21:22
标题: AHRS温飘越来越严重
今天飞X650,刚开始1-2分钟还好,接下来就老是向左飘,而且飘的速度逐渐加大。回来后先校准AHRS然后进行测试,发现横滚的角度在700秒内增加了2.4°,原来是有一点温飘的,最多也就是0.5°,现在居然有2.4°,请X大解释一下AHRS是否老化了,难道寿命就这么短吗?:em17:
作者: den_18    时间: 2011-5-19 22:01
:em15: 温漂,是一个简单又难解决的问题,就像一些基准的仪器,对付温漂就是用更高级的零级和采用恒温技术
作者: xaircraft    时间: 2011-5-20 00:11
AHRS里面的传感器,没猛烈炸鸡过,不会有什么问题的。
如果要测量温飘,应该以一个恒温,然后几组加温的方式,比较测试结果,才准确。

我们使用的MEMS陀螺,你基本上可以忽略温飘。在俄罗斯,零下几十度的冬天都飞的好好的。

AHRS倾斜2度,肉眼根本看不出来....

[ 本帖最后由 xaircraft 于 2011-5-20 00:13 编辑 ]
作者: wgx602    时间: 2011-5-20 10:18
X你们这样的解释我个人认为很不负责任:em09: ,AHRS倾斜2度,肉眼是很难看出来,但倾斜2度飞机就不会漂移吗?我测试了很多次都是这样,并不是偶然现象,AHRS随着温度的增加横滚的角度逐渐加大,但俯仰的角度没有什么变化,刚开始悬停还可以,基本可以放手,但1-2分钟后便开始向左飘,角度越来越大,在控上用很大的杆量才能恢复,我在网上看了一下其他用户也有相同的情况,并不是个案,难道这是正常的吗?那你们产品的误差标准又是怎样的?可以公布一下吗?用户反映出来这样那样的问题你们总是采取避重就轻的态度,归结于设备失控、安装问题、操控失误等,难道你们的产品已经很成熟吗?希望你们本着用户利益至上,以实事求是的态度给我们一个合理的解释。
作者: xaircraft    时间: 2011-5-20 10:41
原帖由 wgx602 于 2011-5-20 10:18 发表
X你们这样的解释我个人认为很不负责任:em09: ,AHRS倾斜2度,肉眼是很难看出来,但倾斜2度飞机就不会漂移吗?我测试了很多次都是这样,并不是偶然现象,AHRS随着温度的增加横滚的角度逐渐加大,但俯仰的角度没有什么 ...


您误解我的意思了,我的意思是说2度的偏差可能是因为位置摆放引入的。因为肉眼没办法分辨是否有2度角度的倾斜。

在没有温箱测试环境下,更加准确的测试应该是对比式的。MEMS陀螺的一致性是很好的。

如果是1-2分钟后慢慢倾斜,这个常见问题一般都是机架震动过大引起,看看螺旋桨是否有缺口、电机轴是否有弯曲,或者安装方式是否得当。
下面的链接可以帮助您:
http://bbs.5imx.com/bbs/viewthread.php?tid=487998

[ 本帖最后由 xaircraft 于 2011-5-20 10:46 编辑 ]
作者: abin    时间: 2011-5-20 11:19
楼主,你反馈的情况,应该不是温飘引起的。
先检查下机架和AHRS固定吧,如电机轴是否弯曲等。
作者: wgx602    时间: 2011-5-20 12:05
我再补充一下,我测试时是将飞机放在相对水平的平台上,将气泡水平仪放在AHRS上进行校正(校正后横滚角度开始是0度,几分钟后增加2度以上),所以不存在:1.摆放的问题,2.AHRS肯定没有松动,3测试时是在静止的状态下,与电机轴弯曲没有关系,3.横滚变化2度以上是通过示波器监测的,不是肉眼。
那你说不是温飘,这种现象又是什么呢?
作者: wgx602    时间: 2011-5-20 12:41
刚才又测试了一次,横滚起始角度是1.5度,800秒后达到4.4度,漂移了2.9度。此时要恢复到原来的1.5度需要在一边的脚架下垫高17mm,这时飞机已经很倾斜了,如果这样用肉眼都看不出来,那就是眼睛的问题了:em15: 。
作者: fujianshu    时间: 2011-5-20 13:14
围观ing
作者: abin    时间: 2011-5-20 13:14
在之前你发的帖子里,我已经回复过一次了呀,请查看22楼
http://bbs.5imx.com/bbs/viewthread.php?tid=487614
作者: wgx602    时间: 2011-5-20 13:29
我还是搞不懂,像我的这个AHRS在10分钟内横滚角度漂移了约3度算是正常的吗?如果是这样我无话可说了。
作者: abin    时间: 2011-5-20 13:39
原帖由 wgx602 于 2011-5-20 13:29 发表
我还是搞不懂,像我的这个AHRS在10分钟内横滚角度漂移了约3度算是正常的吗?如果是这样我无话可说了。


请问,怎么加热的?加热到多少度?
作者: wgx602    时间: 2011-5-20 13:48
没有加热,自然升温。起始温度27度,月10分钟后33度左右。
作者: abin    时间: 2011-5-20 13:56
原帖由 wgx602 于 2011-5-20 13:48 发表
没有加热,自然升温。起始温度27度,月10分钟后33度左右。


我明白了。
你说的那个不是温漂。搞了半天还以为你用热风枪加热的。

有个办法:
你把AHRS设置中的 俯仰和横滚的 P值调大(1.31固件下,AHRS这个值应该是0.4)你调整为1或者更大一些。再看看结果
作者: wgx602    时间: 2011-5-20 13:57
还有将飞机放在一个固定的地方,校准AHRS后不动飞机,然后对AHRS进行测试,每次测试时横滚的起始角度都不一样,有时是-1点几度,有时是+1点几度,这又如何解释呢?
作者: wgx602    时间: 2011-5-20 14:01
老大呀,将P值调大,比如到2时,情况有很大的好转,但这时飞机飞不起来,一加大油门飞机就翻到。
作者: wgx602    时间: 2011-5-20 14:07
还有我的AHRS默认的P值是0.4,I值是0.0001,这时正确的吗?这个I值与你刚才给我的0.01相差很大耶。
作者: abin    时间: 2011-5-20 14:26
原帖由 wgx602 于 2011-5-20 14:01 发表
老大呀,将P值调大,比如到2时,情况有很大的好转,但这时飞机飞不起来,一加大油门飞机就翻到。


这个P值的意思是,陀螺和加速度计融合的比例关系。

你所说的所谓“漂移”,其实是陀螺积分的误差(发散),这个误差需要通过加速度融合才能消除(这是X650或者X450能够悬停模式自动平衡的关键,kk等飞控没有加速度计,只能在类似X650或X450的航线模式下飞行)。

陀螺积分对震动是不敏感的(积分对震动不敏感,不知道能否理解这个),但积分会发散(一旦有误差引入会一直被累积起来,慢慢的就越来越大了),要消除这个误差,就需要用另外的数据来消除,这个数据就是加速度,这也是惯导的基本原理。

但是加速度计对震动敏感。我们一直在强调请检查机架的震动就是这个原因,任何有带自动平衡的飞控系统,都需要考虑减震问题。
因为:
当需要用加速度的数据来校准(一般专业点的用融合这个词)陀螺积分的误差时,如果加速度计受到很大的震动,这样校准出来的数据就会很不准确,机器自然就不能平衡了。

而这个P值,就是在调整陀螺和加速度计之间的一个融合的比例关系。如果机架震动很大,或者在空中做剧烈运动(此时加速度计的值不能准确的反馈出机器倾斜的角度,如果这个数据用来校准陀螺的积分误差,机器肯定就会出问题的,算法就需要保证这样的情况不会发。AHRS自身能够知道是不是在距离运动,但是不能判断这个运动是否来自飞行还是来自机架的大量震动。在剧烈运动的时候,算法会自动减少该值参与陀螺积分的误差融合工作,从而提高计算角度的精确性)P值越大,受到干扰的信号就越强。所以就不能飞行了。事实上,在能够抑制住积分误差的情况下,P值应该是越小越好。你可以适当的调大一点点P值 ,比从0.4 到0.5或0.6.如果你飞行还不是非常暴力,基本上感觉不出差别。


我们之前发布过一些飞控的测试视频,其实就是在从实际效果中展示融合算法的优越性,这也是飞控越秀的关键:


[ 本帖最后由 abin 于 2011-5-20 14:29 编辑 ]
作者: wgx602    时间: 2011-5-20 14:56
我感觉还是因温度变化引起的,因为:
1.当温度从27度上升到33度(AHRS工作的最大升温)的过程中,角度也在不停的增大(2-3度)。
2.当AHRS的温度在33度时开始测试,AHRS的温度不再增大,这时角度也基本没有什么变化,最多也就是0.1-0.2度左右,时间再长也是一样。
作者: abin    时间: 2011-5-20 14:59
原帖由 wgx602 于 2011-5-20 14:56 发表
我感觉还是因温度变化引起的,因为:
1.当温度从27度上升到33度(AHRS工作的最大升温)的过程中,角度也在不停的增大(2-3度)。
2.当AHRS的温度在33度时开始测试,AHRS的温度不再增大,这时角度也基本没有什么变化 ...


看来,还是没能理解呀.......

陀螺启动积分出误差来,这个时候加速度参会修正。2个数据之间在误差越小的时候,修正的越慢(把P值调大,修正的快了)。

陀螺相关的温度漂,已经在你上一个帖子详细说了(22楼)。

做硬件和软件开发的,要的是准确的数据 ,不是感觉呀。
陀螺等芯片的数据,厂商提供的datasheet是非常严谨而且是唯一可以信赖的数据,你不可以不信任它,因为那是整个算法的基石呀。

[ 本帖最后由 abin 于 2011-5-20 15:01 编辑 ]
作者: xmnjsl    时间: 2011-5-20 15:12
我还以为是漂移24度呢,吓一跳。2.4度,没什么问题的。据我经验,它也不一定就固定在2.4度了,可能会不断上下变化。实际飞行中,你能悬停1-2分钟不动,已经很好了啊。没有gps的情况下,即使是悬停,也不可能撒开摇杆,所以,2.4度不算什么。如果是24度,就要修了。
每次通电后,数值都不太一样,我也一样,但一般就是在水平位置,算是可接受的范围了,对飞行影响不大。

[ 本帖最后由 xmnjsl 于 2011-5-20 15:16 编辑 ]
作者: wgx602    时间: 2011-5-20 15:25
LS的你可能没看清楚,不是1-2分钟不动,是1-2分钟不乱动(基本用很小的杆量就可以修正,然后可以松杆一下),接下来就是老向左飘,要用一定的杆量才能使飞机停住,不能松杆,一松杆飞机又跑了。2.4度不算什么吗?你试试看把飞机倾斜2.4度,飞机就变成兔子了:em15: 。
作者: 桂冠vivi    时间: 2011-5-20 15:28
我这几天都是烈日下飞行 每次2块电池25分钟 根本没有任何温飘影响,最后都是稳稳悬停然后降落
作者: wgx602    时间: 2011-5-20 15:38
abin你的理论我还是看得懂的,可能是你没能理解我的意思。
我是说AHRS没有温度的变化,角度就不会有变化。在这里与震动没有关系吧。
我的AHRS有角度的变化是事实,怎么是感觉呢?
陀螺芯片厂商提供的只是数据,能代表合格者吗?能保证每一个芯片都没有问题吗?这是两码事呀。
还有陀螺漂移校正默认参数i值到底是多少呀?我的是0.0001。
作者: abin    时间: 2011-5-20 15:41
原帖由 wgx602 于 2011-5-20 15:38 发表
abin你的理论我还是看得懂的,可能是你没能理解我的意思。
我是说AHRS没有温度的变化,角度就不会有变化。在这里与震动没有关系吧。
我的AHRS有角度的变化是事实,怎么是感觉呢?
陀螺芯片厂商提供的只是数据,能 ...


我外出测飞,晚上回来再答复你。 :)
作者: abin    时间: 2011-5-21 00:49
看到你对X的情节帖子,倍受感动,所以这次回复详细点,也用于回报对我们的支持:

首先是关于温飘定性的问题,当你把AHRS角度的飘动看成是温飘的时候,那么它永远是温飘。

AHRS一定存在温飘,只是这个温飘是否会影响到飞行,从机械式陀螺(我们X600D,MK1.1-1.3版本,以及现在KK使用的陀螺都是这类,具有比较大的温飘,但是算法控制得当,飞行也是没问题的),再到我们当前X650使用的MEMS陀螺,具有极小的温飘,几乎可以忽略。这些的数据来源不只是我们测试,还有陀螺制造商给出的datasheet。都能清晰的知道陀螺的温度漂移细节。我这里就不重复了,因为在你发的第一关于温飘的帖子的22楼,我已经详细说了一些。如果有疑问的地方,咱们再深入沟通。

在打字的瞬间,我突然发现,我就像个老师一样,不停的在教学............ 跑题...回到话题来。

在理解这个角度的变化前,你首先要明白为什么会变化,除了温度变化会引起这个角度变化,还有其他什么会引起变化:
关于温度的变化,会引起角度的变化 ,我就不说了,因为你已经懂了。
我重点说其他引起变化的可能。

每个陀螺系统除了温飘这个基本参数外,还有如果输出噪音 ,输出线性度等等参数。陀螺输出的是角速度。要得到角度就必须对角速度做积分,这个积分是离散积分。因此至少会有3个误差被引入:
1:陀螺本身的输出噪音
2:陀螺输出的线性度
3:离散积分的误差

对于我们采用的陀螺,大约每3mv输出就代表1度/秒。如果持续输出1秒的3mv,就可以被认为旋转了1度。有了这个概念后,就好理解陀螺的误差了。
当陀螺输出有噪音的时候,随着时间的变化,积分的角度一定会越来越不准。同理,陀螺的线性也会引起,还有就是离散积分本身也会引入一些误差。
因此,陀螺的积分,在控制系统短周期,比如500毫秒内,可以有不错的精度,比如500毫秒偏差0.5度(这个性能主要取决于陀螺的性能),但是长周期来说,陀螺的积分出来的角度就会越来越不准,我们当前的陀螺积分大约是1分钟6度的误差,我们早期x600d的陀螺,大约是1分钟20度-30度的漂移(请不要惊讶,mk早期也是采用这个陀螺飞行一样稳定,kk也是采用这个陀螺,也飞行的平稳,就是当前原装mk 2.0的板子,一分钟也有十几度的漂移)。

越好的陀螺,这个稳定性越好,军品光纤陀螺,可以达到1小时0.几的漂移,甚至更好。可以用于航海和空间制导等.....

单纯依靠陀螺长时间计算出准确的角度来是个问题。因此有了捷联惯导,简单的说就是找一个参考量,时不时的修正一下这个陀螺的积分,让他把误差剔除掉。
我们把这个修正的过程叫做融合。这个参考量就是加速度计。

介绍到这里,有必要说明下什么是加速度计:
加速度计就是能够测量出运动加速度的传感器,不仅仅如此,他还能测量出重力加速度。当加速度计在静止的时候,就会输出一个重力加速度。当传感器倾斜时,即可通过三角函数解算出倾斜角度(很多手机都有这个传感器,你可以用他来开赛车游戏等)。请注意。加速度计只有在静止的时候才能测算出准确的倾斜角度。当在运动的时候,角度就会不准确。因为运动的时候,加速度计不只是受到重量加速度,还有运动的加速度。

刚才说到了陀螺积分在短周期内是靠谱的,在长周期内是不靠谱的。而加速度计在静止的时候是靠谱的 ,在运动的时候是不靠谱的。
我们可以把多旋翼看成是一个不断悬停的飞行器(悬停时可以通过滤波实现加速度的相对准确的角度计算),因此在长周期来说 ,我们可以通过加速度计的滤波来计算出准确的角度。

如果阅读到这里,你可以这样理解:陀螺在短周期内的数据是靠谱的,长时间的是不靠谱的,而加速度计在短时间内是不靠谱的(因为震动和运动会极大的影响到加速度的计算),在长时间来看,只要悬停了,就是靠谱的。

好,算法来了....
什么卡尔曼啦,什么互补滤波器啦,什么... 反正很多很多。这些算法,都在于如何更加优秀的解决在各种飞行条件下,陀螺和角速度互补,得到准确角度的问题。
关于滤波器算法的介绍,此处省略10万字....

不管怎么说,反正AHRS里面有个算法,来让这两个传感器的数据融合起来,得到准确的角度。

有了准确的角度,还需要把这个角度根据载机坐标系和地面坐标系做一些变换,然后适应飞机在飞行时,轴的耦合。

好,算法再次来了...
什么四元数啦,什么欧拉角啦,什么方向角啦...反正也很多很多。这个算法决定了你做飞行动作的时候会不会憋手,比如8字航线什么的。
关于轴耦合的算法介绍,再次省略10万字...


说了这么多,如果能理解过来,现在可以解释几个问题了:
1:为什么AHRS怕震动,因为如果震动太大,AHRS就会认为飞机一直在运动,而没有悬停,这个时候陀螺积分的漂移就没办法修正,所以就往一边飞去咯...... 一部分玩家说的不可控(失控)就是由于这个问题导致的。
2:为什么AHRS启动的时候会慢慢飘一点,然后稳定下来。其实当AHRS一上电的时候,马上就会开始计算角度,这个时候加速度计也会开始输出角度,时间一长陀螺的误差就出来了,随着误差越来越大,加速度计输出的角度修正这个误差的速度越来越快。直到2者达成一种平衡,即修正的速度和陀螺积分漂移的速度一致。这样就不飘了。假设达到平衡时的角度是3度。其实设置AHRS里面的一个P值来调整这两者的平衡值。P值越大,加速度计参与的越快越多,可能漂移还没有1度,就达到平衡了。wgx602,你所说的“温飘”就是这个引起的。


关于“陀螺芯片厂商提供的只是数据,能代表合格者吗?能保证每一个芯片都没有问题吗?”这句,其实我可以说是肯定的。
你唯一能信赖的,也是必须信赖的。对于半导体芯片,这些大的芯片提供商是非常靠谱的,况且我们的陀螺还是工业级指标的。所以不可以不信任。

[ 本帖最后由 abin 于 2011-5-21 01:06 编辑 ]
作者: 40138    时间: 2011-5-21 08:53
标题: abin你好!
最简单的办法!让他把模块寄回厂,你们帮他检查一下不就清楚了!
作者: vv.vv    时间: 2011-5-21 19:57
:em20: :em20:
作者: auuuux2011    时间: 2011-5-23 10:49
看了abin 对角速度和加速度融合解算姿态的解释, 真是深入浅出, abin  真的很有当老师的潜质啊
作者: redstrong    时间: 2011-5-23 14:06
lz的温漂,如果x650选的芯片不是数字输出的,很大的可能就是ad转换过程中产生的。
作者: bdkonly    时间: 2011-5-23 22:37
标题: 哎,没意思
我就想问楼主个问题:
楼主是不是这样测试的,给AHRS上电,此时温度是27°,然后工作一会,AHRS温度上升到了33°,在这个过程中AHRS输出角度变化了2.4°?然后AHRS温度一直维持在33°左右,AHRS的输出角度也不再变化了?
作者: wgx602    时间: 2011-5-24 00:05
原帖由 bdkonly 于 2011-5-23 22:37 发表
我就想问楼主个问题:
楼主是不是这样测试的,给AHRS上电,此时温度是27°,然后工作一会,AHRS温度上升到了33°,在这个过程中AHRS输出角度变化了2.4°?然后AHRS温度一直维持在33°左右,AHRS的输出角度也不再变化 ...

是的,如何解释?
作者: bdkonly    时间: 2011-5-24 13:19
标题: 是这样的话,那应该可以这么分析
我认为问题的关键在于时间,而不在于温度。楼主你注意到的只是一个温度的变化,从27°到33°。实际上你可以测试从上电到陀螺仪输出角度误差2.4°这个过程所需的时间(我们先假设是3分钟),我估计不管在什么温度条件下,只要开机时间达到了“3分钟”,那么陀螺的输出误差都会是是2.4°左右。
如果楼主实测的结果就如我上面所说,那么问题的关键就在于算法中对陀螺角速度积分的处理了,简单点讲,角度=时间X角速度,这就要看算法中这个时间是怎么处理的了,不同的处理方法会导致不同的累积误差。
下面我举个例子,希望楼主能理解。陀螺仪都存在随机游走这个指标,简单的说就是每秒随机偏差多少度,我们现在假设这个随机游走的波形是个周期为6分钟的正弦波,然后AD对陀螺仪的输出进行采样,在正弦波的前半个周期(就是3分钟)内,AHRS的输出误差就是3分钟内的累积采样误差,共计2.4°。
当然,我举的例子是最简单的例子,实际上算法里会对各种游走值做处理,但是处理效果就不知道如何了。
另外,X650上对加速度值的处理也是很关键的,从很多模友反应的情况来看,X650存在“当四轴震动较大时,AHRS不能准确判断姿态”的问题,这也许是软件中对加速度计输出值的处理不够得当吧……以前我们做过类似的测试,把加速度计MMA7260直接用热熔胶固定在XXD2212(1000KV)的底座上(配1045的桨)。然后整个底座用手按在桌子上。当电机加速时,整个座子震动非常大(安装时桨叶没有对正),手按着都觉得麻。然后上位机上得出的姿态也是剧烈震动,根本无法判断整体的姿态,后来在软件中加了许多的处理后才把问题解决,能比较准确的反应整体姿态,但是代价就是存在一定的响应延时。所以这里也不知道X650是怎么处理加速度值的。
以上纯粹的个人看法,仅仅针对技术层面而言。
小生不才,让各位见笑了……

[ 本帖最后由 bdkonly 于 2011-5-24 13:30 编辑 ]
作者: 自旋翻LI    时间: 2011-5-24 17:28
:em26:




欢迎光临 5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年) (http://bbs.5imx.com/) Powered by Discuz! X3.3