APP下载

九轴传感器数据误差纠正系统的设计

2014-02-10诸昊罡吴雨亮张燕

机器人技术与应用 2014年6期
关键词:罗盘上位椭圆

诸昊罡 吴雨亮 张燕

(南京大学金陵学院,南京,210089)

九轴传感器数据误差纠正系统的设计

诸昊罡 吴雨亮 张燕

(南京大学金陵学院,南京,210089)

在已设计的三轴数字陀螺仪、三轴加速度计、三轴电子罗盘与ATmega128相结合的姿态测量系统基础上,本文设计了一款可获取机器人姿态信息的上位机软件。由于电子罗盘的角度信息受周围磁场干扰比较严重,因此本文使用椭圆假设法对电子罗盘的角度信息进行纠正,并给出实验测试结果,验证了角度纠正的正确性。

机器人,姿态测量,传感器,椭圆假设法,误差补偿

0 引言

近年,移动机器人的研究及相关技术应用得到了前所未有的发展,目前关键技术主要包括三种,分别是避障、导航和路径规划,其中,对未知环境中特别是一些动态环境下的环境辨识和自身的定位是当前亟待解决的一个问题。定位技术能够获取移动机器人在任何时刻的相对位置,是实现导航和保证机器人自主导航的关键[1]。

在移动机器人定位技术中,角度信息的获取尤为重要。目前常用来获取角度信息的传感器是陀螺仪以及电子罗盘。陀螺仪通过对角速度积分获取角度,存在的问题是易产生零漂;电子罗盘一般情况下获取角度信息比较准确,但是如果周围有磁场干扰,便会出现大的角度偏移,产生误差。本文针对电子罗盘的角度如何进行纠正的问题进行了研究。

论文研究的平台是由陀螺仪L3G4200D、三轴MEMS加速度计ADX345、三轴电子罗盘HMC5883以及单片机ATmega128组成的一个嵌入式姿态测量系统。在此系统获取的数据基础上编写上位机软件,实现各个传感器数据的分离,并对其中的电子罗盘获取角度信息如何纠正着重进行了研究。

1 系统组成和结构

该系统主要由三轴数字陀螺仪L3G4200D、三轴MEMS加速度计ADX345、三轴电子罗盘HMC5883以及单片机ATmega128组成。

图1 嵌入式姿态测量系统结构框图

2 数据获取软件

2.1串口通信软件设计

姿态测量系统的陀螺仪、加速度计、电子罗盘数据通过I2C与ATmega128进行通信,下位机ATmega128通过串口将数据上传到上位机上。上位机采用LabWindows CVI软件编写代码,实时读取串口数据且显示在界面上,显示界面如图2所示。

图2显示的数据是字符串,下一步工作是编写代码将各个部分的数据分离出来。

图2 上位机显示传感器数据

2.2数据分离代码编写

单片机传输到上位机的数据设置格式是:

$罗盘角度,陀螺仪x轴角速度,y轴角速度,z轴角速度,加速度计x轴加速度, y轴加速度, z轴加速度。

数据分离的流程图见图3。打开文件后,首先判断获取的字符是否是“$”,如果不是继续获取下一个字符,直到获取“$”符号;当获取是“$”符后,接下来读取“$”和“,”之间的数据,存储到字符数组;接着读取各个“,”之间的数据,存储到存储传感器各数据的字符数组中,直到读取的字符是回车符;重新读取第二轮数据存储到各字符数组中……,当读取的字符为文件结束符时,结束文本读取。

3 电子罗盘数据误差纠正

电子罗盘读取的数据由于受到周围磁场干扰非常严重,因此需要对电子罗盘的数据进行纠正,目前常用的纠正方式是椭圆假设法。

3.1椭圆假设法

电子罗盘产生的误差主要来自硬铁干扰和软铁干扰。由于地磁场是弱磁场,并且地磁场可以认为在一定范围内是均匀的。因此,硬铁干扰产生于永久磁铁或被磁化的金属,这种干扰与罗盘的位置相对固定, 相当于在罗盘的输出值上增加了一个定值, 使罗盘输出曲线图的圆心偏移了;软铁本身没有磁性, 它被地磁场磁化后获得磁性, 软铁干扰产生于地球磁场和罗盘附近的任何磁性材料之间的相互作用, 其干扰程度与罗盘的方向有关, 使罗盘的输出曲线畸变成一椭圆。[2-5]

图4 磁方向角的定义

设电子罗盘有两个相互垂直的轴, 分别称为OX 轴和OY 轴,如图4所示。ψ表示电子罗盘测得的磁方向角,定义为从ON 到OX 顺时针转过的角度。设地磁场的水平分量为,则磁场分量为

