《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 一种高精度车载坡度检测仪的研制
一种高精度车载坡度检测仪的研制
2015年电子技术应用第1期
付良瑞1,江 申2,汪志伟2,陈志军1,张继军1
1.西北核技术研究所,陕西 西安710024; 2.西安交通大学,陕西 西安710049
摘要: 针对现有车载坡度检测技术缺陷,提出了一种高精度车载道路坡度检测仪的设计及实现方案。该检测仪由主控节点和多个检测节点组成,检测节点通过三轴加速度传感器检测与地面倾角,并将其发送给主控节点;主控节点收集各检测节点数据,对其进行数据融合得到坡度的最优估计值。通过仿真和实验验证了方案的可行性,设计成果可广泛应用于车载导航系统中。
中图分类号: TN86
文献标识码: A
文章编号: 0258-7998(2015)01-0032-04
A high precision automotive grade detector
Fu Liangrui1,Jiang Shen2,Wang Zhiwei2,Chen Zhijun1,Zhang Jijun1
1.Northwest Institute of Nuclear Technology,Xi′an 710024,China; 2.Xi′an Jiaotong University,Xi′an 710049,China
Abstract: This paper presented a design and implementation scheme of high-precision automotive road gradient detector to improve the existing vehicle slope detection technique. It was composed of a master node and multiple detection nodes. The detection node obtained the tilt angle with the ground by the triaxial acceleration sensor, and then sent the angle value to the master node, which collected data of all the detection nodes and realized the data fusion algorithm to obtain the optimal slope value. The feasibility of the scheme is verified by simulations and experiments, which show that the scheme can be widely used in car navigation systems.
Key words : automotive road gradient detector;multi-sensor information fusion;fieldbus network;embedded system


0 引言

  随着自动化技术的快速发展,车载导航系统已成为智能汽车电子领域的重要组成部分。精确地检测车体当前行驶道路的坡度是车载导航系统所必备的功能之一。但是,现有的车载倾角检测装置普遍存在如下问题:(1)传统两轴加速度传感器的模拟信号采样获取的车体加速度和倾斜角度信息存在着测量精度低、适用范围较窄等缺陷和不足;(2)单一传感器节点结果易受温度、电压、电磁等因素的影响,导致数据可靠性差。因此,目前的检测装置无法满足高精度车载导航系统的实际需求。

  为了克服上述现有技术的缺陷,本系统拟提出一种高精度车载道路坡度检测仪的设计及实现方案。该检测仪由主控节点和检测节点组成,利用三轴数字加速度传感器获取车体倾斜角度,然后通过CAN总线将数据发送至主控节点;主控节点对分布在不同位置的多个传感器节点的检测数据进行信息融合处理,获得车体倾斜角度的最优估计值,以实现对道路坡度的高精度检测。

1 系统方案

  1.1 道路坡度检测仪整体设计

  道路坡度检测仪主要完成对小车车体倾斜角度的精确测量。检测仪由主控节点和多个检测节点组成,它在车体不同位置布设多个检测节点,分别检测各自的倾角信息;然后通过CAN总线将信息传送给主控节点进行集中处理,将各处及最终的估计值同时显示到车载液晶屏上,并备份到数据库中。每个检测节点通过陀螺仪检测车体动态倾斜角度,并配合三轴数字加速度传感器检测车体静态倾斜角度。本文所述的高精度车载道路坡度检测仪的整体设计框架如图1所示。

001.jpg

  图1中,主控节点为基于ARM Linux的嵌入式系统架构,它分别获取各检测节点的倾角信息,通过所设计的多传感器信息融合算法,得到倾斜角度最优估计值,并实时显示到车载液晶屏上;为保存行车过程中的坡度历史信息,主控节点中还搭建了嵌入式本地数据库。

  1.2 多传感器数据融合方法

  本系统通过高精度的三轴数字加速度传感器设计检测节点,提高单一传感节点的检测精度;并在车体不同位置布设多个该检测节点,通过融合处理算法获取车体倾角的最优估计值,以提高数据靠性及角度信息检测精度。

