一种面向长直廊环境的室内地图自动构建系统的制作方法

文档序号:11707064阅读:322来源:国知局
一种面向长直廊环境的室内地图自动构建系统的制作方法与工艺

本发明涉及一种面向长直廊环境的室内地图自动构建系统。



背景技术:

室内地图自动构建技术一直是机器人自主移动导航领域的研究热点。地图自动构建技术通常需要借助机器人底盘编码器、视觉里程计和激光测距仪等数据用于判断实际的距离与大小,然而在长直廊环境场景下,由于两侧墙体相似度高,受特征点稀少、环境相似度较高等因素影响,使得现有技术并不能较为精确地完成长直廊环境下地图的构建,尤其是在长廊的长度计算上有较大误差。

目前世界上几种流行的二维激光建图算法,如gmapping、hectorslam等,由于二维激光数据特征较少,在长直廊环境下容易误将机器人直线运动判定为编码器里程计漂移,从而导致算法重新定位机器人位置,导致最后建立的直廊地图长度相较于真实距离短,且会出现重叠的情况。

因此,如何提高长直廊场景下的建图精度,已成为目前亟需的一个问题。



技术实现要素:

本发明要解决的技术问题是提供一种面向长直廊环境的室内地图自动构建系统,与传统的建图构建系统相比,本发明在长直廊环境下能有效提高建图精度,减少了因建图算法的回环检测误差所造成的长直廊环境下地图长度出现短缺和弯曲的问题。

为解决上述问题,本发明采用的技术方案由机器人本体(1)、视觉采集装置(2)、自动伸缩支架(3)、激光测距仪(4)、控制器(5)组成,其特征在于,视觉采集装置(2)通过自动伸缩支架(3)安装在机器人本体(1)上,机器人本体(1)由驱动轮(11)、支撑轮(12)、底板(13)、第二层夹板(14)、顶层夹板(15)构成,控制器(5)安装在底层夹板(13)之上,激光测距仪(4)安装于第二层夹板(14)之上,机器人的底板(13)安装有直流电机(131)和编码器(132)。

所述的视觉采集装置(2)由rgbd摄像头(22)、底层支撑板(23)、u型支撑架(24)、顶层支撑板(25)、单轴舵机(26)和双轴舵机(27)构成;底层支撑板(23)可通过单轴舵机(26)带动u型支撑架(24)沿偏摆方向进行360度旋转,u型支撑架(24)可通过双轴舵机(27)带动顶层支撑板(25)沿俯仰方向进行±45度旋转,顶层支撑板(25)通过安装孔固定在双轴舵机(27)上,底层支撑板(23)可以通过带齿导轨(31)固定在升降板(32)上。

所述的机器人本体(1)上设有自动伸缩支架(3),支架上设有带齿导轨(31)、升降板(32)及环形支撑架(342),环形支撑架(342)通过安装孔固定于机器人的顶层夹板(15)之上,电机支撑架(341)通过焊接的方式固定在环形支撑架(342)上,步进电机(332)通过定位螺丝(343)固定在电机支撑架(341)上,并通过齿轮(331)啮合实现视觉采集装置(2)的升降功能,带齿导轨(31)竖直安装,通过滚动轴承(311)与环形支撑架(342)连接;两个步进电机(332)、单轴舵机(26)、双轴舵机(27)、直流电机(131)与控制器(5)的输出端连接,激光测距仪(4)、rgbd摄像头(22)和编码器(132)与控制器(5)的输入端连接,控制器(5)能够同时控制自动伸缩支架(3)和直流电机(131),以及能够实时获取激光测距仪(4)、rgbd摄像头(22)和编码器(132)的数据。

所述的控制器(5)通过激光测距仪(4)采集周围环境的深度信息,激光测距仪旋转360度共产生360个深度数据(p1,p2...pn)及与其一一匹配的360个角度数据(a1,a2...an),控制器(5)以机器人当前朝向为y轴正方向,建立符合右手准则的笛卡尔坐标系,将当前获得的深度数据和角度数据进行二维重建,所有的深度数据通过连接相邻数据得到n-1组线段,计算不同线段之间的夹角,若两线段夹角小于5度则判定这两条线段在同一线段组内,采用最小二乘法对采集到各信息点的位置坐标进行拟合得到线段组,并计算不同线段之间的夹角,如果两条线段相距的最小距离大于机器人本体最大宽度且倾角相差小于5度,则判定机器人进入长直廊环境。

进入长直廊环境后,控制器(5)调节自动伸缩支架(3)并驱动单轴舵机(26),通过视觉采集装置(2)采集周围环境图像信息及深度信息,采用栅格地图的方式构建整体地图,栅格最小单位为0.04m²。

