基于MEMS传感器的船载无人机姿态检测系统设计

2018-02-22 12:32马凯贾志成吴佳平高丽华
无线互联科技 2018年23期

马凯 贾志成 吴佳平 高丽华

摘 要:文章提出了基于一种基于MEMS姿态传感器的船载无人机姿态检测系统,按照无人机姿态检测准确性高、实时性快的要求,进行了系统方案设计。硬件设计选用M4核的ARM芯片STM32F303为控制器,以9轴姿态检测传感器MPU9150为传感器,STM32对MPU9150进行监控、数据处理。软件设计上将FreeRTOS实时操作系统移植到STM32嵌入式处理器中,通过四元数卡尔曼算法对传感器数据进行解算、融合,得到无人机的俯仰角、横滚角和航向角姿态数据。通过与Pixhawk飞控姿态数据进行对比实验,在准确性和稳定性方面占有优势。

关键词:船载无人机;姿态检测;STM32;MPU9150;四元数卡尔曼;FreeRTOS

船载无人机具有机动性强、使用便捷、飞行成本低特点,在海域监管、海洋环境监测、资源保护等领域作用越发明显,船载无人机的应用成为当前研究热点之一[1]。船载无人机姿态实时精确检测,成为无人机安全飞行、可靠避障的必要条件和基本保障。

陀螺仪是维持方向和获取角速度信号的常用装置,在一定条件下可以完成无人机姿态3个核心参数,即俯仰角、滚转角、航向角的检测。在军用无人机领域,利用机械陀螺仪及光纤陀螺仪等高精度惯性导航传感器,能够完成无人机姿态检测,但其造价昂贵,体积大,在民用船载无人机应用领域中有一定局限性[2]。随着微机电系统(Micro-Electro-Mechanical System,MEMS)技术的发展,体积小、集成度高、价格低MEMS陀螺仪传感器成为小型姿态检测系统的最佳选择,MEMS陀螺仪具有良好的动态响应特性,但存在温度漂移问题,而且积分累积误差存在,适合做短时间的检测,长期使用必须对其进行修正。MEMS加速度计和电子罗盘不存在积分误差问题,静态性能好,但受到载体振动和外界磁场干扰,动态性能会较差[3]。因此,可由陀螺仪检测无人机运动姿态,同时利用加速度计和电子罗盘分别检测加速度和地磁场矢量来校准陀螺仪的测量值,通过数据融合算法,提高无人机姿态信息检测准确性[4]。

1 系统方案设计

根据引言中分析,笔者选择了集成陀螺仪、加速度计和电子罗盘的9轴MEMS姿态检测传感器MPU9150,用来实时采集3个轴的角速度、加速度和磁感应强度,以M4核的ARM芯片STM32F303为控制器,实时对MPU9150的输出信号进行姿态解算、数据融合计算,得到无人机的俯仰角、横滚角和航向角的姿态信息,整体系统框如图1所示。

2 硬件电路

2.1 微控制器电路

微控制器总体电路由STM32F303最小系统、MPU9150姿态电路、TF存储卡电路、电源电路4部分组成,如图2所示。STM32F303主控芯片除了利用I2C接口采集MPU9150姿态信息外,还利用AD脚,即图2中Bat端口所示,对电源电路供电情况进行监测,此外,还利用SPI接口,即图2中SPI2_MISO,SPI2_CLK,SPI2_MOSI,SPI2_NSSI 4個端口所示,扩展了TF卡电路,用于存储姿态信息。

2.2 姿态传感器电路

姿态传感器MPU9150内部集成陀螺仪、加速度计、电子罗盘,它可根据运动速度的快慢,编程设置不同的测量范围,姿态传感器电路如图3所示。

图3中I2C1_SDA,I2C1_SCL分别是I2C总线的数据传输引脚和时钟信号引脚,利用上拉电阻,能够提高系统抗干扰性;LSM_INT1是MPU9150的中断输出引脚,可将相关状态信号触发给STM32F303微控制器。MPU9150芯片工作电压为3.3 V,为确保姿态检测信号实时、有效工作,对MPU9150的供电采用断电复位方式,即利用P型MOS管进行复位,当STM32F303微控制器检测到姿态数据校验有误或数据不响应等异常时,CPU则通过MEMS_CTR引脚发出一个高电平给MOS管栅级将其断电,随后再发一个低电平将MOS管导通,完成复位工作。

2.3 电源电路

本系统采用可充电锂电池供电,为获取稳定可靠系统电压,采用ME6211C系列LDO线性稳压芯片,考虑到STM32F303控制器及MPU9150芯片实际工作电压为2.7~3.6 V,在满足功能前提下,从降低功耗角度出发,选用输出电压为3.0 V的ME6211C30芯片,电源电路如图4所示,D1,D2为TVS稳压管,可以避免外界电源、负载不稳的时候对系统冲击;PT为自恢复保险丝,当有超过200 ma自动断电,温度较低后自动恢复工作;稳压管Bat接到CPU的AD引脚,用于检测ME6211C30芯片输入电压。

3 软件设计

3.1 姿态解算与数据融合

控制器从姿态传感器采集的信息不能直接表达姿态的俯仰角、横滚角和航向角,需要利用算法进行解算,即姿态解算,另外,由于3个MEMS传感器的动态响应速度、累计误差的不同,所计算的姿态信息具有一定的互补性,所以,必要采用相关算法对每个传感器的信号进行融合,提供测量精度和系统的动态性能,即数据融合[5]。

