基于MEMS传感器的物流车辆位置及姿态追溯系统设计

2018-03-02 17:34王志伟许江淳李玉惠张云史鹏坤
软件 2017年9期

王志伟+许江淳+李玉惠+张云+史鹏坤

摘要:为了解决物流响应慢,货物在仓库中丢失,以及车辆在运输货物途中出现事故等问题,研究了一种基于嵌入式的物流跟踪及车辆姿态检测系统。该系统通过车载平台与物流中心联网对车辆实时状况分析并进行预处理,在物流运输过程中能够实现物流实时跟踪。在实际应用中,该系统能够对货物的位置进行实时确认,并在数据中心可以接收到车辆是否出现故障或车辆姿态信息,在车辆故障和姿态异常时发出预警信息。

关键词:物流跟踪;姿态检测;姿态异常;预警信息

0 引言

随着近些年来物流产业的蓬勃发展,人们对处于运输过程中货物的状况关注度逐渐增强。物流管理系统便应运而生,物流管理系统不仅能够提高整个物流产业的发展起到推进作用,并且能够为客户实时的提供货物的具体状况。在物流管理的过程中,货物在运输过程中的状态是人们关注的焦点,因此如何能够更好的直接了解到运输过程中车辆、驾驶员以及货物的整体状态信息成为了关键。现代物流系统要求能够对上述信息集成在一个综合系统中,并且希望系统能够在控制成本方面做出一定的贡献。当然整个运输过程中运输车辆常常会出现故障或者车祸情况,此时如果调度中心对车辆位置及车辆状态信息进行了及时了解,就能提高货物的运输能力,并带来更好的客户体验。

本文应用嵌入式技术,分别从车载平台,数据中心,和客户端三个部分对该系统进行设计。车载平台应用嵌入式技术,通过MPU-6050模块采集车辆的姿态信息并通过SIM908模块采集车辆的位置信息,通过GPRS实现车载平台与数据中心之间的数据传输。数据中心不仅能够实现对车辆信息和所载货物信息的查询功能,分别实现了与车载平台的信息交互,显示车辆的地图位置。客户端通过INTERNET网络实现与数据中心的数据读写功能,查询客户所托货物的运输信息。

1 系統设计

整个物流车辆位置及姿态检测系统可以划分为三个主要的部分:车载终端、数据分析中心、客户端。三个部分之间的整体关系示意图如图l所示:

根据当今物流系统的发展需要三个部分的功能需求也各有不同。对车载终端主要实现的功能就是能够及时的发送出车辆位置,以及车辆的运行状态以及驾驶员对车辆是否有违规操作。是否延误货物的装车或者卸载。以及驾驶员在运输货物的过程中是否存在违反交通规则。最重要的是在车辆在运输过程中是否出现故障或者事故,以及准确判断车辆姿态和驾驶员的状况。在驾驶员无法自行解决故障的时能够通过终端将信息反馈回控制中心。并由控制中心给出规划后合理的方案,当事故发生时的数据超出设定的安全范围时系统判定驾驶员无自救能力,车载平台会自动向数据中心发送报警信息以保证驾驶员和客户财产的安全。

客户端是提供给物流客户使用的查询系统。客户通过自己账户和密码登录系统后能够查询自己的货物在整个发送过程中细节问题,包括运输过程中货物所处的位置,负责运货的车型和驾驶员信息以及运输车辆的其他信息。

数据中心通过查询功能可以访问处于运输过程中的车辆和驾驶员的位置信息、运行状态以及接收来自车载平台发送来的信息。运输过程中一旦车载平台主动发送数据到数据中心,数据中心会快速的接收信息并对接收到的数据进行分析,辨别是系统白动反馈回来的信息还是车辆发生故障时驾驶员通过手动的方式向系统发送的异常信息。并根据信号源迅速判断车辆所在位置,同时从接收信号之后十秒钟之内的车辆姿态信息。

2 系统硬件设计

该系统是以三星S3C6410微处理器为核心的开发板进行开发。如图2所示,该系统通过GPS对车辆进行实时定位,这样在车辆发生故障时方便救援。状态检测模块中主要用的是MPU-6050.MPU-6050集成了三轴陀螺仪和三轴加速度计,可以准确地测量出车辆当前的姿态和行驶速度。条形码扫描装置用的是市面上常见的电子扫码枪。

3 车辆姿态检测方案设计

3.1 车辆姿态检测方法选择

陀螺仪和加速度计波形如图3波形图。由图3可以看出波形不够平滑,噪声较大。故而需要数据融合算法对两种数据进行融合。

从图3看出,由于单个传感器的输出值出现很尖锐的地方,会对整个系统造成影响。为了提升对车辆姿态判断的准确性需要对获得数据进行一定的处理。在数据处理方面通常可以很容易的想到加权平均法因为这种方法在数据处理中实现起来比较简单,并且运算量并不是很大,但是其在精度方面存在很大缺陷。车载平台在运行过程中不仅需要很好的灵敏性并且在数据精度比较高,一旦出错后果无法挽回。因此这种方法并不适合该系统。另外一种就是神经网络法,这种方法的自学习能力很强,但是由于其建模过程以及参数的确定和优化对于本系统来说太过于复杂,并不适合本系统。因此在本系统中采用了卡尔曼滤波来进行数据融合来获得精度更高的数据。实现方式是通过计算机软件中的虚拟示波器采用互补滤波的方式来对陀螺仪和加速度计的输出数据进行处理。所得曲线,如图4所示:

