DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 610|回复: 0
打印 上一主题 下一主题

[GPS] 基于MEMS的惯性导航系统研究与设计

[复制链接]
跳转到指定楼层
楼主
发表于 2014-10-1 06:13:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

第12 卷第1 期2012 年1 月
1671—1815( 2012) 01-0056-04
科学技术与工程
Science Technology and Engineering
Vol. 12 No. 1 Jan. 2012
 2012 Sci. Tech. Engrg.
通信技术
基于MEMS 的惯性导航系统研究与设计
张晓玉丁文武
( 电子科技大学空天科学技术研究院,成都611731)
摘要提出了一种基于MEMS 的捷联式惯性导航系统硬件和软件设计方法。设计了以ARM9 处理器为核心的硬件平台,
介绍了核心处理器及惯性器件的选型,给出了硬件系统组成; 提出了基于嵌入式实时操作系统的软件设计方法,给出基于该
操作系统的多任务设计方法及导航算法流程; 该导航系统能够实现MEMS 信息的实时提取、计算、位姿输出。
关键词MEMS 捷联式惯性导航实时操作系统导航算法
中图法分类号TN964. 3; 文献标志码A
2011 年10 月20 日收到
第一作者简介: 张晓玉( 1984—) ,女,吉林省九台市人,硕士研究生,
研究方向: 机械设计制造及其自动化。
惯性导航技术是一门综合性技术,用于对运动
物体的姿态、速度和位置参数的确定,该项技术广
泛用于航天、航空、航海和大地测量等领域[1]。由
于捷联惯性导航不受外界电磁和气象环境干扰,不
依赖于外界条件,并且具有良好的隐蔽性,真正地
实现了自主导航,成为自主式测量的最佳手段。目
前,在发达国家,捷联惯性导航系统广泛用于机器
人、无人飞机和精确制导炸弹等飞行器的导航控
制中。
常用的导航系统大都采用通用型的微型处理
器或专用的导航计算机完成。这种处理器处理速
度慢、体积大、功耗高、电路复杂、可靠性低,无法满
足捷联式惯性导航系统对于微型化、高精度、实时
性的要求。嵌入式ARM9 处理器具有高速、稳定、
功耗低、简单易用、接口丰富等特点,在智能仪器设
备中得到广泛的应用。采用ARM9 处理器与MEMS
器件设计的惯性导航系统不但可以满足导航系统
对于小体积、低功耗等的要求,同时也可满足导航
系统对于高处理速度、高实时性的要求。
本文设计了一种基于ARM9 处理器和MEMS
传感器的惯性导航系统,给出了该系统的硬件平
台,为满足导航系统中对于实时计算的要求,设计
了基于嵌入式实时操作系统μc /os-II 的软件设计
方法。
1 系统硬件组成
捷联式惯性导航系统的硬件主要包括: MEMS
器件、导航计算机、外部监控计算机。在传统的惯
性导航系统中还含有数据采集单元。随着MEMS
技术的发展,目前的惯性器件大多具有数字输出接
口,可以直接与微处理器的数字接口连接,简化了
惯性导航系统的硬件设计。
1. 1 导航处理器的选型
在需要大数据量计算与实时处理的场合,主处
理器的性能是系统性能的决定性因素。本文采用
具有ARM920T 内核的S3C2440 处理器作为整个系
统的核心处理器。S3C2440 是一款32 位具有精简
指令集的处理器,特别适合具有低功耗、高计算量
要求的场合。具有内存管理单元、哈佛双总线结
构、数据指令缓冲区、5 级流水线结构,主频可高达
400 MHz。S3C2440 具有简单易用,程序可移植性好
等特点,完全符合惯性导航系统的要求。本文选用
S3C2440 处理器,负责传感器信息的采集,导航参数
的计算,导航结果的输出。
1. 2 MEMS 传感器的选型及外围电路
在捷联式惯性导航系统中常用的MEMS 传感
器为陀螺仪、加速度计、电子罗盘等。MEMS 传感器
的选型主要考虑传感器的轴向特性、量程、接口形
式、封装、抗冲击性、温漂等。
惯性导航系统的姿态位置计算都是在三维笛
卡尔坐标系中进行,单轴或双轴的传感器芯片在设
计时必须保证芯片的输出轴按三维坐标方向严格
垂直,但由于焊接、安装等误差的存在,在选用单轴
或双轴的传感器芯片时,并不能严格保证芯片输出
轴的正交,这也成为惯性导航系统中仪器误差的主
要来源。为避免单轴或双轴传感器芯片存在的轴
向安装误差,本文选用三轴的MEMS 传感器芯片。
陀螺仪芯片选用InvenSense 公司的三轴陀螺仪
芯片ITG—3200,具有± 2 000 度/s 的量程,可抗
10 000 g的冲击,具有温度补偿功能,具有的I2C 数
字输出接口。
加速度芯片选用ADI 公司的ADXL345 三轴加
速度计芯片,具有最大± 16 g 的可配置量程,可在
- 40 ℃ ~ 85 ℃的温度下正常工作,可抗1 000 g 的
冲击,具有SPI /I2C 可配置数字输出接口。
电子罗盘选用Honeywell 公司的HMC5843 芯
片,LCC 封装,内置ASIC,放大器,12 位AD 转换,
SET /RESET 电路,可有效消除杂散磁场,温度漂移,
放大器偏置和漂移的影响。通过I2C 接口以数字量
直接输出三轴传感信息。
1. 3 系统电气结构
由于选用的陀螺仪、加速度计和磁阻式传感器
都具有I2C 数字总线接口,将它们都挂接在
图3 电子罗盘电路图
S3C2440 处理器的I2C 总线上,可以极大的简化整
个系统的硬件设计,不需要设计复杂的信号采集及
调理电路。其电气结构如图4 所示。
图4 导航定位模块结构图
2 导航系统软件设计
2. 1 惯性导航的基本原理
捷联式惯性导航的基本原理如图2[5]所示,惯
性元件的敏感轴安装在载体坐标系( b 系) 三轴方向
上,由于固连在载体上,所以测得的都是载体坐标
系下的物理量。陀螺仪和加速度计输出投影于载
体坐标系为ωbi
b
和abi
b
,其中下标ib 表示沿b 系i 轴的
投影。对于捷联式惯性导航而言,导航计算不在载
体系中进行,而要在导航坐标系( n 系) 完成。
图5 捷联惯性导航系统基本原理示意图
1 期 张晓玉,等: 基于 MEMS 的惯性导航系统研究与设计 57
捷联式惯性导航主要包括以下几个方面的内
容: 系统初始化、惯性仪表的误差补偿、姿态矩阵计
算、导航计算、导航和控制信息提取[7]。其中姿态
矩阵的实时计算以及位置速度的积分是惯性导航
的关键任务,算法很多,常用的有欧拉角法、方向余
弦算法、四元数法和旋转矢量算法等[6]。导航参数
的计算都是在离散的时间轴上进行的,时间误差是惯
性导航系统误差的主要来源之一。保证导航系统实
时数据采集与计算是惯性导航系统的关键任务之一。
2. 2 导航系统的程序处理方法
惯性导航系统的程序设计常用的方法有前后
台系统,基于非实时操作系统和基于嵌入式实时操
作系统的设计方法。
在传统的前后台系统中,前台中断程序负责运
行一些时间要求比较严格的实时性任务,后台主函
数负责惯性导航系统算法的计算以及导航参数的
输出,前台和后台程序之间通过共享的全局变量传
递信息,后台程序处于不断的等待过程中,根据前
台传递进来的参数选择不同的处理流程。本文设
计的惯性导航系统中惯性器件全部基于I2C 总线,
I2C 总线上的数据通常需要等待固定的时间,以使
I2C 数据出现在SDA 总线上,这就必须在中断程序
中设计一定的延时。而主函数中要处理的惯性导
航算法任务很多,需要不断等待前台系统采集到的
数据,这种程序设计方法过多占用了中断时间,CPU
大部处于等待状态,系统运行效率不高。
基于嵌入式Linux 操作系统也是常用的程序设
计方法,特别是在基于带MMU 的ARM 处理器中应
用广泛。linux 操作系统是一种非实时操作系统,其
时间片轮转的任务调度算法不能保证数据采集与
计算的时间刻度; linux 操作系统本身过于庞大,本
身在运行时需要占用大量的CPU 时间,因此,嵌入
式Linux 操作系统不适合用于惯性导航系统。
μC /OS-II 是一种公开源码、结构小巧、具有可
剥夺型实时内核的硬实时操作系统,具有执行效率
高、占用空间小、实时性能优良、可扩展性强等特
点,具备任务管理,时间管理,内存管理,任务间通
信和同步等基本功能。μC /OS-II 也有系统时钟,但
系统时钟被用来进行时间管理,并不是任务切换的
必备条件。在μC /OS-II 中引起系统任务调度的是
事件,事件或来源于其它优先级的任务,或来源于
中断。具有最高优先级的任务在等待某个事件时,
只要该事件发生,则系统立即进行任务切换,高优
先级的任务立即获得CPU 的使用权。μC /OS-II 可
以保证系统需要实时运行的任务运行的机率是
100%,是一种硬实时操作系统,特别适用于惯性导
航系统中实时性任务的设计。
本文基于μC /OS-II 操作系统设计了惯性导航
系统的软件,其中需要处理的任务主要有MEMS 传
感器数据采集、姿态矩阵计算及姿态角提取、姿态
角与磁阻式传感器测得角度的卡尔曼滤波算法、比
例变换算法、导航参数输出等。
传感器信息的采集是系统实时性要求最高的
任务,由于导航计算都是沿时间轴上的计算,要求
传感器信息采集的时间点的精确度,为保证每两次
数据采集的中间,导航周期的准确性,必须将传感
器信息采集设计为优先级最高的任务,一旦计时时
间到,CPU 立即切换至传感器信息采集任务。姿态
矩阵计算及姿态角提取、姿态角与磁阻式传感器测
得角度的卡尔曼滤波算法、比例变换这三个部分的
算法是一种顺序执行关系,将他们放到一个任务
中,任务的优先级比传感器信息采集任务要低。最
后,导航参数的输出放在优先级最低的任务中。系
统的任务划分如图所示。
图6 系统任务结构图
系统在启动完成后,完成一系列的初始化,包
括从加载域到运行域的转换,硬件初始化,操作系
统初始化等。然后创建三个任务和两个消息队列。
当系统启动初始化完成之后,便将CPU 控制权交给
优先级最高的任务,即数据采集任务。除这三个任
务外,还有个系统空闲任务,在系统三个任务都没有
运行时,将运行空闲任务。数据采集任务通过调用操
作系统函数OSTimeDly( ) 来达到周期性采集数据的
58 科 学 技 术 与 工 程 12 卷
图7 导航计算任务流程图
目的。其中,由于系统的时钟周期被设置为10 ms,本
文设计的导航周期亦为10 ms。当数据采集任务采集
到数据后,便通过消息队列将采集到的数据发送给导
航计算任务。导航计算任务的流程图如图7 所示。
3 结论
本文在三星S3C2440 ARM9 处理器基础上,分
别采用ADXL345 加速度计、ITG—3200 陀螺仪、
HMC5843 电子罗盘设计了惯性导航的硬件系统,在
软件上基于嵌入式硬实时操作系统μC /OS-II 设计
了惯性导航算法的多任务处理。该导航系统脱离
了通用计算机平台,具有体积小、功耗低、成本低等
特点,在软件上由于采用了硬实时操作系统,导航
算法具有极高的实时性。32 位的ARM9 处理器极
高的运算速度完全符合导航算法大运算量的需求,
ARM 处理器系列一致的通用性和丰富的接口特性
使得该导航系统可以很方便的移植到其它平台上,
可以在需要惯性导航的场合中推广应用。
参考文献
1 陈永冰,钟斌. 惯性导航原理. 北京: 国防工业出版社, 1990
2 袁信,郑谔. 捷联式惯性导航原理. 北京: 航空专业出版
社,1985
3 张树侠,孙静. 捷联式惯性导航系统. 北京: 国防工业出版
社,1992
4 秦永元. 惯性导航. 北京: 科学出版社, 2006
5 邓正隆. 惯性技术. 哈尔滨: 哈尔滨工业大学出版社,2
006
6 李文亮. 四元数矩阵. 长沙: 国防科技大学出版社,2
002
7 王玫,张炎华. 捷联惯性导航的工程实现. 哈尔滨工程大学学
报, 2005; 21( 4) ; 470—474
The Research and Design of Inertial Navigation System Based on MEMS
ZHANG Xiao-yu,DING Wen-wu
( Institute of Astronautics & Aeronautics,University of Electronic Science and Technology of China,Chengdu 611731,P. R. China)
[Abstract] A MEMS-based strapdown inertial navigation system is presented. The hardware and software design
are proposed. Based on an ARM9 core processor,the hardware platform is designed. The main processor and the
MEMS sensor’s selection are introduced. The hardware system structure is proposed; Based on a real-time operating
system the software design methods are implemented,and the multi-task design method and navigation algorithm
are given; This navigation system can extract the MEMS information,calculate,export the pose in real-time.
[Key words] MEMS strapdown inertial navigation system real time operating system navigation algorithm
1 期 张晓玉,等: 基于 MEMS 的惯性导航系统研究与设计 59
基于MEMS的惯性导航系统研究与设计.pdf (511.71 KB, 下载次数: 3)
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-5-11 23:46 , 耗时 0.094968 秒, 21 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

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