共享与自动化工业车辆相关联的地图数据的方法和装置

申请号 CN201280027291.2 申请日 2012-06-08 公开(公告)号 CN103582803B 公开(公告)日 2017-04-19
申请人 克朗设备公司; 发明人 L·王; C·W·古德; A·E·格莱姆;
摘要 本 发明 涉及一种在物理环境中的工业车辆之间共享地图数据的方法和装置。在一个 实施例 中,该方法包括处理与多个工业车辆相关联的本地地图数据,其中,本地地图数据包括由多个工业车辆产生的特征信息,其与多个车辆中的工业车辆观察到的特征有关;组合与本地地图数据相关联的特征信息以便为物理环境产生全球地图数据;以及使用全球地图数据的至少一部分来为多个工业车辆中的一个工业车辆导航。
权利要求

1.一种用车辆中心测量来构建本地地图特征的方法,该方法包括:
提供车辆姿态,该车辆姿态指示相对于全球地图数据的全球坐标系统的、自动化引导车辆的位置,其中,该自动化引导车辆包括一个或多个传感器
在与自动化引导车辆相关联的存储器上提供本地地图数据,其中,本地地图数据包括特征信息和地标数据;
使用所述一个或多个传感器捕捉指示物理环境中一个或多个物体的车辆中心测量数据,该一个或多个物体包括在物理环境内改变的物体;
通过在车辆姿态上叠加车辆中心测量数据,用至少一个处理器自动地确定指示相对于全球坐标系统的物体的位置、物体的方向或以上二者的动态特征姿态;以及利用动态特征姿态来更新本地地图的特征信息。
2.根据权利要求1所述的方法,其中,自动化引导车辆包括转发器,并且其中车辆姿态经由转发器提供。
3.根据权利要求1所述的方法,进一步包括:
将车辆中心测量数据变换成车辆中心特征组;以及
基于车辆中心特征组来确定车辆姿态。
4.根据权利要求1所述的方法,进一步包括:
确定指示所述一个或多个传感器、车辆姿态或以上二者的误差的动态特征姿态不确定性;以及
将动态特征姿态传送给远离自动化引导车辆定位的中心计算机。
5.根据权利要求1所述的方法,进一步包括
从全球地图数据接收新的特征、新的地标或者以上二者,其中全球地图数据被存储在远离自动化引导车辆定位的中心计算机上;以及
根据来自于全球地图数据的新特征、来自于全球地图数据的新地标或以上二者来更新本地地图数据的特征信息、本地地图数据的地标数据或以上二者。
6.根据权利要求1所述的方法,其中,地标数据包括指示存在托盘的槽占据数据,并且该方法还包括将指示托盘的托盘特征存储在存储器中,使得托盘特征与本地地图数据的特征信息相关联。
7.根据权利要求1所述的方法,进一步包括:
基于车辆姿态和所述一个或多个传感器的可观察区域来确定特征信息、地标数据或以上二者的不可见部分;以及
将本地地图数据分割成经分割的地图数据,其中经分割的地图数据不包括不可见部分。
8.根据权利要求7所述的方法,进一步包括:
将车辆中心测量数据变换成车辆中心特征组;以及
基于车辆中心特征组和经分割的地图数据,确定指示自动化引导车辆相对于全球坐标系统的新位置的下一个车辆姿态。
9.一种用车辆中心测量来确定车辆位置的方法,该方法包括:
提供车辆姿态,该车辆姿态指示相对于全球地图数据的全球坐标系统的、自动化引导车辆的位置,其中,该自动化引导车辆包括一个或多个传感器;
在与自动化引导车辆相关联的存储器上提供本地地图数据,其中,本地地图数据包括地标数据;
提供经分割的地图数据和提供车辆中心特征组;以及
基于车辆中心特征组和经分割的地图数据,用至少一个处理器自动地确定指示自动化引导车辆相对于全球坐标系统的位置的下一个车辆姿态,
其中,提供经分割的地图数据包括:
提供可观察区域,该可观察区域指示自动化引导车辆的所述一个或多个传感器的可见范围;
基于车辆姿态和所述一个或多个传感器的可观察区域,确定地标数据的不可见部分,其中,该不可见部分是在可观察区域之外的;和
将本地地图数据分割成经分割的地图数据,其中,该经分割的地图数据不包括不可见部分;并且
其中,提供车辆中心特征组包括:
使用所述一个或多个传感器捕捉车辆中心测量数据,其中,车辆中心测量数据指示在物理环境内的物体;和
将车辆中心测量数据变换成车辆中心特征组。
10.根据权利要求9所述的方法,进一步包括:
将车辆中心测量数据变换成指示相对于全球坐标系统的物体的位置、物体的方向或以上二者的特征姿态以及指示测量数据的误差的特征姿态不确定性;
将特征姿态、特征姿态不确定性或以上二者传送给远离自动化引导车辆定位的中心计算机;以及
根据特征姿态、特征姿态不确定性或以上二者更新全球地图数据,其中,全球地图数据被存储在与中心计算机相关联的存储器中。
11.根据权利要求9所述的方法,其中,物体是托盘。
12.根据权利要求9所述的方法,其中,物体在物理环境内变化,并且所述方法进一步包括:
将车辆中心测量数据叠加在车辆姿态或下一个车辆姿态上,以产生经叠加的结果;以及
基于经叠加的结果确定指示相对于全球坐标系统的物体的位置、物体的方向或以上二者的动态特征姿态。
13.一种用车辆中心测量来更新全球地图数据的方法,该方法包括:
使用定义了全球坐标系统的全球地图数据来导航第一自动化引导车辆穿过物理环境;
使用耦合到第一自动化引导车辆的第一传感器阵列捕捉第一车辆中心测量数据,其中第一车辆中心测量数据指示在物理环境内的物体;
将第一车辆中心测量数据变换成指示相对于全球坐标系统的物体的位置、物体的方向或以上二者的第一特征姿态以及指示第一测量数据的误差的第一特征姿态不确定性;
使用耦合到第二自动化引导车辆的第二传感器阵列捕捉第二车辆中心测量数据,其中第二车辆中心测量数据指示在物理环境内的所述物体;
将第二车辆中心测量数据变换成指示相对于全球坐标系统的物体的位置、物体的方向或以上二者的第二特征姿态以及指示第二测量数据的误差的第二特征姿态不确定性;
用一个或多个处理器,根据一个或多个统计方法,将第一特征姿态、第一特征姿态不确定性、第二特征姿态和第二特征姿态不确定性自动地变换成指示相对于全球坐标系统的物体的位置、物体的方向或以上二者的估计的特征姿态;以及
根据所述估计的特征姿态来更新全球地图数据。
14.根据权利要求13所述的方法,进一步包括:
确定指示第一自动化引导车辆相对于全球坐标系统的位置的车辆姿态;
在与第一自动化引导车辆相关联的存储器上提供本地地图数据,其中本地地图数据包括特征信息和地标数据;
基于车辆姿态和第一传感器阵列的可观察区域来确定特征信息、地标数据或以上二者的不可见部分,其中,不可见部分在可观察区域之外;
将本地地图数据分割成经分割的地图数据,其中,经分割的地图数据不包括不可见部分。
15.根据权利要求13所述的方法,进一步包括:
在与第一自动化引导车辆相关联的存储器上提供本地地图数据,其中本地地图数据包括特征信息和地标数据,并且其中地标数据包括指示存在托盘的槽占据数据;
当槽占据数据指示存在托盘时,将指示托盘的托盘特征存储在存储器上,使得托盘特征与本地地图数据的特征信息相关联。
16.根据权利要求13所述的方法,进一步包括:
确定指示第一自动化引导车辆相对于全球坐标系统的位置、第一自动化引导车辆相对于全球坐标系统的方向或以上二者的车辆姿态,其中,通过将第一车辆中心测量数据叠加在车辆姿态上,第一车辆中心测量数据被变换成第一特征姿态。
17.根据权利要求13所述的方法,其中,物体在物理环境内变化,并且所述方法进一步包括在预设的时间周期后从全球地图数据中去除估计的特征姿态。