由4图可知,互补滤波算法曲线很不规则,且有些许漂移。因此需要对数据进行进一步的处理,这里应用的卡尔曼滤波的方法对传感器输出数据进行处理。

3.2卡尔曼滤波器基本原理

卡尔曼滤波器通常用来处理时间离散控制过程的问题。在使用之前首先要定义模型线性随机微分方程。在这一步骤中首先假设卡尔曼滤波模型k时刻真实状态是通过(k-l)时刻的状态推算出来,推算过程如式(1)所示:

在公式(1)中,Xk代表的含义为k时刻状态;A是k-l时刻状态变换模型;B是作用在控制器向量Xk上的输入控制模型;Wk是过程中产生的噪声,假设整个过程中的平均噪声值为0,协方差矩阵Qk的特征符合多元正态分布:则与K时刻的真实状态相对应的Zk测量满足式子:

式(3)中Hk是能够把真实的控制映射到观测空间的观测模型;Xk是平均值为0的观测噪声,协方差矩阵Rk符合正态分布,其描述如式4所示:endprint

在整个过程中可以认为任意时刻的噪声与其他时刻的噪声是互相独立的。

卡尔曼滤波器在数据处理的过程中可以分为两个阶段:分别是预估阶段和更新阶段。在预估阶段卡尔曼滤波器主要完成的任务是通过上一时刻状态来估算出当前时刻的状态;在更新阶段主要根据观测值对预估阶段的数据优化,从而可以获得一个比预估阶段更准确的新估计值。

卡尔曼滤波器迭代过程如下:

(1)先验状态估计:

(2)先验估计误差协方差:

(3)卡尔曼增益:

(4)后验状态估计:

(5)后验误差协方差:

在式(5)至式(9)中,各个参数代表的含义为:

A:作用在Xk-l上的n阶矩阵;

B:作用在控制向量Uk-1上的nxl输入控制矩阵;

H: mxn观测模型矩阵,将真实状态空间映射为观测空间;

Pk/k-l先验估计误差协方差矩阵;

Pk: nxn后验估计误差协方差矩阵;

Q: nxn过程噪声协方差矩阵;

R: mxm过程噪声协方差矩阵;

I:n阶单位矩阵;

kk: nxm矩阵,称之为卡尔曼增益。

3.3 卡尔曼滤波器设计

根据上面对卡尔曼滤波过程的分析可以看出卡尔曼滤波器是一种高效率白回归滤波器。卡尔曼滤波器的工作流程如图5所示。

由于陀螺仪和加速度计的输出都模拟量因此需要通过ARM芯片中的A/D模块对其进行模数转换除此之外还要对两者的输出值进行转换。陀螺仪输出电压与角速度转换如式(10)所示:

式中:G系统中陀螺仪检测到的角速度;Vout为陀螺仪输出电压;Voffest为处在静止状态时陀螺仪的输出电压;Vsen为陀螺仪灵敏度;K为放大电路放大系数。加速度计输出值的变换如式( 11)所示:式中:A为检测到的重力加速度;Vout为加速度计输H{电压;Voffest为平衡位置的输出电压;Vsen为加速度计灵敏度。利用反三角函数求Jq』与重力方向的倾角。

为统一单位可以通过式( 12)将弧度换算得出角度。式子(13)为系统雅克比矩阵:

通过上面的分析之后可以对系统的预测协方差矩阵P进行计算了。另外计算出估计值和预测值之间存在的誤差。得出卡尔曼增益K O和K l,K O是最优估计值时的增益,K l用来计算最优估计值的偏差。根据计算得到的最优估计值和预测值偏差,就可以计算出最优角度值angle和最佳的角速度值。

3.4实验验证

在实验过程中可以看出单一的加速度计或者只通过陀螺仪不能够很好的获得良好的数据,因此一定要对数据进行相关的处理。在探索合理的数据处理方法时做了下面的实验验证。选用盒子来模拟车辆对相关内容进行实验。在纸盒子的轴中心处安装MPU-6050模块。在图6中标出了车体坐标轴,由于拍摄图片的二维特性所以在图中Y轴标在了坐标轴原点处。此次实验的姿态是针对汽车模型当前所处的姿态,根据图6可以得到当前车辆模型与地面夹角应当为-30°。

然后将该装置连接到计算机上,来验证卡尔曼滤波器是否满足本系统设计。通过示波器观察其输出波形,如图7所示。可以看出比互补滤波算法有所改进。

4 结语

本系统通过对主要功能的研究与测试,实现了对货物信息在车载平台上的记录,通过对车辆定位功能的实现间接对货物的位置进行确认。通过加速度计和陀螺仪对车辆姿态信息采集,并经过数据融合算法处理之后,在实物仿真的情况下卡尔曼滤波算法能够满足本系统的设计。endprint