1、第 39 卷 第 2 期 福 建 电 脑 Vol.39 No.2 2023 年 2 月 Journal of Fujian Computer Feb.2023 龙振弘,男,1976年生,主要研究领域为信号处理、数字图像处理。E-mail:。低成本微惯性测量模块的设计与验证 龙振弘 (三明教育学院 福建 三明 365000)摘 要 本文首先研究了捷联惯导的姿态解算原理,在此基础上采用陀螺仪 ADXRS150 和加速度计 ADXL330 设计了微惯性测量单元模块,利用 32 位 ARM 处理器 STM32F103 对微惯性测量单元进行姿态解算。试验结果表明,所设计的微惯性测量单元模块的姿态角静态解
2、算精度达到1,动态下姿态角精度达到2以内,满足载体测量的精度要求。关键词 微机电系统;惯性导航;微惯性测量 中图法分类号 TP212 DOI:10.16707/ki.fjpc.2023.02.012 Design and Verification of Low Cost Micro Inertial Measurement Unit Module LONG Zhenhong (Sanming Institutet of Education,Sanming,China,365000)Abstract Aiming at the the attitude calculation principle
3、 of SINS.On this basis,the micro inertial measurement unit(MIMU)module is designed by using the gyroscope ADXRS150 and the accelerometer ADXL330 accelerometer,The 32-bit ARM processor STM32F103 is used to solve the MIMU attitude.The experimental results show that the static calculation accuracy of t
4、he attitude Angle of the designed MIMU module is achieved 1,The attitude Angle accuracy is within 2 under dynamic conditions,Meet the carrier measurement accuracy requirements.Keywords MEMS;SINS;MIMU 1 引言 惯性技术是二十世纪发展起来的一种可自主连续、全方位、全时空、不受外界干扰,敏感控制载体姿态轨迹的导航方法1。随着惯性元器件、现代控制理论和计算机技术的发展,捷联惯性导航系统(strap-do
5、wn inertial navigation system,SINS)直接将陀螺仪和加速度计安装到运载体上,通过数学平台实现运动参数的投影和姿态解算2-3。基于微机电系统(micro-electro-mechanical system,MEMS)惯性传感器的惯性导航技术是 SINS 的一个重要分。MEMS 器件具有体积小、成本低、功耗小、测量范围大、可靠性高、便于维护等优点,主要用于姿态测量领域,是当今惯性导航的主流发展方向和研究热点4-6。目前,MEMS 陀螺仪已被普遍推广应用在中低精度要求的手机、平板电脑等便携式电子设备和低成本无人设备上,应用前景十分广泛。本文以低速载体航姿测量的实际需求
6、为应用背景,提出一种新的基于微型惯性测量单元(micro inertial measurement unit,MIMU)的低成本惯性测量组合设计方案,利用商业级微机械陀螺、微机械加速度计设计出六自由度 MIMU,通过硬件电路和中值滤波对 MIMU 数据进行降噪处理。根据处理后的陀螺及加速度计测量的实时信息,通过“四元数”法完成导航解算输出载体的航姿信息7。2 捷联惯导姿态解算原理 2.1 坐标系的选取与姿态矩阵 本系统的导航坐标系(n-系:OnXnYnZn)选为地理坐标系。其坐标原点选在载体质心位置,Xn、Yn、54 龙振弘:低成本微惯性测量模块的设计与验证 第 2 期 Zn轴分别指地理东向、
7、地理北向和向沿当地垂线向上(天向)。载体坐标系(b-系:ObXbYbZb)的坐标原点在载体的质心;Xb轴沿载体的纵轴指向前;Yb轴沿载体横轴向左,即指向前进路线的左方,按右手规则,Zb轴垂直于XbObYb平面向上。姿态角的定义如下:偏航角定义为载体纵轴在导航坐标系中的投影与OXn轴的夹角,由OXn逆时针旋转至投影为正;俯仰角定义为载体前进方向与其在水平面投影的夹角,向下为正;滚动角定义为载体轴OZb与OZn之间的夹角,从载体尾部看,右转为正。载体坐标系和导航坐标系之间的坐标变换关系可用式(1)来表示8。111213212223313233coscossincossincossinsinsinc
8、ossinsinsincoscoscossin=cossincossinsinsinsincoscossincoscos bnCTTTTTTTTT|=+|+|(1)bnC称为姿态矩阵。若已知bnC中的九个元素,由式(1)就可以求得三个姿态角。1112312133311sin(),(),()TTTtgtgTT=(2)2.2 基于四元数法的姿态解算 姿态解算主要是将载体坐标系下测量得到的角速度和角速度转换到导航坐标系中,并解算出载体的航姿角。目前姿态解算方法主要有欧拉角法、方向余弦法算法、四元数算法等。四元数法与其它算法比较的优势在于计算量小、计算精度高、可以避免奇异性。因此本系统选用四元数法进行
9、姿态解算9。四元数指由一个实数单位 1 和三个虚数单位 组成,并具有实元的数。01231qqq i qj qk=+?+(3)其中,0123qqqq、为实数,0q称为四元数的标量部分,123q i qj qk?+称为四元数的矢量部分。i j k?、可以视为三维空间的单位矢量,当一空间矢量以角速率转动时,其四元数满足微分方程:12qq=?(4)其中,0 xyzijk=+?+将(4)式改写为矩阵形式:00112233001020 xyzxzyyzxzyxqqqqqqqq|=|?(5)由式(5)可见,四元数可以用来描述一个坐标系或一个矢量相对于另一个坐标系的旋转过程。因此一个四元数既表示了转轴的方向,
10、又表示了转角的大小,往往称其为转动四元数。用四元数来描述由导航坐标系到载体坐标系转动过程,转动所得四元数姿态矩阵为:222210321 20 31 30 222221 20 323012 30 122221 30 22 30 132101112132122233132332()2()2()2()=2()2()bnqqqqq qq qq qq qCq qq qqqqqq qq qq qq qq qq qqqqqTTTTTTTTT+|=+|+|(6)因此可以通过求解四元数来解出式(6)中的对应的1133TT 元素,再由式(2)求得姿态角。在上述由导航坐标系到载体坐标系的变换过程中,四元数微分方程为
11、:1()()()2q tt q t=?(7)即 00112233001200bbbnbxnbynbzbbbnbxnbznbybbbnbynbznbxbbbnbznbynbxqqqqqqqq|=|?(8)bnb是载体坐标系相对导航坐标系转动的角速率在载体坐标系上的投影,即陀螺仪直接输出载体坐标系相对于导航坐标系(地理系)的角速率。式(7)的()q t表示t时刻的四元数矩阵,()t 表示t时刻的角速度矢量,若已知t时刻的()q t,即0()q t、1()q t、2()qt、3()q t/2tT+、tT+时刻的(/2)tT+,()tT+。2023 年 福 建 电 脑 55 则.1()()()2q t
12、t q t=的四阶龙格-库塔算法表达式为:12341()()(2)6q tTq tkkkk+=+(9)在式(9)中:1213243()()21()()2221()()2221()()22Tkt q tTTktq tkTTktq tkTktTq tk=+|=+|=+|(10)表征坐标旋转的四元数是规范四元数,其范数恒为 1。但由于在连续求解四元数微分方程时,存在计算误差会使四元数退化,因此在对姿态矩阵bnC进行实时更新时,需要对四元数进行归一化处理。归一化采用的是欧基里德范数最小为指标的四元数最佳归一化。设获得的四元数为:0123Qqq iq jq k=+(11)则归一化结果为 01232222
13、0123QQqq iq jq kqqqq=+(12)求出四元数的四个元之后,可以根据式(6)求出姿态矩阵bnC,进而解算出载体的航向角、俯仰角和横滚角。3 硬件设计 图 1 系统方案框图 硬件系统主要由数据采集和数据处理两个模块组成。数据采集模块选用美国模拟器件公司(ADI)的 ADXRS150 陀螺仪测出载体在 X、Y、Z轴上角速度的三个分量,加速度传感器选用 ADI公司的MEMS传感器ADXL330测量重力加速度在X 和 Y 轴上的分量,经数据处理模块的 STM32F103解算后,通过 RS232 串口输出航姿角。具体解算方法见第 2 节叙述。系统方案框图如图 1 所示。3.1 陀螺仪工作
14、电路 陀螺仪 ADXRS150 工作电路如图 2 所示.在设计中芯片供电端增加磁珠 L1 以降低噪声干扰,其它电容应尽量靠近相应引脚放置。图 2 ADXRS150 工作电路 3.2 加速度传感器工作电路 三轴加速度传感器是 ADXL330,体积小、功耗低、量程2g。其电路如图 3 所示。图 3 AXL330 工作电路 3.3 微处理器工作电路 微处理器采取意法半导体(ST)公司的 32 位ARM 处理器 STM32F103,该芯片采取 Cortex-M3内核,最大频率为 72MHz,具有丰富的外设资源,可以满足本系统的设计需求。4 软件设计 软件系统使用 Keil MDK5 开发环境,采用 C
15、语言进行开发。系统软件由数据采集和数据处理模块组成:数据采集模块对各传感器的输出进行预处理以剔除56 龙振弘:低成本微惯性测量模块的设计与验证 第 2 期 传感器野值和随机脉冲干扰。每组采集 8 个数据,首先去掉其中的最大值和最小值,然后计算剩余 6个数据的算术平均值。数据处理模块对经坐标变换后的陀螺角速率信号和加速度信号进行 SINS 姿态更新得到姿态更新矩阵和 SINS 姿态角;利用经坐标变换后的加速度信号以及 SINS 姿态角进行位置更新,通过串口RS232 传输至 PC。流程如图 4 所示。图 4 数据处理流程图 5 实验验证 将 MIMU 模块放置到转台进行转动:首先将模块静置 3s
16、,然后逆时针转动 360,静止 2s 后再顺时针转动 360。目的是测试系统的偏航角动态输出精度及当水平转动时俯仰角和横滚角的输出值大小。图 5、图 6、图 7 给出了上述运动的测试结果。图 5 偏航角输出波形 图 6 俯仰角输出波形 图 7 横滚角输出波形 从图 5、图 6、图 7 可以看出,在逆时针转动过程中,转台出现两次短暂的抖动,顺时针转动中出现一次抖动,偏航角的输出反映出了上述水平转动过程。转动结束时偏航角输出回到初始位置,精度在 2以内,满足系统技术指标。6 结论 本文介绍了一种基于 ADXRS150 陀螺仪和ADXL330 加速度传感器的六自由度微惯性测量单元的设计方案,对其软硬件设计进行了叙述,对试验样机进行了测试。测试结果表明,设计的 MIMU的姿态角的精度在2以内,满足系统技术指标,能满足导航领域的使用要求。参 考 文 献 1 薛连莉,陈少春,陈效真.2017 年国外惯性技术发展与回顾.导航与控制,2018,17(2):1-9 2 刘洛佳,曹双双.“互联网+”时代宠物共享饲养平台构建.电脑知识与技术,2019,15(29):40-42 3 霍庚,黄平华,张兴凡.光学