说明书全文

共享与自动化工业车辆相关联的地图数据的方法和装置

技术领域

[0001] 本发明实施例主要涉及基于环境的自动工业车辆的导航系统,更具体的,涉及共享与自动化工业车辆相联系的地图数据的方法和装置。

背景技术

[0002] 为了满足供应和/或需求的目标,实体通常操作众多设备。例如,从小至大的公司、政府组织等应用多种物流管理和库存管理范例来在多种物理环境(例如,仓库,冷藏间,工厂,车间,商店等)中移动物体(例如,原材料,货物,机器等)。跨国公司可能在一个国家建仓库来存储生产货物的原材料,货物放置在另一个国家的的仓库中以便分配给当地的零售市场。为保持和/或提高生产和销售,仓库必须很有条理。如果不能把原材料以最佳速率传送到工厂,就会生产更少的货物。结果,未生产的货物不能产生收入来抵消原材料的花费。
[0003] 不幸的是,物理环境(例如仓库)具有若干阻碍及时完成各项任务的限制。例如仓库和其他共享的使用空间必须对于劳动来说安全。一些员工操作有可能导致严重或致命伤害的重机械和工业车辆,例如叉车。尽管如此,人们仍需要使用工业车辆来完成任务,包括搬运物体任务,例如在一个仓库中把货物的托盘运到不同的地点。大多数仓库使用大量的叉车司机和叉车来移动物体。为了提高生产率,这些仓库只是增加更多的叉车和叉车司机。
[0004] 为了解决上述问题,一些仓库使用自动完成这些任务的装备。作为例子,这些仓库可以使用自动化工业车辆(例如叉车)以在路径上搬运物体,然后将这些物体卸在指定地点。在对工业车辆进行导航时,需要考虑与传感器测量相联系的不确定性以及噪音。因为与工业车辆耦合的传感器局限于特定的视野或范围,所以工业车辆不能提取并处理不能观察到的与特定特征和地标相联系的数据。
[0005] 因此,本领域需要一种在自动化工业车辆之间共享地图数据的方法和装置。

