用于移动机器人避障的方法
技术领域
本申请涉及计算机技术领域,尤其涉及一种用于移动机器人避障的技术。
背景技术
随着科学技术的不断发展,机器人在生活中出现的已经变得很普遍了,特别是扫地机器人,已经走进了千家万户,帮人们完成了家庭打扫的任务。在机器人完成每一个任务的同时,伴随着环境的多种多样,机器人也就面临这样或那样的挑战,避障和脱困也就是其完成既定任务的保障。现有技术中,机器人的避障主要利用超声或激光传感器,感知周围环境的障碍信息,进行局部路径规划来避障运动,但是由于存在激光不可见障碍物,例如玻璃等,激光就无法识别,所以对于激光不可见障碍物并没有很好的避障方法。
发明内容
本申请的目的是提供一种用于移动机器人避障的方法与设备。
根据本申请的一个方面,提供了一种用于移动机器人避障的方法,其中,该方法包括:
确定当前碰撞点为移动机器人需避开的激光不可见障碍物;
基于当前碰撞点以及历史碰撞点构造虚拟障碍物,以使所述移动机器人避开所述激光不可见障碍物。
进一步地,其中,所述基于当前碰撞点以及历史碰撞点构造虚拟障碍物包括:
基于所述当前碰撞点添加预设长度的当前撞击辅助线段;
基于所述当前撞击辅助线段以及历史撞击辅助线段,构造虚拟障碍物。
进一步地,其中,所述基于所述当前撞击辅助线段以及历史撞击辅助线段,构造虚拟障碍物包括:
基于所述当前撞击辅助线段,以预设分辨率确定栅格点以及每个栅格点的栅格点坐标;
将所述栅格点坐标加入候选点字典,其中,所述候选点字典中包括基于所述历史撞击辅助线段添加的栅格点坐标;
基于所述候选点字典中的栅格点坐标,构造虚拟障碍物。
进一步地,其中,所述基于所述候选点字典中的栅格点坐标,构造虚拟障碍物包括:
基于所述候选点字典中的栅格点坐标,查询碰撞次数达到碰撞次数阈值的栅格点;
基于所述达到碰撞次数阈值的栅格点,添加虚拟线段,以构造虚拟障碍物。
根据本申请的另一个方面,提供了一种用于控制移动机器人避障的设备,其中,该设备包括:
第一装置,用于确定当前碰撞点为移动机器人需避开的激光不可见障碍物;
第二装置,用于基于当前碰撞点以及历史碰撞点构造虚拟障碍物,以使所述移动机器人避开所述激光不可见障碍物。
进一步地,其中,所述第二单元包括:
第一子单元,用于基于所述当前撞击辅助线段,以预设分辨率确定栅格点以及每个栅格点的栅格点坐标;
第二子单元,用于将所述栅格点坐标加入候选点字典,其中,所述候选点字典中包括基于所述历史撞击辅助线段添加的栅格点坐标;
第三子单元,用于基于所述候选点字典中的栅格点坐标,构造虚拟障碍物。
进一步地,其中,所述第三子单元用于:
基于所述候选点字典中的栅格点坐标,查询碰撞次数达到碰撞次数阈值的栅格点;
基于所述达到碰撞次数阈值的栅格点,添加虚拟线段,以构造虚拟障碍物。
与现有技术相比,本申请通过确定当前碰撞点为移动机器人需避开的激光不可见障碍物,然后基于当前碰撞点以及历史碰撞点构造虚拟障碍物,以使所述移动机器人避开所述激光不可见障碍物。通过这种方式,在移动机器人碰撞到激光不可见障碍物时,能够避开所述激光不可见障碍物,从而完成相应的功能任务,从而使移动机器人完成更加合理的全局任务规划。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1示出根据本申请一个方面的一种用于移动机器人避障的方法流程图;
图2示出根据本申请一个优选实施例的一种移动机器人撞击辅助线段添加示意图;
图3示出根据本申请另一个方面的一种移动机器人对于轮廓规则的激光不可见障碍物的虚拟障碍物示意图;
图4示出根据本申请另一个优选实施例的一种移动机器人对于轮廓不规则的激光不可见障碍物的虚拟障碍物示意图;
图5示出根据本申请另一个方面的一种用于移动机器人避障的设备示意图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本发明作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
为更进一步阐述本申请所采取的技术手段及取得的效果,下面结合附图及较佳实施例,对本申请的技术方案,进行清楚和完整的描述。
图1示出根据本申请一个方面的一种用于移动机器人避障的方法,其中,所述方法包括:
S1确定当前碰撞点为移动机器人需避开的激光不可见障碍物;
S2基于当前碰撞点以及历史碰撞点构造虚拟障碍物,以使所述移动机器人避开所述激光不可见障碍物。
在该实施例中,在所述步骤S1中,在移动机器人与当前碰撞点发生碰撞时,首先确定所述碰撞点为移动机器人需避开的激光不可见障碍物,优选地,其中,所述步骤S1包括:S11(未示出)基于所述当前碰撞点添加预设长度的当前撞击辅助线段;S12(未示出)基于所述当前撞击辅助线段以及历史撞击辅助线段,构造虚拟障碍物。
具体地,在所述步骤S11中,在与当前碰撞点发生碰撞时,可以基于当前碰撞点添加预设长度的当前撞击辅助线段,该当前撞击辅助线段用于辅助构造虚拟障碍物。如图2示出移动机器人撞击辅助线段添加示意图,如图所示撞击点1为移动机器人1的当前撞击点,在确定了撞击点1后,以一定的角度和长度添加撞击辅助线段1,在此,辅助线段1的长度可以是预设好的,通常可以根据移动机器人的大小来设置该预设长度,例如,对于圆形移动机器人可以根据半径信息来设置该预设长度,对于半径比较大的移动机器人该预设长度可以大一点儿。对于撞击辅助线段1的角度,可以设置为撞击点1与移动机器人圆心所确定的线段的垂直方向,或者一开始的预设角度方向。
继续在该实施例中,在所述步骤S12中,对于每次撞击的撞击点,都会根据该撞击点设置撞击辅助线段,因此,会有多个的历史撞击辅助线段以及当前撞击辅助线段,根据该当前辅助线段以及多个历史撞击辅助线段,可以构造虚拟障碍物,例如,可以将该多条撞击辅助线段的交点所组成的曲线或者直线构成该虚拟障碍物。
其中,所述步骤S12包括:S121(未示出)基于所述当前撞击辅助线段,以预设分辨率确定栅格点以及每个栅格点的栅格点坐标;S122(未示出)将所述栅格点坐标加入候选点字典,其中,所述候选点字典中包括基于所述历史撞击辅助线段添加的栅格点坐标;S123(未示出)基于所述候选点字典中的栅格点坐标,构造虚拟障碍物。
在该实施例中,在所述步骤S121中,当确定了当前辅助线段之后,以预先设置好的预设分辨率,将该撞击辅助线段拆分成多个栅格点,并确定每个栅格点的坐标。
在所述步骤S122中,将所述多个栅格点的坐标加入候选点字典,在此,所述候选点字典中基于所述历史撞击辅助线段添加的栅格点坐标,也即,历史撞击辅助线段也会以同样的方法拆分成多个栅格点,并将对应的栅格点坐标加入该候选点字典,因此,所述候选点字典中存储了大量的栅格点坐标。
进一步地,在所述步骤S123中,基于所述候选点字典中的栅格点坐标,构造虚拟障碍物。具体地,可以根据所述多个栅格点坐标提取符合要求的线段,例如,将能够构成较规则的虚拟障碍物的栅格点提取出来,对虚拟障碍物进行构造等等。
优选地,其中,所述步骤S123包括:基于所述候选点字典中的栅格点坐标,查询碰撞次数达到碰撞次数阈值的栅格点;基于所述达到碰撞次数阈值的栅格点,添加虚拟线段,以构造虚拟障碍物。
在该实施例中,通过分析所述候选点字典中的栅格点坐标,查找到碰撞次数达到碰撞次数阈值的栅格点,也即在该移动机器人运动的过程中,可能某个栅格点碰撞点的次数较多,可以达到碰撞次数阈值,因此,可以将该达到碰撞次数阈值的栅格点选取出来,并根据该达到碰撞次数阈值的栅格点,添加虚拟线段,以构造虚拟障碍物。例如,可以将碰撞次数阈值的栅格点进行连接,对于轮廓规则的激光不可见障碍物可能构成直线,而对于轮廓不规则的激光不可见障碍物可能构成曲线,从而构造出不同的虚拟障碍物。
如图3为移动机器人对于轮廓规则的激光不可见障碍物的虚拟障碍物示意图。在此,激光不可见障碍物为B玻璃墙面,如图,A、C为实墙面,E为多个撞击点,由于撞击点在一条直线上,因此,可以构造出D虚拟玻璃墙面,作为虚拟障碍物,其中,D虚拟玻璃墙面为一条规则的直线段。
如图4为移动机器人对于轮廓不规则的激光不可见障碍物的虚拟障碍物示意图。其中,H为不规则边缘障碍物,G为满足碰撞次数阈值的撞击点,将该多个撞击点顺次连接成平滑的曲线,则构成I虚拟玻璃墙面,作为虚拟障碍物。
与现有技术相比,本申请通过确定当前碰撞点为移动机器人需避开的激光不可见障碍物,然后基于当前碰撞点以及历史碰撞点构造虚拟障碍物,以使所述移动机器人避开所述激光不可见障碍物。通过这种方式,在移动机器人碰撞到激光不可见障碍物时,能够避开所述激光不可见障碍物,从而完成相应的功能任务,从而使移动机器人完成更加合理的全局任务规划。
图5示出根据本申请另一个方面的一种用于移动机器人避障的设备1,其中,所述设备1包括:
第一装置,用于确定当前碰撞点为移动机器人需避开的激光不可见障碍物;
第二装置,用于基于当前碰撞点以及历史碰撞点构造虚拟障碍物,以使所述移动机器人避开所述激光不可见障碍物。
在该实施例中,在移动机器人与当前碰撞点发生碰撞时,所述第一装置首先确定所述碰撞点为移动机器人需避开的激光不可见障碍物,优选地,其中,所述第二装置包括:第一单元(未示出)基于所述当前碰撞点添加预设长度的当前撞击辅助线段;第二单元(未示出)基于所述当前撞击辅助线段以及历史撞击辅助线段,构造虚拟障碍物。
具体地,在与当前碰撞点发生碰撞时,所述第一单元可以基于当前碰撞点添加预设长度的当前撞击辅助线段,该当前撞击辅助线段用于辅助构造虚拟障碍物。如图2示出移动机器人撞击辅助线段添加示意图,如图所示撞击点1为移动机器人1的当前撞击点,在确定了撞击点1后,以一定的角度和长度添加撞击辅助线段1,在此,辅助线段1的长度可以是预设好的,通常可以根据移动机器人的大小来设置该预设长度,例如,对于圆形移动机器人可以根据半径信息来设置该预设长度,对于半径比较大的移动机器人该预设长度可以大一点儿。对于撞击辅助线段1的角度,可以设置为撞击点1与移动机器人圆心所确定的线段的垂直方向,或者一开始的预设角度方向。
继续在该实施例中,对于每次撞击的撞击点,所述第二单元都会根据该撞击点设置撞击辅助线段,因此,会有多个的历史撞击辅助线段以及当前撞击辅助线段,根据该当前辅助线段以及多个历史撞击辅助线段,可以构造虚拟障碍物,例如,可以将该多条撞击辅助线段的交点所组成的曲线或者直线构成该虚拟障碍物。
其中,所述第二单元包括:第一子单元(未示出),用于基于所述当前撞击辅助线段,以预设分辨率确定栅格点以及每个栅格点的栅格点坐标;以及第二子单元(未示出),用于将所述栅格点坐标加入候选点字典,其中,所述候选点字典中包括基于所述历史撞击辅助线段添加的栅格点坐标;以及第三子单元(未示出),用于基于所述候选点字典中的栅格点坐标,构造虚拟障碍物。
在该实施例中,当确定了当前辅助线段之后,所述第一子单元以预先设置好的预设分辨率,将该撞击辅助线段拆分成多个栅格点,并确定每个栅格点的坐标。
继续在该实施例中,所述第二子单元将所述多个栅格点的坐标加入候选点字典,在此,所述候选点字典中基于所述历史撞击辅助线段添加的栅格点坐标,也即,历史撞击辅助线段也会以同样的方法拆分成多个栅格点,并将对应的栅格点坐标加入该候选点字典,因此,所述候选点字典中存储了大量的栅格点坐标。
进一步地,所述第三子单元基于所述候选点字典中的栅格点坐标,构造虚拟障碍物。具体地,可以根据所述多个栅格点坐标提取符合要求的线段,例如,将能够构成较规则的虚拟障碍物的栅格点提取出来,对虚拟障碍物进行构造等等。
优选地,其中,所述第三子单元用于:基于所述候选点字典中的栅格点坐标,查询碰撞次数达到碰撞次数阈值的栅格点;基于所述达到碰撞次数阈值的栅格点,添加虚拟线段,以构造虚拟障碍物。
在该实施例中,通过分析所述候选点字典中的栅格点坐标,查找到碰撞次数达到碰撞次数阈值的栅格点,也即在该移动机器人运动的过程中,可能某个栅格点碰撞点的次数较多,可以达到碰撞次数阈值,因此,可以将该达到碰撞次数阈值的栅格点选取出来,并根据该达到碰撞次数阈值的栅格点,添加虚拟线段,以构造虚拟障碍物。例如,可以将碰撞次数阈值的栅格点进行连接,对于轮廓规则的激光不可见障碍物可能构成直线,而对于轮廓不规则的激光不可见障碍物可能构成曲线,从而构造出不同的虚拟障碍物。
如图3为移动机器人对于轮廓规则的激光不可见障碍物的虚拟障碍物示意图。在此,激光不可见障碍物为B玻璃墙面,如图,A、C为实墙面,E为多个撞击点,由于撞击点在一条直线上,因此,可以构造出D虚拟玻璃墙面,作为虚拟障碍物,其中,D虚拟玻璃墙面为一条规则的直线段。
如图4为移动机器人对于轮廓不规则的激光不可见障碍物的虚拟障碍物示意图。其中,H为不规则边缘障碍物,G为满足碰撞次数阈值的撞击点,将该多个撞击点顺次连接成平滑的曲线,则构成I虚拟玻璃墙面,作为虚拟障碍物。
与现有技术相比,本申请通过确定当前碰撞点为移动机器人需避开的激光不可见障碍物,然后基于当前碰撞点以及历史碰撞点构造虚拟障碍物,以使所述移动机器人避开所述激光不可见障碍物。通过这种方式,在移动机器人碰撞到激光不可见障碍物时,能够避开所述激光不可见障碍物,从而完成相应的功能任务,从而使移动机器人完成更加合理的全局任务规划。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。