机器人障碍物地图的构建方法、装置、机器人及存储介质与流程

文档序号:26547674发布日期:2021-09-07 23:49阅读:125来源:国知局
机器人障碍物地图的构建方法、装置、机器人及存储介质与流程

1.本技术涉及机器人地图构建技术领域,尤其涉及一种机器人障碍物地图的构建方法、装置、机器人及存储介质。


背景技术:

2.机器人越来越多的使用在各种场所。比如,清洁机器人作为一种能够自动对地面进行清扫的智能家居电器,可以减少用户的家务负担,越来越受到消费者的认可和得到广泛的应用。而清洁机器人对于环境的地图构建是执行清扫工作的基础。
3.现有技术中,在利用局部栅格地图对全局栅格地图进行更新时,无论局部栅格地图的对应栅格内容为何种形式,都是采用同样的方式进行更新,并没有将栅格内容考虑在内,因此容易出现地图更新不准确的情况。


技术实现要素:

4.本技术的目的在于提供一种机器人障碍物地图的构建方法、装置、机器人及存储介质,能够使地图更新更加准确。
5.为了实现上述目的,本技术提供了一种障碍物地图的构建方法,包括:
6.构建局部栅格地图,所述局部栅格地图由栅格组成,所述栅格携带栅格内容;
7.将所述局部栅格地图与前一次更新的全局栅格地图融合形成更新后的全局栅格地图,其中,根据所述局部栅格地图的栅格内容确定地图更新策略,根据所述地图更新策略对所述前一次更新的全局栅格地图进行更新。
8.可选地,所述根据所述局部栅格地图的栅格内容确定地图更新策略,包括:
9.如果所述局部栅格地图中障碍物类型被标记为第一类型障碍物的栅格位于所述前一次更新的全局栅格地图的范围内,则只更新该栅格而不更新所述机器人至该栅格的沿路栅格;
10.如果所述局部栅格地图中障碍物类型被标记为第二类型障碍物的栅格位于所述前一次更新的全局栅格地图的范围内,更新该栅格和所述机器人至该栅格的沿路栅格。
11.可选地,第一类型障碍物为悬挂型障碍物;第二类型障碍物为凸起障碍物、凹陷障碍物或地面型障碍物。
12.可选地,所述栅格内容包括障碍物高度,所述悬挂型障碍物对应的障碍物高度为障碍物最小高度;
13.可选地,所述凸起障碍物或所述凹陷障碍物对应的障碍物高度为障碍物最大高度;
14.所述地面型障碍物对应的障碍物高度为障碍物最大高度。
15.可选地,所述悬挂型障碍物的最小高度大于或大于等于第一预设高度值,所述第一预设高度值小于所述机器人的高度;
16.所述凸起障碍物或所述凹陷障碍物的最大高度大于或大于等于第二预设高度值,
所述第二预设高度值小于所述第一预设高度值;
17.所述地面型障碍物的最大高度小于或小于等于所述第二预设高度值。
18.可选地,所述栅格内容包括栅格占据概率、障碍物类型和障碍物高度,所述方法还包括:
19.将所述栅格占据概率、所述障碍物类型和障碍物高度转化成对应栅格的灰度值;
20.根据所述灰度值将所述局部栅格地图进行可视化处理。
21.可选地,所述方法还包括:
22.以所述机器人的当前位姿为中心,在所述全局栅格地图中提取机器人周围区域内的障碍物点云数据,所述障碍物点云数据包括以下至少一种:栅格占据概率、障碍物高度、高度方差、障碍物类型;
23.输出所述障碍物点云数据。
24.本技术还提供了一种机器人障碍物地图的构建装置,包括:
25.构建模块,用于构建局部栅格地图,所述局部栅格地图由栅格组成,所述栅格携带栅格内容;
26.更新模块,用于将所述局部栅格地图与前一次更新的全局栅格地图融合形成更新后的全局栅格地图,其中,根据所述局部栅格地图的栅格内容确定地图更新策略;根据所述地图更新策略对所述前一次更新的全局栅格地图进行更新。
27.本技术还提供了一种机器人,包括:
28.处理器;
29.存储器,其中存储有所述处理器的可执行指令;
30.其中,所述处理器配置为经由执行所述可执行指令来执行如前所述的机器人障碍物地图的构建方法。
31.本技术还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如前所述的机器人障碍物地图的构建方法。
32.本技术还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该电子设备执行上述机器人障碍物地图的构建方法。
33.本技术的机器人障碍物地图的构建方法中,通过构建局部栅格地图,将局部栅格地图与前一次更新的全局栅格地图融合形成更新后的全局栅格地图,根据局部栅格地图中的栅格所携带的栅格内容确定地图更新策略,再根据所确定的地图更新策略对前一次更新的全局栅格地图进行更新,能够使地图更新更加准确。
附图说明
34.图1是本技术实施例障碍物地图的构建方法的流程示意图。
35.图2是本技术实施例局部栅格地图与前一次更新的全局栅格地图融合的流程示意图。
36.图3是本技术实施例障碍物地图的构建装置的示意框图。
37.图4是本技术实施例机器人的示意框图。
具体实施方式
38.为了详细说明本技术的技术内容、构造特征、实现的效果,以下结合实施方式并配合附图详予说明。
39.如图1所示,本技术公开了一种障碍物地图的构建方法,包括:
40.100、构建局部栅格地图,局部栅格地图由栅格组成,栅格携带栅格内容。
41.在本实施例中,可通过传感器(例如,双目传感器)获取机器人周围的深度图像,将深度图像投射到3d点云空间,根据从3d点云空间提取的点云数据与机器人的激光雷达数据融合形成局部栅格地图,栅格中所携带的栅格内容从点云数据中获取。当然,本技术中构建局部栅格地图的方法不局限于上述具体实施例,比如,也可以通过机器人的激光雷达结合其他传感器来形成局部栅格地图。
42.其中,栅格内容可包括以下至少一种:栅格占据概率、障碍物类型和障碍物高度等等,栅格占据概率是指目标像素在栅格中的占据概率,目标像素可以为障碍物的像素点或者非障碍物的像素点;障碍物类型可以采用不同方式进行表示,具体地,可采用类型标识表示栅格中的障碍物类型,例如,可采用0表示没有障碍物、1表示悬挂障碍物、2表示凸起(凹陷)障碍物等等,本技术不做限制;不同类型的障碍物,可采用不同的高度数据作为障碍物高度,具体地,悬挂型障碍物对应的障碍物高度为障碍物最小高度;所述凸起障碍物或所述凹陷障碍物对应的障碍物高度为障碍物最大高度;所述地面型障碍物对应的障碍物高度为障碍物最大高度,通过采用不同高度数据来记录对应障碍物类型的障碍物高度,可以更加合理地利用障碍物高度控制机器人进行避障、导航,从而针对不同类型的障碍物进行有效地避障和导航。
43.200、将局部栅格地图与前一次更新的全局栅格地图融合形成更新后的全局栅格地图,其中,根据局部栅格地图的栅格内容确定地图更新策略,根据地图更新策略对前一次更新的全局栅格地图进行更新。
44.其中,前一次更新的全局栅格地图可以是根据不同区域的局部栅格地图融合形成的全局栅格地图,具体地,初始构建的局部栅格地图的尺寸有限,随着机器人移动,地图覆盖范围会外扩,机器人移动至不同位置,可获取定位数据(例如,激光雷达数据),进而,根据不同位置的定位数据将不同区域的局部栅格地图进行融合,得到初始的全局栅格地图。考虑到机器人所处环境会发生变化,例如会有障碍物出现、消失等情况,机器人可对已经生成的全局栅格地图进行更新。
45.具体地,根据局部栅格地图的栅格内容确定地图更新策略,可基于栅格内容里面栅格占据概率、障碍物类型和障碍物高度等信息更加灵活地对全局栅格地图进行更新,提高地图准确度,并基于更新后的全局栅格地图,对障碍物等进行避障,以及基于更新后的全局栅格地图更加准确地进行导航。
46.可选地,上述步骤200中,根据局部栅格地图的栅格内容确定地图更新策略,可包括:
47.如果局部栅格地图中障碍物类型被标记为第一类型障碍物的栅格位于前一次更新的全局栅格地图的范围内,则只更新该栅格而不更新机器人至该栅格的沿路栅格。
48.如果局部栅格地图中障碍物类型被标记为第二类型障碍物的栅格位于前一次更新的全局栅格地图的范围内,更新该栅格和机器人至该栅格的沿路栅格。
49.本技术中,“沿路栅格”指的是从机器人当前占据的栅格到障碍物占据的栅格之间所经过的所有栅格,例如,可以是机器人当前占据的栅格与障碍物占据的栅格之间的直线所经过的所有栅格。其中,对于利用双目传感器获取深度图的机器人而言,即双目传感器至障碍物占据的栅格的视线所经过的所有栅格。
50.具体实施中,障碍物类型被标记为第一类型障碍物时,只更新该栅格而不更新机器人至该栅格的沿路栅格;障碍物类型被标记为第二类型障碍物时,更新该栅格和机器人至该栅格的沿路栅格。从而,当障碍物类型为第一类型障碍物时,相比于该栅格和机器人至该栅格的沿路栅格都进行更新,只更新该栅格,可减少更新内容,提高地图更新速率,不会影响对地图信息的更新效果。
51.可选地,第一类型障碍物为悬挂型障碍物,第二类型障碍物为凸起障碍物、凹陷障碍物或地面型障碍物。
52.其中,对于位于前一次更新的全局栅格地图范围内的局部栅格地图中的悬挂型障碍物,若在局部栅格地图中机器人至该栅格之间的沿路栅格有其他障碍物,比如凸起障碍物或凹陷障碍物,会对凸起障碍物或凹陷障碍物到悬挂型障碍物之间的区域形成遮挡,则在局部栅格地图中对于凸起障碍物或凹陷障碍物到悬挂型障碍物之间的栅格的栅格内容是无法确定的,因此不对悬挂型障碍物的沿路栅格进行更新而只更新该栅格,可以起到防止误判的作用,进而能够使地图更新更加准确。
53.对于位于前一次更新的全局栅格地图范围内的局部栅格地图中的凸起障碍物、凹陷障碍物或地面型障碍物,在局部栅格地图中能够确定机器人至该栅格之间的沿路栅格的栅格内容,不会产生误判,因此对凸起障碍物、凹陷障碍物或地面型障碍物的沿路栅格进行更新。
54.具体地,局部栅格地图的栅格内容包括障碍物高度,悬挂型障碍物对应的障碍物高度为障碍物最小高度;凸起障碍物或凹陷障碍物对应的障碍物高度为障碍物最大高度,地面型障碍物对应的障碍物高度为障碍物最大高度。对于凹陷障碍物而言,障碍物最大高度指的是其深度。
55.通过针对不同类型的障碍物,设置不同的高度数据作为障碍物高度,可在机器人进行避障或导航等过程中,基于障碍物高度有针对性地对障碍物进行避障或者基于障碍物高度进行导航,具体地,针对悬挂型障碍物,障碍物高度为障碍物最小高度,则可根据障碍物最小高度来进行避障或导航;针对凸起障碍物、凹陷障碍物或地面型障碍物,障碍物高度为障碍物最大高度,则可根据障碍物最大高度进行避障或导航,减少机器人移动过程中卡住,掉落悬崖等风险。
56.其中,悬挂型障碍物的最小高度大于或大于等于第一预设高度值,第一预设高度值小于机器人的高度;凸起障碍物或凹陷障碍物的最大高度大于或大于等于第二预设高度值,第二预设高度值小于第一预设高度值;地面型障碍物的最大高度小于或小于等于第二预设高度值。
57.通过上述技术手段,通过障碍物高度即可进行障碍物的分类,无需对障碍物进行具体的识别。
58.在一些实施例中,栅格携带的栅格内容包括栅格占据概率、障碍物类型和障碍物高度,障碍物地图的构建方法还包括:
59.110、将栅格占据概率、障碍物类型和障碍物高度转化成对应的栅格的灰度值。
60.120、根据灰度值将局部栅格地图进行可视化处理。
61.通过根据灰度值将局部栅格地图进行可视化处理,可更加直观地展示栅格占据概率、障碍物类型和障碍物高度等栅格内容,便于进行查看。
62.在一些实施例中,栅格内容包括栅格占据概率、障碍物类型、障碍物高度和高度方差,障碍物类型、障碍物高度和高度方差从3d点云空间中的点云数据中获取并被标记在局部栅格地图的对应栅格中,其中从点云数据中获取的高度方差为:
[0063][0064]
其中,f为双目传感器的焦距,z
c
为栅格的纵坐标,高度值方差与横坐标方差δx
c
、纵坐标方差δy
c
大小基本相等。
[0065]
栅格内容中的栅格占据概率可根据点云数据和逆传感器模型计算得到,栅格占据概率的计算公式为:
[0066][0067][0068]
其中,先验概率为栅格的栅格占据概率,l(s(l))为对数占据概率,l(s(l))为正数时表示栅格被占据,l(s(l))为负数时表示栅格未被占据,l(s(l))为零时表示栅格占据状态未知,l
p
为机器人到障碍物的距离,l为机器人到栅格的距离,δl
p
为l
p
的误差。通过逆传感器模型计算栅格的栅格占据概率能够最大限度利用点云数据。当然,本技术障碍物地图的构建方法对于栅格占据概率的计算方式不以上述实施例为限。
[0069]
进一步地,请参阅图2,将局部栅格地图与前一次更新的全局栅格地图融合形成更新后的全局栅格地图包括:
[0070]
210、将局部栅格地图中栅格标记的障碍物类型更新到全局栅格地图的对应栅格中。
[0071]
220、根据局部栅格地图的栅格中的障碍物高度、高度方差和前一次更新的全局栅格地图中对应栅格的障碍物高度、高度方差,采用卡尔曼滤波对所需更新的栅格的障碍物高度进行更新,具体地,
[0072][0073]
其中,μ
0:t
为更新后的障碍物高度,h
t
、分别为局部栅格地图中的栅格的障碍物
高度和高度方差,μ
0:t
‑1、分别为上一次更新的全局栅格地图中对应栅格的障碍物高度和高度方差。
[0074]
230、根据局部栅格地图中栅格的栅格占据概率和前一次更新的全局栅格地图中对应栅格的栅格占据概率,采用贝叶斯滤波对所需更新的栅格的栅格占据概率进行更新;具体地,
[0075][0076][0077]
其中,p(n|s
0:t
,z
0:t
)为更新后的栅格占据概率,l
t,n
为更新后的对数占据概率,l
t

