在slam地图中重新定位移动载具的方法及移动载具

文档序号:1808203 发布日期:2021-11-09 浏览:10次 >En<

阅读说明:本技术 在slam地图中重新定位移动载具的方法及移动载具 (Method for repositioning mobile carrier in SLAM map and mobile carrier ) 是由 洪士哲 陈豪宇 于 2020-08-11 设计创作,主要内容包括:本公开提出一种在一实时定位与地图绘制(SLAM)地图中重新定位一移动载具的方法及移动载具,该方法用于在一区域中移动的移动载具中,包括:在一初始时间点建立对应区域的SLAM地图;通过一非SLAM定位装置在SLAM地图上检测移动载具的一第一位置轨迹及一第一方位轨迹;通过一SLAM定位装置检测移动载具在一第一时间戳及一第二时间戳之间的一迷失几率;判断是否满足一条件;以及当在一目前时间点满足上述条件时,更新SLAM地图为对应目前时间点的一新SLAM地图及更新移动载具位于新SLAM地图中的一定位信息。(The present disclosure provides a method for relocating a mobile vehicle in a real time positioning and mapping (SLAM) map and the mobile vehicle, the method being used in the mobile vehicle moving in an area, comprising: establishing an SLAM map of a corresponding area at an initial time point; detecting a first position track and a first orientation track of the mobile carrier on the SLAM map through a non-SLAM positioning device; detecting a loss probability of the mobile carrier between a first time stamp and a second time stamp by a SLAM positioning device; judging whether a condition is met; and when the condition is met at a current time point, updating the SLAM map into a new SLAM map corresponding to the current time point and updating a positioning message of the mobile carrier in the new SLAM map.)

在SLAM地图中重新定位移动载具的方法及移动载具

技术领域

本公开涉及一种重新定位的方法及移动载具,且特别涉及一种在一实时定位与地图绘制(Simultaneous Localization and Mapping,SLAM)的地图中重新定位一移动载具的方法及移动载具。

背景技术

作为使移动机器人能够绘制其环境地图并维护其在该地图中位置的工作数据的系统,实时定位与地图绘制既准确又通用。它的可靠性和对各种应用的适应性使其成为赋予机器人一定程度自主权的有用元件。

目前SLAM技术是使用计算几率的方式定位移动机器人的位置并绘制地图。由于使用此技术需要较精确的位置或方位,否则移动机器人一旦遇到某些复杂环境或者变化较大的环境时,移动机器人将无法重新将自己定位在目前所绘制的SLAM地图中(即,移动机器人迷路了)。而先前由移动机器人所建立的地图与定位信息也将全部失效。

因此,需要一种在一SLAM地图中重新定位一移动载具的方法及移动载具,以改善上述问题。

发明内容

以下公开的内容仅为示例性的,且不意指以任何方式加以限制。除所述说明方面、实施方式和特征之外,通过参照附图和下述

具体实施方式

,其他方面、实施方式和特征也将显而易见。即,以下公开的内容被提供以介绍概念、重点、益处及本文所描述新颖且非显而易见的技术优势。所选择,非所有的,实施例将进一步详细描述如下。因此,以下公开的内容并不意旨在所要求保护主题的必要特征,也不意旨在决定所要求保护主题的范围中使用。

因此,本公开的主要目的即在于提供一种在一SLAM地图中重新定位一移动载具的方法及移动载具,以改善上述缺点。

本公开提出一种在一实时定位与地图绘制地图中重新定位一移动载具的方法,用于在一区域中移动的上述移动载具中,包括:在一初始时间点使用SLAM建立对应上述区域的上述SLAM地图;通过一非SLAM定位装置在上述SLAM地图上检测上述移动载具的一第一位置轨迹及一第一方位轨迹;通过一SLAM定位装置检测上述移动载具在一第一时间戳及一第二时间戳之间的一迷失几率;判断是否满足一条件;以及当在一目前时间点满足上述条件时,更新上述SLAM地图为对应上述目前时间点的一新SLAM地图及更新上述移动载具位于上述新SLAM地图中的一定位信息;其中上述条件为下列其中之一:上述位置轨迹或上述方位轨迹不介于一第一范围之间以及上述迷失几率不介于一第二范围之间;以及上述迷失几率不介于上述第二范围之间。