俯仰角θ,横滚角φ,航向角φ 3个姿态角需要通过地理坐标系E与机体坐标系B的坐标变换获得[6]。地理坐标系E采用北东地坐标系,其中原点在机体的中心,xe轴指向地理北,ye轴在水平面内并指向东,ze轴垂直与地面并指向地心,构成右手坐标系;机体坐标系B原点取在飞机的质心,坐标系与飞机固连,xb与飞机的纵轴重合,yb与飞机的横轴重合,zb与飞机的竖轴重合。由地理坐标系向机体坐标系的转换可以通过3次旋转来实现,其转换关系式如式(1)所示。

3.2 基于FreeRTOS程序设计

为提高系统实时性与可靠性,将FreeRTOS实时操作系统移植到STM32嵌入式处理器中,FreeRTOS是一种免费、开源实时性操作系统,能够实现基本的实时调度、信号量、队列和存储管理功能[9]。

本系統设计的主要任务包括:(1)I2C控制任务,实现对9轴传感器的数据采集。(2)UART控制任务,实现模块和外界通信进行数据交换的任务。(3)SPI控制任务,实现对TF卡的数据存取任务。(4)Kalman任务,实现对传感器数据进行融合处理的任务。FreeRTOS移植初始化流程如图5所示。

4 实验和分析

为验证本9轴姿态检测系统的性能及指标,将此姿态检测模块接入无人机测试机进行飞行验证,测试机采用Pixhawk飞控系统,数据取样时间为从起飞开始的1 200 s。9轴姿态传感器解算融合后得到俯仰角、横滚角和航向角数据参数,这3个参数再与GPS数据融合得到相对误差。同时,将Pixhawk飞控系统自身姿态数据与GPS数据融合也得到相对误差,最后,将3个姿态参数的两种相对误差同时输出,进行比较分析,具体数据曲线如图6所示。

图6的横轴为时间坐标,即采样时间0~1 200 s,纵轴为和GPS数据融合后的相对误差角度。其中,USL标注的曲线为本9轴姿态数据,Pixhawk标注的曲线为测试机姿态数据。可以看出,开始起飞时姿态数据误差较大,随后趋于平稳。USL俯仰角的误差范围在﹣25~20,约为0.7°,且偏离误差低于Pixhawk的数据;USL横滚角的误差范围0~50,约为0.8°,与Pixhawk误差数据相差不大;USL航向角误差接近0,但Pixhawk航向角误差较大。综合来说,本9轴姿态检测模块效果优于Pixhawk飞控姿态数据,能够满足使用要求,但是误差范围还值得进一步缩小和优化。

5 结语

硬件电路上,设计了姿态检测传感器断电复位电路,能够实时根据控制器CPU采样数据异常,通过P型MOS管对MPU9150姿态传感器复位,确保了采样数据实时和有效,为飞控系统安全可靠运行提供了保障;软件设计上,将FreeRTOS实时操作系统移植到STM32嵌入式处理器中,采用四元数卡尔曼算法对传感器数据进行解算、融合得到姿态数据。实验数据表明,本9轴姿态检测模块在俯仰角误差和横滚角误差、航向角的稳定性方面,优于Pixhawk飞控姿态数据,能够满足船载无人机飞控要求,具有实用性。

[参考文献]

[1]林一平.我国加强无人机对海洋环境监测与管理[J].交通与运输,2013(1):31-32.

[2]张晓玉,丁文武.基于MEMS的惯性导航系统研究与设计[J].科学技术与工程,2012(1):56-59.

[3]王建林,徐青菁,姜子庠.多功能自平衡智能车控制平台的设计[J].实验室研究与探索,2016(4):71-73.

[4]李世光,王文文,申梦茜.基于STM32的姿态测量系统设计[J].现代电子技术,2016(9):12-14.

[5]刘凯,梁晓庚.基于陀螺仪和磁强计的姿态解算方法研究[J].计算机仿真,2014(5):39-42.

[6]秦永元.惯性导航[M].2版.北京:科学出版社,2014.

[7]陈建翔,万子敬,王向军.基于四元数的低成本姿态测量系统设计[J].传感技术学报,2016(5):706-710.

[8]陈鹏展,朱年华,李杰.两轮自平衡车姿态检测与平衡控制[J].控制工程,2017(8):1574-1578.

[9]杨斐文,张达,杨小聪.基于Cortex-M4和FreeRTOS的矿用三维激光扫描测量系统设计[J].中国矿业,2014(2):316-318.

Abstract:A ship borne UAV attitude detection system based on MEMS attitude sensor is proposed. According to the requirements of high accuracy and fast real-time, the system scheme is designed. The hardware design chooses the ARM chip STM32F303 with M4 core as the controller, 9-axis attitude detection sensor MPU9150 as the sensor, and STM32 monitors and processes the data of MPU9150. In software design, FreeRTOS real-time operating system is transplanted to STM32 embedded processor. Quaternion-Kalman algorithm is used to compute and fuse the sensor data, so the pitch angle, roll angle and heading angle of UAV are obtained. Compared with Pixhawk flight control attitude data, it has an advantage in accuracy and stability.

Key words:ship borne UAV; attitude detection; STM32; MPU9150; Quaternion-Kalman; FreeRTOS