CN113124850B - 机器人、地图生成方法、电子设备及存储介质 - Google Patents
机器人、地图生成方法、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113124850B CN113124850B CN201911401112.7A CN201911401112A CN113124850B CN 113124850 B CN113124850 B CN 113124850B CN 201911401112 A CN201911401112 A CN 201911401112A CN 113124850 B CN113124850 B CN 113124850B
- Authority
- CN
- China
- Prior art keywords
- position information
- robot
- positioning
- moment
- type
- 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.)
- Active
Links
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
Abstract
本申请提供了一种机器人、地图生成方法、电子设备及存储介质,包括激光传感器、视觉传感器和控制装置,控制装置包括位置预估模块、位置修正模块和地图生成模块;位置预估模块设置为使用激光传感器按照设定时间间隔预估机器人的定位位置信息;位置修正模块设置为在基于视觉传感器探测到设置于目标区域内的定位码时,基于定位码对使用激光传感器预估的机器人的定位位置信息进行位置修正,直至得到目标区域对应的栅格地图;地图生成模块设置为基于机器人在目标区域对应的场景地图中的规划路径信息,确定机器人在栅格地图中对应的行驶路径信息。本申请提高了地图构建的速度和准确度。
Description
技术领域
本申请涉及机器人技术领域,具体而言,涉及一种机器人、地图生成方法、电子设备及存储介质。
背景技术
随着电子商务的快速发展,既给物流仓储行业带来了迅速崛起的契机,也给仓储物品的分拣等带来前所未有的挑战。为了提高物流过程中的货物搬运效率,搬运机器人以及智能仓储应运而生。
在机器人在执行搬运工作时,需要实时根据机器人位置以及运输路径完成运输,因此机器人的行驶路径地图的提前确定就显得尤为重要,尤其是针对陌生的运输环境,提前确定机器人的行驶路径能够帮助机器人顺利完成运输任务。
因此如何能够快速生成准确度较高的机器人行驶路径地图,成为目标亟待解决的问题。
发明内容
本申请实施例至少提供一种机器人,以快速准确地构建机器人行驶地图。
第一方面,本公开实施例提供了一种机器人,所述机器人包括激光传感器、视觉传感器和控制装置,所述控制装置包括位置预估模块、位置修正模块和地图生成模块;
所述位置预估模块设置为在确定机器人进入目标区域后,使用激光传感器按照设定时间间隔预估所述机器人的定位位置信息;
所述位置修正模块设置为在基于视觉传感器探测到设置于所述目标区域内的定位码时,基于所述定位码对使用激光传感器预估的所述机器人的定位位置信息进行位置修正,直至得到所述目标区域对应的栅格地图;
所述地图生成模块设置为基于机器人在所述目标区域对应的场景地图中的规划路径信息,确定机器人在所述栅格地图中对应的行驶路径信息;所述栅格地图中的行驶路径信息用于指引机器人在所述目标区域中执行运输任务。
在一种可能的实施方式中,所述机器人还包括存储装置,所述位置预估模块进一步设置为:
在检测到机器人进入所述目标区域后,控制所述激光传感器按照设定时间间隔获取不同障碍物与所述机器人的相对位置信息;
获取机器人的存储装置中存储所述机器人在当前时刻的上一时刻的定位位置信息以及不同障碍物与所述机器人的相对位置信息;
基于所述上一时刻的定位位置信息、当前时刻的不同障碍物与所述机器人的相对位置信息,以及所述当前时刻的上一时刻的不同障碍物与所述机器人的相对位置信息,预估所述机器人在当前时刻的定位位置信息。
在一种可能的实施方式中,所述位置预估模块进一步设置为:
基于所述上一时刻的定位位置信息,和所述机器人在所述目标区域内由上一时刻到当前时刻行驶的轨迹信息,确定所述机器人在当前时刻的预估位置信息;
基于所述上一时刻的定位位置信息以及所述上一时刻的不同障碍物与所述机器人的相对位置信息,确定所述上一时刻的不同障碍物对应的位置信息,以及,基于所述机器人在当前时刻的预估位置信息以及当前时刻的不同障碍物与所述机器人的相对位置信息,确定当前时刻不同障碍物对应的预估位置信息;
基于上一时刻不同障碍物对应的位置信息以及当前时刻不同障碍物对应的预估位置信息,确定用于对所述当前时刻进行定位的不同目标障碍物的位置信息;
基于所述不同目标障碍物的位置信息,预估所述机器人在当前时刻的定位位置信息。
在一种可能的实施方式中,所述定位码包括设置有位置信息的第一类定位码,所述第一类定位码标识的位置点在所述目标区域和所述场景地图中的位置信息相同,所述位置修正模块进一步设置为:
当基于所述视觉传感器探测到第一类定位码时,预估所述第一类定位码与所述机器人的相对位置信息;
基于所述第一类定位码与所述机器人的相对位置信息、所述第一类定位码在所述场景地图中的真实位置信息以及所述机器人在当前时刻的定位位置信息,确定所述第一类定位码的预估位置信息对应的第一误差信息;
基于所述第一误差信息以及使用所述激光传感器预估的每个定位位置信息对应的位置误差信息,对使用所述激光传感器预估的每个定位位置信息进行位置修正,得到每个所述定位位置信息在所述场景地图对应的坐标系中的绝对坐标信息。
在一种可能的实施方式中,所述定位码包括未设置有位置信息的第二类定位码,所述位置修正模块进一步设置为:
当基于所述视觉传感器在不同位置再次获取到相同的第二类定位码时,确定所述第二类定位码与所述机器人的相对位置信息,以及所述第二类定位码的预估位置信息;
基于所述第二类定位码与所述机器人的相对位置信息、所述第二类定位码的预估位置信息以及所述机器人在当前时刻的定位位置信息,确定在不同位置确定的所述第二类定位码的预估位置信息对应的第二误差信息;
基于所述第二误差信息以及使用所述激光传感器预估的每个定位位置信息对应的位置误差信息,对使用所述激光传感器预估的每个定位位置信息进行位置修正,得到每个所述定位位置信息在所述目标区域中的相对坐标信息。
在一种可能的实施方式中,所述位置修正模块还设置为:
获取所述机器人在任一时刻对应的定位位置信息,以及所述任一时刻的上一时刻对应的定位位置信息;
确定所述机器人在该任一时刻相对于上一时刻的相对位置信息;
基于所述机器人在所述任一时刻对应的定位位置信息、所述上一时刻对应的定位位置信息、以及所述机器人在该任一时刻相对于上一时刻的相对位置信息,确定所述机器人在该任一时刻的定位位置信息对应的位置误差信息。
第二方面,本公开实施例提供了一种地图生成方法,包括:
在确定机器人进入目标区域后,使用激光传感器按照设定时间间隔预估所述机器人的定位位置信息;
在基于视觉传感器获取到设置于所述目标区域内的定位码时,基于所述定位码对使用所述激光传感器预估的所述机器人的定位位置信息进行位置修正,直至得到所述目标区域对应的栅格地图;
基于机器人在所述目标区域对应的场景地图中的规划路径信息,确定机器人在所述栅格地图中对应的行驶路径信息;所述栅格地图中的行驶路径信息用于指引机器人在所述目标区域中执行运输任务。
在一种可能的实施方式中,按照以下方式预估所述机器人在当前时刻的定位位置信息:
在检测到机器人进入所述目标区域后,控制所述激光传感器按照设定时间间隔获取不同障碍物与所述机器人的相对位置信息;
获取机器人的存储装置中存储所述机器人在当前时刻的上一时刻的定位位置信息以及不同障碍物与所述机器人的相对位置信息;
基于所述上一时刻的定位位置信息、当前时刻的不同障碍物与所述机器人的相对位置信息,以及所述当前时刻的上一时刻的不同障碍物与所述机器人的相对位置信息,预估所述机器人在当前时刻的定位位置信息。
在一种可能的实施方式中,所述基于所述上一时刻的定位位置信息、当前时刻的不同障碍物与所述机器人的相对位置信息,以及所述当前时刻的上一时刻的不同障碍物与所述机器人的相对位置信息,预估所述机器人在当前时刻的定位位置信息,包括:
基于所述上一时刻的定位位置信息,和所述机器人在所述目标区域内由上一时刻到当前时刻行驶的轨迹信息,确定所述机器人在当前时刻的预估位置信息;
基于所述上一时刻的定位位置信息以及所述上一时刻的不同障碍物与所述机器人的相对位置信息,确定所述上一时刻的不同障碍物对应的位置信息,以及,基于所述机器人在当前时刻的预估位置信息以及当前时刻的不同障碍物与所述机器人的相对位置信息,确定当前时刻不同障碍物对应的预估位置信息;
基于上一时刻不同障碍物对应的位置信息以及当前时刻不同障碍物对应的预估位置信息,确定用于对所述当前时刻进行定位的不同目标障碍物的位置信息;
基于所述不同目标障碍物的位置信息,预估所述机器人在当前时刻的定位位置信息。
在一种可能的实施方式中,所述定位码包括设置有位置信息的第一类定位码,所述第一类定位码标识的位置点在所述目标区域和所述场景地图中的位置信息相同,所述在基于视觉传感器探测到设置于所述目标区域内的定位码时,基于所述定位码对使用激光传感器预估的所述机器人的定位位置信息进行位置修正,包括:
当基于所述视觉传感器探测到第一类定位码时,预估所述第一类定位码与所述机器人的相对位置信息;
基于所述第一类定位码与所述机器人的相对位置信息、所述第一类定位码在所述场景地图中的真实位置信息以及所述机器人在当前时刻的定位位置信息,确定所述第一类定位码的预估位置信息对应的第一误差信息;
基于所述第一误差信息以及使用所述激光传感器预估的每个定位位置信息对应的位置误差信息,对使用所述激光传感器预估的每个定位位置信息进行位置修正,得到每个所述定位位置信息在所述场景地图对应的坐标系中的绝对坐标信息。
在一种可能的实施方式中,所述定位码包括未设置有位置信息的第二类定位码,所述在基于视觉传感器探测到设置于所述目标区域内的定位码时,基于所述定位码对使用激光传感器预估的所述机器人的定位位置信息进行位置修正,包括:
当基于所述视觉传感器在不同位置再次获取到相同的第二类定位码时,确定所述第二类定位码与所述机器人的相对位置信息,以及所述第二类定位码的预估位置信息;
基于所述第二类定位码与所述机器人的相对位置信息、所述第二类定位码的预估位置信息以及所述机器人在当前时刻的定位位置信息,确定在不同位置确定的所述第二类定位码的预估位置信息对应的第二误差信息;
基于所述第二误差信息以及使用所述激光传感器预估的每个定位位置信息对应的位置误差信息,对使用所述激光传感器预估的每个定位位置信息进行位置修正,得到每个所述定位位置信息在所述目标区域中的相对坐标信息。
在一种可能的实施方式中,按照以下方式确定任一时刻的定位位置信息对应的位置误差信息:
获取所述机器人在所述任一时刻对应的定位位置信息,以及所述任一时刻的上一时刻对应的定位位置信息;
确定所述机器人在该任一时刻相对于上一时刻的相对位置信息;
基于所述机器人在所述任一时刻对应的定位位置信息、所述上一时刻对应的定位位置信息、以及所述机器人在该任一时刻相对于上一时刻的相对位置信息,确定所述机器人在该任一时刻的定位位置信息对应的位置误差信息。
第三方面,本公开实施例提供了一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当所述电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如第二方面所述的地图生成方法的步骤。
第四方面,本公开实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如第二方面所述的地图生成方法的步骤。
本申请实施例提供了一种机器人,该机器人包括激光传感器、视觉传感器和控制装置,该控制装置包括位置预估模块、位置修正模块和地图生成模块,其中位置预估模块在确定机器人进入目标区域后,能够使用激光传感器按照设定时间间隔预估机器人的定位位置信息,这里可以使用SLAM方式获取机器人在不同时刻的定位位置信息,在基于SLAM方式获取机器人的位置信息时,容易产生累计误差,因此位置修正模块可以基于视觉传感器获取到的设置于目标区域内的定位码来对使用激光传感器预估的每个定位位置信息进行位置修正,从而得到目标区域对应的准确的栅格地图,然后就可以将预先在该目标区域对应的场景地图中规划好的规划路径信息迁移至该栅格地图中,比如可以提前基于该设定区域对应CAD地图进行规划,比如规划由仓库到的存放工作站的行驶路径信息迁移至该栅格地图,即可以快速得到具有行驶路径信息的栅格地图,即机器人的行驶路径地图,从而便于后期机器人根据该行驶路径地图完成运输工作。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本申请的实施例,并与说明书一起用于说明本申请的技术方案。应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例所提供的第一种机器人的结构示意图;
图2示出了本申请实施例所提供的第二种机器人的结构示意图;
图3示出了本申请实施例所提供的一种待修正的机器人的行驶轨迹示意图;
图4示出了本申请实施例所提供的一种修正后的机器人的行驶轨迹示意图;
图5示出了本申请实施例所提供的一种目标区域对应的栅格地图;
图6示出了本申请实施例所提供的一种机器人的行驶路径地图;
图7示出了本申请实施例所提供的一种地图生成方法的流程图;
图8示出了本申请实施例所提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
在机器人在设定区域内执行运输任务时,需要实时根据机器人位置以及行驶路径信息完成运输,因此,需要提前针对设定区域构建能够被机器人识别的栅格地图,这样在执行运输任务时,即可以基于栅格地图进行运输,然后在该栅格地图中规划机器人的行驶路径信息,即可以得到机器人的行驶路径地图,之后,负责运输货物的机器人即可以在按照该行驶路径地图进行行驶。
若基于同步定位与建图(Simultaneous Localization And Mapping,SLAM)方式进行定位生成的栅格地图,容易因为累计误差造成生成与场景地图并不匹配的栅格地图,即得到的栅格地图的准确度较低,在该准确度较低的栅格地图上规划机器人的行驶路径信息时,则无法准确得到适合机器人的行驶路径地图。
基于上述研究,本申请实施例提供了一种机器人,该机器人包括激光传感器、视觉传感器和控制装置,该控制装置包括位置预估模块、位置修正模块和地图生成模块,其中位置预估模块在确定机器人进入目标区域后,能够使用激光传感器按照设定时间间隔预估机器人的定位位置信息,这里可以使用SLAM方式获取机器人在不同时刻的定位位置信息,在基于SLAM方式获取机器人的位置信息时,容易产生累计误差,因此位置修正模块可以基于视觉传感器获取到的设置于目标区域内的定位码来对使用激光传感器预估的每个定位位置信息进行位置修正,从而得到目标区域对应的准确的栅格地图,然后就可以将预先在该目标区域对应的场景地图中规划好的规划路径信息迁移至该栅格地图中,比如可以提前基于该设定区域对应CAD地图进行规划,比如规划由仓库到的存放工作站的行驶路径信息迁移至该栅格地图,即可以快速得到具有行驶路径信息的栅格地图,即机器人的行驶路径地图,从而便于后期机器人根据该行驶路径地图完成运输工作。
下面将结合本申请中附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
为便于对本实施例进行理解,首先对本申请实施例所公开的一种机器人进行详细介绍。
参见图1所示,为本申请实施例提供的一种机器人,该机器人包括激光传感器101、视觉传感器102和控制装置103,控制装置103包括位置预估模块1031、位置修正模块1032和地图生成模块1033。
位置预估模块1031设置为在确定机器人进入目标区域后,使用激光传感器基于位置传感器按照设定时间间隔预估机器人的定位位置信息。
其中目标区域可以为待进行货物运输的场所,比如某个物流中转站,该物流中转站中设置有货物集中接收区以及多个货物存放站,货物集中接收区可以暂时存放接收到的待运输货物,每个货物存放站可以用于存放与该货物存放站对应的货物类型,当用于构建栅格地图的机器人进入该目标区域后,即可以按照设定时间间隔预估机器人的定位位置信息,比如可以基于SLAM方式预估机器人在每个时刻对应的定位位置信息。
位置修正模块1032设置为在基于视觉传感器探测到设置于目标区域内的定位码时,基于定位码对使用所述激光传感器预估的机器人的定位位置信息进行位置修正,直至得到目标区域对应的栅格地图。
这里的定位码可以是用于对机器人的定位位置信息进行修正的标识码,其可以粘贴在地面上,也可以粘贴在目标区域内的障碍物上,比如粘贴于货架、墙壁上。
进一步地,这里的定位码包含用于对机器人的定位位置信息进行全局修正的第一类定位码,第一类定位码定位的目标区域的位置坐标与该目标区域关联的场景地图中的坐标一致,这样在基于第一类定位码对机器人的定位位置信息进行修正后,得到的栅格地图中每个位置点的坐标信息与该位置点在场景地图中的坐标信息相同,这样便于后期将预先规划好的规划路径信息直接迁移至该栅格地图。
地图生成模块1033设置为基于机器人在目标区域对应的场景地图中的规划路径信息,确定机器人在栅格地图中对应的行驶路径信息;栅格地图中的行驶路径信息用于指引机器人在目标区域中执行运输任务。
当机器人得到目标区域对应的栅格地图后,即可以将预先在该目标区域对应的场景地图中,比如CAD地图中规划的规划路基信息迁移至该栅格地图中,即得到机器人的行驶路径地图。
以上针对本申请实施例提出的机器人的整体描述,该机器人包括激光传感器、视觉传感器和控制装置,该控制装置包括位置预估模块、位置修正模块和地图生成模块,其中位置预估模块在确定机器人进入目标区域后,能够使用激光传感器按照设定时间间隔预估机器人的定位位置信息,这里可以使用SLAM方式获取机器人在不同时刻的定位位置信息,在基于SLAM方式获取机器人的位置信息时,容易产生累计误差,因此位置修正模块可以基于视觉传感器获取到的设置于目标区域内的定位码来对使用激光传感器预估的每个定位位置信息进行位置修正,从而得到目标区域对应的准确的栅格地图,然后就可以将预先在该目标区域对应的场景地图中规划好的规划路径信息迁移至该栅格地图中,比如可以提前基于该设定区域对应CAD地图进行规划,比如规划由仓库到的存放工作站的行驶路径信息迁移至该栅格地图,即可以快速得到具有行驶路径信息的栅格地图,即机器人的行驶路径地图,从而便于后期机器人根据该行驶路径地图完成运输工作。
下面将结合具体的实施例进一步对该机器人进行阐述。
在一种实施方式中,如图2所示,机器人还包括存储装置104,位置预估模块1031进一步设置为:
(1)在检测到机器人进入目标区域后,控制激光传感器按照设定时间间隔获取不同障碍物与机器人的相对位置信息;
(2)获取机器人的存储装置中存储机器人在当前时刻的上一时刻的定位位置信息以及不同障碍物与机器人的相对位置信息;
(3)基于上一时刻的定位位置信息、当前时刻的不同障碍物与机器人的相对位置信息,以及当前时刻的上一时刻的不同障碍物与机器人的相对位置信息,预估机器人在当前时刻的定位位置信息。
激光传感器可以按照设定角度发射激光信号以及接收障碍物基于该激光信号反射的回波信号,确定激光传感器与障碍物之间的相对位置信息。
这里在检测到机器人进入目标区域后,即可以控制激光传感器按照设定时间间隔开始工作,比如每间隔1s检测控制激光传感器朝不同的设定方向进行激光扫描,则可以确定每个时刻不同障碍物与机器人的相对位置信息。
考虑到设定时间间隔较短时,则机器人在相邻的时间间隔内行驶过的里程较短,则在相邻的两个时刻,激光传感器扫描到相同障碍物的概率较大,因此可以通过相邻两个时刻扫描到的相同障碍物以及上一时刻机器人的定位位置信息,来预估机器人在当前时刻的定位位置信息。
这里机器人的存储装置104中存储有机器人在历史时刻对应的定位位置信息以及激光传感器获取到的不同障碍物与机器人的相对位置信息,这样当需要预估机器人在当前时刻的定位位置信息时,即可以从存储装置104中提取当前时刻的上一时刻的机器人的定位位置信息,以及该上一时刻激光传感器获取到的不同障碍物与机器人的相对位置信息,然后结合当前时刻得到的不同障碍物与机器人的相对位置信息,来预估机器人在当前时刻的定位位置信息。
这里,机器人存储的该上一时刻的定位位置信息,若不是机器人进入目标区域时设置的初始位置,则可以按照与确定机器人在当前时刻的定位位置信息相同的方式进行确定,在此不进行赘述,若上一时刻的定位位置信息是机器人进入目标区域时设置的初始位置,则直接将上一时刻的定位位置信息通过该初始位置表示即可,这里初始位置可以是预先设定好的。
具体地,位置预估模块在预估机器人在当前时刻的定位位置信息时,进一步设置为:
(1)基于上一时刻的定位位置信息,和机器人在目标区域内由上一时刻到当前时刻行驶的轨迹信息,确定机器人在当前时刻的预估位置信息。
这里上一时刻的定位位置信息即指机器人在当前时刻的上一时刻的定位位置信息,该上一时刻的定位位置信息若不是机器人进入目标区域时的初始位置,则可以按照与确定机器人在当前时刻的定位位置信息相同的方式进行确定,在此不进行赘述,若上一时刻的定位位置信息是机器人进入目标区域时设置的初始位置,则直接通过该初始位置表示即可,这里初始位置可以是预先设定好的。
这里机器人在目标区域内由上一时刻到当前时刻行驶的轨迹信息可以通过机器人上设置的里程传感器和角度传感器来确定,比如确定机器人由上一时刻到达当前时刻的行驶距离以及偏移角度,则可以根据上一时刻的定位位置信息确定当前时刻的预估位置信息。
(2)基于上一时刻的定位位置信息以及上一时刻的不同障碍物与机器人的相对位置信息,确定上一时刻的不同障碍物对应的位置信息,以及,基于机器人在当前时刻的预估位置信息以及当前时刻的不同障碍物与机器人的相对位置信息,确定当前时刻不同障碍物对应的预估位置信息。
在获取到上一时刻的定位位置信息以及上一时刻的不同障碍物与机器人的相对位置信息时,即可以确定上一时刻激光传感器扫描到的不同障碍物对应的位置信息。
同时,可以基于机器人由上一时刻到当前时刻行驶的轨迹信息确定的机器人在当前时刻的预估位置信息,然后根据当前时刻的预估位置信息和当前时刻的不同障碍物与机器人的相对位置信息,确定当前时刻不同障碍物对应的预估位置信息。
(3)基于上一时刻不同障碍物对应的位置信息以及当前时刻不同障碍物对应的预估位置信息,确定用于对当前时刻进行定位的不同目标障碍物的位置信息。
考虑到当前时刻不同障碍物对应的预估位置信息是基于预估位置信息确定的,而预估位置信息是基于机器人在相邻两个时刻行驶的轨迹信息确定的,当机器人在当前时刻的预估位置信息与机器人在上一时刻的位置信息的准确度不一致时,此时在当前时刻和上一时刻得到的相同的障碍物对应的位置信息也会有所差距,然后可以基于该差距确定出可以用于在当前时刻对机器人进行定位的不同目标障碍物,进而通过这些不同目标障碍物的位置信息来预估机器人在当前时刻的定位位置信息。
比如,激光传感器在上一时刻扫描到四个障碍物,分别记录为、/>、/>和/>,然后在当前时刻又扫描到四个障碍物,可以记为/>、/>、/>和/>,然后即可以根据相同障碍物对应的位置信息应该一致的原理,将不同时刻获取到的位置信息差距最小的两个障碍物认为是相同的障碍物,基于此,确定出当前扫描到的四个障碍物/>、/>、/>和/>与上一时刻扫描到的障碍物的对应关系,若障碍物/>与障碍物/>之间的差距最小,障碍物/>与障碍物之间的差距最小,以及障碍物/>与障碍物/>之间的差距最小,则可以确定障碍物/>即为障碍物/>,障碍物/>即为障碍物/>,以及障碍物/>即为障碍物/>。
进而即可以将这里的障碍物、/>、/>作为这里的目标障碍物,通过观测目标障碍物得到两个时刻机器人的相对位置,并且更新目标障碍物的位置信息,可以将两次都观测到的目标障碍物位置进行融合,得到当前观测到的目标障碍物的位置信息,或者将上一时刻观测到的目标障碍物的位置信息直接用来确定机器人在当前时刻的定位位置信息。
(4)基于不同目标障碍物的位置信息,预估机器人在当前时刻的定位位置信息。
在确定了不同目标障碍物的位置信息后,即可以通过这些不同目标障碍物的位置信息来预估机器人在当前时刻的定位位置信息。
进一步地,在得到机器人在当前时刻的定位位置信息后,即可以基于该机器人在当前时刻的定位位置信息以及不同目标障碍物在当前时刻与机器人的相对位置信息,确定出不同目标障碍物在当前时刻的位置信息,进而将机器人在当前时刻的定位位置信息和不同目标障碍物在当前时刻的位置信息存入存储装置,便于用于预估下一时刻机器人的位置信息。
下面介绍如何基于定位码对使用激光传感器预估的定位位置信息进行修正,本公开实施例提供的定位码可以包括两种,一种是具有位置信息的第一类定位码,另一种是不具有位置信息的第二类定位码,其中第一类定位码用于对机器人的每个定位位置信息的绝对坐标进行修正,使得机器人的每个定位位置信息表示的位置点在目标区域中的坐标与该位置点在场景地图对应的坐标系中的坐标一致;第二类定位码用于对每个定位位置信息的相对坐标进行修正,即对不同定位位置信息之间的相对坐标进行修正,比如对每个定位位置信息相对于某个之前的定位位置信息的坐标进行修正,这样可以对机器人在目标区域内的行驶轨迹进行修正,比如机器人在目标区域内是按照直线行驶,但是由于定位位置信息的相对坐标不准确,则这些定位位置信息的连线可能并不是直线,因此需要对这些定位位置信息的相对坐标进行修正。
这里考虑到第一类定位码用于对机器人的定位位置信息的绝对坐标进行修正,因此第一类定位码定位的位置点的坐标需要具有与场景地图中该位置点的坐标一致,兼顾成本,可以在目标区域内设置少数个第一类定位码,而第二类定位码因不具有位置信息,因此可以设置多个。下面针对通过第一类定位码和第二类定位码进行位置修正进行详细说明。
具体地,针对定位码包括设置有位置信息的第一类定位码的情况进行说明,该第一类定位码标识的位置点在目标区域和场景地图中的位置信息相同,同样,位置修正模块进一步设置为:
(1)当基于视觉传感器探测到第一类定位码时,预估第一类定位码与机器人的相对位置信息。
这里的视觉传感器可以采集周围环境图像,当采集到第一类定位码的图像信息时,即可以将该第一类定位码的图像信息传输至位置修正模块。
第一类定位码可以具有多个,每个第一类定位码具有唯一的编码,这些第一类定位码分别设置在目标区域的不同位置,用于标识目标区域不同位置点在场景地图中对应的位置信息,机器人在该目标区域进行行驶时,若探测到第一类定位码,即可以基于视觉传感器确定该第一类定位码与机器人的相对位置信息,这里的第一类定位码与机器人的相对位置信息可以通过第一类定位码相对于机器人的距离以及角度进行表示。
(2)基于第一类定位码与机器人的相对位置信息、第一类定位码在场景地图中的真实位置信息以及机器人在当前时刻的定位位置信息,确定第一类定位码的预估位置信息对应的第一误差信息。
每个第一类定位码均具有唯一对应的编码信息,不同的编码信息可以关联该第一类定位码在场景地图中的真实位置信息,在获取到第一类定位码的编码信息时,即通过预先保存的编码信息与位置信息的映射表中,确定该第一类定位码的真实位置信息。
因为机器人在当前时刻的定位位置信息可以是基于SLAM方式确定的,具有一定的累计误差,因此当机器人在当前时刻探测到第一类定位码时,基于机器人在当前时刻的定位位置信息,以及该第一类定位码与机器人的相对位置信息,确定的第一类定位码的预估位置信息与该第一类定位码的真实位置信息是具有一定的差距的,将该差距记为第一类定位码的预估位置信息对应的第一误差信息。
具体地,该第一误差信息可以按照以下误差公式(1)确定:
(1);
其中表示在第j时刻获取到编码为k的第一类位置码时,该编码为k的第一类定位码的预估位置信息对应的第一误差信息;/>表示机器人在第j时刻的定位位置信息,/>表示编码为k的第一类定位码的真实位置信息;/>表示机器人在第j时刻获取到编码为k的第一类定位码时,该第一类位置码与机器人的相对位置信息;/>表示机器人在第j时刻的定位位置信息、编码为k的第一类定位码的真实位置信息以及机器人在第j时刻获取到编码为k的第一类定位码时,该第一类定位码与机器人的相对位置信息之间的误差函数;表示机器人在第j时刻观测到编码为k的第一类定位码的相对位置(/>)的协方差。
另外,因为机器人进入目标区域后的初始位置信息是预设的,比如初始位置信息可以通过设定参量来表示初始位置信息,其中,/>表示机器人在目标区域对应的设定坐标系中x轴方向上对应的值;/>表示机器人在目标区域对应的设定坐标系中y轴方向上对应的值;/>表示机器人的朝向方向的夹角,这样因初始位置信息是未知的,则通过SLAM方式确定的机器人在当前时刻的定位位置信息也是包含/>的未知参数。
在探测到第一类定位码时,即会基于第一类定位码对激光传感器预估的机器人的每个定位位置信息进行修正,比如,在第一次探测第一类定位码时,会通过坐标系转换把整条路径上的机器人的定位位置信息转换到基于第一类定位码码的真实坐标系上。例如初始位置i时刻的位置设为(0,0,0),通过slam匹配的方法计算出i+1时刻的位置为(0.1,0,0),并且在i+1时刻观测到的第一类定位码k的真实位置信息为(1,0,0),i+1时刻机器人和第一类位置码的相对位置信息为(0.1,0,0),则通过计算i+1时刻的机器人的定位位置信息为(0.9,0,0),这里可以反推出初始位置的定位位置信息为(0.8,0,0)。
(3)基于第一误差信息以及使用激光传感器预估的每个定位位置信息对应的位置误差信息,对使用激光传感器预估的每个定位位置信息进行位置修正,得到每个定位位置信息在场景地图对应的坐标系中的绝对坐标信息。
考虑到机器人的视觉传感器在当前时刻探测到第一类定位码时,预估的机器人在之前时刻的定位位置信息也会存在误差,因此可以基于之前每个定位位置信息对应的位置误差信息以及当前时刻针对第一类定位码的预估位置信息的第一误差信息进行求和,得到当前时刻对应的误差总和,然后基于该误差总和以及机器人的每个定位位置信息对应的误差修正权重,对每个定位位置信息进行位置修正,从而得到各个定位位置信息在场景地图对应的坐标系中的绝对坐标信息。
这里每个定位位置信息对应的误差修正权重可以是预先设置好的,比如可以根据历史数据统计出,随着时刻积累,每个定位位置信息对应的偏差程度提前确定;或者,这里也可以通过确定每个定位位置信息对应的协方差来确定误差修正权重,在此不进行赘述。
针对任一时刻的定位位置信息对应的位置误差信息,位置修正模块还设置为:
(1)获取机器人在任一时刻对应的定位位置信息,以及该任一时刻的上一时刻对应的定位位置信息。
这里在确定任一时刻对应的定位位置信息的位置误差信息时,可以在机器人的存储装置中提取该机器人在任一时刻对应的定位位置信息,以及该任一时刻的上一时刻对应的定位位置信息。
(2)确定机器人在该任一时刻相对于上一时刻的相对位置信息。
这里确定机器人在该任一时刻相对于上一时刻的相对位置信息可以通过机器人在这两个时刻的轨迹信息确定,比如机器人从上一时刻到该任一时刻向东行驶5米,则可以基于该距离和方向确定出该机器人在该任一时刻相对于上一时刻的相对位置信息;或者,这里也可以通过机器人在这两个时刻获取到相同的障碍物时,基于相同的障碍物分别在这两个时刻与机器人的相对位置信息,确定出机器人在该任一时刻相对于上一时刻的相对位置信息。
(3)基于机器人在任一时刻对应的定位位置信息、该上一时刻对应的定位位置信息、以及机器人在该任一时刻相对于该上一时刻的相对位置信息,确定机器人在该任一时刻的定位位置信息对应的位置误差信息。
具体可以根据以下误差公式(2)确定机器人在该任一时刻的定位位置信息对应的位置误差信息:
(2);
其中表示机器人在j时刻的定位位置信息对应的位置误差信息;/>表示机器人在j时刻的上一时刻i的定位位置信息,/>表示机器人在该j时刻的定位位置信息;/>表示机器人在该j时刻相对于上一时刻i的相对位置信息;/>表示机器人在第j时刻的定位位置信息、机器人在j时刻的上一时刻i的定位位置信息、以及机器人在第j时刻相对于上一时刻i的相对位置信息之间的误差函数;/>表示j时刻机器人的定位位置信息与上一时刻i机器人的定位位置信息的相对位置(/>)的协方差。
这里的因初始位置信息是未知的,则通过SLAM方式确定的机器人的在任一时刻以及上一时刻的定位位置信息也是包含的未知结果。
进一步地,在当前时刻获取到第一类定位码时,当前时刻对应的误差总和即为第一类定位码的预估位置信息对应的第一误差信息与机器人在每个定位位置信息对应的位置误差信息进行求和,可以按照以下公式(3)确定:
(3);
其中,H表示在当前时刻获取到第一类定位码时,当前时刻对应的误差总和(从初始时刻到当前时刻的路径误差总和);表示在第j时刻获取到编码为k的第一类位置码时,该编码为k的第一类定位码的预估位置信息对应的第一误差信息;/>表示机器人在j时刻的定位位置信息对应的位置误差信息;/>表示机器人在第j时刻第m次观察到编码为k的第二类定位码时,该编码为k的第二类定位码的预估位置信息对应的第二误差信息,该第二误差信息的确定过程在后文进行说明。
需要注意的是,若在获取到第一类定位码之前,未获取到过第二类定位码,则这里的可以为0。
另外,因为、/>和/>均包含表示机器人的初始位置信息/>的未知参数,因此在获取到第一类定位码时,确定的该误差总和是包含有未知参量的,然后通过最小二乘法确定最小误差总和,即得到最终确定的误差总和,然后再基于该确定的误差总和来对机器人的定位位置信息进行修正。
下面,针对定位码包括设置有位置信息的第二类定位码的情况进行说明,第二类定位码不设置有位置信息,位置传感器为视觉传感器,位置修正模块进一步设置为:
(1)当基于视觉传感器在不同位置再次获取到相同的第二类定位码时,确定第二类定位码与机器人的相对位置信息,以及第二类定位码的预估位置信息。
第二类定位码同样可以具有多个,每个第二类定位码具有唯一的编码,这些第二类定位码分别设置在目标区域的不同位置,用于对使用激光传感器确定的机器人的定位位置信息的相对坐标进行修正,机器人在该目标区域进行行驶时,若再次扫描到具有相同编码第二类定位码,即可以基于视觉传感器确定此时可该第二类定位码与机器人的相对位置信息,这里的第二类定位码与机器人的相对位置信息可以通过第二类定位码相对于机器人的距离以及角度进行表示。
(2)基于第二类定位码与机器人的相对位置信息、第二类定位码的预估位置信息以及机器人在当前时刻的定位位置信息,确定在不同位置确定的第二类定位码的预估位置信息对应的第二误差信息。
这里第二类定位码的预估位置信息可以基于机器人在当前时刻的定位位置信息和第二类定位码与机器人的相对位置信息确定,因为机器人在当前时刻的定位位置信息为包含表示机器人的初始位置信息的未知参数,因此这里第二类定位码的预估位置信息也是包含有表示机器人的初始位置信息/>的未知参数。
这里第二类定位码的预估位置信息对应的第二误差信息表示在不同位置获取到具有相同编码的第二类定位码时,具有相同编码的第二类定位码即同一个第二类定位码被多次确定的预估位置信息之间的误差信息。
这里的第二类定位码的预估位置信息对应的第二误差信息可以按照以下公式(4)确定:
(4);
其中,表示机器人在第j时刻第m次获取到编码为k的第二类定位码时,该编码为k的第二类定位码的预估位置信息对应的第二误差信息;/>表示机器人在第j时刻的定位位置信息,/>表示机器人在j时刻第m次获取到编码为k的第二类定位码时,确定的该编码为k的第二类定位码的预估位置信息;/>表示机器人在第j时刻第m次获取到编码为k的第二类定位码时,第二类定位码与机器人的相对位置信息;/>表示机器人第j时刻的定位位置信息、第m次探测的编码为k第二类位置码的预估位置信息、以及在j时刻第m次观测到编码为k的第二类位置码时,第二类定位码与机器人相对位置信息的误差函数;/>表示第m次获取到编码为k的第二类定位码的预估位置信息与机器人在第j时刻的相对位置信息(/>)的协方差。
(3)基于第二误差信息以及使用激光传感器预估的每个定位位置信息对应的位置误差信息,对使用激光传感器预估的每个定位位置信息进行位置修正,得到每个定位位置信息在目标区域中的相对坐标信息。
然后这里同样可以基于上述公式(3)确定获取到第二类定位码时,确定从初始时刻到当前时刻机器人的路径误差总和,然后基于该误差总和以及机器人的每个定位位置信息对应的误差修正权重,对使用激光传感器预估的每个定位位置信息进行位置修正,从而得到各个定位位置信息在场景地图对应的坐标系中的相对坐标信息。
需要注意的是,若在获取到第二类定位码之前,未获取到过第一类定位码,则这里的可以为0。
进一步地,因为和/>均包含表示机器人的初始位置信息/>的未知参数,因此在获取到第二类定位码时,确定的该误差总和是包含有未知参量的,然后通过最小二乘法确定最小误差总和,即得到最终确定的误差总和,然后再基于该确定的误差总和来对机器人的定位位置信息进行修正。
当然,若在获取到第二类定位码之前,已经获取到过第一类定位码,则针对获取到第一类定位码之前的定位位置信息已经进行过修正,则修正过的定位位置信息则变为绝对位置坐标,然后后续再次获取到具有相同编码的第二类定位码时,再次确定从初始时刻到当前时刻机器人的路径误差总和,然后基于该误差总和以及每个定位位置信息对应的误差修正权重,对每个定位位置信息进行位置修正,从而得到各个定位位置信息在场景地图对应的坐标系中的相对坐标信息。
下面结合图3和图4,对机器人的定位位置信息进行修正的过程进行如下阐述:
如图3所示,为机器人在目标区域行驶过程中,t1~t9时刻对应的定位位置信息,机器人在t1时刻首次获取到第二类定位码B301,然后确定该第二类定位码B301的预估位置信息,之后继续行驶,在t4时刻,获取到第一类定位码D301,然后基于t1~ t4的误差总和(包括t1~t4时刻分别对应的定位位置信息的位置误差信息以及t4时刻确定的D301的预估位置信息的第一误差信息的总和)对t1~t4时刻对应的定位位置信息进行位置修正,然后当机器人在t9时刻再次获取到第二类定位码B301时,基于在t1~ t9的误差总和(包括t1~t9时刻分别对应的定位位置信息的位置误差信息、t4时刻确定的D301的预估位置信息的第一误差信息以及两次获取到的第二类定位码的预估位置信息之间的第二误差信息的总和)对t1~ t9时刻对应的定位位置信息进行位置修正,修正后,即可以得到如图4所示的机器人的轨迹信息。
按照该方式对机器人在目标区域行驶时的定位位置信息进行修正,直至得到该目标区域对应的完整的栅格地图,例如,图5为目标区域的一个区域对应的栅格地图,然后将在该目标区域对应的场景地图中从A地到B地的规划路径信息迁移至该栅格地图,即得到如图6所示的机器人的行驶路径地图。
基于同一技术构思,本申请实施例中还提供了与机器人对应的地图生成方法,由于本申请实施例中的方法解决问题的原理与本申请实施例上述机器人相似,因此地图生成方法的实施可以参见机器人中控制装置的实施,重复之处不再赘述。
本申请实施例所提供的地图生成方法的执行主体一般为具有一定计算能力的处理器,该处理器可以集成在机器人的控制装置中,也可以应用于机器人之外的控制装置中。在一些可能的实现方式中,该地图生成方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
参见图7所示,为本公开实施例提供的一种地图生成方法,包括以下具体步骤S701~S703:
S701,在确定机器人进入目标区域后,使用激光传感器按照设定时间间隔预估机器人的定位位置信息;
S702,在基于视觉传感器获取到设置于目标区域内的定位码时,基于定位码对使用激光传感器预估的机器人的定位位置信息进行位置修正,直至得到目标区域对应的栅格地图;
S703,基于机器人在目标区域对应的场景地图中的规划路径信息,确定机器人在栅格地图中对应的行驶路径信息;栅格地图中的行驶路径信息用于指引机器人在目标区域中执行运输任务。
在一种可能的实施方式中,按照以下方式预估机器人在当前时刻的定位位置信息:
在检测到机器人进入目标区域后,控制激光传感器按照设定时间间隔获取不同障碍物与机器人的相对位置信息;
获取机器人的存储装置中存储机器人在当前时刻的上一时刻的定位位置信息以及不同障碍物与机器人的相对位置信息;
基于上一时刻的定位位置信息、当前时刻的不同障碍物与机器人的相对位置信息,以及当前时刻的上一时刻的不同障碍物与机器人的相对位置信息,预估机器人在当前时刻的定位位置信息。
在一种可能的实施方式中,基于上一时刻的定位位置信息、当前时刻的不同障碍物与机器人的相对位置信息,以及当前时刻的上一时刻的不同障碍物与机器人的相对位置信息,预估机器人在当前时刻的定位位置信息,包括:
基于上一时刻的定位位置信息,和机器人在目标区域内由上一时刻到当前时刻行驶的轨迹信息,确定机器人在当前时刻的预估位置信息;
基于上一时刻的定位位置信息以及上一时刻的不同障碍物与机器人的相对位置信息,确定上一时刻的不同障碍物对应的位置信息,以及,基于机器人在当前时刻的预估位置信息以及当前时刻的不同障碍物与机器人的相对位置信息,确定当前时刻不同障碍物对应的预估位置信息;
基于上一时刻不同障碍物对应的位置信息以及当前时刻不同障碍物对应的预估位置信息,确定用于对当前时刻进行定位的不同目标障碍物的位置信息;
基于不同目标障碍物的位置信息,预估机器人在当前时刻的定位位置信息。
在一种可能的实施方式中,定位码包括设置有位置信息的第一类定位码,该第一类定位码标识的位置点在目标区域和场景地图中的位置信息相同,在基于视觉传感器探测到设置于目标区域内的定位码时,基于定位码对使用激光传感器预估的机器人的定位位置信息进行位置修正,包括:
当基于视觉传感器探测到第一类定位码时,预估第一类定位码与机器人的相对位置信息;
基于第一类定位码与机器人的相对位置信息、第一类定位码在场景地图中的真实位置信息以及机器人在当前时刻的定位位置信息,确定第一类定位码的预估位置信息对应的第一误差信息;
基于第一误差信息以及使用激光传感器预估的每个定位位置信息对应的位置误差信息,对使用激光传感器预估的每个定位位置信息进行位置修正,得到每个定位位置信息在场景地图对应的坐标系中的绝对坐标信息。
在一种可能的实施方式中,定位码包括未设置有位置信息的第二类定位码,在基于视觉传感器探测到设置于目标区域内的定位码时,基于定位码对使用激光传感器预估的机器人的定位位置信息进行位置修正,包括:
当基于视觉传感器在不同位置再次获取到相同的第二类定位码时,确定第二类定位码与机器人的相对位置信息,以及第二类定位码的预估位置信息;
基于第二类定位码与机器人的相对位置信息、第二类定位码的预估位置信息以及机器人在当前时刻的定位位置信息,确定在不同位置确定的第二类定位码的预估位置信息对应的第二误差信息;
基于第二误差信息以及使用激光传感器预估的每个定位位置信息对应的位置误差信息,对使用激光传感器预估的每个定位位置信息进行位置修正,得到每个定位位置信息在目标区域中的相对坐标信息。
在一种可能的实施方式中,按照以下方式确定任一时刻的定位位置信息对应的位置误差信息:
获取机器人在任一时刻对应的定位位置信息,以及任一时刻的上一时刻对应的定位位置信息;
确定机器人在该任一时刻相对于上一时刻的相对位置信息;
基于机器人在任一时刻对应的定位位置信息、上一时刻对应的定位位置信息、以及机器人在该任一时刻相对于上一时刻的相对位置信息,确定机器人在该任一时刻的定位位置信息对应的位置误差信息。
对应于图7中的地图生成方法,本公开实施例还提供了一种电子设备800,如图8所示,为本公开实施例提供的电子设备800结构示意图,包括:
处理器801、存储器802、和总线803;存储器802用于存储执行指令,包括内存8021和外部存储器8022;这里的内存8021也称内存储器,用于暂时存放处理器801中的运算数据,以及与硬盘等外部存储器8022交换的数据,处理器801通过内存8021与外部存储器8022进行数据交换,当电子设备800运行时,处理器801与存储器802之间通过总线803通信,使得处理器801执行以下指令:
在确定机器人进入目标区域后,使用激光传感器按照设定时间间隔预估机器人的定位位置信息;
在基于视觉传感器探测到设置于目标区域内的定位码时,基于定位码对使用激光传感器预估的机器人的定位位置信息进行位置修正,直至得到目标区域对应的栅格地图;
基于机器人在目标区域对应的场景地图中的规划路径信息,确定机器人在栅格地图中对应的行驶路径信息;栅格地图中的行驶路径信息用于指引机器人在目标区域中执行运输任务。
在一种可能的实施方式中,处理器801执行的指令中,包括:
在检测到机器人进入目标区域后,控制激光传感器按照设定时间间隔获取不同障碍物与机器人的相对位置信息;
获取机器人的存储装置中存储机器人在当前时刻的上一时刻的定位位置信息以及不同障碍物与机器人的相对位置信息;
基于上一时刻的定位位置信息、当前时刻的不同障碍物与机器人的相对位置信息,以及当前时刻的上一时刻的不同障碍物与机器人的相对位置信息,预估机器人在当前时刻的定位位置信息。
在一种可能的实施方式中,处理器801执行的指令中,包括:
基于上一时刻的定位位置信息,和机器人在目标区域内由上一时刻到当前时刻行驶的轨迹信息,确定机器人在当前时刻的预估位置信息;
基于上一时刻的定位位置信息以及上一时刻的不同障碍物与机器人的相对位置信息,确定上一时刻的不同障碍物对应的位置信息,以及,基于机器人在当前时刻的预估位置信息以及当前时刻的不同障碍物与机器人的相对位置信息,确定当前时刻不同障碍物对应的预估位置信息;
基于上一时刻不同障碍物对应的位置信息以及当前时刻不同障碍物对应的预估位置信息,确定用于对当前时刻进行定位的不同目标障碍物的位置信息;
基于不同目标障碍物的位置信息,预估机器人在当前时刻的定位位置信息。
在一种可能的实施方式中,定位码包括设置有位置信息的第一类定位码,第一类定位码标识的位置点在目标区域和场景地图中的位置信息相同,位置传感器为激光传感器,处理器801执行的指令中,包括:
当基于视觉传感器探测到第一类定位码时,预估第一类定位码与机器人的相对位置信息;
基于第一类定位码与机器人的相对位置信息、第一类定位码在场景地图中的真实位置信息以及机器人在当前时刻的定位位置信息,确定第一类定位码的预估位置信息对应的第一误差信息;
基于第一误差信息以及使用激光传感器预估的每个定位位置信息对应的位置误差信息,对使用激光传感器预估的每个定位位置信息进行位置修正,得到每个定位位置信息在场景地图对应的坐标系中的绝对坐标信息。
在一种可能的实施方式中,定位码包括未设置有位置信息的第二类定位码,位置传感器为激光传感器,处理器801执行的指令中,包括:
当基于视觉传感器在不同位置再次获取到相同的第二类定位码时,确定第二类定位码与机器人的相对位置信息,以及第二类定位码的预估位置信息;
基于第二类定位码与机器人的相对位置信息、第二类定位码的预估位置信息以及机器人在当前时刻的定位位置信息,确定在不同位置确定的第二类定位码的预估位置信息对应的第二误差信息;
基于第二误差信息以及使用激光传感器预估的每个定位位置信息对应的位置误差信息,对使用激光传感器预估的每个定位位置信息进行位置修正,得到每个定位位置信息在目标区域中的相对坐标信息。
在一种可能的实施方式中,处理器801执行的指令中,包括:
获取机器人在任一时刻对应的定位位置信息,以及任一时刻的上一时刻对应的定位位置信息;
确定机器人在该任一时刻相对于上一时刻的相对位置信息;
基于机器人在任一时刻对应的定位位置信息、上一时刻对应的定位位置信息、以及机器人在该任一时刻相对于上一时刻的相对位置信息,确定机器人在该任一时刻的定位位置信息对应的位置误差信息。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的地图生成方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本申请实施例所提供的地图生成方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行上述方法实施例中所述的地图生成方法的步骤,具体可参见上述方法实施例,在此不再赘述。
本申请实施例还提供一种计算机程序,该计算机程序被处理器执行时实现前述实施例的任意一种方法。该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software DevelopmentKit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
Claims (12)
1.一种机器人,其特征在于,所述机器人包括激光传感器、视觉传感器和控制装置,所述控制装置包括位置预估模块、位置修正模块和地图生成模块;
所述位置预估模块设置为在确定机器人进入目标区域后,使用激光传感器按照设定时间间隔预估所述机器人的定位位置信息;
所述位置修正模块设置为在基于视觉传感器探测到设置于所述目标区域内的定位码时,基于所述定位码对使用激光传感器预估的所述机器人的定位位置信息进行位置修正,直至得到所述目标区域对应的栅格地图;
所述地图生成模块设置为基于机器人在所述目标区域对应的场景地图中的规划路径信息,确定机器人在所述栅格地图中对应的行驶路径信息;所述栅格地图中的行驶路径信息用于指引机器人在所述目标区域中执行运输任务;
其中,所述定位码包括未设置有位置信息的第二类定位码,所述位置修正模块进一步设置为:
当基于所述视觉传感器在不同位置再次获取到相同的第二类定位码时,确定所述第二类定位码与所述机器人的相对位置信息,以及所述第二类定位码的预估位置信息;
基于所述第二类定位码与所述机器人的相对位置信息、所述第二类定位码的预估位置信息以及所述机器人在当前时刻的定位位置信息,确定在不同位置确定的所述第二类定位码的预估位置信息对应的第二误差信息;
基于所述第二误差信息以及使用所述激光传感器预估的每个定位位置信息对应的位置误差信息,对使用所述激光传感器预估的每个定位位置信息进行位置修正,得到每个所述定位位置信息在所述目标区域中的相对坐标信息。
2.根据权利要求1所述的机器人,其特征在于,所述机器人还包括存储装置,所述位置预估模块进一步设置为:
在检测到机器人进入所述目标区域后,控制所述激光传感器按照设定时间间隔获取不同障碍物与所述机器人的相对位置信息;
获取机器人的存储装置中存储所述机器人在当前时刻的上一时刻的定位位置信息以及不同障碍物与所述机器人的相对位置信息;
基于所述上一时刻的定位位置信息、当前时刻的不同障碍物与所述机器人的相对位置信息,以及所述当前时刻的上一时刻的不同障碍物与所述机器人的相对位置信息,预估所述机器人在当前时刻的定位位置信息。
3.根据权利要求2所述的机器人,其特征在于,所述位置预估模块进一步设置为:
基于所述上一时刻的定位位置信息,和所述机器人在所述目标区域内由上一时刻到当前时刻行驶的轨迹信息,确定所述机器人在当前时刻的预估位置信息;
基于所述上一时刻的定位位置信息以及所述上一时刻的不同障碍物与所述机器人的相对位置信息,确定所述上一时刻的不同障碍物对应的位置信息,以及,基于所述机器人在当前时刻的预估位置信息以及当前时刻的不同障碍物与所述机器人的相对位置信息,确定当前时刻不同障碍物对应的预估位置信息;
基于上一时刻不同障碍物对应的位置信息以及当前时刻不同障碍物对应的预估位置信息,确定用于对所述当前时刻进行定位的不同目标障碍物的位置信息;
基于所述不同目标障碍物的位置信息,预估所述机器人在当前时刻的定位位置信息。
4.根据权利要求1所述的机器人,其特征在于,所述定位码还包括设置有位置信息的第一类定位码,所述第一类定位码标识的位置点在所述目标区域和所述场景地图中的位置信息相同,所述位置修正模块进一步设置为:
当基于所述视觉传感器探测到第一类定位码时,预估所述第一类定位码与所述机器人的相对位置信息;
基于所述第一类定位码与所述机器人的相对位置信息、所述第一类定位码在所述场景地图中的真实位置信息以及所述机器人在当前时刻的定位位置信息,确定所述第一类定位码的预估位置信息对应的第一误差信息;
基于所述第一误差信息以及使用所述激光传感器预估的每个定位位置信息对应的位置误差信息,对使用所述激光传感器预估的每个定位位置信息进行位置修正,得到每个所述定位位置信息在所述场景地图对应的坐标系中的绝对坐标信息。
5.根据权利要求1或4所述的机器人,其特征在于,所述位置修正模块还设置为:
获取所述机器人在任一时刻对应的定位位置信息,以及所述任一时刻的上一时刻对应的定位位置信息;
确定所述机器人在该任一时刻相对于上一时刻的相对位置信息;
基于所述机器人在所述任一时刻对应的定位位置信息、所述上一时刻对应的定位位置信息、以及所述机器人在该任一时刻相对于上一时刻的相对位置信息,确定所述机器人在该任一时刻的定位位置信息对应的位置误差信息。
6.一种地图生成方法,其特征在于,包括:
在确定机器人进入目标区域后,使用激光传感器按照设定时间间隔预估所述机器人的定位位置信息;
在基于视觉传感器探测到设置于所述目标区域内的定位码时,基于所述定位码对使用激光传感器预估的所述机器人的定位位置信息进行位置修正,直至得到所述目标区域对应的栅格地图;
基于机器人在所述目标区域对应的场景地图中的规划路径信息,确定机器人在所述栅格地图中对应的行驶路径信息;所述栅格地图中的行驶路径信息用于指引机器人在所述目标区域中执行运输任务;
其中,所述定位码包括未设置有位置信息的第二类定位码,所述在基于视觉传感器探测到设置于所述目标区域内的定位码时,基于所述定位码对使用激光传感器预估的所述机器人的定位位置信息进行位置修正,包括:
当基于所述视觉传感器在不同位置再次获取到相同的第二类定位码时,确定所述第二类定位码与所述机器人的相对位置信息,以及所述第二类定位码的预估位置信息;
基于所述第二类定位码与所述机器人的相对位置信息、所述第二类定位码的预估位置信息以及所述机器人在当前时刻的定位位置信息,确定在不同位置确定的所述第二类定位码的预估位置信息对应的第二误差信息;
基于所述第二误差信息以及使用所述激光传感器预估的每个定位位置信息对应的位置误差信息,对使用所述激光传感器预估的每个定位位置信息进行位置修正,得到每个所述定位位置信息在所述目标区域中的相对坐标信息。
7.根据权利要求6所述的地图生成方法,其特征在于,按照以下方式预估所述机器人在当前时刻的定位位置信息:
在检测到机器人进入所述目标区域后,控制所述激光传感器按照设定时间间隔获取不同障碍物与所述机器人的相对位置信息;
获取机器人的存储装置中存储所述机器人在当前时刻的上一时刻的定位位置信息以及不同障碍物与所述机器人的相对位置信息;
基于所述上一时刻的定位位置信息、当前时刻的不同障碍物与所述机器人的相对位置信息,以及所述当前时刻的上一时刻的不同障碍物与所述机器人的相对位置信息,预估所述机器人在当前时刻的定位位置信息。
8.根据权利要求7所述的地图生成方法,其特征在于,所述基于所述上一时刻的定位位置信息、当前时刻的不同障碍物与所述机器人的相对位置信息,以及所述当前时刻的上一时刻的不同障碍物与所述机器人的相对位置信息,预估所述机器人在当前时刻的定位位置信息,包括:
基于所述上一时刻的定位位置信息,和所述机器人在所述目标区域内由上一时刻到当前时刻行驶的轨迹信息,确定所述机器人在当前时刻的预估位置信息;
基于所述上一时刻的定位位置信息以及所述上一时刻的不同障碍物与所述机器人的相对位置信息,确定所述上一时刻的不同障碍物对应的位置信息,以及,基于所述机器人在当前时刻的预估位置信息以及当前时刻的不同障碍物与所述机器人的相对位置信息,确定当前时刻不同障碍物对应的预估位置信息;
基于上一时刻不同障碍物对应的位置信息以及当前时刻不同障碍物对应的预估位置信息,确定用于对所述当前时刻进行定位的不同目标障碍物的位置信息;
基于所述不同目标障碍物的位置信息,预估所述机器人在当前时刻的定位位置信息。
9.根据权利要求6所述的地图生成方法,其特征在于,所述定位码还包括设置有位置信息的第一类定位码,所述第一类定位码标识的位置点在所述目标区域和所述场景地图中的位置信息相同,所述在基于视觉传感器探测到设置于所述目标区域内的定位码时,基于所述定位码对使用激光传感器预估的所述机器人的定位位置信息进行位置修正,包括:
当基于所述视觉传感器探测到第一类定位码时,预估所述第一类定位码与所述机器人的相对位置信息;
基于所述第一类定位码与所述机器人的相对位置信息、所述第一类定位码在所述场景地图中的真实位置信息以及所述机器人在当前时刻的定位位置信息,确定所述第一类定位码的预估位置信息对应的第一误差信息;
基于所述第一误差信息以及使用所述激光传感器预估的每个定位位置信息对应的位置误差信息,对使用所述激光传感器预估的每个定位位置信息进行位置修正,得到每个所述定位位置信息在所述场景地图对应的坐标系中的绝对坐标信息。
10.根据权利要求6或9任一所述的地图生成方法,其特征在于,按照以下方式确定任一时刻的定位位置信息对应的位置误差信息:
获取所述机器人在所述任一时刻对应的定位位置信息,以及所述任一时刻的上一时刻对应的定位位置信息;
确定所述机器人在该任一时刻相对于上一时刻的相对位置信息;
基于所述机器人在所述任一时刻对应的定位位置信息、所述上一时刻对应的定位位置信息、以及所述机器人在该任一时刻相对于上一时刻的相对位置信息,确定所述机器人在该任一时刻的定位位置信息对应的位置误差信息。
11.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当所述电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求6至10任一所述的地图生成方法的步骤。
12.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求6至10任一所述的地图生成方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911401112.7A CN113124850B (zh) | 2019-12-30 | 2019-12-30 | 机器人、地图生成方法、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911401112.7A CN113124850B (zh) | 2019-12-30 | 2019-12-30 | 机器人、地图生成方法、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113124850A CN113124850A (zh) | 2021-07-16 |
CN113124850B true CN113124850B (zh) | 2023-07-28 |
Family
ID=76768196
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911401112.7A Active CN113124850B (zh) | 2019-12-30 | 2019-12-30 | 机器人、地图生成方法、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113124850B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009193097A (ja) * | 2008-02-12 | 2009-08-27 | Yaskawa Electric Corp | 移動ロボットの制御装置および移動ロボットシステム |
CN105865438A (zh) * | 2015-01-22 | 2016-08-17 | 青岛通产软件科技有限公司 | 基于机器视觉的移动机器人的自主精确定位系统 |
CN106289231A (zh) * | 2016-07-20 | 2017-01-04 | 华南理工大学 | Agv小车的定位系统及其定位方法 |
CN109211251A (zh) * | 2018-09-21 | 2019-01-15 | 北京理工大学 | 一种基于激光和二维码融合的即时定位与地图构建方法 |
CN109375626A (zh) * | 2018-11-20 | 2019-02-22 | 深圳市海柔创新科技有限公司 | 定位码贴设方法、装置、计算机设备和存储介质 |
CN109556616A (zh) * | 2018-11-09 | 2019-04-02 | 同济大学 | 一种基于视觉标记的自动建图机器人建图修整方法 |
CN109579824A (zh) * | 2018-10-31 | 2019-04-05 | 重庆邮电大学 | 一种融入二维码信息的自适应蒙特卡诺定位方法 |
CN109708632A (zh) * | 2019-01-31 | 2019-05-03 | 济南大学 | 一种面向移动机器人的激光雷达/ins/地标松组合导航系统及方法 |
WO2019154443A2 (zh) * | 2019-04-04 | 2019-08-15 | 上海快仓智能科技有限公司 | 导航控制方法、智能仓储系统和自动引导车 |
WO2019183928A1 (zh) * | 2018-03-30 | 2019-10-03 | 深圳市神州云海智能科技有限公司 | 一种室内机器人定位的方法及机器人 |
CN110446159A (zh) * | 2019-08-12 | 2019-11-12 | 上海工程技术大学 | 一种室内无人机精确定位与自主导航的系统及方法 |
CN110599546A (zh) * | 2019-08-28 | 2019-12-20 | 贝壳技术有限公司 | 一种获取三维空间数据的方法、系统、装置和存储介质 |
-
2019
- 2019-12-30 CN CN201911401112.7A patent/CN113124850B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009193097A (ja) * | 2008-02-12 | 2009-08-27 | Yaskawa Electric Corp | 移動ロボットの制御装置および移動ロボットシステム |
CN105865438A (zh) * | 2015-01-22 | 2016-08-17 | 青岛通产软件科技有限公司 | 基于机器视觉的移动机器人的自主精确定位系统 |
CN106289231A (zh) * | 2016-07-20 | 2017-01-04 | 华南理工大学 | Agv小车的定位系统及其定位方法 |
WO2019183928A1 (zh) * | 2018-03-30 | 2019-10-03 | 深圳市神州云海智能科技有限公司 | 一种室内机器人定位的方法及机器人 |
CN109211251A (zh) * | 2018-09-21 | 2019-01-15 | 北京理工大学 | 一种基于激光和二维码融合的即时定位与地图构建方法 |
CN109579824A (zh) * | 2018-10-31 | 2019-04-05 | 重庆邮电大学 | 一种融入二维码信息的自适应蒙特卡诺定位方法 |
CN109556616A (zh) * | 2018-11-09 | 2019-04-02 | 同济大学 | 一种基于视觉标记的自动建图机器人建图修整方法 |
CN109375626A (zh) * | 2018-11-20 | 2019-02-22 | 深圳市海柔创新科技有限公司 | 定位码贴设方法、装置、计算机设备和存储介质 |
CN109708632A (zh) * | 2019-01-31 | 2019-05-03 | 济南大学 | 一种面向移动机器人的激光雷达/ins/地标松组合导航系统及方法 |
WO2019154443A2 (zh) * | 2019-04-04 | 2019-08-15 | 上海快仓智能科技有限公司 | 导航控制方法、智能仓储系统和自动引导车 |
CN110446159A (zh) * | 2019-08-12 | 2019-11-12 | 上海工程技术大学 | 一种室内无人机精确定位与自主导航的系统及方法 |
CN110599546A (zh) * | 2019-08-28 | 2019-12-20 | 贝壳技术有限公司 | 一种获取三维空间数据的方法、系统、装置和存储介质 |
Non-Patent Citations (2)
Title |
---|
基于二维码的单目视觉测距移动机器人定位研究;罗高;袁亮;;组合机床与自动化加工技术(第10期);114-117+121 * |
机器人基于QR code的物体定位和抓取;章建森;庄礼鸿;;现代计算机(专业版)(第15期);66-70 * |
Also Published As
Publication number | Publication date |
---|---|
CN113124850A (zh) | 2021-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111602096B (zh) | 具有排除区的多分辨率扫描匹配 | |
CN111511620B (zh) | 使用最优交互避碰代价评估的动态窗口方法 | |
JP6842519B2 (ja) | データ収集方法及びそのシステム | |
CN107741234B (zh) | 一种基于视觉的离线地图构建及定位方法 | |
CN106796434B (zh) | 地图生成方法、自身位置推定方法、机器人系统和机器人 | |
CN112197770B (zh) | 一种机器人的定位方法及其定位装置 | |
US11846511B2 (en) | Sampling method and system for path planning of mobile robot in man-machine environment | |
KR101003168B1 (ko) | 다차원 에비던스 그리드 및 그를 적용한 시스템 및 방법 | |
EP2715286B1 (en) | Deep lane navigation system for automatic guided vehicles | |
KR20200041355A (ko) | 마커를 결합한 동시 위치결정과 지도작성 내비게이션 방법, 장치 및 시스템 | |
CN106379684A (zh) | 一种潜入式agv对接方法及系统以及潜入式agv | |
Holz et al. | Real-time object detection, localization and verification for fast robotic depalletizing | |
US8510039B1 (en) | Methods and apparatus for three-dimensional localization and mapping | |
US20100274387A1 (en) | Method of accurate mapping with mobile robots | |
JP5276931B2 (ja) | 移動体および移動体の位置推定誤り状態からの復帰方法 | |
KR20190003643A (ko) | 네거티브 매핑을 이용한 국부화 | |
CN110850859B (zh) | 一种机器人及其避障方法和避障系统 | |
Hähnel | Mapping with mobile robots. | |
JP2017004228A (ja) | 軌跡推定方法、軌跡推定装置及び軌跡推定プログラム | |
CN113124850B (zh) | 机器人、地图生成方法、电子设备及存储介质 | |
US11592826B2 (en) | Method, system and apparatus for dynamic loop closure in mapping trajectories | |
Atali et al. | Path planning of mobile robots based on qr code | |
Thompson et al. | Vision-based navigation | |
Nakagomi et al. | 3D scan matching for mobile robot localization over rough terrain | |
JPH06259131A (ja) | 移動ロボットの誘導制御装置 |
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 |