在一些实施例中,更新上述SLAM地图为上述新SLAM地图及更新上述定位信息的步骤还包括:使用上述非SLAM定位装置所检测出上述移动载具于上述目前时间点的一位置及一方位更新上述SLAM地图为上述新SLAM地图及更新上述定位信息。

在一些实施例中,在更新上述SLAM地图为上述新SLAM地图及更新上述定位信息之前,上述方法还包括:通过上述非SLAM定位装置计算上述移动载具于上述目前时间点的一第一可信任值;通过上述SLAM定位装置计算上述移动载具于上述目前时间点的一第二可信任值;以及当上述第一可信任值或上述第二可信任值高于一阈值时,更新上述SLAM地图为对应上述目前时间点的上述新SLAM地图及更新上述移动载具位于上述新SLAM地图中的上述定位信息。

在一些实施例中,上述第一可信任值及上述第二可信任值是一均值函数。

在一些实施例中,上述迷失几率为上述移动载具在上述第一时间戳及上述第二时间戳之间所移动的一第二位置轨迹、一第二方位轨迹或上述SLAM地图在上述第一时间戳与上述第二时间戳之间的一叠合差异。

在一些实施例中,上述迷失几率是一均值函数。

在一些实施例中,上述SLAM定位装置实时于上述目前时间点将上述SLAM地图更新为上述新SLAM地图。

在一些实施例中,上述非SLAM定位装置不定时将上述SLAM地图更新为上述新SLAM地图。

在一些实施例中,上述第一时间戳及上述第二时间戳为连续的时间戳。

在一些实施例中,上述第一时间戳及上述第二时间戳为不连续的时间戳。

本公开提出一种移动载具,用于在一区域中移动,包括:一计算装置,在一初始时间点使用SLAM建立对应上述区域的上述SLAM地图;一非SLAM定位装置,连接至上述计算装置,在上述SLAM地图上检测上述移动载具的一第一位置轨迹及一第一方位轨迹;以及一SLAM定位装置,连接至上述计算装置,检测上述移动载具在一第一时间戳及一第二时间戳之间的一迷失几率:其中上述计算装置判断是否满足一条件;以及当在一目前时间点满足上述条件时,更新上述SLAM地图为对应上述目前时间点的一新SLAM地图及更新上述移动载具位于上述新SLAM地图中的一定位信息;其中上述条件为下列其中之一:上述位置轨迹或上述方位轨迹不介于一第一范围之间以及上述迷失几率不介于一第二范围之间;以及上述迷失几率不介于上述第二范围之间。

附图说明

图1示意性地示出了装配有SLAM定位装置及非SLAM定位装置的采取无人载具设备形式的移动载具。

图2是显示根据本公开一实施例所述的移动载具根据SLAM定位装置所获得的数据生成的SLAM地图。

图3是显示根据本公开一实施例所述的在一实时定位与地图绘制地图中重新定位一移动载具的方法流程图。

图4为是显示根据本公开一实施例所述的SLAM地图叠合的示意图。

图5是显示用以实现本公开实施例的示例性操作环境。

附图标记说明如下:

100:移动载具

102:SLAM定位装置

104:非SLAM定位装置

110:计算装置

112:处理器

114:存储器

1142:程序

200:SLAM地图

300:方法流程图

S305,S310,S315,S320,S325,S330:步骤

410:SLAM地图

420:SLAM地图

500:计算装置

510:总线

512:存储器

514:处理器

516:显示元件

518:I/O端口

520:I/O元件

522:电源供应器

具体实施方式

在下文中将参考附图对本公开的各方面进行更充分的描述。然而,本公开可以具体化成许多不同形式且不应解释为局限于贯穿本公开所呈现的任何特定结构或功能。相反地,提供这些方面将使得本公开周全且完整,并且本公开将给本领域技术人员充分地传达本公开的范围。基于本文所教导的内容,本领域的技术人员应意识到,无论是单独还是结合本公开的任何其它方面实现本文所公开的任何方面,本公开的范围旨在涵盖本文中所公开的任何方面。例如,可以使用本文所提出任意数量的装置或者执行方法来实现。另外,除了本文所提出本公开的多个方面之外,本公开的范围更旨在涵盖使用其它结构、功能或结构和功能来实现的装置或方法。应可理解,其可通过权利要求的一个或多个元件具体化本文所公开的任何方面。