ψ可以由公式ψ= - arctan()求出。

当电子罗盘有误差时,就会反映在和的变化上。设有误差时,变为,,它们的关系可以写成:

当角度从0°-360°变化一周时,和合成向量的顶点在平面上的轨迹是个圆,由于误差的影响,变成了

,变成了,而和合成向量的顶点在平面上的轨迹不再是圆。为了确定该轨迹,我们提出椭圆假设。假设和合成向量的顶点在平面上的轨迹是个椭圆,则式(3)改写为:

其中:

即假设对角阵K、正交阵Φs和对称阵Φp的乘积等于M,首先正交阵将圆转了一个角度Φs,对称阵使圆变成一个椭圆,对角阵将椭圆转了一个角度Φs,N的作用是改变椭圆的中心位置。

根据椭圆假设在某方向对电子罗盘采样一组数据和,其对应椭圆上的一点,则椭圆方程可以表示成

公式(5)中有5个未知数,让电子罗盘在5个方向上采样数据,我们要求5个方向为均匀方向,即0°-360°采集0°、72°、144°、216°和288°这5个方向的数据。设采样数据为Hx1i和Hy1i(i=1,2,3,4,5)。根据(5)式可列出方程组

只要采样方向在0°-360°之间大致均匀分布,方程组(6)就有唯一解A,B,C,D,E。它们与公式(4)中各系数之间的关系为[6]

其中Δ由采样数据求出,且

4 实验结果

本文设计了一个完整的数据获取,存储以及电子罗盘数据纠正的软件系统。系统运行首界面如图5所示,接收字符界面可以实时显示接收的数据。点击“保存”可以将数据存储到文本文件中,下面有两个角度处理按键,分别可以弹出电子罗盘角度纠正算法处理界面。

图5 上位机串口接收界面

4.1椭圆假设法实验结果

点击上位机串口接收界面中的角度处理(椭圆罗差法)可以弹出如图6所示界面。

图6 椭圆假设法显示界面

该界面可以选择数据采集环境,点击“补偿前”可以从文本文件中读取电子罗盘采集的磁场信息,同时能够显示在某一环境下采集的磁场数据绘制的电子罗盘的磁场信息,点击“补偿后”按钮则可以绘制补偿后的磁场信息。点击“退出”可以退出当前界面回到主界面。

图7中,补偿前电子罗盘的数据为红色曲线所示,补偿后电子罗盘的数据如蓝色曲线所示,从曲线可以看出:补偿后电子罗盘的磁场信息趋向于圆,比补偿前数据有所改进。

图7 椭圆罗差法纠正数据对比图

5 结束语

本文设计了基于多传感器进行姿态测量的定位系统上位机软件,可以实现下位机串口将传感器的数据传输到上位机,并编写上位机显示界面显示下位机获取的数据。在此基础上,本文研究了电子罗盘误差的纠正方式,并且编写代码实现了电子罗盘的纠正算法,以及编写界面显示纠正算法的处理结果。实验结果显示,经过电子罗盘算法处理之后的数据能更准确地显示当前数据信息。

[1]张燕,夏庆锋,谢鹏飞. 基于多传感器的姿态测量系统设计[J].机器人技术与应用,2003(3):30-33.

[2]蒋贤志. 数字电子罗盘误差分析及较正技术研究 [J]. 现代雷达,2005 , 27(6): 39- 40 .

[3] Smith R, Frost A, Probert P. A Sensor System for the Navigation of an Underwater Vehicle [J]. The International Journal of Robot iics Research , 1999 , 18(7) : 697- 710.

[4]张爱军, 王昌明, 赵辉. 三轴电子罗盘的磁航向角误差补偿研究 [J] . 传感器与微系统, 2008 , 27( 8) : 33-35.

[5]张静, 金志华, 田蔚风. 无航向基准时数字式磁罗盘的自差校正[J] .上海交通大学学报, 2004, 38 (10) :1757-1860.

[6]刘诗斌,冯晓毅,李宏. 基于椭圆假设的电子罗盘误差补偿方法 [J].传感器技术, 2002,21(10):28-30.

本项目是江苏省高等学校大学生创新创业训练计划项目,项目编号:201313646006Y。

猜你喜欢

罗盘上位椭圆
Heisenberg群上由加权次椭圆p-Laplace不等方程导出的Hardy型不等式及应用
例谈椭圆的定义及其应用
一道椭圆试题的别样求法
特斯拉 风云之老阿姨上位
不宜上课
“三扶”齐上位 决战必打赢
基于ZigBee和VC上位机的教室智能监测管理系统
椭圆的三类切点弦的包络
印尼《罗盘报》之中国国家形象
以新思路促推现代农业上位