本发明涉及导航技术领域,尤其涉及一种虚拟避障方法、装置、存储介质及机器人。
背景技术:
机器人的导航过程,主要依靠各种传感器(如激光雷达)来感知其周边的环境,例如是否存在障碍物等信息。但是,激光雷达的光束能够穿透玻璃,无法检测到玻璃等透明物体,因而在导航过程中会将玻璃等透明物体当做是可用的空闲区域;此外,某些环境中,存在某些危险或隐私区域,比如存放易燃易爆物体的房间等。针对这些场景,我们希望机器人能够自主绕开这些区域(玻璃、危险区域等)。虽然目前已开发了使用虚拟障碍物进行避障,但是,在目前机器人虚拟避障中,还是会面临着机器人部分身体与虚拟障碍物重叠,出现虚拟障碍物避障失败的情况。
技术实现要素:
本发明的目的在于提供一种虚拟避障方法、装置、存储介质及机器人,来解决在目前机器人虚拟避障中,还是会面临着机器人部分身体与虚拟障碍物重叠,出现虚拟障碍物避障失败的情况的问题。
为达此目的,本发明采用以下技术方案:
一种虚拟避障方法,包括:在初始地图上添加若干虚拟障碍物,生成虚拟限制地图;具体包括如下步骤:
获取用户在初始地图上绘制的虚拟障碍物参数,生成若干虚拟障碍物;
对所述虚拟障碍物进行优化,具体包括:优化所述虚拟障碍物的形状,自动填补虚拟障碍物边缘凹口宽度小于机器人通行直径的凹陷区域;和/或,对所述虚拟障碍物进行邻域归类,将间隔小于机器人通行直径的虚拟障碍物归并在一起;
将优化后的虚拟障碍物添加到初始地图上,生成虚拟限制地图。
可选的,所述步骤:在初始地图上添加若干虚拟障碍物,生成虚拟限制地图之后,还包括:
实时扫描实际障碍物,将所述实际障碍物添加进入虚拟限制地图中,生成实时地图;
对实时地图中的各障碍物按其轮廓等间距向外扩张,生成实时导航地图,所述障碍物包括虚拟障碍物和实际障碍物;
根据实时导航地图中的各障碍物进行避障。
可选的,所述对实时地图中的各障碍物按其轮廓等间距向外扩张,具体包括:
在障碍物的当前轮廓边线外绘制出环绕当前轮廓边线的膨胀轮廓边线,膨胀轮廓边线上各点到当前轮廓边线的距离大于或等于机器人的通行半径,由膨胀轮廓边线形成扩张后的障碍物。
可选的,所述虚拟障碍物参数包括形成若干个虚拟障碍物轮廓的顶点,通过依次将各顶点连接起来生成虚拟障碍物。
可选的,所述步骤:在初始地图上添加若干虚拟障碍物,生成虚拟限制地图之前,还包括:
预先加载初始地图,初始地图上包含若干初始障碍物。
一种虚拟避障装置,包括:虚拟障碍物模块,用于在初始地图上添加若干虚拟障碍物,生成虚拟限制地图;所述虚拟障碍物模块包括:
虚拟障碍物生成单元,用于获取用户在初始地图上绘制的虚拟障碍物参数,生成若干虚拟障碍物;
虚拟障碍物优化单元,用于优化所述虚拟障碍物的形状,自动填补虚拟障碍物边缘凹口宽度小于机器人通行直径的凹陷区域;和/或,用于对所述虚拟障碍物进行邻域归类,将间隔小于机器人通行直径的虚拟障碍物归并在一起;
虚拟障碍物添加单元:将优化后的虚拟障碍物添加到初始地图上,生成虚拟限制地图。
可选的,虚拟避障装置还包括:实际障碍物模块,用于实时扫描实际障碍物,将所述实际障碍物添加进入虚拟限制地图中,生成实时地图;
障碍物扩张模块,用于对实时地图中的各障碍物按其轮廓等间距向外扩张,生成实时导航地图,所述障碍物包括虚拟障碍物和实际障碍物;
避障模块,用于根据实时导航地图中的各障碍物进行避障。
一种存储介质,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行如上任一所述的虚拟避障方法中的步骤。
一种机器人,所述机器人包括如上任一所述的虚拟避障装置。
与现有技术相比,本发明实施例具有以下有益效果:
本发明通过对虚拟障碍物进行优化:优化虚拟障碍物的形状和合并小间距障碍物,减少机器人导航时的运算量,同时防止了机器人行走时由于间隔太小导致机器人部分身体进入了障碍物区域,出现避障失败的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例一提供的一种虚拟避障方法的流程图;
图2为本发明实施例一提供的一种虚拟避障方法的步骤s102的具体流程图;
图3为本发明实施例二提供的一种虚拟避障装置的结构示意图。
图中:10、虚拟障碍物模块;11、虚拟障碍物生成单元;12、虚拟障碍物优化单元;13、虚拟障碍物添加单元;20、实际障碍物模块;30、障碍物扩张模块;40、避障模块。
具体实施方式
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。
实施例一
请参考图1,一种虚拟避障方法,包括如下步骤:
步骤s101:预先加载初始地图,初始地图上包含若干初始障碍物。
步骤s102:在初始地图上添加若干虚拟障碍物,生成虚拟限制地图。
步骤s103:实时扫描实际障碍物,将所述实际障碍物添加进入虚拟限制地图中,生成实时地图。
步骤s104:对实时地图中的各障碍物按其轮廓等间距向外扩张,生成实时导航地图;其中,障碍物包括初始障碍物、虚拟障碍物和实际障碍物。
步骤s105:根据实时导航地图中的各障碍物进行避障。
进一步的,步骤s104具体包括:在障碍物的当前轮廓边线外绘制出环绕当前轮廓边线的膨胀轮廓边线,膨胀轮廓边线上各点到当前轮廓边线的距离大于或等于机器人的通行半径,由膨胀轮廓边线形成扩张后的障碍物。
其中,机器人的通行半径为机器人通行时所需最大宽度的一半,机器人的通行直径为机器人通行时所需的最大宽度。
通过对实时地图中的各障碍物进行扩张,能够减小机器人在实时导航时处理器的障碍物计算量,降低处理器的使用需求。
进一步的,请参考图2,步骤s102具体包括:
步骤s1021:启动用户设置功能,允许用户在初始地图上进行虚拟障碍物的参数绘制;其中,用户可以通过点/线/多边形等方式绘制虚拟障碍物的形状、尺寸等参数。
步骤s1022:获取用户在初始地图上绘制的虚拟障碍物参数,生成若干虚拟障碍物,并将其储存。
其中,虚拟障碍物参数包括形成若干个虚拟障碍物轮廓的顶点,通过依次将各顶点连接起来生成虚拟障碍物。
步骤s1023:对虚拟障碍物进行优化,具体为:
优化虚拟障碍物的形状,自动填补虚拟障碍物边缘凹口宽度小于机器人通行直径的凹陷区域。
具体的,若虚拟障碍物的边缘存在凹陷的区域,且凹口的宽度小于机器人的通行直径,则自动填补凹陷的区域,使其与虚拟障碍物成为一个整体。
对虚拟障碍物进行邻域归类,将间隔小于机器人通行直径的虚拟障碍物归并在一起;具体包括:
若两虚拟障碍物之间的间距小于机器人的通行直径,则将其合并为一个虚拟障碍物;若合并后的虚拟障碍物与相邻的其他虚拟障碍物之间的间距小于机器人的通行直径,则继续合并为一个虚拟障碍物,直到任意两相邻虚拟障碍物之间的间距大于机器人的通行直径为止。
通过优化虚拟障碍物,以防止机器人行走时由于间隔太小导致机器人部分身体进入了虚拟障碍物区域,出现虚拟障碍物避障失败的问题。
步骤s1024:将虚拟障碍物添加到初始地图上,生成虚拟限制地图。
本实施例提供的一种虚拟避障方法,通过对虚拟障碍物进行优化:优化虚拟障碍物的形状和合并小间距障碍物,减少机器人导航时的运算量,同时防止了机器人行走时由于间隔太小导致机器人部分身体进入了障碍物区域,出现避障失败的问题。
实施例二
一种虚拟避障装置,包括:虚拟障碍物模块10,用于在初始地图上添加若干虚拟障碍物,生成虚拟限制地图;所述虚拟障碍物模块包括:
虚拟障碍物生成单元11,用于获取用户在初始地图上绘制的虚拟障碍物参数,生成若干虚拟障碍物;
虚拟障碍物优化单元12,用于优化所述虚拟障碍物的形状,自动填补虚拟障碍物边缘凹口宽度小于机器人通行直径的凹陷区域;和/或,用于对所述虚拟障碍物进行邻域归类,将间隔小于机器人通行直径的虚拟障碍物归并在一起;
虚拟障碍物添加单元13,用于优化后的虚拟障碍物添加到初始地图上,生成虚拟限制地图。
具体的,本实施例的虚拟避障装置还包括:实际障碍物模块20,用于实时扫描实际障碍物,将所述实际障碍物添加进入虚拟限制地图中,生成实时地图;
障碍物扩张模块30,用于对实时地图中的各障碍物按其轮廓等间距向外扩张,生成实时导航地图,所述障碍物包括虚拟障碍物和实际障碍物;
避障模块40,用于根据实时导航地图中的各障碍物进行避障。
本实施例提供的一种虚拟避障装置,通过对虚拟障碍物进行优化:优化虚拟障碍物的形状和合并小间距障碍物,防止了机器人行走时由于间隔太小导致机器人部分身体进入了障碍物区域,出现避障失败的问题。
实施例三
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本发明实施例提供一种存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例所提供的任一种人脸目标测距方法中的步骤。例如,该指令可以执行如下步骤:
在初始地图上添加若干虚拟障碍物,生成虚拟限制地图;具体包括如下步骤:
获取用户在初始地图上绘制的虚拟障碍物参数,生成若干虚拟障碍物;
对所述虚拟障碍物进行优化,具体包括:优化所述虚拟障碍物的形状,自动填补虚拟障碍物边缘凹口宽度小于机器人通行直径的凹陷区域;和/或,对所述虚拟障碍物进行邻域归类,将间隔小于机器人通行直径的虚拟障碍物归并在一起;
将优化后的虚拟障碍物添加到初始地图上,生成虚拟限制地图。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该存储介质可以包括:只读存储器(rom,readonlymemory)、随机存取记忆体(ram,randomaccessmemory)、磁盘或光盘等。
实施例四
本实施例提供一种机器人,该机器人包括如上实施例二所述的虚拟避障装置。
虚拟避障装置的具体结构实施例二已有具体讲解,在此不再赘述。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。