AHRSMini福MiniAHRS姿态解算说明本章旨在讲解以下内容1.加速度2.陀螺仪3.磁力计?ZOSWD-UARTIJODRDYTXO400R1001.ORXID.GND?0+5.MiniIMUAHRS姿态板销售网址:Http://chiplab7.taobao.com/作者:lisn3188
Mini AHRS Mini AHRS 姿态解算说明 本章旨在讲解以下内容 1.加速度 2.陀螺仪 3.磁力计 MiniIMU AHRS姿态板销售网址: Http://chiplab7.taobao.com/ 作者:lisn3188
7PoweredBy第七实验室chiplab7.taobao.com0序言直想写篇文章关于姿态解算原理的,使用尽量通俗的语句说明如何从加速度计和陀螺仪的数据,高融合得到载体的姿态角。无奈自己的水平有限,一直搁置。淡泊以明志,宁静以致远,人总是要逼自已做些事,才过得心安理得。那就拿点时间把这方面的资料整合一下吧。这篇文章的大部分内容都不是本人原创的,感谢网络上无私奉献的人在此介绍一下实验的姿态板,新一代的miniAHRS,采用STM32F103单片机进行姿态解算,板子上集成有1.MPU6050,三轴的加速度和陀螺仪2.HMC5883三轴的磁力计3.BMP180高精度气压高度计这些传感器都通过I2C接口连接到主控制器STM32.不需要额外的ADC电路,直接通过数字接口就可以读取传感器的当前输出MiniAHRS硬件框图UART数据输出3.3VVDDSTM32F103T8SWD调试接口ZXLED状态指示SDASCLCBUSMPU6050HMC5883BMP1803轴陀螺仪3轴气压高度计A3轴加速器地磁传感器InvenSenseMPU-6050MiniAHRS是一个九轴的姿态仪模块,使用的都是数字器件,每一个传感器内部都集成有ADC,只需要通过I2C总线,就可以读取传感器当前输出。现在我们不着急了解如何读出这些数据,先来认识一下这些传感器都是做什么,它们主要是测量哪些物理量,从加速度计开始
0 序言 一直想写篇文章关于姿态解算原理的,使用尽量通俗的语句说明如何从加速度计和陀螺 仪的数据,融合得到载体的姿态角。无奈自己的水平有限,一直搁置。 淡泊以明志,宁静以致远.人总是要逼自己做些事,才过得心安理得。那就拿点时间把这 方面的资料整合一下吧。这篇文章的大部分内容都不是本人原创的,感谢网络上无私奉献的 人. 在此介绍一下实验的姿态板 ,新一代的mini AHRS,采用STM32F103单片机进行姿态解 算,板子上集成有 1.MPU6050,三轴的加速度和陀螺仪 2.HMC5883 三轴的磁力计 3.BMP180 高精度气压高度计 这些传感器都通过I2C接口连接到主控制器STM32.不需要额外的ADC电路,直接通过数字接 口就可以读取传感器的当前输出. SDA SCL 3.3VVDD MPU6050 HMC5883 BMP180 STM32F 103T8 . K 2 4 7 x 3轴陀螺仪 3轴加速器 3轴 地磁传感器 气压高度计 UART数据输出 SWD调试接口 LED状态指示 Mini AHRS硬件框图 Mini AHRS是一个九轴的姿态仪模块,使用的都是数字器件,每一个传感器内部都集成有 ADC,只需要通过I2C总线,就可以读取传感器当前输出。 现在我们不着急了解如何读出这些数据,先来认识一下这些传感器都是做什么,它们 主要是测量哪些物理量,从加速度计开始。 P ch o i w pla e b r 7 e .t d aob B a y o 第 .com 七实验室 7
7PoweredBy第七实验室chiplab7.taobao.com1加速度计加速度计顾名思义,就是测量加速度的.那么,我们如何认识这个加速度呢?在此用一个盒子形状的立方体来做模型,认识加速度,如下,盒子内的图像。Z+X=0g失重状态Y=0gX+X-Z=0g如果我们把盒子形状的立方体放在一个没引力场的地方,球会保持在盒子的中间,你可以想象,这个盒子是在外太空,远离任何天体,很难找到这样的地方,就想象飞船轨道围绕地球一切都是在失重状态下。那么六个壁面感受到的压力都是0飞,贵如果我们突然将立方体向左侧移动(我们加快加速,1G=9.8米/S2),皮球打在了墙上X一。然后,我们测量球适用于在X轴上的壁和输出-1g值的压力。如下图X=-1gZ+Y=0gZ=0gACCELERATIONt1gX+INERTIALFICTITIOUSFORCE1g请注意,加速度计反应的加速向量与当前的受力方向是相反的.如上图所示,受力方向向左,但是加速度的向量方向为右
1 加速度计 加速度计顾名思义,就是测量加速度的.那么,我们如何认识这个加速度呢?在此用一个盒子形 状的立方体来做模型,认识加速度,如下,盒子内的图像。 如果我们把盒子形状的立方体 放在一个没引力场的地方,球会保持在盒子的中间.你可以想 象,这个盒子是在外太空,远离任何天体,很难找到这样的地方,就想象飞船轨道围绕地球 飞,一切都是在失重状态下。那么六个壁面感受到的压力都是0. 如果我们突然将立方体向左侧移动(我们加快加速,1G =9.8米/ S ^ 2),皮球打在了 墙上X-。然后,我们测量球适用于在X轴上的壁和输出-1g值的压力。如下图 失重状态 请注意,加速度计反应的加速向量与当前的受力方向是相反的.如上图所示,受力方向向 左,但是加速度的向量方向为右. P ch o i w pla e b r 7 e .t d aob B a y o 第 .com 七实验室 7
7PoweredBy第七实验室chiplab7.taobao.com如果我们把这个小盒子拿来放在地球上,那么小球会落在Z-壁面上,并会为1G的底壁施加个力,在下面的图片所示:Z+GRAVITATIONFORCE1gX=0gX+X-Y=0gZ=-1gGROUND在这种情况下,框不动,但我们仍然可以得到Z轴的读数-1G。球在墙壁上的压力造成的引力场。到目前为止,我们已经分析了单个轴加速度计的输出,这是你会得到一个单轴加速度计,轴加速度计的真正价值,即是他们可以筒时检测到所有三个轴的惯性力。让我们回到我们的盒模型,并让旋转45度在右边的框中。球会触及两面墙:Z和X-在下面的图片所示:GRAVITATIONX+Z+FORCE1gYZ-XX=-0.71g2Y=OgZ=-0.71gGROUND
如果我们把这个小盒子拿来放在地球上,那么小球会落在Z-壁面上,并会为1G的底壁施加一 个力,在下面的图片所示: 在这种情况下,框不动,但我们仍然可以得到Z轴的读数-1G。球在墙壁上的压力造成的引 力场。 到目前为止,我们已经分析了单个轴加速度计的输出,这是你会得到一个单轴加速度计。 三轴加速度计的真正价值,即是他们可以同时检测到所有三个轴的惯性力。让我们回到我 们的盒模型,并让旋转45度在右边的框中。球会触及两面墙:Z和X-在下面的图片所示: P ch o i w pla e b r 7 e .t d aob B a y o 第 .com 七实验室 7
PoweredBy第七实验室7chiplab7.taobao.comX和Z轴受到值的0.71是不是任意的?它们实际上是一个近似SQRT(1/2)·要知道当盒子只受重力场时,×2+Y~2+z~2=1g这将变得更加清晰,为大家介绍一下我们的下一个样子的加速度计。在之前的盒子模型中,我们有固定的引力场及旋转。在刚刚说明的两个例子中,我们分析了2个不同的输出框位置,而力量保持不变。这更有利于了解加速度计如何与外部交互,并显示当前读数。请看一下上面的模型,这是一个新的模型代替刚刚的盒子立方体。试想一下,在新模型中的每个轴是垂直于盒子的壁面。向量R是加速度计测量(从上面的例子或这两者的组合,它可以是引力场或惯性力)的力矢量。接收时,Ry,RZ与上的X,Y,Z轴的R矢量投影。请注意下面的关系式:R2=RX2+RY2+RZ2(公式1)请记住,早一点我告诉你,SQRT(1/2)的值不是随机的一0.71。如果您将上述公式中,回顾我们的引力场为1g后,我们可以验证:12=(-SQRT1/2)2+02+(-SQRT(1/2)2简单地通过代以R=1时,接收=SQRT(1/2)时,Ry=O,RZ=SQRT(1/2)在方程经过以上的理论分析我们越来越接近现实生活中的加速度计。值RX,RY,RZ实际上是呈线性关系对应到真正的现实加速度计的x轴y轴z轴在此提出一个问题,加速度计如何将这些信息告诉我们?目前市面上的加速度计从输出上区分为两种,一种是数字的,另一种是模拟的.miniAHRS使用的是MPU6050三轴加速度计,是I2C接口的数字传感器.通过特定的命令可以配置加速度的量程,并将内部ADC的转换结果读出来现在,我们有我们的加速度计的读数,以LSB为单位的,它仍然不是g(9.8米/秒2),需要最后的转换,我们要知道加速度计灵敏度,通常表示为LSB/g。比方说当我们选择2g的量程时,对应的灵敏度=16384LSB/G。为了得到最终的力值,单位为g,我们用下面的公式:RX=ADCR×/灵敏度也就是说当x轴的计数为ADCRx时,那么对应的加速度值就是(ADCRx/16384)g
x 和 z 轴受到值的0.71是不是任意的? 它们实际上是一个近似SQRT(1/2).要知道当盒子 只受重力场时,x^2+Y^2+z^2 =1g 这将变得更加清晰,为大家介绍一下我们的下一个样 子的加速度计。 在之前的盒子模型中,我们有固定的引力场及旋转。在刚刚说明的两个例子中,我们分析 了2个不同的输出框位置,而力矢量保持不变。这更有利于了解加速度计如何与外部交互, 并显示当前读数。 请看一下上面的模型,这是一个新的模型代替刚刚的盒子立方体。试想一下,在新模型中 的每个轴是垂直于盒子的壁面。向量R是加速度计测量(从上面的例子或这两者的组合,它 可以是引力场或惯性力)的力矢量。接收时,Ry,R Z与上的X,Y,Z轴的R矢量投影。请注 意下面的关系式: R ^ 2 = RX ^ 2 + RY ^ 2 + RZ ^ 2 (公式1) 请记住,早一点我告诉你,SQRT(1/2)的值不是随机的〜0.71。如果您将上述公式中,回 顾我们的引力场为1 g后,我们可以验证: 1 ^ 2 =(-SQRT(1/2))^ 2 + 0 ^ 2 +(-SQRT(1/2))^ 2 简单地通过代以R = 1时,接收= SQRT(1/2)时,Ry = 0,RZ = SQRT(1/2)在方程 经过以上的理论分析我们越来越接近现实生活中的加速度计。 值RX,RY,RZ实际上是呈线性关系对应到真正的现实加速度计的x轴 y轴 z轴. 在此提出一个问题, 加速度计如何将这些信息告诉我们? 目前市面上的加速度计从输出上区分为两种,一种是数字的,另一种是模拟 的.miniAHRS 使用的是MPU6050三轴加速度计,是I2C接口的数字传感器.通过特定的命令 可以配置加速度的量程,并将内部ADC的转换结果读出来. 现在,我们有我们的加速度计的读数,以LSB为单位的,它仍然不是g(9.8米/秒^ 2),需要最后的转换,我们要知道加速度计灵敏度,通常表示为LSB /g。比方说当我们 选择2g的量程时,对应的灵敏度= 16384 LSB/ G 。为了得到最终的力值,单位为g,我们 用下面的公式: RX = ADCRx /灵敏度 也就是说 当x轴的计数为ADCRx 时,那么对应的加速度值就是 (ADCRx/16384)g. P ch o i w pla e b r 7 e .t d aob B a y o 第 .com 七实验室 7