质心特征(精选7篇)
质心特征 篇1
节点定位作为无线传感器网络 (Wireless Sensor Network, WSN) 的基本功能, 是无线传感器网络的关键支撑技术之一[1]。在无线传感器网络的各种应用中, 如目标跟踪、物流管理、生态环境监测、地震洪水火灾、医疗监护等的现场监控中, 都需要获取传感器节点的位置信息, 从而对信息来源的位置进行精准的定位, 同时, 节点的位置信息还可以辅助实现数据路由。因此, 节点定位对无线传感器的有效性起着至关重要的作用。
目前, 大多节点定位技术都是利用少数已知位置信息的节点通过某种机制来确定未知节点的位置。根据是否需要测量相邻节点间的距离或角度信息, 将定位算法分为基于测距的算法和无需测距的算法[2]。基于测距的算法通过测量相邻节点间的距离或角度信息, 并利用实际测量的距离来计算未知节点的位置, 定位精度较高, 但对硬件依赖性高, 不适合低功耗、低成本的无线传感器网络应用领域。常用的基于测距的算法有TOA和TDOA、AOA和RSSI[3]。无需测距的算法无需测量相邻节点间的距离或角度信息, 利用网络的连通性等信息, 来估计未知节点的位置或可能存在的区域, 虽然定位精度较低, 但对节点的硬件要求不高, 能够满足多数无线传感器网络的定位要求。目前无需测距的定位算法主要有质心定位算法、凸规划定位算法、DV-Hop定位算法和APIT算法等[4]。
质心定位算法和DV-Hop定位算法作为两种经典的无需测距的定位算法, 一直以来都是研究的热点。文献[5]在分析质心定位算法和DV-Hop定位算法基础上, 提出了质心和DV-Hop混合算法, 文献[6-7]则从影响算法定位精度的因素入手, 对算法进行改进。该文则从对质心定位算法和DV-Hop定位算法概率分布特征分析入手, 研究质心定位算法和DV-Hop定位算法概率分布特征, 并设计了相应的分析算法, 对质心定位算法和DV-Hop定位算法的概率特征进行定量分析。
1 一种质心定位算法和DV-Hop定位算法概率分布特征的分析算法的研究
本文所研究的质心定位算法和DV-Hop定位算法概率分布特征的分析算法主要包括三个部分:首先利用质心和DV-Hop定位算法分别对未知节点进行定位;其次是利用概率分布检测方法对定位后的节点进行判断;最后分别计算两种定位算法落在规定范围内的概率大小。概率分布检测方法的设计是算法的核心部分, 本部分重点对其进行研究。
1.1 概率分布检测方法设计
质心定位算法和DV-Hop定位算法概率分布检测方法的主要思想是在利用质心和DV-Hop定位算法分别估算出目标节点位置的基础上, 分别以两种算法估算出的目标节点位置为基准点进行研究, 判断目标节点是否落在规定的范围内, 落在规定范围内则进行记录, 否则不记录。
在选择规定范围方面, 由于质心和DV-Hop定位算法都有一定的误差, 通过对节点的定位跟踪分析, 我们发现如果目标节点如果落在2倍半径之外, 说明估算出的目标点和实际目标节点差距很大, 失去了定位的意义;如果目标节点落在0.5倍半径之内, 说明估算出的目标节点非常接近实际目标节点位置。为此, 该文以1倍半径为参照, 并对讨论的范围适当进行放大和缩小至2倍和0.5倍半径, 分析两种定位算法的概率分布特征。
下面以质心定位和DV-Hop定位算法估算出的目标节点位置为基准节点, 即圆心, 以两种算法分别估算出目标节点位置之间的距离的2倍、1倍和0.5倍为半径所围成的圆这三种情况下实际目标节点的概率分布特征。如图1所示, 假设A、B两点分别为DV-Hop定位和质心定位算法估算出的目标节点的位置, r为AB之间的距离, 以估算出的目标节点位置A为基准点进行分析, 实际目标节点可能出现的位置有两种情况, 一种是落在以A为圆心, r为半径的圆内;另一种情况是落在以A为圆心, r为半径的圆外。D、D′、D〞为目标节点在这三种情况下可能出现的位置。
按照如上描述方法, 以1倍半径为例讨论如何建立概率分布检测模型, 假设目标节点di的位置为 (xi, yi) , 通过DV-Hop定位算法求出的未知节点的位置为ai, 坐标为 (pi, qi) , 通过质心定位算法求出的未知节点的位置为bi, 坐标为 (mi, ni) , 则目标节点与通过DV-Hop定位算法估算出的目标节点的距离为。
目标节点与通过质心定位算法估算出的目标节点的距离为。
通过DV-Hop定位算法估算出的目标节点ai与通过质心定位算法估算出的目标节点bi之间的距离为
如果以DV-Hop定位算法估算出的目标节点A为基准节点进行分析, 其概率检测公式如 (1) 所示:
如果以质心定位算法估算出的目标节点B为基准节点进行分析, 其概率检测公式如 (2) 所示:
2倍和0.5倍半径情况下的概率分布检测模型的建立和上述相同。
1倍、2倍和0.5倍半径情况下的概率检测公式可以统一归纳如下:
如果以DV-Hop定位算法估算出的目标节点A为基准节点进行分析, 其概率检测公式为 (3) 所示。
其中α为常量, 其值为2, 1或者0.5。
如果以质心定位算法估算出的目标节点B为基准节点进行分析, 其概率检测公式为 (4) 所示。
其中α为常量, 其值为2, 1或者0.5。
1.2 概率分布特征分析算法
概率分布特征分析算法的伪代码如下:
2 仿真结果分析
本文采用MATLAB 7.0对该算法进行仿真, 并对仿真结果进行比较分析。仿真参数设置如下表1所示, 仿真结果是经过100次仿真试验求得的平均值 (如图2到图4) 。
图2、图3、图4分别为节点通信半径为20m、30m、40m时, 质心定位算法和DV-Hop定位算法概率分布随锚节点数量变化分布图。试验结果表明, 质心定位算法在锚节点数量较少的情况下, 其落在规定范围内的概率较低, 但随着锚节点数量的增加, 特别是锚节点数量增加到20以后, 概率分布发生转折, 质心定位算法将逐渐接近并超过DV-Hop算法的概率分布, 并且节点的通信半径的改变对这种概率分布特征的影响不大。
从试验结果还可以看出, 在锚节点数量较少的情况下, DV-Hop定位算法和质心定位算法落在规定范围内的概率与锚节点数量较多情况下概率分布相比, 表现出很大的差距, 这主要是由于在锚节点数量较少的情况下, 其中很多节点误差已经非常大, 导致概率分布也呈现出较大的误差, 当锚节点数量变为20时, 随着其锚节点数量的增加, 定位误差的减小, 其概率分布也逐渐好转。
3 结束语
本文首先对质心定位算法和DV-Hop定位算法进行了分析, 接着提出了一种质心定位算法和DV-Hop定位算法概率分布特征的分析算法, 最后对该算法使用MATLAB进行仿真测试。经分析和仿真结果表明, 在100 m×100 m监测区域内, 锚节点数量个数为20是质心定位算法和DV-Hop定位算法概率分布发生变化的转折点, 并且这种变化不随节点通信半径变化而变化。同时, 我们还可以将算法中的概率检测方法应用于不同的定位算法, 验证其算法的概率分布特征, 为实际应用提供理论依据。
参考文献
[1]Chen Min Xiou, Wang Yin Din.An Efficient Location Tracking Structure for Wireless Sensor Networks[J].Computer Communications, 2009 (32) :1495-1504.
[2]He QinBin, Chen FangYue, Cai ShuiMing, et al.An efficient range-free localization algorithm for wireless sensor networks[J].SCIENCE CHINA Technological Sciences 2011, 54 (5) :1053-1060
[3]Niu YC, Zhang SD, Xu XY, et al.An enhanced DV-hop localization algorithm for irregularly shaped sensor networks[C].LNCS 4864, 2007, 694-704.
[4]NICULESCU DS.Forwarding and positioning problems in Ad hoc networks[M].New Jersey:State University of New Jersey, 2004:29-33.
[5]白进京.基于加权质心和DV-Hop混合算法WSN定位方法研究[J].计算机应用研究, 2009, 26 (6) , 2248-2250.
[6]石为人, 贾传江, 梁焕焕.一种改进的无线传感器网络DV-Hop定位算法[J].传感技术学报, 2011, 24 (1) :83-87.
[7]BM Qiao.Improved DV-HOP Localization Based on Better Weighted Least-Square Method[J].Information Technology Journal, 2010, 9 (6) :M 1172-1177.
基于加权质心的蓝牙定位算法 篇2
关键词:蓝牙定位,对数衰减模型,加权质心
定位算法是室内定位系统的关键, 定位结果的精确度很大程度上取决于定位算法。目前, 基于位置指纹的定位算法主要分为概率性算法和确定性算法[1,2,3,6]。由于环境多变, RSSI值并不稳定, 为了提高准确度, 将统计学中的概率引到定位中, 从而形成了基于概率的定位方法。确定性算法原理简单, 计算复杂度低, 但是应用到实际中定位精度不高。
本文实现了原始加权质心定位算法[3,4,5], 定位精度不尽如人意。所以提出了一种在信号衰减模型的基础上, 将信号强度比值与距离的乘积作为权重因子的改进加权质心定位算法, 定位精度有了明显的提高。
1 系统模型
1.1 对数衰减模型
通过大量的实验数据, 并通过计算机的拟合以及理论的辅助, 得到无论在室内还是室外, 接收端接收到的信号强度值与收发双方的距离是成一定对数变化的[7]。对于任意的接收端与发射端之间的距离, 路径损耗为:
根据路径损耗推导出信号强度与距信号源距离的关系:
根据公式 (2) 得出:
其中, PL (d0) 为参考距离d0处的路径损耗, r为路径传播损耗指数, d为接收端与发射端的实际距离, d0为参考距离, Pr (d) 为接收端距发射端d处的信号强度, Pr (d0) 为接收端距发射端d0处的信号强度。
1.2 加权质心算法
质心算法[3,4,5]的主要思想是:未知坐标点以某一范围内已知坐标的点构成多边形的质心作为自己的估计位置。加权质心算法主要是利用已知坐标点和未知坐标点之间接收的RSSI值计算权重, 通过权重决定已知坐标点对质心的影响程度。
已知m个采集点的坐标分别为, 根据对数衰减模型, 计算出每个采集点对应的距离值di, 我们设每个采集点对应的权值为, 应用距离加权的质心算法即可得到待测Beacon的位置坐标
2 定位算法的实现
2.1 改进的加权质心定位算法
对于Beacon来说, 环境对强度值的影响非常大。在固定环境中, 虽然信号强度值相同, 但是不同点对Beacon的距离有可能是不同的, 相应的权重也不相同[8]。所以, 在计算Beacon位置时, 不应该仅仅考虑收集到的强度值的影响, 而应该加入其他的修正方法。否则, 可能导致定位误差变大。
针对已有的加权质心定位算法的缺陷, 本文做的改进策略是把各采集点接收到的Beacon信号强度的比值与距离的乘积, 作为每个采集点的权值, 这样做既可以体现不同Beacon对采集点的影响, 也可以使环境改变时权值基本保持不变。
对于m个采集点, m个采集点测得的信号强度为。定位算法如图1所示。
则权值为
最终得到改进的加权质心计算公式为
2.2 实验测试及结果分析
利用Matlab对本文提出的加权质心算法进行仿真分析。实验环境为7m×18m区域, 采集点均匀分布在3×8网格内, Beacons均匀分布在3×10网格内, 网格间隔均为2m。采集点数为24个, Beacons数为30个。在实验中, 所有数据点强度值为100次实验的平均值。
在距离的倒数作为权值的质心算法中, 设d0=1, 根据测得的数据, 分别计算出对数衰减模型中, 30个未知点对应的未知参数r和Pr (d0) , 从而求得方程。接着, 根据1.2中所述, 计算出了30个未知点的坐标。在改进的加权质心算法中, 未知点坐标的误差和原始坐标误差如图2和表1所示。
从图2可以看出, 改进后的定位算法比原始定位算法精度有明显的提高, 提高了约22%。
3 结语
本文提出了基于信号强度比值和距离乘积作为权重因子的加权质心算法, 该方法考虑了不同距离对定位结果的影响, 减小了距离相同, 方向不同的点信号强度对定位结果的影响, 降低了环境对定位结果的影响。通过与距离倒数作为权重因子的质心算法比较, 实验结果表明, 定位精度均值有明显的提高。
参考文献
[1]曹喆.基于低功耗蓝牙和位置指纹的室内定位系统的研究与实现[D].云南大学, 2014.
[2]Wenzhe Zhang, Lei Wang.INBS:An Improved Naive Bayes Simple Learning Approach for Accurate Indoor Localization[C].Conference on Communications (ICC) .IEEE, 2014, 148-153.
[3]纪程程.基于接收信号强度测量的室内定位技术研究[D].山东师范大学, 2013.
[4]陈维克, 李文锋, 首珩, 等.基于RSSI的无线传感器网络加权质心定位算法[J].武汉理工大学学报, 2006, 30 (2) :265-268.
[5]杨新宇, 孔庆茹, 戴湘军.一种改进的加权质心定位算法[J].西安交通大学学报, 2010, 44 (8) :1-4.
[6]Gholoobi A, Stavrou S.RSS Based Localization Using a New WKNN Approach[C].Computational Intelligence, Communication Systems and Networks (CICSy N) , 2015 7th International Conference on.IEEE, 2015, 27-30.
[7]Rida, M.E, Liu F, Jadi, Y, et al.Indoor Location Position Based on Bluetooth Signal Strength[C].Information Science and Control Engineering (ICISCE) , 2015 2nd International Conference on.IEEE, 2015:769-773.
太阳图像中光斑质心位置的检测 篇3
太阳能利用效率低的问题一直影响和阻碍着太阳能技术的普及,太阳自动跟踪系统的设计为解决这一问题提供了新途径,从而大大提高了太阳能的利用效率。目前,跟踪太阳的方法可概括为2种方式:光电跟踪和根据视日运动轨迹跟踪[1,2]。光电跟踪是由光电传感器件根据入射光线的强弱变化确定太阳位置的。光电跟踪的优点是灵敏度高,结构设计较为方便,其缺点是受到天气的影响很大。而视日运动轨迹跟踪的优点是不受外界天气、杂光的干扰,具有较高的可靠性,缺点是在计算太阳角度的过程中会产生误差,从而影响跟踪精度。所以,提出一种采用以视日运动轨迹跟踪为主,采用图像传感器反馈校正的闭环太阳自动跟踪系统的设计方法,通过对步进电机水平、俯仰2个自由度的控制,实现对太阳的实时跟踪。系统上位机部分由VC++实现太阳高度角与方位角的计算,单片机负责驱动步进电机动作实现太阳的跟踪。在闭环部分,通过Matlab编程控制图像传感器捕捉太阳照片,经过图像处理后得到图像中太阳的质心坐标,由坐标偏差反馈矫正跟踪系统。主要介绍一种太阳光斑质心位置检测的方法,通过Matlab的M函数予以实现,并构建Simulink模块仿真运行。实验表明,该方法能准确找出图像中光斑质心位置坐标,并由坐标偏差转化为俯仰和方位电机校正步数。
1 系统总体设计
在此,主要介绍由Matlab M文件实现太阳图像中光斑质心位置的检测和实现Simulink模块的仿真2部分。质心位置检测系统的流程为:控制摄像头采集太阳照片→图像灰度转化→图像增强→图像处理→数据显示与保存。在采集时,太阳图像由于太阳光强太强,CMOS或CCD镜头不能直接采集太阳照片,为了给图像传感器采集图像创造条件,摄像头部分加巴德膜太阳滤波片[3]。系统总体框图如图1所示。
整个系统的工作过程为:VC++首先从上位机控制界面的人机对话框中获取当地的经纬度,并获取当前时间,调用SUN函数,获取太阳的高度角与方位角,并转化为俯仰和水平电机的运行步数,经数据处理后,通过RS 485总线与单片机通信,驱动水平、俯仰2个步进电机动作,以实现对太阳的跟踪。视日运动轨迹跟踪结束后,VC++调用Matlab函数,控制图像传感器捕捉太阳图片,经图像处理后得到太阳图像中太阳的质心坐标,根据图像坐标与中心坐标的偏差转化为水平和俯仰电机所需校正的步数,再次送给单片机反馈校正跟踪装置,从而构成闭环跟踪系统。
2 M文件实现太阳质心位置的检测
Matlab在控制摄像头采集照片时,主要分为3个步骤:imaqhwinfo函数查询webcamera的具体参数;利用videoinput函数创建视频输入对象;getsnapshot函数获取视频图像。太阳图像中光斑质心位置检测的M文件所用到的主要函数包括videoinput,getsnapshot,rgb2gray,medfilt2,bwlabel,regionprops,cat等[4,5]。
M文件部分代码如下:
function spotdetect()
obj=videoinput(′winvideo′,1,′RGB24_320x240′);
%摄像头参数由imaqhwinfo函数获得
imaginecaptured = getsnapshot(obj);
I=rgb2gray(imaginecaptured);
imagine_medfilt=medfilt2(I,[3]); %中值滤波
level = graythresh(imagine_medfilt);
imagine_threshold=im2bw(imagine_medfilt,level);
%二值化处理,默认的采用最大类间方差法
[L,num] = bwlabel(imagine_threshold,8)
CS= regionprops(L, ′centroid′);
centroids = cat(1, CS.Centroid);
hold on
plot(centroids(:,1),centroids(:,2),′O′,′MarkerEdgeColor′,′r′,′MarkerFaceColor′,′none′,′MarkerSize′,3)
hold off
%图像中光斑加中心标记
center=CS.Centroid
if num = 1 %光斑个数为1时存质心坐标供VC调用
fp = fopen(′D:TestCentroids.txt′,′wt′);
fprintf(fp,′%f%f′,CS.Centroid(1),CS.Centroid(2));
fclose(fp);
else %光斑个数不为1时存图像中心坐标供VC调用
fp = fopen(′D:Testcentures.txt′,′wt′);
fprintf(fp, ′%f%f′, 160,120);
fclose(fp);
end
程序执行结果如下(摄像头加双层巴德膜太阳滤波片)如图2所示。
图2(a)为太阳光斑位置在第I象限,即光斑图像坐标为(111,68),光斑个数为1,对应FYP为22,FWP为-49。图2(b)为太阳光斑位置在第Ⅱ象限,即光斑图像坐标为(210,70),光斑个数为1,对应FYP为21,FWP为50。图2(c)为太阳光斑位置在第Ⅲ象限,即光斑图像坐标(151,159),光斑个数为1,对应FYP为-16,FWP为-10。图2(d)为太阳光斑位置在第Ⅳ象限,即光斑图像坐标(281,155),光斑个数为1,对应FYP为-15,FWP为121。其中,FYP表示太阳跟踪装置中俯仰步进电机应运行的步数;FWP表示太阳跟踪装置中方位步进电机应运行的步数。
3 Simulink建模设计
3.1 基于Simulink的光斑位置检测系统总体设计
主程序首先为“From Video Device”模块,该模块将自动识别连接到计算机的视频输入设备。将采集到的RGB图片,经过“Color Space Convertion”模块,将其参数设置为“R′G′B′to intensity”,之后转化为灰度图像,并送给“Imagine enhancement”子模块;图像增强模块将处理得到的图像送给“Imagine Processing”模块;最后在“Display”模块中显示图像中光斑个数(Num显示)和光斑位置坐标(Centroids显示)。光斑位置检测系统总体设计如图3所示。
3.2 “Imagine enhancement”子系统建模设计
“Imagine enhancement”子系统由“Gamma Correction”模块和“Median Filter”模块组成。“Imagine enhancement”子系统如图4所示。
图4中,Gamma 校正补偿了不同输出设备存在的颜色显示差异,从而使图像在不同的监视器上呈现出相同的效果。NTSC视频的标准Gamma值为2.2。中值滤波是一种非线性数字滤波器技术,使用奇数个采样组成的观察窗去除图像信号中的噪声。中值滤波是图像处理中的一个常用步骤,它对于斑点噪声和椒盐噪声尤其有用[6,7]。
3.3 “Imagine Processing”子系统建模设计
“Imagine Processing”子系统如图5所示。“Imagine Processing”子模块主要由“Autothreshold”模块、“Blob Analysis”模块和“Draw markers”模块3部分组成。“Autothreshold”模块,利用Otsu方法(即最大类间方差法)将灰度图像转化成二值图像。Otsu方法,因计算简单,自适应强,而成为使用最广泛的图像阈值自动选取方法之一。“Blob Analysis”模块,Blob分析是对图像中相同像素的连通域进行分析,该连通域称为Blob。
Blob检测根据上面得到的处理图像,在纯色背景下检测杂质色斑,经二值化处理后的图像中色斑可认为是Blob。Blob分析工具可以从背景中分离出目标,并可计算出目标的数量、位置、形状、方向和大小,还可以提供相关斑点间的拓扑结构。在“Blob Analysis”模块参数设置中,将Statistics参数下只勾选Centroid项,Connectivity选择8,并在Blob Properties菜单下勾选Output number blobs found,其他参数默认设置。当系统存在其他亮斑干扰时,可以采取Blob分析计算出光斑的面积,以确定是否在检测范围之内。“Draw markers”模块实现对输入图像中给定像素点做指定标记。其中,标记可设置为:圆形、十字形、星形、方形等,填充颜色用户可自主定义。输入端Pts格式为2×N阶矩阵,N为给定像素点个数[8]。
4 Simulink仿真运行结果分析
图像采集设备选用罗技公司的QuickCam系列网络摄像头。图像大小设置为RGB 320×240,其他设置默认。网络摄像头采集到的太阳图像,经灰度转换模块后作为图像增强子系统输入部分。对它进行Gamma矫正和中值滤波,实现图像有用部分信息的增强。“Autothreshold”模块计算Level将灰度图像转化成二值图像。在仿真模拟时,可对其模块的参数进行调整,复选“Scale threshold”选项,可对“Threshold scaling factor”的值进行设置。二值图像经过Blob分析后,得到图像中光斑个数与光斑质心坐标,将坐标矩阵送给“Draw markers”模块进行图像标记的添加。
Simulink仿真运行结果如图6所示(摄像头加单层巴德膜太阳滤波片)。本例太阳图像中光斑个数为1,质心坐标为(153.5,165.7)。
5 结 语
在基于图像传感器实现对太阳自动跟踪的系统中能否准确检测出太阳光斑质心位置是实现太阳跟踪的关键,决定着系统的精度和可靠性。本文设计关于太阳图像中光斑质心位置检测系统仿真实验平台,可以实现从网络摄像头采集太阳图像,并准确计算出光斑质心位置的图像坐标及光斑个数。该方法适用于基于图像传感器的太阳跟踪系统,并可在其他的目标检测中予以利用。
参考文献
[1]刘巍,王志超,沈垣,等.太阳自动跟踪系统的研究与设计[J].水电能源科学,2009(27):215-218.
[2]张翌翀.基于DSP的太阳跟踪控制系统研究[M].上海:上海交通大学出版社,2008.
[3]苑玮琦,金晶晶.基于图像传感器的太阳方位检测系统研究[J].传感器与仪器仪表,2007(23):140-142.
[4]罗军辉,冯平,哈力旦.Matlab 7.0在图像处理中的应用[M].北京:机械工业出版社,2007.
[5]龚声蓉,刘纯平,王强,等.数字图像处理与分析[M].北京:清华大学出版社,2007.
[6]董辰辉.Matlab 2008全程指南[M].北京:电子工业出版社,2009.
[7]HOSSAIN Eklas,MUHIDA Riza,ALI Ahad.Efficiencyimprovement of solar cell using compound parabolic concen-trator and sun tracking system[C].IEEE Electrical Power&Energy Conference.[S.l.]:IEEE,2008.
质心特征 篇4
光斑质心亚像素定位利用光斑在CCD芯片上具有一定的分布,占据数个像素单元,从而把光斑质心精确到亚像素[1,2,3]。
质心定位误差分析是光斑质心亚像素定位技术不可或缺的部分,国内外已有不少文献对这个问题进行了较详细的分析和讨论[4,5,6,7],但大都侧重于对其中某种误差的讨论,未对光斑质心亚像素定位误差进行比较全面的分析,尤其缺乏相应的测量方法。文献[5]、[6]分析了CCD噪声对光斑质心定位精度的影响;文献[7]分析了像元几何特性的影响;文献[4]提出了一种对CMOS相机亚像素细分精度测试的方法,但该方法需要价格昂贵的快速倾斜镜作为光束偏转控制器,测试成本较高。
本文根据误差的来源将光斑质心亚像素定位误差归类为随机误差和系统误差,提出一种简单有效的实验方法对光斑质心定位误差进行定量测试,并利用高精度一维电动平移台、POINTGREY Flea2-14S3CCD相机和LED光源构建了测试系统,对测试结果进行研究和讨论,计算了基于该CCD相机的光斑质心定位误差,为其在相关系统中的应用提供参考。
1 光斑质心定位算法及误差分析
质心法是计算光斑位置最常用的方法之一,它可以看成是以灰度为权值的加权形心法[8],表达式为
式中I(x,y)为信号强度。
CCD是以像素为单位的阵列图像传感器件,利用CCD确定成像在CCD像面上的光斑位置时,其定位误差主要有以下两方面的来源[9]:一个是因为像元的读出噪声、暗电流散粒噪声、光子散粒噪声、固定模式噪声和光谱响应不均匀性等产生的误差[5,6],由于噪声的随机性,这种误差是随机误差;另一个是图像传感器有限空间采样宽度带来的灰度平均效应以及像元填充率、填充形式带来的误差,这种误差由CCD像元填充形式和填充率等几何特性决定[7],可将其视为系统误差。
1.1 随机误差
光斑图像中像素(i,j)的测量信号Uij由真实信号Lij和噪声信号εij两部分组成,即Lij=Uij+εij,则由实测值估计的x方向的质心位置为[5,6]:
而无噪声真实信号的质心位置为
故噪声导致的x方向上的质心偏差为,相应的方差为σ2ˆx=〈δx2〉。噪声引入的误差σxˆ反映的是根据实测值计算出来的质心xˆ偏离真实信号的质心x′的大小,它一种随机误差,记为σr。通常可将同一位置的同一光斑多次拍摄采样求取的质心位置的标准差作为随机误差的大小,并将质心位置的平均值作为真实信号的质心位置。
1.2 系统误差
由于图像传感器有限空间采样宽度带来的灰度平均效应,以及像元填充形式、填充率等几何特性的影响,导致光斑无噪声真实信号质心x′与光斑的真实质心x0之间存在着偏差,这种偏差在光斑灰度分布和像元几何特性确定的条件下是固定不变的,自身具有一定的规律性,因而可将其视为一种系统误差,记为σs。
1.3 质心定位总体误差
质心定位总体误差σt指的是根据实测值计算得到的质心位置与光斑真实质心x0之间的偏差,因而由上述随机误差σr和系统误差σs两部分组成。二者来源不同,可认为是独立的,根据误差合成理论[10],光斑质心定位总体误差可表示为。
2 误差测试方案及实验系统组成
根据上述误差理论分析可知,随机误差σr可比较容易测量得到,一般通过对同一位置的同一光斑多次拍摄采样求取质心位置,再计算质心标准差即可。系统误差σs表征的是质心平均值与光斑真实质心间的偏差,而实际中光斑的真实质心位置是未知的。因此本文提出一种近似测量光斑真实质心位置的方法,具体如下:
利用一套高精度一维电动平移台,将LED光源固定其上,平移台可带动LED以精确至0.05μm的精度平移,用放置在数米外的CCD相机不断采集LED移动过程的图像。由于LED光源以固定步长平移,其在CCD像平面的光斑质心位置呈线性变化,对实测的质心位置进行直线拟合即可得到光斑真实质心位置。
根据上述方法构建了实验系统对LED光斑质心定位误差进行测试。实验系统主要由高精度一维电动平移台、CCD数字相机、计算机和LED光源组成,如图1所示。其中电动平移台为上海联谊公司的ALB-m-50-1X,该电动平移台行程50 mm,丝杆导程0.5 mm,电机50细分运行分辨率0.05μm;CCD数字相机为POINT GREY Flea2-14S3,该相机采用的是SONY公司生产的面阵CCD图像传感器Sony ICX2671/2″,像元尺寸4.65μm×4.65μm,分辨率1 392×1 032。
3 测试方法
对光斑质心定位误差进行测试的主要步骤如下:
1)将CCD相机架设在距离电动平移台数米的位置,使其正对电动平移台,与LED光源等高;
2)微调镜头焦距,使光斑清晰成像于像面,大小覆盖约10 pixels×10 pixels的范围。微调相机姿态,使光斑位于图像中心位置,且其平移方向大致与图像坐标系的x方向平行;
3)控制电动平移台以一定的步长平移。每平移一次拍摄20张光斑图像,求取光斑的质心位置,计算20次测量的平均值和标准差,标准差的大小即为随机误差σr。由贝塞耳公式,多次测量光斑质心的标准差为:;
4)连续平移100次,计算出每个位置的光斑质心坐标平均值。根据真实质心坐标线性变化的特征,对实验结果进行直线拟合,得出残差的变化规律,计算残差的RMS(均方根值)即为系统误差σs;
5)为排除残差变化规律出现的偶然性,实验中电动平移台往一个方向步进100次后,即反行程以相同的步长步进100次,重复进行3)、4)两步,记录逆行程的测量结果,和正行程进行比较。
4 实验结果分析讨论
测试实验相机横向视场角(FOV)13.4°,距离电动平移台约2.5 m,电动平移台平移步长为10μm,则在图像中LED光斑的平移长度为:。
正行程100个位置所计算得到的光斑质心坐标的标准差大致相同,有小的波动变化。表1给出的是正行程第7个位置处光斑质心坐标。
位置7处LED光斑质心坐标的标准差为:σx=0.017 pixels,σy=0.016 pixels
用同样的方法可以计算其他位置处质心坐标的标准差,平均值为:σx=0.018pixels,σy=0.017pixels此结果即是随机误差大小。
正行程光斑质心y坐标的变化在0.15 pixels之内,与x坐标近2 pixels的行程相差15倍,因此光斑在y方向上的位移相对于x方向可忽略不计,下面只讨论x方向的变化情况,图2给出了光斑质心x坐标变化曲线,显示了光斑质心在x方向上的运动情况。
从图2可以看出,质心x坐标运动呈典型的S曲线形式,具有非常明显的周期性。为了排除这种变化规律出现的偶然性,将逆行程和正行程光斑质心x坐标变化曲线绘于同一坐标系,如图3所示。
从图3可以看出,正行程与逆行程质心坐标值重复性非常好,质心坐标变化规律高度一致,则可说明这种变化规律并非偶然出现的。
利用最小二乘法对正行程光斑质心x坐标变化曲线进行直线拟合,近似认为拟合得到的直线为光斑真实质心变化曲线,如图4所示,对应的残差如图5所示。
图6给出了残差与光斑质心坐标之间的关系曲线。可以看出,残差随着光斑质心在像元内的位置不同而变化,在整像素位置残差较小,在0.5 pixels处残差最大,并且随着质心位置的偏移变化,残差周期性变化。由于每一个光斑质心坐标均为多次取样平均的结果,因此随机误差可以限制在较小的范围内,不会对光斑质心造成如此大的影响。那么初步分析认为,测量过程中出现的系统误差周期性变化现象应该与CCD图像传感器周期性的像元结构有关[4]。LED光斑在CCD图像传感器表面的移动过程中,每个受到光斑覆盖的像元光敏区域面积会发生非线性变化,导致不同位置的光斑质心偏差不同,在某些特定的位置偏差会达到极大或极小。光斑从一个像元平移到相邻的像元,质心偏差的情况就会重复一次,因此就出现了测量过程中周期性变化的规律,而且像元填充形式的不同、填充率的不同都会使周期性变化的大小产生变化。
计算残差的均方根值(RMS),即为系统误差σs的大小,σs=0.06 pixels。则光斑质心亚像素定位总体误差。由此可知,基于POINT GREY Flea2-14S3 CCD相机的光斑质心定位随机误差σr为0.018 pixels,系统误差σs为0.06 pixels,总体误差σt为0.063 pixels(约1/15 pixels),可满足大多数成像测量系统对光斑定位精度指标的要求。
5 结论
本文提出了一种结构原理简单,易于实现的,对光斑质心定位误差进行定量测试的实验方法。利用高精度一维电动平移台、POINT GREY Flea2-14S3 CCD相机和LED光源构建了测试系统,对基于该CCD相机的光斑质心定位误差进行了测试。通过对测试结果进行研究和探讨发现,测试系统LED光斑质心定位的系统误差具有周期性变化规律,且变化周期恰好为1 pixels,初步分析认为该周期性变化规律应该与CCD周期性像素单元的填充形式和填充率等几何特性有着紧密的联系;计算得到了基于Flea2-14S3 CCD相机的光斑质心定位随机误差为0.018 pixels,系统误差为0.06 pixels,总体误差为0.063 pixels(约1/15 pixels),可满足大多数成像测量系统对光斑定位精度指标的要求。实验表明,该测试系统可以作为估算光斑质心定位误差大小的一种有效的手段。
摘要:根据误差的来源将光斑质心亚像素定位误差归类为随机误差和系统误差,提出一种简单有效的实验方法对光斑质心定位误差进行定量测试。利用高精度一维电动平移台、POINTGREYFlea2-14S3CCD相机和LED光源构建了测试系统,对测试结果进行研究和讨论,发现了测试系统LED光斑质心定位系统误差的周期性变化规律,计算得到了基于Flea2-14S3CCD相机的光斑质心定位随机误差为0.018pixels,系统误差为0.06pixels,总体误差为0.063pixels(约1/15pixels),能够应用于以光斑质心检测为手段的测量系统中。实验表明,该测试系统可以作为估算光斑质心定位误差大小的一种有效的手段。
关键词:光斑质心定位,亚像素精度,随机误差,系统误差
参考文献
[1]李春艳,谢华,李怀锋,等.高精度星敏感器星点光斑质心算法[J].光电工程,2006,33(2):41-44.LI Chun-yan,XIE Hua,LI Huai-feng,et al.Centroiding algorithm for high-accuracy star tracker[J].Opto-Electronic Engineering,2006,33(2):41-44.
[2]李季,唐建博.天文导航中星体高精度细分定位方法研究[J].光学与光电技术,2007,5(2):75-77.LI Ji,TANG Jian-bo.High Precision Subdivided Locating Method of Star Image[J].Optics&Optoelectronic Technology,2007,5(2):75-77.
[3]李晓峰,罗彤,邓科,等.采用CCD的空间光通信光斑位置提取重心算法的分析及实验[J].光通信技术,2004,28(6):13-15.LI Xiao-feng,LUO Tong,DENG Ke,et al.Analysis and Experiment of CCD-applied spatial optical communications light spot position locating gravity center calculation[J].Optical Communication Technology,2004,28(6):13-15.
[4]刘智,翟林培,郝志航.互补金属氧化物半导体图像传感器亚像元细分精度实验研究[J].中国激光,2007,34(1):116-122.LIU Zhi,ZHAI Lin-pei,HAO Zhi-hang.Sub-Pixel Measurement Accuracy Experiment of Complementary Metal Oxide Semiconductor Imager[J].Chinese Journal of Lasers,2007,34(1):116-122.
[5]HANCOCK B R,STIRBL R C,CUNNINGHAM T J,et al.CMOS active pixel sensor specific performance effects on star tracker/imager position accuracy[J].Proc.of SPIE(S0277-768X),2001,4284:43-53.
[6]张辉,袁家虎,刘恩海,等.CCD噪声对星敏感器星点定位精度的影响[J].红外与激光工程,2006,35(5):629-633.ZHANG Hui,YUAN Jia-hu,LIU En-hai,et al.CCD noise effects on position accuracy of star sensor[J].Infrared and Laser Engineering,2006,35(5):629-633.
[7]LI Jie,LIU Jin-guo,HAO Zhi-hang.Active Pixel Sensor Geometrical Characteristic Effects on Star Image Subdivided Location accuracy for Star Tracker[J].Proc.of SPIE(S0277-768X),2006,6031:60310C-1-9.
[8]潘波,杨根庆,刘勇.星点质心定位算法最优门限研究[J].光学精密工程,2008,16(9):1787-1792.PAN Bo,YANG Gen-qing,LIU Yong.Study on optimization threshold of centroid algorithm[J].Optics and Precision Engineering,2008,16(9):1787-1792.
[9]李玉峰,郝志航.星点图像超精度亚像元细分定位算法的研究[J].光学技术,2005,31(5):666-671.LI Yu-feng,HAO Zhi-hang.Research of hyper accuracy subpixel subdivision location algorithm for star image[J].Optical Technique,2005,31(5):666-671.
质心特征 篇5
随着汽车技术的不断发展和道路条件的不断改善,汽车的车速不断提高。在各类交通事故中,汽车在高速行驶中失稳的交通事故也越来越多。车辆侧滑很可能会导致很严重的交通事故,当车速大于160 km/h时,几乎每个交通事故的发生都是由于车辆发生了侧滑,一旦车辆开始发生侧滑,驾驶员则不能够很好地控制车辆,最终导致很严重的交通事故[1]。根据日本丰田公司的研究,由于汽车失去控制而导致的事故,大部分是由于不能够及时地控制汽车的侧滑运动而造成的[2]。因此,汽车稳定性控制系统显得越来越重要。
车辆稳定性控制系统是通过调节汽车纵向制动力大小及匹配来改变汽车的横摆力矩,防止汽车发生侧滑危险,提高汽车在极限情况下的操纵稳定性。车辆的实际运行状况可以直接或者间接通过车辆传感器获得,对于汽车稳定性控制系统而言,横摆角速度和质心侧偏角是判断汽车实际运行情况的两个主要参考量[3,4]。其中,车辆的横摆角速度可以通过横摆角速度传感器经过卡尔曼滤波直接得到,而质心侧偏角则需要通过估算得到。在设计车辆稳定性控制系统中,采用的控制目标就是希望汽车在行驶过程中质心侧偏角尽可能小。由于车辆是一个非常复杂的系统,各种行驶环境都会影响汽车的行驶状态,使得质心侧偏角的估算需要兼顾多方面的考虑,因此质心侧偏角观测的准确性将是车辆稳定性控制系统的重点[5,6,7]。
目前国内外对质心侧偏角的研究文献较多。Chen和Hsieh设计了基于运动学模型的扩展卡尔曼滤波,具有很好的鲁棒性,模型参数的变化对估计效果基本没有什么影响,但是该方法对车上传感器的安装、标定和传感器的精度都有很高的要求[8]。Hac和Simpson提出的逻辑方法是先分别用轮速和侧向加速度初步估算横摆角速度,并分别计算其置信度,得出初始的横摆角速度。再将这个横摆角速度和估算的路面系数输入非线性观测器,最后得出最终估算的横摆角速度和质心侧偏角[9]。目前质心侧偏角估算主要有直接积分法,卡尔曼滤波法,神经网络方法,模糊逻辑方法,状态观测器方法等等。其中直接积分法较为简单,计算量也较小,但是随着时间的增加,累积误差会逐渐增大。卡尔曼滤波方法计算简单,但是需要假设路面输入噪声都是高斯分布的零均值随机变量。神经网络算法在汽车运行的非线性区实验效果较好,但是该方法对试验数据的依赖很大,收敛速度慢,稳定性差,工程的实际应用价值比较低。模糊逻辑方法鲁棒性较强,实时性较好,但是难以建立比较完备的模糊规则。状态观测器方法计算量很小,适合工程应用,但是难以确定观测器的增益矩阵,保证误差向量的动态特性[10]。
为了准确估算车辆行驶过程中的质心侧偏角,现以某电机驱动的混合动力汽车为例提出了一种基于二自由度汽车动力学的车辆质心侧偏角估算器,在质心侧偏角较小的情况下,轮胎的侧偏刚度处于线性区域,故可以采用基本车辆模型的卡尔曼滤波算法。当质心侧偏角较大时,可切换为动力学积分算法。该估算器可以有效适应车辆运行状态的变化。最后在Vedyna软件平台下搭建了该估算器的仿真平台,通过多工况的仿真,结果表明该估算器可以准确估算车辆的质心侧偏角。
1卡尔曼滤波算法
卡尔曼滤波是一种最优估算方法,其算法具有递推性[11]。对于车辆控制系统而言,由于受到路面不平度和侧向风的干扰,一般从车载传感器得到的观测信号包含了随机观测噪声和干扰信号,因此卡尔曼滤波在汽车上的应用非常广泛。卡尔曼滤波的基本思想是以最小均方差误差为最佳估计准则,采用信号与噪声的状态空间模型,利用前一时刻的估计值和当前时刻的观测值来更新对状态变量的估计,求出当前时刻的估计值。算法根据建立的系统方程和观测方法对需要处理的信号做出满足最小均方差的估计。
对于线性离散系统,系统的状态方程为
x(k+1)=A(k)x(k)+w(k);
y(k)=H(k)x(k)+v(k)。
其中x(k+1)是系统n维状态向量,y(k)是系统的m维观测向量,w(k)是系统的随机噪声,v(k)是系统的m维观测噪声,A(k)为系统状态转移矩阵,H(k)为观测矩阵。假设w(k),v(k)为相互独立,正态分布的白噪声,其中系统的随机噪声协方差矩阵为Q,观测噪声协方差矩阵为R。
卡尔曼滤波器包括两个主要过程:预估与校正。预估过程主要是利用时间更新方程建立对当前状态的先验估计,及时向前推算当前状态变量和误差协方差估计的值,为下一个时间状态构造先验估计值;校正过程负责反馈,利用测量更新方程在预估过程的先验估计值以及当前测量变量的基础上建立起对当前状态的改进的后验估计[11]。卡尔曼滤波算法的步骤[12]如下:
1) 状态一步预测
2) 状态估算计算
K(k)=P(k)-HT(k)[H(k)P(k)-HT(k)+R]-1。 4) 一步预测误差方差阵
P(k)-=A(k)P(k)AT(k)+Q。
5) 估算误差方差阵
P(k)=[1-K(k)H(k)]P(k)-。
上述即随机线性离散系统卡尔曼滤波的基本方程,只要给定初值,就可以根据观测值yk递推计算得到状态值的估算。
2质心侧偏角观测器的结构
在汽车稳定性控制系统中,质心侧偏角是用来表征车辆稳定性的重要状态参数,但是目前没有传感器可以直接测量汽车的质心侧偏角,因此如何根据多传感器综合估算,提高估算精度成为了研究的重点。
质心侧偏角的定义为:
其中vx为纵向车速,vy为横向车速。
现提出一种基于二自由度汽车动力学的车辆质心侧偏角估算器,在质心侧偏角较小的情况下,认为轮胎的侧偏刚度处于线性区域,故采用基本车辆模型的卡尔曼滤波算法;当质心侧偏角较大时,算法切换为动力学积分算法。该估算器可以有效适应车辆运行状态的变化。
2.1车辆动力学模型
为了研究汽车稳定性控制的特性,采用线性二自由度的汽车模型进行研究。分析中忽略转向系统和悬架的影响,只关注车辆平行于地面的平面运动。考虑轮胎侧偏特性处于线性范围,简化图如图1所示。
则二自由度汽车运动方程如下
may=Fy1cosδ+Fy2;
其中m为整车质量,ay为车辆的侧向加速度,Fy1,Fy2为前后轴侧向力,ωr为车辆的横摆角速度,δ为前轮转角,Iz为整车绕Z轴的转动惯量,a,b为整车质心到前后轴的距离。
2.2质心侧偏角的卡尔曼滤波算法
基于卡尔曼滤波算法的质心侧偏角估算主要考虑在质心侧偏角较小的情况下。此时认为轮胎的侧偏刚度处于线性区域。因此轮胎的侧向力可以表示成
Fy1=Cfαf; Fy2=Crαr。
其中Fy1,Fy2分别为前轴和后轴总的侧向力,Cf,Cr为前轴和后轴总的侧偏刚度,在以上的假设下,前后轴的轮胎侧偏角为αf,αr
其中u为车辆的纵向车速,车辆质心处x,y的加速度可以表示为
整理得到二自由度汽车运动微分方程如下
将上式离散化后得到方程如下:
因此得到的卡尔曼滤波器的状态方程和量测方程如下:
X(k)=AX(k-1)+Bδ(k)+W(k);
其中,
,
,
,
,
,
,
,
。假设Q,R分别为噪音,
W(k),V(k)的协方差矩阵。
通过上述式子估算,可以得到质心侧偏角的估算值。
2.3质心侧偏角的积分算法
当整车的质心侧偏角较大时,考虑到车辆的轮胎侧偏特性已经进入了非线性区域,若仍采用二自由度模型作为质心侧偏角估算器则会出现较大的偏差,影响汽车稳定性控制的精度。考虑到车辆的侧向加速度和横摆角速度可以通过车载传感器直接测得。因此,当汽车发生较大的侧偏时,可采用动力学积分算法。
将质心侧偏角定义式微分可得:
将上式带入得:
上述式子给出了质心侧偏角求导的表达式,此时可以通过上式积分的方式求得质心侧偏角,将该表达式进行离散化得到基于动力学积分的结果。
2.4权值计算
在基于二自由度的汽车模型的卡尔曼滤波算法与动力学积分算法中,基于二自由度的汽车模型,假设汽车轮胎的侧偏刚度属于线性区域,因此只适用于质心侧偏角较小的情况下。而基于动力学积分算法由于受到各种噪声的影响,当用于长时间观测时会出现累积误差使得最终的估算结果偏差变大,但是该方法却可以在短时间内对质心侧偏角进行准确的观测。
因此,考虑到两种算法的优劣,综合考虑设计了该质心侧偏角估算器。当系统估算出车辆的质心侧偏角较小时,则认为车辆的轮胎侧偏特性处于线性区域,此时采用基于二自由度车辆模型的卡尔曼滤波算法,当系统估算出车辆的质心侧偏角过大时,此时系统则认为车辆的轮胎侧偏特性已经处于非线性区域,质心侧偏角估算器将算法切换为动力学积分算法。根据以上想法,假设卡尔曼滤波算法估算值为
设计的质心侧偏角绝对值与权值的关系如图2。
3仿真结果与分析
基于Vedyna软件平台的15自由度车辆动力学模型,建立了车辆质心侧偏角估算器的仿真平台。以某电机驱动的混合动力汽车参数为例,估算该车在多工况下的质心侧偏角,并与实际数值比较。
如图3所示为该车在路面附着系数为0.8的路面以80 km/h的速度行驶,设置路径为双移线仿真,其中虚线表示仅用卡尔曼滤波算法求得的质心侧偏角估算值。由图分析可知当车辆质心侧偏角小于0.07 rad时,该方法可以较好地跟踪车辆的实际质心侧偏角,当质心侧偏角大于0.07 rad时,该方法估算出现较大的偏差。因此当车辆的质心侧偏角大于0.07 rad时,系统估算器将算法自动切换为动力学积分算法。如图4所示,该质心侧偏角估算器可以准确有效地估计实际车辆的质心侧偏角。
如图5所示为该车在路面附着系数为0.4的路面以80 km/h的速度行驶。同样当车辆的质心侧偏角较大时,特别是在低附着路面时,往往基于二自由度模型的卡尔曼滤波算法不能满足估算的需求。因此如图6所示为设计的估算器估算的质心侧偏角与实际值的比较。从曲线可知,该质心侧偏角估算器相比于单一的估算方法具有很好的跟踪性。
如图7所示为该车在路面附着系数为0.4的低附着路面上以50 km/h的速度行驶的质心侧偏角估算结果。可以看出在低附着路面上该估算器仍具有较好的估算效果,完全满足车辆稳定性控制估算的要求。
4结论
提出了一种基于二自由度模型的卡尔曼滤波算法与动力学积分算法相互融合的切换算法。当测得系统的质心侧偏角较小时,则认为车辆的轮胎侧偏特性处于线性区域,此时采用基于二自由度模型的卡尔曼滤波算法可以有效估算车辆的质心侧偏角。当系统测得的车辆的质心侧偏角过大时,上述方法的估算误差将会变大,因此估算器可切换为基于动力学积分算法估算。最后以某电机驱动的混合动力汽车为实验对象,在Vedyna软件中建立的15自由度模型进行多工况仿真,仿真结果表明该估算器可以有效估算车辆的实际侧偏角,在较大的侧偏下,也能达到满意的精度,满足汽车稳定性控制研究的需求。
参考文献
[1] Van Zanten A T,Erhardt R,Landesfeind K,et al.VDC system de-velopment and perspective.SAE 980235
[2] Sugiyama M,moue H,Uchida K,et al.Development of VSC sys-tem.TOYOTA Technical Review,1997;46(2):61—68
[3] Van Zanten A T,et al.Control aspects of the Bosch-VDC.AVEC’96
[4] Van Zanten A T.Bosch ESP System:5 Year of Experience.SAE Pa-per,2000-01-1633
[5] Tseng H E,Madau D,et al.Technical challenges in the developmentof vehicle stability control system.Proceedings of the 1999 IEEE In-ternational Conference on Cantml Applications Kohala Coast Island ofHawaii,1999
[6] Yoshiki Fukada.Slip-angle estimation for vehicle stability control.Vehicle System Dynamics,1999;32:375—388
[7] Hideaki Sasaki,Takatoshi Nishimaki.A side-slip angle estimationusing neural network for a wheeled vehicle.SAE Paper,2000—01—0695
[8] Chen B C,Hsieh F C.Sideslip angle estimation using extended kal-man filter.Vehicle System Dynamics,2008;46:353—364
[9] Hac A,Simpson M D.Estimation of vehicle side slip angle and yawrate.SAE 2000-01-0696
[10]黄程程.基于自适应卡尔曼滤波的汽车质心角估算研究.吉林:吉林大学学位论文,2008
[11]彭丁聪.卡尔曼滤波的基本原理以及应用.软件导刊,2009;(11):32—34
基于质心的改进型粒子群优化算法 篇6
粒子群优化(PSO)算法是一种模拟鸟类群体觅食行为的优化算法。该算法是由 Kennedy和 Eberhart[1] 于 1995年提出的一种优化算法。PSO算法的运行机理不是依靠个体的自然进化规律,而是对生物群体的社会行为进行模拟,通过对类似生物群体的行为的研究[2],发现生物群体中存在着一种社会信息共享机制,它为群体的进化提供了一种优势[3,4],这也是 PSO算法形成的基础。由于算法参数较少,易于实现,且能够较有效地解决复杂优化问题的特点,PSO算法已经被广泛用于很多优化问题上。
PSO算法由于种群的多样性,使其收敛性随着迭代的次数增加而快速下降,由于它的过早的收敛性很容易陷入局部极值,使得种群局部收敛速度变慢和种群进化停滞不前。该算法一经提出,越来越多的研究人员就开始针对基本PSO参数的选择、位置的变化、粒子的速度[4]或其他优化算法[5]来研究PSO的特点和其收敛性的改进[6]。例如文献[7]引入了基因换位和变异算子,文献[8]引入了牛顿法、最速下降法来对PSO算法进行优化。现通过对社会群体的智能行为和基于质心[9]的粒子群算法的研究,提出了一种新的基于质心的改进型粒子群优化算法模型(CPSO)。仿真实验结果表明,该算法的收敛速度和全局收敛性要优于PSO和改进型PSO(AF-PSO[10])。
1 基本PSO算法
PSO首先初始化为一组随机粒子群,每个粒子都有自己的位置矢量xi(i=1,2,…,M),速度矢量vj(j=1,2,…,M)和一个用于衡量粒子位置质量的参数值w,粒子根据自己及种群的搜索经验来调整自己的搜索方向,从而不断地改变自己的矢量值,为下一次迭代搜索的位置和方向做好准备,每个粒子在搜索过程所经历过的最好位置,就是粒子本身找到的最优解,整个种群找到的最好位置,就是整个种群目前找到的最优解。前者叫做个体最优解pi,后者叫做全局最优解pg。这样,粒子通过个体最优和全局最优指引自己不断地调整位置,从而产生新一代群体。粒子速度和位置矢量更新的公式如下
其中,Xi=(xi1,xi2,…,xin)为第i个粒子的当前位置,Vi=(vi1,vi2,…,vin)为第i个粒子的当前搜索速度,pi和pg分别为第i个粒子找到的最优位置和所有粒子的最好位置,t=1,2,…,为迭代的次数,w是惯性权重,其大小决定对粒子当前速度继承的多少;c1和c2是学习因子或加速系数,一般是正常数;ξ1,ξ2为两个相互独立的[0,1]区间中均匀分布的随机数。从式(1)可以看出粒子通过最初的位置和速度来提供飞行动力,在飞行中不断根据自身及同伴的新发现的最优位置和速度来调整自己,引导粒子飞向粒子群中的最好位置。
2 改进后的PSO算法
在基本PSO算法中,由于每个粒子在搜索时依靠的是自己和种群的经验,粒子之间缺乏合作和信息共享,使得大多数粒子将快速地向某一特定的区域搜索,最终陷入局部最优解中。现提出的基于质心的粒子群优化算法(CPSO)将通过提高粒子之间的合作和信息共享来避免粒子陷入局部最优解中。
假定pi是第i个粒子xi的最优解,M是种群规模,x
把式(3)和式(4)代入式(1)得到
v
c3ξ3(α×x
式(5)中α是[0,1]区间的一个常数,称为权重调节因子;c1和c2、c3是学习因子或加速系数,ξ3是[0,1]区间中均匀分布的随机数。
由式(5)和式(2)组成了基于质心的粒子群优化算法模型(CPSO)。新的算法表明种群中的每个粒子在搜索时不仅和个体最优解和全局最优解有关,而且还得依靠其他粒子的个体最优解和全局最优解,有效地提高了粒子之间的合作和信息共享能力,使整个PSO性能得到很大提高,在更新粒子的速度和位置过程中,限定粒子的搜索空间,对每一维的粒子xi都限制在[0,N]中,N为搜索区域边长。速度vij都限制在[-vmax,vmax]之间,使得粒子在飞行过程中速度始终在该范围内,不至于因为速度过快或过慢而飞离最优解或陷入局部最优解中。
CPSO算法实现流程如下:
(1) 在整个搜索范围内初始化所有的粒子;
(2) 计算每个粒子的适应值,并更新全局最优解;
(3) 根据粒子搜索的聚集度来决定是否要重新初始化粒子;
(4) 设定p
(5) 根据式(5)和式(2)来更新粒子的速度和位置;
(6) 如果搜索没有达到一个满意的解或一个预设的最大迭代数,返回步骤2;否则,停止迭代,输出结果。
3 仿真实验结果分析
为了证明CPSO算法的有效性,实验使用4个Benchmark函数来测试比较CPSO算法和基本PSO算法及其它改进型算法的实验结果。
(1) Ackley 函数,函数在搜索空间中存在很多局部极小值点,当 xi=0时达到全局最小值0。
-32≤xi≤32 (6)
(2) Rastrigrin 函数,函数在搜索空间中存在大量正弦凸起的局部极小值点,当xi= 0时达到全局最小值0。
-5.12≤xi≤5.12 (7)
(3) Rosenbrock 函数,函数在(1,1)处有一个全局最小值0。
-30≤x2≤30 (8)
(4) Schaffer函数,函数全局最大点在(0,0)处,而在距离全局最大点3.14的范围内,有无限个次全局最大点。
PSO,AF-PSO,CPSO(α=0.0, 0.5, 1.1)被分别运行50次,PSO和AF-PSO两算法共同参数设置相同,即种群规模设置为60,学习因子c1=c2=2.0,CPSO的学习因子c1=c2=c3=1.4,惯性权重w取值为从0.9到0.4线性递减,其他参数参照表1所列,3种算法的实验比较结果如表2所列。
从100个粒子中随机抽取50个粒子计算出粒子和其质心的位置以及粒子和其质心的距离偏差分别如图1、图2所示。从图中可以发现在一定速度范围内,合理利用质心迭代更新粒子的速度可以使粒子快速合理地向全局最优解飞行,很大程度上提高了算法的收敛性。
从表2可以清楚地看到,CPSO算法的求解速度和精度要优于其它两种算法,而且从均方差和求解成功率上来看,CPSO算法也要优于其他两种算法,平均求解成功率几乎都是100%。CPSO通过粒子内部之间合作和信息共享能有效地避免陷入局部最优解中,从而获得全局最优解。值得注意的是,对于不同的测试函数算法PSO、AF-PSO、CPSO表现出一定的差异性,以Ackley函数为例,见图3,可以看出,CPSO算法具有比PSO和AF-PSO更高的收敛性,CPSO通过粒子内部之间合作和信息共享能有效地避免陷入局部最优解中,从而快速地获得全局最优解,但其寻优结果比AF-PSO要差,原因是CPSO采用了质心提高了寻优速度,但难以保证达到最小值点。
4 结论
为了避免陷入局部最优解和有效地提高基本PSO的优化性能,提出了一种基于质心的新的粒子群优化模型(CPSO),其搜索最优解的能力得到很大提高,因为提高了粒子之间的合作和信息共享,从而大大降低了陷入局部最优解的概率。仿真实验结果证明该算法模型具有快速收敛速度和较高的全局收敛能力。如何使该算法在更广泛的领域里得到应用, 并且通过新的优化技术来提高该算法的性能将是下一步研究的重点。
参考文献
[1]Eberhart R C,Kennedy J.A new optimizer using particle swarm theo-ry.Proceedings of the 6th International Symposium on Micromachineand Human Science,Nagoya,Japan,1995:39-43
[2]邓璐娟,林楠,卢华琦,等.基于改进粒子群算法的测试数据自动生成研究.计算机测量与控制,2011;19(2):250-252
[3]Wilson E O.Sociobiology:the new synthesis.MA:BelknapPress,1975
[4]Jin Xinlei,Ma Longhua,Wu Tiejun.Convergence analysis of theparticle swarm optimization based on stochastic processes.ZidonghuaXuebao/Acta Automatica Sinica,2007;33(12):1263-1268
[5]Monson C K,Sepp K D.The Kalman swarm--a new app roach toparticle motion in swarm optimization.Proceedings of the Genetic andEvolutionary Computation Conference.Springer,2004:140-150
[6]Shelokar P S,Patrick S,Jayaraman V K.Particle swarm and ant col-ony algorithms hybridized for improved continuous optimization.Ap-plied Mathematics and Computation,2007;188(n1):129-142
[7]朱冰,齐名军.混合粒子群优化算法.计算机工程与应用,2012;48(9):47-50
[8]殷脂,叶春明,温蜜.结合局部优化算法的改进粒子群算法研究.计算机工程与应用,2011;47(9):51-53
[9]汪永生,李均利.质心粒子群优化算法.计算机工程与应用,2011;47(3):34-37
基于区域分割的二次质心定位算法 篇7
关键词:初次质心定位,二次质心定位,定位误差,区域分割
0 引言
无线传感器网络WSN(Wireless Sonser Networks)作为一种全新的技术,在国防军事、交通管理、制造业、环境监测、医疗卫生、反恐抗灾等领域得到了广泛的应用,在其众多的应用中,均须知道事件发生的位置,因此,节点定位技术是无线传感器网络的主要支撑技术之一。目前,无线传感器网络的定位算法可分为基于测距的算法和无需测距的算法两种[1]。基于测距的算法通过测量节点间的距离或角度信息,使用三边测量[2]、三角测量或最大似然估计法[3]计算节点的位置;无需测距的算法则根据网络的连通度等信息来实现节点定位。无需测距的算法属于粗粒度定位,定位精度较低,但在对硬件的需求及受实际环境的影响程度上与基于测距的定位算法相比都有很大的降低,因此也得到了较为广泛的应用。
在无需测距的算法中,质心定位算法[4]由于计算成本较低、网络生存能力较强、实现简单等优点而成为众多学者研究的热点。该算法在锚节点均匀分布时表现出较好的性能,当锚节点分布不均匀的时候,质心定位算法的定位精度会大幅下降。为了解决这一问题,以文献[5,6,7,8]为代表的方法主要通过不同信标节点的不同影响力来进行改进,文献[9,10,11,12]等主要从信标节点的分布角度来进行改进。本文主要针对未知节点周围分布的锚节点不均匀而产生较大的定位误差这一问题提出了一种改进的质心定位算法,用初次质心定位的估计位置取代离未知节点距离最远的锚节点,进行二次质心定位,有效地提高了质心算法的定位精度。
1 质心定位算法
1.1 质心定位算法原理
质心定位算法是一种仅基于网络连通性的室外定位算法。信标节点周期性地向邻居节点广播包含自身标识和位置信息的数据包,当未知节点接收到来自某一信标节点的数据包数量超过某个值或接收一定的时间后,就确定该信标节点处于自身的通信范围内,并将其通信范围内的所有信标节点构成的几何质心作为自身的估计位置。设某一未知节点通信范围内的信标节点个数为n,坐标分别为(xi,yi),其中i=1,2,…,n,该未知节点的估计位置为(xe,ye),则有:
显然,质心定位算法完全基于网络的连通度,方法简单,运算复杂度低。
1.2 质心定位算法缺陷
为了减少运算量,质心算法一般取接收到的信号能量值较大的三个信标节点构成三角形,将三角形的质心作为未知节点的估计位置。当信标节点是均匀分布的时候,采用质心定位算法可以取得较高的定位精度。然而,在诸如森林防火、环境监测等众多的应用场合中,信标节点不可能按照一定的位置预先布置好,即信标节点往往都是随机分布的,在这种情况下,质心定位算法会产生较大的定位误差。如图1所示,信标节点A、B、C在未知节点S的通信范围内呈不均匀分布,质心算法结果将未知节点定位在I点。在图1所示的三种情况中,均是信标节点A离未知节点的实际距离较远,由于其产生的负面作用力,使得未知节点的估计位置I不同程度地偏向A点,未知节点的实际位置距A点越远,偏离程度越大。因此,在实际的定位过程中,由于信标节点的不均匀分布使得质心定位算法的定位结果向距未知节点距离较远的信标节点一侧偏移,会产生较大误差。
2 二次质心定位算法
为了解决距离较远的信标节点对未知节点估计位置的负面影响,文献[5,6,7,8]等提出给距离未知节点较远的信标节点以较小的权值,给距离较近的信标节点以较大的权值,以此来消弱较远的信标节点的影响力,使未知节点的估计位置能更接近其真实位置;文献[9,10,11,12]则采用几何空间上覆盖所有锚节点的区域来估计目标位置,来有效地控制由于锚节点分布不均匀给定位精度带来的波动,这两类改进方法在一定程度上取得了较好的效果。不同于上述方法,本文结合三角形区域分割,用初次质心定位结果取代距未知节点距离最远的信标节点,进行二次质心定位,来减小定位误差。
2.1 区域分割
在理想的条件下,RSSI值和距离之间存在着一定的衰减关系,RSSI值越大,收发两方的距离越近,反之,距离越远。对于无线传感器网络节点而言,其RSSI值又很容易获取,因此可以通过比较未知节点S在同一时刻接收到三个顶点A、B、C发送来的信号强度,进一步的判断未知节点S距哪一个顶点较远,也就是缩小未知节点S在△ABC内可能存在的区域范围,确定二次质心算法所要取代的信标节点。
详细地说,利用有效三角形的三条中垂线将三角形及其周围的区域进行分割,以三条中垂线的交点P及由三条中垂线形成的6条射线为边界,将三角形及其周围的区域分割成6个区域。有效三角形为锐角三角形、直角三角形或钝角三角形时,分割情况分别如图2(a)、(b)、(c)所示。根据中垂线上的点到两端点的距离相等和比较未知节点接收到顶点发送来的信号强度,可以进一步的判断未知节点属于哪个区域。
以图3为例,RA、RB、RC分别表示未知节点S收到来自信标节点A、B、C的信号强度,SA、SB、SC分别表示未知节点S与信标节点A、B、C之间的距离,且需找出距未知节点S距离最远的信标节点,即需比较出RA、RB、RC中哪个值最小。根据这一需求在比较三个信号强度的大小时,可能会出现如下三大类情况。
情况一检测到其中两个信号强度值均大于另外一个信号强度。若检测到RA>RB且RC>RB,则有SA>SB且SC>SB,可判断出未知节点S距B点最远,通过检测到的RA>RB可推断未知节点S在并集区域P=﹛区域1∪区域6∪区域5﹜中,通过检测到的RC>RB可以推断未知节点S在并集区域Q=﹛区域4∪区域5∪区域6﹜中,综上可以推断未知节点S在区域TB=P∩Q=﹛区域5∪区域6﹜;同理,若检测到RA>RC且RB>RC,可推断未知节点S距C点最远,且S处于区域TC=﹛区域1∪区域2﹜中;若检测到RC>RA且RB>RA,可推断未知节点S距A点最远,且S处于区域TA=﹛区域3∪区域4﹜中。通过以上分析,可知,若未知节点S与B点距离最远,则S一定处于由射线PD和射线PE组成的区域中;若S距C点距离最远,则S一定位于由射线PE和射线PF组成的区域中;若S距A点距离最远,则S一定位于由射线PD和射线PF组成的区域中。三角形ABC及其周围的区域被射线PD、PE和PF划分为3个不同的区域,如图3(b)所示。
情况二检测到其中一个信号强度大于另外两个信号强度,且较小的两个值相等。若检测到RA>RB=RC,则有SA>SB=SC,可判断出S距B和C的距离一样远,通过检测到的RA>RB,可推断节点S在并集区域P=﹛区域1∪区域6∪区域5﹜中,通过检测到的RB=RC,可推断节点S在BC边的中垂线EH上,综上可以推断未知节点S在区域P和直线EH的并集区域,即在射线PE上;同理,若检测到RB>RA=RC,可推断节点S距A点和C点的距离一样远,且S在射线PF上;若检测到RC>RB=RA,可推断节点S距A点和B点的距离一样远,且S在射线PD上。
情况三检测到三个信号强度一样大。在这种情况下,未知节点S距三个节点A、B、C的距离一样远,S位于三角形ABC的垂心P处。
2.2 二次质心算法原理
对图1进行分析可知,如果以A方向上的某个距离未知节点S更近的点来取代信标节点A进行质心定位,可在一定程度上减小未知节点估计位置向A方向的偏向程度,进一步减小定位误差。基于这一思想,根据2.1节中所述的判断方法找出A、B、C三点中距未知节点S距离最远的点,假定是C点,则未知节点S应处于由射线PE、PF组成的区域内,如图4所示,用初次定位估计位置I来取代信标节点C,结合信标节点A、B构成新的三角形进行二次质心定位,估计位置为I'。由图4可以明显看出,二次质心定位结果I'更接近于未知节点的实际位置S,即SI'<SI。
2.3 误差分析
在图5中,未知节点S与信标节点A、B、C之间的关系同图4,A是被取代的信标节点,S仍处于由射线PE、PF组成的区域内,但其在该区域中的位置不同于图4,在这种情况下,由图5可以明显看出二次质心定位误差SI'大于初次定位误差SI。因此,本文所述的二次质心算法的定位误差并不是一定总是小于初次质心定位的误差,该误差和未知节点的分布位置有关。因此,需要确定当未知节点处于由射线PE和PF围成的区域中的哪些位置时,才能使二次质心定位结果优于初次定位结果,即满足SI'<SI。
作线段II'的中垂线,分别交PE、PF于M、N点,如图6所示,根据中垂线上的点到两端点的距离相等可推断,若S处于由射线PE、射线PF及中垂线MN围成的区域,即图6中的阴影区域三角形PMN,会有SI'>SI,此时,二次质心定位误差大于一次质心定位误差。为了便于描述,将由射线PE和射线PF围成的且包含线段AB的区域定义为区域TC,将区域TC中除去三角形PMN以外的区域定义为区域O,当S处于区域O中时,会有SI'<SI,此时,二次质心定位结果优于一次质心定位结果。
按照上述原理,图7分别画出了当信标节点A、B、C组成的三角形分别为锐角、直角及钝角三角形时,二次质心定位误差大于一次质心定位误差情况下未知节点S可能存在的区域,即为图中阴影部分。当未知节点处于阴影区域之外的空白区域时,二次质心定位结果一定优于一次质心定位结果。由于未知节点S有可能处于三角形外部,综合考虑三角形内外部的所有区域,由图7可以明显看出,阴影部分的面积远小于空白部分的面积,因此,我们有理由相信,在大多数的情况下,本文所述的二次质心定位算法的误差要小于一次质心定位误差,用二次质心定位结果的整体误差一定会小于一次质心定位的整体误差。
2.4 算法描述
(1)信息收集阶段
网络节点布撒后,网络进行初始化配置。信标节点向未知节点广播消息,消息中包含信标节点在网络中的ID、自身坐标信息。为了判断和信标节点之间距离的远近,未知节点还需记录来自各信标节点的RSSI值。在信息收集的时间内,未知节点随时更新其通信半径内锚节点传来的信息,通过这种方式降低由于网络拓扑结构变化原因造成的定位出错的可能性。
(2)定位阶段
(1)未知节点将其通信半径内的所有信标节点按照其接收到的RSSI值的大小进行排序,建立自身信标节点信息表,选择RSSI值较大的3个信标节点,计算出其质心,设为I(为了便于说明,此处设较大的三个RSSI值分别为RA、RB、RC,其对应的信标节点分别为A、B、C);
(2)比较RA、RB、RC的大小,若其中两个信号强度值均大于另外一个信号强度,则用第(1)步中计算出的质心I取代RSSI值最小的信标节点构成新的三角形进行第二次质心计算,并将计算出的二次质心I’作为未知节点S的最终估计位置;
(3)若RA、RB、RC中的一个信号强度大于另外两个信号强度,且较小的两个值相等,则用第(1)步中计算出的质心I取代两个较小的RSSI值所对应的信标节点中的任意一个进行二次质心定位,并将计算出的二次质心I'作为未知节点S的最终估计位置;
(4)若三个信号强度RA、RB、RC一样大,则将三角形ABC的垂心作为未知节点S的最终估计位置。算法流程如图8所示。
3 仿真实验
利用MATLAB仿真平台,在200 m×200 m的区域内随机分布200个节点,假设节点之间均能正常通信,对二次质心定位算法进行仿真,并与传统的一次质心算法进行比较。本文主要把绝对定位误差作为评估算法的主要性能指标。
绝对定位误差:
式中,(xr,yr)是节点n的真实坐标,(xe,ye)是用算法估计出的节点n的坐标。为消除节点随机分布对算法性能的影响,每种条件下均随机仿真1000次,并取1000次定位误差的平均值最为最终的绝对定位误差。
图9给出了在200个节点里,信标节点所占比例改变时,定位误差随之变化的情况。由图9可以看出,随着信标个数的增加,一次质心定位和二次质心定位的误差都呈减小趋势,但二次定位的误差总小于一次定位的误差,当信标节点的个数增大到50%以后,两种方法的定位精度提高并不明显。值得一提的是,当信标节点比较稀疏,所占比例为20%时,二次质心定位的性能远远优于一次质心定位,定位精度提高了近10米。因此,当网络中信标节点个数较少时,未知节点通信半径内的信标节点分布的不均匀性会更高,一次质心定位会差生较大误差,采用二次质心定位方法能大大提高其定位精度。
图10给出了信标节点所占比例为40时两种定位算法的定位误差的累积概率。结果显示,二次质心定位算法绝对定位误差在15米以内的的概率超过70%,而传统的一次质心定位算法达到这种精度的概率大约只有60%。
4 结语
本文提出了一种基于区域分割的二次质心定位算法,用初次质心定位结果取代未知节点通信半径内距离最远的信标节点,来减小由于信标节点分布不均匀而导致未知节点的估计位置偏向距离较远的信标节点的现象。仿真结果表明,在信标节点较为稀疏时,二次质心定位算法的定位精度远远高于传统的一次质心定位算法,且该方法无需复杂的数学运算,实施较为简单,同时能很好地应用在三维空间的场合,具有一定的应用价值。
但是,本算法中,采用RSSI值来实现未知节点和信标节点之间距离远近的判定,但RSSI值易受环境干扰,RSSI值大,并不意味着距离就近,RSSI测距的不准确性会导致算法产生额外的误差,因此,在实际的应用中需要解决RSSI测距精度的问题。
参考文献
[1]Wang Jing,Ghosh R K,Das S K.A survey on sensor localization[J].Control Theory Appl,2010,8(1):2-11.
[2]温立.无线传感器网络定位技术研究[D].上海:复旦大学,2008.
[3]刘克中.无线传感器网络分布式节点定位方法研究[D].武汉:华中科技大学,2006.
[4]Bulusu N,Heidemann J,Estrin D.GPS-less low cost outdoor localization for very small devices[J].IEEE Personal Communications Magazine,2000(7):28-34.
[5]朱建新,高蕾娜,张新访.基于距离几何约束的二次加权质心定位算法[J].计算机应用,2009,29(2):480-483.
[6]Xia A L,Ma C W.Improved centroid detection method based on higher moment for shack-hartmann wavefront sensor[C]//Optoelectronic Imaging and Multimedia Technology,Oct,2010.
[7]郜丽鹏,朱梅冬,杨丹.基于Zigbee的加权质心定位算法的仿真与实现[J].传感技术学报,2010,23(1):149-152.
[8]朱博,陈曙.一种无线传感器网络质心定位改进算法[J].传感技术学报,2010,23(6):868-872.
[9]徐小玲,张福强,李少彪.基于APIT的无线传感器网络质心算法研究[J].传感器与微系统,2011,30(7):57-59,63.
[10]衣晓,刘瑜,邓露.一种基于PIT的无线传感器网络质心定位算法[J].传感器技术学报,2010,23(7):1012-1016.
[11]周全,朱红松,徐勇军,等.基于最小包含圆的无线传感器网络定位算法[J].通信学报,2008,29(11):84-90.