智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 48095|回复: 173
打印 上一主题 下一主题

谈谈对陀螺仪和加速度传感器的感性认识

    [复制链接]

4

主题

138

帖子

0

精华

高级会员

Rank: 4

积分
838
威望
405
贡献
285
兑换币
26
注册时间
2009-11-4
在线时间
74 小时
跳转到指定楼层
1#
发表于 2011-11-5 11:08:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 liqinling890925 于 2011-11-5 11:14 编辑

前几天看到官网的新规则 觉得很有意思 看看自己帐号注册2年多了 比赛也做了2届 从论坛上下了大堆资料 也没给论坛贡献什么有价值的东西 实在惭愧啊 正好自己以前捣鼓过一段时间四轴飞行器 把当时收集的一些资料发上来大家共享下吧 大部分取自网络 还有一部分自己的思考 重要的地方用红字标明了 来自网络的都用蓝字标明 本人才疏学浅 论坛里藏龙卧虎 有不对的还请大家指正 新手看看全当一个感性认识。由于时间太长 就不标原文地址了 大家搜搜都能搜到 另外 四轴飞控论坛上已经看到有人跑过去要7260 和EN—03的资料了 嘿嘿 数据手册其实很好找的 相关资料也很多的 大家多多利用搜索引擎啊
       加速度传感器测的是什么?
       我觉得很多时候大家都被它的名字给误导了 我觉得准确的来说它测的不是加速度 至少对于mma7260这类的片子 它检测的是它受到的惯性力(包括重力!重力也是惯性力)。那又有人要问了 F=ma 惯性力不就是加速度么? 差矣 加速度传感器实际上是用MEMS技术检测惯性力造成的微小形变 注意 检测的是微小形变 所以 你把加速度传感器 水平静止放在桌子上 它的Z轴输出的是1g的加速度 因为它Z轴方向被重力向下拉出了一个形变 可是你绝对不会认为它在以1g的加速度往下落吧 你如果让它做自由落体 它的Z轴输出应该是0  给个形象的说法 可以把它看成是一块弹弹胶 它检测的就是自己在三个方向被外力作用造成的形变。从刚才的分析可以发现 重力这个东西实际是个很恶心的东西 它能隔空打牛,在不产生加速度的情况下对加速度传感器造成形变,在产生加速度的时候不造成形变,而其他力都做不到。可惜的是,加速度传感器不会区分重力加速度与外力加速度。
       所以,当系统在三维空间做变速运动时,它的输出就不正确了 或者说 它的输出不能表明物体的姿态和运动状态 举个例子 当一个物体在空间做自由落体时 在X轴受到一个外力作用 产生g的加速度 这时候x y z 轴的输出分别是 g,0,0  如果这个物体被x轴朝下静止放在水平面上 它x y z 轴的输出也分别是 g,0,0 所以说 只靠加速度传感器 来估计自己的姿态 是 很危险而不可取的
      加速度传感器有什么用?
      加速度计,可以测量加速度,包括重力加速度,于是在静止或匀速运动(匀速直线运动)的时候,加速度计仅仅测量的是重力加速度,而重力加速度与刚才所说的R坐标系(绝对坐标系) 是固连的,通过这种关系,可以得到加速度计所在平面 与 地面 的角度关系 也就是横滚角和俯仰角 计算公示如下 俯仰角横滚角
      陀螺仪测的是什么?
      陀螺仪可以测量角速度,具有高动态特性,但是它是一个间接测量器件,它测量的是角度的导数,角速度,显然我们要将角速度对时间积分才能得到角度 看到积分 我想敏感的同学马上就能发现一个致命的问题 积分误差
      积分误差的来源 主要有两个 一个是积分时间 积分时间Dt越小,输出角度越准 一个是器件本身的误差 假设陀螺仪固定不动,理想角速度值是0dps(degree per second),但是有一个偏置0.1dps加在上面,于是测量出来是0.1dps,积分一秒之后,得到的角度是0.1度,1分钟之后是6度,还能忍受,一小时之后是360度,转了一圈 所以说 陀螺仪在短时间内有很大的参考价值
     陀螺仪另外一个问题是 它的测量基准是自身,并没有系统外的绝对参照物 重力轴是个绝好的参照物 因此需要陀螺仪和加速度传感器的配合使用 如果要测偏航角YAW 还需要电子罗盘感知地磁方向 给出水平方向的绝对参考(当然这个在智能车上不存在吧······——!)
     陀螺仪和加速度传感器的融合
     除了给出绝对参考系 陀螺仪和加速度传感器相互融合使用的最重要的原因是:
     综合考虑,加速度计是极易受外部干扰的传感器,但是测量值随时间的变化相对较小。陀螺仪可以积分得到角度关系,动态性能好,受外部干扰小,但测量值随时间变化比较大。可以看出,它们优缺点互补,结合起来才能有好的效果
     用通俗点的话来说 就是 无论工作多久 加速度传感器如果没收到外部干扰 它测的就一定是准的! 陀螺仪虽不会受到外部干扰 可是时间长了 由于积分误差累计 它的值就全错了!
     所以两个数据融合的方法就是 设计算法在短时间尺度内增加陀螺仪的权值,在更长时间尺度内增加加速度权值,这样系统输出角度就更真实了
