基于安卓的物体姿态与位置信息远程监测系统

2017-07-19 11:31:10焦金辉孙玉国
电子科技 2017年8期
关键词:服务器端姿态客户端

焦金辉,勾 灿,孙玉国

(上海理工大学 光电信息与计算机工程学院,上海 200093)



基于安卓的物体姿态与位置信息远程监测系统

焦金辉,勾 灿,孙玉国

(上海理工大学 光电信息与计算机工程学院,上海 200093)

针对汽车、船舶等交通工具的远程异地实时监测问题,文中利用安卓智能手机中的MEMS传感器与GPS芯片实现了物体姿态与位置信息的远程采集。采用基于四元数的互补滤波融合算法对MEMS加速度计与陀螺仪信号进行数据融合,获得物体运动姿态角;通过3G/4G网络将姿态角数据与位置信息实时发送到远程服务器,服务器端采用Java语言多线程编程。实验表明,互补滤波后横滚角、俯仰角精度为0.6°,航向角精度为1.0°,系统运行可靠,可实现多个运动物体的姿态与位置信息远程监测。

安卓手机;MEMS传感器;GPS;互补滤波;多线程编程

对移动物体的姿态与位置信息的实时获取在安全监测、防盗设计等领域都有着重要的应用价值[1-4]。传统监测系统普遍存在复杂度高,运行维护费用较高的问题[5-8]。因此设计具有低成本、灵活性强的远程监测系统是有必要的。

本文利用智能手机内部的MEMS传感器和GPS芯片获取移动物体的加速度、角速度、经纬度、海拔、运动速度等参数,引入基于四元数的互补滤波算法对获取的加速度与陀螺仪角速度进行数据融合,从而获得物体运动姿态角。利用3G/4G网络将上述信息实时发送到远端服务器。远端服务器采用Java语言编程,通过多线程技术可同时监测多个运动目标,并可调取百度地图进行实时搜索。

1 远程监测系统架构

移动物体姿态与位置信息远程监测系统可实时监测多个运动目标各自的多项运动参数,该系统以Android操作系统为参数采集客户端开发平台,采用Java语言编写服务器GUI界面,利用3G/4G移动网络实现客户端与服务器端远程通信。其系统架构示意图如图1所示。

图1 系统架构示意图

2 移动端位置信息获取与数据融合

本文通过获取手机中的加速度传感器、磁力传感器和陀螺仪参数,经基于四元数互补滤波的数据融合算法融合后得到物体姿态角,与传统互补滤波算法相比,直接采用了加速度传感器与磁力传感器的数据,避免了对姿态估计进行重构,且运算量低,结构简单易调试。

2.1 数据融合与互补滤波算法

2.1.1 由陀螺仪计算姿态角

根据四元数理论,先定义惯性坐标系到载体坐标系的姿态四元数[11-14],根据四元数乘法可得四元数向量与姿态矩阵的关系,解四元数微分方程,得到陀螺仪姿态角为

(1)

2.1.2 由加速度、磁力传感器计算姿态角

单独的加速度传感器只能获取横滚角和俯仰角,航向角需要结合磁力传感器来获取。选取北东地坐标系(n系)作为导航坐标系,载体纵轴OXb,横轴OYb和竖轴OZb构成右手坐标系作为载体坐标系(b系),可得到n系到b系的方向余弦矩阵[12]。之后通过导航坐标系(n系)到载体坐标系(b系)的重力加速度关系转换式可得横滚角和俯仰角分别为

(2)

(3)

其中,φm为载体纵轴相对于磁北的航向角,而载体的航向角是相对于地理北方向的,地理北与磁北之间存在一个磁偏角Δφ。因此由加速度传感器与磁力传感器所得的载体航向角为

φ=φm+Δφ

(4)

2.1.3 互补滤波器融合算法

互补滤波器是一种基于一阶微分系统的数据融合算法,可有效融合低频位置量测信息和高频速率量测信息[15]。 设置互补滤波器传递函数,取一阶低通滤波器传递函数为

(5)

则高通滤波器传递函数为

综上所述,小学阶段作为学生学习英语的开端,对学生的发展有重要作用。在教学过程中,教师要将学生作为课堂主体,根据学生的发展特点制定多元化的教学方式,激发学生的学习兴趣,调动学生的积极性,促使学生主动地投入到英语课堂中来,进而有效提升课堂教学效率。

(6)

(7)

