面向栅格模型的室内环境地图构建方法
2017-11-22朱涛黎恒明唐新科尚大帅
朱涛,黎恒明,唐新科,尚大帅
(西安测绘总站,西安710054)
面向栅格模型的室内环境地图构建方法
朱涛,黎恒明,唐新科,尚大帅
(西安测绘总站,西安710054)
针对室内未知环境地图构建问题,通过Kinect传感器获取障碍物深度图像信息,采用基于Bayesian的概率栅格计算方法,实现室内环境下的实时地图构建,并通过移动机器人平台验证其有效性和准确性。
0 引言
随着人工智能技术日趋成熟,机器人得到越来越广泛应用。移动机器人在未知环境中自主完成任务,需要不断感知周围的环境信息,进行定位、避障和路径规划,从而到达目标位置[1]。然而在室内未知环境中,移动机器人无法直接获取GPS等位置信息进行定位导航,需要借助传感器建立外部空间的空间模型,即地图构建[2]。本文针对室内未知环境地图构建问题,通过在移动机器人平台上搭载Kinect传感器,采用面向栅格模型的地图构建方法有效解决了信息不确定性问题,对室内工作环境进行准确描述和表达。
1 基于Bayesian的概率栅格地图
概率栅格地图的建立是根据测距传感器的观测值来计算每个栅格被占据的概率值得到的[3]。由于移动机器人地图创建存在传感器噪声、定位精度、累积误差等不确定性因素,这些不确定性因素复杂且难以处理,需要用概率来表示栅格地图中每个栅格被障碍物占据的可能性,建立明确的概率算法模型来解决问题。
定义栅格单元是一个在连续空间坐标集合的离散状态随机过程,每个栅格单元具有占据和空闲的离散随机变量。设mx,y∈[OCC,EMP]表示位于栅格Mx,y的状态,其中OCC表示栅格处于被占据的状态,EMP表示栅格处于空闲状态。设定zt表示t时刻的观测值,(zt,zt-1,∙∙∙,z1)表示一系列观测值且各观测值相互独立。根据Bayesian规则可得:
根据式(1)可以得到观测值为zt时的栅格占据概率为(2)。
其中,P(zt|mx,y=OCC)、P(zt|mx,y=EMP)由传感器模型得到,P(mx,y=OCC)和P(mx,y=EMP)是先验概率。
对于不同时刻同一传感器或者同一时刻不同传感器的占据概率,可以用Bayesian公式加以融合,可得式(3):
2 Kinect传感器模型
Kinect是微软公司于2010年6月推出的一款基于体感的人机交互设备,由彩色摄像头、红外摄像头、红外投影机、麦克风阵列、马达、逻辑电路和USB线缆等部分构成[4],如图1所示。Kinect的视场是金字塔形状的,有效视野范围水平方向为57度,垂直方向为43度,有效探测范围约为0.8~4.0米,可以获取彩色图像数据、深度图像数据、音频数据以及骨架数据。
图1 Kinect传感器
在真实世界坐标系中,以Kinect设备为坐标原点,用右手坐标系表示X轴、Y轴和Z轴,以毫米为单位。在深度图像投影坐标系中,以图像的左上角为坐标原点,u轴平行于图像行扫描线指向右,v轴沿图像列方向指向下。根据Kinect深度摄像头标定,可得到X、Y、Z坐标分别为:
其中,X、Y、Z分别表示真实世界坐标系中的坐标,u、v表示深度图像横、纵坐标,u0、v0为深度图像中心坐标,deptu(u,v)表示深度值,f表示焦距。
3 实时地图构建
3.1 局部栅格地图的建立
建立环境坐标系模型之后,需要将Kinect获取的数据转换为用二维数组表示的栅格地图,即建立局部栅格地图[5]。Kinect可视范围约为4m×4.4m的区域,可按照每个栅格5cm×5cm的方格进行划分。设定栅格化区域分为确定区域和不确定区域,其中确定区域为环境信息映射到栅格地图中表示为占据或者空闲的栅格区域。在地图创建初始化状态下,整个栅格地图都属于不确定区域。
(1)将Kinect获取的环境信息映射到栅格地图上。将Kinect探测到的环境信息用二维笛卡尔矩形栅格来表示,用二维数组Map[x][y]来记录对应栅格是否有障碍物信息。将障碍物位置信息映射到环境地图中对应的栅格单元,可表示为:
其中,(x,y)表示障碍栅格在全局坐标中的位置信息,(xw,yw)表示障碍物在世界坐标中的位置,w为栅格的宽度。
(2)计算地图中栅格的占据或者空闲概率。首先将整个地图的所有栅格的初始化值赋值为0.5,以表示不确定状态。然后在给定各个栅格单元先验概率的条件下,k时刻依据Kinect观测值计算每个栅格中的占有概率,并记录给定栅格的占据概率。最后根据阈值判断栅格是否被占据或者空闲,如下所示:
(3)对局部栅格地图所有栅格赋值,生成当前帧对应的局部栅格地图。
3.2 全局地图的更新
由于Kinect采集的环境信息为局部栅格地图信息,这就需要将局部地图更新到全局地图。通过坐标变换公式,就可以将局部地图映射到全局地图中。本文采用融合算法对全局地图进行更新,如下所示:
其中,Mi+1表示第i+1步融合后的全局地图,Mi表示第i步已经存在的全局地图,mi+1表示新构建的局部地图。
在全局栅格地图中,存在部分区域栅格信息不确定或者已经更新,对于不确定区域的栅格可直接进行更新,而已经更新的栅格则进行数据融合。在全局栅格地图更新过程中,本文采用Bayesian法则进行数据融合,以得到相对准确的概率结果,信息融合公式如公式(8)。
4 试验结果与分析
如图2所示,实验环境选择在走廊中,走廊宽度为2.06m。移动机器人在走廊里以10cm/s的速度沿直线向前运动,借助传感器Kinect扫描前方环境。对实时采集的数据流间隔5s提取一帧图像,将检测到的障碍物信息投影到坐标系中绘制成栅格地图,从而获取整个实验环境的全局地图。
图2 移动机器人运动时的实验环境
在不考虑机器人运动累计误差和自定位误差的情况下,其实验结果如图3所示,障碍栅格用黑色表示,无障碍栅格用白色表示,不确定区域用灰色栅格表示。矩形框表示移动机器人所在的位置。
从上图可以看出,当移动机器人在走廊中间沿直线匀速行进时,间隔5s提取一帧图像,共提取9帧图像连接成全局栅格地图,能够将走廊中的墙壁、门等环境特征完整、准确地绘制到地图中。通过真实环境与栅格地图的对比,可以看出地图精度和环境特征位置与实际环境比较接近。但是,栅格地图下半部分中绘制的门比实际要宽几个栅格,走廊也会出现沿Y轴(即小车行进方向的法方向)出现有规律、对称的上下移动一两个栅格的情况。这是情况产生的原因除前一实验分析的原因外,主要是由于运动过程出
现抖动、侧滑等现象导致移动机器人出现位姿偏差。
为了测试机器人运动状态时构建的栅格地图精度,需要将真实环境与栅格地图进行对比,即真实环境中的坐标与栅格地图中的坐标进行误差分析。然而将真实环境中所有坐标与地图中的位置一一对比是不可能的,可选取若干比较稳定的参考点进行对比。由表1可知,真实栅格位置与地图中的栅格位置比较接近,参考点的真实坐标与地图中的坐标相差不大,误差不超过70mm,满足实验的要求。
图3 移动机器人运动时的地图构建
表1 移动机器人运动时的栅格地图精度
[1]杨学.一种人机交互式室内建模方法[J].软件导刊,2015(08).
[2]段华旭,闫飞,庄严,朴春光.无人车基于双目视觉的同时定位与地图构建[J].华中科技大学学报(自然科学版),2015(S1).
[3]党鹏飞.移动机器人同时定位与地图构建[D].沈阳:东北大学,2010.
[4]Erica Naone.Microsoft Kinect:How the Device Can Respond to Your Voice and Gestures[Z].Pioneering with Science and Technology,2011,4(04):82-83.
[5]孙学敏.室内未知环境下移动机器人地图创建方法的研究[D].沈阳:东北师范大学,2012.
朱涛(1989-),男,硕士,助理工程师,研究方向为摄影测量与遥感
黎恒明(1965-),男,本科,高级工程师,研究方向为目标判读与解译
唐新科(1990-),男,本科,助理工程师,研究方向为摄影测量与遥感
Grid Model;Map Building;Grid Map;Kinect
The Method of Map Building Under the Indoor Environment Facing the Grid Model
ZHU Tao,LI Heng-min,TANG Xin-ke,SHANG Da-shai
(The Xi'an Surveying and Mapping Technological Center,Xi'an 710054)
Aiming at the problem of indoor and unknown environment map building,obtains the information of obstacle depth image by the Kinect sen⁃sor,and uses the computational methods of probability grid based on the Bayesian to extract real-time map building under the indoor envi⁃ronment.With the platform of mobile robot,tests the accuracy and validity.
栅格模型;地图构建;栅格地图;Kinect
1007-1423(2017)29-0074-04
10.3969/j.issn.1007-1423.2017.29.018