再通俗点说 就是 隔一段时间 用加速度传感器的值修正一下陀螺仪的积分误差 然后在隔的这段时间内 用陀螺仪本身的角度积分
     其实MK四轴的平衡算法也是这样,首先对陀螺仪做PI运算,其中I的真正含义就是积分反演角度
有了陀螺仪PI算法,四轴就有了瞬时增稳,就可以遥控飞了,但是它不会永远水平
由于累积误差的作用,很快中立点就不是水平位置了,这时候就需要用加速度不断的纠正陀螺仪积分误差。

你可以看到MK算法中有根据加速度方向不断把积分量I递减清零的代码,就是这个融合算法的核心了
MK立足于一个高级航模玩具,为了在低成本8位单片机上运行,不去显式的计算姿态角,只把校正后的PI值输出负反馈控制电机了


这样的好处是基本上只用整型算法就能完成运算,而要显式的计算姿态角,更专业的做法就是KALMAN滤波显式求解姿态
卡曼滤波也是在对历史数据积分,并且可以同步融合陀螺仪与加速度数据,陀螺仪与加速度贡献权值还可以通过滤波参数调整
所以它就成了惯性数据处理的经典算法,他的缺点是浮点运算量较大,对系统资源要求较高

            
至于具体的KALMAN滤波算法 网上大把大把的 这里就不多赘述了

总结一下就是:
PITCH/ROLL角速度积分->PITCH/ROLL姿态角,再结合加速度纠正累积误差   

发两张四轴论坛上feng_matrix大侠发的两张图



最后说一下自己以前在做四轴时碰到的问题
1 数据类型非常重要 很多时候精度误差计算都错在数据类型 小数点上 尤其是AD值(int) 往电压值 角度值(float)转换时 一定要注意!
2 一定要注意陀螺仪的积分时间!!一定要注意 搞清楚自己程序里陀螺仪值的积分时间 看清数据手册中的电压值和角速度的关系 千万不要搞错 仔细仔细再仔细
3 EN-03这个片子我没用过 主要当时考虑性能实在太········但既然组委会规定了 大家就好好适应 毕竟都在一个平台上了 但是印象中这款片子输出值很小 好像使用上都是借个运放 还有 一定要注意温漂!!陀螺仪上的温漂太可怕了 EN-03有没有温度反馈脚记不得了·······如果有 大家一定要用上 如果没有 想想办法怎么解决温漂吧·····


最后 祝新一届的小弟们能在第七届里取得好成绩!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

4

主题

138

帖子

0

精华

高级会员

Rank: 4

