钟晨,王伟*
(1.大连理工大学 信息与控制研究中心,辽宁 大连 116024;2.大连理工大学 机器人学国家重点实验室,辽宁 大连 116024)
随着移动机器人环境通过能力与环境适应能力的不断增强,对地形的有效识别与建模成为机器人完成导航及运动规划等任务的基础.由于室外场景中地形具有多样性和复杂性,并且在不同地形条件下机器人往往需要采用不同的运动策略,对地形表述方法的选择既要考虑各类地形特点又要满足机器人运动规划的需求.
基于三维激光点云的地形描述可以快速准确地获得场景的几何信息.Broten等[1]通过计算各个栅格的加权平均高度构建高程地图,能够辅助机器人穿越未知室外环境,但无法准确表示场景中的垂直或断层特征.Pfaff等[2]对高程图表示方法进行了有效扩展,采用分层高程图能够更准确地表示场景中悬空结构,但对于机器人在不平坦路面上的可通过性仍会产生误判.Gingras等[3-4]通过高程划分可通行区域与障碍区域,采用改进的三角网格法对可通行区域进行地形重构以及路径规划,但该方法不适合带有一定坡度的路面环境.文献[5-6]将监督学习的方法用于室外场景点云分类,训练样本的选择会对点云分类结果产生明显的影响,而且场景分类结果不便应用于地形的可通过性判别.Rusu等[7-8]针对室内厨房环境建模问题,采用点云分割和几何形体匹配等方法提取几何图元,并根据功能推理法判别几何图元所属的物体类别.
机器人执行室外任务时所面对的地形类型及地形复杂程度会不断变化.对于具有一定越障能力的移动机器人,如果以提高其环境通过效率为根本目标,需要根据不同的地形特征采取不同的地形建模策略并相应调整机器人的运动模式.本文中所采用的机器人平台为中国科学院沈阳自动化研究所自主研发的轮腿式机构可变机器人.该机器人根据其所通过地形类型的不同,主要采用3种运动模式:(1)当处于平坦路面上时,要求机器人以较快速度行进并实现避障,因此地形建模仅需要将场景简单分为可通行路面与障碍物区域.(2)当处于不平坦路面上时,要求机器人以较慢速度行驶并通过调整轮腿姿态降低车体重心以增强车体运动稳定性,地形建模需要能够更细致地区分可通行的不平坦路面和不可通行的障碍或植被区域.(3)当遇到需进行机构变化才能通过的典型地形结构时,要求机器人以越障模式通过,地形建模需要能够对沟、台等典型地形结构进行识别并估计其几何参数,从而辅助机器人的运动规划.
根据机器人在通过室外环境时的上述实际需求,本文提出一种分级的地形识别与建模方法.利用高程模型计算速度快、存储空间小等优势,满足机器人通过平坦路面时地形建模的要求.当高程地图无法找到可通行路径时,采用基于模糊规则的场景点云分类方法,消除高程地图对不平坦路面可通行性可能产生的误判.如果仍然无法找到可通行路径,则通过典型地形的语义分类及建模检测可供机器人实现越障通过的典型地形结构.
高程地图是对占据栅格地图的一种改进,以平面二维栅格内数据点的高程分布描述三维场景的地形信息,具有计算速度快、数据存储量小等优势[7].移动机器人执行室外任务大多处于较平坦路面上,这种地形的特点是地面的起伏变化不大且地面与障碍物区别明显.在这种情况下,往往要求机器人以较快速度行进并区分地面区域与障碍区域,因此采用一种改进的分层高程地图建模方法[9]可以满足机器人通过此类地形的基本要求.
假设三维点云中某一数据点坐标为pi,在XY坐标平面上划分栅格Gmn,其中m和n为栅格序号.激光点的分布可以认为近似符合正态分布:
为了描述树冠、桥梁等悬空结构对机器人可通过性的影响,对各栅格内激光点按高度聚类,并根据聚类间高度差Δh对激光点分层.每个栅格可能包含一个或多个分层单元.激光点pi对各分层单元Uk的影响因子为
其中X+、X-、Y+和Y-为Uk所在栅格Gmn的有效范围常量.将各分层单元高程初始化为单元内激光点高度的平均值,当新的激光点pi=(xiyi zi)T添加到分层单元时,按式(3)更新各单元的高程和权值参数
为了便于对移动机器人可通行区域的识别,将各分层单元分为垂直单元和水平单元两类.以式(4)计算各分层单元内激光点的高度方差Ep,当Ep大于阈值时,认为单元内激光点在竖直方向上分布较分散,将此分层单元定义为垂直单元,否则将其定义为水平单元.计算某一水平单元与其邻域内各水平单元的高程差,当高程差小于阈值时,将它们划入同一个可行区域,再采用邻域生长的方式对可通行区域进行扩充.
图1 不同场景下高程地图在机器人与目的地之间是否具有连通可通行区域的状况Fig.1 Passable area between robot and destination in elevation maps with different scenes
在地面较平坦的室外环境中,基于高程地图的场景建模方法可以找到机器人与目的地之间连通的可通行区域,如图1(a)所示.但是,由于高程地图自身的局限性,当具有一定通过能力的机器人面对较复杂的室外环境时,通过高程地图可能无法找到机器人与目的地之间连通的可通行区域,此时需要对场景做更精准的建模以辨别当前地形是否满足机器人的通过条件,并相应调整机器人自身机构和运动方式,如图1(b)所示.其中,场景可通行区域中的路径搜索可采用A*算法实现.
由于高程地图仅通过局部栅格高程差是否大于阈值来识别可通行区域,对于不够平坦的地面时常无法找到可通行路径,此时便需要对点云做更细致的地形分类.基于监督学习的室外场景点云分类方法已得到广泛应用[5-6],但对样本的标记和训练是一项复杂、耗时的工作并且实际分类效果与样本的选择密切相关,且对于不同类型室外环境的通用性有限.因此采用一种改进的模糊点云分类方法[7],基于场景表面特征提取、模糊推理以及极大模糊熵原理实现与机器人通过性相关的室外地形分类,从而克服了高程地图在复杂环境表述上存在的不足.
在室外场景三维点云数据中,分布在地面上的数据点下方的区域往往是空的,因此通过计算各数据点下方一定区域内点的密度可以表征该点为地面点的可能性.假设与各点pi属同一栅格Gmn的数据点为gmn,Bi表示gmn中分布在pi下方的点集,如图2(a)所示.特征描述符Fg估计pi为地面点的可能性,计算方法如下:
其中pi=(pixpiypiz),gmn=(gmnxgmnygmnz),Bi={gmn∈Gmn|gmnz<piz-ε},τ=1(piz<0)或τ=0.5(piz≥0),余量常数ε的作用是防止邻近数据点的干扰(例如ε=0.01m),np表示归一化因子(例如np=6).当piz≥0时,表示pi在竖直方向上高于激光扫描原点,此时pi点作为地面点的置信度要小于当piz<0时,采用指数τ实现非线性补偿.
在激光扫描面上,选取各点pi固定数目的邻域点作为其支撑点.支撑点协方差矩阵的3个最大特征值为λ1>λ2>λ3,相对应的特征向量分别为n1、n2、n3,如图2(b)所示.特征描述符Fr估计局部表面粗糙程度,特征描述符Fa估计法向量与竖直方向的夹角,计算方法如下:
图2 场景点云数据局部特征描述符提取Fig.2 Local feature descriptor extraction of the point cloud data
模糊推理系统的3个输入量Fg、Fr和Fa表征数据点几何分布,3个输出量μg、μf和μv分别表征隶属于地面、立面和植被的模糊隶属度.这3类地形特征具有较好的可区分性和旋转不变性,同时它们也是室外环境中构成典型地形结构的基本元素.室外地形特征通常符合以下3个简单的语义规则:(1)地面通常位于场景底部且为近似水平面.(2)立面通常为近似竖直的平面.(3)植被通常立于地面上且表面粗糙、不规则.模糊规则根据以上地形语义规则产生,并覆盖所有输入量的可能组合.其中,地面点特征Fg的语义标签为{N,G},分别代表非地面和地面;粗糙度特征Fr的语义标签为{S,R},分别代表光滑和粗糙;倾斜度特征Fa的语义标签为{F,I,V},分别代表水平、倾斜和竖直;输出隶属度μg、μf和μv的语义标签为{L,M,H},分别代表低、中和高.所有模糊规则均通过AND 操作符连接,例如:IF(Fgis G)AND(Fris S)AND(Fais F),THEN(μgis H)AND(μfis L)AND(μvis L),模糊推理系统隶属度函数及模糊规则的设置方法参见文献[10].
通过逆模糊化过程得到各数据点pi地形隶属度的实数值μg、μf和μv.设地形类别标签集L={g,f,v}分别代表{地面,立面,植被},由式(8)计算pi各邻域点pin的模糊熵Ein,该模糊熵表征pin地形类别分布的不确定性,取值范围为0到1.则根据极大模糊熵原理,pi点的地形类别lt可按式(9)方法计算.
其中μmax=max{μg,μf,μv}.地形模糊分类结果如图3所示.
图3 地形模糊分类结果Fig.3 Result of fuzzy terrain classification
对于具有一定越障能力的机器人,即使通过上述高程模型以及地形模糊分类均无法找到可通行路径,但如果场景中存在满足机器人越障能力的地形结构,仍可以实现机器人的越障通过.因此需要进一步对与机器人避障和越障相关的地形结构进行建模并估计其几何参数,从而实现机器人的运动控制辅助.本文将“语义地图”“语义分类”等概念[7-8,11]应用于室外地形结构分析与表示中,提出一种新的室外地形结构建模方法.
设经过地形模糊分类的点云数据二维扫描矩阵中某列数据为Sp,将Sp中固定数目的相邻数据点定义为检测域,检测域尺度参数为Dr(例如Dr=5),用以检测是否出现新的地形片段.地形片段标签Se初始化为-1,当其取值为1、2、3、4时分别代表片段的地形属性为地面(G)、立面(F)、植被(V)和间断(I).令Tg、Tf和Tv为表征地形片段连续性的域值,用以限定各类地形片段的最小数据点数,均不大于Dr(例如Tg=4,Tf=4和Tv=3).Pe(i)表示数据列Sp中第i点p(i)的地形类型,当其取值为1、2、3时分别代表p(i)的地形属性为地面(G)、立面(F)、植被(V),ρ(i)表示数据列Sp中第i点的激光测距读数,ng、nf和nv为相邻数据点检测域内不同地形属性点的数目,it标识当前片段类型是否为间断(1为间断,0为非间断),间断判别的阈值计算如下:
其中设定常数k为比例因子(例如k=5),θ为三维扫描点云的俯仰角,nr为点云矩阵数据列的序号.对各列点云数据Sp按其距离扫描仪由近及远的顺序遍历各点p(i),数据列的地形片段分割算法流程如图4所示.
由于各列点云数据被分割为地形片段序列,可以认为相邻片段间的拓扑关系反映了地形结构的语义关系,例如:地形属性为{地面-立面-地面}的片段组合可以表示“台阶”这一典型语义地形结构.因此,地形片段序列中各片段不仅具有地形属性同时也具有地形结构属性,不妨限定以下几种与机器人避障和越障相关的典型的地形结构属性:平地面(L)、台平面(T)、沟底面(B)、台立面(S)、障碍立面(O)和植物(P).各片段的地形结构属性仅取决于其前一片段的地形结构属性、当前片段的地形属性以及后一片段的地形属性.地形片段拓扑关系及对应地形结构属性如图5所示.
对各列片段序列的地形结构属性,可根据表1所示的地形结构语义关系进行判别.表1 中第一列表示前一片段的地形结构属性的类别,第一行表示当前片段和后一片段的地形属性类别,各行列交叉处表示当前片段的地形结构属性.其中,交叉处的复选项表示当前片段首尾之间高度差的绝对值大于阈值ls(例如ls=0.1m)时的取值.
图4 点云数据列地形片段分割的算法流程图Fig.4 Terrain fragment segmentation algorithm of point cloud data columns
图5 地形片段拓扑关系及对应地形结构Fig.5 Topology of terrain fragments and the corresponding terrain structures
对各地形片段按典型地形结构进行分类,采用区域生长的方法对各地形片段聚类,并分别构建各聚类的片段起始点集合以及终止点集合,如图6(b)所示.根据语义地形结构分类的结果,可按不同类型的地形结构对场景进行建模:地形结构为O 或P的区域视为障碍;地形结构为L 或T的区域视为通路;地形结构为B 的区域视为沟;地形结构为T 的区域视为台阶.对具有一定越障能力的机器人,在场景典型地形结构分类的基础上,需要对典型地形结构进行几何建模以辅助机器人规划运动策略.通过最小平方中值法(LMedS)对各聚类片段的起始点或终止点集合进行迭代回归,从而提取出反映典型地形结构的边缘线段的几何参数,如图6(c)所示.
表1 典型地形结构语义关系Tab.1 Semantic relations of typical terrain structures
图6 典型地形结构语义分类与几何建模Fig.6 Semantic classification and geometric modeling of typical terrain structures
本文实验采用中国科学院沈阳自动化研究所自主研发的六轮腿机构可变式移动机器人平台,并配备了基于SICK 公司的LMS291激光测距仪的三维激光扫描系统,如图7(a)所示.
图7 三维激光扫描系统Fig.7 3Dlaser scan system
采用三维激光扫描系统可以得到极坐标形式的点云数据pp=(ρθφ),其中ρ表示激光扫描仪光心到某一数据点的距离,θ表示激光扫描仪一组扫描数据中各点的测量角度,φ表示三维激光云台的转角;a、b、c三个长度参数通过系统标定得到.点云数据由极坐标表示到三维直角坐标表示的转换如图7(b)所示,计算公式如下:
这里列举了对多组室外场景采用分级地形识别与建模的实验结果.在图8(a)所示的具有不平坦路面的场景中,高程地图环境表述将地面的坡度起伏或杂草等干扰误判为障碍区域,如图8(b)所示.通过模糊地形分类,将场景分为地面、立面和植被,消除了高程地图对不平坦路面的误判从而可以重新找到可通行路径,如图8(c)所示.
图8 不平坦路面的分级地形识别与建模结果Fig.8 Hierarchical terrain recognition and modeling result on uneven road
图9、10为对两组具有典型地形结构的室外场景采用分级地形识别与建模的实验结果.图9(a)、10(a)为带有台阶(沟壑)地形结构的场景;图9(b)、10(b)为高程地图地形表示结果,无法找到可通行路径;图9(c)、10(c)为基于模糊点云分类的地形表示结果,仍然无法找到可通行路径;图9(d)、10(d)为典型地形结构语义分类与建模结果,能够识别出场景中的台阶(沟壑)结构并给出了其三维几何参数,机器人可根据所得地形建模参数规划运动策略实现越障通过.
通过多组室外环境典型地形结构建模结果的数据分析(见表2),可以看出本文方法地形建模平均误差一般在1cm 左右,能够满足机器人越障运动规划的需要.
表2 多组室外场景典型地形结构建模误差分析Tab.2 Error analysis of typical terrain structures in outdoor scene
本文针对具有一定越障能力的移动机器人室外环境可通过性判别这一常见任务,提出了一种分级的地形识别与建模方法.根据室外地形复杂程度的差异及机器人运动模式的特点,逐级分别采用分层高程地图环境表述、模糊地形分类和典型地形结构语义分类及建模的方法,有效提高了地形识别效率,为实现机器人环境可通过性判别及运动策略规划提供了可靠的地形建模基础.实验结果验证了该方法的有效性和实用性.
[1]Broten G,Collier J.Continuous motion,outdoor,2 1/2D grid map generation using an inexpensive nodding 2-D laser rangefinder [C]// IEEE International Conference on Robotics and Automation(ICRA).Piscataway:IEEE,2006:4240-4245.
[2]Pfaff P,Triebel R,Burgard W.An efficient extension to elevation maps for outdoor terrain mapping and loop closing[J].International Journal of Robotic Research,2007,26(2):217-230.
[3]Gingras D,Lamarche T,Bebwani J L,etal.Rough terrain reconstruction for rover motion planning[C]//The 7th Canadian Conference on Computer and Robot Vision(CRV).Piscataway:IEEE,2010:191-198.
[4]Gingras D,Payre P,de Lafontain E J,etal.Path planning based on fluid mechanics for mobile robot using unstructured terrain model [C]//IEEE International Conference on Robotics and Automation(ICRA).Piscataway:IEEE,2010:1978-1984.
[5]Xiong X,Munoz D,Bagnell J A,etal.3-D scene analysis via sequenced predictions over points and regions[C]//IEEE International Conference on Robotics and Automation(ICRA).Piscataway:IEEE,2011:2609-2616.
[6]Ross S,Munoz D,Hebert M,etal.Learning message-passing inference machines for structured prediction[C]//IEEE Computer Vision and Pattern Recognition(CVPR).Piscataway:IEEE,2011:2737-2744.
[7]Rusu R B,Marton Z C,Blodow N,etal.Modelbased and learned semantic object labeling in 3D point cloud maps of kitchen environments[C]//IEEE/RSJ International Conference on Intelligent Robots and Systems(IROS).Piscataway:IEEE,2009:3601-3608.
[8]Rusu R B,Marton Z C,Blodow N,etal.Towards 3D point cloud based object maps for household environments [J].Robotics and Autonomous Systems,2008,56(11):927-941.
[9]YAN Fei,ZHUANG Yan,BAI Ming,etal.3D outdoor environment modeling and path planning based on topology-elevation model [J].Acta Automatica Sinica,2010,36(11):1493-1501.
[10]ZHONG Chen,ZHUANG Yan,WANG Wei.Fuzzy classification of 3D point cloud in outdoor environment[J].ICIC Express Letters:Part B,2011,5(8):2741-2746.
[11]Nuechter A,Hertzberg J.Towards semantic maps for mobile robots [J].Robotics and Autonomous Systems,2008,56(11):915-926.