词语“示例性”在本文中用于表示“用作示例、实例或说明”。本公开的任何方面或本文描述为“示例性”的设计不一定被解释为优选于或优于本公开或设计的其他方面。此外,相同的数字在所有若干图示中指示相同的元件,且除非在描述中另有指定,冠词“一”和“上述”包含多个的参考。

可以理解,当元件被称为被“连接”或“耦接”至另一元件时,该元件可被直接地连接到或耦接至另一元件或者可存在中间元件。相反地,当该元件被称为被“直接连接”或“直接耦接”至到另一元件时,则不存在中间元件。用于描述元件之间的关系的其他词语应以类似方式被解释(例如,“在…之间”与“直接在…之间”、“相邻”与“直接相邻”等方式)。

本公开实施例提供一种在一实时定位与地图绘制(SimultaneousLocalizat1nand Mapping,SLAM)地图中重新定位一移动载具的方法及移动载具,加入了另一个精确的非SLAM定位装置,以进一步解决使用SLAM定位装置定位失效的问题。

图1示意性地示出了装配有SLAM定位装置102及非SLAM定位装置104的以无人载具设备形式的移动载具100。在所示的实施例中,SLAM定位装置102可以为可产生准确地图的任何合适的测距感测器(例如激光器(LiDAR)、激光扫描仪(laser scanner)或声纳设备)。非SLAM定位装置104可为任何以射频(Radio frequency,RF)为基础的定位装置(例如,超宽频(Ultra-wideband,UWB)、蓝牙(Bluetooth)、LoRa、WiFi等装置)。移动载具100还包括具有处理器112及可以存储程序1142的一存储器114的计算装置110。

计算装置110为可支援各种无线存取技术的装置,例如一移动电话、笔记本电脑、智能手机、或平板电脑等装置。计算装置110与SLAM定位装置102及非SLAM定位装置104通信(例如,经由无线通信接口),并且能够存储和处理与使用由SLAM定位装置102及非SLAM定位装置104所接收信号有关的数据。

存储器114可存储由处理器112使用SLAM建立对应一区域的的SLAM地图。计算装置110可进一步包括其他常规特征,例如允许其与远端装置交换数据的使用者接口和通信接口。在替代的实施例中,来自至少一感测器中的信号可以被传送至远端计算装置以进行处理,而不是由计算装置110进行处理。

在使用中,移动载具100在一区域中沿着路面行进,并且由SLAM定位装置102及非SLAM定位装置104捕获与移动载具100周围场景有关的数据。尽管示例性移动载具100是沿着道路/地面行驶的无人载具,但应可理解,在替代的实施例中,移动载具100可以为可在可被扫描的地面上方行驶(并且不必与地面接触)任何类型的装置。此外,在其他实施例中,SLAM定位装置102、非SLAM定位装置104和计算装置110可不需安装在移动载具100上,而是可以被包括在像是手持导航装置中。

处理器112被配置为处理从SLAM定位装置102及非SLAM定位装置104接收的数据,以尝试从现有的地图数据定位移动载具100。处理器112可使用从SLAM定位装置102所取得的数据来产生移动载具100运行时的一SLAM地图,如图2所示。图2是显示根据本公开一实施例所述的移动载具100根据SLAM定位装置102所获得的数据生成的SLAM地图200。如图所示,SLAM地图200至少由三个数据-1、0、1所组成,其中-1表示未知区域(例如,图2中灰色区域),0表示已知区域(例如,图2中黑色区域、墙壁或障碍物),1表示空白区域(例如,图2中白色区域或空地)。

应可理解,图1所示的计算装置110可经由任何类型的计算装置来实现,像是参考图5描述的计算装置500,如图5所示。

图3是显示根据本公开一实施例所述的在一实时定位与地图绘制(SimultaneousLocalizat1nand Mapping,SLAM)地图中重新定位一移动载具的方法流程图300。此方法可执行于如图1所示的在一区域移动的移动载具100中。

在步骤S305中,此移动载具在一初始时间点使用SLAM建立对应上述区域的上述SLAM地图。

在步骤S310中,此移动载具通过一非SLAM定位装置在上述SLAM地图上检测上述移动载具的一第一位置轨迹及一第一方位轨迹。更详细地说明,非SLAM定位装置可实时记录移动载具在SLAM地图上的位置及方位。所有位置可表示为位置集合rf.p={{timestamp1,position1},{timestamp2,position2},…},所有方位可表示为方位集合rf.a={{timestamp1,azrimuth1},{timestamp2,azrimuth2},…}。而第一位置轨迹为位置集合中连续两个以上位置所形成的轨迹,第一方位轨迹为方位集合中连续两个以上方位所形成的轨迹。

在步骤S315中,此移动载具通过一SLAM定位装置检测上述移动载具在一第一时间戳及一第二时间戳之间的一迷失几率,其中上述迷失几率为上述移动载具在上述第一时间戳及上述第二时间戳之间所移动的一第二位置轨迹、一第二方位轨迹或上述SLAM地图在上述第一时间戳与上述第二时间戳之间的一叠合差异。

更详细地说明,SLAM定位装置可实时记录移动载具在SLAM地图上的位置及方位。所有位置可表示为位置集合opt.p={{timestamp1,position1},{timestamp2,position2},…},所有方位可表示为方位集合opt.a={{timestamp1,azrimuth1},{timestamp2,azrimuth2},…}。而第二位置轨迹为位置集合中连续两个或任意两个位置所形成的轨迹,第一方位轨迹为方位集合中连续两个或任意两个方位所形成的轨迹。此外,SLAM地图在第一时间戳与第二时间戳之间的一叠合差异为SLAM地图在第一时间戳与第二时间戳之间的差异几率值。举例来说,图4为是显示根据本公开一实施例所述的SLAM地图叠合的示意图。SLAM地图410为在时间戳t0所产生的SLAM地图,SLAM地图420为在时间戳ti所产生的SLAM地图。SLAM定位装置可计算SLAM地图410与SLAM地图420的几率值,作为移动载具在时间戳t0及时间戳ti之间的一迷失几率。

在图3的S315中,移动载具通过SLAM定位装置检测移动载具在第一时间戳及第二时间戳之间的迷失几率的流程可以用以下python程序码来表示,其中输入参数至少有前一个时间t-1的SLAM地图map_t-1、测距感测器LiDAR输入(即,移动载具与周围环境的距离值)、时间t时移动载具所在的位置opt_p_t(x_t,y_t)及方位opt_a_t(a_t),而“#”及其右侧的文字表示程序中的注解。

在另一实施例中,上述迷失几率是一均值函数,如mean(p)。

此外,须注意的是,步骤S310及S315是分别同时由非SLAM定位装置及SLAM定位装置所执行。

接着,在步骤S320中,此移动载具的处理器判断是否满足一条件,其中上述条件为下列其中之一:(1)上述位置轨迹或上述方位轨迹不介于一第一范围之间以及上述迷失几率不介于一第二范围之间;以及(2)上述迷失几率不介于上述第二范围之间。

当在一目前时间点满足上述条件时(步骤S320中的“是”),在步骤S325中,此移动载具的处理器更新上述SLAM地图为对应上述目前时间点的一新SLAM地图及更新上述移动载具位于上述新SLAM地图中的一定位信息(例如,位置及方位)。更详细地说明,此移动载具的处理器是使用上述非SLAM定位装置所检测出上述移动载具于上述目前时间点的一位置及一方位更新上述SLAM地图为上述新SLAM地图及更新上述定位信息。举例来说,移动载具的SLAM定位装置在目前时间点i检测到移动载具位于SLAM地图的位置及方位分别为opt_p_i(x_i,y_i)及opt_a_i(a_i),而移动载具的非SLAM定位装置在目前时间点i检测到移动载具位于SLAM地图的位置及方位分别为rf_p_i(x_i,y_i)及rf_a_i(a_i)。当在目前时间点i满足上述条件时,移动载具的处理器将SLAM定位装置检测到移动载具位于SLAM地图的位置及方位从opt_p_i(x_i,y_i)及opt_a_i(a_i)更新为rf_p_i(x_i,y_i)及rf_a_i(a_i)。SLAM定位装置接着以移动载具位于SLAM地图的位置及方位rf_p_i(x_i,y_i)及rf_a_i(a_i)更新SLAM地图为对应目前时间点i的一新SLAM地图。在SLAM定位装置将旧的SLAM地图更新为新SLAM地图后,非SLAM定位装置会不定时将旧的SLAM地图更新为新SLAM地图。

在另一实施例中,在步骤S325中,在更新上述SLAM地图为上述新SLAM地图及更新上述定位信息之前,移动载具还可通过非SLAM定位装置计算移动载具于目前时间点的一第一可信任值,以及通过SLAM定位装置计算移动载具于目前时间点的一第二可信任值。可信任值表示重新定位的结果是否为可信任的。

当上述第一可信任值或上述第二可信任值高于一阈值时,移动载具才更新上述SLAM地图为对应上述目前时间点的上述新SLAM地图及更新上述移动载具位于上述新SLAM地图中的上述定位信息。当上述第一可信任值或上述第二可信任值未高于上述阈值时,移动载具放弃更新SLAM地图及移动载具的定位信息。

更详细地说明,上述第一可信任值及上述第二可信任值可以用以下python程序码来表示,其中输入参数至少有SLAM定位装置于时间t时取得移动载具位于SLAM地图的位置opt_p_t(x_t,y_t)及方位opt_a_t(a_t)或非SLAM定位装置于时间t时取得移动载具位于SLAM地图的位置rf_p_t(x_t,y_t)及方位及rf_a_t(a_t),而“#”及其右侧的文字表示程序中的注解。

在另一实施例中,上述第一可信任值及第二可信任值是均值函数,如mean(p)。

此外,移动载具100中的处理器112亦可与SLAM定位装置102及非SLAM定位装置104整合至一起。而移动载具100中的处理器112也可执行存储器114中的程序1142以呈现上述实施例所述的动作和步骤,或其它在说明书中内容的描述。

因此,通过本公开利用在一SLAM地图中重新定位一移动载具的方法及移动载具,移动载具的SLAM定位装置可通过使用另一精准的非SLAM定位装置所提供的位置及方位重新将自己定位在目前所绘制的SLAM地图,以提高在SLAM地图中定位的精确度。

对于本发明已描述的实施例,下文描述了可以实现本发明实施例的示例性操作环境。具体参考图5,图5是显示用以实现本发明实施例的示例性操作环境,一般可被视为计算装置500。计算装置500仅为一合适计算环境的一个示例,并不意图暗示对本发明使用或功能范围的任何限制。计算装置500也不应被解释为具有与所示元件的任一个或组合相关任何的依赖性或要求。

本发明可在电脑程序码或机器可使用指令来执行本发明,指令可为程序模块的电脑可执行指令,其程序模块由电脑或其它机器,例如个人数字助理或其它便携式装置执行。一般而言,程序模块包括例程、程序、物件、元件、数据结构等,程序模块指的是执行特定任务或实现特定抽象数据类型的程序码。本发明可在各种系统组态中实现,包括便携式装置、消费者电子产品、通用电脑、更专业的计算装置等。本发明还可在分散式运算环境中实现,处理由通信网络所连结的装置。

参考图5。计算装置500包括直接或间接耦接以下装置的总线510、存储器512、一个或多个处理器514、一个或多个显示元件516、输入/输出(I/O)端口518、输入/输出(I/O)元件520以及说明性电源供应器522。总线510表示可为一个或多个总线的元件(例如,位址总线、数据总线或其组合)。虽然图5的各个方块为简要起见以线示出,实际上,各个元件的分界并不是具体的,例如,可将显示装置的呈现元件视为I/O元件;处理器可具有存储器。

计算装置500一般包括各种电脑可读取媒体。电脑可读取媒体可以是可被计算装置500存取的任何可用媒体,该媒体同时包括易挥发性和非易挥发性媒体、可移动和不可移动媒体。举例但不局限于,电脑可读取媒体可包括电脑存储媒体和通信媒体。电脑可读取媒体同时包括在用于存储像是电脑可读取指令、数据结构、程序模块或其它数据之类信息的任何方法或技术中实现的易挥发性性和非易挥发性媒体、可移动和不可移动媒体。电脑存储媒体包括但不局限于随机存取存储器(Random Access Memory,RAM)、只读存储器(Read-Only Memory,ROM)、电子抹除式可复写只读存储器(Electrically-ErasableProgrammable Read-Only Memory,EEPROM)、快闪存储器或其它存储器技术、只读存储光盘(Compact Disc Read-Only Memory,CD-ROM)、数字多功能光盘(Digital Versatile Disc,DVD)或其它光盘存储装置、磁片、磁盘、磁片存储装置或其它磁存储装置,或可用于存储所需的信息并且可被计算装置500存取的其它任何媒体。电脑存储媒体本身不包括信号。

通信媒体一般包含电脑可读取指令、数据结构、程序模块或其它采用诸如载波或其他传输机制之类的模块化数据信号形式的数据,并包括任何信息传递媒体。术语“模块化数据信号”是指具有一个或多个特征集合或以在信号中编码信息的一方式更改的信号。举例但不局限于,通信媒体包括像是有线网络或直接有线连接的有线媒体及无线媒体,像是声频、射频、红外线以及其它无线媒体。上述媒体的组合包括在电脑可读取媒体的范围内。

存储器512包括以易挥发性和非易挥发性存储器形式的电脑存储媒体。存储器可为可移动、不移动或可以为这两种的组合。示例性硬件装置包括固态存储器、硬盘驱动器、光盘驱动器等。计算装置500包括一个或多个处理器,其读取来自像是存储器512或I/O元件520各实体的数据。显示元件516向使用者或其它装置显示数据指示。示例性显示元件包括显示装置、扬声器、打印元件、振动元件等。

I/O端口518允许计算装置500逻辑连接到包括I/O元件520的其它装置,一些这种装置为内建装置。示例性元件包括麦克风、摇杆、游戏台、碟形卫星信号接收器、扫描器、印表机、无线装置等。I/O元件520可提供一自然使用者接口,用于处理使用者生成的姿势、声音或其它生理输入。在一些例子中,这些输入可被传送到一合适的网络元件以便进一步处理。计算装置500可装备有深度照相机,像是立体照相机系统、红外线照相机系统、RGB照相机系统和这些系统的组合,以检测与识别物件。此外,计算装置500可以装备有感测器(例如:雷达、光达)周期性地感测周遭一感测范围内的邻近环境,产生表示自身与周遭环境关联的感测器信息。再者,计算装置500可以装备有检测运动的加速度计或陀螺仪。加速度计或陀螺仪的输出可被提供给计算装置500显示。

此外,计算装置500中的处理器514也可执行存储器512中的程序及指令以呈现上述实施例所述的动作和步骤,或其它在说明书中内容的描述。

在此所公开程序的任何具体顺序或分层的步骤纯为一举例的方式。基于设计上的偏好,必须了解到程序上的任何具体顺序或分层的步骤可在此文件所公开的范围内被重新安排。伴随之方法权利要求以一示例顺序呈现出各种步骤的元件,也因此不应被此所展示的特定顺序或阶层所限制。

权利要求中用以修饰元件的“第一”、“第二”、“第三”等序数词的使用本身未暗示任何优先权、优先次序、各元件之间的先后次序、或方法所执行的步骤的次序,而仅用作标识来区分具有相同名称(具有不同序数词)的不同元件。

虽然本公开已以实施范例公开如上,然其并非用以限定本公开,任何熟悉此项技艺者,在不脱离本公开的构思和范围内,当可做些许变动与润饰,因此本公开的保护范围当视权利要求所界定者为准。

17页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种机器人运动分析方法、装置、可读存储介质及机器人

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!