发明内容

[0006] 本发明的各种实施例主要包括一种方法和装置,其包括:处理与多个工业车辆相联系的本地地图数据,其中,本地地图数据包括由多个工业车辆产生的、与多个车辆中的工业车辆所观察到的特征有关的特征信息;组合与本地地图数据相关联的特征信息从而为物理环境产生全球地图数据;以及使用全球地图的至少一部分来导航多个工业车辆中的一个工业车辆。附图说明
[0007] 因此,上述列举本发明的特征可以从细节上进行理解,上述简要总结了,本发明可参考实施例更详细的说明,其中一些实施例在附图中示出。然而应注意,附图只示出了本发明的典型实施例,不能理解为限制了本发明的范围,因为本发明可以允许其他等效的实施例。
[0008] 图1是包括本发明的各种实施例的物理环境的立体图;
[0009] 图2是示出了根据一个或更多实施例的叉车的立体图,从而导航物理环境来执行各种任务;
[0010] 图3是根据一个或更多实施例为工业车辆提供地图创建、更新以及共享的系统的结构方图;
[0011] 图4是根据一个或更多实施例为工业车辆提供地图创建、更新以及共享的系统的功能方块图;
[0012] 图5是示出了根据一个或更多实施例的用于工业车辆的本地化和映射处理互动示意图;
[0013] 图6是根据一个或更多实施例的用于与工业车辆关联的本地地图模块的操作方法的流程图;以及
[0014] 图7是根据一个或更多实施例的用于全球地图模块的操作方法的流程图。

具体实施方式

[0015] 图1示出了包括包括本发明的一个或更多实施例的物理环境100的示意立体图。
[0016] 在一些实施例中,物理环境100包括与移动计算机104、中心计算机106以及传感器阵列108耦合的车辆102。传感器阵列108包括分析在物理环境100内的各种物体并传输数据(例如,图像数据、视频数据、地图数据、三维图像数据等)至移动计算机104和/或中心计算机106的多个设备,如下所述。传感器阵列108包括各种类型的传感器,例如,解码器声波测距仪、激光测距仪、压力传感器等。
[0017] 物理环境100还包括支撑多个物体的地板100。多个物体包括多个托盘112、多个单元114等,如下所述。物理环境100还包括对于车辆102的正确操作来说的各种障碍物(未示出)。如果多个物体中的一些破坏了任务的完成,则这些物体可以构成沿着各种路径(例如,预编程或动态计算的路线)的障碍物。例如,障碍包括在目标地点的损坏的托盘,该目标地点与传送的装载物体相关联。物理环境100还包括多个标记116。多个标记116表示为装在天花板上的物体。在一些实施例中,标记116还可以设置在地板上或者在地板和天花板上。在一些实施例中,多个标记116是方便于基于环境的导航的界标,如下所述。在物理环境100周围的多个标记116和其他物体构成由环境特征定义的地标。移动计算机104提取环境特征并确定精确、实时的车辆姿态
[0018] 物理环境100可以包括容纳为后续的运输做准备的多个单元114的仓库或冷藏库。仓库可包括用于装载和卸载来自商业车辆、路、航空和/或海运的多个单元的装载码头。
多个单元114通常包括各种货物、产品和/或原材料等。例如,多个单元114可以是放置在ISO标准托盘上并由叉车装载在托盘架上以便分配给零售商店的生活消费品。车辆102通过将生活消费品移动至指定的地点来方便分配,在该指定地点处商业车辆(例如卡车)装载以及随后将生活消费品运送至一个或更多目标地点。
[0019] 根据一个或更多实施例,车辆102可以是构造为在地板110上操控和/或移动多个单元114的自动化引导车辆(AGV),例如,自动化叉车。车辆102使用一个或更多抬升元件,例如叉,来举起一个或更多单元114,然后,将这些单元114在中转区域120(例如走廊)沿着路径运输,并放置在槽区域122。可替换的,一个或更多单元114可以放置在托盘112上,车辆102将该托盘举起,并移动至指定地点。
[0020] 多个托盘112中的每个都是平坦的运输结构,其在车辆102和/或其他顶起设备(例如,液压车和/或前端式装载机)抬升货物时,以稳定的方式支撑货物。托盘112是物体装载的结构基础,能实现操控和存储效率。各种托盘112可以在托架系统(未示出)中使用。在特定的托架系统中,重力滚轮或轨道能使得在一个或更多托盘112上的一个或更多单元114向前方滚动。一个或更多托盘112向前移动直至被减速装置(物理止挡件或其他托盘112)降速或停止。
[0021] 在一些实施例中,移动计算机104和中心计算机106是控制车辆102并在物理环境100中执行各种任务的计算设备。如图所示的,移动计算机104适于如图所示与车辆102耦合。移动计算机104还可以接收并合计由传感器阵列108传送的数据(例如,激光扫描器数据、图像数据和/或其他相关传感器数据)。移动计算机104中的各种软件模块控制与车辆
102相关联的硬件元件的操作,如下所述。
[0022] 本发明的实施例使用并升级地图信息,工业车辆102使用该地图信息从而对其在环境100中导航并执行任务。地图信息包括由移动计算机104维护的本地地图以及由中心计算机106维护的全球地图。本地地图定义环境100中的特征,即,临近特定车辆102的特征或包括车辆所操作或将要操作的环境100的区域内的特征;而全球地图定义整个环境100。当车辆执行任务时,本地地图由移动计算机104更新,并且增加到本地地图上的数据也用来升级全球地图,从而由一辆车更新的本地地图与其他车辆102分享。地图使用及升级过程在下文中详细描述。
[0023] 根据本发明的一个或更多实施例,图2示出了在物理环境中方便各项任务的自动化的叉车200的立体图。
[0024] 叉车200(即,抬举卡车、高/低车、堆料车、拖车装载机、侧向装载机或叉起式起重车)是具有各种载重能力并用于抬举和运输各种物体的动力工业卡车。在一些实施例中,叉车200构造为在物理环境(例如图1中的物理环境100)中沿着路径移动单元(例如,图1中的单元114)的一个或更多托盘(例如,图1中的托盘112)。路径可以预设或按照接受的任务来动态计算。叉车200可以在足够深以容纳多个位置的存储走道中行驶或回收托盘。通常,叉车200被引导入存储走道并将托盘放置在悬臂上或轨道上。因此,当确定与物体和/或目的地相关联的方向时,叉车200的尺寸(包括整个宽度和外宽)必须精确。
[0025] 叉车200通常包括两个或更多叉(即,滑轨或齿)以在物理环境中抬举并搬运单元。可替换的,叉车200可包括一个或更多金属杆,而不是两个或更多叉,以便抬举特定的单元(例如,地毯卷,金属圈等)。在一个实施例中,叉车200包括液压的伸缩套筒叉25,其允许两个或更多托盘放置在彼此的后方,而不需要之间存在过道。
[0026] 根据一个或更多实施例,叉车200还可以包括各种机械、液压和/或电力操作制动器。在一个实施例中,叉车200包括一个或更多液压致动器(未标记),其允许两个或更多叉的横向和/或旋转运动。在一个实施例中,叉车200包括用于将叉一起或分离移动的液压致动器(未标记)。在另一个实施例中,叉车200包括机械或液压的元件来挤压待运输的单元(例如,桶,小桶,纸卷等)。
[0027] 叉车200可以与移动计算机104耦合,其中移动计算机包括根据一个或更多任务来操作叉车200的软件模块。叉车200还与包括各种传感器设备(例如图1的传感器阵列108)的阵列相耦合,其中,传感器阵列传输传感器数据(例如,图像数据、视频数据、平面范围数据和/或三维图表数据)给移动计算机104以提取与环境特征相关联的信息。这些设备可以安装在叉车200的任何外部和/或内部位置或安装在物理环境100周围的已知地点。叉车200的示例性实施例通常包括相机202,装在每一侧的平面激光扫描器204和/或装在每个车轮208上的编码器206。在其他实施例中,叉车200仅包括平面激光扫描器204和编码器206。叉车200可以使用任何带有延伸至运动当前方向(例如,向前、向后行驶,叉向上/向下运动,向外/内伸等)的视野的传感器阵列。这些编码器确定与车辆运动相关联的运动数据。外部安装的传感器可以包括激光扫描器或相机,它们位于可以从传感器得到的丰富数据组可改善自动化操作的位置。外部传感器可以包括有限的组转发器和/或其他主动或被动方式,通过这些方式,自动车辆能获取大概位置以看到本地化功能。
[0028] 在一些实施例中,多个传感器设备(例如,激光扫描器、激光范围探测器、编码器、压力传感器等)以及它们在叉车200上的位置取决于车辆,并且这些传感器的安装位置影响测量数据的过程。例如,通过确保所有激光扫描器放置在可测量的位置,传感器阵列108可处理激光器扫描数据并将其变换为相对于叉车的中间点。另外,传感器阵列108可以组合多个激光器扫描为单一虚拟激光器扫描,其可以用多种软件模块来使用以控制叉车200。
[0029] 图3是根据一个或更多实施例的系统300的结构方块图,该系统使用在车辆之间共享的地图数据为工业车辆提供精确的本地化。在一些实施例中,系统300包括与多个自动车辆相关联的多个移动计算机104(表示为移动计算机1041至移动计算机104N)、中心计算机106和传感器阵列108,其中的每个元件都通过网络302相互连接。
[0030] 多个移动计算机104中的每个是一种类型的计算设备(例如,膝上电脑、笔记本电脑、个人桌面助手(PDA)等),其包括中央处理单元(CPU)304、各种支持电路306和存储器308。CPU304可包括一个或更多商业可用的微处理器或微控制器,能方便地进行数据处理和存储。各种支持电路306方便CPU304的操作,并可包括时钟电路、总线、电源、输入/输出电路等。存储器308包括只读存储器随机存取存储器、磁盘驱动存储、光学存储、可移动存储等。
存储器308包括各种数据,例如本地地图数据310、特征信息312、地标数据314、槽占据数据
316、姿态预测数据317、姿态测量数据318和请求319。存储器308包括各种软件包,例如基于环境的导航模块320和本地地图模块338。
[0031] 中心计算机106是一种计算设备(例如,膝上电脑、笔记本电脑、服务器、个人桌面助手(PDA)等),包括中央处理单元(CPU)322、各种支持电路324和存储器326。CPU322可以包括一种或多种商业可用的微处理器或微控制器,能方便地进行数据处理和存储。各种支持电路324方便CPU322的操作,并可包括时钟电路、总线、电源、输入/输出电路等。存储器326包括只读存储器、随机存取存储器、磁盘驱动存储、光学存储、可移动存储等。存储器326包括各种软件包(例如全球地图模块328)以及各种数据(例如任务330、全球地图数据334和路径336)。
[0032] 网络302包括通信系统,其将计算机通过电线、电缆、光纤和/或无线连接,经由各种类型的众所周知的网络元素,例如,集线器、开关、路由器等。网络302可利用各种众所周知的协议来在网络资源之间传送信息。例如,网络302可以是使用各种通信基础设施(例如以太网、无线网、WiMax、通用分组无线业务(GPRS)等)的因特网或内联网的一部分。
[0033] 传感器阵列108与装在例如叉车(例如图2中的叉车200)的自动车辆上的移动计算机104进行可通信的连接。传感器阵列108包括多个设备322来监控物理环境并捕捉由移动计算机104作为姿态测量数据318来存储的各种数据。在一些实施例中,传感器阵列108可以包括一个或多个激光扫描器和/或一个或更多相机的任意组合。在一些实施例中,多个设备332可以安装在自动车辆上。例如,激光扫描器和相机可以安装在叉上方的抬升车厢上。可替换的,激光扫描器和相机可以放置在叉下方。
[0034] 在一些实施例中,对于特定的任务330,中心计算机106计算车辆需用的路径336以完成任务330。本地地图数据310和全球地图数据334都使用能够为精确、自主的为车辆102在环境中完成任务330而导航。
[0035] 在一些实施例中,本地地图模块338使用并维护本地地图数据310,并将更新传送给中心计算机106的全球地图模块326。本地地图数据310包括特征信息312和地标数据314。在一个实施例中,特征信息包括代表了临近车辆的物理环境的动态和/或静态特征,例如工人和自动工业车辆共享的使用面积。静态特征代表在环境内不会变化的物体,例如,墙、存储架等。本地地图数据310可以构成已知地标的矢量、静态和动态的特征。在一些实施例中,特征信息312包括:特征几何构型(线、落、弧等)、在全球坐标系中的特征姿态以及特征姿态不确定性。静态特征代表在环境内不会变化的物体,例如,墙、存储架等。典型的,静态特征的姿态不确定性为0。
[0036] 在一些实施例中,动态特征代表在环境中变化的物体,例如临时障碍物,例如损坏的托盘、待存储的物体等。这些特征在足够长的时间内可能是静止的,使得系统使用它们作为本地地图特征。系统不包括有关这些特征的姿态的先验信息,因此,这些动态特征的姿态仅可以通过将来自传感器的车辆中心测量与相对于全球坐标系统的车辆的估计姿态相叠加来推断。由于传感器数据中的噪音以及车辆姿态估计中的不确定性,所有的动态特征具有与它们的姿态相联系的姿态不确定性。
[0037] 在一些实施例中,地图模块338存储本地地图信息作为地标314。地标代表环境(图1中的100)中的具有已知或估计的姿态的物理实体。地标数据314包括代表了传感器视野中的地标的几何构型、姿态、以及特定特征组,例如,平面激光扫描器把墙视为一条线,把走廊视为两条平行线等。多个地标中的一些包括墙、托盘或托架系统,其中的多个槽构造为保持物体。
[0038] 在一些实施例中,本地地图模块338维持槽信息(作为槽几何构型和姿态的组)作为地标数据314的一部分。槽是一类虚拟地标,因为虽然它们的几何构型是固定的,然而在相关联的槽中的托盘将指示出该地标和相关的特征信息312对于车辆来说是否可见。槽占据数据316指示出与槽相关联的托盘的存在,因而指示出与该托盘相关联的特征是否构成本地地图数据的一部分。槽可存在于地板上可用于导航的位置,或存在于地板上方的堆叠布置或在托架系统中。
[0039] 在一些实施例中,基于环境的导航模块320包括软件码(例如,处理器可执行指令),其中,软件码用于确定精确的车辆姿态并根据新的地标和与地标特征信息312(包括车辆的姿态和姿态不确定性)相关联的部分来升级本地地图数据310。在基于环境的导航模块320处理来自多个传感器设备332的姿态测量数据318之后,基于环境的导航模块320校正姿态预测数据317。
[0040] 在一些实施例中,姿态预测数据317包括估计车辆的位置和/或方向,本发明称之为车辆姿态预测。基于环境的导航模块320可以通过使用在前的车辆姿态以及车辆运动模块来产生这种估计。基于环境的导航模块320还可以使用处理滤波器来为接下来的车辆姿态预测和更新步骤估计不确定性和/或噪声。在接下来参考物理环境的地图之后,基于环境的导航模块320确定当前车辆位置的估计。车辆姿态的不确定性产生观察到的特征的位置的不确定。特征信息312中的姿态不确定性来自于车辆位置不确定性和传感器噪音的组合。
[0041] 全球地图模块328包括软件码(例如,处理器可执行指令)来处理来自至少两个工业车辆的本地地图数据310,并产生全球地图数据334。在一些实施例中,全球地图模块328将全球地图数据334定义为已知地标的矢量,其可用来构建已知特征的矢量。这些特征对应于需要从车辆传感器中提取的特征。至少两个工业车辆中的一些可以为本地地图数据310参考不同的坐标系统。如此,一个或更多地标位置变换为普通坐标系统中的位置。
[0042] 在一些实施例中,通过组合对于已知地标观察到的特征和/或将新地标的特征加在全球地图数据334上,全球地图模块328将与至少两个工业车辆中的每个相关联的本地地图数据的特征信息312和地标数据314与全球地图数据334相关联。全球地图数据334可以在后续的日期用来将未被车辆观察到的预期特征补充在本地地图数据310上。因此,与特定的工业车辆相关联的特征信息312可以用来在地标上或未被另一工业车辆观察到的全新的地标(例如,角落、墙、基础设施后面的物体等)上补充附加的特征。
[0043] 在一个实施例中,全球地图模块328使用统计方法来估计由至少两个工业车辆观察到的新特征的姿态以评估由每辆车所提供的特征姿态不确定性。在一个替换实施例中,全球地图模块328可以使用滤波器来组合姿态测量和多个车辆,并开发所得的姿态估计。
[0044] 在一些实施例中,移动计算机104周期性地向中心计算机106发出请求319。响应该请求,中心计算机106将更新发送至本地地图数据310。更新可以包括对于槽占据数据316、从其他车辆或得的特征信息312、地标数据314等的更新。这些更新能确保移动计算机利用最新的信息来导航车辆。在可替换的实施例中,中心计算机106可以周期性的发布对于本地地图数据310的更新,并将更新推送至移动计算机104。
[0045] 图4是根据一个或更多实施例的系统400的功能方块图,系统400为工业车辆提供精确的本地化。系统400包括移动计算机104,其与工业车辆(例如叉车)和传感器阵列108耦合。移动计算机104中的各种软件模块一起构成基于环境的导航模块(例如,图3中基于环境的导航模块320)。
[0046] 移动计算机104包括各种软件模块(即,组件)以执行图3的基于环境的导航模块320(例如本地化模块402、校正模块408以及车辆控制器410)的导航功能。另外,移动计算机
104执行本地地图模块338。移动计算机104为工业车辆提供精确的本地化,并对具有与环境特征相关联的信息的本地地图数据310进行更新。本地化模块402还包括各种组件,例如滤波器414和特征提取模块416,以确定车辆状态418。地图模块404包括各种数据,例如动态特征422和静态特征。地图模块404还包括各种组件,例如特征选择模块420和地标延伸模块
426。
[0047] 在一些实施例中,传感器数据在校正模块408中被校正以便校正时间和/或空间失真。本地化模块402处理校正的数据,并使用特征提取组件416提取来自传感器数据的特征。考虑特征姿态不确定性和观察噪声,这些特征与来自本地地图模块338的特征相匹配,然后车辆状态418被滤波器414调整。特征提取也将用来更新任何动态特征422和/或用来增加附加的动态特征。这些特征与在观察时候的车辆姿态不确定性以及在传感器读取时导致的观察不确定性一同由地图模块338进行处理。地图模块将使用该特征以及观察到的姿态不确定性来更新地图数据310。由滤波器414建模的车辆状态418参考当前车辆状态,并包括指示出车辆位置和方向的姿态信息(例如坐标)。本地化模块402将与车辆状态418相关联的数据传递给地图模块404,还将这些数据传递给车辆控制器410。基于车辆位置和方向,车辆控制器410将工业车辆导航至目的地。
[0048] 除了用于计算车辆状态418的滤波器414,本地化模块414还包括用于从校正的传感器数据中提取标准特征的特征提取模块416。通过从特征组422和424中去除不可见特征,从而减少必须由特征提取416进行检查的特征的数量,地图模块338使用特征选择420与车辆状态418,从对于本地化模块402可用的动态数据422和静态数据424中选择。可通过将地图数据分割成更小的区域来执行,分割的部分中仅包括根据车辆的大致姿态很可能由车辆观察到的地标。特征选择模块420还管理地图数据310中动态特征422的附加和变型。本地化模块402和/或地图模块338可更新地图数据310以指示特定特征中最近被占据的或清空的面积,例如已知地点和所获得的项目。
[0049] 在一些实施例中,地图模块338包括地标延伸模块426,其处理构成本地地图406的一部分的地标数据428,以创建与该地标相关联的静态特征422和动态特征424。地标延伸将特征不确定性与根据地标不确定性所创建的特征相关联。
[0050] 应理解,系统400可以应用数个计算设备来执行基于环境的导航。在计算设备104中的软件模块的任一个可以利用不同的或多个物理硬件组件,例如其他计算设备。本地地图模块338例如可以在服务器计算机(例如,图1的中心计算机106)上执行,通过网络(例如图3中的网络302)来连接多个移动计算设备,以便根据当前车辆位置和方向来共享并更新地图数据310。
[0051] 在一些实施例中,本地地图模块338处理由工业车辆观察到的特征,并产生(或加强)本地地图数据310(即,维护本地地图数据)。实质上,移动计算机104的地图模块338利用移动计算机104所关联的工业车辆观察到的特征和地标更新动态特征422以及地图数据310。观察到的特征(和/或地标)被传送给中心计算机106以包含在全球地图数据中。如此,其他车辆的本地地图数据将会根据来自全球地图数据的信息来更新。结果,全异的车辆共享它们观察到的特征和/或地标。因而,车辆控制器410现在无需首先观察地标就能够使用由另一车辆观察到的特征和/或地标来导航与移动计算机104相关联的工业车辆。
[0052] 图5是EBN结构示意图,示出了根据一个或更多实施例的工业车辆的本地化和绘图系统500的元素和接口。特别的,本地化和地图处理500包括在组件或层(例如传感器数据校正502、接口504、特征提取507、数据关联508、EKF510和动态地图512)之间处理和传送各种数据。本地化和地图处理500使用主要环境特征来支持工业车辆操作。接口504方便控制各层,并加在基于环境的导航模块上。
[0053] 特征提取506检查由传感器设备输入的数据,并提取观察到的特征(例如线和角落)。数据关联508将观察到的特征与已知的特征信息箱比较来识别与现有的静态和/或动态地图数据424、422匹配的特征。EKF710是扩展的Kalman滤波器,给定与匹配的特征和之前的车辆姿态相关联的测量,其提供最可能的当前车辆姿态。地图管理器512维护在先验静态地图中未找到的用于本地化的最新特征动态地图。这些动态地图数据的更新被传送给中心计算机以包含在全球地图数据中。
[0054] 传感器数据校正502是在本地化处理514中的一个步骤,其中,根据一些实施例,运动伪影从在车辆姿态预测前的传感器数据中移除。传感器数据校正502使用由各种传感器数据中获得的车辆运动数据,然后校正可能受到在该数据传送至接口504之前的车辆运动影响的传感器数据。例如,传感器数据校正502使用车轮直径和编码器数据来计算速度测量值。车辆姿态的改变导致了运动伪影在接下来的激光扫描器中的数据。因此,在通过接口504激活EKF510之前,传感器数据校正502校正激光扫描数据。作为响应,EKF510执行姿态预测以便基于车辆运动数据来估计当前位置数据。EKF510响应于激光扫描数据来校正估计的当前位置数据。通过接口504,校正的当前位置数据被传送回车辆。
[0055] 图6是根据一个或更多实施例的本地地图模块的操作方法600的流程示意图。在一些实施例中,地图模块(例如,图3的本地地图模块338)执行方法600的每一个步骤。地图模块可以是基于环境的导航模块(例如,图3的基于环境的导航模块320)的组件。在其他实施例中,一些步骤可以省略或跳过。方法600开始于步骤602,并继续至步骤604。在步骤604中,方法600处理与一个或更多工业车辆相关联的地图数据(例如,图3的本地地图数据310)。地图数据为在一个物理环境中的一个或更多地标提供位置和/或尺寸。在一些实施例中,方法600将地图数据存储在与特定工业车辆连接的移动计算机(例如图1和4中的移动计算机
104)中作为本地地图数据(例如,图4中的地图数据310)。在其他实施例中,方法600将地图数据存储在中心计算机(例如图1和4中的中心计算机)中作为全球地图数据(例如图3的全球地图数据334)。本地地图数据最初可包括由中心计算机从全球地图数据中提取的地图数据,并发送至移动计算机。本地地图数据的提取基于在环境中车辆的当前位置。中心计算机可以将更新发送至本地地图数据以便周期性地提供包括了从其他车辆收集到的知识的本地地图。一个步骤处理本地地图数据来将对于当前估计的车辆位置来说当前可见的一系列特征传递给本地化模块。该步骤延伸地标(例如图4中的地标428)以创建一系列特征(例如图4的静态特征420和动态特征424),并在本地特征组上实施几何构型,其中本地特征组代表了对于当前估计位置对于车辆传感器可见的面积的。本地化模块将提供一组观察到的带有它们的几何构型、姿态和姿态不确定性的特征。
[0056] 在步骤606中,方法600评估观察到的特征以识别是否新特征信息或在一些实施例中新观察到的具有日落(sundown)时间的特征已被接收。如果有新特征,方法继续进行至步骤614。
[0057] 在步骤608中,方法600相对于与一个或更多工业车辆相关联的地标信息(例如图3中的地标信息)处理新特征。这些特征可以使用多边形匹配或其他类型匹配技术来进行处理。待匹配的类型从环境中的已知实体的几何构型中选择,例如,托盘、负载等。一些不能匹配的观察被忽略。在步骤610中,方法600为匹配的特征创建地标或更新了的现有地标。多个特征可以组合来定义一个地标。地标代表可用来导航的环境的物理属性。方法600将新地标加在地图数据上作为图3的地标数据314。
[0058] 在步骤612中,方法600为物理环境(即,共享的使用空间)产生本地地图数据。本地地图数据包括与全异的、构成了特定地标的特征相关联的特征信息。也即,本地地图数据包括由工业车辆观察到的特征。该地标数据(包括特征)被传送给中心计算机以便包含在全球地图数据中。
[0059] 在步骤614中,方法600决定是否用新的地标信息来更新全球地图。无论何时新地标被识别,都可产生更新,或可以周期性的更新。另外,该方法可以产生更新本地地图的请求来与由其他工业车辆观察到的新特征相加。
[0060] 在步骤616中,方法600将新的地标信息打包成合适于更新全球地图的形式。每个新地标包括姿态和不确定性。不确定性取决于特征观察的不确定性以及与地标几何构型相匹配的特征数量。因此,不确定性包括位置不确定性和识别不确定性。在步骤618中,方法600结束。
[0061] 图7是根据一个或更多实施例来操作全球地图模块的方法700的流程图。在一些实施例中,全球地图模块(例如,图3中的全球地图模块328)执行方法700的每一个步骤。在其他实施例中,一些步骤被忽略或跳过。方法700开始于步骤702,并继续至步骤704。
[0062] 在步骤704中,方法700接收来自多个自主工业车辆中的一个车辆的本地数据。本地地图数据包括至少一个之前没有被识别为包括在发送车辆的本地地图中的地标。在步骤706中,方法处理新地标。在一个实施例中,将组合接收自多个工业车辆的地标数据,以评估每个新地标与之前报告的地标的相似性。该方法将现有的地标与由独立的车辆观察到的新特征相加,减少与地标相关联的姿态和识别的不确定性。在可替换的实施例中,该步骤实施处理滤波,其将来自多个工业车辆的观察进行统计组合,并在接收到足够的观察时,为全球地图仅产生新的地标,以便将不确定性减少到可接受的界限。在一个实施例中,新的特征被指定一个日落值,其需要特征被连续观察到以保持在全球地图中。
[0063] 在步骤708中,方法700在中心计算机上根据特征信息来更新全球地图数据。在一个实施例中,该步骤将包括评估地图特征的日落值,并移除最近没有观察到的那些地标。因此,全球地图数据包括另一个工业车辆观察到的特征,其方便于工业车辆导航。因为所有的工业车辆以这种方式向方法700报告,全球地图包括所有工业车辆观察到的特征。
[0064] 在步骤710中,方法700确定是否接收了来自车辆的移动计算机地图数据的请求(例如图3中的请求319)。如果接收了请求,方法700继续进行至步骤714。另一方面,如果没有接收地图数据的请求,方法700等待直到请求到达,并返回步骤704。在步骤714中,方法700为请求车辆确定当前车辆位置。在一些实施例中,方法700从请求中提取当前车辆位置。
在另一些实施例中,中心计算机可以通过本地化报告来知道车辆位置。在步骤716中,方法
700识别全球地图数据的对应部分。在步骤718中,方法700将全球地图的对应部分作为本地地图传送给工业车辆。根据一个或更多实施例,作为对请求的响应,方法7000为全球地图的子区域识别地图数据,并将本地地图数据传送给工业车辆上的移动计算机。新的本地地图数据包括所有最近得到的、由其他车辆发送的与请求车辆位置临近的特征有关的特征。在步骤720中,方法700结束。
[0065] 在其他实施例中,中心计算机具有所有车辆的位置的信息。因而,中心计算机可以自动提取本地地图数据并将其发送给车辆,即,不需要接收到请求。处理可以周期性的执行或当车辆进入之前接收到另一个车辆更新的特征信息的区域时执行。
[0066] 在另一个实施例中,可以在车辆穿过环境时将本地地图连续发送给车辆。本地地图可以覆盖,从而之前的地图可以在接收下一个地图时使用。本地地图的序列可以发送给车辆,其中,该序列包括由特定车辆穿越的路径。
[0067] 通过使用利用由各种车辆产生的本地地图数据而更新的全球地图,车辆能改善环境来增加导航地标,例如定位一个物体来作为地标使用以改善导航,然后通过全球地图将特征信息与其他车辆分享。在其他实施例中,障碍物变成本地地图数据中的动态特征入口,从而障碍物的信息通过全球地图由车辆共享。为了改善特征的使用,一些实施例可能将特定类型的特征“日落”,即,车辆重复识别的静态特征可能构成全球地图中永久的地标,而当全球地图中最新出现的动态特征可以在将要从全球地图中移除它们时为它们分配日落值,除非它们被其他车辆观察到而再次恢复。
[0068] 上述的各种元素、设备和模块与它们各自的功能相关联。如在此所述的,这些元素、设备和模块被视为执行它们各自的功能的方式。
[0069] 上述指向本发明的实施例,发明的其他和更多的实施例可在不离开基本范围的前提下进行修改,其范围由下面的权利要求来确定。
QQ群二维码
意见反馈