5iMX宗旨:分享遥控模型兴趣爱好

5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)
12
返回列表 发新帖
楼主: wgx602
打印 上一主题 下一主题

AHRS温飘越来越严重

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

[ 本帖最后由 xmnjsl 于 2011-5-20 15:16 编辑 ]

欢迎继续阅读楼主其他信息

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


我外出测飞,晚上回来再答复你。 :)
26
发表于 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 编辑 ]
27
发表于 2011-5-21 08:53 | 只看该作者

abin你好!

最简单的办法!让他把模块寄回厂,你们帮他检查一下不就清楚了!
28
发表于 2011-5-21 19:57 | 只看该作者
:em20: :em20:
29
发表于 2011-5-23 10:49 | 只看该作者
看了abin 对角速度和加速度融合解算姿态的解释, 真是深入浅出, abin  真的很有当老师的潜质啊
30
发表于 2011-5-23 14:06 | 只看该作者
lz的温漂,如果x650选的芯片不是数字输出的,很大的可能就是ad转换过程中产生的。
31
发表于 2011-5-23 22:37 | 只看该作者

哎,没意思

我就想问楼主个问题:
楼主是不是这样测试的,给AHRS上电,此时温度是27°,然后工作一会,AHRS温度上升到了33°,在这个过程中AHRS输出角度变化了2.4°?然后AHRS温度一直维持在33°左右,AHRS的输出角度也不再变化了?
32
 楼主| 发表于 2011-5-24 00:05 | 只看该作者
原帖由 bdkonly 于 2011-5-23 22:37 发表
我就想问楼主个问题:
楼主是不是这样测试的,给AHRS上电,此时温度是27°,然后工作一会,AHRS温度上升到了33°,在这个过程中AHRS输出角度变化了2.4°?然后AHRS温度一直维持在33°左右,AHRS的输出角度也不再变化 ...

是的,如何解释?
33
发表于 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 编辑 ]
34
发表于 2011-5-24 17:28 | 只看该作者
:em26:
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

关闭

【站内推荐】上一条 /1 下一条

快速回复 返回顶部 返回列表