CN111352425B - 一种导航***、方法、装置、电子设备及介质 - Google Patents

一种导航***、方法、装置、电子设备及介质 Download PDF

Info

Publication number
CN111352425B
CN111352425B CN202010182901.2A CN202010182901A CN111352425B CN 111352425 B CN111352425 B CN 111352425B CN 202010182901 A CN202010182901 A CN 202010182901A CN 111352425 B CN111352425 B CN 111352425B
Authority
CN
China
Prior art keywords
sensor data
robot
robots
data
sent
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
Application number
CN202010182901.2A
Other languages
English (en)
Other versions
CN111352425A (zh
Inventor
王兵
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Orion Star Technology Co Ltd
Original Assignee
Beijing Orion Star Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Orion Star Technology Co Ltd filed Critical Beijing Orion Star Technology Co Ltd
Priority to CN202010182901.2A priority Critical patent/CN111352425B/zh
Publication of CN111352425A publication Critical patent/CN111352425A/zh
Application granted granted Critical
Publication of CN111352425B publication Critical patent/CN111352425B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0287Control of position or course in two dimensions specially adapted to land vehicles involving a plurality of land vehicles, e.g. fleet or convoy travelling
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/005Navigation; 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

本发明实施例提供了一种导航***、方法、装置、电子设备及介质,涉及机器人技术领域。该***包括:计算平台和多台机器人,多台机器人均设置有传感器;其中:多台机器人,用于向所述计算平台发送自身的传感器采集的传感器数据;计算平台,用于接收所述多台机器人发送的传感器数据,并基于所述多台机器人发送的传感器数据创建地图、对所述多台机器人中的任一机器人进行定位和/或重定位。该***可以降低机器人的部署难度和部署成本。

Description

一种导航***、方法、装置、电子设备及介质
技术领域
本发明涉及机器人技术领域,特别是涉及一种导航***、方法、装置、电子设备及介质。
背景技术
同步定位与建图(simultaneous localization and mapping,SLAM)是指机器人在未知环境中从一个未知位置开始移动,在移动过程中根据位置估计和已有的地图对自身进行定位,并在自身定位的基础上构建增量式地图,实现机器人的自主定位和建图。
在相关技术中,机器人可以通过多个传感器采集周围的信息,然后基于各传感器采集到的信息进行本地计算,从而完成建图、定位等工作。然而若机器人使用的传感器的种类和数量较多,则需对传感器采集到的各类型的信息进行计算,使得机器人所需的计算量很大。为了为机器人提供足够的计算资源,需要为机器人配置非常复杂的计算芯片,导致机器人的部署难度和部署成本较高。
发明内容
本发明实施例的目的在于提供一种导航***、方法、装置、电子设备及介质,以降低机器人的部署难度和部署成本。具体技术方案如下:
第一方面,本申请实施例提供一种导航***,包括:计算平台和多台机器人,所述多台机器人均设置有传感器;其中:
所述多台机器人,用于向所述计算平台发送自身的传感器采集的传感器数据;
所述计算平台,用于接收所述多台机器人发送的传感器数据,并基于所述多台机器人发送的传感器数据创建地图、对所述多台机器人中的任一机器人进行定位和/或重定位。
在一种可能的实现方式中,还包括:与所述多台机器人连接的时钟同步服务器,所述多台机器人共用所述时钟同步服务器的时间;
所述多台机器人,具体用于向所述计算平台发送自身的传感器采集的携带时间戳的传感器数据;
所述计算平台,具体用于接收所述多台机器人发送的携带时间戳的传感器数据,按照时间戳对所述多台机器人发送的传感器数据进行数据对齐,并基于数据对齐后的传感器数据创建地图、对所述多台机器人中的任一机器人进行定位和/或重定位。
在一种可能的实现方式中,所述计算平台,还用于在基于数据对齐后的传感器数据创建地图之后,若再次接收到携带时间戳的传感器数据,则确定此次接收到的传感器数据对应的位置,并获取对应相同位置的历史传感器数据,若此次接收到的传感器数据的置信度大于所述历史传感器数据的置信度,则按照时间戳对此次接收到的传感器数据进行数据对齐,并基于数据对齐后的此次接收到的传感器数据创建地图,基于新创建的地图对已存在的相同位置的地图进行更新。
在一种可能的实现方式中,所述计算平台,具体用于按照时间戳对多台处于不同区域的机器人发送的传感器数据进行数据对齐,并基于数据对齐后的传感器数据创建地图;和/或,
所述计算平台,具体用于按照时间戳对多台处于相同区域的机器人发送的传感器数据进行数据对齐,对进行数据对齐后的传感器数据进行数据融合,基于数据融合后的传感器数据创建地图。
在一种可能的实现方式中,所述多台机器人,具体用于通过摄像头采集包括建图引导对象的画面,并跟随所述建图引导对象进行移动,在移动过程中向所述计算平台发送自身的传感器采集的传感器数据。
在一种可能的实现方式中,所述计算平台,还用于在基于数据对齐后的传感器数据对所述多台机器人中的任一机器人进行定位之前,若无法基于第一机器人发送的传感器数据对所述第一机器人进行定位,则向所述第一机器人发送定位失败消息,所述第一机器人为所述多台机器人中的任一机器人;
所述第一机器人,还用于接收所述计算平台发送的定位失败消息,并向所述计算平台发送协同定位请求;
所述计算平台,还用于接收所述第一机器人发送的协同定位请求;
所述计算平台,具体用于响应于所述协同定位请求,基于上次对所述多台机器人定位的定位结果,确定与所述第一机器人之间的距离小于预设距离阈值的第二机器人,从所述多台机器人发送的携带时间戳的传感器数据中,获取所述第二机器人发送的传感器数据,并按照时间戳对所述第一机器人发送的传感器数据和所述第二机器人发送的传感器数据进行数据对齐,基于数据对齐后的传感器数据对所述第一机器人进行定位。
在一种可能的实现方式中,所述计算平台,具体用于若无法基于第一机器人发送的传感器数据对所述第一机器人进行定位,则基于上次对所述多台机器人定位的定位结果,确定与所述第一机器人之间的距离小于预设距离阈值的第二机器人,从所述多台机器人发送的携带时间戳的传感器数据中,获取所述第二机器人发送的传感数据,按照时间戳对所述第一机器人发送的传感器数据与所述第二机器人发送的传感器数据进行数据对齐,基于数据对齐后的传感器数据对所述第一机器人进行定位,所述第一机器人为所述多台机器人中的任一机器人。
在一种可能的实现方式中,所述多台机器人中的第三机器人,还用于向所述计算平台发送重定位请求,所述重定位请求中携带所述第三机器人的传感器在所述第三机器人周围采集的携带时间戳的传感器数据,所述第三机器人为所述多台机器人中的任一机器人;
所述计算平台,具体用于接收所述第三机器人发送的重定位请求,从存储的传感器数据中查找与所述重定位请求中携带的传感器数据相同或相似的传感器数据,基于时间戳对查找到的传感器数据进行数据对齐,并基于数据对齐后的传感器数据对应的位置确定所述第三机器人的位置。
在一种可能的实现方式中,所述计算平台为云计算平台、边缘计算平台或者指定机器人。
第二方面,本申请实施例提供一种导航方法,所述方法应用于导航***中的计算平台,所述导航***中还包括多台机器人,所述多台机器人均设置有传感器;所述方法包括:
接收所述多台机器人发送的传感器数据;
基于所述多台机器人发送的传感器数据创建地图、对所述多台机器人中的任一机器人进行定位和/或重定位。
在一种可能的实现方式中,所述导航***还包括与所述多台机器人连接的时钟同步服务器,所述多台机器人共用所述时钟同步服务器的时间;
所述接收所述多台机器人发送的传感器数据,包括:
接收所述多台机器人发送的携带时间戳的传感器数据;
所述基于所述多台机器人发送的传感器数据创建地图、对所述多台机器人中的任一机器人进行定位和/或重定位,包括:
按照时间戳对所述多台机器人发送的传感器数据进行数据对齐,并基于数据对齐后的传感器数据创建地图、对所述多台机器人中的任一机器人进行定位和/或重定位。
在一种可能的实现方式中,在所述基于数据对齐后的传感器数据创建地图之后,所述方法还包括:
若再次接收到携带时间戳的传感器数据,则确定此次接收到的传感器数据对应的位置,并获取对应相同位置的历史传感器数据;
若此次接收到的传感器数据的置信度大于所述历史传感器数据的置信度,则按照时间戳对此次接收到的传感器数据进行数据对齐,并基于数据对齐后的此次接收到的传感器数据创建地图;
基于新创建的地图对已存在的相同位置的地图进行更新。
在一种可能的实现方式中,所述按照时间戳对所述多台机器人发送的传感器数据进行数据对齐,并基于数据对齐后的传感器数据创建地图,包括:
按照时间戳对多台处于不同区域的机器人发送的传感器数据进行数据对齐,并基于数据对齐后的传感器数据创建地图;和/或,
按照时间戳对多台处于相同区域的机器人发送的传感器数据进行数据对齐,对进行数据对齐后的传感器数据进行数据融合,基于数据融合后的传感器数据创建地图。
在一种可能的实现方式中,在基于数据对齐后的传感器数据对所述多台机器人中的任一机器人进行定位之前,所述方法还包括:
若无法基于第一机器人发送的传感器数据对所述第一机器人进行定位,则向所述第一机器人发送定位失败消息,所述第一机器人为所述多台机器人中的任一机器人;
接收所述第一机器人发送的协同定位请求;
所述按照时间戳对所述多台机器人发送的传感器数据进行数据对齐,并基于数据对齐后的传感器数据对所述多台机器人中的任一机器人进行定位,包括:
响应于所述协同定位请求,基于上次对所述多台机器人定位的定位结果,确定与所述第一机器人之间的距离小于预设距离值的第二机器人;
从所述多台机器人发送的携带时间戳的传感器数据中,获取所述第二机器人发送的传感器数据;
按照时间戳对所述第一机器人发送的传感器数据与所述第二机器人发送的传感器数据进行数据对齐,基于数据对齐后的传感器数据对所述第一机器人进行定位。
在一种可能的实现方式中,所述按照时间戳对所述多台机器人发送的传感器数据进行数据对齐,并基于数据对齐后的传感器数据对所述多台机器人中的任一机器人进行定位,包括:
若无法基于第一机器人发送的传感器数据对所述第一机器人进行定位,则基于上次对所述多台机器人定位的定位结果,确定与所述第一机器人之间的距离小于预设距离阈值的第二机器人,所述第一机器人为所述多台机器人中的任一机器人;
从所述多台机器人发送的携带时间戳的传感器数据中,获取所述第二机器人发送的传感器数据;
按照时间戳对所述第一机器人发送的传感器数据与所述第二机器人发送的传感器数据进行数据对齐,基于数据对齐后的传感器数据对所述第一机器人进行定位。
在一种可能的实现方式中,按照时间戳对所述多台机器人发送的传感器数据进行数据对齐,并基于数据对齐后的传感器对所述多台机器人中的任一机器人进行重定位,包括:
接收第三机器人发送的重定位请求,所述重定位请求中携带所述第三机器人的传感器在所述机器人周围采集的携带时间戳的传感器数据,所述第三机器人为所述多台机器人中的任一机器人;
从存储的传感器数据中查找与重定位请求中携带的传感器数据相同或相似的传感器数据,基于时间戳对查找到的传感器数据进行数据对齐,并基于数据对齐后的传感器数据对应的位置确定所述第三机器人的位置。
在一种可能的实现方式中,所述计算平台为云计算平台、边缘计算平台或者指定机器人。
第三方面,本申请实施例提供一种导航装置,所述装置应用于导航***中的计算平台,所述导航***中还包括多台机器人,所述多台机器人均设置有传感器;所述装置包括:
接收模块,用于接收所述多台机器人发送的传感器数据;
导航模块,用于基于所述多台机器人发送的传感器数据创建地图、对所述多台机器人中的任一机器人进行定位和/或重定位。
在一种可能的实现方式中,所述导航***还包括与所述多台机器人连接的时钟同步服务器,所述多台机器人共用所述时钟同步服务器的时间;
所述接收模块,具体用于接收所述多台机器人发送的携带时间戳的传感器数据;
所述导航模块,具体用于按照时间戳对所述多台机器人发送的传感器数据进行数据对齐,并基于数据对齐后的传感器数据创建地图、对所述多台机器人中的任一机器人进行定位和/或重定位。
在一种可能的实现方式中,所述装置还包括:
获取模块,用于在所述导航模块基于数据对齐后的传感器数据创建地图之后,若所述接收模块再次接收到携带时间戳的传感器数据,则确定此次接收到的传感器数据对应的位置,并获取对应相同位置的历史传感器数据;
所述导航模块,还用于若所述接收模块此次接收到的传感器数据的置信度大于所述历史传感器数据的置信度,则按照时间戳对此次接收到的传感器数据进行数据对齐,并基于数据对齐后的此次接收到的传感器数据创建地图;
更新模块,用于基于新创建的地图对已存在的相同位置的地图进行更新。
在一种可能的实现方式中,所述导航模块,具体用于:
按照时间戳对多台处于不同区域的机器人发送的传感器数据进行数据对齐,并基于数据对齐后的传感器数据创建地图;和/或,
按照时间戳对多台处于相同区域的机器人发送的传感器数据进行数据对齐,对进行数据对齐后的传感器数据进行数据融合,基于数据融合后的传感器数据创建地图。
在一种可能的实现方式中,所述装置还包括:
发送模块,用于若所述导航模块无法基于第一机器人发送的传感器数据对所述第一机器人进行定位,则向所述第一机器人发送定位失败消息,所述第一机器人为所述多台机器人中的任一机器人;
所述接收模块,还用于接收所述第一机器人发送的协同定位请求;
所述导航模块,具体用于:
响应于所述协同定位请求,基于上次对所述多台机器人定位的定位结果,确定与所述第一机器人之间的距离小于预设距离值的第二机器人;
从所述多台机器人发送的携带时间戳的传感器数据中,获取所述第二机器人发送的传感器数据;
按照时间戳对所述第一机器人发送的传感器数据与所述第二机器人发送的传感器数据进行数据对齐,基于数据对齐后的传感器数据对所述第一机器人进行定位。
在一种可能的实现方式中,所述导航模块,具体用于:
若无法基于第一机器人发送的传感器数据对所述第一机器人进行定位,则基于上次对所述多台机器人定位的定位结果,确定与所述第一机器人之间的距离小于预设距离阈值的第二机器人,所述第一机器人为所述多台机器人中的任一机器人;
从所述多台机器人发送的携带时间戳的传感器数据中,获取所述第二机器人发送的传感器数据;
按照时间戳对所述第一机器人发送的传感器数据与所述第二机器人发送的传感器数据进行数据对齐,基于数据对齐后的传感器数据对所述第一机器人进行定位。
在一种可能的实现方式中,所述接收模块,还用于接收第三机器人发送的重定位请求,所述重定位请求中携带所述第三机器人的传感器在所述机器人周围采集的携带时间戳的传感器数据,所述第三机器人为所述多台机器人中的任一机器人;
所述导航模块,具体用于从存储的传感器数据中查找与重定位请求中携带的传感器数据相同或相似的传感器数据,基于时间戳对查找到的传感器数据进行数据对齐,并基于数据对齐后的传感器数据对应的位置确定所述第三机器人的位置。
在一种可能的实现方式中,所述计算平台为云计算平台、边缘计算平台或者指定机器人。
第四方面,本申请实施例提供一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述第二方面所述的方法步骤。
第五方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第二方面所述的方法步骤。
第六方面,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第二方面所述的方法步骤。
采用上述技术方案,多台机器人可以向计算平台发送自身的传感器采集的传感器数据,然后计算平台接收多台机器人发送的传感器数据,并基于多台机器人发送的传感器数据创建地图、对多台机器人中的任一机器人进行定位和/或重定位。即机器人无需基于采集到的传感器数据进行建图、定位和/或重定位,从而减小了机器人所需的计算量。因计算平台具有较多的计算资源,所以本申请实施例由计算平台的计算资源对多台机器人发送的传感器数据进行计算,从而完成建图、对多台机器人中的任一机器人的定位和/或重定位,所以采用本申请实施例无需为机器人配置复杂的计算芯片,降低了机器人的部署难度和部署成本。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种导航***的结构示意图;
图2为本申请实施例提供的另一种导航***的结构示意图;
图3为本申请实施例提供的一种导航方法的流程图;
图4为本申请实施例提供的另一种导航方法的流程图;
图5为本申请实施例提供的另一种导航方法的流程图;
图6为本申请实施例提供的一种导航装置的结构示意图;
图7为本申请实施例提供的另一种导航装置的结构示意图;
图8为本申请实施例提供的另一种导航装置的结构示意图;
图9为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请实施例提供一种导航***,如图1所示,包括:计算平台和多台机器人,多台机器人均设置有传感器;其中:
多台机器人,用于向计算平台发送自身的传感器采集的传感器数据;
计算平台,用于接收多台机器人发送的传感器数据,并基于多台机器人发送的传感器数据创建地图、对多台机器人中的任一机器人进行定位和/或重定位。
采用上述导航***,多台机器人可以向计算平台发送自身的传感器采集的传感器数据,然后计算平台接收多台机器人发送的传感器数据,并基于多台机器人发送的传感器数据创建地图、对多台机器人中的任一机器人进行定位和/或重定位。即机器人无需基于采集到的传感器数据进行建图、定位和/或重定位,从而减小了机器人所需的计算量。因计算平台具有较多的计算资源,所以本申请实施例由计算平台的计算资源对多台机器人发送的传感器数据进行计算,从而完成建图、对多台机器人中的任一机器人的定位和/或重定位,所以采用本申请实施例无需为机器人配置复杂的计算芯片,降低了机器人的部署难度和部署成本。
另外,由于机器人无需进行复杂的计算,所以采用本申请实施例可以延长机器人的续航时间,降低机器人的复杂程度,减少了对机器人的维护成本。
具体的,本申请实施例的机器人中可以包括多种传感器,传感器可以为单目摄像头、双目摄像头、深度相机、惯性测量单元(Inertial Measurement Unit,IMU)码盘、超声波传感器、红外传感器等。
本申请实施例中的计算平台具体可以但不限于为云计算平台、边缘计算平台或者指定机器人。可选的,计算平台为包括不同计算资源的异构计算平台,例如,计算平台中包括中央处理器(central processing unit,CPU),图形处理器(Graphics ProcessingUnit,GPU),嵌入型神经网络处理器(Neural-network Processing Unit,NPU)等计算资源,不同处理器可用于处理不同类型的传感器数据,且多种处理器可协同处理,提高了计算效率,进而可以提高建图及定位的效率。
在本申请实施例中,因机器人向计算平台发送的传感器数据的数据量较大,所以机器人需要与计算平台之间进行大流量、低延迟的通信。为了实现大流量、低时延的通信,计算平台与机器人之间可以通过第五代移动通信技术(5th generation wirelesssystems,5G)网络或无线保真(Wireless-Fidelity,WiFi)6通信。通过5G或WiFi6进行通信可以使得机器人与计算平台之间的通信达到1Gbps以上的通信速度,以及10毫秒以下的通信时延,从而保证了计算平台对机器人定位和/或重定位的实时性。
在本申请的一个实施例中,如图2所示,该导航***还包括与多台机器人连接的时钟同步服务器,多台机器人共用时钟同步服务器的时间。
其中,多台机器人与时钟同步服务器之间可以通过局域网等低时延的网络连接,以保证各机器人之间的时钟同步。
多台机器人,具体用于向计算平台发送自身的传感器采集的携带时间戳的传感器数据。
计算平台,具体用于接收多台机器人发送的携带时间戳的传感器数据,按照时间戳对多台机器人发送的传感器数据进行数据对齐,并基于数据对齐后的传感器数据创建地图、对多台机器人中的任一机器人进行定位和/或重定位。
可选的,机器人发送的传感器数据中还包括机器人ID、传感器ID等信息,以便于计算平台区分不同机器人的不同传感器的传感器数据。
其中,计算平台接收多台机器人发送的携带时间戳的传感器数据的过程中,受网络等传输因素影响,计算平台接收到的传感器数据可能不是按照时间顺序排列的。比如计算平台在某一时刻接收到了机器人A在第0.2秒采集到的雷达数据,在第0.1秒采集到的视频数据,以及机器人B在0.1秒采集到的雷达数据,在第0.2秒采集到的视频数据。显然,若计算平台使用机器人不同时刻采集的雷达数据和视频数据进行建图、定位和/或重定位的计算,将使得计算结果不准确。所以计算平台需基于时间戳对机器人A和机器人B发送的传感器数据进行数据对齐,从而使用机器人A在第0.1秒采集到的雷达数据和视频数据、机器人B在第0.2秒采集到的雷达数据和视频数据,以及后续机器人A和机器人B在每0.1秒采集到的雷达数据和视频数据完成建图、定位和/或重定位。
可选地,在本申请实施例中,采用时间戳对传感器数据进行数据对齐时,使用的时间粒度可以为秒级或者毫秒级,当然也可以为其他级别,可根据实际需求设置,本申请实施例对此不作限制。
采用本申请实施例,在接收到多台机器人发送的携带时间戳的传感器数据后,按照时间戳对多台机器人发送的传感器数据进行数据对齐,基于数据对齐后的传感器数据创建地图可以提高创建的地图的精度,且基于数据对齐后的传感器数据对多台机器人中的任一机器人进行定位和/或重定位可以提高定位和/或重定位的精度。
在一种实现方式中,可预先配置多台机器人的移动路线。进而,多台机器人,具体用于基于预先配置的移动路线移动,并在移动过程中向计算平台发送自身的传感器采集的传感器数据。或者,机器人也可以自主探测未知区域,并向计算平台发送传感器数据,从而计算平台基于传感器数据创建地图,实现自动建图。
在另一种实现方式中,多台机器人,具体用于通过摄像头采集包括建图引导对象的画面,并跟随建图引导对象进行移动,在移动过程中向计算平台发送自身的传感器采集的传感器数据。
其中,建图引导对象可以是人,也可以是其他可移动的设备。以移动对象是人为例,机器人可以通过摄像头采集到的画面确定人的移动轨迹,并跟随人的移动而移动,从而方便对机器人的人为控制。
在本申请的另一个实施例中,计算平台,具体用于按照时间戳对多台处于不同区域的机器人发送的传感器数据进行数据对齐,并基于数据对齐后的传感器数据创建地图;和/或,
计算平台,具体用于按照时间戳对多台处于相同区域的机器人发送的传感器数据进行数据对齐,对进行数据对齐后的传感器数据进行数据融合,基于数据融合后的传感器数据创建地图。
在第一种实施方式中,可以配置多台机器人分别采集不同区域的传感器数据。云平台接收到多台机器人采集到的传感器数据后,基于时间戳对传感器数据进行数据对齐,并将来自多台机器人的传感器数据进行拼接,基于拼接后的传感器数据创建地图。或者,云平台基于多台机器人采集到的传感器数据后,基于时间戳对传感器数据进行对齐,并分别基于每台机器人发送的数据对齐后的传感器数据创建地图,得到每台机器人所在区域的地图,然后将创建的地图进行拼接,得到完整的地图。
例如,为了创建一个办公室的内部地图,可以配置3台机器人,分别为机器人1、机器人2和机器人3,并将办公室划分为3个区域,分别为区域1、区域2和区域3。机器人1、机器人2和机器人3分别用于在区域1、区域2、区域3采集雷达数据以及图像数据,并向计算平台发送雷达数据和图像数据。计算平台接收到机器人1、机器人2和机器人3发送的雷达数据和图像数据后,基于时间戳对接收到的雷达数据和图像数据进行数据对齐,比如依次获取第1秒、第2秒……第n秒的雷达数据和图像数据,并基于机器人1对应的数据对齐后的雷达数据和图像地图创建区域1的地图,基于机器人2对应的数据对齐后的雷达数据和图像数据创建区域2的地图,基于机器人3对应的数据对齐后的雷达数据和图像数据创建区域3的地图,将区域1的地图、区域2的地图和区域3的地图拼接,得到整个办公室的内部地图。
可以理解的是,上述区域1、区域2和区域3之间存在交界,在区域的交界处,以区域1和区域2的交界为例,机器人1的传感器在该交界处可采集到区域2中的部分雷达数据和图像数据,同理,机器人2的传感器在该交界处可采集到区域1中的部分雷达数据和图像数据。可选地,计算平台在创建区域1的地图时,可基于时间戳将机器人2采集到的区域1内的雷达数据和图像数据,与机器人1采集到的区域1内的雷达数据和图像数据进行数据对齐,进而基于数据对齐后的雷达数据和图像数据创建区域1的地图。同样地,也可基于同样的方法创建区域2和区域3的地图,此处不再赘述。
在第二种实施方式中,可以配置多台机器人在同一个区域中移动,多台机器人的传感器的采集范围可以存在部分重叠。
例如,在区域1中,存在两台机器人,分别为机器人A、机器人B。机器人A、机器人B在区域1中移动并向计算平台发送自身采集到的雷达数据和图像数据,计算平台接收到机器人A和机器人B发送的雷达数据和图像数据后,从接收到的雷达数据和图像数据中依次获取第1秒、第2秒……第n秒的雷达数据和图像数据,实现对机器人A和机器人B发送的雷达数据和图像数据的数据对齐。然后对经过数据对齐的机器人A和机器人B发送的雷达数据和图像数据进行数据融合,基于数据融合后的雷达数据和图像数据创建区域1的地图。
其中,数据融合是指将来自多个传感器的数据相结合,消除数据之间的冗余和矛盾,保留互补的数据。举例而言,若机器人A采集到范围1内的传感器数据,机器人B采集到范围2内的传感器数据,则将机器人A采集到的范围1内的传感器数据与机器人B采集到的范围2内的传感器数据进行拼接。若机器人A和机器人B均采集到范围3内的传感器数据,则对机器人A和机器人B采集到的范围3内的传感器数据进行分析处理,删除冗余数据,保留互补的数据,得到比单个机器人采集到的范围3内的传感器数据更加完善的传感器数据。比如在范围3内某个位置存在遮挡物,导致机器人A只能采集到未被遮挡的图像数据,但是机器人B在另一个角度采集到了被遮挡部分的图像数据,则基于对机器人A和机器人B的图像数据融合后,即可得到范围3内完整的图像数据。具体的数据融合方法可参考相关技术中的传感器的数据融合技术。
在第三种实施方式中,可以将上述第一种实施方式与第二种实施方式结合。即配置部分机器人在同一个区域中移动,部分机器人在不同区域中移动。
例如,为了创建一个办公室的内部地图,可以配置机器人2和机器人3分别在区域2和区域3采集传感器数据,配置机器人A和机器人B在区域1采集传感器数据,基于第一种实现方式中的举例,可以得到区域2和区域3的地图,基于第二种实现方式中的举例,可以得到区域1的地图,进而将区域1、区域2和区域3的地图拼接,得到整个办公室的内部地图。
采用上述三种实施方式,计算平台可以基于多台机器人发送的传感器数据实现分布式建图,由于单台机器人采集到的传感器数据存在盲区或者部分数据质量较差的问题,所以相比于单台机器人创建的地图,计算平台基于多台机器人发送的传感器数据创建的地图更加准确完善。
在本申请的另一个实施例中,在创建地图之后,为了使得地图更加完善,或者地图对应的区域中的环境信息发生了变化,比如房间内物品的摆设位置发生变化,可以配置机器人再次在已创建的地图所在的区域中移动。
计算平台,还用于在基于数据对齐后的传感器数据创建地图之后,若再次接收到携带时间戳的传感器数据,则确定此次接收到的传感器数据对应的位置,并获取对应相同位置的历史传感器数据,若此次接收到的传感器数据的置信度大于历史传感器数据的置信度,则按照时间戳对此次接收到的传感器数据进行数据对齐,并基于数据对齐后的此次接收到的传感器数据创建地图,基于新创建的地图对已存在的相同位置的地图进行更新。
其中,在计算平台再次接收到携带时间戳的传感器数据后,可基于相邻时刻的传感器数据之间的相似度确定传感器数据的置信度。可选地,可基于相邻时刻的传感器数据之间的协方差矩阵确定相邻时刻的传感器数据之间的相似度,进而基于相似度确定置信度,传感器数据之间的相似度越高,置信度越大。
若此次接收到的传感器数据的置信度大于历史传感器数据的置信度,则代表基于此次接收到的传感器数据创建的地图更加准确,所以可基于此次接收到的传感器数据创建地图,并替代已存在的相同位置的地图,以实现地图的动态更新,提高地图的准确性。
在本申请另一实施例中,计算平台具有协同定位功能,协同定位是指使用多台机器人的传感器数据对多台机器人中的任一机器人进行定位。但为了节约计算开销,计算平台也可以当无法基于一台机器人发送的传感器数据对该机器人定位时,再进行协同定位。
在一种实现方式中,计算平台,还用于在基于数据对齐后的传感器数据对多台机器人中的任一机器人进行定位之前,若无法基于第一机器人发送的传感器数据对第一机器人进行定位,则向第一机器人发送定位失败消息。
其中,第一机器人为多台机器人中的任一机器人。
若第一机器人发送的传感器数据存在数据缺失,或者因环境原因导致第一机器人采集到的传感器数据的可靠性较差,比如因存在障碍物导致机器人的传感器数据未采集到有效数据,或者光线太暗或太亮导致机器人采集到的传感器数据不可用,将会导致计算平台无法基于数据对齐后的传感器数据对第一机器人进行定位。
第一机器人,还用于接收计算平台发送的定位失败消息,并向计算平台发送协同定位请求。
其中,协同定位请求用于请求计算平台基于协同定位功能对第一机器人进行定位。
计算平台,还用于接收第一机器人发送的协同定位请求。
计算平台,具体用于响应于协同定位请求,基于上次对多台机器人定位的定位结果,确定与第一机器人之间的距离小于预设距离阈值的第二机器人,从多台机器人发送的携带时间戳的传感器数据中,获取第二机器人发送的传感器数据,并按照时间戳对第一机器人发送的传感器数据和第二机器人发送的传感器数据进行数据对齐,基于数据对齐后的传感器数据对第一机器人进行定位。
例如,若上述多台机器人包括机器人A、机器人B及机器人C,第一机器人为机器人A。若计算平台接收到机器人A发送的协同定位请求,则根据上次对多台机器人定位的定位结果确定机器人A、机器人B和机器人C的位置,若机器人B与机器人A之间的距离小于预设距离,则说明机器人B在机器人A附近,即机器人B可采集到机器人A周围的传感器数据,所以可基于机器人B发送的传感器数据和机器人A发送的传感器数据对机器人A进行定位。
具体的,若计算平台接收到了机器人A发送的雷达数据和图像数据,但因缺少某一范围内的图像数据导致计算平台无法对机器人A进行定位,则可从机器人B发送的图像数据中获取该范围内的图像数据,并基于时间戳将从机器人B处获取到的图像数据、机器人A发送的图像数据和机器人A发送的雷达数据进行数据对齐,并对机器人A进行定位。
在另一种实现方式中,计算平台若无法基于第一机器人发送的传感器数据对第一机器人进行定位,则可主动进行协同定位,从而实现对第一机器人的定位。
即,计算平台,具体用于若无法基于第一机器人发送的传感器数据对第一机器人进行定位,则基于上次对多台机器人定位的定位结果,确定与第一机器人之间的距离小于预设距离阈值的第二机器人,从多台机器人发送的携带时间戳的传感器数据中,获取第二机器人发送的传感数据,按照时间戳对第一机器人发送的传感器数据与第二机器人发送的传感器数据进行数据对齐,基于数据对齐后的传感器数据对第一机器人进行定位。其中,第一机器人为多台机器人中的任一机器人。
采用本申请实施例,计算平台可在需要时进行协同定位,其余时间不进行协同定位,可以减少计算平台的计算开销。另外,在计算平台无法基于机器人发送的传感器数据对机器人进行定位时,及时采用协同定位的方式对机器人进行定位,可以提高对机器人定位的成功率,避免了无法对机器人定位的情况。
可选地,在本申请另一实施例中,机器人可具备实现基础定位功能的计算资源,机器人的传感器采集到传感器数据后,可将该传感器数据存储指定时长,使得在因突发情况导致机器人与计算平台断开连接后,机器人可以使用传感器数据进行定位。
在本申请的另一个实施例中,计算平台可以实现对多台机器人中的任一机器人的重定位。重定位是指当机器人无法确定自身位置时,由计算平台基于自身存储的传感器数据重新对机器人进行定位。
多台机器人中的第三机器人,还用于向计算平台发送重定位请求,重定位请求中携带第三机器人的传感器在第三机器人周围采集的携带时间戳的传感器数据,第三机器人为多台机器人中的任一机器人。
计算平台,具体用于接收第三机器人发送的重定位请求,从存储的传感器数据中查找与重定位请求中携带的传感器数据相同或相似的传感器数据,基于时间戳对查找到的传感器数据进行数据对齐,并基于数据对齐后的传感器数据对应的位置确定第三机器人的位置。
其中,本申请实施例中,计算平台可接收多台机器人的传感器数据并存储,当计算平台从这些传感器数据中查找到与重定位请求中携带的传感器数据相同或相似的传感器数据时,说明存在其他机器人曾经与该机器人在同一位置,计算平台曾经基于查找的传感器数据对其他机器人进行定位,所以计算平台可确定查找到的传感器数据对应的位置,基于查找到的传感器数据对应的位置即可确定该机器人的位置,从而完成对该机器人的重定位。
举例而言,第三机器人在断电状态被移动到了一个未知位置,在第三机器人开机重启时,若无法确定自身的位置,则可旋转一圈,或者随机移动,并向计算平台发送携带自身的传感器采集到的传感器数据的重定位请求,以传感器数据包括图像数据和雷达数据为例。计算平台接收到重定位请求后,可从自身存储的传感器数据中查找与第三机器人的图像数据和雷达数据相同或相似的传感器数据。
然后基于时间戳对查找到的图像数据和雷达数据进行数据对齐,确定数据对齐后的图像数据和雷达数据对应的位置,比如查找的图像数据和雷达数据来自于机器人A,通过数据对齐后的图像数据和雷达数据确定机器人A在一面墙前,墙上有一幅画,且可确定机器人A与画之间的相对位置关系。且基于第三机器人发送的图像数据和雷达数据也可确定第三机器人在同一面墙前,墙上有同一幅画,并可确定第三机器人与画之间的相对位置关系。进而基于机器人A与画之间的相对位置关系和第三机器人与画之间的相对位置关系,确定机器人A与第三机器人之间的相对位置关系,然后基于该相对位置关系以及机器人A的位置确定第三机器人的位置。
采用本申请实施例,在机器人无法获取自身位置的情况下,计算平台可以基于自身存储的传感器数据对机器人快速定位,以使得机器人及时获取自身位置。
基于上述导航***,本申请实施例还提供一种导航方法,该方法应用于导航***中的计算平台,导航***中还包括多台机器人,多台机器人均设置有传感器,如图3所示,该方法包括:
S301、接收多台机器人发送的传感器数据。
S302、基于多台机器人发送的传感器数据创建地图、对多台机器人中的任一机器人进行定位和/或重定位。
采用上述导航方法,计算平台可接收多台机器人发送的传感器数据,并基于多台机器人发送的传感器数据创建地图、对多台机器人中的任一机器人进行定位和/或重定位。即机器人无需基于采集到的传感器数据进行建图、定位和/或重定位,从而减小了机器人所需的计算量。因计算平台具有较多的计算资源,所以本申请实施例由计算平台的计算资源对多台机器人发送的传感器数据进行计算,从而完成建图、对多台机器人中的任一机器人的定位和/或重定位,所以采用本申请实施例无需为机器人配置复杂的计算芯片,降低了机器人的部署难度和部署成本。
在本申请实施例的一种实现方式中,导航***还包括与多台机器人连接的时钟同步服务器,多台机器人共用时钟同步服务器的时间,在此基础上,上述S301、接收多台机器人发送的传感器数据,具体可以实现为:
接收多台机器人发送的携带时间戳的传感器数据。
相应地,上述S302、基于多台机器人发送的传感器数据创建地图、对多台机器人中的任一机器人进行定位和/或重定位,具体可以实现为:
按照时间戳对多台机器人发送的传感器数据进行数据对齐,并基于数据对齐后的传感器数据创建地图、对多台机器人中的任一机器人进行定位和/或重定位。
采用本申请实施例,计算平台在接收到多台机器人发送的携带时间戳的传感器数据后,按照时间戳对多台机器人发送的传感器数据进行数据对齐,基于数据对齐后的传感器数据创建地图可以提高创建的地图的精度,且基于数据对齐后的传感器数据对多台机器人中的任一机器人进行定位和/或重定位可以提高定位和/或重定位的精度。
以下分别对本申请实施例中的创建地图、定位以及重定位的方法进行说明。
如图4所示,本申请实施例的建图方法具体包括以下步骤:
S401、接收多台机器人发送的携带时间戳的传感器数据。
S402、按照时间戳对多台处于不同区域的机器人发送的传感器数据进行数据对齐,并基于数据对齐后的传感器数据创建地图;和/或,按照时间戳对多台处于相同区域的机器人发送的传感器数据进行数据对齐,对进行数据对齐后的传感器数据进行数据融合,基于数据融合后的传感器数据创建地图。
可选地,在创建地图之后,还可以基于实际情况对地图进行更新,所以在上述S402之后,还可以执行S403至S405。
S403、若再次接收到携带时间戳的传感器数据,则确定此次接收到的传感器数据对应的位置,并获取对应相同位置的历史传感器数据。
S404、若此次接收到的传感器数据的置信度大于历史传感器数据的置信度,则按照时间戳对此次接收到的传感器数据进行数据对齐,并基于数据对齐后的此次接收到的传感器数据创建地图。
可以理解的是,若此次接收到的传感器数据的置信度小于等于历史传感器数据的置信度,则无需对已创建的地图进行更新。
S405、基于新创建的地图对已存在的相同位置的地图进行更新。
采用该方法,计算平台可基于多台机器人发送的传感器数据实现分布式建图,由于单台机器人采集到的传感器数据存在盲区或者部分数据质量较差的问题,所以相比于单台机器人创建的地图,计算平台基于多台机器人发送的传感器数据创建的地图更加准确完善。且在创建地图后,还可实现地图的动态更新,使得地图的准确性较高。
在一种实现方式中,如图5所示,本申请实施例中的定位方法具体包括以下步骤:
S501、接收多台机器人发送的携带时间戳的传感器数据。
S502、若无法基于第一机器人发送的传感器数据对所述第一机器人进行定位,则向所述第一机器人发送定位失败消息。
其中,第一机器人为所述多台机器人中的任一机器人。
S503、接收第一机器人发送的协同定位请求。
接收到协同定位请求后,计算平台可基于协同定位功能实现对第一机器人的定位,即按照时间戳对多台机器人发送的传感器数据进行数据对齐,并基于数据对齐后的传感器数据对多台机器人中的任一机器人进行定位,具体可实现为以下S504至S506。
S504、响应于协同定位请求,基于上次对多台机器人定位的定位结果,确定与第一机器人之间的距离小于预设距离值的第二机器人。
S505、从多台机器人发送的携带时间戳的传感器数据中,获取第二机器人发送的传感器数据。
S506、按照时间戳对第一机器人发送的传感器数据与第二机器人发送的传感器数据进行数据对齐,基于数据对齐后的传感器数据对第一机器人进行定位。
可以理解的是,在对第一机器人进行定位后,计算平台可向第一机器人发送定位结果。
需要说明的是,图5的流程中,计算平台在需要时对机器人进行协同定位,即,计算平台一般情况下基于一台机器人的传感器数据对该机器人进行定位,当无法基于该机器人的传感器数据对该机器人进行定位时,则通过图5的流程按需实现对该机器人的协同定位。在另一种实施方式中,计算平台还可以实时进行协同定位,计算平台在接收到多台机器人发送的携带时间戳的传感器数据之后,可直接基于多台机器人发送的携带时间戳的传感器数据对第一机器人进行协同定位。
采用该方法,计算平台无需实时对各机器人进行协同定位,可以节省计算资源,且在无法基于第一机器人发送的传感器数据对第一机器人进行定位时,还可以基于第一机器人的请求对第一机器人进行协同定位,避免了无法对机器人定位的情况,所以兼顾了对计算平台的计算资源的节约,以及对机器人定位的准确性和成功率。
在另一种实现方式中,计算平台可以主动进行协同定位,即按照时间戳对多台机器人发送的传感器数据进行数据对齐,并基于数据对齐后的传感器数据对多台机器人中的任一机器人进行定位,具体可实现为:
若无法基于第一机器人发送的传感器数据对第一机器人进行定位,则基于上次对多台机器人定位的定位结果,确定与第一机器人之间的距离小于预设距离阈值的第二机器人,第一机器人为所述多台机器人中的任一机器人。
从多台机器人发送的携带时间戳的传感器数据中,获取第二机器人发送的传感器数据。
按照时间戳对第一机器人发送的传感器数据与第二机器人发送的传感器数据进行数据对齐,基于数据对齐后的传感器数据对第一机器人进行定位。
在本申请另一实施例中,按照时间戳对多台机器人发送的传感器数据进行对齐,并基于数据对齐后的传感器数据对多台机器人中的任一机器人进行重定位,具体可以实现为:
接收第三机器人发送的重定位请求。其中,重定位请求中携带第三机器人的传感器在机器人周围采集的携带时间戳的传感器数据,第三机器人为多台机器人中的任一机器人。
然后,从存储的传感器数据中查找与重定位请求中携带的传感器数据相同或相似的传感器数据,基于时间戳对查找到的传感器数据进行数据对齐,并基于数据对齐后的传感器数据对应的位置确定第三机器人的位置。
采用本申请实施例,在机器人无法获取自身位置的情况下,计算平台可以基于自身存储的传感器数据对机器人快速定位,以使得机器人及时获取自身位置。
对应于上述方法实施例,本申请实施例还提供一种导航装置,该装置应用于导航***中的计算平台,导航***中还包括多台机器人,多台机器人均设置有传感器;如图6所示,该装置包括:
接收模块601,用于接收所述多台机器人发送的传感器数据;
导航模块602,用于基于所述多台机器人发送的传感器数据创建地图、对所述多台机器人中的任一机器人进行定位和/或重定位。
可选地,导航***还包括与多台机器人连接的时钟同步服务器,多台机器人共用所述时钟同步服务器的时间;
接收模块601,具体用于接收所述多台机器人发送的携带时间戳的传感器数据;
导航模块602,具体用于按照时间戳对所述多台机器人发送的传感器数据进行数据对齐,并基于数据对齐后的传感器数据创建地图、对所述多台机器人中的任一机器人进行定位和/或重定位。
可选地,如图7所示,该装置还包括:获取模块701和更新模块702。
获取模块701,用于在导航模块602基于数据对齐后的传感器数据创建地图之后,若接收模块601再次接收到携带时间戳的传感器数据,则确定此次接收到的传感器数据对应的位置,并获取对应相同位置的历史传感器数据;
导航模块602,还用于若接收模块601此次接收到的传感器数据的置信度大于所述历史传感器数据的置信度,则按照时间戳对此次接收到的传感器数据进行数据对齐,并基于数据对齐后的此次接收到的传感器数据创建地图;
更新模块702,用于基于新创建的地图对已存在的相同位置的地图进行更新。
可选地,导航模块602,具体用于:
按照时间戳对多台处于不同区域的机器人发送的传感器数据进行数据对齐,并基于数据对齐后的传感器数据创建地图;和/或,
按照时间戳对多台处于相同区域的机器人发送的传感器数据进行数据对齐,对进行数据对齐后的传感器数据进行数据融合,基于数据融合后的传感器数据创建地图。
可选地,如图8所示,该装置还包括:发送模块801。
发送模块801,用于若所述导航模块无法基于第一机器人发送的传感器数据对所述第一机器人进行定位,则向所述第一机器人发送定位失败消息,所述第一机器人为所述多台机器人中的任一机器人;
接收模块601,还用于接收所述第一机器人发送的协同定位请求;
导航模块602,具体用于:
响应于所述协同定位请求,基于上次对所述多台机器人定位的定位结果,确定与所述第一机器人之间的距离小于预设距离值的第二机器人;
从所述多台机器人发送的携带时间戳的传感器数据中,获取所述第二机器人发送的传感器数据;
按照时间戳对所述第一机器人发送的传感器数据与所述第二机器人发送的传感器数据进行数据对齐,基于数据对齐后的传感器数据对所述第一机器人进行定位。
可选地,导航模块602,具体用于:
若无法基于第一机器人发送的传感器数据对所述第一机器人进行定位,则基于上次对所述多台机器人定位的定位结果,确定与所述第一机器人之间的距离小于预设距离阈值的第二机器人,所述第一机器人为所述多台机器人中的任一机器人;
从所述多台机器人发送的携带时间戳的传感器数据中,获取所述第二机器人发送的传感器数据;
按照时间戳对所述第一机器人发送的传感器数据与所述第二机器人发送的传感器数据进行数据对齐,基于数据对齐后的传感器数据对所述第一机器人进行定位。
可选地,接收模块601,还用于接收第三机器人发送的重定位请求,所述重定位请求中携带所述第三机器人的传感器在所述机器人周围采集的携带时间戳的传感器数据,所述第三机器人为所述多台机器人中的任一机器人;
导航模块602,具体用于从存储的传感器数据中查找与重定位请求中携带的传感器数据相同或相似的传感器数据,基于时间戳对查找到的传感器数据进行数据对齐,并基于数据对齐后的传感器数据对应的位置确定所述第三机器人的位置。
可选地,本申请实施例中的计算平台具体可以但不限于为云计算平台、边缘计算平台或者指定机器人。
本申请实施例中各模块的具体实现可以参考上述方法实施例,在此不再详述。
本发明实施例还提供了一种电子设备,该电子设备具体为上述实施例中的计算平台,如图9所示,包括处理器901、通信接口902、存储器903和通信总线904,其中,处理器901,通信接口902,存储器903通过通信总线904完成相互间的通信,
存储器903,用于存放计算机程序;
处理器901,用于执行存储器903上所存放的程序时,实现上述方法实施例中的方法步骤。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一导航方法的步骤。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一导航方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于方法和装置实施例而言,由于其基本相似于***实施例,所以描述的比较简单,相关之处参见***实施例的部分说明即可。
以上所述仅为本发明的较佳实施例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (18)

1.一种导航***,其特征在于,包括:计算平台和多台机器人,所述多台机器人均设置有传感器;其中:
所述多台机器人,用于向所述计算平台发送自身的传感器采集的传感器数据;
所述计算平台,用于接收所述多台机器人发送的传感器数据,并基于所述多台机器人发送的传感器数据对所述多台机器人中的任一机器人进行定位和/或重定位;
所述导航***还包括:与所述多台机器人连接的时钟同步服务器,所述多台机器人共用所述时钟同步服务器的时间;
所述多台机器人,具体用于向所述计算平台发送自身的传感器采集的携带时间戳的传感器数据;
所述计算平台,具体用于接收所述多台机器人发送的携带时间戳的传感器数据,按照时间戳对所述多台机器人发送的传感器数据进行数据对齐,并基于数据对齐后的传感器数据对所述多台机器人中的任一机器人进行定位和/或重定位;
所述计算平台,还用于在基于数据对齐后的传感器数据对所述多台机器人中的任一机器人进行定位之前,若无法基于第一机器人发送的传感器数据对所述第一机器人进行定位,则向所述第一机器人发送定位失败消息,所述第一机器人为所述多台机器人中的任一机器人;所述第一机器人,还用于接收所述计算平台发送的定位失败消息,并向所述计算平台发送协同定位请求;所述计算平台,还用于接收所述第一机器人发送的协同定位请求;所述计算平台,具体用于响应于所述协同定位请求,基于上次对所述多台机器人定位的定位结果,确定与所述第一机器人之间的距离小于预设距离阈值的第二机器人,从所述多台机器人发送的携带时间戳的传感器数据中,获取所述第二机器人发送的传感器数据,并按照时间戳对所述第一机器人发送的传感器数据和所述第二机器人发送的传感器数据进行数据对齐,基于数据对齐后的传感器数据对所述第一机器人进行定位;或者,
所述计算平台,具体用于若无法基于第一机器人发送的传感器数据对所述第一机器人进行定位,则基于上次对所述多台机器人定位的定位结果,确定与所述第一机器人之间的距离小于预设距离阈值的第二机器人,从所述多台机器人发送的携带时间戳的传感器数据中,获取所述第二机器人发送的传感数据,按照时间戳对所述第一机器人发送的传感器数据与所述第二机器人发送的传感器数据进行数据对齐,基于数据对齐后的传感器数据对所述第一机器人进行定位,所述第一机器人为所述多台机器人中的任一机器人。
2.根据权利要求1所述的导航***,其特征在于,
所述计算平台,还用于在所述按照时间戳对所述多台机器人发送的传感器数据进行数据对齐之后,基于数据对齐后的传感器数据创建地图,若再次接收到携带时间戳的传感器数据,则确定此次接收到的传感器数据对应的位置,并获取对应相同位置的历史传感器数据,若此次接收到的传感器数据的置信度大于所述历史传感器数据的置信度,则按照时间戳对此次接收到的传感器数据进行数据对齐,并基于数据对齐后的此次接收到的传感器数据创建地图,基于新创建的地图对已存在的相同位置的地图进行更新。
3.根据权利要求2所述的导航***,其特征在于,
所述计算平台,具体用于按照时间戳对多台处于不同区域的机器人发送的传感器数据进行数据对齐,并基于数据对齐后的传感器数据创建地图;和/或,
所述计算平台,具体用于按照时间戳对多台处于相同区域的机器人发送的传感器数据进行数据对齐,对进行数据对齐后的传感器数据进行数据融合,基于数据融合后的传感器数据创建地图。
4.根据权利要求1所述的导航***,其特征在于,
所述多台机器人,具体用于通过摄像头采集包括建图引导对象的画面,并跟随所述建图引导对象进行移动,在移动过程中向所述计算平台发送自身的传感器采集的传感器数据。
5.根据权利要求1所述的导航***,其特征在于,
所述多台机器人中的第三机器人,还用于向所述计算平台发送重定位请求,所述重定位请求中携带所述第三机器人的传感器在所述第三机器人周围采集的携带时间戳的传感器数据,所述第三机器人为所述多台机器人中的任一机器人;
所述计算平台,具体用于接收所述第三机器人发送的重定位请求,从存储的传感器数据中查找与所述重定位请求中携带的传感器数据相同或相似的传感器数据,基于时间戳对查找到的传感器数据进行数据对齐,并基于数据对齐后的传感器数据对应的位置确定所述第三机器人的位置。
6.根据权利要求1-5任一所述的导航***,其特征在于,所述计算平台为云计算平台、边缘计算平台或者指定机器人。
7.一种导航方法,其特征在于,所述方法应用于导航***中的计算平台,所述导航***中还包括多台机器人,所述多台机器人均设置有传感器;所述方法包括:
接收所述多台机器人发送的传感器数据;
基于所述多台机器人发送的传感器数据对所述多台机器人中的任一机器人进行定位和/或重定位;
所述导航***还包括与所述多台机器人连接的时钟同步服务器,所述多台机器人共用所述时钟同步服务器的时间;
所述接收所述多台机器人发送的传感器数据,包括:
接收所述多台机器人发送的携带时间戳的传感器数据;
所述基于所述多台机器人发送的传感器数据对所述多台机器人中的任一机器人进行定位和/或重定位,包括:
按照时间戳对所述多台机器人发送的传感器数据进行数据对齐,并基于数据对齐后的传感器数据对所述多台机器人中的任一机器人进行定位和/或重定位;
在基于数据对齐后的传感器数据对所述多台机器人中的任一机器人进行定位之前,所述方法还包括:若无法基于第一机器人发送的传感器数据对所述第一机器人进行定位,则向所述第一机器人发送定位失败消息,所述第一机器人为所述多台机器人中的任一机器人;接收所述第一机器人发送的协同定位请求;所述按照时间戳对所述多台机器人发送的传感器数据进行数据对齐,并基于数据对齐后的传感器数据对所述多台机器人中的任一机器人进行定位,包括:响应于所述协同定位请求,基于上次对所述多台机器人定位的定位结果,确定与所述第一机器人之间的距离小于预设距离值的第二机器人;从所述多台机器人发送的携带时间戳的传感器数据中,获取所述第二机器人发送的传感器数据;按照时间戳对所述第一机器人发送的传感器数据与所述第二机器人发送的传感器数据进行数据对齐,基于数据对齐后的传感器数据对所述第一机器人进行定位;或者,
所述按照时间戳对所述多台机器人发送的传感器数据进行数据对齐,并基于数据对齐后的传感器数据对所述多台机器人中的任一机器人进行定位,包括:若无法基于第一机器人发送的传感器数据对所述第一机器人进行定位,则基于上次对所述多台机器人定位的定位结果,确定与所述第一机器人之间的距离小于预设距离阈值的第二机器人,所述第一机器人为所述多台机器人中的任一机器人;从所述多台机器人发送的携带时间戳的传感器数据中,获取所述第二机器人发送的传感器数据;按照时间戳对所述第一机器人发送的传感器数据与所述第二机器人发送的传感器数据进行数据对齐,基于数据对齐后的传感器数据对所述第一机器人进行定位。
8.根据权利要求7所述的方法,其特征在于,在所述按照时间戳对所述多台机器人发送的传感器数据进行数据对齐之后,所述方法还包括:
基于数据对齐后的传感器数据创建地图;
若再次接收到携带时间戳的传感器数据,则确定此次接收到的传感器数据对应的位置,并获取对应相同位置的历史传感器数据;
若此次接收到的传感器数据的置信度大于所述历史传感器数据的置信度,则按照时间戳对此次接收到的传感器数据进行数据对齐,并基于数据对齐后的此次接收到的传感器数据创建地图;
基于新创建的地图对已存在的相同位置的地图进行更新。
9.根据权利要求8所述的方法,其特征在于,所述按照时间戳对所述多台机器人发送的传感器数据进行数据对齐,并基于数据对齐后的传感器数据创建地图,包括:
按照时间戳对多台处于不同区域的机器人发送的传感器数据进行数据对齐,并基于数据对齐后的传感器数据创建地图;和/或,
按照时间戳对多台处于相同区域的机器人发送的传感器数据进行数据对齐,对进行数据对齐后的传感器数据进行数据融合,基于数据融合后的传感器数据创建地图。
10.根据权利要求7所述的方法,其特征在于,按照时间戳对所述多台机器人发送的传感器数据进行数据对齐,并基于数据对齐后的传感器数据对所述多台机器人中的任一机器人进行重定位,包括:
接收第三机器人发送的重定位请求,所述重定位请求中携带所述第三机器人的传感器在所述机器人周围采集的携带时间戳的传感器数据,所述第三机器人为所述多台机器人中的任一机器人;
从存储的传感器数据中查找与重定位请求中携带的传感器数据相同或相似的传感器数据,基于时间戳对查找到的传感器数据进行数据对齐,并基于数据对齐后的传感器数据对应的位置确定所述第三机器人的位置。
11.根据权利要求7-10任一所述的方法,其特征在于,所述计算平台为云计算平台、边缘计算平台或者指定机器人。
12.一种导航装置,其特征在于,所述装置应用于导航***中的计算平台,所述导航***中还包括多台机器人,所述多台机器人均设置有传感器;所述装置包括:
接收模块,用于接收所述多台机器人发送的传感器数据;
导航模块,用于基于所述多台机器人发送的传感器数据对所述多台机器人中的任一机器人进行定位和/或重定位;
所述导航***还包括与所述多台机器人连接的时钟同步服务器,所述多台机器人共用所述时钟同步服务器的时间;
所述接收模块,具体用于接收所述多台机器人发送的携带时间戳的传感器数据;
所述导航模块,具体用于按照时间戳对所述多台机器人发送的传感器数据进行数据对齐,并基于数据对齐后的传感器数据对所述多台机器人中的任一机器人进行定位和/或重定位;
所述装置还包括:发送模块,用于若所述导航模块无法基于第一机器人发送的传感器数据对所述第一机器人进行定位,则向所述第一机器人发送定位失败消息,所述第一机器人为所述多台机器人中的任一机器人;所述接收模块,还用于接收所述第一机器人发送的协同定位请求;所述导航模块,具体用于:响应于所述协同定位请求,基于上次对所述多台机器人定位的定位结果,确定与所述第一机器人之间的距离小于预设距离值的第二机器人;从所述多台机器人发送的携带时间戳的传感器数据中,获取所述第二机器人发送的传感器数据;按照时间戳对所述第一机器人发送的传感器数据与所述第二机器人发送的传感器数据进行数据对齐,基于数据对齐后的传感器数据对所述第一机器人进行定位;或者,
所述导航模块,具体用于:若无法基于第一机器人发送的传感器数据对所述第一机器人进行定位,则基于上次对所述多台机器人定位的定位结果,确定与所述第一机器人之间的距离小于预设距离阈值的第二机器人,所述第一机器人为所述多台机器人中的任一机器人;从所述多台机器人发送的携带时间戳的传感器数据中,获取所述第二机器人发送的传感器数据;按照时间戳对所述第一机器人发送的传感器数据与所述第二机器人发送的传感器数据进行数据对齐,基于数据对齐后的传感器数据对所述第一机器人进行定位。
13.根据权利要求12所述的装置,其特征在于,所述装置还包括:
所述导航模块,还用于在所述按照时间戳对所述多台机器人发送的传感器数据进行数据对齐之后,基于数据对齐后的传感器数据创建地图;
获取模块,用于若所述接收模块再次接收到携带时间戳的传感器数据,则确定此次接收到的传感器数据对应的位置,并获取对应相同位置的历史传感器数据;
所述导航模块,还用于若所述接收模块此次接收到的传感器数据的置信度大于所述历史传感器数据的置信度,则按照时间戳对此次接收到的传感器数据进行数据对齐,并基于数据对齐后的此次接收到的传感器数据创建地图;
更新模块,用于基于新创建的地图对已存在的相同位置的地图进行更新。
14.根据权利要求13所述的装置,其特征在于,所述导航模块,具体用于:
按照时间戳对多台处于不同区域的机器人发送的传感器数据进行数据对齐,并基于数据对齐后的传感器数据创建地图;和/或,
按照时间戳对多台处于相同区域的机器人发送的传感器数据进行数据对齐,对进行数据对齐后的传感器数据进行数据融合,基于数据融合后的传感器数据创建地图。
15.根据权利要求12所述的装置,其特征在于,
所述接收模块,还用于接收第三机器人发送的重定位请求,所述重定位请求中携带所述第三机器人的传感器在所述机器人周围采集的携带时间戳的传感器数据,所述第三机器人为所述多台机器人中的任一机器人;
所述导航模块,具体用于从存储的传感器数据中查找与重定位请求中携带的传感器数据相同或相似的传感器数据,基于时间戳对查找到的传感器数据进行数据对齐,并基于数据对齐后的传感器数据对应的位置确定所述第三机器人的位置。
16.根据权利要求12-15任一所述的装置,其特征在于,所述计算平台为云计算平台、边缘计算平台或者指定机器人。
17.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求7-11任一所述的方法步骤。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求7-11任一所述的方法步骤。
CN202010182901.2A 2020-03-16 2020-03-16 一种导航***、方法、装置、电子设备及介质 Active CN111352425B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010182901.2A CN111352425B (zh) 2020-03-16 2020-03-16 一种导航***、方法、装置、电子设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010182901.2A CN111352425B (zh) 2020-03-16 2020-03-16 一种导航***、方法、装置、电子设备及介质

Publications (2)

Publication Number Publication Date
CN111352425A CN111352425A (zh) 2020-06-30
CN111352425B true CN111352425B (zh) 2024-02-09

Family

ID=71194596

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010182901.2A Active CN111352425B (zh) 2020-03-16 2020-03-16 一种导航***、方法、装置、电子设备及介质

Country Status (1)

Country Link
CN (1) CN111352425B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111890368B (zh) * 2020-08-06 2021-12-07 深圳优地科技有限公司 基于机器人的位置校定方法、装置、***及存储介质
CN111970351B (zh) * 2020-08-11 2021-06-22 震坤行工业超市(上海)有限公司 一种基于数据对齐的物联网多维传感优化方法及***
CN112666942A (zh) * 2020-12-15 2021-04-16 美智纵横科技有限责任公司 自移动机器人及其路径规划方法、装置、设备和存储介质
CN113814997B (zh) * 2021-10-18 2023-05-23 上海擎朗智能科技有限公司 一种机器人重定位方法、装置、电子设备和存储介质
CN114413903B (zh) * 2021-12-08 2024-07-09 上海擎朗智能科技有限公司 用于多机器人的定位方法、机器人配送***及计算机可读存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107544515A (zh) * 2017-10-10 2018-01-05 苏州中德睿博智能科技有限公司 基于云服务器的多机器人建图导航***与建图导航方法
CN108801254A (zh) * 2017-05-02 2018-11-13 北京米文动力科技有限公司 一种重定位方法及机器人
CN109074407A (zh) * 2018-07-23 2018-12-21 深圳前海达闼云端智能科技有限公司 多源数据建图方法、相关装置及计算机可读存储介质
CN109084786A (zh) * 2018-08-09 2018-12-25 北京智行者科技有限公司 一种地图数据的处理方法
CN109141393A (zh) * 2018-07-02 2019-01-04 北京百度网讯科技有限公司 重定位方法、设备及存储介质
CN109725327A (zh) * 2019-03-07 2019-05-07 山东大学 一种多机构建地图的方法及***
CN109935077A (zh) * 2017-12-15 2019-06-25 百度(美国)有限责任公司 用于为自动驾驶车辆构建车辆与云端实时交通地图的***
CN110553652A (zh) * 2019-10-12 2019-12-10 上海高仙自动化科技发展有限公司 机器人多传感器融合定位方法及其应用
CN110673614A (zh) * 2019-10-25 2020-01-10 湖南工程学院 基于云服务器的小型机器人组的建图***及建图方法
CN110686676A (zh) * 2019-09-12 2020-01-14 深圳市银星智能科技股份有限公司 机器人重定位方法、装置及机器人

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7054716B2 (en) * 2002-09-06 2006-05-30 Royal Appliance Mfg. Co. Sentry robot system
US10723018B2 (en) * 2016-11-28 2020-07-28 Brain Corporation Systems and methods for remote operating and/or monitoring of a robot

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108801254A (zh) * 2017-05-02 2018-11-13 北京米文动力科技有限公司 一种重定位方法及机器人
CN107544515A (zh) * 2017-10-10 2018-01-05 苏州中德睿博智能科技有限公司 基于云服务器的多机器人建图导航***与建图导航方法
CN109935077A (zh) * 2017-12-15 2019-06-25 百度(美国)有限责任公司 用于为自动驾驶车辆构建车辆与云端实时交通地图的***
CN109141393A (zh) * 2018-07-02 2019-01-04 北京百度网讯科技有限公司 重定位方法、设备及存储介质
CN109074407A (zh) * 2018-07-23 2018-12-21 深圳前海达闼云端智能科技有限公司 多源数据建图方法、相关装置及计算机可读存储介质
CN109084786A (zh) * 2018-08-09 2018-12-25 北京智行者科技有限公司 一种地图数据的处理方法
CN109725327A (zh) * 2019-03-07 2019-05-07 山东大学 一种多机构建地图的方法及***
CN110686676A (zh) * 2019-09-12 2020-01-14 深圳市银星智能科技股份有限公司 机器人重定位方法、装置及机器人
CN110553652A (zh) * 2019-10-12 2019-12-10 上海高仙自动化科技发展有限公司 机器人多传感器融合定位方法及其应用
CN110673614A (zh) * 2019-10-25 2020-01-10 湖南工程学院 基于云服务器的小型机器人组的建图***及建图方法

Also Published As

Publication number Publication date
CN111352425A (zh) 2020-06-30

Similar Documents

Publication Publication Date Title
CN111352425B (zh) 一种导航***、方法、装置、电子设备及介质
US11105638B2 (en) Method, apparatus, and computer readable storage medium for updating electronic map
CN109345596B (zh) 多传感器标定方法、装置、计算机设备、介质和车辆
CN108828527B (zh) 一种多传感器数据融合方法、装置、车载设备及存储介质
US9058538B1 (en) Bundle adjustment based on image capture intervals
CN107845114B (zh) 地图的构建方法、装置及电子设备
EP3621286B1 (en) Method, and apparatus for clock synchronization, device, storage medium and vehicle
WO2019126950A1 (zh) 一种定位方法、云端服务器、终端、***、电子设备及计算机程序产品
CN109814137B (zh) 定位方法、装置和计算设备
US11281228B2 (en) Method and device for determining a position of a transportation vehicle
JP2018128314A (ja) 移動***置推定システム、移動***置推定端末装置、情報格納装置、及び移動***置推定方法
AU2018253980A1 (en) Distributed device mapping
CN114549738A (zh) 无人车室内实时稠密点云重建方法、***、设备及介质
Xu et al. Road boundaries detection based on modified occupancy grid map using millimeter-wave radar
CN114503176B (zh) 用于获知自身位置的方法和电子设备
CN111353453A (zh) 用于车辆的障碍物检测方法和装置
CN112447058B (zh) 泊车方法、装置、计算机设备及存储介质
CN112015938B (zh) 点云标签传递方法、装置及***
CN112689234B (zh) 室内车辆定位方法、装置、计算机设备和存储介质
CN115290066A (zh) 一种误差校正方法、装置及移动设备
CN110244710B (zh) 自动寻迹方法、装置、存储介质及电子设备
KR20220166784A (ko) 자율주행에 기반한 승차 방법, 장치, 설비 및 저장매체
CN111381587B (zh) 用于跟随机器人的跟随方法和装置
Jametoni et al. A Study on Autonomous Drone Positioning Method
WO2019242251A1 (zh) 一种定位方法、装置及移动设备

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