积分
838
威望
405
贡献
285
兑换币
26
注册时间
2009-11-4
在线时间
74 小时
推荐
 楼主| 发表于 2011-11-5 13:53:08 | 只看该作者
回复 7# kayats
晕 刚才找了下 发现那个视频是你的·····汗····看你说就是用的ENC—03的 不错啊 温漂怎么解决的?
回复 支持 1 反对 1

使用道具 举报

2

主题

114

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1073
威望
546
贡献
179
兑换币
32
注册时间
2010-11-11
在线时间
174 小时
推荐
发表于 2011-11-5 11:23:08 | 只看该作者
回复 6# liqinling890925


    原则上是,降低比赛门槛,.. 同时也提高比赛难度...
回复 支持 0 反对 1

使用道具 举报

49

主题

3751

帖子

1

精华

顶级版主

Rank: 11Rank: 11Rank: 11Rank: 11

积分
27948

资源大师奖章论坛骨干奖章推广达人奖章优秀版主奖章热心会员奖章论坛元老奖章在线王奖章活跃会员奖章优秀会员奖章技术大牛奖章

威望
10632
贡献
10964
兑换币
4564
注册时间
2010-11-23
在线时间
3176 小时
2#
发表于 2011-11-5 11:15:35 | 只看该作者
本帖最后由 turf456 于 2011-11-5 11:18 编辑


已加精
回复 支持 反对

使用道具 举报

4

主题

138

帖子

0

精华

高级会员

Rank: 4

积分
838
威望
405
贡献
285
兑换币
26
注册时间
2009-11-4
在线时间
74 小时
3#
 楼主| 发表于 2011-11-5 11:16:23 | 只看该作者
回复 2# turf456
凤姐不愧是沙发王········
回复 支持 反对

使用道具 举报

11

主题

102

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2751
威望
1242
贡献
509
兑换币
229
注册时间
2011-5-22
在线时间
500 小时
4#
发表于 2011-11-5 11:17:46 | 只看该作者
mark
回复 支持 反对

使用道具 举报

2

主题

114

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1073
威望
546
贡献
179
兑换币
32
注册时间
2010-11-11
在线时间
174 小时
5#
发表于 2011-11-5 11:17:49 | 只看该作者
说得挺不错呢...

ENC-03有一个基准源输出,但基准源本身是漂的. 输出也在漂..所以..呵呵..

enc 能30秒不漂走已经很牛X了... 所以如果比赛有1-2分钟才能跑完的话... 呵呵
回复 支持 反对

使用道具 举报

4

主题

138

帖子

0

精华

高级会员

Rank: 4

积分
838
威望
405
贡献
285
兑换币
26
注册时间
2009-11-4
在线时间
74 小时
6#
 楼主| 发表于 2011-11-5 11:21:50 | 只看该作者
回复 5# kayats
这片子·····没办法 一等价钱一等货 组委会规定用这片子 也是希望更多的队伍能不被资金这倒槛拦住吧······
回复 支持 反对

使用道具 举报

4

主题

138

帖子

0

精华

高级会员

Rank: 4

积分
838
威望
405
贡献
285
兑换币
26
注册时间
2009-11-4
在线时间
74 小时
8#
 楼主| 发表于 2011-11-5 11:26:35 | 只看该作者
回复 7# kayats
嗯 难度是挺大 不过看清华做的挺好 自叹不如啊 ·········
回复 支持 反对

使用道具 举报

2

主题

114

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1073
威望
546
贡献
179
兑换币
32
注册时间
2010-11-11
在线时间
174 小时
9#
发表于 2011-11-5 11:27:25 | 只看该作者
回复 8# liqinling890925


    清华没说用了什么传感器
回复 支持 反对

使用道具 举报

8

主题

82

帖子

0

精华

高级会员

Rank: 4

积分
793
威望
479
贡献
158
兑换币
2
注册时间
2011-9-11
在线时间
78 小时
10#
发表于 2011-11-5 11:31:13 | 只看该作者
顶以一下,很不错
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-9-22 04:13 , Processed in 0.058756 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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