CN112805646A - 用于提供上下文增强的地图图层的区域引擎 - Google Patents
用于提供上下文增强的地图图层的区域引擎 Download PDFInfo
- Publication number
- CN112805646A CN112805646A CN201980061736.0A CN201980061736A CN112805646A CN 112805646 A CN112805646 A CN 112805646A CN 201980061736 A CN201980061736 A CN 201980061736A CN 112805646 A CN112805646 A CN 112805646A
- Authority
- CN
- China
- Prior art keywords
- area
- region
- space
- robots
- rule
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 claims abstract description 68
- 239000003550 marker Substances 0.000 claims abstract description 55
- 238000013507 mapping Methods 0.000 claims abstract description 15
- 230000004044 response Effects 0.000 claims description 17
- 230000006399 behavior Effects 0.000 claims description 7
- 230000008569 process Effects 0.000 description 17
- 238000007726 management method Methods 0.000 description 15
- 239000000047 product Substances 0.000 description 9
- 238000012545 processing Methods 0.000 description 8
- 239000013598 vector Substances 0.000 description 8
- 238000003860 storage Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000007717 exclusion Effects 0.000 description 5
- 230000001965 increasing effect Effects 0.000 description 5
- 238000012423 maintenance Methods 0.000 description 5
- 238000013459 approach Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000006698 induction Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000004806 packaging method and process Methods 0.000 description 3
- 230000004075 alteration Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 230000026058 directional locomotion Effects 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 239000007788 liquid Substances 0.000 description 2
- 238000003032 molecular docking Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000036961 partial effect Effects 0.000 description 2
- 238000013439 planning Methods 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 102100025594 Guided entry of tail-anchored proteins factor CAMLG Human genes 0.000 description 1
- 241000282412 Homo Species 0.000 description 1
- 101000932902 Homo sapiens Guided entry of tail-anchored proteins factor CAMLG Proteins 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 231100001261 hazardous Toxicity 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 230000033001 locomotion Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 235000021110 pickles Nutrition 0.000 description 1
- 230000008521 reorganization Effects 0.000 description 1
- 230000000284 resting effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0214—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0268—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
- G05D1/0274—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
- G01C21/206—Instruments for performing navigational calculations specially adapted for indoor navigation
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/0088—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0234—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using optical markers or beacons
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0287—Control of position or course in two dimensions specially adapted to land vehicles involving a plurality of land vehicles, e.g. fleet or convoy travelling
- G05D1/0291—Fleet control
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0287—Control of position or course in two dimensions specially adapted to land vehicles involving a plurality of land vehicles, e.g. fleet or convoy travelling
- G05D1/0291—Fleet control
- G05D1/0297—Fleet control by controlling means in a control room
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Aviation & Aerospace Engineering (AREA)
- Business, Economics & Management (AREA)
- Economics (AREA)
- Game Theory and Decision Science (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Marketing (AREA)
- Electromagnetism (AREA)
- Entrepreneurship & Innovation (AREA)
- Human Resources & Organizations (AREA)
- Development Economics (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
用于上下文映射空间内的区域以调节空间内的机器人导航的系统和方法,该方法包括:通过位于空间内的至少一个基准标记在空间内限定区域;将规则与该区域相关联,该规则至少部分地规定在区域内一个或多个机器人的操作;以及在区域内按照规则操作一个或多个机器人。
Description
相关申请的交叉引用
本申请要求于2018年9月19日提交的序列号为16/135,329的美国专利申请的优先权权益,该申请通过引用合并于此。
技术领域
本发明涉及调节机器人导航,并且更具体地涉及用于提供上下文增强的地图图层以调节机器人导航的区域引擎。
背景技术
通过互联网订购产品以送货上门是一种非常流行的购物方式。至少可以说,及时、准确、高效地履行此类订单对后勤构成挑战。单击虚拟购物车中的“结账”按钮可创建“订单”。订单包括要运送到特定地址的物品清单。“履行”的过程涉及从大型仓库中物理地取走或“拣选”这些物品,包装它们,然后将其运送到指定地址。因此,订单履行过程的重要目标是在尽可能短的时间内运送尽可能多的物品。
订单履行过程通常在包含许多产品(包括订单中列出的产品)的大型仓库中进行。因此,订单履行的任务之一是在仓库穿行以查找和收集订单中列出的各种物品。另外,将最终要运送的产品首先需要收在仓库中,并在整个仓库中以有序的方式存储或“放置”在存储仓中,以便可以容易地取回它们以进行运送。
在大型仓库中,正在交付和订购的货物可以彼此相隔非常远地被存储仓库中并且分散在许多其他货物中。在仅通过人类操作员来放置和拣选货物的订单处理过程中,操作员需要进行大量的步行,效率低且耗时。由于履行过程的效率是每单位时间运送的物品数量的函数,因此增加时间会降低效率。
为了提高效率,机器人可以用来执行人类的功能,也可以用来补充人类的活动。例如,可以指派机器人以将多个物品“放置”在散布在整个仓库中的各个位置,或者从各个位置“拣选”物品以进行包装和运送。拣选和放置可以单独由机器人完成,也可以在人类操作员的协助下完成。例如,在拣选操作的情况下,人类操作员将从货架上拣取物品并将其放置在机器人上;在放置操作的情况下,人类操作员将从机器人上拣取物品并将其放置在货架上。
在一定程度上,如果机器人同时在操作员和其他机器人的陪同下在一个仓库中导航,那么在不同大小和交通负荷的空间中,碰撞风险可能会根据即时机器人的位置而增加或减少。例如,在订单履行操作期间,机器人可以在碰撞风险最小的大型、低流量空间和碰撞风险很高的狭窄、高流量空间之间导航。另外,在一定程度上,如果将构造、维护、不可通行的障碍物、移位的产品、货盘、仓或货架或者其他此类临时或永久性障碍被引入仓库环境的程度下,可能会影响机器人的导航。
发明内容
本文提供了针对用于提供上下文增强地图图层以调节机器人导航的区域引擎的系统和方法。
在一个方面,提供了一种用于上下文映射空间内的区域以调节空间内的机器人导航的方法。该方法包括通过位于空间内的至少一个基准标记在空间内限定区域。该方法进一步包括将规则与区域相关联,该规则至少部分地规定在区域内一个或多个机器人的操作。该方法进一步包括在区域内按照规则操作一个或多个机器人。
在一些实施例中,该规则规定以下至少之一:区域是开放的还是封闭的、区域的类型、区域的最大占用率、区域的最大速度、区域的交通流方向性、进入或退出区域时的停止和等待行为、区域的限定是否已动态更新、区域的期满、或它们的组合。在一些实施例中,关联步骤进一步包括生成将区域与至少一个基准标记和规则相关的查找表。在一些实施例中,该方法进一步包括将一个或多个附加规则与区域相关联,附加规则至少部分地规定在区域内一个或多个机器人的操作。在一些实施例中,该方法进一步包括在区域内按照附加规则操作一个或多个机器人。在一些实施例中,附加规则规定以下至少之一:区域是开放的还是封闭的、区域的类型、区域的最大占用率、区域的最大速度、区域的交通流方向性、进入或退出区域时的停止和等待行为、区域的限定是否已动态更新、区域的期满,或它们的组合。
在一些实施例中,将一个或多个附加规则相关联的步骤进一步包括:生成将区域与至少一个基准标记、规则和附加规则相关的查找表。在一些实施例中,该方法进一步包括检测所述区域相对于第二区域的重叠或邻接中的至少一者。在一些实施例中,该方法进一步包括识别规则的值与第二区域的相应规则的相应值之间的冲突。在一些实施例中,该方法进一步包括生成冲突解决规则,以与由区域和第二区域共有的一个或多个共享基准标记所限定的重叠区域相关联。在一些实施例中,生成冲突解决规则的步骤进一步包括选择该值和相应值中的较高值或较低值。在一些实施例中,生成冲突解决规则的步骤进一步包括在该值与相应值之间限定目标值。在一些实施例中,生成冲突解决规则的步骤进一步包括将目标值与附带值公差相关联,使得附带值公差包括该值和相应值两者。
在一些实施例中,该方法进一步包括响应于检测到的至少一个基准标记的重新定位和/或重新定向,自动地在空间内重新限定区域。在一些实施例中,该方法进一步包括以下至少一项:响应于从机器人、仓库管理系统、用户或外部数据源中的一者或多者接收的数据,自动修改规则或自动添加附加规则。在一些实施例中,至少一个基准标记在空间内的位置由通过空间限定的坐标系的一组坐标来表示。在一些实施例中,空间内的至少一个基准标记与和基准标记具有相对位置的位姿相关,相对位置由通过空间限定的坐标系的一组坐标表示。在一些实施例中,区域的边界至少部分地由位姿限定。
在一些实施例中,操作步骤进一步包括从一个或多个机器人向中央控制器定期报告一个或多个机器人在空间内的位置。在一些实施例中,操作步骤进一步包括中央控制器响应于所报告的一个或多个机器人在区域内的位置,指示一个或多个机器人按照规则规定的进行操作。在一些实施例中,一个或多个机器人在空间内的位置不是通过读取至少一个基准标记来确定的。在一些实施例中,操作步骤进一步包括一个或多个机器人中的每个机器人定期检测该机器人在空间内的位置。在一些实施例中,操作步骤进一步包括响应于检测到该机器人在区域内的位置,按照规则规定的操作机器人。在一些实施例中,一个或多个机器人在空间内的位置不是通过读取至少一个基准标记来确定的。
在另一个方面,一种用于上下文映射空间内的区域以调节该空间内的机器人导航的系统,该系统包括处理器。该系统还包括存储器,该存储器存储在由处理器执行时使得系统执行以下操作的指令:通过位于空间内的至少一个基准标记在空间内限定区域;将规则与区域相关联,规则至少部分地规定在区域内一个或多个机器人的操作;以及在区域内按照规则操作一个或多个机器人。
在一些实施例中,存储器还存储在由处理器执行时使得系统执行以下操作的指令:在存储器中生成将区域与至少一个基准标记和规则相关联的查找表。在一些实施例中,存储器还存储在由处理器执行时使得系统执行以下操作的指令:将一个或多个附加规则与区域相关联,附加规则至少部分地规定在区域内一个或多个机器人的操作;以及在区域内按照附加规则操作一个或多个机器人。在一些实施例中,存储器还存储在由处理器执行时使得系统执行以下操作的指令:在存储器中生成将区域与至少一个基准标记、规则和附加规则相关联的查找表。在一些实施例中,存储器还存储在由处理器执行时使得系统执行以下操作的指令:响应于检测到的至少一个基准标记的重新定位和/或重新定向,自动地在空间内重新限定区域。在一些实施例中,存储器还存储在由处理器执行时使得系统执行以下操作的指令:响应于从机器人、仓库管理系统、用户或外部数据源中的一者或多者接收的数据,自动修改规则或自动添加附加规则。在一些实施例中,一个或多个机器人在空间内的位置不是通过读取至少一个基准标记来确定的。
通过下面的详细描述和附图,本发明的这些以及其他特征将变得显而易见,在附图中:
附图说明
图1是订单履行仓库的俯视图;
图2A是图1所示的仓库中使用的一个机器人的底座的正视图;
图2B是图1所示的仓库中使用的一个机器人的底座的透视图;
图3是图2A和图2B中的装备有电枢并停在图1所示的货架前面的机器人的透视图;
图4是使用机器人上的激光雷达创建的图1的仓库的部分地图;
图5是示出了定位散布在整个仓库中的基准标记以及存储基准标记位姿的过程的流程图;
图6是基准标识到位姿映射的表;
图7是储位(bin location)到基准标识映射的表;
图8是描述产品SKU到位姿映射过程的流程图;
图9是具有多个区域的订单履行仓库的俯视图;
图10是具有对应区域属性的区域ID到基准ID映射的表;
图11是示出用于解决重叠区域之间的冲突的方法的流程图;
图12是示例性计算系统的框图;以及
图13是示例性分布式网络的网络图。
具体实施方式
参考在附图中描绘和/或示出的并且在以下描述中详细描述的非限制性实施例和示例,更充分地说明本公开及其各种特征和有利细节。应当注意,附图中示出的特征不必按比例绘制,并且即使本文中未明确说明,本领域技术人员也可以将一个实施例的特征与其他实施例一起使用。可以省略对公知组件和处理技术的描述,以免不必要地使本公开的实施例晦涩难懂。本文使用的示例仅旨在促进对可以实践本公开的方式的理解,并且还使得本领域技术人员能够实践本公开的实施例。因此,本文的示例和实施例不应解释为限制本公开的范围。此外,应注意,贯穿附图的若干视图,相同的附图标记表示相同的部分。
本发明针对一种区域引擎,其用于提供上下文增强的地图图层以调节机器人导航。尽管不限于任何特定的机器人应用,但是本发明可以用于的一个合适的应用是订单履行。将描述在该应用中使用机器人以提供区域引擎的上下文,但不限于该应用。
参照图1,典型的订单履行仓库10包括装有可以包含在订单中的各种物品的货架12。在操作中,来自仓库管理服务器15的订单16的输入流抵达订单服务器14。订单服务器14可以对订单进行优先级排序和分组,以便在归纳过程中分配给机器人18。当操作员引入机器人时,在处理站(例如,站100),订单16被分配并被无线地传达给机器人18以被执行。本领域技术人员将理解,订单服务器14可以是具有离散软件系统的单独服务器,该离散软件系统被配置为与仓库管理系统服务器15和仓库管理软件互操作,或者可以将订单服务器功能集成到仓库管理软件中并在仓库管理服务器15上运行。
在优选实施例中,图2A和图2B所示的机器人18包括具有激光雷达22的自主轮式底座20。底座20还以收发器(未示出)以及一对数字光学摄像头24a和24b为特征,收发器使能机器人18从订单服务器14和/或其他机器人接收指令和向订单服务器14和/或其他机器人发送数据。机器人底座还包括充电端口26,用于为自动轮式底座20供电的电池再充电。底座20的特征还在于处理器(未显示),该处理器从激光雷达以及摄像头24a和24b接收数据,以捕获代表机器人环境的信息。存在与处理器一起操作的存储器(未示出),以执行与仓库10内的导航相关联的各种任务,以及导航到放置在货架12上的基准标记30(如图3所示)。基准标记30(例如,二维条形码)对应于所订购物品的仓/位置。下面参照图4至图8详细描述本发明的导航方法。根据本发明的一个方面,基准标记还用于识别充电站,并且到这种充电站基准标记的导航与到所订购物品的仓/位置的导航相同。当机器人导航到充电站时,将使用更精确的导航方法将机器人与充电站对接,以下描述这种导航方法。
再次参照图2B,底座20包括可以存放运载物品的容器(tote)或仓的上表面32。还示出了联接器34,其联接多个可互换电枢40中的任何一个,图3中示出了一个可互换电枢40。图3中特定的电枢40的特征在于用于运载容纳物品的容器44的容器支架42(在这种情况下为货架),以及用于支撑平板电脑48的平板电脑支架46(或膝上型电脑/其他用户输入设备)。在一些实施例中,电枢40支撑用于运载物品的一个或更多个容器。在其他实施例中,底座20支撑用于运载所容纳的物品的一个或更多个仓。如本文所使用的,术语“容器”包括但不限于货物支架、仓、笼子、货架、可以悬挂物品的杆、罐、板条箱、搁物架、置物架、搁板、容器、盒子、有盖容器、器皿和储物器。
尽管机器人18擅长在仓库10周围移动,但是利用当前的机器人技术,由于与机器人的物体操纵相关的技术困难,无法很好地快速有效地从货架上拣选物品并将其放置在容器44中。拣选物品的一种更有效的方法是使用本地操作员50(其通常是人)来执行从货架12上物理地移除已订购的物品并将其放置在机器人18上(例如,放置在容器44中)的任务。机器人18通过平板电脑48(或膝上型计算机/其他用户输入设备)将订单传达给本地操作员50,本地操作员50可以读取该平板电脑48,或者通过将订单发送给本地操作员50使用的手持设备。
在从订单服务器14接收到订单16之后,机器人18前进至第一仓库位置,例如,如图3所示。它基于存储在存储器中并由处理器执行的导航软件来执行此操作。导航软件依赖于由激光雷达22收集的关于环境的数据、存储器中的内部列表以及摄像头24a和24b来进行导航,内部列表识别基准标记30的基准标识(“ID”),该基准标识对应于仓库10中能够找到特定物品的位置。
在到达正确的位置(位姿)之后,机器人18将其自身停在存储有物品的货架12的前面,并等待本地操作员50从货架12取出物品并将其放置在容器44中。如果机器人18还有其他要取出的物品,它会前进到那些位置。然后,由机器人18取回的物品被传送到图1的处理站100,在此进行包装和运送。尽管已经参照该图将处理站100描述为能够归纳和卸载/打包机器人,但是处理站100可以被配置为在站点归纳或卸载/打包机器人,即,它们可能仅限于执行单个功能。
本领域技术人员将理解,每个机器人可以履行一个或多个订单,并且每个订单可以包括一个或多个物品。通常,将包括某种形式的路线优化软件以提高效率,但是这超出了本发明的范围,因此在此不进行描述。
为了简化本发明的描述,描述了单个机器人18和操作员50。但是,从图1可以明显看出,典型的履行操作包括许多机器人和操作员在仓库中相互合作以完成连续的订单流。
下面参照图4至图8详细描述了本发明的基线导航方法以及要取出的物品的SKU到与该物品所处的仓库中的基准标记相关联的基准ID/位姿的语义映射。
使用一个或多个机器人18,必须创建仓库10的地图,并且必须确定散布在整个仓库中的各种基准标记的位置。为此,一个或多个机器人18在他们正在建立/更新地图10a的仓库进行导航时(如图4所示),利用其激光雷达22和同时定位和地图绘制(SLAM),这是构造或更新未知环境的地图的计算问题。流行的SLAM近似解法包括粒子滤波器和扩展卡尔曼滤波器。SLAM GMapping方法是优选方法,但是可以使用任何合适的SLAM方法。
机器人18利用其激光雷达22来创建仓库10的地图10a,因为机器人18基于在激光雷达扫描环境时接收到的反射来识别空间中的开放空间112、墙壁114、物体116和其他静态障碍物(例如,货架12),从而遍历整个空间。
在构造地图10a(或此后对其进行更新)时,一个或多个机器人18使用摄像头26扫描环境以在整个仓库10进行导航,从而将遍布整个仓库的基准标记(二维条形码)定位在靠近仓的在其中存放物品的货架(例如图3的32和34)上。机器人18使用已知的起点或作为参考的原点,例如原点110。当机器人18使用其摄像头26定位基准标记(例如,图3和图4的基准标记30)时,确定仓库中的相对于原点110的位置。
通过使用车轮编码器和航向传感器,可以确定矢量120和机器人在仓库10中的位置。使用基准标记/二维条形码的捕获图像及其已知大小,机器人18可以确定机器人相对于基准标记/二维条形码的方向和距离,即矢量130。已知矢量120和130可以确定原点110与基准标记30之间的矢量140。根据矢量140和所确定的基准标记/二维条形码相对于机器人18的取向,可以确定由基准标记30的四元数(x,y,z,ω)定义的位姿(位置和取向)。
描述了图5的描绘基准标记定位过程的流程图200。这是在初始映射模式下并且当机器人18在执行拣选、放置和/或其他任务时在仓库中遇到新的基准标记时执行的。在步骤202中,机器人18使用摄像头26捕获图像,在步骤204中,在捕获的图像内搜索基准标记。在步骤206中,如果在图像中找到基准标记(步骤204),则确定基准标记是否已经存储在图6的基准表300中,该基准表位于机器人18的存储器34中。如果基准信息已经存储在存储器中,则流程图返回到步骤202以捕获另一图像。如果不在存储器中,则根据上述过程确定位姿,并在步骤208中将其添加到基准到位姿查找表300。
在可以存储在每个机器人的存储器中的查找表300中,每个基准标记包括基准标识1、2、3等,以及基准标记/条形码的与每个基准标识关联的位姿。位姿由仓库中的x、y、z坐标以及方向或四元数(x,y,z,ω)组成。
在也可以被存储在每个机器人的存储器中的图7的另一个查找表400中,是仓库10内与特定基准ID 400(例如数字“11”)相关联的储位(例如402a-f)的列表。在此示例中,储位由七个字母数字字符组成。前六个字符(例如L01001)与仓库内的货架位置有关,最后一个字符(例如A-F)标识货架位置上的特定仓。在该示例中,存在与基准ID“11”相关联的六个不同的储位。可以存在与每个基准ID/标记关联的一个或多个仓。
例如,人类(例如,图3中的操作员50)可以理解字母数字储位与仓库10中存放物品的物理位置相对应。但是,它们对机器人18没有意义。通过将位置映射到基准ID,机器人18能够使用图6的表300中的信息确定基准ID的位姿,然后导航至该位姿,如本文所描述的。
在图8的流程图500中描绘了根据本发明的订单履行过程。在步骤502中,订单服务器14从仓库管理系统15获取订单,该订单可以包括要取出的一个或多个物品。应注意,订单分配过程相当复杂,并且超出了本公开的范围。在2016年9月1日提交的题为“OrderGrouping in Warehouse Order Fulfillment Operations(仓库订单履行操作中的订单分组)”的共同拥有的美国专利申请序列号15/807,672中描述了一种这样的订单分配过程,该申请的全部内容通过引用合并于此。还应注意,机器人可以具有允许单个机器人执行多个订单的容器阵列,每个仓或隔室一个订单。这种容器阵列的示例在2016年9月1日提交的题为“Item Storage Array for Mobile Base in Robot Assisted Order-FulfillmentOperations(机器人辅助订单履行操作中的移动底座的物品存储阵列)”的美国专利申请序列号15/254,321中进行了描述,该申请的全部内容通过引用合并于此。
继续参照图8,在步骤504中,由仓库管理系统15确定物品的SKU编号,在步骤506中根据SKU编号确定仓的位置。然后,向机器人18发送订单的储位的列表。在步骤508中,机器人18将储位与基准ID相关联,在步骤510中根据基准ID获得每个基准ID的位姿。在步骤512中,机器人18导航到如图3所示的位姿,操作员可以从适当的仓中拣选要取处的物品并将其放在机器人上。
可以向机器人18上的平板电脑48发送由仓库管理系统15/订单服务器14获得的诸如SKU编号和储位的物品特定信息,以便可以在机器人到达每个基准标记位置时通知操作员50要取出的特定物品。
借助SLAM映射和已知的基准ID的位姿,机器人18可以使用各种机器人导航技术轻松导航至任何一个基准ID。优选方法涉及在已知仓库10中的开放空间112以及墙壁114、货架(例如货架12)和其他障碍物116的情况下,设置到基准标记位姿的初始路线。当机器人开始使用其激光雷达26在仓库穿行时,确定其路径中是否有固定或动态的障碍物(例如其他机器人18和/或操作员50),并迭代地将其路径更新为基准标记的位姿。机器人大约每50毫秒重新规划路线,不断寻找最高效且最有效的路径,同时避开障碍物。
通过将产品SKU/基准ID到基准位姿映射技术与本文所描述的SLAM导航技术相结合,机器人18能够非常高效且有效地在仓库空间进行导航,而不必使用通常所用的涉及用于确定仓库内的位置的网格线和中间基准标记的更复杂的导航方法。
如上所述,当多个机器人在与人、设备和其他障碍物并排的空间内的不同区域中导航时可能出现的问题可能带来碰撞和/或交通拥堵的风险。机器人导航的动态、基于区域的调节可以通过区域引擎提供的上下文增强地图图层来实现。在一些实施例中,区域引擎可以是仓库管理系统15或订单服务器14的模块,或者在一些实施例中,区域引擎可以在独立的区域服务器或系统中实现。区域引擎用于提供与SLAM地图相对应的上下文增强地图图层(CAML),并存储在机器人18的存储器中,以用于在导航空间穿行。CAML可以包括多个动态可定义的区域,每个区域与一个或多个导航规则相关联,以供相应区域内的任何机器人观察。在最高级别上,如以下更详细描述的,可以将导航规则分为两类:1)允许机器人18进入和穿行的“开放”或可导航区域,以及2)机器人18不允许穿行或进入的“封闭”或“禁入(nogo)”区域。对应于每个区域的其他规则和约束条件可以包括例如速度限制、最低速度、行进方向的限制、最大占用率限制、停止和等待要求、或机器人导航和在导航空间(例如,仓库10)内行进的任何其他规则或限制。另外,可以为区域提供一组自定义配置的规则/限制,也可以将区域分配给一个或多个预先配置的类别,例如,禁入区域、通道区域、单向区域、对接区域、排队区域、位姿区域或任何其他合适的预配置类别。此外,区域可以是永久的(例如,区域将保持建立状态,直到用户将其从CAML中删除为止),也可以是临时的(例如,区域将在预定时间后或从指定区域重新定位或移除一个或多个基准或对象时过期)。
更概括地,CAML的目的是向上述机器人18使用的导航(SLAM)地图添加元信息的灵活层。通过合并这种动态的、基于区域的导航规则,机器人18能够基于其位置的上下文适当地操作。在一些实施例中,这是因为CAML有效地在地图上“标记”了与影响机器人在区域的限定边界内的行为的特性相关联的区域或区。
通常,可以通过组合每个边界点的位置和与其相关联的任何缓冲区域(例如,基准标记和与其相关联的位姿之间的间隔)来计算包围边界点的区域边界。然后可以根据需要将膨胀、紧缩或偏斜属性应用于计算出的边界几何形状。在一些实施例中,在基准标记已经位于站点“占用栅格”(SLAM)地图上的情况下,可以分析基准标记周围的区域以确定基准前面区域(即,从可见基准的位置)和基准后面的区域(通常是一些坚固且不可逾越的障碍物,例如货架或仓)的方向性。在一些实施例中,为简单起见并促进定义区域的自动化,当使用一组基准来提供限定区域的边界点时,如果边界点基准彼此“面对”,则可以绘制包围基准之间的空间的边界,因此将畅通空间“通道”捕获为限定区域。当边界点基准彼此背对时,边界可以代替地包围其上安装有基准的物理结构(例如,货架、仓等),作为限定的禁入区域。在一些实施例中,可以产生更复杂的边界,其中基准的方向和在其各个区域中存在的物理结构更复杂的几何形状。例如,在一些实施例中,跨越多个通道的区域可以被自动分解成相关的畅通和占用率区域。在一些实施例中,这样的分解可以在机器人系统内部执行,并且因此对于负责限定区域的用户或程序员是透明的。
通常,区域引擎系统可以使用区域限定来提供上下文增强地图图层,尽管该区域限定最终被映射到较大的网格地图上的笛卡尔参考系中,但是其基于边界点基准标记的位置被限定在更高的级别上。有利地,通过提供这种更高级别的区域限定,在一些实施例中,可以根据需要自动地重新计算区域边界。因此,如果在随后的地图或地图更新上基准边界点位置已更改,则可以自动重新定位区域并更改其尺寸,而无需任何用户参与。例如,如果基准已经移至邻接的通道,则范围可能从对边界的微小更改变为到完全重新定位空间内的边界。特别地,在根据边界点基准标记来限定区域之外,这种布置允许区域的自动重组和修改而无需人为干预。与在笛卡尔参考系中以用户级别限定区域的情况相比,这提供了更加灵活和动态的系统。
鉴于本公开,将显而易见的是,在一些实施例中,可以基于特定站点地图的原点使用固定的笛卡尔坐标来至少部分地限定区域。但是,这种方法不如使用边界点基准标记灵活,并且仅当没有基准标记可用时和/或如果区域与站点的物理基础结构紧密联系且因此预计不会随时间推移移动时,才建议使用此方法。
图9示出了具有一个或多个区域901、903、905、907的样本导航空间900(例如,仓库10)。每个区域可以由一个或多个边界点90la-b、903a-d、905a和907a-d限定,每个边界点对应于导航空间900内的基准标记30之一。特别地,每个区域901、903、905、907可以由一组0至n个边界点90la-b、903a-d、905a和907a-d来限定。
边界点90la-b、903a-d、905a和907a-d分别对应于仓库内存在的基准标记30和/或相关的位姿位置,从而至少部分地限定了区域的几何形状。特别地,如上所述,每个基准标记30可以与位姿相关联,该位姿可以包括相对于与该位姿相关联的基准标记30在导航空间900内的位置和方向。进一步如上所述,基准标记30与位姿之间的相关性有助于机器人18贯穿导航空间900的导航,并且有助于拣选、充电或其他机器人18的活动。因此,如上所述,响应于例如基准标记30的运动和/或位姿,有利地提供与基准标记30和/或位姿相对应的每个边界点90la-b、903a-d、905a和907a-d,以自动地、动态地、灵活地重新配置区域。此外,由于边界点90la-b、903a-d、905a和907a-d以及位姿与基准标记30相关联,因此所有三个位置和方向数据集已被描述并内置到导航系统中,并将动态地相对于彼此更新。因此,任何改变(例如,基准标记30的重新定位)都可以自动地将更新推入整个系统,而不需要效率低、容易出错的过程来分别更新所有三个数据集(基准标记、位姿和边界点)。
一旦确定了区域边界点901a-b、903a-d、905a和907a-d,然后可以通过对那些边界点901a-b、903a-d、905a和907a-d施加几何约束来影响最终的区域几何形状。通常,可以以任何合适的方式确定区域的几何形状。例如,该区域可以从由两个以上的边界点形成的边缘沿一个或多个方向延伸,可以向外延伸以包围单个边界点从而限定圆形或多边形的区域,可以在由三个以上的边界点限定的周界内形成区域,和/或可以从由三个以上的边界点限定的周界的至少一部分向外延伸。在每种情况下,都可以提供进一步的限定,例如,区域从点或边缘延伸的距离、特定区域的形状(例如,圆形或多边形)和/或一个或多个边缘的形状(例如,凸的、凹的、直的)。
例如,如图9所示,高速路区域901从在边界点90la-b之间形成的边缘902朝向仓库10的墙壁(或其他永久性结构)延伸。如图9所示,高速路区域901沿着实际的拣选和储物货架12以外的相对宽的道路建立。因为高速路区域901中有足够的空间并且人和机器人的交通可能更少,所以对于高速路区域901内的机器人18来说以全速运行时进行双向行驶是合理的。
如图9进一步所示,在一些实施例中,可以提供单向区域903。如图9所示,单向区域可以例如是由拐角边界点限定的周界内部(例如,如在边界点903a-d之间形成的区域903中)。单向区域903可以例如是相对狭窄和/或较高流量的区域,例如两个紧密放置的货架12之间的狭窄通道,其中在没有过多碰撞风险的情况下,双向机器人交通是不可行的。因此,如图9所示,单向区域903可以被约束在CAML中,使得机器人18仅能够通过在边界点903a和903b之间延伸的第一边缘904a处进入并在边界点903c和903d之间延伸的第二边缘904b处离开而在该区域穿行。另外,例如,狭窄、拥挤的区域(例如单向区域903),可以进一步实行减小的速度极限,以为人类拣选员和机器人18等提供额外的时间来进行诸如转弯或停止的碰撞避免活动。在一些实施例中,单向区域903可以包括最大占用限制以减轻区域903内的拥挤。
另外如图9所示,充电区域905可以指定从单个边界点905a延伸的预定半径,以形成围绕一个或多个充电站的圆形区域形状。或者,在一些实施例中,可以将区域形状规定为围绕边界点905a的任何合适的形状,例如矩形、正方形、任何其他多边形、椭圆形或任何其他合适的形状、或它们的组合。由于需要对机器人18进行定期充电,因此一排充电站通常会遇到较高的机器人流量。因此,充电区域905可以包括相对低的速度极限。此外,如上所述,在一些实施例中,随着机器人18接近充电站,可以激活更精确的导航方法以提供使机器人与充电站对接所需的更精细的位置调整。例如,在一些实施例中,在充电区域905内,可以提供更细粒度的局部坐标系,使得用于高精度操纵(例如,机器人18与充电站机器人18之间的对接)的局部坐标(x,y,z,ω)为机器人18的位置调整提供比普通导航更好的位置调整。
如图9所示,在一些实施例中,避障区域907可以被限定为封闭并占据在边界点907a-d所限定的周界内。在一些实施例(未示出)中,避障区域可以进一步限定至少部分地围绕周界的绕行路径,该绕行路径从周界的一个或多个边缘向外延伸。在这样的实施例中,避障区域可以包括禁止机器人在周界内导航并且需要沿着绕行路径在周界周围穿行的导航规则。
现在参照图10,区域属性查找表950可以存储在每个机器人18的存储器中,该查找表950包括诸如仓库10的导航空间900内的每个区域901、903、905和907的列表。表中的每个区域901、903、905和907与特定基准ID 4-14相关联,这些特定基准ID 4-14被标识为与各个区域901、903、905和907关联的边界点90la-b、903a-d、905a和907a-d。
如上所述,可以将多个属性和/或导航规则/约束与所限定的区域相关联,其中一些可以是强制性的,而其中一些可以是可选的。通常,无论是强制性的还是可选的,区域都应被限定为避免应用互斥属性。例如,一个区域不能同时是开放的和封闭的。可分配给所有区域的强制性属性示例包括区域类型、最大占用率和最大速度极限。可选区域属性的示例可以包括交通流(例如,单向或双向交通、入口点和出口点)、停止和等待、动态更新和期满。通常,类型标识要限定的区域的类别或类型(例如,开放、封闭、禁入、通道、队列、停靠或自定义)。每种类型可以包括一组特定的默认属性设置,这些设置可以是固定的,也可以由用户部分或完全编辑。另外,每种类型可以包括一组不同的强制和/或可选属性。
再次参照图10的区域属性查找表950,表950包括属性区域ID、边界点ID、开放/封闭、区域类型、最大占用率、最大速度、交通流、停止和等待、动态更新和期满。如图10所示,并非所有区域类型包括所有属性。例如,仅单向区域包括“交通流”属性中的值。下面将更详细地描述这些属性。
开放/封闭属性指示特定区域对机器人进入而言是可导航的还是封闭的。此外,当区域被限定为封闭的时,必须设置另外的“占用”属性,以指示该区域是由于物理障碍而封闭还是原则上仍可通行。通过区分物理和虚拟障碍,系统可以在紧急情况下提供适当的指令。例如,机器人可能被放置在或无意中进入封闭区域。在这样的情况下,需要向机器人18提供关于是否试图离开该区域以便不违反禁入或保持站立并避免潜在危险的指令。可以参考占用属性来做出这样的确定,使得机器人能够尽可能快且有效地离开未占用的封闭区域,而机器人可以在已占用的封闭区域内保持静止,从而避免障碍物或危险。
最大占用属性规定了机器人18的最大数,或者指示了在任何一次区域中允许的机器人和人类的最大组合数。除了减少碰撞和拥堵之外,具有最大占用极限的区域还可以为规划提供更高级别的指导,以使路线规划和/或优化系统不利于使机器人18穿过这样的区域而中转到另一个位置。因此,该系统可以避免中转中的机器人聚集在通常为高使用率的区域(例如,在该区域内频繁拣选物品)内而造成拥挤。
最大速度属性规定了在区域内操作的机器人18的最大允许速度。例如,可以在较敏感的区域类型(例如,队列或码头)中限制最大机器人操作速度,或者在人流量大、空间狭窄或不适合高速操作的区域中降低速度。或者,也可以将最高速度设置得很高,以允许机器人使用“高速路”区域,在该区域可以实现并保持较高的速度。在一些实施例中,高速路区域可以被构造为单独的区域类型。但是,根据本公开将显而易见的是,在一些实施例中,可以由很高的最大允许速度来暗示高速路区域而不是单独的类型。这样的高速路区域是有利的,例如,在拣选之物以较大的行进距离间隔开并且该距离的至少一部分可以沿着笔直的、宽的通道行进的较大的地点。同样,从拣选任务到卸货队列、归纳队列或充电座可能需要很长的行进距离,并且可以通过使用高速路区域来加快行驶速度。
交通流属性可以规定区域内的行进方向。在一些实施例中,可以通过识别与区域相关联的一对边缘ID列来建立流属性,如图10的表中所示。通常,第一边缘ID列可以为区域指定允许的“入口边缘”,第二边缘ID列可以指定允许的“出口边缘”。当机器人18选择了期望的入口边缘和相应的出口边缘时,可以通过例如连接两个边缘的中心来确定方向矢量。
在一些实施例中,可以通过方向属性和相应的公差属性值来确定流量。方向属性可以表示为机器人行进矢量相对于区域整体方向的目标角度。相应的公差属性值可以指示与目标方向属性之间可接受的角度偏差。通过将相应的公差属性值与方向属性相结合,可以确定可接受的区域内行进角度的范围。例如,对于-90°的方向属性值和+/-5°的相应的公差属性值,该区域内可接受的机器人行进矢量可以在-850至-95°的范围内。
停止和等待属性可以指示机器人在越过边缘进入或退出区域之前在特定区域的一个或多个边缘处的停止和等待行为。在一些实施例中,停止属性本身可以包括诸如等待时长、在继续进行进度之前必须满足的行驶条件的相关联的属性。可以在例如主通道和货架通道之间的交叉点使用停止属性。在这样的实施例中,将要求机器人18在相交的边缘处停止并执行扫描以验证在机器人附近的预定距离内没有迎面而来的机器人或人流。如果扫描是畅通的,则机器人18可以继续进行,如果扫描检测到迎面而来的车流,则机器人必须等待规定的时间段,然后重新扫描,重复直到交叉路口畅通为止。
动态更新属性标识该区域的当前位置、大小和形状是否与原始用户限定的区域一致,或者该区域是否已由系统动态更新。例如,如果与某个区域关联的一个或多个基准标记边界点移动到仓库内的新物理位置,则将在SLAM地图更新期间检测到该新位置,从而自动更新基准标记边界点的位置并相应地更新区域的大小、形状和位置。因此,动态更新属性跟踪用户限定区域是否已更新,以便可以通知用户此类更改或查找此类更改。
期满属性规定了在区域服务器自动删除或重新配置该区域之前的剩余时间。例如,可以预期为预定维护而阻塞的通道仅在完成预定维护之前的规定时间段内被阻塞。在这样的实施例中,维护区域可以被临时限定为封闭区域,并且在指定的时间段期满之后,该区域可以重新开放。在一些实施例中,规定时间可以基于其他系统知识/事件,例如存储在仓库管理系统中的维护时间表。在另一示例中,可以预期在规定的小时数内清理由于液体洒落而湿滑的区域。在一些实施例中,可以响应于例如由一个或多个机器人18、仓库管理系统、用户或其他数据源(例如,指示液体洒落尚未清理的机器人)提供的数据来动态地更新或重置期满属性。
鉴于本公开,将显而易见的是,在一些实施例中,可以添加额外的属性来描述与特定区域相关联的任何附加约束和/或规定。鉴于本公开,将进一步显而易见的是,可以响应于一个或多个机器人18、仓库管理系统、用户或其他数据源(例如,互联网、供应商数据库、客户数据库或任何其他合适的数据源)提供的数据来动态地更新任何属性。例如,在一些实施例中,封闭区域可以被包含可拣选的库存物品的货架占据。这样的区域可以包括用于跟踪连接到库存本身的数据的属性,这些数据预计会影响机器人行为。例如,库存物品是快速变化还是缓慢变化(高需求或低需求)可能会影响机器人用来存取物品的邻接开放区域。因此,如果特定区域中的平均库存正在快速变化,则该区域的最大占用率可以自动增加,以提供更高的机器人吞吐量。由于增加了机器人和人工拣选员的交通量,开放区域也可以更新为单向区域,以减少碰撞和交通拥堵的风险。
在任何区域都被称为父区域和子区域的情况下,例如,将包含多个货架和通道的拣选区域细分为多个开放(通道)和封闭(货架)区域,可以包含父参考属性以捕获每个区域与其所包含的任何子区域或它所属的父区域的关系。
在一些实施例中,在一个或多个区域相交的地方,可能存在不容易识别的父子关系。但是,必须解决属性的相交“重叠”,以使相交具有有效的、不冲突的规则。当相同类型的区域重叠或邻接时,这种情况通常会发挥作用。但是,相交/重叠通常会发生在两种或多种类型之间,或者在区域具有全局属性的特殊本地化版本的地方。因此,区域引擎系统可以被配置为针对相交区域产生一个有效的属性集,而不管类型如何,也不管相交是否被指定为单独的区域。
在一些实施例中,确定相交属性可以包括如图11的流程图中所描述的两个步骤的过程。首先,区域引擎系统可以识别1201两个或多个重叠区域的属性值之间的一个或多个冲突。最初,系统可以汇总重叠的区域属性。在汇总期间,可以比较和过滤与每个重叠区域关联的相关属性。例如,在一些实施例中,可以忽略被标识为仅对于一个重叠区域来说是唯一的或被定位为距相交处超过预定距离的任何边界点。在一些实施例中,被标识为仅对于一个重叠区域来说是唯一的任何属性可以在不互斥或与其他此类属性冲突的情况下被保留为相交区域的性质,或者可以被视为不适用而被整体丢弃。或者,可以根据一个或多个预定义规则仅保留选择的唯一属性。被标识为对于相交区域中的所有重叠区域而言都相同且适用的任何属性都可以在不互斥或不与其他此类属性冲突的情况下保持位在该相交区域内可适用。在至少两个重叠区域包括一个或多个相同属性的不同值或冲突值的情况下,这些值可以被识别1201,并对其进行进一步处理以进行解决冲突的第二步骤。
仍然参照图11,冲突解决可以用于评估,然后为该属性生成冲突解决的单个值,其中为重叠区域分配不同值。通常,单个值应与原始区域值兼容。这样的属性可以包括例如速度极限和占用率极限,它们通常是为每个区域专门分配的,并且可能具有相交的不同限定。这样的属性还可以包括行进的方向性,特别是在单向区域、双向区域和/或无人区域相交的地方。
关于诸如速度极限和占用率极限的数量值,通常可以通过“全捕获(catch-all)”方法来实现冲突解决。再次参照图11,一种这样的方法可以包括选择1205重叠区域的冲突属性值的最高值或最低值。例如,保守策略可以将最低值属性应用于相交区域(例如,最低最大速度或最低最大占用率)。保守的方法可能会减少机器人之间发生事故/碰撞的风险,但也可能会减慢拣选速度并降低拣选效率。替代地,不那么保守的方法可以默认使用区域的最高属性值(只要提供的值不会造成内在的危险条件),这可能会稍微增加机器人之间发生事故/碰撞的风险,但可以更快、更高效地进行拣选。
关于更复杂的冲突解决方案,例如方向值、属性值中的容差,可以帮助成功解决。特别地,通过提供可接受的属性值范围,公差可以允许冲突属性值范围之间存在部分重叠,否则冲突将无法解决。因此,如图11所示,可以通过在重叠区域的属性值和附带值公差之间定义1207目标值,使得附带值公差包括重叠区域的属性值,来实现冲突解决。例如,在单向区域相交的情况下,在方向值范围不重叠(例如,具有相反的交通流方向的单向区域共享出口边缘)的情况下,没有可能的解决方案。对于此类无法解决的冲突,该冲突必须由区域引擎标识,并且可以通过修改一个或多个重叠区域的属性或通过警告用户需要重新配置区域地图来自动解决。
对于其他区域,可以将这种公差配置为允许机器人从一个区域穿行到下一个区域。例如,在具有两个相交的单向区域的实施例中,一个具有90°(东向)的方向属性值,而另一个具有135°(东南向)的方向属性值。缺少公差范围,这些方向值不兼容。但是,为了提高机器人在每个区域内的最大导航灵活性,可以将公差值设置为安全合理的高值。因此,在单向区域中,可以使用与沿“正确”方向连续移动机器人相关联的最大公差值。为此,可以将这种公差值相对于目标方向属性值设置为+/-89°。参照上述示例,对于具有90°方向属性值的第一区域,这种公差将允许在1°至179°之间的方向运动范围,对于具有135°方向属性值的第二区域,方向运动范围在46°至224°之间。这些范围之间的重叠范围为46°至179°,可以将其分配给相交区域,因为方向属性值的解析属性=112.5°,公差值=+/-66.5°。
在使用入口边缘和出口边缘限定方向限制区域的实施例中,将执行那些相交区域的共享边缘或共享边缘部分的冲突解决方案,作为区域限定的区域引擎处理的一部分。例如,如果相交区域的边缘限定导致阻塞效果(例如,单向子区域的入口边缘位于通道的中间,并且与由父区域在同一通道中限定的出口边缘冲突(反之亦然))。在这种情况下,如果存在这种边缘属性,区域引擎将尝试解决不存在冲突的边缘属性。如果没有可用的解决方案,则将通知用户需要重新配置区域地图。
在一些实施例中,既不相交也不具有父子关系的区域也可能以需要对相关区域进行属性修改的方式相互影响。这样的关系通常由区域接近度和受该接近性质影响的属性的存在来限定。在一些实施例中,在“封闭”(例如,禁入)区域的属性影响邻接的“开放”区域的属性的地方可能发生这种关系。例如,如果将通道指定为空闲的封闭区域,则区域引擎可以(自动或响应于用户指令)修改“开放”通道或与禁入通道邻接的通道的最大占用率,以容纳在禁入区域周围穿行的其他机器人。此外,在仍然从禁入区域中拣选产品的情况下,可以增大邻接的一个或多个“开放”通道的最大占用率,以容纳在禁入区域附近排队的机器人。
类似地,如果将货架结构或其他物品的库存位置指定为已占用的封闭区域,并且区域引擎通过拣货单分析或通过用户输入自动确定在该货架结构/库存位置上存放的一个或多个物品的需求很高(例如,存放了每次购买都会赠送的免费礼物,或者存放了预期初始销售很高的时尚新产品),区域引擎可以(自动或响应于用户指令)修改“开放”通道或与该货架结构/库存位置邻接的通道的最大占用率,以容纳在已占用的封闭区域周围穿行及在其附近排队的其他机器人。
鉴于本公开,将显而易见的是,以上仅出于例示目的描述了示例性区域,并且可以根据各种实施例来实现任何大小和形状的任何其他区域、由任何数目的基准标记限定并且具有任何数目或类型的属性、导航规则、与其他区域的关系或约束条件。
非限制性示例计算设备
图12是根据如上参照图1至图11描述的各种实施例的示例性计算设备1010的框图,例如,该示例性计算设备或其一部分可以被使用。计算设备1010包括一个或多个非暂时性计算机可读介质,用于存储一个或多个用于实施示例性实施例的计算机可执行指令或软件。非暂时性计算机可读介质可以包括但不限于一种或多种类型的硬件存储器、非暂时性有形介质(例如,一个或多个磁存储盘、一个或多个光盘、一个或多个闪存驱动器)等。例如,包括在计算设备1010中的存储器1016可以存储用于执行本文公开的操作的计算机可读计算机可执行指令或软件。例如,存储器可以存储软件应用1040,该软件应用1040被编程为执行如关于图1至图11所讨论的各种所公开的操作。计算设备1010还可以包括可配置的和/或可编程的处理器1012和相关联的核1014,以及可选地,一个或多个另外的可配置的和/或可编程的处理设备,例如,处理器1012'和相关联的核1014'(例如,在具有多个处理器/核的计算设备的情况下),用于执行存储在存储器1016中的计算机可读计算机可执行指令或软件以及用于控制系统硬件的其他程序。处理器1012和处理器1012'可以分别是单核处理器或多核(1014和1014')处理器。
可以在计算设备1010中采用虚拟化,以便可以动态共享计算设备中的基础设施和资源。可以提供虚拟机1024来处理在多个处理器上运行的进程,以便该进程仅使用一个计算资源,而不是使用多个计算资源。多个虚拟机也可以与一个处理器一起使用。
存储器1016可以包括计算设备存储器或随机存取存储器,例如但不限于DRAM、SRAM、EDO RAM等。存储器1016也可以包括其他类型的存储器或其组合。
用户可以通过诸如计算机监视器的视觉显示设备1001、111A-D与计算设备1010交互,该视觉显示设备可以显示根据示例性实施例可以提供的一个或多个用户界面1002。计算设备1010可以包括用于从用户接收输入的其他I/O设备,例如键盘或任何合适的多点触摸界面1018、定点设备1020(例如,鼠标)。键盘1018和定点设备1020可以耦接到视觉显示设备1001。计算设备1010可以包括其他合适的常规I/O外围设备。
计算设备1010还可以包括一个或多个存储设备1034,例如但不限于硬盘驱动器、CD-ROM或其他计算机可读介质,用于存储数据以及执行本文所公开的操作的计算机可读指令和/或软件。示例性存储设备1034还可以存储一个或多个数据库,用于存储实现示例性实施例所需的任何合适的信息。可以在任何合适的时间手动或自动更新数据库,以添加、删除和/或更新数据库中的一项或多项。
计算设备1010可以包括网络接口1022,该网络接口1022被配置为通过一个或多个网络设备1032与一个或多个网络对接:局域网(LAN)、广域网(WAN)或通过包括但不限于以下各项的各种连接的互联网:标准电话线、LAN或WAN链接(例如802.11、T1、T3、56kb、X.25)、宽带连接(例如ISDN、帧中继、ATM)、无线连接、控制器局域网(CAN)或上述任何一项或全部的某种组合。网络接口1022可以包括内置网络适配器、网络接口卡、PCMCIA网络卡、卡总线网络适配器、无线网络适配器、USB网络适配器、调制解调器或适合于将计算设备1010与能够进行通信并执行本文所描述的操作的任何类型的网络对接的任何其他设备。此外,计算设备1010可以是能够进行通信并且具有足够的处理器能力和/或存储器能力以执行本文所描述的操作的任何计算设备,例如,工作站、台式计算机、服务器、膝上型计算机、手持计算机、平板计算机或其他形式的计算或电信设备。
计算设备1010可以运行任何操作系统1026,例如任何版本的 操作系统(Microsoft、Redmond、Wash)、不同版本的Unix和Linux操作系统、适用于Macintosh计算机的任何版本的MAC(Apple,Inc.,Cupertino,Calif.)操作系统、任何嵌入式操作系统、任何实时操作系统、任何开源操作系统、任何专有操作系统或能够在计算设备上运行并执行本文所述的操作的任何其他操作系统。在示例性实施例中,操作系统1026可以以本机模式或仿真模式运行。在示例性实施例中,操作系统1026可以在一个或多个云机实例上运行。
图13是某些分布式实施例的示例计算设备框图。虽然图1至图11,以及上面的示例性讨论的一部分,参考了均在单独或公共计算设备上运行的仓库管理系统15、订单服务器14和区域服务器,人们将认识到仓库管理系统15、订单服务器14和区域服务器中的任何一者可以替代地跨网络1105分布在单独的服务器系统101a-d中,并可能分布在用户系统(例如,自助服务终端、台式计算机设备1102或移动计算机设备1103)中。例如,订单服务器14和/或区域服务器可以分布在机器人18的平板电脑48之间。在某些分布式系统中,仓库管理系统软件、订单服务器软件和区域引擎中的任何一个或多个的模块可以分别位于服务器系统1101a-d上,并且可以跨网络1105相互通信。
尽管本发明的前述描述使本领域普通技术人员能够制造和使用目前被认为是其最佳模式的技术,但是本领域普通技术人员将理解并领会具体实施例的变型、组合和等同形式的存在。本发明的上述实施例仅是示例。在不脱离仅由所附权利要求限定的本发明的范围的情况下,本领域技术人员可以对特定实施例进行改变、修改和变化。因此,本发明不受上述实施例和示例的限制。
声明为新的并且由专利证书提供保证的是已经描述的本发明及其优选实施例。
Claims (25)
1.一种用于上下文映射空间内的区域以调节所述空间内的机器人导航的方法,所述方法包括:
通过位于所述空间内的至少一个基准标记在所述空间内限定区域;
将规则与所述区域相关联,所述规则至少部分地规定了一个或多个机器人在所述区域内的操作;以及
在所述区域内按照所述规则操作所述一个或多个机器人。
2.根据权利要求1所述的方法,其中,所述规则规定以下至少一项:所述区域是开放的还是封闭的、所述区域的类型、所述区域的最大占用率、所述区域的最大速度、所述区域的交通流方向性、进入或退出所述区域时的停止和等待行为、所述区域的限定是否已动态更新、所述区域的期满、或它们的组合。
3.根据权利要求1所述的方法,其中,所述相关联步骤进一步包括:生成将所述区域与所述至少一个基准标记和所述规则相关的查找表。
4.根据权利要求1所述的方法,进一步包括:
将一个或多个附加规则与所述区域相关联,所述附加规则至少部分地规定了一个或多个机器人在所述区域内的操作;以及
在所述区域内按照所述附加规则操作所述一个或多个机器人。
5.根据权利要求4所述的方法,其中,所述附加规则规定了以下至少一项:所述区域是开放的还是封闭的、所述区域的类型、所述区域的最大占用率、所述区域的最大速度、所述区域的交通流方向性、进入或退出所述区域时的停止和等待行为、所述区域的限定是否已动态更新、所述区域的期满、或它们的组合。
6.根据权利要求4所述的方法,其中,所述将一个或多个附加规则相关联的步骤进一步包括:生成将所述区域与所述至少一个基准标记、所述规则和所述附加规则相关的查找表。
7.根据权利要求1所述的方法,进一步包括:
检测所述区域相对于第二区域的重叠或邻接中的至少一者;
识别所述规则的值与所述第二区域的相应规则的相应值之间的冲突;
生成冲突解决规则,用以与由所述区域和所述第二区域共有的一个或多个共享基准标记所限定的重叠区域相关联。
8.根据权利要求7所述的方法,其中,所述生成冲突解决规则的步骤进一步包括选择所述值和所述相应值中的较高值或较低值。
9.根据权利要求7所述的方法,其中,所述生成冲突解决规则的步骤进一步包括:
在所述值与所述相应值之间限定目标值;以及
将所述目标值与附带值公差相关联,使得所述附带值公差包括所述值和所述相应值两者。
10.根据权利要求1所述的方法,进一步包括:响应于检测到的所述至少一个基准标记的重新定位和/或重新定向,自动地在所述空间内重新限定所述区域。
11.根据权利要求1所述的方法,进一步包括:响应于从所述机器人、仓库管理系统、用户或外部数据源中的一者或多者接收的数据,自动修改所述规则或自动添加附加规则中的至少一项。
12.根据权利要求1所述的方法,其中,所述至少一个基准标记在所述空间内的位置由通过所述空间限定的坐标系的一组坐标来表示。
13.根据权利要求1所述的方法,其中,所述空间内的所述至少一个基准标记与和所述基准标记具有相对位置的位姿相关,所述相对位置由通过所述空间限定的坐标系的一组坐标表示。
14.根据权利要求13所述的方法,其中,所述区域的边界至少部分地由所述位姿限定。
15.根据权利要求1所述的方法,其中,所述操作步骤进一步包括:
从所述一个或多个机器人向中央控制器定期报告所述一个或多个机器人在所述空间内的位置;以及
所述中央控制器响应于所报告的所述一个或多个机器人在所述区域内的位置,指示所述一个或多个机器人按照规则规定的进行操作。
16.根据权利要求13所述的方法,其中,所述一个或多个机器人在所述空间内的位置不是通过读取所述至少一个基准标记来确定的。
17.根据权利要求1所述的方法,其中,所述操作步骤进一步包括:
所述一个或多个机器人中的每个机器人定期检测该机器人在所述空间内的位置;以及
响应于检测到该机器人在所述区域内的位置,按照规则规定的操作所述机器人。
18.根据权利要求17所述的方法,其中,所述一个或多个机器人在所述空间内的位置不是通过读取所述至少一个基准标记来确定的。
19.一种用于上下文映射空间内的区域以调节所述空间内的机器人导航的系统,所述系统包括:
处理器;和
存储器,所述存储器存储指令,所述指令在由所述处理器执行时使得所述系统:
通过位于所述空间内的至少一个基准标记在所述空间内限定区域;
将规则与所述区域相关联,所述规则至少部分地规定了一个或多个机器人在所述区域内的操作;以及
在所述区域内按照所述规则操作所述一个或多个机器人。
20.根据权利要求19所述的系统,所述存储器还存储如下指令,所述指令在由所述处理器执行时使得所述系统:
在所述存储器中生成将所述区域与所述至少一个基准标记和所述规则相关的查找表。
21.根据权利要求19所述的系统,所述存储器还存储如下指令,所述指令在由所述处理器执行时使得所述系统:
将一个或多个附加规则与所述区域相关联,所述附加规则至少部分地规定了一个或多个机器人在所述区域内的操作;以及
在所述区域内按照所述附加规则操作所述一个或多个机器人。
22.根据权利要求19所述的系统,所述存储器还存储如下指令,所述指令在由所述处理器执行时使得所述系统:
在所述存储器中生成将所述区域与所述至少一个基准标记、所述规则和所述附加规则相关的查找表。
23.根据权利要求19所述的系统,所述存储器还存储如下指令,所述指令在由所述处理器执行时使得所述系统:
响应于检测到的所述至少一个基准标记的重新定位和/或重新定向,自动地在所述空间内重新限定所述区域。
24.根据权利要求19所述的系统,所述存储器还存储如下指令,所述指令在由所述处理器执行时使得所述系统:
响应于从所述机器人、仓库管理系统、用户或外部数据源中的一者或多者接收的数据,进行自动修改所述规则或自动添加附加规则中的至少一项。
25.根据权利要求19所述的系统,其中,所述一个或多个机器人在所述空间内的位置不是通过读取所述至少一个基准标记来确定的。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/135,329 | 2018-09-19 | ||
US16/135,329 US11256259B2 (en) | 2018-09-19 | 2018-09-19 | Zone engine for providing context-augmented map layer |
PCT/US2019/051826 WO2020061250A1 (en) | 2018-09-19 | 2019-09-19 | Zone engine for providing context-augmented map layer |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112805646A true CN112805646A (zh) | 2021-05-14 |
CN112805646B CN112805646B (zh) | 2024-05-28 |
Family
ID=68104796
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980061736.0A Active CN112805646B (zh) | 2018-09-19 | 2019-09-19 | 用于提供上下文增强的地图图层的区域引擎 |
Country Status (7)
Country | Link |
---|---|
US (1) | US11256259B2 (zh) |
EP (1) | EP3837592A1 (zh) |
JP (1) | JP7161040B2 (zh) |
KR (1) | KR102502325B1 (zh) |
CN (1) | CN112805646B (zh) |
CA (1) | CA3113099C (zh) |
WO (1) | WO2020061250A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210263532A1 (en) * | 2018-11-16 | 2021-08-26 | Hewlett-Packard Development Company, L.P. | Telepresence session initiation locations |
US11724395B2 (en) * | 2019-02-01 | 2023-08-15 | Locus Robotics Corp. | Robot congestion management |
US11481724B2 (en) * | 2020-01-29 | 2022-10-25 | Everseen Limited | System and method for direct store distribution |
KR102337531B1 (ko) | 2020-07-08 | 2021-12-09 | 네이버랩스 주식회사 | 로봇의 경로 계획을 위한 노드 지정 방법 및 시스템 |
CN112114587B (zh) * | 2020-11-23 | 2021-02-05 | 炬星科技(深圳)有限公司 | 一种分布式拥堵控制方法和机器人 |
US11960282B2 (en) * | 2021-01-05 | 2024-04-16 | Abb Schweiz Ag | Systems and methods for servicing a data center using autonomous vehicle |
US20220266867A1 (en) * | 2021-02-22 | 2022-08-25 | Argo AI, LLC | Indoor Localization of Autonomous Vehicles |
US11897706B2 (en) * | 2021-03-30 | 2024-02-13 | Dexterity, Inc. | Robotic system with zone-based control |
US11981517B2 (en) | 2021-03-30 | 2024-05-14 | Dexterity, Inc. | Robotic line kitting system safety features |
CN113776537B (zh) * | 2021-09-07 | 2024-01-19 | 山东大学 | 无标记复杂场景中的去中心化多智能体导航方法及系统 |
EP4307231A1 (en) * | 2022-07-15 | 2024-01-17 | Captron Electronic GmbH | System and method for localizing articles in an intralogistics environment |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1898289A2 (de) * | 2006-09-02 | 2008-03-12 | InMach Intelligente Maschinen GmbH | Baukasten zum Aufbau einer Infrastruktur für eine Steuerung eines Flächenbearbeitungsgeräts |
US20140100693A1 (en) * | 2012-10-05 | 2014-04-10 | Irobot Corporation | Robot management systems for determining docking station pose including mobile robots and methods using same |
US20160282126A1 (en) * | 2015-03-24 | 2016-09-29 | Google Inc. | Associating Semantic Location Data with Automated Environment Mapping |
US20170029213A1 (en) * | 2015-07-31 | 2017-02-02 | Scenic Technology Corporation | Robotic navigation utilizing semantic mapping |
US10012996B1 (en) * | 2017-09-15 | 2018-07-03 | Savioke, Inc. | Route planning for a mobile robot using configuration-based preferences |
US10037029B1 (en) * | 2016-08-08 | 2018-07-31 | X Development Llc | Roadmap segmentation for robotic device coordination |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050238465A1 (en) | 2004-04-27 | 2005-10-27 | Razumov Sergey N | Robotic retail facility |
JP4411248B2 (ja) | 2005-06-15 | 2010-02-10 | セコム株式会社 | 移動監視ロボット |
TWI344439B (en) | 2008-01-29 | 2011-07-01 | Univ Da Yeh | Automatic load system and operation method of the same |
US20110200420A1 (en) | 2010-02-17 | 2011-08-18 | Velociti Alliance North America, Inc. | Warehouse dynamic picking slots |
WO2012178048A1 (en) | 2011-06-24 | 2012-12-27 | Seegrid Corporation | Robot-enabled case picking |
CA2816752C (en) | 2012-05-28 | 2022-07-05 | Well.Ca Inc. | Order processing systems using picking robots |
JP2014069897A (ja) * | 2012-09-27 | 2014-04-21 | Sankyu Inc | 荷役装置の走行エリア識別システム |
US8965561B2 (en) * | 2013-03-15 | 2015-02-24 | Cybernet Systems Corporation | Automated warehousing using robotic forklifts |
US9463927B1 (en) | 2013-09-23 | 2016-10-11 | Vecna Technologies, Inc. | Transporting and/or sorting items with mobile robot(s) |
US9864377B2 (en) | 2016-04-01 | 2018-01-09 | Locus Robotics Corporation | Navigation using planned robot travel paths |
US10217232B2 (en) * | 2017-02-08 | 2019-02-26 | Toyota Motor Engineering & Manufacturing North America, Inc. | Systems and methods for locally aligning map data |
-
2018
- 2018-09-19 US US16/135,329 patent/US11256259B2/en active Active
-
2019
- 2019-09-19 CA CA3113099A patent/CA3113099C/en active Active
- 2019-09-19 WO PCT/US2019/051826 patent/WO2020061250A1/en unknown
- 2019-09-19 JP JP2021515212A patent/JP7161040B2/ja active Active
- 2019-09-19 EP EP19780106.1A patent/EP3837592A1/en active Pending
- 2019-09-19 CN CN201980061736.0A patent/CN112805646B/zh active Active
- 2019-09-19 KR KR1020217011385A patent/KR102502325B1/ko active IP Right Grant
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1898289A2 (de) * | 2006-09-02 | 2008-03-12 | InMach Intelligente Maschinen GmbH | Baukasten zum Aufbau einer Infrastruktur für eine Steuerung eines Flächenbearbeitungsgeräts |
US20140100693A1 (en) * | 2012-10-05 | 2014-04-10 | Irobot Corporation | Robot management systems for determining docking station pose including mobile robots and methods using same |
US20160282126A1 (en) * | 2015-03-24 | 2016-09-29 | Google Inc. | Associating Semantic Location Data with Automated Environment Mapping |
US20170029213A1 (en) * | 2015-07-31 | 2017-02-02 | Scenic Technology Corporation | Robotic navigation utilizing semantic mapping |
US10037029B1 (en) * | 2016-08-08 | 2018-07-31 | X Development Llc | Roadmap segmentation for robotic device coordination |
US10012996B1 (en) * | 2017-09-15 | 2018-07-03 | Savioke, Inc. | Route planning for a mobile robot using configuration-based preferences |
Also Published As
Publication number | Publication date |
---|---|
CN112805646B (zh) | 2024-05-28 |
JP2022501715A (ja) | 2022-01-06 |
CA3113099C (en) | 2024-04-16 |
JP7161040B2 (ja) | 2022-10-25 |
EP3837592A1 (en) | 2021-06-23 |
KR102502325B1 (ko) | 2023-02-21 |
US11256259B2 (en) | 2022-02-22 |
US20200089237A1 (en) | 2020-03-19 |
KR20210057172A (ko) | 2021-05-20 |
CA3113099A1 (en) | 2020-03-26 |
WO2020061250A1 (en) | 2020-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112805646B (zh) | 用于提供上下文增强的地图图层的区域引擎 | |
CN109074080B (zh) | 订单履行操作中的机器人排队 | |
US10513033B2 (en) | Robot queuing in order fulfillment operations | |
CN110998620B (zh) | 排队完成订单操作的机器人 | |
KR102580084B1 (ko) | 로봇 혼잡 관리 | |
JP7179192B2 (ja) | ロボット支援人員ルーティング | |
CN113646789A (zh) | 仓库订单执行操作中机器人停留时间最小化 | |
CN113632121A (zh) | 仓库订单履行操作中的搬运箱引导 | |
KR102580082B1 (ko) | 근접 로봇 물체 검출 및 회피 | |
CN116583801A (zh) | 环境中各区之间的机器人导航管理 | |
JP2023541405A (ja) | 注文の物品に対して機能を実行する順序の調整 |
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 |