背景知识:

导航坐标系:东-北-天

载体坐标系:右-前-上

欧拉角定义:3-1-2旋转,(航向角-俯仰角-滚转角);

  • 航向角北偏西为正,范围【-pi pi】;
  • 俯仰角, 运载体抬头时角度定义为正,角度范围-90° ~90° ;
  • 横滚角,运载体向右倾斜时角度定义为正,角度范围-180° ~180°

重力矢量和地球自转角速度在地理坐标系下:

一、地磁场

1、地球磁场分布图:

地球磁场:地球的磁场象一个条形磁体一样由磁南极指向磁北极。在磁极点处磁场和当地的水平面垂直,在赤道磁场和当地的水平面平行,所以在北半球磁场方向倾斜指向地面。用来衡量磁感应强度大小的单位是Tesla或者Gauss(1Tesla=10000Gauss)。随着地理位置的不同,通常地磁场的强度是0.4-0.6Gauss。需要注意的是,磁北极和地理上的北极并不重合,通常他们之间有11.5度左右的夹角。

单位:

1Tesla=10000Gauss

1高斯 =100000 nT

1高斯 =1000 mGauss

1mGauss=100nT

2、 地磁要素图:

设观测点在O处,并以O点为原点建立地理坐标系OXYZ,X轴指向北,Y轴指向东,Z轴垂直指向地。

地磁场强度T在X轴上的投影Bn称为地磁场的北向分量;T在Y轴上的投影Be称为东向分量;T在Z轴上的投影Bz称为地磁场的垂向分量。T在水平面O-XY的投影Bh称为地磁场的水平分量。地磁水平分量Bh和垂向分量Bz所在平面称为磁子午面,磁子午面和地理子午面O-XZ平面的夹角称为磁偏角,用D表示,并规定其东偏为正,西偏为负。地磁场强度T与水平面O-XY的夹角称为磁倾角,用I表示。上述,T、Bh、Bn、Be、Bz、D、I统称为地磁场七要素,可作为定位定向的参考量。七要素只要知道三个独立的要素,就可以求其余的要素,常用的是磁倾角、磁偏角和水平分量。七要素间有如下关系:

3、中国地磁要素变化:

中国的地磁要素大致分布情况:国境内地磁强度总量范围0.41~0.60Gauss(1 Gauss = 10^-4T);水平分量Bh由南至北从0.4降至0.21;垂直分量Bz由南至北从-0.1增至0.56;磁倾角I由南至北从-10°增至70°;磁偏角D由东向西从-11°增至5°,零偏线在中国中部偏西处,由北向南经过甘肃的安西以及西藏的得宋。

4、地磁场的一级近似:

对地磁场的一种近似,如下图所示:

不考虑地磁轴与地球自转轴的偏离问题,地磁强度分量可用以下解析式来描述:

其中,东向地磁分量为0;在实际运算中,将磁力计在水平面X、Y轴的测量值,全部投影到北向,并将东向置零。

二、磁力计校准

根据磁力计轴数的不同,分为不同的校准方法;由于目前市场上主流磁力计均是三轴磁力计,因此本文重点介绍基于椭球拟合的磁力计校准方法。在实际生活中,我们接触最多的是电子罗盘,比如手机中,其内部采用了三轴加速度计和三轴磁力计构成电子罗盘。三轴加速度计用于测量载体的姿态角,用以补偿磁力计的测量值,因此,也就限定了电子罗盘更适合在静止或类静止的条件下进行测量。

市场上主流磁力计是采用惠斯通桥方式的磁阻元件构成;但是由于制造工艺、PCB贴片及使用环境存在磁场等原因,导致磁力计的输出并不是地磁场的反应值,或多或少的存在一些偏差。通常将影响分为:硬磁和软磁;

  • 硬铁的影响可等价于三轴零位的改变;
  • 软铁的影响等价于三轴标度因数和安装误差的改变;

请注意,磁传感器校准只能补偿手持设备本身产生的硬铁和软铁干扰磁场。 这意味着在校准的整个旋转过程中,硬铁和软铁磁场也会随设备一起旋转!

1

2

3

4

5

6

7

8

9

10

11

12

西

西

西

西

西

西

4

2

0

6

4

2

0

6

2

2

2

6

2

2

2

6

西

0

2

4

6

0

2

4

6

1、十二位置法:

采用十二位置不对北方法,标定得到在软硬铁影响下的三轴零位、标度因数和安装误差;本质是利用天向磁场。

在加速度计/磁力计标定中,一般采用十二位置标定法,其中十二位置法,包含了了36个轴向,以前上右为载体坐标系;北天东为导航坐标系

以上12位置实验,可以看出:X、Y、Z三轴在每一个方向都存在6次。

2、基于椭球拟合法:

椭球拟合方法的本质是:逆向处理,将磁力计在无干扰的环境中,在空间中随便旋转,其三轴磁力计所测磁场强度矢量和是定值,也即空间中的表征应该是一个圆心为原点,半径为r的圆球;由于存在硬磁和软磁干扰,导致实际数据的表征为一个椭球面,且存在畸点;将磁力计测量数据经过最小二乘/高斯优化等方法拟合之后,得到椭球拟合参数,将参数进行一定的处理,就可以对硬、软磁影响进行补偿。

椭球校准结果:

三、磁航向计算

需要注意的是:计算的磁航向是北偏东为正,角度为【0 360】;同时定义俯仰角抬头为正,横滚角右偏为正;

利用三轴磁力计计算磁航向角主要包括三个步骤:

  • 利用三轴加速度计计算姿态角;
  • 利用姿态角将磁场强度补偿到水平东北方向;
  • 利用tan(y/x)计算航向角;
  • 根据地理位置,查找当地的磁偏角;

1、本文中载体坐标系为右前上;导航坐标系为东北天;

大部分的论文和datasheet都是以前右下、北东地为载体系和导航系;一种最简单的办法就是将右前上坐标轴变为前右下:

然后将磁力计测量值以及姿态角进行处理,得到水平“东”“北”方向磁场强度,进而计算磁航向角!

2、按照载体坐标系为右前上;导航坐标系为东北天,重新推导得到计算公式:

(1)计算水平姿态角:     

当把三轴磁力计/加速度计置于水平面时,加速度计三轴敏感值为[0 ; 0; -g];此处及以下计算中,均采用正交化单位值;即在水平面,三轴加速度计(右-前-上放置)敏感值为【0;0 ;-1】;

电子罗盘封装了三轴磁力计和三轴加速度计;此处以电子罗盘代替三轴加速度计进行描述;当把电子罗盘进行三轴旋转时,根据姿态变换矩阵,可以得到旋转后的三轴加速度计输出:

姿态旋转矩阵参考:捷联惯导基础知识解析之一(姿态表示方法基础知识)

如果导航坐标系(以东北天为例)经过三次旋转,旋转顺序为3-1-2,得到载体坐标系;则其表达方式为:

即:0系为导航系、3系为载体坐标系(右前上);即导航系到载体系的方向余弦矩阵:

经过计算得到:

需要注意的点:

(2)计算磁航向角:

    利用椭球拟合的参数,校准三轴磁力计的输出,然后将其归一化;然后根据上一步计算得到pitch和roll,计算水平面内的磁场强度;

即当前经过校正(归一化)三轴磁力计输出为[Mx; My; Mz;]; 此时,三轴磁力计可以是测量任意方向的输出,通过加速度计计算出水平姿态角,然后得到tilt Compensation 后的水平东北向输出:

既:(纠正一下,下图中的M东、北这种表述是错的,应该为经过坐标变换之后,水平方向的两个磁场强度;即Mx水平、My水平)

参考:

《自主定位定向技术》

《Applications of Magnetoresistive Sensors in Navigation Systems》

《AN3192 Application note 》

《三轴磁阻式传感器标定方法研究》

《一种十二位置不对北的磁罗盘标定方法》

《基于WMM 2005的地磁计算》

ST集成传感器方案实现电子罗盘功能

地磁导航的应用风口来了?

以IndoorAtlas为基础,百度地图将深度整合地磁定位技术

高三物理复习微专题1---《地磁场》

椭球面

作为无人机方面做嵌入式编写的飞控总结5-磁力计对航向角yaw的校准1(磁力计如何校正航向)

