没有合适的资源?快使用搜索试试~ 我知道了~
加速度融合陀螺仪一种算法
5星 · 超过95%的资源 需积分: 46 205 下载量 24 浏览量
2013-08-07
18:50:57
上传
评论 9
收藏 249KB DOC 举报
温馨提示
试读
13页
在这篇文章中我将概括这么几个基本并且重要的话题: - 加速度计(accelerometer)检测什么 - 陀螺仪(gyroscope,也称作 gyro)检测什么 - 如何将传感器ADC读取的数据转换为物理单位(加速度传感器的单位是g,陀螺仪的单位是 度/秒) - 如何结合加速度传感器和陀螺仪的数据以得到设备和地平面之间的倾角的准确信息 在整篇文章中我尽量将数学运算降低到最少。如果你知道什么是正弦、余弦、正切函数,那无论你的项目使用哪种平台你应该都会明白和运用这篇文章中的思想,这些平台如Arduino、Propeller、Basic Stamp、Ateml芯片、PIC芯片等等。总有些人认为使用IMU单元需要复杂的数学运算(复杂的FIR或IIR滤波,如卡尔曼滤波,Parks-McClellan滤波等)。你如果研究这些会得到很棒且很复杂的结果。我解释事情的方式,只需要基本的数学。我非常坚信简单的原则。我认为一个简单的系统更容易操作和监控,另外许多嵌入式设备并不具备能力和资源去实现需要进行矩阵运算的复杂算法。
资源推荐
资源详情
资源评论
原文翻译:
http://www.geek-workshop.com/forum.php?
mod=viewthread&tid=1695&reltid=2126&pre_thread_id=0&pre_pos=2&ext=
原英文版本:
http://www.starlino.com/imu_guide.html
本帖翻译自 IMU(加速度计和陀螺仪设备)在嵌入式应用中使用的指南。
这篇文章主要介绍加速度计和陀螺仪的数学模型和基本算法,以及如何融合这两者,侧重
算法、思想的讨论
介绍
本指南旨在向兴趣者介绍惯性 MEMS(微机电系统)传感器,特别是加速度计和陀螺仪以
及其他整合 IMU(惯性测量单元)设备。
IMU 单元例子:上图中 MCU 顶端的 ACC Gyro 6DOF,名为 USBThumb,支持 USB/串口
通信
在这篇文章中我将概括这么几个基本并且重要的话题:
- 加速度计(accelerometer)检测什么
- 陀螺仪(gyroscope,也称作 gyro)检测什么
- 如何将传感器 ADC 读取的数据转换为物理单位(加速度传感器的单位是 g,陀螺仪的单
位是 度/秒)
- 如何结合加速度传感器和陀螺仪的数据以得到设备和地平面之间的倾角的准确信息
在整篇文章中我尽量将数学运算降低到最少。如果你知道什么是正弦、余弦、正切函数,
那无论你的项目使用哪种平台你应该都会明白和运用这篇文章中的思想,这些平台如
Arduino、Propeller、Basic Stamp、Ateml 芯片、PIC 芯片等等。总有些人认为使用 IMU 单
元需要复杂的数学运算(复杂的 FIR 或 IIR 滤波,如卡尔曼滤波,Parks-McClellan 滤波
等)。你如果研究这些会得到很棒且很复杂的结果。我解释事情的方式,只需要基本的数
学。我非常坚信简单的原则。我认为一个简单的系统更容易操作和监控,另外许多嵌入式
设备并不具备能力和资源去实现需要进行矩阵运算的复杂算法。
我会用我设计的一个新 IMU 模块——Acc_Gyro Accelerometer + Gyro IMU
作为例子。在下
面的例子中我们会使用这个设备的参数。用这个模块作为介绍非常合适,因为它由 3 个设
备组成:
- LIS331AL (datasheet) – 3 轴 2G 模拟加速度计
- LPR550AL (datasheet) – 双轴(俯仰、翻滚) 500°/s 加速度传感器
- LY550ALH (datasheet) –单轴(偏航)陀螺仪 最后这个设备在这篇介绍中不使用,不过他
在 DCM Matrix implementation
中有重要作用
它们一起组成了一个 6 自由度的惯性测量单元。这是个花哨的名字!然而,在花哨的名字
后面是个非常有用的设备组合,接下来我们会详细介绍之。
第一部分 加速度计
要 了
解 这 个
模 块 我
们 先 从
加 速 度
计 开 始 。
当 我 们
在 想 象
一 个 加
速 度 计
的 时 候
我 们 可
以 把 它
想 作 一
个 圆 球
在一个方盒子中。你可能会把它想作一个饼干或者甜圈,但我就把它当做一个球好了:
我们假定这个盒子不在重力场中或者其他任何会影响球的位置的场中,球处于盒子的正中
央。你可以想象盒子在外太空中,远离任何天体,如果很难想象,那就当做盒子在航天飞
机中,一切东西都处于无重力状态。在上面的图中你可以看到我们给每个轴分配了一对墙
(我们移除了 Y+以此来观察里面的情况)。设想每面墙都能感测压力。如果我们突然把盒
子向左移动(加速度为 1g=9.8m/s^2),那么球会撞上 X-墙。然后我们检测球撞击墙面产
生的压力,X 轴输出值为-1g。
请 注
意 加 速
度 计 检
测 到 得
力 的 方
向 与 它
本 身 加
速 度 的
方 向 是
相 反 的 。
这 种 力
量 通 常
被称为惯性力或假想力 。在这个模型中你你应该学到加速度计是通过间接测量力对一个墙
面的作用来测量加速度的,在实际应用中,可能通过弹簧等装置来测量力。这个力可以是
加速度引起的,但在下面的例子中,我们会发现它不一定是加速度引起的。
如果我们把模型放在地球上,球会落在 Z-墙面上并对其施加一个 1g 的力,见下图:
在 这
种 情 况
下 盒 子
没 有 移
动 但 我
们 任 然
读 取 到
Z 轴
有 -1g
的 值 。
球 在 墙
壁 上 施
加 的 压
力 是 由
引力造成的。在理论上,它可以是不同类型的力量 - 例如,你可以想象我们的球是铁质的,
将一个磁铁放在盒子旁边那球就会撞上另一面墙。引用这个例子只是为了说明加速度计的
本质是检测力而非加速度。只是加速度所引起的惯性力正好能被加速度计的检测装置所捕
获。
虽然这个模型并非一个 MEMS 传感器的真实构造,但它用来解决与加速度计相关的问题
相当有效。实际上有些类似传感器中有金属小球,它们称作倾角开关,但是它们的功能更
弱,只能检测设备是否在一定程度内倾斜,却不能得到倾斜的程度。
到目前为止,我们已经分析了单轴的加速度计输出,这是使用单轴加速度计所能得到的。
三轴加速度计的真正价值在于它们能够检测全部三个轴的惯性力。让我们回到盒子模型,
并将盒子向右旋转 45 度。现在球会与两个面接触:Z-和 X-,见下图:
剩余12页未读,继续阅读
captainlxp
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
- 5
- 6
前往页