机器人在长直廊环境下的建图方法,包括以下步骤:步骤1:当机器人判定自身进入直廊环境后,将当前位置坐标点标为d1点,并将机器人所经过的所有栅格点按照增序标号(d1,d2...dn),用以检测该栅格点是否访问过,并采集里程计信息,进行长廊建图模式初始化。

步骤2:rgbd摄像头(22)由机器人的前进方向为起点,通过自动伸缩支架(3)控制视觉采集装置(2)分别运动到自动伸缩支架(3)的最高点、中间点及最低点位置。

步骤3:在每一个位置高度,以机器人前进方向为正方向,通过单轴舵机(26)控制rgbd摄像头(31)分别向左、向右转动45度采集图像及深度信息,共获取六组不同高度及方位的环境信息。

步骤4:采用surf算法对采集到的数据进行特征描述子提取,并进行三角化特征点匹配,结合rgbd摄像头(22)的旋转角度,将获取到的六组数据进行点云拼接,组成一个点云帧。

步骤5:根据电机编码器(132)的反馈信息控制机器人从当前栅格地图d1点移动到机器人前进方向的相邻栅格地图d2点,记录下栅格偏移量为t1,栅格偏移量按照增序编号(t1,t2...tn),再重复步骤2-4,得到第二个点云帧。

步骤6:将步骤3、步骤4得到的两个点云帧进行特征描述子匹配,进行粗拼接,筛去非水平匹配特征描述子,通过icp算法进行精细拼接,对筛选后的匹配子几何计算平均距离值,计算出步骤3、步骤4两个点云帧间机器人运动的距离,并按照增量编号(m1,m2...mn)。

步骤7:将完成建图后生成的所有栅格偏移量(t1,t2...tn)以及计算得到的距离(m1,m2...mn)分别计算标准偏差s1、s2,并比较二者大小,选择其中标准偏差值较小的一组数据作为建图里程计数据,修正整体构建地图。

附图说明

图1为系统整体示意图。

图2为视觉采集装置。

图3为图1中所示电机支架及带齿导轨连接部分的细节图。

图4为图1中所示底盘运动系统。

图5为机器人在栅格地图中运动的示意图。

具体实施方式

下面结合附图对本发明的一种实施例做进一步说明。

如图1所示,本发明实施例中的一种面向长直廊环境的室内地图自动构建系统,包括机器人本体(1)、视觉采集装置(2)、自动伸缩支架(3)、激光测距仪(4)和控制器(5),其中,自动伸缩支架(3)安装在机器人本体(1)顶层夹板(15)的两侧,带齿导轨(31)竖直安装,升降板(32)通过两端凹槽与带齿导轨(31)啮合实现固定;机器人可通过控制器(5)控制步进电机(332)带动齿轮(331),通过啮合传动来驱动带齿导轨(31),带动升降板(32)垂直于水平面运动;激光测距仪(4)安装在机器人第二层夹板(14)上,控制器(5)安装在机器人底板(13)上,环形支撑架(342)固定在机器人顶层夹板(15)上,电机支撑架(341)通过焊接方式固定在环形支架(342)前侧。

本发明实施例中,激光测距仪(4)能够采集二维平面平面内360度范围内的距离信息,扫描频率为20hz,探测范围为:0.15~6m;精度:±50mm;控制器(5)为高性能嵌入式控制板;视觉采集装置(2)由rgbd摄像头和一个二自由度云台组成,摄像头通过usb接口与控制器(5)连接;步进电机(332)与控制器(5)的输入端连接。

如图2所示,本发明实施例中视觉采集装置(2),包括底层支撑板(23)、u型支撑架(24)和顶层支撑板(25),单轴舵机(26)和双轴舵机(27);控制器(5)与单轴舵机(26),双轴舵机(27)通过杜邦线连接,可通过控制算法控制单轴舵机(26)带动u型支撑架(24)进行360度转动,从而使rgbd摄像头(22)达到沿偏摆方向旋转的效果;同理,控制器(5)可控制双轴舵机(27)俯仰旋转,使rgbd摄像头(22)达到沿俯仰方向旋转的效果。

