掌桥专利:专业的专利平台
掌桥专利
首页

一种重定位方法、装置、终端设备及存储介质

文献发布时间:2023-06-19 10:46:31


一种重定位方法、装置、终端设备及存储介质

技术领域

本发明属于重定位(Relocation)技术领域,尤其涉及一种重定位方法、装置、终端设备及存储介质。

背景技术

定位是确定机器人在二维工作环境中相对于全局坐标的位姿,确定机器人自身在地图中的位置是实现机器人自主导航的关键。机器人在运动过程中被劫持或者刚开机时无法得知自己的位姿,通常将机器人恢复定位位姿的过程称为重定位。

在现实场景中,有很多场景环境复杂多变(例如,空旷场地或环境交杂的场景),机器人导航对边缘、过道等环境的定位精度要求较高,而在空旷场地,机器人也需要知道自身的大致方向以保障导航需求,确定机器人的初始位姿,是机器人进行各项导航任务的先决条件。

发明内容

有鉴于此,本发明实施例提供了一种重定位方法、装置、终端设备及存储介质,能够在复杂环境下快速确定终端设备初始位姿,以提高终端设备的重定位搜索效率和成功率,尤其适用于对机器人进行重定位。

本发明实施例的第一方面提供了一种重定位方法,包括:

收集原地旋转过程中的m个超宽带定位数据;其中,m为大于或等于2的整数;

根据所述m个超宽带定位数据获取位置数据;

收集原地旋转过程中的n个传感器数据和n个里程计数据;其中,每个所述传感器数据包括一帧雷达数据或一帧视觉图像数据,n为大于或等于2的整数;

根据所述n个里程计数据对所述n个传感器数据进行拼接,得到合成数据;

将所述合成数据与预设全局地图进行局部匹配,得到第一位姿数据;

当所述合成数据与所述预设全局地图之间的匹配度大于预设匹配度阈值,并且所述第一位姿数据与所述位置数据之间的距离小于预设距离阈值时,判定重定位成功。

本发明实施例的第二方面提供了一种重定位装置,包括:

定位单元,用于收集原地旋转过程中的m个超宽带定位数据;其中,m为大于或等于2的整数;

第一计算单元,用于根据所述m个超宽带定位数据获取位置数据;

传感单元,用于收集原地旋转过程中的n个传感器数据和n个里程计数据;其中,每个所述传感器数据包括一帧雷达数据或一帧视觉图像数据,n为大于或等于2的整数;

第二计算单元,用于根据所述n个里程计数据对所述n个传感器数据进行拼接,得到合成数据;

第三计算单元,用于将所述合成数据与预设全局地图进行局部匹配,得到第一位姿数据;

判定单元,用于当所述合成数据与所述预设全局地图之间的匹配度大于预设匹配度阈值,并且所述第一位姿数据与所述位置数据之间的距离小于预设距离阈值时,判定重定位成功。

本发明实施例的第三方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,还包括与所述处理器连接的超宽带收发模块、传感器以及里程计,所述处理器执行所述计算机程序时实现如本发明实施例的第一方面所述的重定位方法的步骤;其中,所述传感器包括雷达传感器和视觉传感器中的至少一种。

本发明实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如本发明实施例的第一方面所述的重定位方法的步骤。

本发明实施例的第一方面通过收集原地旋转过程中的m个超宽带定位数据;根据m个超宽带定位数据获取位置数据;收集原地旋转过程中的n个传感器数据和n个里程计数据,每个传感器数据包括一帧雷达数据或一帧视觉图像数据;根据n个里程计数据对n个传感器数据进行拼接,得到合成数据;将合成数据与预设全局地图进行局部匹配,得到第一位姿数据;当合成数据与预设全局地图之间的匹配度大于预设匹配度阈值,并且第一位姿数据与位置数据之间的距离小于预设距离阈值时,判定重定位成功,通过结合雷达定位技术或视觉定位技术以及超宽带定位技术和局部匹配算法,能够在复杂环境下快速确定终端设备初始位姿,提高终端设备的重定位搜索效率和成功率,尤其适用于对机器人进行重定位。

可以理解的是,上述第二方面至第四方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的重定位方法的第一种流程示意图;

图2是本发明实施例提供的由n个传感器数据合成得到合成数据的示意图;

图3是本发明实施例提供的重定位方法的第二种流程示意图;

图4是本发明实施例提供的重定位方法的第三种流程示意图;

图5是本发明实施例提供的重定位装置的结构示意图;

图6是本发明实施例提供的终端设备的结构示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。

应当理解,当在本发明说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

如在本发明说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。

另外,在本发明说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

在本发明说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本发明的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。

本发明实施例提供的重定位方法可以应用于机器人、自动导引车(AutomatedGuided Vehicle,AGV)、无人机、手机、智能环(智能手环、智能颈环等)、平板电脑、笔记本电脑、上网本、数字助理(Digital Assistant,PDA)等可运动或可携带的终端设备,用于对终端设备进行重定位,尤其适用于对复杂环境下的机器人进行重定位,具体可以由终端设备的处理器在运行具有相应功能的计算机程序时执行。机器人具体可以是服务机器人,例如,扫地机器人、物流机器人、保姆机器人、迎宾机器人、表演机器人等。本发明实施例对终端设备和机器人的具体类型不作任何限制

如图1所示,本发明实施例提供的重定位方法,包括由终端设备的处理器执行的如下步骤S101至S106:

步骤S101、收集原地旋转过程中的m个超宽带定位数据;其中,m为正整数。

在应用中,在对终端设备进行重定位时,需要通过终端设备的超宽带(Ultra WideBand,UWB)收发模块基于超宽带定位技术持续收集终端设备原地旋转预设角度过程中的超宽带定位数据。收集到的超宽带定位数据的数量m与终端设备原地旋转预设角度所需的旋转时间和超宽带收发模块的收发频率正相关,m等于旋转时间与收发频率的乘积。预设角度可以根据实际需要设置为(0,2Nπ]之间的任意角度,N为任意正整数,例如,预设角度具体可以为2π。收发频率与超宽带收发模块本身的性能有关,可以根据实际需要选用收发频率高的超宽带收发模块。当终端设备可运动时,具体可由终端设备的处理器控制终端设备的舵机或电机转动,以驱动终端设备原地旋转预设角度;当终端设备可携带时,具体可由用户手持终端设备原地旋转预设角度。

步骤S102、根据所述m个超宽带定位数据获取位置数据。

在应用中,由于终端设备是原地旋转,因此,每个超宽带定位数据实际上都能表征终端设备的位置,根据m个超宽带定位数据来共同定位终端设备的位置,可以有效提高定位精度。

在一个实施例中,步骤S102包括:

通过聚类算法对所述m个超宽带定位数据进行聚类,得到位置数据;

或者,通过求平均值算法对所述m个超宽带定位数据求平均值,得到位置数据。

在应用中,可以对m个超宽带定位数据进行聚类或者求平均值,将获得的聚类结果或平均值作为终端设备的位置数据,以实现对终端设备位置的精确定位。

步骤S103、收集原地旋转过程中的n个传感器数据和n个里程计数据;其中,每个所述传感器数据包括一帧雷达数据或一帧视觉图像数据,n为正整数。

在应用中,在对终端设备进行重定位时,还需要通过终端设备的传感器和里程计分别持续收集终端设备原地旋转预设角度过程中的传感器数据和里程计数据;传感器可以是雷达传感器,对应的,传感器数据可以是通过雷达传感器扫描周围环境收集的雷达数据,雷达传感器在终端设备原地旋转过程中可以相对于终端设备固定不动、也可以相对于终端设备自行旋转,可以将雷达传感器每次被终端设备带动旋转或自行旋转第一特定角度所采集的雷达数据作为一帧雷达数据,第一特定角度可以根据实际需要设置为(0,2π]之间的任意角度,例如,第一特定角度具体可以为2π;传感器也可以是视觉传感器,对应的传感器数据也可以是通过视觉传感器扫描周围环境收集的视觉图像数据,视觉传感器在终端设备原地旋转过程中可以相对于终端设备固定不动、也可以相对于终端设备自行旋转,可以将视觉传感器每次被终端设备带动旋转或自行旋转第二特定角度所采集的视觉图像数据作为一帧视觉图像数据,第二特定角度可以根据实际需要设置为(0,2π]之间的任意角度,例如,第二特定角度具体可以为2π。与超宽带定位数据的数量m的计算方法类似,收集到的传感器数据的数量n与旋转时间和传感器的数据采集频率正相关,收集到的里程计数据的数量n与旋转时间和里程计的数据采集频率正相关,n等于旋转时间与数据采集频率的乘积。