IMU之磁力计校准地磁场计算磁航向相关推荐

  1. IMU(陀螺仪、加速度计)Magnetometer(磁力计)校准方法和流程

    一.何为校准: 校准的目的是因为厂商在生产器件时,由于工艺.技术等原因,致使器件存在缺陷,导致实际应用时,存在误差! 一般器件在出厂时,都会做一些校准处理,比如以Sensonor公司的Stim300为 ...

  2. 基于Matlab的磁力计校准(附源码)

    目录 一.理想磁力计 二.硬铁效应 三.软铁效应 四.校正技术 五.使用函数magcal 5.1 仅偏移计算 ​编辑5.2 硬铁补偿和轴缩放计算 5.3 全硬铁和软铁补偿 5.4 自动拟合 六. 结论 ...

  3. mpu9250磁力计校准 mpl库数据校准

    mpu9250磁力计校准 mpl库数据校准 写在前面 为什么磁力计需要校准 官方的mpl库简介 如何磁力计校准以及保存校准数据 参考代码 总结 写在前面  前段时间弄了MPU9250,也就是9轴传感器 ...

  4. HMC5883Lnbsp;磁力计校准

    原文地址:HMC5883L 磁力计校准作者:WalkAnt 这里针对 HMC5883L 磁力计 的校准,做一个简单讲解.欢迎交流,新浪长沙@WalkAnt. 先看看这篇文章:http://blog.s ...

  5. IMU误差模型与校准

    目录 IMU误差模型和校准 参考文献 1 IMU的误差来源 2 IMU校准 IMU误差模型和校准 参考文献 1 Tedaldi D, Pretto A, Menegatti E. A robust a ...

  6. 基于Matlab使用 IMU、磁力计和高度计估计方向和高度(附源码)

    示例演示如何融合来自 3 轴加速度计.3 轴陀螺仪.3 轴磁力计(通常称为磁.角速率和重力的 MARG 传感器)和 1 轴高度计的数据,以估计方向和高度. 一.模拟设置 此仿真以多种速率处理传感器数据 ...

  7. 九轴陀螺仪ICM20948磁力计校准

    九轴陀螺仪ICM20948磁力计校准 ICM20948九轴传感器目前应用广泛,是非常适合用于智能手机,平板电脑,可穿戴式传感器,物联网和应 用的全球功耗最低的9轴MotionTracking设备.其融 ...

  8. IMU及磁力计AHRS系统控制(一):传感器物理实现原理

    AHRS系统前言 AHRS是"Attitude and heading reference system"的英文缩写,百度对此的解释是"航姿参考系统",按笔者比 ...

  9. robot_localization多传感器定位-IMU数据的校准与融合

    robot_localization多传感器融合中的IMU数据获取分四个部分来说明,分别是数据类型.IMU校准及融合理论.rikirobot源码解析以及优化 第一部分:数据类型 robot_local ...

最新文章

  1. UML for Java Programmers之dx实战
  2. 定制简单的Linux系统
  3. HDU-2444 The Accomodation of Students
  4. C++学习笔记4[循环语句]
  5. 直播预约 | 揭秘微信支付背后的数据库技术
  6. osg中实现HUDAxis功能
  7. Abstract Factory(抽象工厂)--对象创建模式
  8. 自定义View控件(2—手写实例代码)
  9. python索引例子_Python实现带下标索引的遍历操作示例
  10. 算法高级(41)-推荐算法实现
  11. PAT乙级(1036 跟奥巴马一起编程)
  12. 打垮你的永远不是压力,而是选择的能力!
  13. iOS开发中Certificates,IdentifiersProfiles各种证书配置文件总结
  14. 什么是端口映射?如何设置端口映射?
  15. wpf界面菜单栏设计
  16. 【Python工具】Python版本的天眼查,是不是就很nice啦 | 附带源码
  17. View被遮挡的解决办法
  18. array_combine() - 创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值
  19. 一文带你了解UI自动化测试框架
  20. 云豹短视频app源码中,标签选择功能的实现

热门文章

  1. selenium网络爬虫去哪儿机票利用performance获取日志截获加载的xhr,ajax,js等数据
  2. R语言实战笔记--第十五章 处理缺失数据
  3. 【优化求解】基于遗传算法求解电动汽车充电管理优化问题Matlab代码
  4. 系统的软中断CPU使用率升高,该怎么办?
  5. JAVA大数据后台管理系统
  6. sublist3r报错ImportError: No module named dns.resolver
  7. 计算机桌面变色怎么办,电脑屏幕变色了怎么办?电脑屏幕变色的六大原因及解决办法...
  8. 为什么你喜欢的妹子对你不感兴趣,该怎么破解?
  9. 数据开发岗面试绝地求生
  10. 七个千僖年数学难题与希尔伯特二十三个问题