CN113741422A - 机器人拓扑地图生成***、方法、计算机设备及存储介质 - Google Patents
机器人拓扑地图生成***、方法、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN113741422A CN113741422A CN202110874201.4A CN202110874201A CN113741422A CN 113741422 A CN113741422 A CN 113741422A CN 202110874201 A CN202110874201 A CN 202110874201A CN 113741422 A CN113741422 A CN 113741422A
- Authority
- CN
- China
- Prior art keywords
- track
- distance
- map
- obstacle
- topological
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 230000009471 action Effects 0.000 claims abstract description 63
- 238000013507 mapping Methods 0.000 claims abstract description 50
- 238000012545 processing Methods 0.000 claims abstract description 22
- 238000001914 filtration Methods 0.000 claims abstract description 20
- 238000000265 homogenisation Methods 0.000 claims description 14
- 230000004048 modification Effects 0.000 claims description 8
- 238000012986 modification Methods 0.000 claims description 7
- 238000009499 grossing Methods 0.000 claims description 4
- 230000011218 segmentation Effects 0.000 claims description 4
- 238000009877 rendering Methods 0.000 claims description 3
- 230000000875 corresponding effect Effects 0.000 description 19
- 230000008569 process Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 5
- 241000282414 Homo sapiens Species 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000001172 regenerating effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000004888 barrier function Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0246—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0257—Control of position or course in two dimensions specially adapted to land vehicles using a radar
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Aviation & Aerospace Engineering (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Electromagnetism (AREA)
- Manipulator (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本发明涉及机器人导航领域,公开了一种机器人拓扑地图生成***、方法、计算机设备及存储介质,其***包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机可读指令,处理器执行计算机可读指令时实现如下步骤:获取机器人在建图场景中的行动轨迹;对行动轨迹进行滤波处理,生成均匀化点轨迹;获取与均匀化点轨迹对应的深度图像数据;根据深度图像数据生成建图场景的障碍物距离地图,根据障碍物距离地图设置可行区域;在可行区域内,通过预设算法处理行动轨迹,生成建图场景的拓扑地图。本发明大大提高了拓扑地图的绘制效率,减少拓扑地图的人为出错。
Description
技术领域
本发明涉及机器人导航领域,尤其涉及一种机器人拓扑地图生成***、方法、计算机设备及存储介质。
背景技术
在机器人自动导航过程中,通常依赖于预先绘制好的拓扑地图。拓扑地图一般是通过人为绘制。然而,对于复杂场景,拓扑地图的绘制过程会比较繁琐,费时费力,并且存在拓扑地图与实际场景不匹配的情况,影响机器人的正常运行。
发明内容
基于此,有必要针对上述技术问题,提供一种机器人拓扑地图生成***、方法、计算机设备及存储介质,以提高拓扑地图的绘制效率,减少拓扑地图的人为出错。
一种机器人拓扑地图生成***,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时,实现如下步骤:
获取机器人在建图场景中的行动轨迹;
对所述行动轨迹进行滤波处理,以生成均匀化点轨迹;
获取与所述均匀化点轨迹对应的深度图像数据;
根据所述深度图像数据生成所述建图场景的障碍物距离地图,根据所述障碍物距离地图设置可行区域;
在所述可行区域内,通过预设算法处理所述行动轨迹,以生成所述建图场景的拓扑地图。
一种机器人拓扑地图生成方法,包括:
获取机器人在建图场景中的行动轨迹;
对所述行动轨迹进行滤波处理,以生成均匀化点轨迹;
获取与所述均匀化点轨迹对应的深度图像数据;
根据所述深度图像数据生成所述建图场景的障碍物距离地图,根据所述障碍物距离地图设置可行区域;
在所述可行区域内,通过预设算法处理所述行动轨迹,以生成所述建图场景的拓扑地图。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时实现上述机器人拓扑地图生成方法。
一个或多个存储有计算机可读指令的可读存储介质,所述计算机可读指令被一个或多个处理器执行时,使得所述一个或多个处理器执行如上述机器人拓扑地图生成方法。
上述机器人拓扑地图生成***、方法、计算机设备及存储介质,通过获取机器人在建图场景中的行动轨迹,在此处,行动轨迹的获取难度低,有利于降低拓扑地图的绘制成本。对所述行动轨迹进行滤波处理,生成均匀化点轨迹,以使行动轨迹标准化,提高图像处理的准确率。获取与所述均匀化点轨迹对应的深度图像数据,以确定障碍物距离。根据所述深度图像数据生成所述建图场景的障碍物距离地图,根据所述障碍物距离地图设置可行区域,以保证拓扑路径处在可行区域内。在所述可行区域内,通过预设算法处理所述行动轨迹,生成所述建图场景的拓扑地图,在此处,预设算法可以将近似曲线的轨迹分段处理为若干轨迹线段,进而组成拓扑地图的路径。本发明仅需要获取行动轨迹,即可自动生成拓扑地图,大大提高了拓扑地图的绘制效率,减少拓扑地图的人为出错。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中机器人拓扑地图生成***的一流程示意图;
图2是本发明一实施例中机器人进入建图场景的简易示意图;
图3是本发明一实施例中经滤波处理后包含均匀化点轨迹的图像;
图4是本发明一实施例中局部的障碍物距离地图;
图5是本发明一实施例中经反相处理过的拓扑地图;
图6为本发明一实施例中根据行动轨迹生成拓扑地图的路径的简要示意图;
图7是本发明一实施例中计算机设备的一示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,机器人拓扑地图生成***,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序计算机可读指令,其特征在于,所述处理器用于执行所述计算机可读指令时以实现如下步骤:
S10、获取机器人在建图场景中的行动轨迹。
可理解地,建图场景可以是机器人的工作场景,如餐厅、酒店、医院或者其他室内外场景。行动轨迹可以是机器人在建图场景中的行走轨迹。行动轨迹包括若干机器人的点轨迹。在一示例中,可以按照预设时间间隔采集这些点轨迹。预设时间间隔可以根据实际需要进行设置。如,预设时间间隔可以是1s~10s。在其他示例中,也可以按照预设的位移间隔和/或角度间隔来采集这些点轨迹,如每移动0.2m则采集一次,或角度每变化20度则采集一次等等,这里不做具体数值的限定。
在一示例中,如图2所示,建图场景可以是餐厅。当机器人进入餐厅时,工作人员可推着机器人沿着餐厅的人行通道行进,形成行动轨迹,同时,机器人身上的激光雷达可采集人行通道沿途的深度图像数据。这样反复数次,可以采集到多条行动轨迹。
S20、对所述行动轨迹进行滤波处理,以生成均匀化点轨迹。
可理解地,行动轨迹中,相邻轨迹点采集的时间间隔相等,而相邻轨迹点之间的间距存在一定的差异。该间距跟机器人在时间间隔内的运动速度有关。需要对行动轨迹进行滤波处理,减少间距的差异,获得均匀化点轨迹。均匀化点轨迹指的是相邻轨迹点的间距处在一个距离范围内,保证间距均匀,不出现过大或过小的状况。如图3所示,图3为经滤波处理后包含均匀化点轨迹的图像。其中,图3中的线状曲线为均匀化点轨迹。
S30、获取与所述均匀化点轨迹对应的深度图像数据。
可理解地,深度图像数据可以是通过安装在机器人身上的深度相机和/或激光雷达获取到的深度信息数据。均匀化点轨迹包括多个轨迹点,每个轨迹点至少采集一帧深度图像数据。与均匀化点轨迹对应的深度图像数据指的是,在各个轨迹点采集的深度图像数据的集合。
S40、根据所述深度图像数据生成所述建图场景的障碍物距离地图,根据所述障碍物距离地图设置可行区域。
可理解地,在获得各个轨迹点的深度图像数据之后,可以对这些深度图像数据按照轨迹点的位置进行拼接,形成三维点云(障碍物点)。将三维点云投影在建图场景的地平面(可以是水平面)上,可以生成二维的障碍物地图。分别计算初始地图上各位置点到障碍物点的最小距离。按照最小距离的大小设置初始地图各个位置点的像素值。如图4所示,可以将障碍物点的像素值设置为0,其他位置点的像素值随着到障碍物点的最小距离的增加而增加。障碍物距离地图中,颜色越浅(像素值越大),表示与障碍物的距离越大。可以设置一个限制像素值,将像素值大于限制像素值的区域设置为可行区域。
在另一些示例中,可以将障碍物点的像素值设置为255,其他位置点的像素值随着到障碍物点的最小距离的增加而减少。障碍物距离地图中,颜色越深(像素值越大),表示与障碍物的距离越大。可以设置一个限制像素值,将像素值小于限制像素值的区域设置为可行区域。
步骤S50、在所述可行区域内,通过预设算法处理所述行动轨迹,以生成所述建图场景的拓扑地图。
可理解地,预设算法是将曲线近似表示为一系列点,并减少点的数量的一种算法。该算法具有平移和旋转不变性,给定曲线与阈值后,抽样结果一定。在此处,行动轨迹由若干轨迹分段,这段轨迹分段可以用曲线表示。通过预设算法的处理,可以将这些轨迹分段线性化,生成若干轨迹线段。连接各个轨迹线段,组成由若干直线段组成的路径,即为建图场景的拓扑地图。在绘制拓扑地图时,需要确保所有路径上的任意一点均处在可行区域内。若存在所有路径上的任意一点不处于可行区域内,则需要重新规划拓扑路径,直至所有路径上的任意一点均处在可行区域内。如图5所示,图5为经反相处理过的拓扑地图。
步骤S10-S50中,获取机器人在建图场景中的行动轨迹,在此处,行动轨迹的获取难度低,有利于降低拓扑地图的绘制成本。对所述行动轨迹进行滤波处理,生成均匀化点轨迹,以使行动轨迹标准化,提高图像处理的准确率。获取与所述均匀化点轨迹对应的深度图像数据,以确定障碍物距离。根据所述深度图像数据生成所述建图场景的障碍物距离地图,根据所述障碍物距离地图设置可行区域,以保证拓扑路径处在可行区域内。在所述可行区域内,通过预设算法处理所述行动轨迹,生成所述建图场景的拓扑地图,在此处,预设算法可以将近似曲线的轨迹分段处理为若干轨迹线段,进而组成拓扑地图的路径。本实施例中,仅需要获取行动轨迹,即可自动生成拓扑地图,大大提高了拓扑地图的绘制效率,减少拓扑地图的人为出错。
可选的,步骤S20中,即所述对所述行动轨迹进行滤波处理,生成均匀化点轨迹,包括:
S201、对所述行动轨迹进行插值,然后进行中值滤波和均值平滑处理,生成所述均匀化点轨迹;所述均匀化点轨迹中,相邻轨迹点的间距大于第一阈值,小于第二阈值。
可理解地,可以对行动轨迹进行插值,增加轨迹点的个数,使所有相邻轨迹点之间的间距小于第一阈值。然后通过中值滤波,去除间距过小的轨迹点,再经均值平滑处理,使得相邻轨迹点的间距大致相等,进而得到均匀化点轨迹。在均匀化点轨迹中,相邻轨迹点的间距大于第一阈值,小于第二阈值。
可选的,所述第一阈值包括0.25m,所述第二阈值包括1m。
可理解地,第一阈值和第二阈值可以根据实际需要进行设置。在一示例中,第一阈值包括0.25m,第二阈值包括1m。
可选的,步骤S40,即所述根据所述深度图像数据生成所述建图场景的障碍物距离地图,包括:
S401、根据所述机器人在所述均匀化点轨迹中的位置拼接所述深度图像数据,生成包含障碍物位置的障碍物地图;
S402、计算空闲位置与障碍物位置的距离值,根据所述距离值对所述障碍物地图进行渲染,生成所述障碍物距离地图。
可理解地,可以将在各个轨迹点上的深度图像数据按照轨迹点所处的位置进行拼接,形成包含障碍物点的三维点云。将三维点云投影在建图场景的地平面(可以是水平面)上,可以生成二维的障碍物地图。障碍物位置的位置点可以用黑色标记。空闲位置指的是没有障碍物的位置点。空闲位置与障碍物位置的距离值可以指空闲位置与最邻近的障碍物位置的距离,也即是最小距离。每一空闲位置可以得到唯一的距离值。可以根据该距离值设置空闲位置的像素值。在一示例中,可以将距离障碍物大于或2米的位置点的像素值设置为255(即白色)。如图4所示,图4为一示例中局部的障碍物距离地图。图4包含三个障碍物点。其中,障碍物点的像素值设置为0,其他位置点的像素值随着与障碍物点的距离的增加而增加。
可选的,步骤S40,即所述根据所述深度图像数据生成所述建图场景的障碍物距离地图,根据所述障碍物距离地图设置可行区域,包括:
S403、获取障碍物的限制距离;
S404、获取与所述限制距离对应的限制像素值;
S405、若障碍物的像素值为0,则将所述障碍物距离地图中像素值大于所述限制像素值的区域设置为所述可行区域;
S406、若障碍物的像素值为255,则将所述障碍物距离地图中像素值小于所述限制像素值的区域设置为所述可行区域。
可理解地,限制距离为机器人与障碍物之间的最小距离。限制距离可以根据实际需要进行设置。在一示例中,限制距离可以设置为0.5m。可以设置距离与像素值之间的对应关系。如,将障碍物所在位置(距离为0)的像素值为0,将距离障碍物3m及3m的位置的像素值设置为255,距离在0~3m之间的位置的像素值与距离呈正相关,可以呈线性变化,也可以呈非线性变化,每一距离都有唯一对应的像素值。
在一示例中,障碍物距离地图中,位置点的像素随着与障碍物点的距离的增加而增加。因而,可以先确定限制距离的像素值,记为像素值阈值,则像素值大于像素值阈值的区域即为可行区域。
在另一示例中,障碍物距离地图中,位置点的像素随着与障碍物点的距离的增加而减少。因而,可以先确定限制距离的像素值,记为像素值阈值,则像素值小于像素值阈值的区域即为可行区域。
可选的,所述行动轨迹包括若干轨迹分段;
步骤S50,即所述在所述可行区域内,通过预设算法处理所述行动轨迹,生成所述建图场景的拓扑地图,包括:
S501、获取与轨迹分段对应的第一轨迹节点和第二轨迹节点,生成所述第一轨迹节点与所述第二轨迹节点之间的第一连线;
S502、计算所述轨迹分段上的轨迹点与所述第一连线的距离,将与所述第一轨迹节点的曲线距离最短,且与所述第一连线的距离大于或等于所述距离阈值的轨迹点设置为第一中间节点;
S503、连接所述第一中间节点与所述第二轨迹节点,生成第二连线;
S504、计算所述第一中间节点与所述第二轨迹节点之间的轨迹点与所述第二连线的距离,将与所述第一中间节点的曲线距离最短,且与所述第二连线的距离大于或等于所述距离阈值的轨迹点设置为第二中间节点;
S505、重复上述步骤,直至剩余曲线上的所有轨迹点与对应的中间连线的距离小于距离阈值;
S506、顺次连接所述第一轨迹节点、中间节点和所述第二轨迹节点,生成若干轨迹线段,所述中间节点包括所述第一中间节点和所述第二中间节点。
S507、拼接所述若干轨迹线段,生成拓扑路径,所述拓扑地图包括所述拓扑路径。
可理解地,可以从行动轨迹中划分出若干轨迹分段。每个轨迹分段可以生成至少一条轨迹线段。可以分别从节点设置信息获取与轨迹分段对应的第一轨迹节点和第二轨迹节点。在此处,第一轨迹节点和第二轨迹节点为轨迹分段的两个端点。连接第一轨迹节点和第二轨迹节点,可以形成第一轨迹节点与第二轨迹节点之间的连线。计算轨迹分段中所有轨迹点与连线的距离,选取距离大于距离阈值,且与第一轨迹节点的曲线距离最短的轨迹点,记为第一中间节点。在此处,曲线距离指的是两点之间的曲线的长度。
连接第一中间节点和第一轨迹节点,可以形成第一中间节点与第一轨迹节点之间的第二连线。计算第一中间节点与第二轨迹节点之间的轨迹点与第二连线的距离,选取距离大于距离阈值,且与第一中间节点的曲线距离最短的轨迹点,记为第二中间节点。
可以重复上述步骤,形成新的中间连线和中间节点,直至剩余曲线(第二中间节点之后的曲线)上的所有轨迹点与对应的中间连线的距离小于距离阈值。具体步骤可参照步骤S501-S504,在此不再赘述。
顺次连接第一轨迹节点、中间节点和第二轨迹节点,可以生成若干轨迹线段。若不存在中间节点,则可以生成第一轨迹节点与第二轨迹节点之间的一条轨迹线段。若存在N个中间节点(N为正整数),则可以生成N+1条轨迹线段。
将各个轨迹线段按照次序拼接,具体可以按照共有的轨迹节点进行拼接,可以形成相互连通的拓扑路径。此时,由行动轨迹转化为拓扑路径,进而生成拓扑地图。
在一示例中,如图6所示,图6为根据行动轨迹生成拓扑地图的路径的简要示意图。在图6的示例中,包括多段由曲线表示的轨迹分段,分别为DA、DB、DC。以轨迹分段DA(也可以表示为曲线DA)为例,连接第一轨迹节点D和第二轨迹节点A,可以生成它们之间的连线DA(图中用虚线表示)。自点D开始,计算曲线DA上的点到连线DA的距离,选取第一个距离大于距离阈值的轨迹点,即为第一中间节点H。
连接第一中间节点H和第二轨迹节点A,可以生成它们之间的连线HA(图中用虚线表示)。自点H开始,计算曲线HA上的点到连线HA的距离,选取第一个距离大于距离阈值的轨迹点,即为第二中间节点G。
连接第二中间节点G和第二轨迹节点A,可以生成它们之间的连线GA(图中用虚线表示)。自点G开始,计算曲线GA上的点到连线GA的距离,选取第一个距离大于距离阈值的轨迹点,即为第三中间节点K。
连接第三中间节点K和第二轨迹节点A,可以生成它们之间的连线KA。自点K开始,计算曲线KA上的点到连线KA的距离。由于该曲线上的点到连线KA的距离均小于距离阈值,因而,所有设置中间节点的步骤均已完成。此时,顺次连接D、H、G、K、A,可以形成顺次连接的轨迹线段DH、HG、GK、KA(图6右下角的示意图)。
可选的,步骤S507之后,即所述拼接所述若干轨迹线段,生成拓扑路径,所述拓扑地图包括所述拓扑路径之后,还包括:
S5071、判断所述拓扑路径是否处于所述可行区域内;
S5072、若所述拓扑路径处于所述可行区域内,则判定所述拓扑路径可用;
S5073、若所述拓扑路径不处于所述可行区域内,则接收距离修改指令;
S5074、根据所述距离修改指令调整所述限制距离,获得修改后的限制距离;
S5075、根据所述修改后的限制距离生成修改后的可行区域。
可理解地,若拓扑路径上的所有路径点均落在可行区域内,则判定拓扑路径处于可行区域内。若拓扑路径上的存在部分路径点不在可行区域内,则判定拓扑路径不处于可行区域内。当拓扑路径处于可行区域内,拓扑路径与可行区域不发生冲突,因而拓扑路径是可用的。此时,可以结合拓扑路径和可行区域生成拓扑地图。
当拓扑路径不处于可行区域内,拓扑路径与可行区域发生冲突/碰撞,因而,需要对拓扑路径或者是可行区域进行调整。在一示例中,可以通过修改限制距离以改变可行区域。
距离修改指令可以是用户输入的指令。一般情况下,距离修改指令用于减少限制距离的值。例如,原来限制距离为0.5m,修改后为0.3m。在确定修改后的限制距离会后,可以根据修改后的限制距离生成修改后的可行区域。在一示例中,原来的可行区域指的是像素值大于200的区域,修改后的可行区域可以是像素值大于180的区域。
在获得修改后的可行区域之后,可以继续判断拓扑路径处于修改后的可行区域内。若拓扑路径处于修改后的可行区域内,则可以结合拓扑路径和修改后的可行区域生成拓扑地图。若拓扑路径不处于修改后的可行区域内,可以选择继续调整限制距离或者是调整拓扑路径。在一些示例中,可以对发生冲突的路径部分进行标记,通过路径修改程序自动修正拓扑路径,或者是人工修正路径。
可选的,步骤S507之后,即拼接所述若干轨迹线段,生成拓扑路径,所述拓扑地图包括所述拓扑路径之后,还包括:
判断所述轨迹线段是否处于可行区域内,若轨迹线段不处于所述可行区域内,则降低距离阈值的数值获得新的距离阈值,具体可以将距离阈值进行减半,利用新的距离阈值执行所述在所述可行区域内,通过预设算法处理所述行动轨迹,以生成所述建图场景的拓扑地图的步骤。即重复执行S501-507的步骤。重新生成新的轨迹线段。
在实际场景中,也可以实时判断轨迹线段是否位于可行区域内,如果不位于,则可以直接调整距离阈值获得新的距离阈值,随后利用新的距离阈值对该轨迹线段进行重新生成,其他的轨迹线段还是按照原距离阈值生成。
上述机器人拓扑地图生成***中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一实施例中,提供一种机器人拓扑地图生成方法,该机器人拓扑地图生成方法与上述实施例中机器人拓扑地图生成***一一对应。如图1所示,本实施例提供的机器人拓扑地图生成方法,包括如下步骤:
S10、获取机器人在建图场景中的行动轨迹;
S20、对所述行动轨迹进行滤波处理,生成均匀化点轨迹;
S30、获取与所述均匀化点轨迹对应的深度图像数据;
S40、根据所述深度图像数据生成所述建图场景的障碍物距离地图,根据所述障碍物距离地图设置可行区域;
S50、在所述可行区域内,通过预设算法处理所述行动轨迹,生成所述建图场景的拓扑地图。
可选的,在步骤S20中,即所述对所述行动轨迹进行滤波处理,生成均匀化点轨迹,包括:
S201、对所述行动轨迹进行插值,然后进行中值滤波和均值平滑处理,生成所述均匀化点轨迹,所述均匀化点轨迹中,相邻轨迹点的间距大于第一阈值,小于第二阈值。
可选的,所述第一阈值包括0.25m,所述第二阈值包括1m。
可选的,步骤S40,即所述根据所述深度图像数据生成所述建图场景的障碍物距离地图,包括:
S401、根据所述机器人在所述均匀化点轨迹中的位置拼接所述深度图像数据,生成包含障碍物位置的障碍物地图;
S402、计算空闲位置与障碍物位置的距离值,根据所述距离值对所述障碍物地图进行渲染,生成所述障碍物距离地图。
可选的,步骤S40,即所述根据所述深度图像数据生成所述建图场景的障碍物距离地图,根据所述障碍物距离地图设置可行区域,包括:
S403、获取障碍物的限制距离;
S404、获取与所述限制距离对应的限制像素值;
S405、若障碍物的像素值为0,则将所述障碍物距离地图中像素值大于所述限制像素值的区域设置为所述可行区域;
S406、若障碍物的像素值为255,则将所述障碍物距离地图中像素值小于所述限制像素值的区域设置为所述可行区域。
可选的,所述行动轨迹包括若干轨迹分段;
步骤S50,即所述在所述可行区域内,通过预设算法处理所述行动轨迹,生成所述建图场景的拓扑地图,包括:
S501、获取与轨迹分段对应的第一轨迹节点和第二轨迹节点,生成所述第一轨迹节点与所述第二轨迹节点之间的第一连线;
S502、计算所述轨迹分段上的轨迹点与所述第一连线的距离,将与所述第一轨迹节点的曲线距离最短,且与所述第一连线的距离大于或等于所述距离阈值的轨迹点设置为第一中间节点;
S503、连接所述第一中间节点与所述第二轨迹节点,生成第二连线;
S504、计算所述第一中间节点与所述第二轨迹节点之间的轨迹点与所述第二连线的距离,将与所述第一中间节点的曲线距离最短,且与所述第二连线的距离大于或等于所述距离阈值的轨迹点设置为第二中间节点;
S505、重复上述步骤,直至剩余曲线上的所有轨迹点与对应的中间连线的距离小于距离阈值;
S506、顺次连接所述第一轨迹节点、中间节点和所述第二轨迹节点,生成若干轨迹线段,所述中间节点包括所述第一中间节点和所述第二中间节点;
S507、拼接所述若干轨迹线段,生成拓扑路径,所述拓扑地图包括所述拓扑路径。
可选的,步骤S507之后,即所述拼接所述若干轨迹线段,生成拓扑路径,所述拓扑地图包括所述拓扑路径之后,还包括:
S5071、判断所述拓扑路径是否处于所述可行区域内;
S5072、若所述拓扑路径处于所述可行区域内,则判定所述拓扑路径可用;
S5073、若所述拓扑路径不处于所述可行区域内,则接收距离修改指令;
S5074、根据所述距离修改指令调整所述限制距离,获得修改后的限制距离;
S5075、根据所述修改后的限制距离生成修改后的可行区域。
可选的,步骤S507之后,即所述拼接所述若干轨迹线段,生成拓扑路径,所述拓扑地图包括所述拓扑路径之后,还包括:
判断所述轨迹线段是否处于所述可行区域内;
若所述轨迹线段不处于所述可行区域内,则降低所述距离阈值的数值获得新的距离阈值;
利用所述新的距离阈值执行所述在所述可行区域内,通过预设算法处理所述行动轨迹,以生成所述建图场景的拓扑地图的步骤。
关于机器人拓扑地图生成方法的具体限定可以参见上文中对于机器人拓扑地图生成***的限定,在此不再赘述。应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图7所示。该计算机设备包括通过***总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括可读存储介质、内存储器。该可读存储介质存储有操作***、计算机可读指令和数据库。该内存储器为可读存储介质中的操作***和计算机可读指令的运行提供环境。该计算机设备的数据库用于存储机器人拓扑地图生成方法所涉及的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机可读指令被处理器执行时以实现一种机器人拓扑地图生成方法。本实施例所提供的可读存储介质包括非易失性可读存储介质和易失性可读存储介质。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机可读指令,处理器执行计算机可读指令时实现以下步骤:
获取机器人在建图场景中的行动轨迹;
对所述行动轨迹进行滤波处理,生成均匀化点轨迹;
获取与所述均匀化点轨迹对应的深度图像数据;
根据所述深度图像数据生成所述建图场景的障碍物距离地图,根据所述障碍物距离地图设置可行区域;
在所述可行区域内,通过预设算法处理所述行动轨迹,生成所述建图场景的拓扑地图。
在一个实施例中,提供了一个或多个存储有计算机可读指令的计算机可读存储介质,本实施例所提供的可读存储介质包括非易失性可读存储介质和易失性可读存储介质。可读存储介质上存储有计算机可读指令,计算机可读指令被一个或多个处理器执行时实现以下步骤:
获取机器人在建图场景中的行动轨迹;
对所述行动轨迹进行滤波处理,生成均匀化点轨迹;
获取与所述均匀化点轨迹对应的深度图像数据;
根据所述深度图像数据生成所述建图场景的障碍物距离地图,根据所述障碍物距离地图设置可行区域;
在所述可行区域内,通过预设算法处理所述行动轨迹,生成所述建图场景的拓扑地图。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,所述的计算机可读指令可存储于一非易失性可读取存储介质或易失性可读存储介质中,该计算机可读指令在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (11)
1.一种机器人拓扑地图生成***,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,其特征在于,所述处理器用于执行所述计算机可读指令时以实现如下步骤:
获取机器人在建图场景中的行动轨迹;
对所述行动轨迹进行滤波处理,以生成均匀化点轨迹;
获取与所述均匀化点轨迹对应的深度图像数据;
根据所述深度图像数据生成所述建图场景的障碍物距离地图,根据所述障碍物距离地图设置可行区域;
在所述可行区域内,通过预设算法处理所述行动轨迹,以生成所述建图场景的拓扑地图。
2.如权利要求1所述的机器人拓扑地图生成***,其特征在于,所述对所述行动轨迹进行滤波处理,生成均匀化点轨迹,包括:
对所述行动轨迹进行插值,然后进行中值滤波和均值平滑处理,生成所述均匀化点轨迹,所述均匀化点轨迹中,相邻轨迹点的间距大于第一阈值,小于第二阈值。
3.如权利要求2所述的机器人拓扑地图生成***,其特征在于,所述第一阈值包括0.25m,所述第二阈值包括1m。
4.如权利要求1所述的机器人拓扑地图生成***,其特征在于,所述根据所述深度图像数据生成所述建图场景的障碍物距离地图,包括:
根据所述机器人在所述均匀化点轨迹中的位置拼接所述深度图像数据,生成包含障碍物位置的障碍物地图;
计算空闲位置与障碍物位置的距离值,根据所述距离值对所述障碍物地图进行渲染,生成所述障碍物距离地图。
5.如权利要求1所述的机器人拓扑地图生成***,其特征在于,所述根据所述深度图像数据生成所述建图场景的障碍物距离地图,根据所述障碍物距离地图设置可行区域,包括:
获取障碍物的限制距离;
获取与所述限制距离对应的限制像素值;
若障碍物的像素值为0,则将所述障碍物距离地图中像素值大于所述限制像素值的区域设置为所述可行区域;
若障碍物的像素值为255,则将所述障碍物距离地图中像素值小于所述限制像素值的区域设置为所述可行区域。
6.如权利要求5所述的机器人拓扑地图生成***,其特征在于,所述行动轨迹包括若干轨迹分段;
所述在所述可行区域内,通过预设算法处理所述行动轨迹,生成所述建图场景的拓扑地图,包括:
获取与轨迹分段对应的第一轨迹节点和第二轨迹节点,生成所述第一轨迹节点与所述第二轨迹节点之间的第一连线;
计算所述轨迹分段上的轨迹点与所述第一连线的距离,将与所述第一轨迹节点的曲线距离最短,且与所述第一连线的距离大于或等于所述距离阈值的轨迹点设置为第一中间节点;
连接所述第一中间节点与所述第二轨迹节点,生成第二连线;
计算所述第一中间节点与所述第二轨迹节点之间的轨迹点与所述第二连线的距离,将与所述第一中间节点的曲线距离最短,且与所述第二连线的距离大于或等于所述距离阈值的轨迹点设置为第二中间节点;
重复上述步骤,直至剩余曲线上的所有轨迹点与对应的中间连线的距离小于距离阈值;
顺次连接所述第一轨迹节点、中间节点和所述第二轨迹节点,生成若干轨迹线段,所述中间节点包括所述第一中间节点和所述第二中间节点;
拼接所述若干轨迹线段,生成拓扑路径,所述拓扑地图包括所述拓扑路径。
7.如权利要求6所述的机器人拓扑地图生成***,其特征在于,所述拼接所述若干轨迹线段,生成拓扑路径,所述拓扑地图包括所述拓扑路径之后,还包括:
判断所述拓扑路径是否处于所述可行区域内;
若所述拓扑路径处于所述可行区域内,则判定所述拓扑路径可用;
若所述拓扑路径不处于所述可行区域内,则接收距离修改指令;
根据所述距离修改指令调整所述限制距离,获得修改后的限制距离;
根据所述修改后的限制距离生成修改后的可行区域。
8.如权利要求6所述的机器人拓扑地图生成***,其特征在于,所述拼接所述若干轨迹线段,生成拓扑路径,所述拓扑地图包括所述拓扑路径之后,还包括:
判断所述轨迹线段是否处于所述可行区域内;
若所述轨迹线段不处于所述可行区域内,则降低所述距离阈值的数值获得新的距离阈值;
利用所述新的距离阈值执行所述在所述可行区域内,通过预设算法处理所述行动轨迹,以生成所述建图场景的拓扑地图的步骤。
9.一种机器人拓扑地图生成方法,其特征在于,包括:
获取机器人在建图场景中的行动轨迹;
对所述行动轨迹进行滤波处理,以生成均匀化点轨迹;
获取与所述均匀化点轨迹对应的深度图像数据;
根据所述深度图像数据生成所述建图场景的障碍物距离地图,根据所述障碍物距离地图设置可行区域;
在所述可行区域内,通过预设算法处理所述行动轨迹,以生成所述建图场景的拓扑地图。
10.一种计算机设备,其特征在于,所述处理器执行所述计算机可读指令时实现如权利要求9中任意一项所述的机器人拓扑地图生成方法。
11.一个或多个存储有计算机可读指令的可读存储介质,所述计算机可读指令被一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求9中任意一项所述的机器人拓扑地图生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110874201.4A CN113741422B (zh) | 2021-07-30 | 2021-07-30 | 机器人拓扑地图生成***、方法、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110874201.4A CN113741422B (zh) | 2021-07-30 | 2021-07-30 | 机器人拓扑地图生成***、方法、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113741422A true CN113741422A (zh) | 2021-12-03 |
CN113741422B CN113741422B (zh) | 2024-04-12 |
Family
ID=78729596
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110874201.4A Active CN113741422B (zh) | 2021-07-30 | 2021-07-30 | 机器人拓扑地图生成***、方法、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113741422B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100611328B1 (ko) * | 2005-06-30 | 2006-08-11 | 고려대학교 산학협력단 | 세선화 기반 위상지도의 작성방법 및 그 장치, 이동로봇의탐사를 통한 세선화 기반 위상지도 작성방법 및 그 장치 |
CN106643721A (zh) * | 2016-10-11 | 2017-05-10 | 北京工业大学 | 一种环境拓扑地图的构建方法 |
CN107329476A (zh) * | 2017-08-02 | 2017-11-07 | 珊口(上海)智能科技有限公司 | 一种房间拓扑地图构建方法、***、装置及扫地机器人 |
WO2018121448A1 (zh) * | 2016-12-30 | 2018-07-05 | 深圳市杉川机器人有限公司 | 移动机器人的拓扑地图创建方法、导航方法、可编程设备及计算机可读介质 |
US20190286122A1 (en) * | 2018-03-19 | 2019-09-19 | Shenzhen Xiluo Robot Co., Ltd. | Method and System for Presenting Trajectory of Robot and Environmental Map |
US20190310653A1 (en) * | 2018-04-05 | 2019-10-10 | Electronics And Telecommunications Research Institute | Topological map generation apparatus for navigation of robot and method thereof |
CN110361009A (zh) * | 2019-07-12 | 2019-10-22 | 深圳市银星智能科技股份有限公司 | 一种路径规划方法、路径规划***以及移动机器人 |
CN111158384A (zh) * | 2020-04-08 | 2020-05-15 | 炬星科技(深圳)有限公司 | 机器人建图方法、设备及存储介质 |
CN111366163A (zh) * | 2018-12-25 | 2020-07-03 | 北京欣奕华科技有限公司 | 一种拓扑地图的处理方法、装置及存储介质 |
-
2021
- 2021-07-30 CN CN202110874201.4A patent/CN113741422B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100611328B1 (ko) * | 2005-06-30 | 2006-08-11 | 고려대학교 산학협력단 | 세선화 기반 위상지도의 작성방법 및 그 장치, 이동로봇의탐사를 통한 세선화 기반 위상지도 작성방법 및 그 장치 |
CN106643721A (zh) * | 2016-10-11 | 2017-05-10 | 北京工业大学 | 一种环境拓扑地图的构建方法 |
WO2018121448A1 (zh) * | 2016-12-30 | 2018-07-05 | 深圳市杉川机器人有限公司 | 移动机器人的拓扑地图创建方法、导航方法、可编程设备及计算机可读介质 |
CN107329476A (zh) * | 2017-08-02 | 2017-11-07 | 珊口(上海)智能科技有限公司 | 一种房间拓扑地图构建方法、***、装置及扫地机器人 |
US20190286122A1 (en) * | 2018-03-19 | 2019-09-19 | Shenzhen Xiluo Robot Co., Ltd. | Method and System for Presenting Trajectory of Robot and Environmental Map |
US20190310653A1 (en) * | 2018-04-05 | 2019-10-10 | Electronics And Telecommunications Research Institute | Topological map generation apparatus for navigation of robot and method thereof |
CN111366163A (zh) * | 2018-12-25 | 2020-07-03 | 北京欣奕华科技有限公司 | 一种拓扑地图的处理方法、装置及存储介质 |
CN110361009A (zh) * | 2019-07-12 | 2019-10-22 | 深圳市银星智能科技股份有限公司 | 一种路径规划方法、路径规划***以及移动机器人 |
CN111158384A (zh) * | 2020-04-08 | 2020-05-15 | 炬星科技(深圳)有限公司 | 机器人建图方法、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
王娜;马昕;: "基于细化算法的移动机器人拓扑地图创建", 计算机技术与发展, no. 10 * |
Also Published As
Publication number | Publication date |
---|---|
CN113741422B (zh) | 2024-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108958233B (zh) | 一种感知模拟方法和装置 | |
US20220198688A1 (en) | Laser coarse registration method, device, mobile terminal and storage medium | |
CN109186618B (zh) | 地图构建方法、装置、计算机设备及存储介质 | |
CN114930401A (zh) | 基于点云的三维重建方法、装置和计算机设备 | |
CN109543634B (zh) | 定位过程中的数据处理方法、装置、电子设备和存储介质 | |
CN115609594B (zh) | 机械臂路径的规划方法、装置、上位控制端及存储介质 | |
CN112560684A (zh) | 车道线检测方法、装置、电子设备、存储介质以及车辆 | |
CN111985300B (zh) | 自动驾驶动态目标定位方法、装置、电子设备及存储介质 | |
CN108564604B (zh) | 基于平面约束和三角剖分的双目视觉立体匹配方法及装置 | |
CN110253579B (zh) | 基于圆弧特征提取的机器人定位方法、装置、设备及介质 | |
EP4239596A1 (en) | Method and apparatus for detecting drivable area, mobile device and storage medium | |
CN112700516A (zh) | 基于深度学习的视频渲染方法、装置、计算机设备以及存储介质 | |
CN110717141B (zh) | 一种车道线优化方法、装置及存储介质 | |
CN115014328A (zh) | 一种栅格地图的动态加载方法、装置、设备和介质 | |
Jelinek et al. | Fast total least squares vectorization | |
CN115143951A (zh) | 栅格地图更新***、方法、计算机设备及存储介质 | |
CN110930444A (zh) | 一种基于双边优化的点云匹配方法、介质、终端和装置 | |
CN113741422B (zh) | 机器人拓扑地图生成***、方法、计算机设备及存储介质 | |
CN113724383A (zh) | 机器人拓扑地图生成***、方法、计算机设备及存储介质 | |
CN113724384A (zh) | 机器人拓扑地图生成***、方法、计算机设备及存储介质 | |
CN111882494A (zh) | 位姿图处理方法、装置、计算机设备和存储介质 | |
CN106303153B (zh) | 一种图像处理方法及装置 | |
CN114459483B (zh) | 基于机器人导航用地标导航地图构建与应用方法、*** | |
CN115641436A (zh) | 一种区域分割的方法、装置及机器人装置 | |
CN114723917A (zh) | 激光里程计的位姿优化方法、装置、介质及设备 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |