一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

导航方法、导航系统、导航设备、搬运系统及存储介质与流程

2021-11-18 00:11:00 来源:中国专利 TAG:


1.本发明涉及机器人技术领域,具体而言,涉及一种导航方法、导航系统、导航设备、搬运系统及存储介质。


背景技术:

2.近年来,自动导航小车(auto guided vehicle,简称agv)被大量部署在电商、智能工厂等领域,用于执行货物搬运等任务。agv的自动导航是指agv结合对自身位姿的判断,沿预定路线移动的行为。现有技术中,存在多种agv导航方式,例如,二维码导航、同步定位与地图构建(simultaneous localization and mapping,简称slam)导航等,这些导航方式各有优缺点,目前的agv普遍仅支持其中一种导航方式,从而不能充分发挥各种导航方式的优势,也限制了agv在某些业务场景中的应用。


技术实现要素:

3.本技术实施例的目的在于提供一种导航方法、导航系统、导航设备、搬运系统及存储介质,以改善上述技术问题。
4.为实现上述目的,本技术提供如下技术方案:
5.第一方面,本技术实施例提供一种导航方法,包括:接收导航模式切换指令;响应所述导航模式切换指令,控制自动导航设备执行导航模式的切换,所述导航模式的切换包括:将计算所述自动导航设备的位姿信息的方式从根据当前传感器数据计算切换为根据目标传感器数据计算,所述当前传感器数据和所述目标传感器数据分别为所述自动导航设备在当前导航模式和待切换的目标导航模式下使用的传感器所采集的数据。
6.上述方法中的自动导航设备支持多种导航模式,并可在外部指令的控制下动态地进行导航模式的切换,因此该方法有助于自动导航设备充分发挥各种导航方式的优势,自动适应各种环境场景,从而拓宽了自动导航设备的应用场景。需要指出,导航模式的切换至少包括位姿信息计算方式的切换,还有可能包括其他方面的切换。在自动导航的过程中,计算出的位姿信息可用于对自动导航设备进行定位、姿态校正等。
7.在第一方面的一种实现方式中,所述导航模式的切换还包括:开启所述目标导航模式对应的至少部分传感器,并关闭所述当前导航模式对应的至少部分传感器。
8.在不同的导航模式下,计算位姿信息所需的传感器数据是不同的。从而,在当前导航模式下要使用的部分传感器,在目标导航模式下未必会使用。在上述实现方式中,可以在切换导航模式时将这部分传感器关闭,以节约设备功耗。
9.在第一方面的一种实现方式中,所述当前导航模式和所述目标导航模式共享部分传感器,共享的部分传感器在所述自动导航设备导航的过程中始终保持开启,所述共享的部分传感器包括惯性测量单元、里程计中的至少一种。
10.当前导航模式和目标导航模式所共享的传感器,是指在两种导航模式下计算位姿信息时都会使用的传感器,从而这些传感器可以持续保持开启状态,不受导航模式切换的
影响。例如,在二维码导航模式下,可以使用二维码识别单元、惯性测量单元以及里程计计算位姿信息,在slam导航模式下,可以使用激光雷达、摄像头、惯性测量单元以及里程计计算位姿信息,其中,惯性测量单元和里程计就是这两种导航模式共享的传感器,可在自动导航设备开始导航后持续保持开启。
11.在第一方面的一种实现方式中,所述导航模式的切换还包括:将所述自动导航设备使用的地图从当前导航地图切换为目标导航地图;其中,所述当前导航地图和所述目标导航地图分别为所述自动导航设备在所述当前导航模式和所述目标导航模式下使用的地图。
12.在上述实现方式中,自动导航需要导航地图提供支持,在不同的导航模式下,可以使用不同的导航地图,这些导航地图的特点与导航模式是适配的,从而在进行导航模式切换时,也应进行导航地图的切换。
13.在第一方面的一种实现方式中,所述接收导航模式切换指令,包括:接收调度系统下发的导航模式切换指令;在所述接收导航模式切换指令之前,所述方法还包括:根据在所述当前导航模式下计算出的位姿信息,向所述调度系统发送所述自动导航设备的位姿信息,所述位姿信息用于所述调度系统判断所述自动导航设备是否满足第一导航模式切换条件。
14.在上述实现方式中,自动导航设备的导航模式切换在调度系统的控制下进行,这样的设计可以简化自动导航设备的内部逻辑,实现高效的导航模式切换。
15.在第一方面的一种实现方式中,所述响应所述导航模式切换指令,控制自动导航设备从当前导航模式切换至目标导航模式,包括:响应所述导航模式切换指令,判断所述自动导航设备是否满足第二模式切换条件;若所述自动导航设备满足所述第二模式切换条件,则控制所述自动导航设备从所述当前导航模式执行所述导航模式的切换。
16.在上述实现方式中,自动导航设备在切换导航模式之前,先判断第二模式切换条件是否满足,以确保导航模式的切换时机是适当的。
17.进一步的,自动导航设备判断的第二模式切换条件还可能与调度系统判断的第一模式切换条件相结合,即进行双重判断。因为自动导航设备并不会将所有的信息都同步给调度系统,所以在调度系统认为自动导航设备可以进行导航模式的切换时,自动导航设备未必真的能够进行导航模式切换,双重判断有利于确保导航模式的切换时机是正确、可靠的。
18.在第一方面的一种实现方式中,所述第二模式切换条件包括以下条件中的至少一个:所述自动导航设备位于当前导航地图和目标导航地图的公共区域内或相邻的边界上;其中,所述当前导航地图为所述自动导航设备在所述当前导航模式下使用的地图,所述目标导航地图为所述自动导航设备在所述目标导航模式下使用的地图;所述自动导航设备当前所处的环境与所述当前导航模式不匹配,且与所述目标导航模式匹配。
19.很多自动导航方式都需要导航地图提供支持,在两张导航地图的非公共区域内,自动导航设备只能按照一种模式进行导航,而在两张地图的公共区域内,自动导航设备可以按照任意一种模式进行导航,从而在理论上能够满足切换导航模式的基本要求。在导航地图的公共区域内,及时地切换导航模式,使得自动导航设备可以支持跨导航地图的作业。
20.对于两张导航地图没有公共区域,但边界相邻的情况,可以类似分析。
21.不同的导航模式都有与其匹配的环境,即自动导航设备处于该环境下时,相应的导航模式才能够实施或者才能够比较好地实施。而自动导航设备所处的环境很可能会发生变换,一方面是环境自身会变换(例如,光照条件会随时间改变),另一方面自动导航设备的运动也可能导致周围环境的变换。从而,在环境变化时,及时地改变导航模式,使得自动导航设备可以长时间保持良好的工作状态。
22.在第一方面的一种实现方式中,所述自动导航设备位于当前导航地图和目标导航地图的公共区域内或相邻的边界上,包括:所述自动导航设备位于对接点,所述对接点为所述当前导航地图和所述目标导航地图的公共区域内或相邻的边界上的指定地点。
23.在很多导航模式下,自动导航设备都不能完全自由地移动,而只能沿预定的路径移动至导航地图中的某些节点处进行停留,从而也并不能在地图公共区域内的任意位置切换导航模式。在上述实现方式中,仅在对接点处才允许自动导航设备进行导航模式的切换,这样的设置一方面是某些导航模式的特点所决定的,另一方面也是某些业务场景所决定的。对接点的位置在导航地图上被精确地标注,也便于基于对接点进行路径规划。
24.在第一方面的一种实现方式中,所述对接点包括所述自动导航设备的工作站点。
25.在工作站点处自动导航设备可以进行停留并执行一些与业务相关的操作,例如,装货、卸货、理货等。在工作站点处还可以配备人员、设备,以辅助自动导航设备完成这些操作。而自动导航设备在切换导航模式时往往也需要进行停留,从而可以通过将工作站点设置为对接点,将这两类停留统一起来,提高自动导航设备的工作效率。
26.在第一方面的一种实现方式中,在所述控制自动导航设备从当前导航模式切换至目标导航模式之后,所述方法还包括:根据在所述目标导航模式下计算出的位姿信息规划所述自动导航设备向目标地点移动的路径,并控制所述自动导航设备沿规划出的路径向所述目标地点移动。
27.自动导航设备在切换导航模式成功后,即可按照目标导航模式下计算出的位姿信息进行路径规划,进而实现自动导航,以完成上游交付的目标任务。
28.在第一方面的一种实现方式中,所述自动导航设备支持的导航模式包括:二维码导航模式以及至少一种同步定位与地图构建slam导航模式,或者,至少两种slam导航模式;其中,所述slam导航模式包括:激光slam、视觉slam以及激光结合视觉slam;在所述二维码导航模式下,所述自动导航设备接收二维码识别单元采集到的二维码数据,并根据所述二维码数据计算所述位姿信息;在所述slam导航模式下,所述自动导航设备接收激光雷达采集到的雷达数据和/或摄像头采集到的图像数据,并根据所述雷达数据和/或所述图像数据计算所述位姿信息。
29.自动导航设备采用二维码导航,具有定位精度高、位姿计算容易、移动速度快等优点,但缺点是环境布置(布置二维码)的工作量较大;自动导航设备采用slam导航,具有环境布置的工作量较小、路径规划灵活等优点,但缺点是定位精度易受环境影响、位姿计算实时性较差、移动速度相对较慢。
30.进一步的,slam导航也可以细分为几种不同的方式,分别是激光slam、视觉slam以及激光结合视觉slam。激光slam更适于静态且简单的环境,视觉slam更适于较大尺度且动态的环境,另外在光线较差的环境中,视觉slam的表现也不如激光slam,激光结合视觉slam结合了二者的优点,但硬件成本较高。
31.在上述实现方式中,由于调度系统可控制自动导航设备在二维码导航模式和slam导航模式之间,或者不同的slam导航模式之间进行切换,从而有利于这些导航方式取长补短,达到更优的导航效果,满足用户的实际需求。
32.在第一方面的一种实现方式中,所述自动导航设备支持二维码导航模式,所述当前导航地图或所述目标导航地图为二维码导航地图;所述对接点包括所述二维码导航地图中位于所述公共区域内或所述相邻的边界上的二维码点,所述自动导航设备根据二维码识别单元采集到的二维码数据判断自身是否处于所述二维码点;所述方法还包括:若所述自动导航设备因未处于所述二维码点而不满足所述第二模式切换条件,则控制所述自动导航设备向作为所述二维码点移动。
33.由于二维码导航地图是网格状的,二维码点在二维码导航地图中的位置容易被精确地计算(网格顶点),并且自动导航设备也可以在二维码点处进行停留,因此可从二维码点中选择对接点。此外,若自动导航设备接收到导航模式切换指令,但当前不在二维码点处或者所在的二维码点并不是作为对接点的二维码点,则第二模式切换条件无法满足,需要先移动到作为对接点的二维码点处再进行导航模式的切换。
34.在第一方面的一种实现方式中,所述自动导航设备支持slam导航模式,所述当前导航地图和/或所述目标导航地图为slam导航地图;所述slam导航地图中的对接点根据被移动至所述对接点处的所述自动导航设备上传给调度系统的位姿信息标记得到。
35.由于slam导航地图并不具有二维码导航地图中的网格结构,所以不同于二维码点,在slam导航地图中难以直接标记出对接点精确的位置。在上述实现方式中,先将自动导航设备移动至欲标记的对接点处(例如,某个二维码点处),然后调度系统根据其上报的位姿信息来自动标记该对接点在slam导航地图中的位置,可以得到精确的标记结果。
36.第二方面,本技术实施例提供一种导航系统,包括:主控模块以及至少两个位姿计算模块;其中,所述主控模块用于接收并响应导航模式切换指令,控制自动导航设备执行导航模式的切换,所述导航模式的切换包括:将计算所述自动导航设备的位姿信息的模块从所述至少两个位姿计算模块中的当前位姿计算模块切换为目标位姿计算模块,所述当前位姿计算模块和所述目标位姿计算模块分别使用当前传感器数据和目标传感器数据计算位姿信息,所述当前传感器数据和所述目标传感器数据分别为所述自动导航设备在当前导航模式和待切换的目标导航模式下使用的传感器所采集的数据。
37.上述系统中的自动导航设备支持多种导航模式,并可在外部指令的控制下动态地进行导航模式的切换,因此使用该系统有助于自动导航设备充分发挥各种导航方式的优势,自动适应各种环境场景,从而拓宽了自动导航设备的应用场景。需要指出,导航模式的切换至少包括位姿信息计算方式的切换,还有可能包括其他方面的切换。在自动导航的过程中,计算出的位姿信息可用于对自动导航设备进行定位、姿态校正等。
38.此外,上述系统的功能是模块化的,这些模块可以理解为软件和/或硬件模块,模块化的设计有利于降低系统功能之间的耦合度,促进功能的重用。
39.在第二方面的一种实现方式中,所述主控模块用于控制所述当前位姿计算模块中止运行,以及,控制所述目标位姿计算模块启动运行,以使计算所述自动导航设备的位姿信息的模块从所述当前位姿计算模块切换为所述目标位姿计算模块。
40.在上述实现方式中,虽然支持了多模式导航,但某个特定时刻只有一个位姿计算
模块处于运行状态,从而有利于避免计算资源浪费以及降低系统功耗。
41.在第二方面的一种实现方式中,所述导航模式的切换还包括:将所述自动导航设备使用的地图从当前导航地图切换为目标导航地图;其中,所述当前导航地图和所述目标导航地图分别为所述自动导航设备在所述当前导航模式和所述目标导航模式下使用的地图。
42.自动导航需要导航地图提供支持,在不同的导航模式下,可以使用不同的导航地图,这些导航地图的特点与导航模式是适配的,从而在进行导航模式切换时,也应进行导航地图的切换。
43.在第二方面的一种实现方式中,所述主控模块用于接收并响应所述导航模式切换指令,判断所述自动导航设备是否满足第二模式切换条件,并在所述自动导航设备满足所述第二模式切换条件时,控制所述自动导航设备从执行所述导航模式的切换。
44.在上述实现方式中,主控模块在控制自动导航设备切换导航模式之前,先判断第二模式切换条件是否满足,以确保导航模式的切换时机是适当的。在第二方面的一种实现方式中,所述导航系统还包括:运动控制模块,用于根据所述目标位姿计算模块计算出的位姿信息规划所述自动导航设备向目标地点移动的路径,并控制所述自动导航设备沿规划出的路径向所述目标地点移动;所述主控模块还用于向所述运动控制模块发送所述目标地点的位置信息。
45.在上述实现方式中,自动导航设备在切换导航模式成功后,运动控制模块即可按照目标位姿计算模块计算出的位姿信息进行路径规划,进而实现自动导航,以完成上游交付的目标任务。
46.在第二方面的一种实现方式中,所述导航系统还包括:数据处理模块,用于对传感器采集的数据进行预处理,并向相应的位姿计算模块发送处理后的数据。
47.在上述实现方式中,数据处理模块起到数据驱动的作用,先将硬件采集的数据处理为合适的形式,在发送给位姿计算模块用于位姿信息的计算。
48.第三方面,本技术实施例提供一种自动导航设备,包括存储器、处理器以及传感器,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器读取并运行时,执行第一方面或第一方面的任意一种可能的实现方式提供的方法。
49.第四方面,本技术实施例提供一种自动导航设备,安装有第二方面或第二方面的任意一种可能的实现方式提供的导航系统。
50.第五方面,本技术实施例提供一种货物搬运系统,包括:服务器,用于对自动导航设备进行调度;自动导航设备,用于基于自动导航进行货物搬运,所述自动导航设备执行第一方面或第一方面的任意一种可能的实现方式提供的方法。
51.第六方面,本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器读取并运行时,执行第一方面或这第一方面的任意一种可能的实现方式提供的方法。
附图说明
52.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看
作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
53.图1示出了本技术实施例提供的导航方法可采用的一种系统架构方式;
54.图2示出了本技术实施例提供的自动导航设备的一种可能的结构;
55.图3示出了本技术实施例提供的导航方法的一种可能的流程;
56.图4示出了本技术实施例提供的导航方法中可使用的二维码导航地图;
57.图5示出了本技术实施例提供的导航方法中可使用的slam导航地图;
58.图6示出了本技术实施例提供的一种导航系统的可能的结构。
具体实施方式
59.随着物联网、人工智能、大数据等智能化技术的发展,利用这些智能化技术对传统物流业进行转型升级的需求愈加强劲,智慧物流(intelligent logistics system,简称ils)成为物流领域的研究热点。智慧物流利用人工智能、大数据以及各种信息传感器、射频识别技术、全球定位系统(global positioning system,简称gps)等物联网装置和技术,广泛应用于物料的运输、仓储、配送、包装、装卸和信息服务等基本活动环节,实现物料管理过程的智能化分析决策、自动化运作和高效率优化管理。物联网技术包括传感设备、射频识别(radio frequency identification,简称rfid)、激光红外扫描、红外感应识别等,物联网能够将物流中的物料与网络实现有效连接,并可实时监控物料,还可感知仓库的湿度、温度等环境数据,保障物料的储存环境。通过大数据技术可感知、采集物流中所有数据,上传至信息平台数据层,对数据进行过滤、挖掘、分析等作业,最终对业务流程(如运输、入库、存取、拣选、包装、分拣、出库、盘点、配送等环节)提供精准的数据支持。人工智能在物流中的应用方向可以大致分为两种:
60.(1)以人工智能(artificial intelligence

简称ai)技术赋能的如无人卡车、agv、自主移动机器人(autonomous mobile robots,简称amr)、叉车、穿梭车、堆垛机、无人配送车、无人机、服务机器人、机械臂、智能终端等智能设备代替部分人工。
61.(2)通过计算机视觉、机器学习、运筹优化等技术或算法驱动的如运输设备管理系统、仓储管理、设备调度系统、订单分配系统等软件系统提高人工效率。随着智慧物流的研究和进步,该项技术在众多领域展开了应用,例如零售及电商、电子产品、烟草、医药、工业制造、鞋服、纺织、食品等领域。
62.本技术实施例提出的自动导航方案也可视为人工智能在物流领域的一种应用,当然该方法的应用场景并不限于物流领域。
63.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
64.术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
65.术语“第一”、“第二”等仅用于将一个实体或者操作与另一个实体或操作区分开来,而不能理解为指示或暗示相对重要性,也不能理解为要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
66.图1示出了本技术实施例提供的导航方法可采用的一种系统架构方式。参照图1,该架构至少包括:自动导航设备110、调度系统120、业务系统130以及客户端140,这些组件相互之间可能具有的数据交互关系如图1中箭头所示。下面分别介绍各个组件:
67.自动导航设备110泛指具有自动导航能力的设备,例如,可以是agv、amr、无人机、无人船等设备,在后文中主要以地面设备为例。在该架构中,自动导航设备110可以为一台或多台。
68.图2示出了自动导航设备110的一种可能的结构。参照图2,自动导航设备110包括:处理器111、存储器112、传感器113、执行机构114、以及通信接口115,这些组件通过通信总线116和/或其他形式的连接机构(未示出)互连并相互通讯。
69.其中,处理器111包括一个或多个,其可以是一种集成电路芯片,具有信号的处理能力。上述的处理器111可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、微控制单元(micro controller unit,简称mcu)、网络处理器(network processor,简称np)或者其他常规处理器;还可以是专用处理器,包括图形处理器(graphics processing unit,gpu)、神经网络处理器(neural

network processing unit,简称npu)、数字信号处理器(digital signal processor,简称dsp)、专用集成电路(application specific integrated circuits,简称asic)、现场可编程门阵列(field programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。并且,在处理器111为多个时,其中的一部分可以是通用处理器,另一部分可以是专用处理器。
70.存储器112包括一个或多个,其可以是随机存取存储器(random access memory,简称ram)、只读存储器(read only memory,简称rom)、可编程只读存储器(programmable read

only memory,简称prom)、可擦除可编程只读存储器(erasable programmable read

only memory,简称eprom)、电可擦除可编程只读存储器(electric erasable programmable read

only memory,简称eeprom)等。存储器112中可以存储数据和/或计算机程序指令。
71.处理器111以及其他可能的组件可对存储器112进行访问,读和/或写其中的数据和/或指令。例如,在存储器112中可以存储一个或多个计算机程序指令,处理器111可以读取并运行这些计算机程序指令,以实现本技术实施例提供的导航方法。
72.传感器113包括一个或多个(图中仅示出一个),传感器113用于采集自动导航设备110导航所需的数据,具体要设置哪些传感器取决于自动导航设备110所支持的导航模式。例如,若要支持二维码导航,传感器113至少应包括二维码识别单元,还可以包括惯性测量单元(inertial measurement unit,简称imu)、里程计(odometry,简称odom)等;若要支持slam导航,传感器113至少应包括激光雷达(对应激光slam)和/或摄像头(对应视觉slam),还可以包括imu、odom等。关于二维码导航和slam导航,稍后会进行介绍。
73.执行机构114包括一个或多个,执行机构114用于驱动自动导航设备进行位置移动和/或姿态调整,执行机构114可以是自动导航设备110的电机。
74.处理器111可对传感器113采集的数据进行融合,以计算出自动导航设备110的位姿信息,然后根据得到的位姿信息向执行机构114发出相应的控制信号,以使自动导航设备110按照预期的方式移动。
75.通信接口115包括一个或多个,用于和其他设备(例如,安装有调度系统120的服务器等)进行直接或间接地通信,以便进行必要的数据交互。通信接口115可以包括有线和/或无线通信的接口。
76.可以理解,图2所示的结构仅为示意,自动导航设备110还可以包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。图2中所示的各组件可以采用硬件、软件或其组合实现。
77.自动导航存在不同的导航模式,每种模式下自动导航设备对自身的定位方式不同,并且可能使用不同的导航地图。可能的导航模式包括二维码导航模式、slam导航模式(若划分的细一些,slam导航模式可以进一步包括激光slam、视觉slam以及激光结合视觉slam)、惯性导航模式等,在后文中主要以二维码和slam两类导航模式为例进行阐述,下面先以自动导航设备在仓库中导航的情况为例,简单介绍这两种导航模式。
78.(1)二维码导航模式
79.先在仓库地面上等间距地铺设二维码,自动导航设备上安装有二维码识别单元并存储二维码导航地图。自动导航设备可沿二维码导航地图中的直线(包含折线)路径移动,移动过程中至少通过二维码识别单元扫描地面上的二维码对自身进行定位。二维码导航具有定位精度高、位姿计算容易、自动导航设备移动速度快等优点,但缺点是环境布置(铺设二维码)的工作量较大,并且在有些环境中也不方便铺设二维码。
80.(2)slam导航模式
81.slam导航模式是一个统称,其至少包含激光slam、视觉slam以及激光结合视觉slam三种具体的导航模式,支持slam导航模式的自动导航设备上安装有激光雷达和/或摄像头。具体地,若安装有激光雷达则可以采用激光slam进行导航,若安装有摄像头则可以采用视觉slam进行导航,若同时安装有激光雷达和摄像头可以采用激光结合视觉slam的方式进行导航(当然此时也可以只采用激光slam或视觉slam进行导航)。后文在提到slam导航模式时,若未特别声明,可以指上述三种具体模式中的任意一种。
82.实际部署前自动导航设备先在仓库中运行一遍,通过激光雷达和/或摄像头探测障碍物的分布情况,进而构建slam导航地图并存储,实际部署后,自动导航设备可沿slam导航地图中的曲线(包含直线)路径移动,移动过程中通过激光雷达和/或摄像头探测附近障碍物的位置,以实现对自身进行定位。相较于二维码导航,slam导航环境布置的工作量小,并且在路径的规划上也更加灵活,但其定位精度易受外界环境影响(例如,环境中存在不确定光源、或环境中的事物十分相似时,自动导航设备容易定位失败),并且slam导航由于依靠激光雷达和/或摄像头获取环境中的点云数据计算自动导航设备位姿,因此其计算量比采用二维码方式大很多,位姿计算的实时性较差,从而自动导航设备的移动速度也相对较慢,不能满足某些业务场景的需求。
83.下面再对几种不同的slam导航模式进行简单地比较:
84.激光slam比较擅长在静态且简单的环境中进行定位,例如仓库中的无人工作区,该工作区内只有货架和自动导航设备。然而,激光slam不擅长在动态环境中的定位,例如仓
库中的有人工作区,可能存在大量人员遮挡其测量的环境,激光slam也不擅长在类似的几何环境中定位,例如在一个又长又直、且两侧是墙壁的通道。由于重定位能力较差,激光slam在追踪丢失后很难重新回到工作状态。
85.相对地,视觉slam在动态环境中表现较好,但视觉slam要求工作环境中存在丰富的纹理,一旦处于无纹理或弱纹理环境时,例如,大片白色的墙壁附近,视觉slam表现不佳。另外,由于视觉slam依赖于摄像头采集的图像进行定位,因此在环境中光照较弱时,其性能显著下降,激光slam则可应用于弱光环境。
86.激光结合视觉slam融合了激光slam和视觉slam各自的有点,一般而言,其定位性能优于单纯的激光slam或视觉slam。但激光结合视觉slam需要更多的传感器支持,因此硬件成本比单纯的激光slam或视觉slam更高,同时定位算法也更复杂。
87.在本技术的方案中,自动导航设备110在硬件上实现了对多种导航模式的支持,例如,自动导航设备110设备上同时安装有二维码识别单元和激光雷达(还可能安装其他传感器,如imu、odom),从而可以支持二维码导航模式和激光slam导航模式。又例如,自动导航设备110设备上同时安装有二维码识别单元和摄像头,从而可以支持二维码导航模式和视觉slam导航模式。又例如,自动导航设备110上同时安装有惯性导航单元和二维码识别单元,从而可以支持惯性导航模式和二维码导航模式。又例如,自动导航设备110上同时安装有激光雷达和摄像头,从而可以支持激光slam导航模式和视觉slam导航模式。又例如,自动导航设备110上同时安装有二维码识别单元、激光雷达和摄像头,从而可以支持二维码导航模式、激光slam导航模式、视觉slam导航模式以及激光结合视觉slam导航模式。
88.当然,在本技术的方案中,自动导航设备110并不只是简单地集成多种导航模式所使用的硬件,更为关键的是支持动态的导航模式切换,即在自动导航设备110运行的过程中改变其所使用的导航模式,而并非是在设备关机后将其设定为另一种导航模式。
89.调度系统120用于对自动导航设备110进行调度,所谓调度,可以指向自动导航设备110下发特定的指令以控制自动导航设备110执行相应的行为,这样的指令可以是切换导航模式的指令、按指定路线移动的指令、进行充电的指令,等等。一个调度系统120可以支持同时对多台自动导航设备110进行调度。应当理解,调度系统120也可以接收自动导航设备110上传的状态信息或者其他数据。调度系统120可以部署在服务器上,自动导航设备110以及调度系统120可以合称为自动导航系统。
90.注意,这里所说的服务器不限于单台服务器,也可以是多台服务器的组合或者大量服务器构成的集群,并且也不限于物理服务器,也可以是虚拟服务器。此外,还需要指出,在本技术的方案中,服务器应理解为安装有服务器端软件(例如,调度系统120等),从而能够对外提供服务的任意设备,而不应只理解为专门作为服务器的设备,例如,pc机在安装有服务器端软件时,也可以作为上述服务器。
91.可以理解的,调度系统120并非是必须的,自动导航设备110也可能接受其他系统或者设备的控制,或者,用户也可能直接在自动导航设备110上进行操作,以下达相应的指令。
92.业务系统130是调度系统的上层系统,业务系统130可以将业务需求发送给调度系统120,由调度系统120通过调度以实现相应的业务。在一些实现方式中,业务系统130也可以向调度系统120下发一些指令,以实现对调度过程的上层控制,这样的指令可以是切换导
航模式的指令,等等。业务系统130和调度系统120可以部署在同一服务器上,也可以部署在不同的服务器上,若二者部署在同一服务器上,也不排除将二者实现为同一个系统中的两个功能模块。可以理解的,并非所有的场景下都需要实现业务系统130,例如,也可以由用户直接或者通过客户端140在调度系统120上配置需要完成的任务。
93.客户端140是指调度系统120的客户端,用户可以通过客户端140对调度系统120进行访问,或者向调度系统120下发一些指令,以实现对调度过程的手动控制,这样的指令可以是切换导航模式的指令,等等。客户端140可以是用户终端上安装的专门软件,也可以是用户终端上安装的通用浏览器,浏览器可以对调度系统的前端页面进行访问。可以理解的,不排除在某些实现方式中,调度系统120只在服务器本地提供可视化的界面供用户访问,此种方式不需要实现客户端140。
94.图3示出了本技术实施例提供的导航方法的一种可能的流程,该方法可以但不限于由自动导航设备(例如,图2中的自动导航设备110)执行。参照图3,该方法包括:
95.步骤s210:接收导航模式切换指令。
96.不妨将自动导航设备接收到导航模式切换指令时所处于的导航模式称为当前导航模式,导航模式切换指令用于指示自动导航设备进行导航模式的切换,要切换成的导航模式称为目标导航模式。
97.对于模式切换指令,可以在指令中包含有关目标导航模式的信息,从而自动导航设备可以根据指令切换为目标导航模式;或者,也可以不包含目标导航模式的信息,例如自动导航设备只支持两种导航模式,只能在这两种导航模式之间来回切换,导航模式切换指令只需起到触发切换的作用即可。
98.步骤s210并不限定导航模式切换指令的来源。例如,导航模式切换指令可以由调度系统下发给自动导航设备;又例如,导航模式切换指令也可能来自其他系统或者设备;又例如,用户也可能直接在自动导航设备上进行操作,以下达导航模式切换指令。
99.对于导航模式切换指令通过调度系统下发的情况,调度系统如何得到导航模式切换指令,也存在不同的可能性。例如,调度系统根据自身收集到的信息(比如,自动导航设备的位姿信息,详见后文阐述)判断出自动导航设备可以进行导航模式切换,就生成导航模式切换指令并下发;又例如,业务系统根据业务逻辑判断出自动导航设备需要切换导航模式,就向调度系统下发导航模式切换指令;又例如,用户在系统调试阶段,可以通过客户端向调度系统手动下发导航模式切换指令,等等。
100.步骤s220:响应导航模式切换指令,控制自动导航设备执行导航模式的切换。
101.导航模式的切换泛指一切与导航模式变化(从当前导航模式到待切换的目标当行模式)相关的适应性变更,其至少包括:将计算自动导航设备的位姿信息的方式从根据当前传感器数据计算切换为根据目标传感器数据计算。当然还有可能包括其他必要的切换,例如导航地图的切换等,详见后文阐述。
102.上述的当前传感器数据是指自动导航设备在当前导航模式下使用的传感器所采集的数据,目标传感器数据是指自动导航设备在目标导航模式下使用的传感器所采集的数据。
103.位姿信息是自动导航设备的位置信息和姿态信息的简称,其中位置信息至少可用于定位自动导航装置,姿态信息至少可用于校正自动导航装置的姿态(如朝向等),因此位
姿信息的计算是实现自动导航所不可或缺的。
104.在不同的导航模式下,自动导航设备计算位姿信息所使用的传感器可能不同,自然计算位姿信息的方式也可能不同。
105.例如,当前导航模式是二维码导航模式,目标导航模式是slam导航模式(反过来也类似)。
106.在二维码导航模式下,自动导航设备可以根据二维码数据(二维码识别单元采集)、imu数据(imu采集)以及odom数据(odom采集)中的至少一种来计算自身的位姿信息(至少应包括二维码数据,否则难以体现二维码导航的特点),计算方式可以是扩展卡尔曼滤波(extended kalman filter,简称ekf)等。由于二维码导航是一种二维平面中的导航方式,所以计算出的位姿信息可以是二维位姿信息,可以表示为{x,y,θ
z
},x和y代表自动导航设备的坐标,θ
z
代表自动导航设备和指定方向(如正北)的夹角,如图6所示。其中,二维码数据、imu数据以及odom数据中的至少一种数据即为当前传感器数据。
107.在slam导航模式下,自动导航设备可以根据激光雷达数据(激光雷达采集)、摄像头数据(摄像头采集)、imu数据(imu采集)以及odom数据(odom采集)中的至少一种来计算自身的位姿信息(至少应包括雷达数据和/或摄像头数据,否则难以体现slam导航的特点),计算方式可以是无迹卡尔曼滤波(unscented kalman filter,简称ukf)等。由于slam导航是一种三维空间中的导航方式,所以计算出的位姿信息可以是三维位姿信息,可以表示为{x,y,θ
x
,θ
y
,θ
z
},x和y代表自动导航设备的坐标,θ
x
、θ
y
和θ
z
代表自动导航设备的方向角,如图6所示。其中,激光雷达数据、摄像头数据、imu数据以及odom数据中的至少一种数据即为目标传感器数据。可以理解的,目标传感器数据和当前传感器数据在来源上也可能存在一定的重叠,例如上面的imu数据和odom数据。
108.切换位姿信息的计算方式存在不同的做法:
109.方式1:开启目标导航模式对应的至少部分传感器,并关闭当前导航模式对应的至少部分传感器。切换前根据当前导航模式对应的传感器计算自动导航设备的位姿信息,切换后根据目标导航模式对应的传感器计算自动导航设备的位姿信息。其中,某种导航模式对应的传感器可以理解在该导航模式下计算位姿信息所使用的传感器。
110.方式1可以这样理解:将那些在当前导航模式下已经开启的、但在目标导航模式下不使用传感器关闭,而将那些在目标导航模式下要使用的、但在当前导航模式下尚未开启的传感器开启,以便支持目标导航模式下的位姿信息计算。
111.需要指出,方式1中之所以不是开启目标导航模式对应的全部传感器,并关闭当前导航模式对应的全部传感器,是因为当前导航模式和目标导航模式可能共享部分传感器(比如,imu、odom中的至少一种),共享的传感器在两种导航模式下计算位姿信息时都会使用,从而在自动导航设备导航的过程中,这些传感器可以持续保持开启状态,不受导航模式切换的影响。
112.例如,从二维码导航模式切换到slam导航模式,可以关闭二维码识别单元,开启激光雷达,而imu和odom由于是两种导航模式所共享的,所以可以总是保持开启状态,不受导航模式切换的影响,这样就实现了从根据二维码数据、imu数据以及odom数据计算自动导航设备的位姿信息,切换为根据激光雷达数据、imu数据以及odom数据计算自动导航设备的位姿信息。
113.总结方式1,在不同的导航模式下,计算位姿信息所需的传感器数据是不同的。从而,在当前导航模式下要使用的部分或全部的传感器,在目标导航模式下未必会使用,反过来,在目标导航模式下要使用的部分或全部的传感器,在当前导航模式下未必会使用。在切换导航模式时将暂不使用的传感器关闭,有利于节约自动导航设备的功耗。
114.方式2:当前导航模式对应的传感器以及目标导航模式对应的传感器总是保持开启状态,但切换后从根据当前导航模式对应的传感器计算自动导航设备的位姿信息,转变为根据目标导航模式对应的传感器计算自动导航设备的位姿信息,即当前导航模式对应的传感器采集到的数据在切换后不再使用。
115.例如,从二维码导航模式切换到slam导航模式,二维码识别单元和激光雷达可以总是保持开启状态,但切换后从根据二维码数据、imu数据以及odom数据计算自动导航设备的位姿信息,转变为根据激光雷达数据、imu数据以及odom数据计算自动导航设备的位姿信息,即二维码识别单元采集到的数据在切换后不再使用。
116.方式3:当前导航模式对应的传感器以及目标导航模式对应的传感器总是保持开启状态,且总是既根据当前导航模式对应的传感器计算自动导航设备的位姿信息,又根据目标导航模式对应的传感器计算自动导航设备的位姿信息,但根据当前导航模式对应的传感器计算出的位姿信息在切换后不再使用。
117.例如,从二维码导航模式切换到slam导航模式,二维码识别单元和激光雷达可以总是保持开启状态,并且总是既根据二维码数据、imu数据以及odom数据计算自动导航设备的位姿信息,又根据激光雷达数据、imu数据以及odom数据计算自动导航设备的位姿信息,但切换后根据二维码数据计算出的位姿信息不再使用。
118.从方式1到方式3,切换逻辑逐渐简化,但自动导航设备对计算资源的消耗以及设备功耗逐渐增加。
119.在导航模式切换完成后,自动导航设备可按照目标导航模式下计算出的位姿信息规划向目标地点移动的路径,并控制自身沿规划出的路径向目标地点移动,以完成上游(例如,调度系统)交付的目标任务。
120.其中,目标地点泛指自动导航设备想要移动到的一个位置:例如,目标地点可以指一个任务的终点(比如任务是自动导航设备将货物从a点运输到b点,b点就是终点);又例如,目标地点可以指一个任务的中间点(比如,任务是自动导航设备将货物从a点经c点运输到b点,c点就是中间点)。自动导航设备根据位姿信息可以得到自身的位置和姿态,再结合目标地点的位置,即可以进行路径规划。目标地点的位置可以由上游下发给自动导航设备。
121.这里的路径规划有两种可能的含义,其中一种是完全由自动导航设备自己规划一条从当前所在的位置移动至目标地点路径,另一种是自动导航设备参照上游下发给它的、已经规划好的路径规划一条从当前所在的位置移动至目标地点路径。可以理解的,在导航模式切换后,自动导航设备规划路径的方式也会改变,例如,在二维码导航模式下,自动导航设备只能规划直线路径,在slam导航模式下,自动导航导航设备则可以规划曲线路径。
122.需要指出,计算位姿信息并规划路径的步骤在自动导航设备移动的过程中可能会反复执行,但每次执行的过程都是类似的。
123.综上所述,在本技术实施例提供的导航方法中,自动导航设备支持多种导航模式,并可在外部指令的控制下动态地进行导航模式的切换,无需进行设备重启,因此该方法有
助于自动导航设备充分发挥各种导航方式的优势,自动适应各种环境场景,从而拓宽了自动导航设备的应用场景。
124.例如,仓库的a区域是无人区,对自动导航设备的移动速度要求较高,可采用二维码导航,二维码导航地图覆盖a区域,仓库的b区域是有人区,希望自动导航设备的移动路径更加灵活,以便避开行人,可采用slam导航,调度系统可以在自动导航设备位于a区域和b区域的边界处时,向其下发导航模式切换指令,控制其从二维码导航模式动态地切换为slam导航模式,或者从slam导航模式动态地切换为二维码导航模式,以支持跨区域的货物搬运任务。在这个例子中,二维码导航方式和slam导航方式得以相互取长补短,很好地满足了用户的实际需求。
125.很多自动导航方案都需要导航地图提供支持,在不同的导航模式下,可能会使用不同的导航地图,这些导航地图的特点与导航模式是适配的,下面分别以二维码导航模式和slam导航模式为例进行介绍。
126.图4示出了一个二维码导航地图的示例。参照图4,每个细线方格的顶点表示一个二维码点,对应地面上铺设有二维码的位置,二维码点之间的连线表示自动导航设备在地图中可能采用的移动路径(自动导航设备的实际移动路径是地图中这些可能的路径之一),每个粗线方格表示一台自动导航设备的位置,插头表示可供自动导航设备充电的位置(带
×
的插头表示该充电位置已经失效),最右侧的两个深色方框表示对接点,关于对接点的含义,稍后再阐述。
127.图5示出了一个slam导航地图的示例。参照图5,外层黑色不规则的痕迹表示实际环境中的障碍物(这里的“实际环境”应理解为自动导航设备实际要部署的环境,例如仓库,后文中会多次出现这一概念,不再重复解释)。中间的曲线表示自动导航设备在地图中可能采用的移动路径(带
×
的曲线表示该路径已经失效,自动导航设备的实际移动路径是地图中这些可能的路径之一),曲线上有一些黑点表示可供自动导航设备停留的节点(在二维码导航地图中,二维码点可视为节点),插头表示可供自动导航设备充电的位置,下方一个倾斜的深色方框表示一台自动导航设备,左侧两个深色方框表示对接点,和二维码导航地图中的两个对接点相对应。
128.通过图4和图5不难看出,不同导航模式下使用的导航地图在形式上可能存在很大区别,因此在一些实现方式中,导航模式的切换还可以包括导航地图的切换。即,将自动导航设备使用的地图从当前导航地图切换为目标导航地图;其中,当前导航地图是指自动导航设备在当前导航模式下使用的地图,目标导航地图是指自动导航设备在待切换的目标导航模式下使用的地图。
129.例如,自动导航设备支持二维码导航模式和slam导航模式,若当前导航模式是二维码导航模式,目标导航模式是slam导航模式,则当前导航地图是二维码导航地图,目标导航地图是slam导航地图,导航模式切换后,自动导航设备使用slam导航地图进行导航,不再使用二维码导航地图进行导航。
130.又例如,自动导航设备支持激光slam导航模式和视觉slam导航模式,若当前导模式为激光slam导航模式,目标导航模式为视觉slam导航模式,则当前导航地图为激光slam导航地图,目标导航地图为视觉slam导航地图。导航模式切换后,自动导航设备使用视觉slam导航地图进行导航,不再使用激光slam导航地图进行导航。
131.可以理解的,若某些形式的导航地图支持在多种导航模式下使用,切换导航地图的步骤也可以不执行。
132.在自动导航设备开始执行任务之前,需要保证设备中已经存储有所要使用的导航地图。例如,导航地图可以在调度系统上编辑好后下发给自动导航设备,这里所说的“下发”,既可以是调度系统主动推送,也可以是自动导航设备主动拉取。应当理解,还可以通过其他方式将导航地图传输给自动导航设备,如通过存储介质(u盘、移动硬盘等)拷贝。
133.在一些实现方式中,自动导航设备需先在调度系统上注册,然后才能接受调度系统的控制,在设备注册时,调度系统可以比较自动导航设备上存储的地图版本与调度系统上存储的地图版本(也可以由自动导航设备进行版本比较),若调度系统上存储的地图较新(或者自动导航设备上还没有存储地图),则将其下发给自动导航设备,替代自动导航设备上原有的导航地图。
134.进一步的,在一些实现方式中,调度系统可以先根据地图编辑界面上的编辑操作生成导航地图,然后再将导航地图下发给自动导航设备。地图编辑界面可以是客户端界面的一部分,也可以是调度系统提供的前端页面,该页面可被客户端所访问,等等。在这些实现方式中,提供地图编辑界面有利于结合用户的经验和观察,获得更符合实际环境的地图,从而改善自动导航的准确性。
135.例如,图4中的二维码导航地图可以由用户在地图编辑界面上创建,创建好的空白地图可称为原始二维码导航地图。此后用户可以对原始二维码导航地图进行编辑,比如,根据实际环境中二维码的铺设情况设置二维码点之间的间距,并按照此间距绘制二维码点及二维码点之间的路径,绘制好后可进一步在地图上添加必要的图标,例如插头、自动导航设备、对接点等,最终完成地图编辑,此时得到的地图为可以下发到自动导航设备上使用的二维码导航地图。
136.又例如,对于slam导航方式,先由自动导航设备在实际环境中运行一遍,创建好一个原始的地图,称为原始slam导航地图,原始slam导航地图中包含了实际环境中障碍物的分布情况,如图5中外层黑色不规则的痕迹。该原始slam导航地图最初保存在自动导航设备上,可以先将原始slam导航地图上传到调度系统中,然后再将其导入地图编辑界面,由用户对其进行编辑,比如添加图5中的曲线、对接点、自动导航设备、插头等,最终得到可以下发到自动导航设备上使用的slam导航地图。
137.通过以上的例子不难看出,针对不同类型的导航地图可以采取不同的编辑策略,既可以创建一个全新的地图用于编辑,也可以在一个现有地图的基础上进行编辑。
138.对生成的每张地图,调度系统可以为其分配一个唯一的id,便于对地图进行管理。如果实际环境是一个较大的场景,例如,多层仓库,各层之间通过电梯互通,还可以进一步对地图进行分组,比如将每一层仓库的多张地图分为一组。
139.下面,在以上实施例的基础上,介绍由调度系统对模式切换条件的判断:
140.在一些实现方式中,当自动导航设备还处于当前导航模式下时,会根据在当前导航模式下计算出的位姿信息,并向调度系统发送自动导航设备的位姿信息。
141.调度系统接收到自动导航设备的位姿信息后,进行第一模式切换条件的判断,若判断结果为满足第一模式切换条件,则向自动导航设备发送导航模式切换指令,指示其切换导航模式,若判断结果为不满足第一模式切换条件,则调度系统可以不执行任何动作或
者输出相应的提示提示信息。在自动导航设备移动的过程中,可能会多次发送位姿信息,调度系统每次在接收到自动导航设备的位姿信息都可以进行上述判断。
142.其中,第一模式切换条件包括自动导航设备位于当前导航地图和目标导航地图的公共区域内(后文有时将该区域简称为导航地图的公共区域或者公共区域)。当前导航地图和目标导航地图的公共区域对应实际环境中的同一片区域,调度系统根据自动导航设备的位姿信息可以确定自动导航设备在当前导航地图和目标导航地图中的位置,从而可以判断出自动导航设备是否位于该公共区域内。由于自动导航需要导航地图提供支持,因此在两张导航地图的非公共区域内,自动导航设备只能按照一种模式进行导航,无法进行导航模式切换,而在两张地图的公共区域内,自动导航设备可以按照任意一种模式进行导航,从而在理论上能够支持切换导航模式,因此第一模式切换条件的判断逻辑是合理的。
143.严格来说,调度系统判断自动导航设备是否位于两张地图的公共区域内,可以只使用自动导航设备的位置信息,并不需要自动导航设备的姿态信息。但根据前文内容可知,自动导航设备在进行定位时算出的是位姿信息,从而为简单起见,自动导航设备可以将整个位姿信息都上传给调度系统,无须仅上传位置信息,调度系统收到位姿信息后,将其中的位置信息用于判断自动导航设备是否位于两张地图的公共区域,姿态信息则可以不使用或用于其他用途。当然,不排除在某些实现方式中,自动导航设备会仅将位姿信息中的位置信息上传给调度系统。需要指出的是,第一模式切换条件并不一定只包含自动导航设备位于导航地图的公共区域内这一个条件,还有可能包含其他条件。换句话说,自动导航设备位于导航地图的公共区域内只是导航模式切换的必要条件,但不是充分条件。例如,自动导航设备只在二维码导航地图中执行某个任务,执行任务的过程中刚好要穿过二维码导航地图和slam导航地图的公共区域,显然,此时并不需要切换导航模式。又例如,是否要切换导航模式还可能受到上层业务系统的影响,若业务系统指示调度系统不要进行导航模式的切换,则即使自动导航设备位于导航地图的公共区域内,调度系统也不会指示其切换导航模式。又例如,调度系统根据自动导航设备采集的环境数据确定实际环境中存在大量干扰性光源,不适宜进行slam导航,则可以指示自动导航设备切换为二维码导航模式。在后文中为简单起见,暂时先考虑第一模式切换条件只包含自动导航设备位于导航地图的公共区域内的情况,待整个导航方法的流程阐述清楚后,再介绍其他可能包含的条件。
144.可选的,在第一模式切换条件中,自动导航设备位于导航地图的公共区域内这一条件可以设置得更严格一些,即要求自动导航设备必须位于公共区域内的对接点处,而不能位于公共区域内的任意位置。其中,对接点为公共区域内的指定地点,对接点的数量可以为一个或多个,自动导航设备位于对接点处应理解为恰好位于对接点或者位于对接点附近的一个小范围内。对接点的位置分布不作限定,例如,在设置时可以尽量使对接点分布得均匀一些,让导航地图中各处的自动导航设备都很容易地到达一个距离较近的对接点。
145.设置对接点一方面是某些导航模式的特点所决定的,在这些导航模式中,自动导航设备并不能完全自由地移动,而只能沿预定的路径移动至导航地图中的某些节点(可以参考图4中的直线路径和节点、图5中的曲线路径和节点)进行停留,从而也并不能在公共区域内的任意位置切换导航模式,而只能在某些被设置为对接点的节点位置处进行导航模式切换。另一方面,设置对接点也是某些业务场景所决定的,例如,可以将对接点设置为自动导航设备的工作站点。以货物搬运场景为例,在工作站点处自动导航设备可以进行停留并
执行一些与货物搬运相关的操作,如装货、卸货、理货等。在工作站点处还可以配备人员、设备,以辅助自动导航设备完成这些操作。而自动导航设备在切换导航模式时往往也需要进行停留,从而可以通过将工作站点设置为对接点,将这两类停留时间统一起来,既支持了业务需求,又支持了导航模式切换,从而有利于提高自动导航设备的工作效率。
146.对接点的位置在当前导航地图和目标导航地图上都被精确地标注,便于进行模式切换条件的判断以及基于对接点的路径规划,例如,在图4和图5中,分别标记出了位于二维码导航地图和slam导航地图的公共区域内的两个对接点。
147.在二维码导航模式下,由于二维码在实际环境中等间隔地铺设,所以二维码导航地图是网格状的,二维码点在二维码导航地图中的位置容易被精确地计算(网格顶点),并且自动导航设备也可以在二维码点处进行停留,因此对接点可选择位于公共区域内的二维码点。
148.然而,由于slam导航地图中并没有类似于二维码导航地图那样的网格结构,因此人工难以直接标记出对接点的精确位置,为解决这一问题,可以将自动导航设备移动(可以通过调度系统控制移动也可以人工移动)至欲标记的对接点处(例如,某个被选为对接点的二维码点处),调度系统接收自动导航设备在欲标记的对接点处上报的位姿信息,之后便可根据其中的位置信息自动标记出对接点在slam导航地图中的位置。由于自动导航设备上报的位姿信息是比较精确的,所以这种方式下得到的标记结果也是比较精确的。
149.应当理解,对于导航地图中的其他需要精确标记位置的节点,也可以采用上述自动标记的处理方式。
150.由于调度系统已经进行了模式切换条件的判断,因此自动导航设备在接收到导航模式切换指令以后可以直接进行切换,不再进行任何判断,这样的设计可以简化自动导航设备的内部逻辑,实现高效的导航模式切换。
151.调度系统可以通过自身的调度能力,使得自动导航设备能够在必要的时候进行导航模式的切换。例如,对于导航地图中设置有对接点的情况,调度系统针对跨地图的任务(任务可以由业务系统下发给调度系统,或者可以由用户直接在客户端上配置任务),比如,一个从当前导航地图中的起点将货物运输到目标导航地图中的终点的任务,可以根据任务信息(至少包含起点、终点的位置)先将自动导航设备从起点调度至某个对接点(比如,空闲的对接点),在对接点处控制自动导航设备从当前导航模式切换为目标导航模式,然后再将自动导航设备从对接点调度至终点。
152.上面介绍了调度系统对于模式切换条件的判断,然而,考虑到自动导航设备并不会将所有的信息都同步给调度系统,所以在调度系统认为自动导航设备可以进行导航模式的切换时,自动导航设备未必真的适合进行导航模式切换。例如,从接收到的位置信息上看自动导航设备已经位于地图公共区域内的对接点,调度系统据此认为自动导航设备可以从slam导航模式切换为二维码导航模式,但自动导航设备并没有在该位置扫描到有效的二维码(例如,二维码损坏),此时进行导航模式的切换是不恰当的。
153.为解决这一问题,在一些实现方式中,自动导航设备在接收到导航模式切换指令后,作为导航模式切换指令的响应,还可以进行第二模式切换条件的判断,若满足第二模式切换条件,才执行导航模式切换,若不满足第二模式切换条件,则自动导航设备可以不执行任何动作或者向调度系统反馈当前无法切换导航模式。这样的双重判断有利于确保导航模
式的切换时机是正确、可靠的。
154.其中,第二模式切换条件包括自动导航设备位于当前导航地图和目标导航地图的公共区域这一条件,但也不排除还包括其他条件。即,自动导航设备位于导航地图的公共区域内只是导航模式切换的必要条件,但不是充分条件,是否要切换导航模式还可能受到其他因素的影响,并不完全取决于自动导航设备的位置,例如自动导航设备的剩余电量(电量不足则不切换)。
155.第二模式切换条件和第一模式切换条件的类似之处不再重复阐述,不过需要指出,虽然第二模式切换条件和第一模式切换条件都包括自动导航设备位于公共区域内这一条件,但其可能包含的其他条件则未必与第一模式切换条件相同。特别地,第二模式切换条件中的公共区域也可以进一步限定为对接点。
156.自动导航设备可以在必要的时候对自身进行定位,也可以获得所需的传感器数据,因此足以进行第二模式切换条件的判断。例如,自动导航设备在接收到切换至二维码导航模式的切换指令时,先检测二维码识别单元识别是否能够识别到二维码,如果二维码识别单元能够返回有效的二维码数据,说明其能识别到二维码,表明自动导航设备在二维码导航地图内(也可以通过计算出的位姿信息判断是否在二维码导航地图内),再进一步检测该二维码是否为对接点的二维码,如果是的话才进行导航模式的切换。如果自动导航设备不能识别到二维码,或者识别到的二维码并不是作为对接点的二维码,则可以先移动到作为对接点的二维码点处再进行导航模式的切换。若自动导航设备当前本来就在通往对接点的路径上,直接继续移动就可以了。若自动导航设备当前并不在通往对接点的路径上,可以将不满足第二模式切换条件的情况上报调度系统,由调度系统为其规划一条通往对接点的路径。
157.另外,还需要指出,第一模式切换条件的判断和第二模式切换条件的判断可以是独立的,即使调度系统未进行第一模式切换条件的判断,甚至方案中根本没有实现调度系统,在自动导航设备上都可以进行第二模式切换条件的判断。
158.上面主要介绍的是自动导航设备如何进行导航模式切换,但如果自动导航设备在调度系统的控制下运行,则调度系统在向自动导航设备发送了导航模式切换指令之后,自身也需要适应性地执行一些模式切换操作,以便可以在目标导航模式下,继续对自动导航设备进行调度,不妨称之为调度系统的导航模式切换。
159.可选的,自动导航设备完成导航模式的切换后,可以向调度系统发送反馈消息,告知调度系统自己已经成功切换导航模式,调度系统在接收到反馈消息后,再执行相应的模式切换操作,使得调度系统的模式切换行为和自动导航设备的模式切换行为保持同步。当然,如果导航模式切换失败,自动导航设备同样可以通知调度系统。
160.调度系统进行的模式切换操作可以包括对自动导航设备的调度方式的切换。比如,若自动导航设备从二维码导航模式切换到slam导航模式,切换之前调度系统只能调度自动导航设备沿直线路径移动,切换之后调度系统则应调度自动导航设备沿曲线路径移动。
161.调度系统进行的模式切换操作还可以包括控制地图显示界面上显示的导航地图的切换。地图显示界面是一个支持导航地图显示的界面,便于用户实时查看导航地图。地图显示界面可以是客户端界面的一部分,也可以是调度系统提供的前端页面,该页面可被客
户端所访问,等等。
162.自动导航设备开始执行任务之前,先为其设置好初始的导航模式(可以通过客户端在调度系统上设置),例如,初始时自动导航设备位于二维码导航地图内,就设置成二维码导航模式,位于slam导航地图内,就设置成slam导航模式,然后调度系统可以控制地图显示界面显示初始的导航地图。调度系统向自动导航设备发送模式切换指令之后,控制地图显示界面上显示的当前导航地图切换为目标导航地图,这样用户就能够查看到目前自动导航设备正在使用的地图,从而有利于改善用户体验。
163.进一步的,前文提到,自动导航设备可以将自身的位姿信息发送给调度系统,以便其进行第一模式切换条件的判断。可以理解的,调度系统还可以将该位姿信息用于其他用途,例如,根据该位姿信息在地图显示界面所显示的导航地图上绘制出自动导航设备的位置,便于用户查看。
164.图6示出了本技术实施例提供的导航系统300的一种可能的结构。参照图6,导航系统300至少包括主控模块310以及至少两个位姿计算模块,还有可能包括数据处理模块和/或运动控制模块370,这些模块可以理解为软件和/或硬件模块。
165.其中,位姿计算模块用于根据传感器数据进行自动导航设备的位姿计算,每个位姿计算模块对应一种导航模式,也相应地基于该导航模式下使用的传感器采集的数据进行位姿信息的计算。由于本技术的方案支持多导航模式切换,所以导航系统300中设置有至少两个位姿计算模块。
166.例如,若自动导航设备的硬件支持二维码导航和slam导航,则导航系统300可以包括两个位姿计算模块320,分别是二维码位姿计算模块320和slam位姿计算模块330,如图6所示。其中,二维码位姿计算模块320用于根据自动导航设备在二维码导航模式下使用的传感器采集的二维码数据、imu数据以及odom数据中的至少一种(至少应包括二维码数据,否则难以体现二维码导航的特点)计算自动导航设备的二维位姿信息(图6中的{x,y,θ
z
});slam位姿计算模块330根据自动导航设备在slam导航模式下使用的传感器采集的激光雷达数据、摄像头数据、imu数据以及odom数据中的至少一种(至少应包括雷达数据和/或摄像头数据,否则难以体现slam导航的特点)计算自动导航设备的三维位姿信息(图6中的{x,y,θ
x
,θ
y
,θ
z
})。关于位姿信息的计算,可以参考前文的方法实施例,不再重复阐述。
167.主控模块310用于接收导航模式切换指令,并响应导航模式切换指令,控制自动导航设备进行导航模式的切换。其中,导航模式的切换包括:将计算自动导航设备的位姿信息的模块从至少两个位姿计算模块中的当前位姿计算模块切换为目标位姿计算模块,这里的当前位姿计算模块和目标位姿计算模块分别使用当前传感器数据和目标传感器数据计算位姿信息,当前传感器数据和目标传感器数据分别为自动导航设备在当前导航模式和待切换的目标导航模式下使用的传感器所采集的数据。
168.例如,若自动导航设备从二维码导航模式切换为slam导航模式,则主控模块310会控制计算自动导航设备的位姿信息的模块从二维码位姿计算模块320(当前位姿计算模块)切换为slam位姿计算模块330(目标位姿计算模块)。
169.切换位姿计算模块存在不同的做法,仍然以从二维码导航模式切换到slam导航模式的情况为例(为简单起见,假设各传感器一直处于开启状态,即暂不考虑前文的方式1,虽然方式1在这里也可以采用):
170.方式a:主控模块310控制二维码位姿计算模块320中止运行,以及,控制slam位姿计算模块330启动运行。其中,二维码位姿计算模块320中止运行可以指将二维码位姿计算模块320的内部参数清0,并关闭模块的输入输出;slam位姿计算模块330启动运行可以指初始化slam位姿计算模块330的内部参数(如果之前已经初始化过参数,例如slam位姿计算模块330曾经运行又中止运行的情况,可以不用初始化),并开始向slam位姿计算模块330输入其所需的激光雷达数据、摄像头数据、imu数据以及odom数据中的至少一种数据。
171.主控模块310控制二维码位姿计算模块320中止运行和slam位姿计算模块330启动运行可以通过向两个模块下发控制指令的方式实现。又或者,主控模块310可以只向slam位姿计算模块330下发启动运行的指令,由slam位姿计算模块330向二维码位姿计算模块320下发中止运行的指令。
172.在图6中,二维码位姿计算模块320和slam位姿计算模块330之间的虚线示出了方式a的部分操作,其中,箭头朝左的虚线对应从二维码导航模式切换到slam导航模式的情况,箭头朝右的虚线对应从slam导航模式切换到二维码导航模式的情况。
173.方式b:二维码位姿计算模块320和slam位姿计算模块330始终维持运行,即始终可输出自动导航设备的位姿信息,但在导航模式切换后,二维码位姿计算模块320输出的位姿信息不再使用,转而使用slam位姿计算模块330输出的位姿信息。
174.方式b相较于方式a,切换逻辑更简化,但自动导航设备对计算资源的消耗以及设备功耗会增加。
175.上述导航系统300中的自动导航设备支持多种导航模式,并可在外部指令的控制下动态地进行导航模式的切换,因此使用该系统有助于自动导航设备充分发挥各种导航方式的优势,拓宽自动导航设备的应用场景。此外,导航系统300的功能是模块化的,模块化的设计有利于降低系统功能之间的耦合度,便于对各个功能进行修改而不影响其他模块的工作,同时还有利于促进功能的重用。
176.在一些实现方式中,导航模式的切换还可以包括导航地图的切换,即将自动导航设备使用的地图从当前导航地图切换为目标导航地图,这一切换也可以在主控模块310的控制之下进行。关于主控模块310的该项功能,可以参考前文方法实施例中的描述,不再重复阐述。
177.在一些实现方式中,主控模块310在接收到模式切换指令后,还可以判断自动导航设备是否满足第二模式切换条件,并在自动导航设备满足第二模式切换条件时,才控制自动导航设备从当前导航模式切换至目标导航模式。其中,第二模式切换条件包括自动导航设备位于当前导航地图和目标导航地图的公共区域内。关于主控模块310的该项功能,可以参考前文方法实施例中的描述,不再重复阐述。另外,此时调度系统也可以进行第一导航模式切换条件的判断,如前文所述。
178.除了以上提到的功能以外,在设置有调度系统时,主控模块310还负责与调度系统进行交互,交互的内容可以概括为三个通道:
179.(1)控制通道,负责传输调度系统的控制指令,例如,导航模式切换指令、调度指令。
180.(2)管理通道,负责传输调度系统的进行管理所需的指令和信息。例如,获取自动导航设备状态信息的指令以及状态信息,获取自动导航设备日志信息的指令以及日志信
息。
181.(3)数据通道,负责传输调度系统进行调度所需的数据,例如,自动导航设备的位置信息。
182.在一些实现方式中,导航系统300还可以包括数据处理模块,数据处理模块起到数据驱动的作用,先将传感器采集的数据进行预处理,使其转换为合适的形式,然后再将处理后的数据发送给相应的位姿计算模块用于位姿信息的计算,此举有助于提高导航系统300的数据处理能力。
183.数据处理模块的数量可以根据需求设置。例如,图6示出了3个数据处理模块,数据处理模块340用于处理imu和odom采集的imu数据和odom数据,并且既可以向二维码位姿计算模块320发送处理后的数据,也可以向slam位姿计算模块330发送处理后的数据,因为这两个位姿计算模块都可以使用这两项数据进行位姿信息的计算,或者说,数据处理模块340可供两种导航方式共享(公有)。数据处理模块350用于处理二维码识别单元采集的二维码数据,并且只向二维码位姿计算模块320发送处理后的数据,因为只有二维码位姿计算模块320才使用二维码数据进行位姿信息的计算(私有)。数据处理模块360用于处理激光雷达采集的激光雷达数据和/或摄像头采集的摄像头数据,并且只向slam位姿计算模块330发送处理后的数据,因为只有slam位姿计算模块330才使用激光雷达数据和/或摄像头数据进行位姿信息的计算(私有)。
184.在一些实现方式中,导航系统300还可以包括运动控制模块370,运动控制模块370用于根据位姿计算模块计算出的位姿信息规划自动导航设备的移动路径,并控制自动导航设备沿规划出的路径进行移动。具体地,运动控制模块370根据规划出的路径可以向自动导航设备的执行机构发送相应的控制信号,以控制其移动的方向、速度等,使得自动导航设备可以沿规划出的路径进行移动,如图6所示。
185.例如,在切换到目标导航模式之后,运动控制模块370可以根据目标位姿计算模块计算出的位姿信息规划自动导航设备向目标地点移动的路径,并控制自动导航设备沿规划出的路径向目标地点移动。关于运动控制模块370的该项功能,可以参考前文方法实施例中的描述,不再重复阐述。
186.其中,目标地点的位置信息可以由主控模块310发送给运动控制模块370,而主控模块可以从上游(例如,调度系统)发送的任务信息中获得目标地点的位置信息。
187.上述导航系统300也可以视为本技术实施例提供的导航方法的一个模块化的实现。因此关于导航系统300的功能,未提及之处,均可参考前文方法实施例中的描述。
188.下面在以上实施例的基础上,再对第一模式切换条件作一些补充阐述。如果将自动导航设备位于当前导航地图和目标导航地图的公共区域内记为条件(1),那么第一模式切换条件还可能包括:
189.条件(2):自动导航设备位于当前导航地图和目标导航地图相邻的边界上。
190.该条件其实和条件(1)有些类似,所谓边界相邻,可以指当前导航地图的边界和目标导航地图的边界至少存在一个公共点。
191.需要指出,自动导航设备可能既处于当前导航地图和目标导航地图的相邻的边界上,又处于当前导航地图和目标导航地图公共的区域内。但自动导航设备处于当前导航地图和目标导航地图的相邻的边界上,却不一定处于当前导航地图和目标导航地图公共的区
域内,因为两张地图未必存在公共区域,可能只在边界处存在邻接关系。
192.如果允许条件(1)中的公共区域面积为0,那么条件(2)其实也可以视为条件(1)的特殊情况,其带来的有益效果等也可以类似分析。特别地,如果当前导航地图和目标导航地图仅存在相邻的边界,不存在公共区域,可以在该相邻的边界上选择指定地点作为对接点。
193.条件(3):自动导航设备当前所处的环境与当前导航模式不匹配,且与目标导航模式匹配。
194.不同的导航模式都有与其匹配的环境,即自动导航设备处于该环境下时,相应的导航模式才能够实施或者才能够比较好地实施。而自动导航设备所处的环境很可能会发生变换,一方面是环境自身会变换(例如,光照条件会随时间改变),另一方面自动导航设备的移动也可能导致周围环境的变换(例如,从无人工作区移动到有人工作区)。自动导航设备可以通过传感器采集环境数据,并将环境数据反馈给调度系统,从而足以支持调度系统进行条件(3)的判断。
195.设置条件(3)的出发点在于:当环境变化时,及时地调整导航模式,使得自动导航设备可以长时间保持良好的工作状态。例如,自动导航设备本来采用视觉slam进行导航,当调度系统判断出自动导航设备当前所处的环境中的光照强度明显下降时,可以通过下发模式切换指令,指示自动导航设备切换为激光slam导航或者激光结合视觉slam导航。又例如,自动导航设备本来采用激光slam模式进行导航,当调度系统判断出自动导航设备当前所处的环境中的出现大量运动物体时,可以通过下发模式切换指令,指示自动导航设备切换为视觉slam导航。
196.上述条件(1)(2)(3)还可以进行组合(组合指第一模式切换条件中同时包括多个条件),例如(1)(3)组合,(2)(3)组合,但(1)和(2)可以不进行组合,在当前导航地图和目标导航地图存在公共区域时采用条件(1),在当前导航地图和目标导航地图不存在公共区域、但存在相邻边界时采用条件(2)即可。
197.可以理解地,如果第一模式切换条件不包括与导航地图相关的条件(如条件(1)(2)),并且自动导航设备所支持的导航模式也不使用导航地图,则以上实施例中一些与地图有关的步骤(例如编辑地图、显示地图等)不必执行。
198.通过合理地设置第一模式切换条件,可以使得调度系统更好地控制自动导航设备的行为,使得自动导航设备能够充分发挥各种导航方式的优势,自动适应各种环境场景(包括不同的导航地图、不同的外部环境),拓宽自动导航设备的应用范围。
199.第二模式切换条件与第一模式切换条件类似,也可以包含上述三个条件或其组合,其所达到的效果不再重复阐述。
200.本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序指令,这些计算机程序指令被计算机的处理器读取并运行时,执行本技术实施例提供的导航方法。例如,计算机可读存储介质可以实现为图2的自动导航设备110中的存储器112。
201.以上所述仅为本技术的实施例而已,并不用于限制本技术的保护范围,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献