式中,ya表示加速度和磁力传感器输出值;yb为陀螺输出值;μa、μb为量测噪声;b为陀螺零漂值。由式(10)可以看出,互补滤波器对重力场、磁场观测量具有低通滤波作用,能够平滑加速度计与磁传感器获取值,降低高频振动干扰;而对陀螺仪输出噪声具有高通滤波作用,同时能够抑制其零点漂移,提高姿态角的长期精度。

2.2 位置信息获取

物体的位置信息是通过手机中自带的GPS芯片获取的。Android系统为GPS提供了强大的支持管理服务[9]。GPS功能主要通过3个核心API实现:LocationManager,LocationProvider和Location。LocationManager类用于产生GPS定位相关的服务、对象,通过调用Context的getSystemService()方法来获取。LocationProvider(定位提供者)对象就是定位组件的抽象表示,通过LocationProvider可以获取该定位组件的相关信息。Location是一个代表位置信息的抽象类。GPS通过3个核心API获取位置信息的步骤为:

(1)获取系统的LocationManager对象;

(2)使用LocationManager,通过指定LocationProvider来获取定位信息,定位信息由Location对象来表示;

(3)通过指定LocationProvider获取经度、纬度、海拔、速度等定位信息。

3 监控服务器端程序设计

3.1 手机终端与服务器端数据通信

移动物体的运动姿态角与位置信息需通过无线网络才能保障实时远程传输,所以系统采用移动3G/4G通信方式,并以TCP/IP协议作为其通信协议。基于TCP/IP的Socket通信流程如图2所示。

图2 基于TCP/IP的Socket通信基本流程图

首先服务器与客户端初始化本地通信端口,等待客户端发送连接请求。当服务器端监听到客户端连接请求后,与客户端建立连接,进而数据传输。服务器端通过Java语言中的ServerSocket类建立服务端程序,并指定被监听的通信端口。通过创建用户列表与线程池来分别存放处理客户端连接的Socket对象与通信线程。多个客户端可创建多个线程负责服务端与不同客户端的数据传输[9]。

另外,3G/4G网络与常用内网服务器通信还需进行内网穿透。本系统中使用域名解析软件花生壳将本地服务器内网IP映射到公网IP上。手机移动网络连接公网IP地址与端口就可以实时向服务器传输数据。

3.2 服务器端GUI设计

系统服务器监控端界面主要包含两个部分:数据监控与地图搜索。数据监控部分用来实时显示安卓智能手机传来的移动物体运动参数与位置信息。地图搜索部分可用来搜索具体地理位置。

服务器监控界面的开发主要运用了Java基础库中的Swing组件,利用JFrame类创建窗体,JTextArea控件显示接收到的数据。地图部分是通过JavaScript语言调用百度地图API,需要嵌入在SWT的Browser组件中才能进行动态显示。可通过AWT组件中Canvas类创建一个shell窗口,将Browser嵌入到shell窗口中,便可在监控界面上动态显示地图。

4 实验结果与分析

物体姿态角的测试实验在JZJ-1型准直仪平台上进行。将手机固定于旋转平台上,校准零点位置后,连接服务器端,使平台分别沿空间3个方向旋转可得手机姿态角采样值与标定值误差关系,如表1所示。

表1 姿态角采样值与标定值误差关系

提取手机运动时姿态角参数绘制曲线,如图3所示。图中(1)号曲线为加速度获取初始值;(2)号曲线陀螺仪角度值;(3)号曲线为互补滤波融合后角度值。由图可知:手机获取的加速度值中含有大量噪声,转化为角度后曲线不平滑,毛刺现象严重。陀螺仪获取角速度经积分转化后的角度会随时间积累产生零漂现象。互补滤波融合后的姿态角有效改善了加速度中的噪声,使曲线更为平滑,同时解决了陀螺仪角度值的零漂问题。

图3 互补滤波效果曲线图

以汽车为测试对象,系统服务器端运行效果如图4所示。通过内网映射后的服务器端公网IP地址为61.174.40.245,端口号为14 709,但由于花生壳软件本身的设计,不同客户端与服务器端通信成功后,IP地址均会被显示为当前服务器内网IP,仅端口号不同。

图4 服务器端数据采集界面

5 结束语

本文基于Android平台设计了一种物体运动姿态与位置信息远程监测系统。利用智能手机内部的MEMS传感器和GPS芯片获取物体运动参数与位置信息,并通过基于四元数的互补滤波融合处理得到姿态角。借助3G/4G通信网络将上述信息实时发送到指定远程服务器端。通过对系统进行实验验证表明,系统运行效果良好,采集数据精确度较高,在车辆、船舶安全监控、防盗管理等方面具有实际的应用价值,且成本低、灵活性好。

