CN117804420A - 一种基于多层地图的机器人导航方法及系统 - Google Patents
一种基于多层地图的机器人导航方法及系统 Download PDFInfo
- Publication number
- CN117804420A CN117804420A CN202211164874.1A CN202211164874A CN117804420A CN 117804420 A CN117804420 A CN 117804420A CN 202211164874 A CN202211164874 A CN 202211164874A CN 117804420 A CN117804420 A CN 117804420A
- Authority
- CN
- China
- Prior art keywords
- semantic
- map
- robot
- room
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 80
- 238000001514 detection method Methods 0.000 claims description 23
- 238000010276 construction Methods 0.000 claims description 16
- 238000004422 calculation algorithm Methods 0.000 claims description 13
- 238000005457 optimization Methods 0.000 claims description 12
- 238000013499 data model Methods 0.000 claims description 10
- 239000013598 vector Substances 0.000 claims description 10
- 230000009466 transformation Effects 0.000 claims description 7
- 230000033001 locomotion Effects 0.000 claims description 6
- 238000005070 sampling Methods 0.000 claims description 6
- 238000013178 mathematical model Methods 0.000 claims description 5
- 238000000926 separation method Methods 0.000 claims description 3
- 230000001131 transforming effect Effects 0.000 claims description 3
- 230000003993 interaction Effects 0.000 abstract description 12
- 241000282414 Homo sapiens Species 0.000 description 10
- 230000006872 improvement Effects 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000000605 extraction Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000011218 segmentation Effects 0.000 description 3
- 241001122767 Theaceae Species 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/005—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 with correlation of navigation data from several sources, e.g. map or contour matching
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/3446—Details of route searching algorithms, e.g. Dijkstra, A*, arc-flags, using precalculated routes
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/02—Systems using the reflection of electromagnetic waves other than radio waves
- G01S17/06—Systems determining position data of a target
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/86—Combinations of lidar systems with systems other than lidar, radar or sonar, e.g. with direction finders
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/88—Lidar systems specially adapted for specific applications
- G01S17/89—Lidar systems specially adapted for specific applications for mapping or imaging
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Electromagnetism (AREA)
- Computer Networks & Wireless Communication (AREA)
- Automation & Control Theory (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本发明涉及一种基于多层地图的机器人导航方法及系统,属于机器人导航技术领域,解决了现有导航目标查询慢且无法实现隐式目标点推理的问题。包括基于语义栅格地图,根据机器人的激光雷达采集的激光数据,获取机器人的坐标位置及其语义信息,作为起点位置信息;根据导航指令,获取指令目标和/或位置关系,根据指令目标和/或位置关系,对语义概念地图进行检索,获取语义目标信息;基于语义拓扑地图和语义栅格地图,获取起点位置信息和语义目标信息所对应起点房间和终点房间,并根据起点房间和终点房间在语义概念地图中的对象属性,获取从起点房间到终点房间依次相邻的房间,得到房间语义序列路径,用于机器人的问询类导航。实现了人机自然交互。
Description
技术领域
本发明涉及机器人导航技术领域,尤其涉及一种基于多层地图的机器人导航方法及系统。
背景技术
导航技术主要解决三类问题:(1)我在哪?(2)我要去哪?(3)我怎么去?第一个问题对应机器人的自主定位,第二个问题对应机器人的目标点选择,第三个问题对应机器人的路径规划,包括全局路径规划和局部路径规划。在人机共融的室内环境中,如何更好地满足人机自然交互的要求是值得关注的问题。
现有在无人作业环境中机器人导航主要使用如占据栅格地图、点云地图来完成定位、目标点选择和路径规划任务。然而在人机共融的室内环境中,由于机器人主要与人类交互,使用现有地图难以让机器人完成任务。
在无人作业环境中,机器人通常使用度量地图来获得较为准确的几何坐标。在人机共融环境中,普通用户并不关心机器人的精确几何位置,而是更侧重于所在位置的语义信息。例如,在普通用户与机器人交互时,可能询问机器人当前所在位置,机器人此时的回答应为“我在卧室”、“我在电视旁”等符合人类日常交流的语句。因此,在人机共融环境中,机器人不仅应该能够确定自身的几何位置,还需要对使用者反馈几何位置对应的语义信息。
在无人作业环境中,为机器人设定任务点的几何坐标就完成了目标点选择。而在人机共融环境中,由于普通用户难于理解度量地图,因此,机器人目标点的指定方式应该符合人类的交互习惯。人与人之间普遍采用自然语言交互。随着语音识别技术的发展,人与机器人之间采用自然语言交互也成为了可能。这就要求机器人的地图表达中包含房间、物体等语义概念。此外,每个物体不只是一个文字符号,其背后也蕴含着物体的相关属性。因此,在人机共融环境中,为了以人机自然交互的形式指定机器人的目标点,地图表达应包含房间、物体、属性等语义信息。
在无人作业环境中,机器人路径规划的目的是让机器人快速到达指定位置,从而提高机器人作业效率。在人机共融环境中,机器人不仅需要成功完成导航任务,还需要以人类的认知习惯给出规划结果。
发明内容
鉴于上述的分析,本发明实施例旨在提供一种基于多层地图的机器人导航方法及系统,用以解决现有地图无法满足人机共融环境下的人机自然交互,导航目标查询慢且无法实现隐式目标点推理的问题。
一方面,本发明实施例提供了一种基于多层地图的机器人导航方法,多层地图包括语义栅格地图、语义拓扑地图和语义概念地图;机器人导航方法包括如下步骤:
基于语义栅格地图,根据机器人的激光雷达采集的激光数据,获取机器人的坐标位置及其语义信息,作为起点位置信息;
根据导航指令,获取指令目标和/或位置关系,根据指令目标和/或位置关系,对语义概念地图进行检索,获取语义目标信息;
基于语义拓扑地图和语义栅格地图,获取起点位置信息和语义目标信息所对应起点房间和终点房间,并根据起点房间和终点房间在语义概念地图中的对象属性,获取从起点房间到终点房间依次相邻的房间,得到房间语义序列路径,用于机器人的问询类导航。
基于上述方法的进一步改进,方法还包括:
将起点位置信息中的坐标位置放入目标点集合中;
基于语义概念地图,依次获取房间语义序列路径中的房间,根据当前房间的对象属性,获取与当前房间连接的门,再根据门的数据属性,获取到门中点在语义栅格地图中的坐标位置,依次放入目标点集合中;
根据语义目标信息的数据属性和机器人外形尺寸,获取语义目标信息对应在语义栅格地图中的坐标位置,作为终点位置,将终点位置放入目标点集合中;
基于目标点集合,采用最短路径规划方法,依次规划出相邻两个目标点间的局部路径,用于机器人的运动类导航。
基于上述方法的进一步改进,语义概念地图包括语义概念、语义实例、对象属性和数据属性;语义概念包括房间和物体两类;语义实例包括物体语义实例和房间语义实例;对象属性用于描述语义概念之间,以及语义实例之间的关系,包括:包含、相邻、连接、在里面和邻近;数据属性用于描述语义概念与数据之间的关系,在语义实例中根据语义概念的类型,将对应的数据属性设置为具体的值,数据属性包括:房间包络矩形、房间中心、物体可供区域、物体非可供区域和门的位姿。
基于上述方法的进一步改进,根据指令目标和/或位置关系,对多层地图中的语义概念地图进行检索,获取语义目标信息,包括:
将指令目标作为实例名称进行检索,如果存在该语义实例,且无位置关系,则该语义实例作为语义目标;如果存在该语义实例和位置关系,则将位置关系作为对象属性,将该语义实例的对象属性指向的语义实例作为语义目标;如果不存在该语义实例,则将指令名称作为概念名称进行检索,获取与该语义概念相关且存在语义实例的语义概念,作为关联概念,取关联概念的一个语义实例,作为语义目标信息。
基于上述方法的进一步改进,根据语义目标信息的数据属性和机器人外形尺寸,获取语义目标信息对应在语义栅格地图中的坐标位置,作为终点位置,包括:
根据机器人的外形尺寸,获取机器人的近似外接圆;
根据语义目标信息的数据属性,获取语义目标信息对应在栅格地图的位置区域,在该位置区域中进行随机坐标位置采样,作为近似外接圆的圆心,判断近似外接圆中是否具有占据栅格,如果有,则重新进行随机坐标位置采样,直至近似外接圆中均是可行栅格,则将该随机坐标位置作为终点位置。
基于上述方法的进一步改进,语义栅格地图和语义拓扑地图通过以下步骤构建:
根据机器人累计行程,创建局部地图,根据机器人的激光雷达采集的激光数据,构建和优化基于激光数据的局部地图,根据基于激光数据的局部地图中的未探测栅格,生成导航路径,控制机器人沿导航路径运动;同时,根据机器人的超声波传感器采集的超声波数据,构建基于超声波数据的局部地图;以及,识别机器人的双目视觉传感器采集的图像,获取图像中的物体,利用双目视觉传感器的投影模型,获取各物体语义点云;
当无法生成导航路径,完成全部局部地图的构建和优化后,合并基于激光数据的局部地图得到第一全局地图,合并基于超声波数据的局部地图得到第二全局地图;融合第一全局地图和第二全局地图,得到占据栅格地图;计算各物体语义点云的具有朝向的二维包络矩形,将各包络矩形投影到占据栅格地图,形成语义栅格地图;
基于语义栅格地图和机器人轨迹,采用基于虚拟门检测的拓扑分隔方法,得到房间和门的语义,加入语义栅格地图中,并根据房间和物体的包含关系,生成各房间与物体的拓扑关系,构建出语义拓扑地图。
基于上述方法的进一步改进,根据机器人的激光雷达采集的激光数据,构建和优化基于激光数据的局部地图,包括:
基于因子图优化的SLAM框架,利用迭代最近点的方法,匹配当前帧和上一帧的激光数据,获取两帧之间位姿变换关系作为位姿图中的相邻边,并利用二值贝叶斯占据栅格地图构建方法,构建基于激光数据的局部地图;对基于激光数据的局部地图进行回环检测,构建位姿图中的回环边,利用具有鲁棒核函数的高斯-牛顿图优化方法,优化位姿图和基于激光数据的局部地图。
基于上述方法的进一步改进,根据基于激光数据的局部地图中的未探测栅格,生成导航路径,包括:
提取并连通基于激光数据的局部地图中的未探测栅格,通过边界拟合方法,生成未探测边界;根据机器人外形尺寸,获取机器人的近似外接圆的直径,依次识别未探测边界的长度是否大于直径,如果大于,则获取未探测边界中点;将所有获取的中点作为各目标点,采用最短路径规划方法,生成导航路径。
基于上述方法的进一步改进,根据机器人的超声波传感器采集的超声波数据,构建基于超声波数据的局部地图,包括:
基于弧线模型,根据超声波传感器的散角和距离,得到扇形探测区域;
获取扇形探测区域弧线上的超声波数据,并变换到全局地图坐标系中,作为待评估数据;
基于直线、点和圆的数学模型,根据待评估数据,采用最小二乘拟合算法,进行直线、点和圆的拟合,得到对应的数据模型中的系数向量;
将待评估数据的x坐标作为特征点的x坐标,代入各数据模型中,得到的值作为特征点的y坐标;
特征点占据的栅格为占据栅格,扇形探测区域内排除特征点占据栅格后的栅格为可行栅格,当前局部地图中的剩余栅格为未探测栅格。
另一方面,本发明实施例提供了一种基于多层地图的机器人导航系统,包括:
多层地图构建模块,用于构建语义栅格地图、语义拓扑地图和语义概念地图;
机器人定位模块,用于基于语义栅格地图,根据机器人的激光雷达采集的激光数据,获取机器人的坐标位置及其语义信息,作为起点位置信息;
目标确定模块,用于根据导航指令,获取指令目标和/或位置关系,根据指令目标和/或位置关系,对语义概念地图进行检索,获取语义目标信息;
语义路径获取模块,用于基于语义拓扑地图和语义栅格地图,获取起点位置信息和语义目标信息所对应起点房间和终点房间,并根据起点房间和终点房间在语义概念地图中的对象属性,获取从起点房间到终点房间依次相邻的房间,得到房间语义序列路径,用于机器人的问询类导航。
与现有技术相比,本发明满足人机共融环境下的导航应用,提出了一种基于语义栅格地图、语义拓扑地图和语义概念地图的多层地图的导航方法及系统,至少可实现如下有益效果之一:
1、利用语义概念和栅格地图,实现机器人包含语义和几何位姿信息的快速查询,提升了使用者的交互体验;
2、通过语义概念地图对语义栅格和语义拓扑地图进一步抽象,表征了物体、房间及其空间关系等概念;利用其中表征的已建模物体及已建模物体和未建模目标物体之间的关系,实现隐式目标点的推理,使机器人自动选择非固定目标点;
3、基于概念地图的连接、相邻等属性关系推理和语义拓扑及栅格地图,实现快速全局路径规划和局部路径生成。
本发明中,上述各技术方案之间还可以相互组合,以实现更多的优选组合方案。本发明的其他特征和优点将在随后的说明书中阐述,并且,部分优点可从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过说明书以及附图中所特别指出的内容中来实现和获得。
附图说明
附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件。
图1为本发明实施例1中基于多层地图的机器人导航方法流程图;
图2为本发明实施例1中语义栅格地图构建方法示意图。
具体实施方式
下面结合附图来具体描述本发明的优选实施例,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的原理,并非用于限定本发明的范围。
导航主要包括定位、目标点选择、全局路径规划和局部路径规划。根据机器人是否运动,可将导航任务分为问询和动作两类。问询类导航涉及了定位、目标点选择和全局路径规划,动作类导航还需要涉及局部路径规划。
在人机交互过程中,通过自然语言的方式实现导航任务类型的确定。具体来说,当机器人检测到人类的语音时,通过语音识别算法将语音转换为相应的文本,然后通过自然语言理解技术识别人类意图。当人类意图与机器人导航任务相关时,将根据人类的导航指令对机器人进行导航控制。为了对使用者提供结果反馈,将导航控制的结果用自然语言生成技术来获取对话文本,然后通过语音合成技术,实现机器人的语音反馈。
实施例1
本发明的一个具体实施例,公开了一种基于多层地图的机器人导航方法,实现根据导航指令对机器人进行导航控制。多层地图包括语义栅格地图、语义拓扑地图和语义概念地图,导航方法如图1所示,包括如下步骤:
S11:基于语义栅格地图,根据机器人的激光雷达采集的激光数据,获取机器人的坐标位置及其语义信息,作为起点位置信息;
S12:根据导航指令,获取指令目标和/或位置关系,根据指令目标和/或位置关系,对语义概念地图进行检索,获取语义目标信息;
S13:基于语义拓扑地图和语义栅格地图,获取起点位置信息和语义目标信息所对应起点房间和终点房间,并根据起点房间和终点房间在语义概念地图中的对象属性,获取从起点房间到终点房间依次相邻的房间,得到房间语义序列路径,用于机器人的问询类导航。
实施时,基于语义栅格地图、语义拓扑地图和语义概念地图的多层地图,利用语义概念和栅格地图,实现机器人包含语义和几何位置信息的快速查询,基于概念地图的包含、相邻等属性关系推理和语义拓扑及栅格地图,实现快速全局路径规划。
需要说明的是,本发明中的多层地图中底层为语义栅格地图,中间层为语义拓扑地图,最上层为语义概念地图。首先利用激光雷达和超声波传感器构建语义栅格地图,然后以该地图及物体和房间的包含关系为先验知识,构建房间拓扑地图。考虑到物体语义地图中可能存在识别错误的物体,将以生成的房间概念为约束,改善物体语义栅格地图。为实现机器人自主选择目标点,根据改善后的物体语义栅格地图,生成物体拓扑区域。随后,基于物体拓扑、房间拓扑以及二者的包含关系,建立语义拓扑地图,并将房间拓扑和物体拓扑信息反向增补到语义栅格地图中。最后,依据语义栅格地图和语义拓扑地图,建立语义概念地图。下面将介绍每一层地图的构建方法。
(1)语义栅格地图:在传统占据栅格地图的基础上,添加物体和房间的语义信息。构建步骤包括:
①根据机器人累计行程,创建局部地图,根据机器人的激光雷达采集的激光数据,构建和优化基于激光数据的局部地图,根据基于激光数据的局部地图中的未探测栅格,生成导航路径,控制机器人沿导航路径运动;同时,根据机器人的超声波传感器采集的超声波数据,构建基于超声波数据的局部地图;以及,识别机器人的双目视觉传感器采集的图像,获取图像中的物体,利用双目视觉传感器的投影模型,获取各物体语义点云。
需要说明的是,构建地图的机器人配备的有:双目视觉传感器、激光雷达和超声波传感器,安装在机器人的不同位置。如图2所示,激光雷达和超声波传感器分别会建立占据栅格地图,融合后得到语义栅格地图。机器人在移动构建地图时边定位边构建局部地图,边做回环检测边优化局部地图,并根据构建的局部地图自主规划路径,控制机器人移动。
初始根据机器人累计行程,比如累计行程达到5米时,创建一个局部地图,后续再次创建具体地图的同时进行回环检测,如果识别出不存在回环,就创建新的局部地图,否则就是对原局部地图进行优化。
a)根据机器人的激光雷达采集的激光数据,构建和优化基于激光数据的局部地图,包括:
基于因子图优化的SLAM框架,利用迭代最近点的方法,匹配当前帧和上一帧的激光数据,获取两帧之间位姿变换关系作为位姿图中的相邻边,并利用二值贝叶斯占据栅格地图构建方法,构建基于激光数据的局部地图;对基于激光数据的局部地图进行回环检测,构建位姿图中的回环边,利用具有鲁棒核函数的高斯-牛顿图优化方法,优化位姿图和基于激光数据的局部地图。
具体来说,通过基于迭代最近点的扫描匹配方法,将当前新获得的激光数据与上一帧的激光点云数据进行迭代配准,以获得当前机器人坐标系相对于上一帧坐标系的位置和姿态信息,即两帧之间位姿变换关系,将其作为位姿图中的相邻边。同时,基于此变换关系和采集的激光雷达数据,通过不断的将激光雷达数据变换到局部地图坐标系中,利用二值贝叶斯占据栅格地图构建方法,根据预置的概率识别出栅格标识,对局部地图进行实时增量式构建。
需要说明的是,全局地图坐标系是以机器人上电时的位置为原点的坐标系,局部地图坐标系时以机器人相对于全局地图坐标系的坐标为原点的坐标系。栅格标识包括:占据栅格、可行栅格和未探测栅格。
具体来说,根据激光数据对局部地图进行回环检测,构建位姿图中的回环边,包括:根据位姿图获取机器人当前位姿,基于已构建的基于激光数据的局部地图,机器人当前位姿和此时的激光数据,将激光雷达数据与每个局部地图中栅格标识进行实时匹配,得到是否回环检测成功,若连续回环检测成功的次数达到阈值,将对应的回环检测成功时的机器人位姿到全局地图坐标系的变换关系以回环边的形式加入到位姿图中。
利用具有鲁棒核函数的高斯-牛顿图优化方法,实现位姿图优化,从而平滑机器人的位姿和每个基于激光数据的局部子图。
现有技术中,需要人工遥控机器人去构建地图,本实施例中通过对未探测栅格的进一步处理,利用基于边界探索的主动路径规划方法,生成机器人的导航路径,发送给机器人底盘,控制机器人跟随生成的导航路径,完成跟踪控制。
需要说明的是,根据基于激光数据的局部地图中的未探测栅格,生成导航路径,包括:
提取并连通基于激光数据的局部地图中的未探测栅格,通过边界拟合方法,生成未探测边界;根据机器人外形尺寸,获取机器人的近似外接圆的直径,依次识别未探测边界的长度是否大于直径,如果大于,则获取未探测边界中点;将所有获取的中点作为各目标点,采用最短路径规划方法,生成导航路径。
需要说明的是,设置未探测栅格的集合为未知区域W,占有栅格的集合为障碍区域O,可行栅格的集合为自由区域F,栅格z的邻域δ(z)指的是与栅格z相邻的八个栅格。
局部地图的地图边界指的是局部地图中与未探测栅格相邻的可行栅格。记为自由区域的边界,那么边界栅格的集合表示为:/> 边界栅格的集合中的点将作为边界提取的候选点,根据图像处理中边缘提取算法,通过设置评价函数从边界点集合中选择出最优未探测边界。
同一时刻可以从当前局部地图中提取出多条未探测边界,为防止机器人在运动的过程中与障碍物发生碰撞,剔除未探测长度小于等于机器人直径的边界。
为了在保证算法实时性的前提下提高机器人的自主探索效率,将未探测边界中点放入目标点集合中,以目标点集合中的各个目标点为中心,通过Flood-Fill算法对当前局部地图进行填充,从而计算得到各栅格的距离变换值,距离变换值指的是当前栅格距离最近边界中点的栅格距离。计算出各栅格的距离变换值后,从机器人当前位置出发,沿全局栅格地图距离变换值梯度下降最快的方向进行搜索,选择最先到达的目标点作为机器人下一步运动的目标点,同时在该过程中所经过的栅格即为搜索得到的导航路径。
沿着导航路径运动,当创建了新的局部地图后,根据已构建的局部地图中的未探测栅格,重新获取所有未探测边界的中点,按照最短路径规划方法,生成新的导航路径,控制机器人不断沿导航路径运动,直至未探测边界的中点不符合要求,无法作为目标点进行路径规划为止,也就完成全部局部地图的构建和优化。
本实施例以最优边界中点作为机器人接下来的运动目标点,从而保证机器人朝着可探索到尽可能多未知区域的方向运动。
b)根据机器人的超声波传感器采集的超声波数据,构建基于超声波数据的局部地图。
需要说明的是,超声波传感器作为一种基于测距的环境探测传感器,具有成本低,数据易处理,安装方便,不受光线影响等优势,本实施例利用超声波传感器探测频率高,但机器人移动速度相对较慢,绝大多数物体都会被超声波多次观测到的特点,利用滑动数据窗口,选择弧线模型来对单次观测建模,用扇形定义探测区域,提取特征点,从而提高探测精度。构建步骤包括:
基于弧线模型,根据超声波传感器的散角和距离,得到扇形探测区域;
获取扇形探测区域弧线上的超声波数据,并变换到全局地图坐标系中,作为待评估数据;
基于直线、点和圆的数学模型,根据待评估数据,采用最小二乘拟合算法,进行直线、点和圆的拟合,得到对应的数据模型中的系数向量;
将待评估数据的x坐标作为特征点的x坐标,代入各数据模型中,得到的值作为特征点的y坐标;
特征点占据的栅格为占据栅格,扇形探测区域内排除特征点占据栅格后的栅格为可行栅格,当前局部地图中的剩余栅格为未探测栅格。
具体来说,通过下式表示待评估数据与数据模型的系数向量C的关系:
AC≈b 公式(1)
其中,单次扇形探测区域观测到的待评估数据的数量是m个,系数向量C维度是n,则公式中A是m×n矩阵,b是m维向量,A和b来源于待评估数据的x坐标和y坐标。
如表1所示,列出了直线、点和圆的数学模型,以及计算不同数据模型中的系数向量时,所对应的A和b的形式。
表1数学模型的最小二乘拟合算法
在确定了各数据模型的系数向量后,将待评估数据的x坐标作为特征点的x坐标,代入各数据模型中,得到的值作为特征点的y坐标,包括:
如果是直线模型,通过待评估数据的x坐标,和得到的y坐标,确定直线模型对应的线段长度,线段上的点为特征点;
如果是点模型,在求解系数向量时就能得到特征点的x坐标和y坐标;
如果是圆模型,将求解出的系数向量代入到方程中,可以确定圆的圆心和半径参数,圆弧长上的点为特征点。
c)识别机器人的双目视觉传感器采集的图像,获取图像中的物体,利用双目视觉传感器的投影模型,获取各物体语义点云。
需要说明的是,物体是指室内环境中不经常移动典型常见的物体,优选地,选择不经常移动且与房间类型有关,可以用于确定房间语义的物体。示例性地,物体包括:床、沙发、洗手池、坐便器、微波炉和烤箱;包含床的房间为卧室,包含沙发的房间为客厅,包含洗手池和坐便器的房间为卫生间,包含微波炉和烤箱的房间为厨房;还可以选择不经常移动但无法体现在占据栅格地图中,但是在人机交互中会涉及到物体,比如:杯子和纸巾,这些一般放在桌上,但是在栅格占据地图中一般只会标识出桌子。
示例性地,采用Mask R-CNN物体语义分割方法识别RGB-D图像,获取室内物体的像素区域和语义标签;基于激光雷达传感器数据对应的机器人位姿,利用双目视觉传感器的投影模型,获取物体的语义点云。
②当无法生成导航路径,完成全部局部地图的构建和优化后,合并基于激光数据的局部地图得到第一全局地图,合并基于超声波数据的局部地图得到第二全局地图;融合第一全局地图和第二全局地图,得到占据栅格地图;计算各物体语义点云的具有朝向的二维包络矩形,将各包络矩形投影到占据栅格地图,形成语义栅格地图。
需要说明的是,融合第一全局地图和第二全局地图,得到占据栅格地图,包括:
获取第一全局地图和第二全局地图中相同位置但标识不同的栅格,如果该栅格存在占据栅格的标识,则该栅格为占据栅格;如果该栅格被标识为可行栅格和未探测栅格,则该栅格为可行栅格。
针对获取的物体的语义点云,计算各物体语义点云的具有朝向的二维包络矩形,将各包络矩形投影到占据栅格地图,形成语义栅格地图,包括:
首先,通过点云滤波方法,去除点云噪声,消除错误识别结果;
然后,采用基于霍夫变换的线段提取方法,提取占据栅格地图中的线段;然后以每个线段的长度为票数,以5°分辨率的离散角度为投票箱,采用投票方法,将每个线段的方向投到对应的投票箱中,然后统计每个离散角度的累计线段长度,并将具有最大长度的方向作为一个房间方向,将与之近似垂直的方向作为第二个房间主方向。
最后,基于物体语义点云和房间主方向,生成具有物体朝向的包络矩形,然后将这些包络矩形投影在栅格地图上,实现带有物体语义的语义栅格地图的构建。
本实施例采用包络矩形确定物体的具体形状,可以更好地标识环境中的物体,获取每个物体的语义度量信息,便于后续计算每个物体的可供区域和不可供区域,为机器人导航中目标点的选择打好基础。
在栅格地图中添加语义信息,能够把时间复杂度降低为O(1),极大提高机器人的查找速度,提升使用者的交互体验。此外,考虑到机器人目标点一般位于可行栅格,而人的导航指令目标点则通常与物体相关,在栅格地图中物体却表现为障碍物。为此,提出的语义栅格地图不仅描述了障碍物的语义信息,还引入了物体的可供属性,对物体周围的可行栅格赋予语义信息,使得机器人能够理解自然导航指令,并自主映射为符合导航指令的目标点栅格。
(2)语义拓扑地图:以房间为节点的拓扑地图。
需要说明的是,基于语义栅格地图和机器人轨迹,采用基于虚拟门检测的拓扑分隔方法,得到房间和门的语义,加入语义栅格地图中,并根据房间和物体的包含关系,生成各房间与物体的拓扑关系,构建出语义拓扑地图。
具体来说:包括如下步骤:
基于提取的两个房间主方向,在机器人行驶的轨迹上检测满足门宽度和房间主方向的候选门,通过房间分割方法,生成该房间占据的可行栅格。通过统计栅格的数量并结合栅格的分辨率获得该房间的面积,以5平方米的房间面积为阈值,去除不满足该房间面积的虚拟门;
通过将位于候选门上的栅格作为占据栅格,然后采用连通域检测方法,实现房间分割,得到房间拓扑,将其中的房间和门的语义,加入语义栅格地图中;
基于位于房间内物体的包含关系,采用贝叶斯概率估计方法,生成每个房间的概念;
综合房间拓扑、房间的概念和语义栅格地图中的物体拓扑,生成具有房间及物体拓扑的语义拓扑地图。
本实施例中的语义拓扑地图具有房间语义,有助于丰富人机交互内容。传统的拓扑边只表示了拓扑节点的相邻关系,而语义拓扑地图中的边还包含了环境中门的位姿。门是环境中的一种非常重要的物体,在本实施例的导航方法中一是利用门的位置信息可以为路径规划算法提供搜索方向,提高路径规划效率;二是通过对门附近区域进行预处理,可以提高机器人通过门的成功率。
(3)语义概念地图:对语义栅格和语义拓扑地图的进一步抽象,表征物体、房间及其空间关系。
语义概念地图包括语义概念、语义实例、对象属性和数据属性。本实施例通过OWL网络本体语言,以树形结构描述语义概念及其语义实例。定义Thing为根节点,作为所有语义概念的父类,采用SubClassOf描述不同类之间的层次关系。例如,SubClassOf(A,B)表示A是B的子类。
具体来说,在家庭环境中语义概念分为房间和物体两大类,其中,房间主要包括:卧室、餐厅、客厅、厨房、走廊和卫生间;物体主要包括:电视、电视柜、沙发、床、门、烤箱、微波炉、茶几、座便器和洗手池。那么,房间Room和物体Object分别是Thing的子类,即SubClassOf(Room,Thing)和SubClassOf(Object,Thing)。同样,如客厅、卧室、厨房等概念属于房间的子类,如沙发、床、微波炉、茶几等概念属于物体的子类。
需要说明的是,在OWL中存在对象属性和类型属性,通过对象属性描述语义概念之间,以及语义实例之间的关系,通过数据属性描述语义概念与数据之前的关系,在语义实例中根据语义概念的类型,将对应的数据属性设置为具体的值。对象属性和数据属性都描述了定义域和值域,表示了指向关系,区别在于数据属性的值域只能是数据类型。
具体来说,语义概念地图中的对象属性包括:包含(Contains),相邻(isNeighbor),连接(isConnected),在里面(isIn)和邻近(isNear)六种属性。其中:
“包含”属性表示了房间与物体的包含关系,定义为Contains(Room,Object)。需要注意的是,若位于高层级的父类具有对象属性,则位于低层级的子类会继承父类的对象属性。
“相邻”属性表示了房间与房间的拓扑连通关系,定义为isNeighbor(Room,Room)。
考虑到门是一个特殊的物体,它负责分割和连接两个房间,“连接”属性表示门与房间的连接关系,定义为isConnected(Door,Room)。
“在里面”属性表示物体位于房间内,定义为isIn(Object,Room)。需要注意的是,虽然门是物体的子类,理论上具有该属性,然而与类类似,对象属性是抽象的,只有在物体实例化后才具有现实意义,所以该属性并不会影响门数据属性的正确表达。当然,为门单独定义一个类也可以达到上述效果,然而该方式会导致在类上不满足继承关系,所以本实施例中采用非实例化但满足继承关系的方式来表示门的属性。
“邻近”属性表示了定性的空间距离,该属性的目的在于通过查询其附近的已建模物体,依据物体之间的空间关系,推理出未能在语义地图中表示的物体的大致位置,定义为isNear(Object,Object)。优选地,将“邻近”属性拆分成具体的空间关系,比如在上面、在下面、在前面、在后面和在旁边。
进一步地,语义概念地图中数据属性包括:房间包络矩形(hasRoomRect),房间中心(hasRoomCenter),物体可供(hasObjectAffordanceRects)和物体非可供区域(hasObjectNonAffordanceRects),以及门的位姿(hasDoorPose)五种属性。其中:
“房间包络矩形”描述了房间位于语义栅格地图中的坐标位置,定义为hasRoomRect(Room,xsd:string)。其中,xsd:string表示该值的类型为字符串。考虑到OWL只具有一些简单的内置类型,本实施例采用字符串类型描述复杂的数据结构,当实际使用时,将依据数据类型定义的格式规范,再将其转换为对应的数值。房间包络矩形描述了房间的最小包络矩形。
“房间中心”描述了房间的质心位置,主要用于处理交互者命令机器人去某一房间却没有给出具体位置的情况,定义为hasRoomCenter(Room,xsd:string)。
“物体可供区域”描述了语义栅格地图中物体的可供矩形,主要用于机器人目标点选择算法,定义为hasObjectAffordanceRects(Object,xsd:string)。与之类似,“物体的非可供区域”定义为hasObjectNonAffordanceRects(Object,xsd:string)。
“门的位姿”主要用于局部路径规划,它描述了门中点的坐标位置以及与连接的房间主方向平行的姿态角,定义为hasDoorPose(Door,xsd:string)。
需要说明的是,在OWL中通过属性侧面使属性的定义更加完整,并有助于检测本体中的冲突。侧面包括基数、特定值和关系特性。基数规定了属性是否允许或必须有一定数目的不同值。例如,身高属性至多有一个值。特定值采用某个属性所具有的一些特殊值,实现类的定义。关系特性描述了对象属性之间的关系,它主要包括:对称性、传递性、逆属性。
具体来说,语义概念地图中属性侧面主要采用关系特性,体现在:
在对象属性中“相邻”属性和“邻近”属性具有对称属性。例如,房间A与房间B相邻和房间B与房间A相邻表示了相同的语义。
“包含”属性和“在里面”属性具有传递性。例如,A包含B,并且B包含C,可得A包含C。
“包含”属性和“在里面”属性也互为逆属性。
进一步地,基于语义概念地图中的语义概念,根据语义栅格地图中的物体语义,实例化得到物体语义实例以及物体语义实例的数据属性的值,物体语义实例的数据属性的值包括物体可供区域的值、物体非可供区域的值和门的位姿的值;根据语义拓扑地图中的房间语义,实例化得到房间语义实例以及房间语义实例的数据属性的值,房间语义实例的数据属性的值包括房间包络矩形的值和房间中心的值。根据语义拓扑地图,设置物体语义实例间、房间语义实例间、以及物体语义实体和房间语义实例间的对象属性。
优选地,将语义概念地图融入到知识图谱中,定义为“主语-谓语-宾语”的三元组形式,提高查询效率,极大地丰富人机交互内容。此外,考虑到室内环境中许多较小物体的位置经常会发生变动,语义栅格地图并没有表征这些物体。然而当使用者要求机器人到达这些物体时,仅依靠语义栅格和拓扑地图就不能完成导航任务。此时,机器人将依据在语义概念地图中表征的已建模物体及已建模物体和未建模目标物体之间的关系,实现隐式目标点的推理,进而控制机器人到达使用者要求的指定位置。
基于构建好的多层地图,在导航方法的S11步骤中,首先获取机器人的定位,包括:利用语义栅格地图中的占据、可行、未探测标识,结合激光雷达采集的传感器数据,采用粒子滤波定位算法,计算出机器人的几何位姿,得到机器人所在坐标位置,利用语义栅格地图中的语义属性,获取该位置的语义信息,作为起点位置信息。
如果使用者询问机器人的位置等定位问题时,则将位置的语义信息反馈给使用者。示例性地,使用者询问“你在哪?”,机器人回答“在厨房。”。
如果使用者询问物体或房间的位置,在S12步骤中,根据指令目标和/或位置关系,对多层地图中的语义概念地图进行检索,获取语义目标信息,包括:
将指令目标作为实例名称进行检索,如果存在该语义实例,且无位置关系,则该语义实例作为语义目标;如果存在该语义实例和位置关系,则将位置关系作为对象属性,将该语义实例的对象属性指向的语义实例作为语义目标;如果不存在该语义实例,则将指令名称作为概念名称进行检索,获取与该语义概念相关且存在语义实例的语义概念,作为关联概念,取关联概念的一个语义实例,作为语义目标信息。
示例性地,使用者询问“杯子在哪?”,由于杯子不属于固定、不经常移动的物体,未在语义栅格地图中表征出来,但是在语义概念地图中,是定义了杯子的语义概念,而且杯子的语义概念与书桌的语义概念间通过对象属性建立了关系,书桌在语义栅格地图中被表征出来,那么依靠该关系查找到书桌的语义概念,再找到书桌的语义实例,作为语义目标反馈给使用者,比如机器人回答“在书桌上”。
如果使用者在得知物体或房间的位置后,进一步询问到达路径,在S13步骤中,基于多层地图中的语义拓扑地图和语义栅格地图,获取起点位置信息和语义目标信息所对应的起点房间和终点房间,利用房间实例的对象属性中“相邻”属性,获取从起点房间到终点房间依次相邻的房间,按顺序组成房间语义序列路径,完成全局路径规划,反馈给使用者。
示例性地,使用者询问“怎么去书桌旁?”,机器人回答“经过走廊到卧室。”。
S11步骤-S13步骤主要用于问询类导航,不涉及机器人运动。如果导航指令是要求机器让你到达某一房间或物体附近时,比如“到卧室去。”,该导航方法还包括:
将起点位置信息中的坐标位置放入目标点集合中;
基于语义概念地图,依次获取房间语义序列路径中的房间,根据当前房间的对象属性,获取与当前房间连接的门,再根据门的数据属性,获取到门中点在语义栅格地图中的坐标位置,依次放入目标点集合中;
根据语义目标信息的数据属性和机器人外形尺寸,获取语义目标信息对应在语义栅格地图中的坐标位置,作为终点位置,将终点位置放入目标点集合中;
基于目标点集合,采用最短路径规划方法,依次规划出相邻两个目标点间的局部路径,用于机器人的运动类导航。
需要说明的是,起点位置信息已经包含在语义栅格地图中的坐标位置;在语义概念地图中实例化房间和门时,设置了房间与门是“连接”关系,根据房间的相邻关系,依次获取到需要穿过的门。在门的语义实例中设置了门的位姿,因此可以获取门中点的坐标位置以及与连接的房间主方向平行的姿态角。
具体来说,根据语义目标信息的数据属性和机器人外形尺寸,获取语义目标对应在语义栅格地图中的坐标位置,作为终点位置,包括:
根据机器人的外形尺寸,获取机器人的近似外接圆;
根据语义目标信息的数据属性,获取语义目标信息对应在栅格地图的位置区域,在该位置区域中进行随机坐标位置采样,作为近似外接圆的圆心,判断近似外接圆中是否具有占据栅格,如果有,则重新进行随机坐标位置采样,直至近似外接圆中均是可行栅格,则将该随机坐标位置作为终点位置。
需要说明的是,如果语义目标属于房间类,根据数据属性中的“房间包络矩形”获取到房间位于语义栅格地图中的坐标位置,根据“房间中心”获取到房间的质心位置。如果语义目标属于物体类,根据数据属性中的“物体可供区域”获取语义栅格地图中物体的可供矩形区域。
采用最短路径规划方法,比如A*路径规划算法,规划出机器人经过每一个房间的门的局部路径,并通过避障算法躲避地图中的动态障碍物,进而完成导航任务。
与现有技术相比,本实施例提供的一种基于多层地图的机器人导航方法,满足人机共融环境下的导航应用,基于语义栅格地图、语义拓扑地图和语义概念地图的多层地图,利用语义概念和栅格地图,实现机器人包含语义和几何位姿信息的快速查询,提升了使用者的交互体验;通过语义概念地图对语义栅格和语义拓扑地图进一步抽象,表征了物体、房间及其空间关系等概念;利用其中表征的已建模物体及已建模物体和未建模目标物体之间的关系,实现隐式目标点的推理,使机器人自动选择非固定目标点;基于概念地图的连接、相邻等属性关系推理和语义拓扑及栅格地图,实现快速全局路径规划和局部路径生成。
实施例2
本发明的另一个实施例,公开了一种基于多层地图的机器人导航系统,从而实现实施例1中的机器人导航方法。各模块的具体实现方式参照实施例1中的相应描述。该系统包括:
多层地图构建模块,用于构建语义栅格地图、语义拓扑地图和语义概念地图;
机器人定位模块,用于基于语义栅格地图,根据机器人的激光雷达采集的激光数据,获取机器人的坐标位置及其语义信息,作为起点位置信息;
目标确定模块,用于根据导航指令,获取指令目标和/或位置关系,根据指令目标和/或位置关系,对语义概念地图进行检索,获取语义目标信息;
语义路径获取模块,用于基于语义拓扑地图和语义栅格地图,获取起点位置信息和语义目标信息所对应起点房间和终点房间,并根据起点房间和终点房间在语义概念地图中的对象属性,获取从起点房间到终点房间依次相邻的房间,得到房间语义序列路径,用于机器人的问询类导航。
由于本实施例的基于多层地图的机器人导航系统与前述机器人导航方法相关之处可相互借鉴,此处为重复描述,故这里不再赘述。由于本系统实施例与上述方法实施例原理相同,所以本系统实施例也具有上述方法实施例相应的技术效果。
本领域技术人员可以理解,实现上述实施例方法的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读存储介质中。其中,所述计算机可读存储介质为磁盘、光盘、只读存储记忆体或随机存储记忆体等。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
Claims (10)
1.一种基于多层地图的机器人导航方法,其特征在于,所述多层地图包括语义栅格地图、语义拓扑地图和语义概念地图;所述机器人导航方法包括如下步骤:
基于所述语义栅格地图,根据机器人的激光雷达采集的激光数据,获取机器人的坐标位置及其语义信息,作为起点位置信息;
根据导航指令,获取指令目标和/或位置关系,根据指令目标和/或位置关系,对所述语义概念地图进行检索,获取语义目标信息;
基于所述语义拓扑地图和语义栅格地图,获取起点位置信息和语义目标信息所对应起点房间和终点房间,并根据起点房间和终点房间在语义概念地图中的对象属性,获取从起点房间到终点房间依次相邻的房间,得到房间语义序列路径,用于机器人的问询类导航。
2.根据权利要求1所述的基于多层地图的机器人导航方法,其特征在于,所述方法还包括:
将起点位置信息中的坐标位置放入目标点集合中;
基于语义概念地图,依次获取房间语义序列路径中的房间,根据当前房间的对象属性,获取与当前房间连接的门,再根据门的数据属性,获取到门中点在语义栅格地图中的坐标位置,依次放入目标点集合中;
根据语义目标信息的数据属性和机器人外形尺寸,获取语义目标信息对应在语义栅格地图中的坐标位置,作为终点位置,将终点位置放入目标点集合中;
基于目标点集合,采用最短路径规划方法,依次规划出相邻两个目标点间的局部路径,用于机器人的运动类导航。
3.根据权利要求1或2所述的基于多层地图的机器人导航方法,其特征在于,所述语义概念地图包括语义概念、语义实例、对象属性和数据属性;所述语义概念包括房间和物体两类;所述语义实例包括物体语义实例和房间语义实例;所述对象属性用于描述语义概念之间,以及语义实例之间的关系,包括:包含、相邻、连接、在里面和邻近;所述数据属性用于描述语义概念与数据之间的关系,在语义实例中根据语义概念的类型,将对应的数据属性设置为具体的值,数据属性包括:房间包络矩形、房间中心、物体可供区域、物体非可供区域和门的位姿。
4.根据权利要求3所述的基于多层地图的机器人导航方法,其特征在于,所述根据指令目标和/或位置关系,对多层地图中的语义概念地图进行检索,获取语义目标信息,包括:
将指令目标作为实例名称进行检索,如果存在该语义实例,且无位置关系,则该语义实例作为语义目标;如果存在该语义实例和位置关系,则将位置关系作为对象属性,将该语义实例的对象属性指向的语义实例作为语义目标;如果不存在该语义实例,则将指令名称作为概念名称进行检索,获取与该语义概念相关且存在语义实例的语义概念,作为关联概念,取关联概念的一个语义实例,作为语义目标信息。
5.根据权利要求4所述的基于多层地图的机器人导航方法,其特征在于,所述根据语义目标信息的数据属性和机器人外形尺寸,获取语义目标信息对应在语义栅格地图中的坐标位置,作为终点位置,包括:
根据机器人的外形尺寸,获取机器人的近似外接圆;
根据语义目标信息的数据属性,获取语义目标信息对应在栅格地图的位置区域,在该位置区域中进行随机坐标位置采样,作为近似外接圆的圆心,判断近似外接圆中是否具有占据栅格,如果有,则重新进行随机坐标位置采样,直至近似外接圆中均是可行栅格,则将该随机坐标位置作为终点位置。
6.根据权利要求1所述的基于多层地图的机器人导航方法,其特征在于,所述语义栅格地图和语义拓扑地图通过以下步骤构建:
根据机器人累计行程,创建局部地图,根据机器人的激光雷达采集的激光数据,构建和优化基于激光数据的局部地图,根据基于激光数据的局部地图中的未探测栅格,生成导航路径,控制机器人沿导航路径运动;同时,根据机器人的超声波传感器采集的超声波数据,构建基于超声波数据的局部地图;以及,识别机器人的双目视觉传感器采集的图像,获取图像中的物体,利用双目视觉传感器的投影模型,获取各物体语义点云;
当无法生成导航路径,完成全部局部地图的构建和优化后,合并基于激光数据的局部地图得到第一全局地图,合并基于超声波数据的局部地图得到第二全局地图;融合第一全局地图和第二全局地图,得到占据栅格地图;计算各物体语义点云的具有朝向的二维包络矩形,将各包络矩形投影到占据栅格地图,形成语义栅格地图;
基于语义栅格地图和机器人轨迹,采用基于虚拟门检测的拓扑分隔方法,得到房间和门的语义,加入语义栅格地图中,并根据房间和物体的包含关系,生成各房间与物体的拓扑关系,构建出语义拓扑地图。
7.根据权利要求6所述的基于多层地图的机器人导航方法,其特征在于,所述根据机器人的激光雷达采集的激光数据,构建和优化基于激光数据的局部地图,包括:
基于因子图优化的SLAM框架,利用迭代最近点的方法,匹配当前帧和上一帧的激光数据,获取两帧之间位姿变换关系作为位姿图中的相邻边,并利用二值贝叶斯占据栅格地图构建方法,构建基于激光数据的局部地图;对基于激光数据的局部地图进行回环检测,构建位姿图中的回环边,利用具有鲁棒核函数的高斯-牛顿图优化方法,优化位姿图和基于激光数据的局部地图。
8.根据权利要求6所述的基于多层地图的机器人导航方法,其特征在于,所述根据基于激光数据的局部地图中的未探测栅格,生成导航路径,包括:
提取并连通基于激光数据的局部地图中的未探测栅格,通过边界拟合方法,生成未探测边界;根据机器人外形尺寸,获取机器人的近似外接圆的直径,依次识别未探测边界的长度是否大于直径,如果大于,则获取未探测边界中点;将所有获取的中点作为各目标点,采用最短路径规划方法,生成导航路径。
9.根据权利要求6所述的基于多层地图的机器人导航方法,其特征在于,所述根据机器人的超声波传感器采集的超声波数据,构建基于超声波数据的局部地图,包括:
基于弧线模型,根据超声波传感器的散角和距离,得到扇形探测区域;
获取扇形探测区域弧线上的超声波数据,并变换到全局地图坐标系中,作为待评估数据;
基于直线、点和圆的数学模型,根据待评估数据,采用最小二乘拟合算法,进行直线、点和圆的拟合,得到对应的数据模型中的系数向量;
将待评估数据的x坐标作为特征点的x坐标,代入各数据模型中,得到的值作为特征点的y坐标;
特征点占据的栅格为占据栅格,扇形探测区域内排除特征点占据栅格后的栅格为可行栅格,当前局部地图中的剩余栅格为未探测栅格。
10.一种基于多层地图的机器人导航系统,其特征在于,包括:
多层地图构建模块,用于构建语义栅格地图、语义拓扑地图和语义概念地图;
机器人定位模块,用于基于所述语义栅格地图,根据机器人的激光雷达采集的激光数据,获取机器人的坐标位置及其语义信息,作为起点位置信息;
目标确定模块,用于根据导航指令,获取指令目标和/或位置关系,根据指令目标和/或位置关系,对所述语义概念地图进行检索,获取语义目标信息;
语义路径获取模块,用于基于所述语义拓扑地图和语义栅格地图,获取起点位置信息和语义目标信息所对应起点房间和终点房间,并根据起点房间和终点房间在语义概念地图中的对象属性,获取从起点房间到终点房间依次相邻的房间,得到房间语义序列路径,用于机器人的问询类导航。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211164874.1A CN117804420A (zh) | 2022-09-23 | 2022-09-23 | 一种基于多层地图的机器人导航方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211164874.1A CN117804420A (zh) | 2022-09-23 | 2022-09-23 | 一种基于多层地图的机器人导航方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117804420A true CN117804420A (zh) | 2024-04-02 |
Family
ID=90427137
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211164874.1A Pending CN117804420A (zh) | 2022-09-23 | 2022-09-23 | 一种基于多层地图的机器人导航方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117804420A (zh) |
-
2022
- 2022-09-23 CN CN202211164874.1A patent/CN117804420A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4989532B2 (ja) | 移動サービスロボットの中央情報処理システム、移動サービスロボットの情報処理方法及び移動サービスロボットの情報処理方法を記録したコンピュータで読み取り可能な記録媒体 | |
Pal et al. | Learning hierarchical relationships for object-goal navigation | |
KR100917377B1 (ko) | 인식/추론 수준에 따른 계층적 구조의 실내 정보를 가지는서비스 로봇의 중앙 정보처리 시스템 및 방법 | |
CN109003303A (zh) | 基于语音和空间物体识别及定位的设备控制方法及装置 | |
CN106530946A (zh) | 用于编辑室内地图的方法及装置 | |
CN109163731A (zh) | 一种语义地图构建方法及系统 | |
Hendrikx et al. | Connecting semantic building information models and robotics: An application to 2d lidar-based localization | |
Qiu et al. | Learning hierarchical relationships for object-goal navigation | |
CN106584472A (zh) | 用于控制自主移动式设备的方法及装置 | |
CN106767755A (zh) | 用于规划自主移动式设备工作点的方法及装置 | |
Luo et al. | Hierarchical semantic mapping using convolutional neural networks for intelligent service robotics | |
KR102537364B1 (ko) | 자율주행 로봇, 자율주행 로봇의 위치 추정 서버 및 이를 이용한 자율주행 로봇의 위치 추정 방법 | |
CN115393386A (zh) | 三维场景图的生成方法、装置、设备及可读存储介质 | |
CN106782030A (zh) | 用于生成具有语义描述的室内地图的方法及装置 | |
Werby et al. | Hierarchical Open-Vocabulary 3D Scene Graphs for Language-Grounded Robot Navigation | |
Lang et al. | Semantic maps for robotics | |
CN106782029A (zh) | 室内地图生成方法及装置 | |
Wallgrün | Hierarchical Voronoi graphs: Spatial representation and reasoning for mobile robots | |
CN106814734A (zh) | 使用计算设备控制自主移动式设备的方法及系统 | |
Zaenker et al. | Hypermap mapping framework and its application to autonomous semantic exploration | |
Sim et al. | Autonomous vision-based robotic exploration and mapping using hybrid maps and particle filters | |
Borkowski et al. | Towards semantic navigation in mobile robotics | |
Jiang et al. | Construction of indoor obstacle element map based on scene-aware priori obstacle rules | |
CN117804420A (zh) | 一种基于多层地图的机器人导航方法及系统 | |
de la Puente et al. | Feature based graph SLAM with high level representation using rectangles |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |