CN113733166B - 机器人定位方法、装置、机器人和计算机可读存储介质 - Google Patents
机器人定位方法、装置、机器人和计算机可读存储介质 Download PDFInfo
- Publication number
- CN113733166B CN113733166B CN202111310517.7A CN202111310517A CN113733166B CN 113733166 B CN113733166 B CN 113733166B CN 202111310517 A CN202111310517 A CN 202111310517A CN 113733166 B CN113733166 B CN 113733166B
- Authority
- CN
- China
- Prior art keywords
- positioning node
- preset
- positioning
- feature vector
- pose
- 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
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/02—Sensing devices
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/02—Sensing devices
- B25J19/04—Viewing devices
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/161—Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- 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/20—Instruments for performing navigational calculations
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本申请涉及一种机器人定位方法、装置、机器人和计算机可读存储介质。该方法包括:获取机器人在当前位置的环境图像和激光数据;根据环境图像,得到环境图像的特征向量;根据特征向量确定当前位置在特征地图中对应的至少一个定位节点,将至少一个定位节点作为备选定位节点,备选定位节点与当前位置的距离小于预设值;根据备选定位节点和机器人当前位置的激光数据,基于特征地图确定机器人的全局定位位姿。由于采用本方案预先建图时引入拍摄全局环境图像,根据环境图像和激光数据共同生成特征地图,在定位时,根据当前的环境图像和激光数据比对特征地图,获取当前的全局定位位姿,实现随时随地全局定位。
Description
技术领域
本申请涉及机器人技术领域,特别是涉及一种机器人定位方法、装置、机器人和计算机可读存储介质。
背景技术
随着机器人技术的发展,机器人越来越多的应用于日常生活中,为我们的生活带来便利。
目前,机器人一般采用激光定位,激光定位时需要机器人将固定位置作为开机点,才能保证后续定位正确。而且一旦机器人在运行过程中因为特殊情况导致定位丢失后,不能在原地重新定位,只能人为推回到开机点重新开机并重新定位。
因此,如何使机器人能够随时随地的定位是急需解决的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够随时随地定位的机器人定位方法、装置、机器人和计算机可读存储介质。
第一方面,本申请提供了一种机器人定位方法,该方法包括:
获取机器人在当前位置的环境图像和激光数据;
根据环境图像,得到环境图像的特征向量;
根据特征向量确定当前位置在特征地图中对应的至少一个定位节点,将至少一个定位节点作为备选定位节点,备选定位节点与当前位置的距离小于预设值;
根据备选定位节点和机器人当前位置的激光数据,基于特征地图确定机器人的全局定位位姿。
在其中一个实施例中,该方法还包括:
控制机器人在预设建图区域内移动,获取各预设的定位节点的激光数据和环境图像;
根据各预设的定位节点的激光数据确定各预设的定位节点的位姿;
根据各预设的定位节点的位姿和各预设的定位节点的环境图像,生成特征地图。
在其中一个实施例中,根据各预设的定位节点的位姿和各预设的定位节点的环境图像,生成特征地图,包括:
根据各预设的定位节点的环境图像获取各预设的定位节点的特征向量;
根据各预设的定位节点的位姿进行全局图优化,得到各预设的定位节点的优化位姿以及预设建图区域的栅格地图;
将各预设的定位节点的特征向量与对应的优化位姿进行绑定,根据绑定后的预设的定位节点的特征向量、优化位姿,以及栅格地图生成特征地图。
在其中一个实施例中,将各预设的定位节点的特征向量与对应的优化位姿进行绑定,包括:
获取各预设的定位节点的特征向量的向量ID;向量ID是根据获取各预设的定位节点的环境图像的时间生成的ID;
获取各预设的定位节点的优化位姿的位姿ID;位姿ID是根据获取各预设的定位节点的激光数据的时间生成的ID;
根据生成时间相同的向量ID和位姿ID,查找对应的预设的定位节点的特征向量和优化位姿进行绑定。
在其中一个实施例中,根据各预设的定位节点的环境图像获取各预设的定位节点的特征向量,包括:
将各预设的定位节点的环境图像输入至MobileNetVLAD网络中,输出对应预设的定位节点的特征向量。
在其中一个实施例中,根据特征向量确定当前位置在特征地图中对应的至少一个定位节点,将至少一个定位节点作为备选定位节点,包括:
根据特征向量从特征地图中确定至少一个备选特征向量;特征向量与备选特征向量之间的最小距离小于预设阈值;
根据各备选特征向量,确定当前位置在特征地图中对应的各个定位节点,并将各个定位节点作为备选定位节点。
在其中一个实施例中,根据备选定位节点和机器人当前位置的激光数据,基于特征地图确定机器人的全局定位位姿,包括:
在特征地图中查找备选定位节点对应的优化位姿;特征地图中包括预设建图区域的栅格地图;
根据各备选特征向量、各备选定位节点对应的优化位姿、当前位置的激光数据、预设建图区域的栅格地图,采用快速相关扫描匹配算法确定各备选特征向量的匹配得分;
将匹配得分最高的备选特征向量对应的备选定位节点作为目标定位节点,并将目标定位节点对应的位姿,确定为机器人的全局定位位姿。
第二方面,本申请提供一种机器人定位装置装置,该装置包括:
获取模块,用于获取机器人在当前位置的环境图像和激光数据;
第一确定模块,用于根据环境图像,得到环境图像的特征向量;
第二确定模块,用于根据特征向量确定当前位置在特征地图中对应的至少一个定位节点,将至少一个定位节点作为备选定位节点,备选定位节点与当前位置的距离小于预设值;
第三确定模块,用于根据备选定位节点和机器人当前位置的激光数据,基于特征地图确定机器人的全局定位位姿。
第三方面,本身请提供了一种机器人,搭载有激光雷达,还包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述第一方面任一项实施例中方法的步骤。
第四方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述第一方面任一项实施例中方法的步骤。
上述机器人定位方法、装置、机器人和计算机可读存储介质,通过获取机器人在当前位置的环境图像和激光数据;根据环境图像,得到环境图像的特征向量;根据特征向量确定当前位置在特征地图中对应的至少一个定位节点,将至少一个定位节点作为备选定位节点,备选定位节点与当前位置的距离小于预设值;根据备选定位节点和机器人当前位置的激光数据,基于特征地图确定机器人的全局定位位姿。由于现有技术通过激光定位时,2Dslam激光定位***能够获取的激光数据较少,无法准确计算机器人在的全局位姿,导致机器人无法定位,因此,采用本方案预先建图时引入拍摄全局环境图像,根据环境图像和激光数据共同生成特征地图,在定位时,根据当前的环境图像和激光数据比对特征地图,获取当前的全局定位位姿,实现随时随地全局定位。
附图说明
图1为一个实施例中机器人定位方法的应用环境图;
图2为一个实施例中机器人定位方法的第一流程示意图;
图3为一个实施例中机器人定位方法的第二流程示意图;
图4为一个实施例中机器人定位方法的第三流程示意图;
图5为一个实施例中机器人定位方法的第四流程示意图;
图6为一个实施例中机器人定位方法的第五流程示意图;
图7为一个实施例中机器人定位方法的第六流程示意图;
图8为一个实施例中机器人定位装置的第一结构框图;
图9为一个实施例中机器人定位装置的第二结构框图;
图10为一个实施例中机器人的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的机器人定位方法,可以应用于如图1所示的应用环境中。该应用环境可以包括机器人,该机器人中可以包括图像采集模块11、建图***12和定位***13。图像采集模块11可以实时获取当前的环境图像,建图***12可以根据激光数据以及环境图像生成特征地图。定位***13在机器人进行定位时,可以通过图像采集模块获取的当前环境图像,同时通过激光雷达的定位***获取的激光数据,基于已有的特征地图,结合当前环境图像和激光数据,确定全局定位位姿。其中,机器人可以用于进行配送、清洁等。机器人可以但不限于是各种配送机器人、扫地机器人等等。其中建图***可以包括GMapping等2D激光slam***;定位***可以包括蒙特卡洛定位***。
在一个实施例中,如图2所示,提供了一种机器人定位方法,以该方法应用于图1中的机器人为例进行说明,包括以下步骤:
S202,获取机器人在当前位置的环境图像和激光数据。
其中,当前位置为机器人在运行过程行驶、停靠的各个位置。其中,激光数据可以包括通过激光***获取的当前位置的点云数据、位姿等,在此不加以限制。激光***可以包括:2Dslam(simultaneouslocalizationandmapping)激光***、3Dslam激光***等等。
具体地,机器人在开始运行时,或者运行过程中,需要实时定位当前的位置信息,以实现例如送餐、扫地等的相关功能。机器人的图像采集装置可以实时拍摄运行至当前位置的环境图像。机器人的激光***可以实时采集运行至当前位置的激光数据。其中,图像采集装置可以包括RGB摄像头、深度摄像头等。
S204,根据环境图像,得到环境图像的特征向量。
具体地,机器人根据获取得到的当前位置的环境图像,提取该环境图像的特征向量。可以通过将环境图像输入至预先构建的神经网络模型中,确定特征向量。其中,神经网络模型可以包括MobileNetVLAD模型、NetVLAD模型等,在此不加以限制。
S206,根据特征向量确定当前位置在特征地图中对应的至少一个定位节点,将至少一个定位节点作为备选定位节点,备选定位节点与当前位置的距离小于预设值。
其中,定位节点为根据预设规则在预设建图区域中设定的位置,特征地图是根据预设建图区域中各定位节点的激光数据、各定位节点的环境图像以及各定位节点的环境图像对应的特征向量生成的地图。例如,机器人需要在预设的运行路径运行,可以将整段预设的运行路径划分为距离相等的多个分段,每个划分点为一个定位节点;也可以是在预设的运行路径中指定位置的节点,在此不加以限制。
可选地,可以通过预先将各定位节点的激光数据与对应的环境图像进行绑定,生成各激光数据与环境图像一一对应的特征地图。也可以通过对激光数据进行优化处理,得到优化后各个定位节点对应的激光数据,并对各定位节点的环境图像提取特征向量。由于,机器人是在运行至每个定位节点获取激光数据时,获取该定位节点的环境图像,因此,可以通过获取激光数据以及环境图像相同时刻,然后将处于相同时刻的优化后的激光数据和特征向量进行绑定,生成特征地图。其中,当获取到优化后的激光数据时,也可以同时得到预设建图区域的栅格地图,则可以将该栅格地图也存储至特征地图中。
具体地,可以通过查找特征地图中的各个特征向量中心点与当前位置的特征向量中心点距离最近的多个特征向量,并根据特征地图中的各个特征向量与定位节点的对应关系,确定当前位置对应的多个备选定位节点,即备选定位节点与所述当前位置的距离小于预设值。也可以是通过查找特征地图中的各个特征向量与当前位置的特征向量之间的最小距离小于预设阈值的多个特征向量,并根据特征地图中的各个特征向量与定位节点的对应关系,确定当前位置对应的多个备选定位节点,即备选定位节点与所述当前位置的距离小于预设值,在此不加以限制。
S208,根据备选定位节点和机器人当前位置的激光数据,基于特征地图确定机器人的全局定位位姿。
具体地,当获取到备选定位节点和当前位置的激光数据后,通过查找特征地图,找到与当前位置的特征向量匹配的初始特征向量,即确定了获取环境图像,进而确定对应的定位节点的位姿,作为全局定位位姿。或者,通过将查找特征地图,找到与当前特征向量匹配的备选特征向量,然后将与当前特征向量匹配的备选特征向量、栅格地图、当前的激光数据输入至预设的扫描算法,确定匹配得分,在匹配的情况下,将该备选特征向量对应的位姿作为全局定位位姿。在此不加以限定。
上述机器人定位方法中,通过获取机器人在当前位置的环境图像和激光数据;根据环境图像,得到环境图像的特征向量;根据特征向量确定当前位置在特征地图中对应的至少一个定位节点,将至少一个定位节点作为备选定位节点,备选定位节点与当前位置的距离小于预设值;根据备选定位节点和机器人当前位置的激光数据,基于特征地图确定机器人在当前位置的全局定位位姿。由于现有技术通过激光定位时,2Dslam激光定位***能够获取的激光数据较少,无法准确计算当前的全局位姿,导致机器人无法定位,因此,采用本方案预先建图时引入拍摄全局环境图像,根据环境图像和激光数据共同生成特征地图,在定位时,根据当前的环境图像和激光数据比对特征地图,获取全局定位位姿,实现随时随地全局定位。
上述实施例对机器人定位方法进行了说明,在机器人进行定位时,需要基于已有的特征地图进行相关计算分析,因此如何构建特征地图以便于机器人随时随地定位显得尤为重要,现已一个实施例如何构建特征地图进行说明。在一个实施例中,如图3所示,机器人定位方法包括:
S302,控制机器人在预设建图区域内移动,获取各预设的定位节点的激光数据和各预设的定位节点的环境图像。
其中,预设的定位节点可以包括机器人在预设的建图区域内移动过程中,每间隔预设的距离到达的节点,或者,机器人移动过程中,每间隔预设时间到达的节点,或者,机器人移动过程中,基于其他规则确定的节点。
具体地,控制机器人在预设的建图区域内移动,在到达提前预设的每个定位节点时,通过激光***获取该预设的定位节点的激光数据,以及控制机器人的图像采集装置获取该预设的定位节点的环境图像。其中,图像采集装置可以包括摄像头、深感摄像头、深度相机、单线或多线激光雷达等。
S304,根据各预设的定位节点的激光数据确定各预设的定位节点的位姿。
其中,激光数据可以包括激光点云数据。
具体地,当获取到各预设的定位节点的激光数据后,则可以根据2Dslam激光***计算各预设的定位节点的位姿。
S306,根据各预设的定位节点的位姿和各预设的定位节点的环境图像,生成特征地图。
具体地,可以通过将各预设的定位节点的位姿和对应的预设的定位节点的环境图像进行绑定,生成特征地图。可以通过获取到各预设的定位节点的激光数据和时刻以及获取对应环境图像的时刻,将各预设的定位节点对应的位姿和环境图像进行绑定。也可以通过,对各预设的定位节点进行编号,确定各预设的定位节点的ID信息(Identitydocument),根据预设的定位节点的ID信息,确定各ID信息对应的位姿和环境图像进行绑定,并将绑定后具有一一对应关系的各预设的定位节点的位姿和各环境图像进行存储生成特征地图。
进一步地,如图4所示,根据各预设的定位节点的位姿和各预设的定位节点的环境图像,生成特征地图,包括:
S402,根据各预设的定位节点的环境图像获取各预设的定位节点的特征向量。
具体地,可以通过采用神经网络模型,对环境图像进行分析,将各预设的定位节点的环境图像输入至MobileNetVLAD网络中,输出对应预设的定位节点的特征向量。
S404,根据各预设的定位节点的位姿进行全局图优化,得到各预设的定位节点的优化位姿以及预设建图区域的栅格地图。
具体地,由于激光***中在获取到所有的预设的定位节点的位姿后,可以对各预设的定位节点的位姿进行全局优化处理,得到各预设的定位节点的优化位姿,同时生成预设建图区域的栅格地图。
S406,将各预设的定位节点的特征向量与对应的优化位姿进行绑定,根据绑定后的预设的定位节点的特征向量、优化位姿,以及栅格地图生成特征地图。
具体地,在获取到各预设的定位节点的特征向量与对应的优化位姿后,可以通获取到该各预设的定位节点的激光数据和时刻以及获取对应的环境图像的时刻,将各预设的定位节点对应的位姿和对应的环境图像进行绑定。也可以通过,对各预设的定位节点进行编号,确定各预设的定位节点的ID信息,根据预设的定位节点的ID信息,确定各ID信息对应的位姿和环境图像并进行绑定,并将绑定后具有一一对应关系的各预设的定位节点的位姿和各对应的环境图像进行存储生成特征地图。
进一步地,如图5所示,将各预设的定位节点的特征向量与对应的优化位姿进行绑定,包括:
S502,获取各预设的定位节点的特征向量的向量ID;向量ID是根据获取各预设的定位节点的环境图像的时间生成的ID。
具体地,当机器人运行至各个预设的定位节点时,获取各个预设的定位节点的环境图像,此时会记录获取的各个时刻,并根据各个不同时刻对应生成各获取环境图像的各个预设的定位节点的向量ID。
S504,获取各预设的定位节点的优化位姿的位姿ID;位姿ID是根据获取各预设的定位节点的激光数据的时间生成的ID。
具体地,当机器人运行至各个预设的定位节点时,获取各个预设的定位节点的激光数据,此时会记录获取的各个时刻,并根据各个不同时刻对应生成各获取激光数据的各个预设的定位节点的位姿ID。当激光***进行全局优化时,更新各预设的定位节点的位姿,此时,优化后的位姿依然对应各自的位姿ID。
S506,根据生成时间相同的向量ID和位姿ID,查找对应的预设的定位节点的特征向量和优化位姿进行绑定。
具体地,由于当机器人运行至预设的定位节点时,会同时获取该预设的定位节点的激光数据和环境图像,因此获取的时刻是相同的,因此,可以通过相同时刻,获取各个预设的定位节点的向量ID和位姿ID,进而找到对应的特征向量和优化位姿并进行绑定。
在本实施例中,通过控制机器人在预设建图区域内移动,获取各预设的定位节点的激光数据和环境图像,根据各预设的定位节点的激光数据确定各预设的定位节点得到位姿,根据各预设的定位节点的位姿和各对应的环境图像,生成特征地图。能够根据激光数据和环境图像共同构建特征地图,以便于机器人能够随时随地进行定位,避免出现因运行过程中仅使用激光定位无法确定定位信息导致定位失败的问题。
上述实施例对如何构建特征地图进行了说明,现以一个实施例对如何确定确定备选定位节点进行说明,在一个实施例中,如图6所示,根据特征向量确定当前位置在特征地图中对应的至少一个定位节点,将至少一个定位节点作为备选定位节点,包括:
S602,根据特征向量从特征地图中确定至少一个备选特征向量;特征向量与备选特征向量之间的最小距离小于预设阈值。
具体地,当获取到机器人在当前位置的特征向量后,可以在特征地图中查找备选特征向量,即在特征地图中,以当前位置的特征向量为中心,查找该特征向量与特征地图中的各个特征向量之间的最小距离在预设阈值内的至少一个备选特征向量。
S604,根据各备选特征向量,确定当前位置在特征地图中对应的各个定位节点,并将各个定位节点作为所述备选定位节点。
具体地,根据特征地图中的各个特征向量与定位节点的一一对应关系,确定当前位置特征向量对应的多个备选特征向量在特征地图中一一对应的定位节点,作为备选定位节点。
进一步地,根据备选定位节点和机器人当前位置的激光数据,基于特征地图确定机器人的全局定位位姿,包括:
S702,在特征地图中查找备选定位节点对应的优化位姿;特征地图中包括预设建图区域的栅格地图。
具体地,在述特征地图中,根据备选定位节点对应的向量ID,查找各备选定位节点对应的优化位姿。
S704,根据各备选特征向量、各备选定位节点对应的优化位姿、当前位置的激光数据、预设建图区域的栅格地图,采用快速相关扫描匹配算法确定各所述备选特征向量的匹配得分。
其中,快速扫描匹配算法可以包括:帧匹配算法(CorrelativeScanMatching,CSM)等。
具体地,采用快速扫描匹配算法,在预设的范围内(例如如±1米和±20度),根据各备选特征向量对应的优化位姿、激光数据、预设区域的栅格地图进行计算,得到各备选特征向量的匹配得分。
S706,将匹配得分最高的备选特征向量对应的备选定位节点作为目标定位节点,并将目标定位节点对应的位姿,确定为机器人的全局定位位姿。
具体地,可以利用快速扫描算法对备选特征向量、当前节点的激光数据以及预设区域的栅格地图进行匹配计算,确定备选特征向量的匹配得分,若备选特征向量为1个,则可以是匹配得分大于预设得分阈值,则可以将该备选特征向量对应的优化位姿作为全局定位位姿。若备选特征向量为多个,选择匹配得分最高的备选特征向量,将其对应的优化位姿作为全局定位位姿。
在本实施例中,通过在特征地图中查找备选定位节点对应的优化位姿;根据各备选特征向量、各备选定位节点对应的优化位姿、当前位置的激光数据、预设建图区域的栅格地图,采用快速相关扫描匹配算法确定各备选特征向量的匹配得分;将匹配得分最高的备选特征向量对应的备选定位节点作为目标定位节点,并将目标定位节点对应的位姿,确定为机器人在当前位置的全局定位位姿。能够根据当前定位节点的环境图像、激光数据,在特征地图中查找最匹配的特征向量,更贴切当前节点的全局定位位姿,以完成机器人的定位。
为了便于本领域技术人员的理解,现以一个实施例对机器人定位方法进行说明,在一个实施例中,机器人定位方法,包括:
S801,控制机器人在预设建图区域内移动,获取各预设的定位节点的激光数据和各预设的定位节点的环境图像。
S802,根据各预设的定位节点的激光数据确定各预设的定位节点的位姿。
S803,将各所述预设的定位节点的环境图像输入至MobileNetVLAD网络中,输出对应预设的定位节点的特征向量。
S804,根据各预设的定位节点的位姿进行全局图优化,得到各预设的定位节点的优化位姿以及预设建图区域的栅格地图。
S805,将各预设的定位节点的特征向量与对应的优化位姿进行绑定,根据绑定后的特征向量、优化位姿,以及栅格地图生成特征地图。
S806,获取各预设的定位节点的优化位姿的位姿ID;位姿ID是根据获取各预设的定位节点的激光数据的时间生成的ID。
S807,根据生成时间相同的向量ID和位姿ID,查找对应的预设的定位节点的特征向量和优化位姿进行绑定。
S808,根据绑定后的预设的定位节点的特征向量、优化位姿,以及栅格地图生成特征地图。
S809,获取机器人在当前位置的环境图像和激光数据。
S810,根据环境图像,得到环境图像的特征向量。
S811,根据特征向量从特征地图中确定至少一个备选特征向量;特征向量与备选特征向量之间的最小距离小于预设阈值;
S812,根据各备选特征向量,确定当前位置在特征地图中对应的各个定位节点,并将各个定位节点作为备选定位节点。
S813,在特征地图中查找备选定位节点对应的优化位姿;特征地图中包括预设建图区域的栅格地图。
S814,根据各备选特征向量、各备选定位节点对应的优化位姿、当前位置的激光数据、预设建图区域的栅格地图,采用快速相关扫描匹配算法确定各备选特征向量的匹配得分。
S815,将匹配得分最高的备选特征向量对应的备选定位节点作为目标定位节点,并将目标定位节点对应的位姿,确定为机器人的全局定位位姿。
在本实施例中,通过获取机器人在当前位置的环境图像和激光数据;根据环境图像,得到环境图像的特征向量;根据特征向量确定当前位置在特征地图中对应的至少一个定位节点,将至少一个定位节点作为备选定位节点,备选定位节点与当前位置的距离小于预设值;根据备选定位节点和机器人当前位置的激光数据,基于特征地图确定机器人在当前位置的全局定位位姿。由于现有技术通过激光定位时,2Dslam激光定位***能够获取的激光数据较少,无法准确计算当前的全局位姿,导致机器人无法定位,因此,采用本方案预先建图时引入拍摄全局环境图像,根据环境图像和激光数据共同生成特征地图,在定位时,根据当前的环境图像和激光数据比对特征地图,获取当前的全局定位位姿,实现随时随地全局定位。应该理解的是,虽然图2-7的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-7中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
上述实施例对机器人定位方法进行了说明,现一个实施例对机器人定位装置进行说明,在一个实施例中,如图8所示,提供了一种机器人定位装置,包括:
获取模块801,用于获取机器人在当前位置的环境图像和激光数据;
第一确定模块802,用于根据环境图像,得到环境图像的特征向量;
第二确定模块803,用于根据特征向量确定当前位置在特征地图中对应的至少一个定位节点,将至少一个定位节点作为备选定位节点,备选定位节点与当前位置的距离小于预设值。
第三确定模块804,用于根据备选定位节点和机器人当前位置的激光数据,基于特征地图确定机器人的全局定位位姿。
在本实施例中,获取机器人在当前位置的环境图像和当前位置的激光数据;根据环境图像,得到环境图像的特征向量;根据特征向量确定当前位置在特征地图中对应的至少一个定位节点,将至少一个定位节点作为备选定位节点,备选定位节点与当前位置的距离小于预设值;根据备选定位节点和机器人当前位置的激光数据,基于特征地图确定机器人在当前位置的全局定位位姿。由于现有技术通过激光定位时,由于2Dslam激光定位***能够获取的激光数据较少,无法准确计算当前的全局位姿,导致无法定位,因此,采用本方案预先建图时则可以引入拍摄全局环境图像,根据环境图像和激光数据共同生成特征地图,在定位时,根据当前的环境图像和激光数据比对特征地图,获取当前的全局定位位姿,实现随时随地全局定位。由于现有技术通过激光定位时,2Dslam激光定位***能够获取的激光数据较少,无法准确计算当前的全局位姿,导致机器人无法定位,因此,采用本方案预先建图时引入拍摄全局环境图像,根据环境图像和激光数据共同生成特征地图,在定位时,根据当前的环境图像和激光数据比对特征地图,获取当前的全局定位位姿,实现随时随地全局定位。
在一个实施例中,如图9所示,机器人定位装置还包括:
控制模块805,用于控制机器人在预设建图区域内移动,获取各预设的定位节点的激光数据和各预设的定位节点的环境图像;
第四确定模块806,用于根据各预设的定位节点的激光数据确定各预设的定位节点的位姿;
生成模块807,用于根据各预设的定位节点的位姿和各预设的定位节点的环境图像,生成特征地图。
在一个实施例中,参见图9所示,生成模块807,包括:
获取单元8071,用于根据各预设的定位节点的环境图像获取各预设的定位节点的特征向量;
优化单元8072,用于根据各预设的定位节点的位姿进行全局图优化,得到各预设的定位节点的优化位姿以及预设建图区域的栅格地图;
绑定单元8073,用于将各预设的定位节点的特征向量与对应的优化位姿进行绑定,根据绑定后的预设的定位节点的特征向量、优化位姿,以及栅格地图生成特征地图。
在一个实施例中,绑定单元,具体用于获取各预设的定位节点的特征向量的向量ID;向量ID是根据获取各预设的定位节点的环境图像的时间生成的ID;获取各预设的定位节点的优化位姿的位姿ID;位姿ID是根据获取各预设的定位节点的激光数据的时间生成的ID;根据生成时间相同的向量ID和位姿ID,查找对应的特征向量和优化位姿进行绑定。
在一个实施例中,第一获取单元,具体用于将各预设的定位节点的环境图像输入至MobileNetVLAD网络中,输出对应预设的定位节点的特征向量。
在一个实施例,参见图9所示,第二确定模块803,包括:
第一确定单元8031,根据特征向量从特征地图中确定至少一个备选特征向量;特征向量与备选特征向量之间的最小距离小于预设阈值;
第二确定单元8032,根据各备选特征向量,确定当前位置在特征地图中对应的各个定位节点,并将各个定位节点作为备选定位节点。
在一个实施例中,参见图所示,第三确定单元804,包括:
查找单元8041,用于在特征地图中查找备选定位节点对应的优化位姿;特征地图中包括预设建图区域的栅格地图;
扫描单元8042,用于根据各备选特征向量、各备选定位节点对应的优化位姿、当前位置的激光数据、预设建图区域的栅格地图,采用快速相关扫描匹配算法确定各备选特征向量的匹配得分;
第三确定单元8043,用于将匹配得分最高的备选特征向量对应的备选定位节点作为目标定位节点,并将目标定位节点对应的位姿,确定为机器人在当前位置的全局定位位姿。
关于机器人定位装置的具体限定可以参见上文中对于机器人定位方法的限定,在此不再赘述。上述机器人定位装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种机器人,如图10所示,该机器人包括通过***总线连接的处理器、存储器和网络接口。其中,该机器人的处理器用于提供计算和控制能力。该机器人的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该机器人的数据库用于存储特征地图数据。该机器人的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种机器人定位方法。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的机器人的限定,具体的机器人可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种机器人,搭载有激光雷达,还包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(RandomAccessMemory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(StaticRandomAccessMemory,SRAM)或动态随机存取存储器(DynamicRandomAccessMemory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种机器人定位方法,其特征在于,所述方法包括:
获取所述机器人在当前位置的环境图像和激光数据;
根据所述环境图像,得到所述环境图像的特征向量;
根据所述特征向量确定所述当前位置在特征地图中对应的至少一个定位节点,将所述至少一个定位节点作为备选定位节点,所述备选定位节点与所述当前位置的距离小于预设值;所述特征地图中包括预设建图区域的栅格地图;
在所述特征地图中查找所述备选定位节点对应的优化位姿,以及与所述特征向量匹配的备选特征向量;
根据各所述备选特征向量、各所述备选定位节点对应的优化位姿、所述当前位置的激光数据、所述预设建图区域的栅格地图,采用快速扫描算法确定匹配得分,将所述匹配得分最高的所述备选特征向量对应的优化位姿作为所述机器人的全局定位位姿。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
控制所述机器人在预设建图区域内移动,获取各预设的定位节点的激光数据和环境图像;
根据各所述预设的定位节点的激光数据确定各所述预设的定位节点的位姿;
根据各所述预设的定位节点的位姿和各所述预设的定位节点的环境图像,生成所述特征地图。
3.根据权利要求2所述的方法,其特征在于,所述根据各所述预设的定位节点的位姿和各所述预设的定位节点的环境图像,生成所述特征地图,包括:
根据各所述预设的定位节点的环境图像获取各所述预设的定位节点的特征向量;
根据各所述预设的定位节点的位姿进行全局图优化,得到各所述预设的定位节点的优化位姿以及所述预设建图区域的栅格地图;
将各所述预设的定位节点的特征向量与对应的所述优化位姿进行绑定,根据绑定后的所述预设的定位节点的特征向量、所述优化位姿,以及所述栅格地图生成所述特征地图。
4.根据权利要求3所述的方法,其特征在于,所述将各所述预设的定位节点的特征向量与对应的所述优化位姿进行绑定,包括:
获取各所述预设的定位节点的特征向量的向量ID;所述向量ID是根据获取各所述预设的定位节点的环境图像的时间生成的ID;
获取各所述预设的定位节点的优化位姿的位姿ID;所述位姿ID是根据获取各所述预设的定位节点的激光数据的时间生成的ID;
根据生成时间相同的所述向量ID和所述位姿ID,查找对应的所述预设的定位节点的特征向量和所述优化位姿进行绑定。
5.根据权利要求3所述的方法,其特征在于,所述根据各所述预设的定位节点的环境图像获取各所述预设的定位节点的特征向量,包括:
将各所述预设的定位节点的环境图像输入至MobileNetVLAD网络中,输出对应所述预设的定位节点的特征向量。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述根据所述特征向量确定所述当前位置在特征地图中对应的至少一个定位节点,将所述至少一个定位节点作为备选定位节点,包括:
根据所述特征向量从所述特征地图中确定至少一个备选特征向量;所述特征向量与所述备选特征向量之间的最小距离小于预设阈值;
根据各所述备选特征向量,确定所述当前位置在特征地图中对应的各个定位节点,并将所述各个定位节点作为所述备选定位节点。
7.根据权利要求6所述的方法,其特征在于,所述将所述匹配得分最高的所述备选特征向量对应的优化位姿作为所述机器人的全局定位位姿,包括:
将所述匹配得分最高的所述备选特征向量对应的所述备选定位节点作为目标定位节点,并将所述目标定位节点对应的优化位姿,确定为所述机器人的全局定位位姿。
8.一种机器人定位装置,其特征在于,所述装置包括:
获取模块,用于获取所述机器人在当前位置的环境图像和激光数据;
第一确定模块,用于根据所述环境图像,得到所述环境图像的特征向量;
第二确定模块,用于根据所述特征向量确定所述当前位置在特征地图中对应的至少一个定位节点,将所述至少一个定位节点作为备选定位节点,所述备选定位节点与所述当前位置的距离小于预设值;所述特征地图中包括预设建图区域的栅格地图;
第三确定模块,用于在所述特征地图中查找所述备选定位节点对应的优化位姿,以及与所述特征向量匹配的备选特征向量;根据各所述备选特征向量、各所述备选定位节点对应的优化位姿、所述当前位置的激光数据、所述预设建图区域的栅格地图,采用快速扫描算法确定匹配得分,将所述匹配得分最高的所述备选特征向量对应的优化位姿作为所述机器人的全局定位位姿。
9.一种机器人,搭载有激光雷达,还包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111310517.7A CN113733166B (zh) | 2021-11-08 | 2021-11-08 | 机器人定位方法、装置、机器人和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111310517.7A CN113733166B (zh) | 2021-11-08 | 2021-11-08 | 机器人定位方法、装置、机器人和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113733166A CN113733166A (zh) | 2021-12-03 |
CN113733166B true CN113733166B (zh) | 2022-04-15 |
Family
ID=78727692
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111310517.7A Active CN113733166B (zh) | 2021-11-08 | 2021-11-08 | 机器人定位方法、装置、机器人和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113733166B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114413882B (zh) * | 2022-03-29 | 2022-08-05 | 之江实验室 | 一种基于多假设跟踪的全局初定位方法和装置 |
CN115267796B (zh) * | 2022-08-17 | 2024-04-09 | 深圳市普渡科技有限公司 | 定位方法、装置、机器人和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140009737A (ko) * | 2012-07-12 | 2014-01-23 | 한국과학기술원 | 하이브리드 맵 기반 로봇의 위치인식방법 |
CN107907124A (zh) * | 2017-09-30 | 2018-04-13 | 杭州迦智科技有限公司 | 基于场景重识的定位方法、电子设备、存储介质、*** |
CN110561416A (zh) * | 2019-08-01 | 2019-12-13 | 深圳市银星智能科技股份有限公司 | 一种激光雷达重定位方法及机器人 |
CN110672102A (zh) * | 2019-10-18 | 2020-01-10 | 劢微机器人科技(深圳)有限公司 | 视觉辅助机器人初始化定位方法、机器人及可读存储介质 |
CN112179353A (zh) * | 2020-09-30 | 2021-01-05 | 深圳市银星智能科技股份有限公司 | 自移动机器人的定位方法、装置、机器人及可读存储介质 |
-
2021
- 2021-11-08 CN CN202111310517.7A patent/CN113733166B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140009737A (ko) * | 2012-07-12 | 2014-01-23 | 한국과학기술원 | 하이브리드 맵 기반 로봇의 위치인식방법 |
CN107907124A (zh) * | 2017-09-30 | 2018-04-13 | 杭州迦智科技有限公司 | 基于场景重识的定位方法、电子设备、存储介质、*** |
CN110561416A (zh) * | 2019-08-01 | 2019-12-13 | 深圳市银星智能科技股份有限公司 | 一种激光雷达重定位方法及机器人 |
CN110672102A (zh) * | 2019-10-18 | 2020-01-10 | 劢微机器人科技(深圳)有限公司 | 视觉辅助机器人初始化定位方法、机器人及可读存储介质 |
CN112179353A (zh) * | 2020-09-30 | 2021-01-05 | 深圳市银星智能科技股份有限公司 | 自移动机器人的定位方法、装置、机器人及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113733166A (zh) | 2021-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10748061B2 (en) | Simultaneous localization and mapping with reinforcement learning | |
CN113733166B (zh) | 机器人定位方法、装置、机器人和计算机可读存储介质 | |
WO2020259274A1 (zh) | 区域识别方法、机器人和存储介质 | |
CN111060101A (zh) | 视觉辅助的距离slam方法及装置、机器人 | |
CN109931942B (zh) | 机器人路径生成方法、装置、机器人和存储介质 | |
CN110749901B (zh) | 自主移动机器人及其地图拼接方法、装置和可读存储介质 | |
CN110221600B (zh) | 路径规划方法、装置、计算机设备和存储介质 | |
CN109313809B (zh) | 一种图像匹配方法、装置及存储介质 | |
US9317968B2 (en) | System and method for multiple hypotheses testing for surface orientation during 3D point cloud extraction from 2D imagery | |
CN109068278B (zh) | 室内避障方法、装置、计算机设备及存储介质 | |
CN112015187B (zh) | 一种用于智能移动机器人的语义地图构建方法及*** | |
CN115267796B (zh) | 定位方法、装置、机器人和存储介质 | |
Liu et al. | Bird's-Eye-View Scene Graph for Vision-Language Navigation | |
CN115004259B (zh) | 对象识别方法、装置、计算机设备和存储介质 | |
CN111666137B (zh) | 数据标注方法、装置、计算机设备和存储介质 | |
KR101878390B1 (ko) | 다중 가설 트래킹에 기반한 다중 카메라 다중 표적 트래킹을 위한 온라인 장치 및 방법 | |
CN114580044A (zh) | 建筑物外表面数据获取方法、装置、计算机设备和介质 | |
CN116295354B (zh) | 一种无人车主动全局定位方法和*** | |
CN110413716B (zh) | 数据存储和数据查询方法、装置及电子设备 | |
CN112220405A (zh) | 自移动工具清扫路线更新方法、装置、计算机设备和介质 | |
US10657659B1 (en) | Visual simultaneous localization and mapping system | |
US20160282876A1 (en) | Moving object controller, moving object control method, and integrated circuit | |
CN114536326B (zh) | 一种路标数据处理方法、装置及存储介质 | |
CN114463429B (zh) | 机器人、地图创建方法、定位方法及介质 | |
US20230400863A1 (en) | Information processing device, information processing system, method, and program |
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 |