002.jpg

  由图2可知,一个检测周期分为数据获取和数据处理两个阶段完成。在数据获取阶段,主控节点通过远程帧轮询各检测节点的数据。在数据处理阶段,主控节点将检测子节点的倾角信息依次按照如下步骤进行数据融合,得到车体行驶道路坡度的最优估计值:

  (1)采用疏失误差剔除法[1](Negligence Error Elimination)剔除无效的传感器数据,消除角度测量中的随机干扰。设CAN总线网络中共有n个检测节点,F]R{}$W61@Y84}N5}31E$BQ.jpg表示主控节点在第k个检测周期收集到的检测节点i的角度测量值,则第k个周期内所有检测节点角度测量值组成的集合为4EX5N9(KC@5D8`{T6W48@{J.jpg,对集合A进行从小到大的排序得到集合B={x1(k),x2(k),x3(k),…,xn(k)}。那么疏失误差剔除后的集合C由式(1)~式(5)计算得到。

  15.png

  其中xM为集合B的中位数,DS为四分位离散度,xU和xD分别为其上四分位数和下四分位数,MED{·}为求集合中位数的运算。满足集合C的测量值为有效的,否则为误差值,应予以剔除。

  (2)通过最小二乘法[2](Least Square Method)拟合剔除后的所有测量值,作为卡尔曼滤波器的观测值输入。在剔除无效的传感器数据后,通过最小二乘法对集合C中的数据进行拟合,得到时刻k的观测值,如式(6)所示,其中LSM{·}为通过最小二乘法拟合集合数据的运算。

  Y(k)=LSM{C}(6)

  (3)结合上一检测周期的最优估计结果,利用卡尔曼滤波器完成本周期内的道路坡度最优估计值预测。卡尔曼滤波针对式(7)和(8)所示的离散线性系统。

  78.png

  Y(k)=H·X(k)+V(k)(8)

  其中X(k)为k时刻的估计值;Y(k)为k时刻(第k个检测周期)的观测值,其值由步骤(2)计算得到;参数?椎为系统矩阵,H表征了k时刻估计值相对于k-1时刻的变化率;W(k)和V(k)分别为k时刻的过程噪声和测量噪声。对于式(9)和(10)所描述的离散线性系统,可通过式(9)~(12)计算k时刻的卡尔曼滤波最优估计值。

  912.png

  其中Q和R分别为W(k)和V(k)的协方差,Kg(k)为k时刻的卡尔曼滤波增益,X(k|k)表征时刻k的最优结果,X(k|k-1)表征上一时刻的状态预测值,P(k|k)和P(k|k-1)分别为X(k|k)和X(k|k-1)对应的协方差。

2 系统硬件设计

  本文所述的高精度道路坡度检测仪硬件分主控节点和检测节点两部分。主控节点采用ARM Linux架构,实现对各检测子节点倾角数据的采集与处理;检测节点通过单片机低功耗模式,完成对各子区域车体动静态倾斜角度的精确测量。

  2.1 主控节点硬件设计

  主控节点采用ARM Linux架构,ARM芯片采用S3C2440,选用Linux 2.6.30内核版本进行嵌入式系统开发。通过SPI接口控制CAN总线控制器,完成车载信息的采集,各子区域的传感器信息及融合后的精确角度信息均通过车载触摸液晶屏实时显示,历史信息存储到本地数据库中。主控节点的硬件设计如图3所示。

003.jpg

  2.2 检测节点硬件设计

  检测节点通过三轴加速度传感器完成对自身倾角信息的采集,并将该数据上发。本系统工况检测节点硬件设计如图4所示。

004.jpg

  在工况信息检测过程中,倾斜的位置通过节点的位置确定,为了提高检测结果的精度,在检测之前可对加速度传感器进行校准。工况节点检测倾角的原理如图5所示。

005.jpg

  在图5(a)中,Ax、Ay、Az分别为传感器在3个方向上检测到的静止加速度。当车体发生了如图5(b)所示的倾斜时,其各轴的加速度变化如图5(c)所示,其中Axoy为传感器在xoy平面上的加速度,其计算方法如式(13)所示:

  13.png

  此时该检测节点计算到的车体xoy平面与地表水平面XOY倾斜的角度?琢如式(14)所示:

  14.png

  由此可知,通过此方法将获取的一组加速度信息进行计算处理,可得到检测节点各子平面与地表水平面之间的倾角。由于ADXL345三轴加速度传感器最高分辨率可达3.9 mg/LSB,因此单个传感器能捕捉1.0°的倾斜角度变化。

3 系统软件设计

  本系统的软件分主控节点和检测节点两部分进行设计。主控节点的软件主要完成对各CAN通信节点数据的收集、处理、保持及显示等功能;检测节点的软件主要完成传感器信息的采集和发送。

  3.1 主控节点软件设计

  主控节点采用嵌入式Linux架构,其软件设计在Linux操作系统上完成。本系统关于主控节点的软件可分为模块驱动、应用层进程和多进程控制等3个部分组成。模块驱动实现与硬件的交互,为应用层各进程的调用提供接口;应用层实现了主控节点的各主体功能,包括数据采集、数据处理与保存和数据显示等;多进程控制实现对各个子进程的调度,实现最优的进程调度。本系统的主控节点软件架构如图6所示。

006.jpg

  主控节点的模块驱动程序基于Linux操作系统开发,需要开发和加载LCD液晶驱动程序和CAN控制器MCP2510驱动程序。现场总线网络的轮询数据采集由主控节点控制,软件上采用一主多从模式。CAN通信中将A0~A7组合表示的地址作为检测节点的ID。特别地,主控节点的数据优先级最高,因此其ID号固定为0x000,详细如表1所示。

011.jpg

007.jpg

  数据的轮询收集结束后,即可对采集的数据进行相应的融合处理。本文1.2节已详细讲述数据融合算法及其仿真效果,本节介绍其具体实现流程,如图7所示。其主要完成对工况节点数据的处理、变量初始化和确定相关算法变量的初值。针对节点数据,分别依次进行疏失误差处理、最小二乘法拟合观测值和卡尔曼滤波估计最优值,得到X(k)即为该线程输出的融合最优估计结果。由式(12)可知,为保证下一轮数据的顺利融合,输出X(k)后仍需将该值保存,作为下一轮数据融合的输入。

  3.2 检测节点软件设计


008.jpg

  检测节点的主要功能是实现对车体行驶坡度信息的采集,并将采集的信息发送给主控节点。检测节点的CAN收发控制流程如图8所示。程序中首先初始化系统,然后进入低功耗模式;当收到命令时,节点立即读取传感器数据并上传。

4 评测

  4.1 仿真结果分析


009.jpg

  在MATLAB中仿真本系统的多传感器数据融合方法,并将其与单传感器数据描述进行比较,其前200个检测周期对比结果如图9所示。单传感器在第100个检测周期的数据明显发生了错误,本文的多传感器数据融合方法采用疏失误差剔除这种采集过程中的单节点的随机干扰,保证检测结果的精度。需要说明的是,前20个检测周期的融合值与实测值存在较大偏差,这是由初值X(0)=10、P(0)=0引起的,这种偏差不会对融合效果产生影响,因为随着算法的继续迭代,融合结果会趋于稳定。

  4.2 实际效果分析


010.jpg

  对于系统实际效果的评测,在车体的3个不同位置分别配置检测节点,保证这3个节点构成的平面ω与地表水平面平行。将小车放置在11°左右的斜坡上,截取系统检测过程中的60组数据,得到单传感器检测和多传感器数据融合估计的实际效果对比,如图10所示。由图可知,由于单个节点检测过程中数据存在一定的随机干扰和测量误差,因此单个节点检测的数据波动较大;本文的多传感器数据融合算法可通过疏失误差剔除法剔除随机干扰,并通过卡尔曼滤波的迭代消除测量误差,因此数据融合后的曲线相对平稳,其测量值也更接近真值。

5 结论

  针对当前车载坡度检测技术缺陷,本文提出了一种高精度车载道路坡度检测仪的设计方案,并通过MSP430单片机、三轴数字加速度传感器、ARM微控制器和CAN总线等实现其软硬件功能。该仪器采用三轴数字加速度传感器计算倾角,并对多个传感器数据进行融合处理,提高了车载道路边坡检测的精度,其可广泛应用于车载导航系统与智能汽车电子领域。

参考文献

  [1] 段战胜,韩崇昭,陶唐飞.基于最近统计距离的多传感器一致性数据融合[J].仪器仪表学报,2005,26(5):478-481.

  [2] 张晓平,刘桂雄,周松斌.利用最小二乘支持向量机实现无线传感器网络的目标定位[J].光学精密工程,2010,18(9):2060-2068.


此内容为AET网站原创,未经授权禁止转载。