如图3所示,本发明实施例中机器人的自动伸缩支架(3),包括带齿导轨(31)、升降板(32)、滚动轴承(311)、齿轮(331)、步进电机(332)、电机支撑架(341)、环形支撑架(342)及螺丝(343),环形支撑架(342)通过安装孔固定于机器人的顶层夹板(15)之上,电机支撑架(341)通过焊接的方式固定在环形支撑架(342)上,步进电机(332)通过定位螺丝(343)固定在电机支撑架(341)上,并通过齿轮(331)啮合实现视觉采集装置(2)的升降功能,带齿导轨(31)竖直安装,通过滚动轴承(311)与环形支撑架(342)连接。

如图4所示,本发明实施例中机器人的底盘运动系统,包括两个驱动轮(11)、两个支撑轮(12)、两个直流电机(131)和两个编码器(132)组成;控制器(5)通过采集编码器数据来计算机器人的运动距离:

(1)

其中:△x为机器人x轴方向前进距离,

r为机器人驱动轮(11)的半径,

△t为单位采样时间,

△wl,△wr分别为机器人在单位采样时间内运动的距离,

θ为机器人旋转角度。

本发明实施例中,激光测距仪的消息分为角度信息和深度信息,控制器(5)可由此计算出以机器人当前位置为原点的二维坐标系下每个激光点数据相对于机器人的唯一位置,并对激光测距仪(4)的深度数据信息进行拟合,得到不同线段组,拟合具体方法为:

(2)

其中:xi,yi,xi+1,yi+1为相邻激光数据的二维坐标,以机器人当前位置为二维坐标系原点,ωi为激光数据i+1与激光数据i的夹角;

若相邻的ωi相差小于5度,则认定这两点在一条线段内,并得到线段组,如果两条线段相距的距离大于机器人本体最大宽度且倾角相差小于5度,则判定机器人进入长直廊环境。

方法具体包括以下步骤:

步骤1:机器人采用栅格地图方式存储地图,即每个栅格点为正方形,本发明实例中栅格地图分辨率为0.2m,即每个栅格点面积为0.04m²;机器人将自身进入直廊环境的坐标点在已有地图上标记为d1,并按照增序标记新经过的栅格点(d1,d2...dn),若栅格点已访问过则跳过;

步骤2:控制器(5)通过发送一系列指令,控制自动伸缩支架(3)以及升降板(32)使rgbd摄像头(22)到达相对于机器人本体(1)坐标系不同的位姿,分别为自动伸缩支架(3)的最高点、中间点及最低点;

步骤3:rgbd摄像头在不同的三个高度以机器人前进方向为中轴线,由控制器(5)控制可旋转摄像头支撑台(32)分别向左向右各旋转45度,从而采集到高度不同的6组点云数据,按照顺序为不同方位的点云数据编号,为下一步拼接点云帧做准备;

步骤4:将步骤3中获取的6组点云帧数据分别依照surf算法进行特征描述子的提取,并结合自动伸缩支架(3)升降距离和单轴舵机(26)的旋转角度,可得到不同组点云数据之间的旋转角度和平移距离,从而进行点云拼接,点云拼接公式为:

其中:t为点云位置转换时所用的变换矩阵,

r3x3是3x3的旋转正交矩阵,为计算所得的相机旋转状态,即单轴舵机(26)转动角度,

t3x1为3x1的位移矩阵,为计算出相机平移距离,即为自动伸缩支架(3)的升降距离,

o1x3为1x3的变换矩阵,记录不同组图像间图像缩放比例;

步骤5:如图4所示,控制器(5)计算出当前距离机器人最近的栅格,并标记为d2,将电机编码器(132)反馈的解算值作为栅格偏移量的数据t1,栅格偏移量按照增序编号(t1,t2...tn),t1为栅格d1中心到栅格d2中心距离的差值;

步骤6:将相邻两个位置的点云帧数据分别依据surf算法提取特征点,生成特征点数据集c1、c2,由于机器人水平移动,故将c1、c2数据集中匹配特征点纵向偏移量超过3cm的匹配数据删除,将过滤后的数据集通过icp算法进行精细拼接,得到精细滤波后的数据集c1、c2,计算c1、c2数据集中匹配子的偏移量,生成集合v,计算集合v的平均值,得到相邻两个栅格位置d1、d2的距离m1,并按照增序编号(m1,m2...mn);

步骤7:重复步骤1到步骤6,进行自动地图构建;建图完成后,共得到所有栅格偏移量(t1,t2...tn)和运动距离(m1,m2...mn),分别计算标准偏差s1、s2,其公式为:

其中:s为标准偏差值,

n为采集数据总量,

xi代表栅格偏移量集合ti和运动距离集合mi,

μ为xi集合的均值;

s1与s2中数值越小表示对应数据集越稳定,采取标准偏差值小的一组数据,作为机器人标准运动数据输入,生成最后的地图。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1