基于超声波传感器的机器人室内环境重构
2017-04-21袁帅李素芳毛红民张凤
袁帅++李素芳++毛红民++张凤
摘 要:针对超声波传感器在机器人定位中存在的测量距离与方向角误差问题,该文提出采用Hough变换算法与随机抽样一致算法对测量数据进行融合处理,降低基于超声波传感器的机器人在检测室内环境时的测量误差,并在此基础上对具有墙面与柱体的室内环境进行了建模实验,实验结果验证了该文所述方法能够对超声波测量数据完成有效处理,获得环境轮廓中线状特征和柱体特征。实验结果说明该方法对超声波在机器人室内环境重构中的应用具有一定贡献。
关键词:超声波模型 机器人定位 Hough变换 随机抽样一致
中图分类号:TP242 文献标识码:A 文章编号:1672-3791(2016)12(a)-0006-02
室内移动机器人已经普遍的应用到生活中,如:室内清洁机器人,小孩儿玩具机器人,地震救灾机器人。机器人的关键所在是拥有自己的“眼睛”,在具备该设备时机器人才具有“看清”周围环境轮廓并利用栅格地图[1]将其重构出来的能力。随着科技的不断创新,“眼睛”的种类越发的多,如:超声波传感器,激光传感器,视觉传感器。
超声波传感器在测距过程中存在着:测量距离误差与测量方向误差。这种误差源于其物理特性,超声波工作时是发射一束锥型波触碰到物体返回给超声波传感器,由于是薄面触碰到障碍物,测量时并不能精确的计算出是哪一方向上返回的声波,故设备本身就存在着误差。
1 超声波传感器测量原理
超声波探测的原理是时间渡越法,即已知超声波在空气中传播速度为v,发射超声波至物体表面再返回传感器的时间t与物体的距离成正比,目标距离为:d=1/2×t×v。由于超声波换能器是发射器也是接收器,传感器用一段时间发射超声波束,只有待发送结束后才能启动接收。此外,实际实验表明,超声波探头有一定惯性,在其发送结束后还留有一定余振,这种余振未消失以前,不能启动系统进行回波接受。故超声波触发后会有一段短暂时间,在这之后才开始接受信号,所以超声波传感器存在的盲区。
2 室内环境重构
在大自然环境下,物体都以线、弧形状存在,故在室内环境重构时,只需重构出线及弧就能将室内环境还原。
2.1 直线的重构
在计算机研究领域,图像处理时对直线的检测普遍应用hough变换办法,其原理为:在x-y坐标系下的一条直线取其中一些坐标点,转换到ρ-θ坐标系下时可以聚集成一个点,这样在ρ-θ坐标系下对应的ρ-θ即该直线的参数;这样做的原因是在x-y坐标系下获得的坐标点不一定完全在一条直线上,其中存在一定的干扰数据点,利用hough变换将这些干扰点“消除”掉。表达式如下:
ρ=x·cosθ+y·sinθ (1)
式(1)中的ρ为原点到直线的垂直距离,θ为直线法线与x轴夹角。这种参数化方式相当于使用法向量描述直线,如图1所示。
2.2 圆弧的重构
因Hough变换需要O(n3)的计算复杂度和很大的内存空间,有学者提出随机Hough变换,该方法同其他Hough变换的方法相比,能有效的减少内存空间和计算时间,但这种方法仅对图像噪声点少的情况下适用,对于噪声点过多的情况并不能达到很好的识别效果。因此Fischer等人提出RANSAC算法,该算法在噪声点超过50%的情况下仍然能够求出模型参数,所以RANSAC算法对模型参数估计具有很好的鲁棒性。该算法在随机选取3个像素点时,可能取到边缘的像素点,使最后检测出来的圆与实际圆存在偏差,在检测圆时需要设定与问题相关的多个阈值。
传统RANSAC算法如下。
(1)随机选取3个像素点,计算由这3个像素点所确定的圆。
(2)计算所有像素点到这个圆的距离,若像素点到圆的距离在一定误差范围内,则这个像素点记为局内点,否则为局外点;如果局内点个数大于等于某一个阈值,说明圆模型合理。
(3)用所有假设的局内点重新估计模型。
为减小检测圆与真实圆之间的偏差,该算法随机选取3个像素点,由这3个像素点构成圆模型,称这个圆模型为“假定圆”。
已知任意3点的坐标(x1,y1)、(x2,y2)、(x3,y3),使用文献[2]可求出由这3个点对应圆的中心(a,b)和半径r:
其中(xi, yi)为随机选取的3个像素点中任意一像素点坐标。
如果将图像所有像素点存到集合S中,然后从集合S随机抽取3个像素点,记为si=(xi,yi),i=1,2,3,圆心为(a,b),半径为r,利用上述公式可求出这3个像素点对应圆的中心和半径。计算圆上点个数与所有像素点个数比值,若大于等于所设定阈值,则该圆为真实存在的圆。
3 實验验证
为验证该算法的有效性,在实验环境中进行轮廓检测实验,该环境包括墙面,墙角与柱体。采用该文算法获得效果如图2。图2可以很明显的辨别出该环境周围有4个墙面,中间有个圆柱。
超声波传感器按照星号“*”位置逆时针方向测量周围环境,然后进行PCR6融合,在融合后对数据进行处理,首先对全部数据进行融合次数判断,将融合次数多于两次的数据点保留在处理环境中,提高数据的可靠性;然后对数据进行阈值判断,将占用信度阈值m(θ2)在0.9以上的作为环境数据点;再根据环境点的空间位置关系进行分类,分类算法是对全部数据进行Hough变换求得线特征参数,并转换到x-y参数空间,获得4条直线,最后对未识别的环境数据点(不属于直线特征的数据点)采用随机抽样算法检测圆形特征。图2中可以看到检测结果,此结果可以说明该算法的有效性与可靠性。
4 结语
该文针对超声波传感器在测距时由于测量距离误差与方向误差导致的测量不精确问题,提出基于DSmT的超声波传感器模型对周围环境进行轮廓检测,并利用Hough变换算法与随机抽样一致算法检测环境轮廓中线状特征和柱体特征。并通过实验,验证了该文中算法的有效性,该方法对基于超声波传感器的移动机器人环境建模具有一定参考价值。
参考文献
[1] Lee YC,Lim JH,Cho DW,et al.Sonar map construction for autonomous mobile robots using a data association filter[J].Advanced Robotics,2009,23(1-2):185-201.
[2] 宋晓宇,袁帅,郭寒冰,等.基于自适应阈值区间的广义Hough变换图形识别算法[J].仪器仪表学报,2014,35(5):1109-1117.
[3] 杨锦园,黄心汉,李鹏.基于DSmT的移动机器人地图构建及传感器管理[J].计算机科学,2010,37(4):227-230.