在应用中,雷达传感器具体可以是毫米波雷达、超声波雷达或多线激光雷达等任意类型的雷达,多线激光雷达可以向周围环境中的物体发射点阵激光,对应的,收集到的每帧雷达数据都是点云数据,点云数据是多线激光雷达所采集到的周围环境中的物体表面的所有反射点的数据集合。视觉传感器具体可以是RGB相机、深度相机或红外相机等任意类型的相机。里程计数据可以包括里程数据和方向数据,里程数据用于表征传感器的旋转里程,方向数据用于表征传感器的旋转方向,方向数据具体可以表示为方位角或方向向量。

步骤S104、根据所述n个里程计数据对所述n个传感器数据进行拼接,得到合成数据。

在应用中,由于每个传感器数据并不能完整反应终端设备周围环境中预设角度范围内的所有物体,因此,需要对终端设备原地旋转过程收集到的所有传感器数据进行拼接,以得到能够完整反应终端设备周围环境中预设角度范围内的所有物体的合成数据。每个里程计数据可以对应一个传感器数据,根据每个里程计数据所包含的方向数据,按照旋转方向对n个传感器数据进行拼接,得到合成数据。当传感器数据是雷达数据时,合成数据是由n帧点云数据拼接合成的点云数据集合,包含终端设备周围环境中预设角度范围内每个方向上的所有物体表面的所有反射点的数据;当传感器数据是视觉图像数据时,合成数据是由n帧视觉图像数据拼接合成视觉图像数据集合,包含终端设备周围环境中预设角度范围内每个方向上的所有物体的视觉图像数据。预设角度范围为[0,预设角度]。通过利用n个里程计数据合成n个传感器数据,可以得到反应终端设备周围环境中预设角度范围内的整体环境的合成数据。

在一个实施例中,每个所述传感器数据与一个所述里程计数据对应;

步骤S104包括:

根据与每个所述传感器数据对应的一个所述里程计数据,得到与每个所述传感器数据对应的方向数据;

根据与每个所述传感器数据对应的方向数据对所述n个传感器数据进行拼接,得到合成数据。

在一个实施例中,合成数据的计算公式为:

其中,SCAN表示所述合成数据,θ表示方位角,O

在应用中,n个传感器数据可以分别表示为scan

图2示例性的示出了由n个传感器数据scan

步骤S105、将所述合成数据与预设全局地图进行局部匹配,得到第一位姿数据。

在应用中,在得到合成数据之后,利用局部匹配算法对合成数据与事先构建好的全局地图进行局部匹配,得到终端设备的位姿数据。全局地图是终端设备所处环境的地图,终端设备所处环境包含终端设备周围环境中预设角度范围内的所有物体。

在一个实施例中,步骤S105的计算公式为:

其中,(x,y,θ)表示所述第一位姿数据,x表示横坐标,y表示纵坐标,θ表示方位角,argmax表示最大值自变量点集函数,[a,b]表示所述x的搜索范围,[c,d]表示所述y的搜索范围,[e,f]表示所述θ的搜索范围,SCAN表示所述合成数据,MAP表示所述预设全局地图。

在应用中,若搜索范围设置过大,例如,将x的搜索范围设置为[0,w],w表示全局地图的宽度,y的搜索范围设置为[0,h],h表示全局地图的高度,θ的搜索范围设置为[0,2π],则相当于是在全局地图范围内进行全局搜索,计算量大,耗时长,并且无法判断出相似场景。通过合理设置搜索范围,进行局部匹配,计算量小,匹配速度快,匹配精度高,并且可以适用于相似场景,例如,将x的搜索范围设置为位置数据的横坐标

步骤S106、当所述第一位姿数据与所述预设全局地图之间的匹配度大于预设匹配度阈值,并且所述第一位姿数据与所述位置数据之间的距离小于预设距离阈值时,判定重定位成功。

在应用中,当第一位姿数据与全局地图之间的匹配度大于预设匹配度阈值r,且与位置数据之间的距离在预设距离范围内[0,L](也即小于预设距离阈值L)时,可以认为重定位成功,在重定位成功之后,处理器可以将第一位姿数据输出给其他模块,供其他模块使用,例如,供舵机或电机在驱动终端设备运动时使用。预设匹配度阈值r和预设距离阈值L的大小可以根据实际需要进行设置,例如,预设匹配度阈值r的取值范围设置为[80%,100%],L的取值范围设置为[2,5],具体的,预设匹配度阈值r的大小可以设置为90%,预设距离阈值L的大小可以设置为3米。

在一个实施例中,步骤S106之前,包括:

获取所述合成数据与所述预设全局地图之间的匹配度;

获取所述第一位姿数据与所述位置数据之间的距离。

在应用中,可以先获取合成数据与预设全局地图之间的匹配度,当匹配度大于预设匹配度阈值时,再进一步获取第一位姿数据与位置数据之间的距离;也可以先获取第一位姿数据与位置数据之间的距离,当距离小于预设距离阈值时,再进一步获取合成数据与预设全局地图之间的匹配度。

在应用中,第一位姿数据与位置数据之间的距离具体可以是指二者之间的欧氏距离。

在一个实施例中,第一位姿数据与位置数据之间的欧氏距离的计算公式为:

其中,l表示所述距离,sqrt表示平方根函数,

如图3所示,在一个实施例中,步骤S106之后,包括如下步骤S107和S108:

步骤S107、当所述合成数据与所述预设全局地图之间的匹配度小于或等于预设匹配度阈值,或者,所述第一位姿数据与所述位置数据之间的距离大于或等于预设距离阈值时,收集向预设方向运动预设距离过程中的M个超宽带定位数据;其中,M为大于或等于2的整数。

在应用中,当根据传感器数据和里程计数据得到的合成数据不满足与全局地图之间的匹配度大于预设匹配度阈值,或者,第一位姿数据不满足与位置数据之间的距离小于预设距离阈值时,说明根据传感器数据和里程计数据无法实现重定位,因此,需要收集终端设备向预设方向运动预设距离的过程中的超宽带定位数据,以根据这些超宽带定位数据来实现重定位。

在应用中,收集到的超宽带定位数据的数量M与终端设备向预设方向运动预设距离所需的运动时间和超宽带收发模块的收发频率正相关,M等于运动时间与收发频率的乘积。M的数值、预设方向和预设距离可以根据实际需要进行设置。预设方向可以是终端设备周围的任意恒定方向,以使得终端设备可以朝向预设方向作直线运动。M应该设置为一个较大的数值,从而可以根据足够多的超宽带定位数据来实现重定位,提高定位精度。预设距离等于终端设备收集到M个超宽带定位数据所需的运动时间和运动速度之间的乘积。若终端设备还未向预设方向运动预设距离(也即还未收集到M个超宽带数据)就停止运行,则说明终端设备被劫持、运动空间不足或故障,此时可判定重定位失败。

步骤S108、当M大于预设数量阈值且根据所述M个超宽带定位数据可拟合出第二位姿数据时,判定重定位成功。

在应用中,预设数量阈值可以根据实际需要进行设置,预设数量阈值越大,收集到的超宽带定位数据越多,根据这些超宽带定位数据进行重定位的精度越高。当M大于预设数量阈值且根据M个超宽带定位数据可拟合出第二位姿数据时,可以认为重定位成功,在重定位成功之后,处理器可以将第二位姿数据输出给其他模块,供其他模块使用,例如,供舵机或电机在驱动终端设备运动时使用。当根据M个超宽带定位数据无法拟合出第二位姿数据,可以认为重定位失败,在重定位失败之后,处理器可以控制终端设备的人机交互模块发出提示信息。人机交互模块可以包括显示屏、语音模块、指示灯、舵机、电机等中的至少一种,用于通过显示可视提示信息、发出语音提示信息、点亮指示灯、作出提示动作等中的至少一种方式告知用户重定位失败。

在一个实施例中,步骤S108之后,包括:

当M小于或等于预设数量阈值,或者,根据所述M个超宽带定位数据无法拟合出第二位姿数据时,判定重定位失败;

在重定位失败时,发出提示信息。

如图4所示,在一个实施例中,本发明实施例提供的重定位方法,包括由终端设备的处理器执行的如下步骤S401至S4011:

步骤S401、收集原地旋转过程中的m个超宽带定位数据,进入步骤S402;

步骤S402、根据所述m个超宽带定位数据获取位置数据,进入步骤S406;

步骤S403、收集原地旋转过程中的n个传感器数据和n个里程计数据,进入步骤S404;

步骤S404、根据所述n个里程计数据对所述n个传感器数据进行拼接,得到合成数据,进入步骤S405;

步骤S405、将所述合成数据与预设全局地图进行局部匹配,得到第一位姿数据,进入步骤S406;

步骤S406、判断所述合成数据与所述预设全局地图之间的匹配度是否大于预设匹配度阈值,并且所述第一位姿数据与所述位置数据之间的距离是否小于预设距离阈值;若是(也即所述合成数据与所述预设全局地图之间的匹配度大于预设匹配度阈值,并且所述第一位姿数据与所述位置数据之间的距离小于预设距离阈值),则进入步骤S407;若否(也即所述合成数据与所述预设全局地图之间的匹配度小于或等于预设匹配度阈值,或者,所述第一位姿数据与所述位置数据之间的距离大于或等于预设距离阈值),则进入步骤S408;

步骤S407、判定重定位成功,进入步骤S411;

步骤S408、收集向预设方向运动预设距离过程中的M个超宽带定位数据,进入步骤S409;

步骤S409、判断M是否大于预设数量阈值且根据所述M个超宽带定位数据是否可拟合出第二位姿数据;若是(也即M大于预设数量阈值且根据所述M个超宽带定位数据可拟合出第二位姿数据),则进入步骤S407;若否(也即M小于或等于预设数量阈值,或者,根据所述M个超宽带定位数据无法拟合出第二位姿数据),则进入步骤S410;

步骤S410、判定重定位失败,进入步骤S411;

步骤S411、结束重定位。

本发明实施例所提供的重定位方法,通过结合雷达定位技术或视觉定位技术以及超宽带定位技术和局部匹配算法,能够在复杂环境下快速确定终端设备初始位姿,提高终端设备的重定位搜索效率和成功率,减小对环境、场地的要求,尤其适用于在空旷场地、环境交杂的场景、相似场景下对机器人进行重定位。

在一个实施例中,本发明实施例提供的重定位方法,包括由终端设备的处理器执行的如下步骤S501至S511:

步骤S501、收集原地旋转过程中的m个超宽带定位数据;其中,m为大于或等于2的整数;

步骤S502、根据所述m个超宽带定位数据获取位置数据;

步骤S503、收集原地旋转过程中的n帧雷达数据、n帧视觉图像数据及n个里程计数据;其中,每帧所述雷达数据和每帧所述视觉图像数据与一个所述里程计数据对应,n为大于或等于2的整数;

步骤S504、根据所述n个里程计数据对所述n帧雷达数据和所述n帧视觉图像数据中的一种进行拼接,得到第一合成数据;

步骤S505、将所述第一合成数据与预设全局地图进行局部匹配,得到第一位姿数据;

步骤S506、当所述第一合成数据与所述预设全局地图之间的匹配度大于预设匹配度阈值,并且所述第一位姿数据与所述位置数据之间的距离小于预设距离阈值时,判定重定位成功;

步骤S507、当所述第一合成数据与所述预设全局地图之间的匹配度小于或等于预设匹配度阈值,或者,所述第一位姿数据与所述位置数据之间的距离大于或等于预设距离阈值时,根据所述n个里程计数据对所述n帧雷达数据和所述n帧视觉图像数据中的另一种进行拼接,得到第二合成数据;

