[0014] 下面结合附图对本发明作进一步描述:
[0015] 参照图1-3,地面信息的语义性描述方法,包括设置在移动机器人前部的双目立体摄像机,焦距为f,基线宽度为b,高度为h,所述的双目立体摄像机的光轴与所述的移动机器人的底盘平行,所述的移动机器人的总高度为H。
[0016] 还包括与所述的双目立体摄像机连接的处理器,所述的处理器设置路面状况快速检测方法,包括以下步骤:
[0017] (1) 所述的处理器获取所述的双目立体摄像机的图像对fL和fR,形成深度信息z=f1 (X,Y),X,Y为像素坐标,z为对应的深度,X∈(-M/2,M/2),Y∈(-N/2,N/2),M为X方向上的像素个数,N为Y方向上的像素个数;对应的投影点的摄像机坐标为(x,y,z), X=x·f/z,投影角度θ=arctan(Y/f), y=z·tanθ=z·Y/f;
[0018] 所述的处理器是根据视差原理来计算深度信息,结合所述的双目立体摄像机的参数,可得z=f(X,Y)=f*b/d,其中d是根据图像对fL和fR计算得到的位置(X,Y)的视差。同时,根据相似三角形的比例关系,建立像素坐标与摄像机坐标的比例关系:X=x·f/z,y=z·Y/f。
[0019] (2) 计算地面信息图f2(X,Y)=h-y,如果| f2(X,Y)|H,则记为f3(X,Y)=0,否则f3(X,Y)=1,其中阈值T为所述的移动机器人能够跨越的最大不平整度;
[0020] 由于计算误差,平整路面也会产生计算上的不平整情况,同时一些小的不平整,不会影响所述的移动机器人的运行,并且高于所述的移动机器人高度的障碍物也不会影响所述的移动机器人的运行,因此在计算地面信息图f2(X,Y)的时候进行了部分数据的忽略。
[0021] (3) 将二值图f3(X,Y)进行先腐蚀后膨胀的操作,去除二值图f3(X,Y)中多余的杂质点;在此基础上再进行先膨胀后腐蚀的操作,填充二值图f3(X,Y)中细小的空洞,最终得到优化后的二值图f3`(X,Y); 计算二值图f3`(X,Y)与f2(X,Y)的hadamard积,去除f2(X,Y)中的杂散数据,即f2`(X,Y)=f3`(X,Y)*f2(X,Y);
[0022] 将二值图f3(X,Y)进行优化处理,去除杂散点和漏检点,然后通过矩阵运算hadamard积去优化f2(X,Y)。
[0023] (4) 扫描地面信息图f2`(X,Y)上的所有的点,如果f2`(X0, Y0)≠0,则搜索所有与(X0, Y0)联通的所有非零点,记为(Xi, Yi),i>0,则不平整路面的面积s=,Spix为传感器像素尺寸;在 (Xi, Yi)中,其中i≥0,
搜索(X max, Y max)使f2`(Xi, Yi)绝对值最大,得到最大不平整度amax= f2`(Xmax, Ymax);计算点(Xi, Yi)对应的投影点到所述移动机器人的距离,D=sqrt(xi2+zi2),比较出距离最小的点(xmin,ymin),Dmin=sqrt(xmin2+zmin2),方位角α=arctan(xmin/zmin);最后,形成语义描述算子d={α, Dmin, amax,s},即距离所述的移动机器人α方向上,Dmin距离处,存在不平整区域,不平整度为amax,区域大小为s。
[0024] 在步骤4中,扫描地面信息图f2`(X,Y)上的所有非零点,将相互连通的点作为一个独立区域,然后计算这些非零点的对应路面的面积s,然后比较出最大不平整度amax以及到所述的移动机器人的最小距离Dmin和方位角α,最终形成语义描述算子d={α, Dmin, amax,s}。因此,所述的移动机器人基于语义描述算子d与其他机器人进行数据共享,数据量小,避免重复计算,而其他机器人根据相互之间的位置关系,将语义描述算子d转换到自己的坐标系下,就可直接使用。