[1] 叶斌,李玉榕,陈建国,等.基于Android系统的KOA运动监测系统研究[J].仪器仪表学报,2014,35(12):7-11.

[2] 王维虎,刘延申.湖泊岸边移动物体的定位技术研究[J].华中师范大学学报,2014,48(4):516-518.

[3] 徐巧玲.基于GPS的汽车运动参数检测与估算[J].宿州学院学报,2014,29(9):76-78.

[4] 李金明,黄建华,李泉.移动物体定位算法研究[J].兰州石化职业技术学院学报,2014,14(1):27-29.

[5] 张佐经,吴旭光.基于GPS和GPRS模块的车载导航定位系统设计[J].计算机测量与控制,2008,16(7):997-1000.

[6] 相浩,呼克佑.Java语言程序设计[M].北京:人民邮电出版社,2014.

[7] 李金凤,王庆辉,刘晓梅,等.基于MEMS惯性传感器的行人航位推算系统[J].传感器与微系统,2014,33(12):85-87.

[8] 倪红军.基于Android平台的移动终端GPS研究[J].计算机技术与发展,2012,22(5):199-201.

[9] 郭少豪.创意之钥:Android手机交互应用开发[M].北京:中国铁道出版社,2011.

[10] 任强,周升良,孙玉国.基于MEMS的角位置无线随动控制系统设计[J].传感器与微系统,2013,32(9):122-124.

[11] 米刚,田增山,金悦,等.基于MIMU和磁力计的姿态更新算法研究[J].传感技术学报,2015,28(1):44-48.

[12] 丁君,赵忠华. AHRS航姿解算中的两种滤波方法的比较研究[J].计算机仿真,2013,30(9):60-64.

[13] 刘兴川,张盛,李丽哲.基于四元数的MARG传感器姿态测量算法[J].清华大学学报:自然科学版,2012(5):627-631.

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

[15] 吕印新.基于MEMS/GPS的微型无人机组合航资系统研究[D].南京:南京航空航天大学,2013.

Remote Monitoring System for Object Attitude and Position Information Based on Android

JIAO Jinhui,GOU Can,SUN Yuguo

(School of Optical-Electrical and Computer Engineering,University of Shanghai for Science and Technology,Shanghai 200093,China)

Aiming at the problem of the remote real-time monitoring for vehicles, ships and other means of transportation, this paper used the MEMS sensor and GPS chip of Android smart phone to achieve the remote collection of the object's attitude and position information. Using complementary filter based on quaternion fusion algorithm for MEMS accelerometer and gyroscope signal data fusion to obtain motion attitude angle; The attitude angle data and position information were transmitted to the remote server through 3G / 4G network and the server used java multi thread programming. The experimental results show that the Roll angle and Pitch angle accuracy is 0.6 degree, and the Yaw angle accuracy is 1.0 degree. The system is reliable, and it can realize the remote monitoring of the attitude and position information of multiple moving objects.

android mobile phone;MEMS sensors;GPS; complementary filter;multi thread programming

2016- 10- 28

焦金辉(1991-),男,硕士研究生。研究方向:嵌入式系统开发。 勾灿(1992-),女,硕士研究生。研究方向:测试计量技术。孙玉国(1973-),男,博士,副教授。研究方向:精密仪器。

10.16180/j.cnki.issn1007-7820.2017.08.031

TN929.53;TP873+.2

A

1007-7820(2017)08-113-04

猜你喜欢
服务器端姿态客户端
攀爬的姿态
学生天地(2020年3期)2020-08-25 09:04:16
全新一代宋的新姿态
汽车观察(2018年9期)2018-10-23 05:46:40
跑与走的姿态
中国自行车(2018年8期)2018-09-26 06:53:44
县级台在突发事件报道中如何应用手机客户端
传媒评论(2018年4期)2018-06-27 08:20:24
孵化垂直频道:新闻客户端新策略
传媒评论(2018年4期)2018-06-27 08:20:16
基于Vanconnect的智能家居瘦客户端的设计与实现
电子测试(2018年10期)2018-06-26 05:53:34
浅析异步通信层的架构在ASP.NET 程序中的应用
成功(2018年10期)2018-03-26 02:56:14
在Windows中安装OpenVPN
客户端空间数据缓存策略
网页防篡改中分布式文件同步复制系统