步骤S508、将所述第二合成数据与预设全局地图进行局部匹配,得到第三位姿数据;

步骤S509、当所述第二合成数据与所述预设全局地图之间的匹配度大于预设匹配度阈值,并且所述第三位姿数据与所述位置数据之间的距离小于预设距离阈值时,判定重定位成功;

步骤S510、当所述第二合成数据与所述预设全局地图之间的匹配度小于或等于预设匹配度阈值,或者,所述第三位姿数据与所述位置数据之间的距离大于或等于预设距离阈值时,收集向预设方向运动预设距离过程中的M个超宽带定位数据,M为大于或等于2的整数;

步骤S511、当M大于预设数量阈值且根据所述M个超宽带定位数据可拟合出第二位姿数据时,判定重定位成功。

在应用中,终端设备可以同时包括雷达传感器和视觉传感器,并在原地旋转过程中同时收集n帧雷达数据和n帧视觉图像数据,可以先根据n个里程计数据对n帧雷达数据和n帧视觉图像数据中的一种进行拼接,得到第一合成数据;将第一合成数据与预设全局地图进行局部匹配,得到第一位姿数据;当第一合成数据与预设全局地图之间的匹配度大于预设匹配度阈值,并且第一位姿数据与位置数据之间的距离小于预设距离阈值时,判定重定位成功;否则,进一步根据n个里程计数据对n帧雷达数据和n帧视觉图像数据中的另一种进行拼接,得到第二合成数据;将第二合成数据与预设全局地图进行局部匹配,得到第三位姿数据;当第二合成数据与预设全局地图之间的匹配度大于预设匹配度阈值,并且第三位姿数据与位置数据之间的距离小于预设距离阈值时,判定重定位成功;否则,收集终端设备向预设方向运动预设距离过程中的M个超宽带定位数据,根据M个超宽带定位数据进行重定位并判定重定位是否成功。步骤S501至S511中各数据的采集和计算方法与上述实施例中的原理相同,此处不再赘述。通过同时收集雷达数据和视觉图像数据,在利用其中一种数据进行重定位失败时,继续利用另外一种数据进行重定位,能够有效提高重定位成功的概率。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

本发明实施例还提供一种重定位装置,用于执行上述重定位方法实施例中的步骤。重定位装置可以是终端设备中的虚拟装置(virtual appliance),由终端设备的处理器运行,也可以是终端设备本身。

如图5所示,本发明实施例提供的重定位装置100,包括:

定位单元101,用于收集原地旋转过程中的m个超宽带定位数据;其中,m为大于或等于2的整数;

第一计算单元102,用于根据所述m个超宽带定位数据获取位置数据;

传感单元103,用于收集原地旋转过程中的n个传感器数据和n个里程计数据;其中,每个所述传感器数据包括一帧雷达数据或一帧视觉图像数据,n为大于或等于2的整数;

第二计算单元104,用于根据所述n个里程计数据对所述n个传感器数据进行拼接,得到合成数据;

第三计算单元105,用于将所述合成数据与预设全局地图进行局部匹配,得到第一位姿数据;

判定单元106,用于当所述合成数据与所述预设全局地图之间的匹配度大于预设匹配度阈值,并且所述第一位姿数据与所述位置数据之间的距离小于预设距离阈值时,判定重定位成功。

在一个实施例中,所述重定位装置还包括第四计算单元,用于:

获取所述合成数据与所述预设全局地图之间的匹配度;

获取所述第一位姿数据与所述位置数据之间的距离。

在一个实施例中,所述定位单元,还用于当所述合成数据与所述预设全局地图之间的匹配度小于或等于预设匹配度阈值,或者,所述第一位姿数据与所述位置数据之间的距离大于或等于预设距离阈值时,收集向预设方向运动预设距离过程中的M个超宽带定位数据;

所述判定单元,还用于当M大于预设数量阈值且根据所述M个超宽带定位数据可拟合出第二位姿数据时,判定重定位成功。

在一个实施例中,所述判定单元,还用于当M小于或等于预设数量阈值,或者,根据所述M个超宽带定位数据无法拟合出第二位姿数据时,判定重定位失败;