1,n
为更新前的对数占据概率,p(n|s
t
,z
t
)为局部栅格地图中栅格的栅格占据概率,p(n)为先验概率即初始时栅格的占据概率。通过贝叶斯滤波对栅格占据概率进行更新,能够很好的融合前一次更新的全局栅格地图的栅格占据概率和当前局部栅格地图的栅格占据概率。当然,对于栅格占据概率的更新,不限于本实施例的贝叶斯滤波,还可采用替换等方式对栅格占据概率进行更新。
[0078]
240、根据局部栅格地图中的栅格的高度方差和全局栅格地图中对应栅格的高度方差,采用卡尔曼滤波对所需更新的栅格的高度方差进行更新;具体地,
[0079][0080]
通过卡尔曼滤波对障碍物高度和高度方差进行更新,对内存要求低、运算速度快且能够提高障碍物高度和高度方差的精确度。当然,本技术的障碍物地图的构建方法中,不限于通过卡尔曼滤波对障碍物高度和高度方差进行更新,还可采用均值方式等方法对障碍物高度进行滤波。
[0081]
在一些实施例中,请参阅图1,障碍物地图的构建方法还包括:
[0082]
300、以机器人的当前位姿为中心,将全局栅格地图中提取机器人周围区域内的障碍物点云数据,障碍物点云数据包括以下至少一种:障碍物占据概率、障碍物高度、高度方差、障碍物类型。
[0083]
400、输出障碍物点云数据。
[0084]
其中,输出的障碍物点云数据可以应用在机器人的路径规划中,相对于直接输出三维全局栅格地图,可以降低对机器人路径规划模块运行内存的要求。
[0085]
在一些实施例中,本技术的局部栅格地图和全局栅格地图的分辨率为1cm,初始时,全局栅格地图的大小为4m
×
4m,后续随着机器人的移动,局部栅格地图融合前一次更新的全局栅格地图形成更新后的全局栅格地图,全局栅格地图会不断扩大。当然,本技术对于局部栅格地图和全局栅格地图的初始大小和分辨率的设置不以本实施例为限,可根据实际需求进行设置。
[0086]
本技术进行机器人障碍物地图的构建时,将构建的局部栅格地图与前一次更新的
全局栅格地图融合形成更新后的全局栅格地图,其中,根据局部栅格地图的栅格内容确定地图更新策略,根据地图更新策略对前一次更新的全局栅格地图进行更新,能够使地图更新更加准确。
[0087]
如图3所示,本技术还公开了一种机器人障碍物地图的构建装置,包括:
[0088]
构建模块10,用于构建局部栅格地图,局部障碍物地图由栅格组成,栅格携带有栅格内容。
[0089]
更新模块20,用于根据局部栅格地图与前一次更新的全局栅格地图融合形成更新后的全局栅格地图,其中,根据局部栅格地图的栅格内容确定地图更新策略,根据地图更新策略对前一次更新的全局栅格地图进行更新。
[0090]
本技术的机器人障碍物地图的构建装置中,通过构建模块10构建局部栅格地图,更新模块20将局部栅格地图与前一次更新的全局栅格地图融合形成更新后的全局栅格地图,根据局部栅格地图中的栅格所携带的栅格内容确定地图更新策略,再根据所确定的地图更新策略对前一次更新的全局栅格地图进行更新,能够使地图更新更加准确。
[0091]
如图4所示,本技术还公开了一种机器人,包括处理器30和存储器40,存储器40中存储有处理器30的可执行指令,其中,处理器30被配置为经由可执行指令来执行如前所述的机器人障碍物地图的构建方法。
[0092]
本技术还公开了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如前所述的机器人障碍物地图的构建方法。
[0093]
本技术实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该电子设备执行上述机器人障碍物地图的构建方法。
[0094]
应当理解,在本技术实施例中,所称处理器可以是中央处理模块(centralprocessing unit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digitalsignal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field

programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0095]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read

only memory,rom)或随机存储记忆体(random accessmemory,ram)等。
[0096]
以上所揭露的仅为本技术的较佳实例而已,其作用是方便本领域的技术人员理解并据以实施,当然不能以此来限定本技术的之权利范围,因此依本技术的申请专利范围所作的等同变化,仍属于本技术的所涵盖的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1