所述重定位装置还包括提示单元,用于在重定位失败时,发出提示信息。

在一个实施例中,本发明实施例提供的重定位装置,包括:

定位单元,用于收集原地旋转过程中的m个超宽带定位数据;其中,m为大于或等于2的整数;

第一计算单元,用于根据所述m个超宽带定位数据获取位置数据;

传感单元,用于收集原地旋转过程中的n帧雷达数据、n帧视觉图像数据及n个里程计数据;其中,每帧所述雷达数据和每帧所述视觉图像数据与一个所述里程计数据对应,n为大于或等于2的整数;

第二计算单元,用于根据所述n个里程计数据对所述n帧雷达数据和所述n帧视觉图像数据中的一种进行拼接,得到第一合成数据;

第三计算单元,用于将所述第一合成数据与预设全局地图进行局部匹配,得到第一位姿数据;

判定单元,用于当所述第一合成数据与所述预设全局地图之间的匹配度大于预设匹配度阈值,并且所述第一位姿数据与所述位置数据之间的距离小于预设距离阈值时,判定重定位成功;

所述第二计算单元,还用于当所述第一合成数据与所述预设全局地图之间的匹配度小于或等于预设匹配度阈值,或者,所述第一位姿数据与所述位置数据之间的距离大于或等于预设距离阈值时,根据所述n个里程计数据对所述n帧雷达数据和所述n帧视觉图像数据中的另一种进行拼接,得到第二合成数据;

所述第三计算单元,还用于将所述第二合成数据与预设全局地图进行局部匹配,得到第三位姿数据;

所述判定单元,还用于当所述第二合成数据与所述预设全局地图之间的匹配度大于预设匹配度阈值,并且所述第三位姿数据与所述位置数据之间的距离小于预设距离阈值时,判定重定位成功;

所述定位单元,还用于当所述第二合成数据与所述预设全局地图之间的匹配度小于或等于预设匹配度阈值,或者,所述第三位姿数据与所述位置数据之间的距离大于或等于预设距离阈值时,收集向预设方向运动预设距离过程中的M个超宽带定位数据,M为大于或等于2的整数;

所述判定单元,还用于当M大于预设数量阈值且根据所述M个超宽带定位数据可拟合出第二位姿数据时,判定重定位成功。

在应用中,重定位装置中的各单元可以为软件程序单元,也可以通过处理器中集成的不同逻辑电路实现,还可以通过多个分布式处理器实现。

如图6所示,本发明实施例还提供一种终端设备200,包括:至少一个处理器201(图6中仅示出一个处理器)、存储器202以及存储在存储器202中并可在至少一个处理器201上运行的计算机程序203,还包括与处理器201连接的超宽带收发模块204、雷达传感器205、视觉传感器206以及里程计207,处理器201执行计算机程序203时实现上述任意方法实施例中的步骤。

在应用中,终端设备可包括,但不仅限于,处理器、存储器、超宽带收发模块、雷达传感器、视觉传感器以及里程计。本领域技术人员可以理解,图6仅仅是终端设备的举例,并不构成对终端设备6的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。

在应用中,处理器可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

在应用中,存储器在一些实施例中可以是终端设备的内部存储单元,例如终端设备的硬盘或内存。存储器在另一些实施例中也可以是终端设备的外部存储设备,例如,终端设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器还可以既包括终端设备的内部存储单元也包括外部存储设备。存储器用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如计算机程序的程序代码等。存储器还可以用于暂时地存储已经输出或者将要输出的数据。

需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。上述系统中单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

本发明实施例还提供了一种网络设备,该网络设备包括:至少一个处理器、存储器以及存储在存储器中并可在至少一个处理器上运行的计算机程序,处理器执行计算机程序时实现上述各个方法实施例中的步骤。

本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。

本发明实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行时实现可实现上述各个方法实施例中的步骤。

集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质至少可以包括:能够将计算机程序代码携带到装置/设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

在本发明所提供的实施例中,应该理解到,所揭露的装置/设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/设备实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

相关技术
  • 一种重定位方法、装置、终端设备及存储介质
  • 机器人重定位方法、装置及终端设备
技术分类

06120112671193