CN112088341A - 用于机器人控制的控制系统结构以及分布式人机界面 - Google Patents
用于机器人控制的控制系统结构以及分布式人机界面 Download PDFInfo
- Publication number
- CN112088341A CN112088341A CN201980031096.9A CN201980031096A CN112088341A CN 112088341 A CN112088341 A CN 112088341A CN 201980031096 A CN201980031096 A CN 201980031096A CN 112088341 A CN112088341 A CN 112088341A
- Authority
- CN
- China
- Prior art keywords
- notification
- robot
- operator
- subsystem
- interface system
- 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.)
- Pending
Links
- 230000004044 response Effects 0.000 claims abstract description 58
- 238000010926 purge Methods 0.000 claims abstract description 19
- 238000012546 transfer Methods 0.000 claims description 55
- 235000013305 food Nutrition 0.000 claims description 19
- 230000000694 effects Effects 0.000 claims description 15
- 238000009826 distribution Methods 0.000 claims description 13
- 238000011084 recovery Methods 0.000 claims description 6
- 230000004931 aggregating effect Effects 0.000 claims description 2
- 238000000034 method Methods 0.000 description 44
- 239000010813 municipal solid waste Substances 0.000 description 35
- 230000007704 transition Effects 0.000 description 24
- 239000004519 grease Substances 0.000 description 19
- 238000002360 preparation method Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 16
- 238000004891 communication Methods 0.000 description 15
- 239000004615 ingredient Substances 0.000 description 13
- 238000005406 washing Methods 0.000 description 13
- 235000007688 Lycopersicon esculentum Nutrition 0.000 description 12
- 240000003768 Solanum lycopersicum Species 0.000 description 12
- 239000000463 material Substances 0.000 description 11
- 235000013361 beverage Nutrition 0.000 description 10
- 238000004806 packaging method and process Methods 0.000 description 10
- 238000004458 analytical method Methods 0.000 description 9
- 238000003032 molecular docking Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 235000008960 ketchup Nutrition 0.000 description 7
- 230000009471 action Effects 0.000 description 6
- 238000004590 computer program Methods 0.000 description 6
- 239000011521 glass Substances 0.000 description 6
- 235000015220 hamburgers Nutrition 0.000 description 6
- 230000033001 locomotion Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000003860 storage Methods 0.000 description 6
- 238000005259 measurement Methods 0.000 description 5
- 238000012549 training Methods 0.000 description 5
- 230000004913 activation Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 238000010411 cooking Methods 0.000 description 4
- 235000012020 french fries Nutrition 0.000 description 4
- 235000015067 sauces Nutrition 0.000 description 4
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000004140 cleaning Methods 0.000 description 3
- 238000005034 decoration Methods 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 239000002994 raw material Substances 0.000 description 3
- 230000003252 repetitive effect Effects 0.000 description 3
- 239000002699 waste material Substances 0.000 description 3
- 241000234282 Allium Species 0.000 description 2
- 235000002732 Allium cepa var. cepa Nutrition 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 235000008429 bread Nutrition 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 239000000969 carrier Substances 0.000 description 2
- 230000001186 cumulative effect Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 235000013372 meat Nutrition 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 235000013311 vegetables Nutrition 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 206010011416 Croup infectious Diseases 0.000 description 1
- 241000196324 Embryophyta Species 0.000 description 1
- 208000019331 Foodborne disease Diseases 0.000 description 1
- 241000251323 Matthiola oxyceras Species 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000003749 cleanliness Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 235000013409 condiments Nutrition 0.000 description 1
- 201000010549 croup Diseases 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000001747 exhibiting effect Effects 0.000 description 1
- 239000010794 food waste Substances 0.000 description 1
- 235000013882 gravy Nutrition 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 235000020997 lean meat Nutrition 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000003205 muscle Anatomy 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- ZLIBICFPKPWGIZ-UHFFFAOYSA-N pyrimethanil Chemical compound CC1=CC(C)=NC(NC=2C=CC=CC=2)=N1 ZLIBICFPKPWGIZ-UHFFFAOYSA-N 0.000 description 1
- 235000020995 raw meat Nutrition 0.000 description 1
- 230000004043 responsiveness Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000010902 straw Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/006—Controls for manipulators by means of a wireless system for controlling one or several manipulators
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
- B25J9/1689—Teleoperation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1674—Programme controls characterised by safety, monitoring, diagnostic
-
- 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/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
-
- 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
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/12—Hotels or restaurants
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Manipulator (AREA)
Abstract
响应于机器人的第一子系统中的第一条件,控制器停止第一子系统的操作;向界面系统发送指定第一通知的设置命令;从界面系统获得状态信息;并且,响应于指示第一通知具有已清除状态的状态信息,恢复第一子系统的操作。界面系统维护活动通知集,并跟踪配置为接收通知的设备集。每个设备都与相应的操作员相关联。响应于接收到设置命令,界面系统:将第一通知添加到活动通知集中;确定接收第一通知的设备的子集;将第一通知无线发送给子集;并且响应于接收到指定第一通知的清除消息,将第一通知设置为已清除状态。
Description
相关申请的交叉引用
本申请要求于2018年3月12日提交的第62/641,968号美国临时申请以及于2018年5月15日提交的第62/672,034号美国临时申请的优先权。以上申请的全部公开内容通过引用结合在本文中。
技术领域
本公开涉及机器人控制系统和方法,更特别地,涉及用于机器人控制的人机界面。
背景技术
传统上,机器人已由固定的操作员站(例如,触摸屏和台式计算机系统)以及机械开关控制。控制系统通常通过专有工业界面(例如,工厂仪表协议(FIP)或来自国际现场通信技术基金会(FieldComm Croup)的基金会现场总线)与机器人交互。
此处提供的背景描述旨在概括介绍本公开的背景。在本背景部分中描述的范围内,当前命名的发明人的工作以及说明书的在提交时可能不符合现有技术的条件的方面,既不明示也不隐含地承认为本发明的现有技术。
发明内容
机器人控制系统包括用于机器人的机器人控制器和界面系统。机器人控制器被配置为,响应于机器人的第一子系统中的第一条件:停止第一子系统的操作;向界面系统发送指定第一通知的设置命令;从界面系统获得关于第一通知的状态信息;并且响应于指示第一通知具有已清除状态的状态信息,恢复第一子系统的操作。界面系统被配置为:维护活动通知集,并跟踪配置为接收通知的设备集。该设备集中的每一个都与相应的操作员相关联。界面系统被配置为,响应于从机器人控制器接收设置命令:将第一通知添加到活动通知集中;确定设备集中的设备的第一子集接收第一通知;将第一通知无线发送到设备的第一子集;并且响应于从设备的第一子集中的一个接收指定第一通知的清除消息,在活动通知集中将第一通知设置为已清除状态。
在其他特征中,机器人控制器被配置为,响应于机器人的第一子系统中的第二条件,在继续第一子系统的操作的同时,向界面系统发送指定第二通知的设置命令。在进一步的特征中,机器人控制器被配置为,当在第一通知与第二通知之间存在发出时清除关系时,响应于第一条件将第二通知设置为已清除状态。
在又一些特征中,机器人控制器被配置为,维护内部的活动通知集,并且通过在内部的活动通知集中将第二通知设置为已清除状态,将第二通知设置为已清除状态。在其他特征中,机器人控制器被配置为,通过向界面系统发送指定第二通知的清除命令,将第二通知设置为已清除状态。在其他特征中,第一条件对应于超过第一阈值的第一子系统的参数。第二条件对应于超过与第一阈值不同的第二阈值的第一子系统的参数。
在其他特征中,机器人控制器被配置为,基于与第一子系统相关联的物理传感器来识别恢复条件,并且响应于识别该恢复条件,向界面系统发送指定第一通知的清除命令。
在其他特征中,界面系统被配置为,操作超文本传输协议(HTTP)服务器。机器人控制器被配置为,通过将第一HTTP请求发送到HTTP服务器,将设置命令发送到界面系统。在进一步的特征中,机器人控制器被配置为,通过将第二HTTP请求发送到HTTP服务器,从界面系统获得状态信息。
在其他特征中,机器人控制器被配置为,响应于机器人的通电,将潜在通知集发送到界面系统。在进一步的特征中,机器人控制器被配置为,集合来自机器人的多个子系统(包括第一子系统)的潜在通知集。在又一些特征中,机器人控制器被配置为,用多个子系统中的一个的对应标识符来标记潜在通知集中的每一个。
在其他特征中,机器人控制器被配置为,响应于第一子系统识别第一条件,从第一子系统接收第一通知。在进一步的特征中,机器人控制器被配置为,用第一子系统的标识符来标记第一通知,并且当将设置命令发送到界面系统时指定该标记。
在其他特征中,机器人控制器被配置为,操作第一网络界面和第二网络界面。第一网络界面和第二网络界面彼此隔离,并且彼此之间不可路由。第一网络界面被配置为,与机器人的多个子系统(包括第一子系统)通信。第二网络界面被配置为与界面系统通信。
在进一步的特征中,第二网络界面被配置为与订购系统通信。机器人控制器被配置为,响应于从订购系统接收到食品的规格,控制第一子系统以准备食品。
在其他特征中,界面系统被配置为,对设备集中的每个设备,从预定的多个角色中分配角色。界面系统还配置为,基于所分配的角色确定设备的第一子集。在进一步的特征中,界面系统被配置为,对设备的第一子集中的每个设备,基于所分配的角色为第一通知分配优先级。
在其他特征中,界面系统被配置为,对设备的第一子集中的每个设备,响应于来自设备的连接请求,向设备提供第一通知。在进一步的特征中,连接请求是经由WebSocket进行的。在其他特征中,界面系统被配置为,选择性地将第一通知提供给推送服务,以分发给设备的第一子集。
在其他特征中,界面系统被配置为,操作超文本传输协议(HTTP)服务器。界面系统被配置为,经由对HTTP服务器的第一HTTP请求,从设备的第一子集中的一个接收清除消息。
在其他特征中,界面系统被配置为,响应于从设备的第一子集中的一个接收到认领消息,向设备的第一子集的其余部分通知已经认领了第一通知。
在进一步的特征中,界面系统被配置为,操作超文本传输协议(HTTP)服务器。界面系统被配置为,经由对HTTP服务器的第一HTTP请求,从设备的第一子集中的一个接收认领消息。
用于机器人的机器人控制方法包括:维护活动通知集,并跟踪配置为接收通知的设备集。该设备集中的每一个都与相应的操作员相关联。所述方法还包括,响应于生成指定第一通知的设置命令:将第一通知添加到活动通知集中;确定设备集中的设备的第一子集接收第一通知;将第一通知无线发送到设备的第一子集;并且响应于从设备的第一子集中的一个接收到指定第一通知的清除消息,在活动通知集中将第一通知设置为已清除状态。所述方法进一步包括:响应于机器人的第一子系统中的第一条件:停止第一子系统的操作;生成指定第一通知的设置命令;并且,响应于指示已清除状态的第一通知的状态信息,指导第一子系统恢复操作。
在其他特征中,所述方法包括,响应于机器人的第一子系统中的第二条件,在继续第一子系统的操作的同时,生成指定第二通知的设置命令。在进一步的特征中,所述方法包括,当在第一通知与第二通知之间存在发出时清除关系时,响应于第一条件将第二通知设置为已清除状态。
在又一些特征中,所述方法包括,维护内部的活动通知集,并且通过在内部的活动通知集中将第二通知设置为已清除状态,将第二通知设置为已清除状态。在其他特征中,所述方法包括,通过生成指定第二通知的清除命令,将第二通知设置为已清除状态。在其他特征中,第一条件对应于超过第一阈值的第一子系统的参数。第二条件对应于超过与第一阈值不同的第二阈值的第一子系统的参数。
在其他特征中,所述方法包括,基于与第一子系统相关联的物理传感器来识别恢复条件,并且响应于识别该恢复条件,生成指定第一通知的清除命令。
在其他特征中,所述方法包括,操作超文本传输协议(HTTP)服务器,并通过将第一HTTP请求发送到HTTP服务器来生成设置命令。在进一步的特征中,所述方法包括,通过将第二HTTP请求发送到HTTP服务器,获得状态信息。
在其他特征中,所述方法包括,响应于机器人的通电,生成潜在通知集。在进一步的特征中,所述方法包括,集合来自机器人的多个子系统(包括第一子系统)的潜在通知集。在又一些特征中,所述方法包括,用多个子系统中的一个的对应标识符来标记潜在通知集中的每一个。
在其他特征中,所述方法包括,响应于第一子系统识别第一条件,从第一子系统接收第一通知。在进一步的特征中,所述方法包括,用第一子系统的标识符来标记第一通知,并且当生成设置命令时指定该标记。
在其他特征中,所述方法包括,操作第一网络界面和第二网络界面。第一网络界面和第二网络界面彼此隔离,并且彼此之间不可路由。第一网络界面被配置为,与机器人的多个子系统通信,该多个子系统包括第一子系统。第二网络界面被配置为与设备集通信。
在进一步的特征中,第二网络界面被配置为与订购系统通信。所述方法包括,响应于从订购系统接收到食品的规格,控制第一子系统以准备食品。
在其他特征中,所述方法包括,对设备集中的每个设备,从预定的多个角色中分配角色。所述方法进一步包括,基于所分配的角色确定设备的第一子集。在进一步的特征中,所述方法包括,对设备的第一子集中的每个设备,基于所分配的角色为第一通知分配优先级。
在其他特征中,所述方法包括,对设备的第一子集中的每个设备,响应于来自设备的连接请求,向设备提供第一通知。在进一步的特征中,连接请求是经由WebSocket提供的。在其他特征中,所述方法包括,选择性地将第一通知提供给推送服务,以分发给设备的第一子集。
在其他特征中,所述方法包括,操作超文本传输协议(HTTP)服务器,并经由对HTTP服务器的第一HTTP请求,从设备的第一子集中的一个接收清除消息。
在其他特征中,所述方法包括,响应于从设备的第一子集中的一个接收到认领消息,向设备的第一子集的其余部分通知已经认领了第一通知。在进一步的特征中,所述方法包括,操作超文本传输协议(HTTP)服务器,并经由对HTTP服务器的第一HTTP请求,从设备的第一子集中的一个接收认领消息。
从详细描述、权利要求和附图中,本公开的其他应用领域将变得清楚。详细描述和具体示例仅用于说明的目的而不意在限制本公开的范围。
附图说明
将从详细描述和附图更充分地理解本公开。
图1是根据本公开的原理的具有界面系统的业务的示例实现的高级功能框图。
图2是图1的界面系统和机器人的示例实现的功能框图。
图3是通知库的示例通知的子集的图形表示。
图4是界面系统的示例实现的功能框图。
图5是界面系统的委派系统的示例实现的功能框图。
图6是图2的机器人通知控制器的示例操作的流程图。
图7是可穿戴设备的示例用户界面的状态机图。
图8是可穿戴设备的示例补充操作的流程图。
图9是可穿戴设备的示例实现的功能框图。
图10是计算设备的示例实现的框图。
图11是其中配置了界面系统的示例餐厅布局的示意图。
图12是根据本公开的原理的示例计算机化库存管理操作的流程图。
图13A和图13B一起形成了根据本公开的原理的示例任务合并操作的流程图。
在附图中,可以重复使用附图标记来识别相似和/或相同的元件。
具体实施方式
介绍
在人与一个或更多个机器人交互的环境中,设计良好的人机界面(HMI)可以提高安全性,提高机器人的生产率,并提高人类操作员的效率。作为传统的固定位置HMI的替代,本公开描述了可穿戴设备,所述可穿戴设备允许更多操作员灵活性,允许更多移动,并且提高响应能力。
例如,在图1中,第一机器人100-1和第二机器人100-2(统称为机器人100)位于业务102处,并由人类操作员104-1、104-2、...、104-N(统称为操作员104)操作。每个操作员104具有相应的可穿戴设备108-1、108-2、...、108-N(统称为可穿戴设备108)。可穿戴设备108可以包括一个或更多个眼镜式显示器或其它增强现实(AR)显示器、智能手表和可穿戴智能手机(例如,使用臂章佩戴在用户上臂上的智能手机)。业务102可以是单个建筑或跨越多个建筑。在一些实现中,业务102的大部分可以位于单个房间内。
可穿戴设备108经由界面系统120与机器人100通信。尽管示出了两个机器人100,但本公开适用于仅存在单个机器人的环境和存在两个以上机器人的环境。可穿戴设备108使用无线收发器,以与无线接入点124通信。无线接入点124可以是界面系统120的一部分,或者可以经由诸如IEEE 802.3的局域网(LAN)连接到界面系统120。
可穿戴设备108可以包括无线收发器,或者可以有线连线到包括无线收发器的设备。例如,如果可穿戴设备108-N不包括无线收发器,则可穿戴设备108-N可以具有到无线设备(未示出)的有线接口,所述无线设备具有电池组和无线收发器。无线设备可以系在腰带上或放在操作员104-N的口袋中。
在一些实现中,可穿戴设备108可以与另一个设备无线接口连接,而不是直接与无线接入点124通信,或者除了与无线接入点124直接通信之外。仅作为示例,示出了可穿戴设备108-1与移动设备128关联。仅例如,可穿戴设备108-1可以使用诸如蓝牙的无线个人区域网(WPAN)与移动设备128通信。移动设备128可以保持在操作员104-1的口袋中,或者可以位于可穿戴设备108-1的有效无线范围内的固定位置处。
当操作员104未佩戴时,可穿戴设备108可以放置在可穿戴界面扩展底座132处,在其中,可穿戴设备108可以通过有线接口或无线方式充电。另外,可穿戴设备108可以被供应,并且具有它们的固件和软件,所述固件和软件在位于可穿戴界面扩展底座132处时更新。在使用诸如移动设备128之类的移动设备的情况下,移动设备也可以在可穿戴界面扩展底座132处充电。
在各种实现中,即使不在业务102处,操作员104也可以佩戴可穿戴设备108。例如,可穿戴设备108可以由操作员104出于个人利益(例如,出于监视个人通知和健身跟踪)而在业务102之外使用。当可穿戴设备108离开业务102附近时,可穿戴设备108可以改变为个人模式,在所述个人模式中,用于与机器人100交互的软件可以被禁用。另外,与业务102相关的数据可以被加密,并且当在业务102之外时,可以移除加密密钥或使其无法访问。
无线接入点124可以用于对业务102进行地理围栏,使得可穿戴设备108-1与无线接入点124的断开指示操作员104-1已经离开了业务102。这也可以允许操作员104-1在他们轮班工作结束时自动退出。
当操作员104开始工作时,操作员104可以确定他们正在使用可穿戴设备108中的哪一个。例如,操作员104-1可以从可穿戴界面扩展底座132获取可穿戴设备108-1。操作员104-1可以通过登录到可穿戴界面扩展底座132处的计算机界面来注册工作。随后,操作员104-1可以向可穿戴界面扩展底座132指示他们已获得可穿戴设备108-1。例如,可穿戴设备108-1可以用唯一标识符来标记,操作员104-1可以将该唯一标识符提供给可穿戴界面扩展底座132。
在其他实现中,当操作员104-1报告工作时,可穿戴界面扩展底座132可以将可穿戴设备108-1分配给操作员104-1。在操作员104-1在业务102之外佩戴可穿戴设备108-1的实现中,可以在可穿戴界面扩展底座132中确定操作员104-1与可穿戴设备108-1之间的长期关联。
事实上,可穿戴设备108-1到达业务102可以指示操作员104-1已经到达工作地点。操作员104-1可以简单地开始工作,因为可穿戴设备108-1能够向界面系统120指示操作员104-1存在并且正在工作。在一些实现中,可穿戴设备108-1将向操作员104-1显示提示,允许操作员104-1指示他们是否准备好工作。例如,操作员104-1可能已经提前到达,因此不会立即开始工作。在另一种情况下,操作员104-1可以访问业务102,但不是为了工作。在各种实现中,可穿戴设备108-1还可以提醒操作员104-1预定工作班次的开始。
如下文更详细地描述,可穿戴设备108包括允许操作员104控制机器人100的操作软件。例如,机器人100可以向界面系统120发送指示需要某些动作或任务的通知。这些通知经由可穿戴设备108中的相应的可穿戴设备提供给一个或更多个操作员104。
例如,机器人100中的一个所需的电源可能不足或可能耗尽,因此操作员104中的一个可以解决该不足。如下文更详细地描述的,操作员104可以在业务102处承担不同的角色。这些角色可以是半永久性确定的,如在商店经理的情况下。
在各种实现中,可以在轮班工作期间承担一个角色。而在另一个实现中,操作员104的角色可以在轮班工作期间多次改变。例如,界面系统120可以基于来自操作员104的请求而为操作员104重新分配。在其他实现中,操作员104可以请求角色改变。界面系统120也可以建议角色的改变,一旦操作员104批准,该改变将生效。
在各种实现中,操作员104在业务中的位置可以决定角色。仅作为示例,业务102可以是餐厅,并且机器人100可以准备食物。如果操作员104-1靠近业务102的公共区域,则可以自动给操作员104分配面向顾客的角色,例如,礼宾员。同时,当操作员104-2位于机器人100后面的员工专用区域时,操作员104-2可以承担机器人操作员的角色。当操作员104-N位于库存传感器136附近时,操作员104-N可以承担原料准备的角色。
界面系统120可以基于操作员104的角色向其分发通知。另外,界面系统120可以基于角色确定通知的优先级。例如,如果操作员104-N位于库存传感器136附近,则与机器人100处的原料短缺相关的通知可以作为更高优先级发送给操作员104-N。同时,当操作员104-1承担了礼宾员的角色时,界面系统120可以取消与机器人100相关的通知的优先级。这样,操作员104-1可以专注于顾客服务。
可穿戴设备108可以跟踪由操作员104执行的活动。例如,可穿戴设备108可以连续监视业务102内的操作员104的位置,并将这些位置与执行任务的时间相关联。以后可以分析该数据以通过以下方式提高效率:例如,调整任务的委派方式和改变任务的参数(例如,改变任务所需项的位置)。
远程分析系统140可以位于业务102之外,并且经由诸如因特网的分布式通信系统144与界面系统120通信。在各种实现中,远程分析系统140可以托管在业务102处,并且可以经由分布式通信系统144远程访问。来自业务102内或在其他位置处的分析人员可以使用远程分析系统140分析由可穿戴设备108获得的数据。
如下文更详细地描述的,可穿戴设备108通知操作员104诸如从机器人100接收到的那些通知。经由可穿戴设备108,操作员104可以认领任务(指示执行任务的意图)和清除任务(指示任务已经完成)。
在一些实现中,可穿戴设备108还可以允许操作员104创建通知,例如,指示需要执行的任务。例如,操作员104-2可以观察到垃圾桶148已满或几乎已满。操作员104-2可能无法立即解决这种情况,而因此可以使用可穿戴设备108-2指示垃圾桶148需要清空。
然而,在某些实现中,可穿戴设备108可以仅专注于机器人100的操作,而不是其他前台操作(例如,调味品/器皿、垃圾和清洁)或后台操作(例如,库存)。事实上,在某些实现中,通知可以是单向的。换句话说,机器人100可以创建通知,但是操作员104不能创建通知。
在某些实现中,当业务102正在操作和服务于顾客时,可穿戴设备108可以是机器人100的唯一HMI,但有有限的例外。这些例外可以包括备用硬接线入口152(例如,以太网连接的膝上型计算机),以在无线接入点124不能正常工作时使用。
唯一HMI的其他例外可以是安全相关传感器和输入,这可以是认证或UL(前美国保险商实验室)列名所需的。例如,机器人100-1上的检修门可以允许接近移动部件或高压。当检修门打开时,机器人100-1可以断电和/或停止位于检修门后面的组件的操作。另外,机器人100-1可以响应于检修门的打开而提出通知。机器人100-1可以响应于检修门关闭而自我清除通知。
除了这些有限的例外,使用可穿戴设备108作为唯一HMI,允许操作员104有更大的机动性和灵活性。另外,由可穿戴设备108收集的数据可以与来自界面系统120的通知更紧密地联系在一起,因为在操作员104与机器人100之间没有用于通信的侧信道。
例如,使用GPS或诸如无线接入点的无线信号的三角测量,,可穿戴设备108可以跟踪操作员104的位置。甚至通过可穿戴设备对特定特征的身份肯定识别,可以获得更精确的位置数据。例如,操作员104-1可以使用可穿戴设备108-1扫描条形码(或QR代码),以发出操作员104-1处于特定位置并准备执行任务的信号。例如,当操作员104-1扫描特定QR码或使用可穿戴设备108-1与射频识别(RFID)标签接合时,机器人100-1可以打开检修门并停止操作。
除了位置,可穿戴设备108还可以包括生理传感器,例如心率、皮肤湿度、肌肉激活和加速度。加速度可以用于识别和改进重复性任务。例如,涉及重复运动的任务可以被简化,在多个操作员之间被分发,和/或被自动执行以避免重复运动。
某些活动(例如洗手)是不可避免的。在这种情况下,可穿戴设备108实际上可以监视和验证预定时间段的洗手。仅作为示例,洗手站156可以与短距离无线信标160相关联。无线信标160允许诸如可穿戴设备108-2的可穿戴设备识别靠近洗手站156。可穿戴设备108-2随后可以记录与洗手站156相关联的加速计活动。然后,可以基于洗手站156附近的加速计数据来识别充分的洗手。
在其他实现中,水温可以被发送到洗手站156,并且一旦水达到预定的温度,所需的洗手时间可以开始。可穿戴设备108-2可以(使用视觉、听觉或振动输出)发出水已经达到所需温度的信号。然后,一旦在洗手上已经花费了足够量的时间,可穿戴设备108-2就可以发出信号。例如,可穿戴设备108-2可以使用加速计测量操作员104-2是否正在进行洗手动作,并且仅计算洗手动作正在执行期间的时间。
在其他实现中,可穿戴设备108-2可以简单地计算预定时间段。之后可以分析加速计活动,以确定操作员104-2是否花费了整个时间来洗手。通过协助操作员104正确洗手,可以显著地减少食源性疾病的传播。
除了评估操作员动作(例如,洗手)的充分性,界面系统120还可以生成通知,该通知指示在诸如加工生肉或上厕所的特定活动之后必须执行洗手。例如,在执行洗手之前,界面系统120可能不会向操作员呈现任何其他提醒。
为了保护操作员104的隐私利益,无线信标164可以位于厕所入口168处或厕所内。因此,可以在厕所入口168的另一侧禁用可穿戴设备108的跟踪。另外,可以暂停通知,使得操作员104在厕所时不会试图检查他们的可穿戴设备108。当操作员104从事任何其他个人时间(例如,休息)时,也可以禁用跟踪。因此,可穿戴设备108可以仅从位于厕所入口168之外的洗手站156发送操作人员104的洗手动作。
可穿戴设备108可以用于向界面系统120发出操作员104准备好休息以及操作员104准备好恢复工作的信号。在一个示例中,界面系统120可以生成指示操作员104-2的休息时间段已经到达的通知。然后,操作员104-2可以在评估业务102的当前状态以及任何其他通知之后,以从可穿戴设备108-2认领或执行任何其他任务的相同方式开始休息。当操作员不可用时,例如,在厕所中或休息时,操作员104中的其他操作员的角色可以转换,以解释其他操作员的不可用。例如,不可用操作员的角色可以重新分配给另一个操作员,或者分发在多个其他操作员中。
在界面系统120不限于与机器人100交互的实现中,界面系统120还可以向可穿戴设备108提供与各种前台和/或后台活动相关的通知。例如,摄像机172可以具有桌子176-1、...、176-P(统称为桌子176)的视野。摄像机172周期性地将桌子176的图像发送到界面系统120。界面系统120或远程支持系统192(其可以具有更大的加工资源)使用机器视觉技术来确定桌子176的清洁度。
响应于确定顾客没有坐在桌子176中的一个并且桌子176仍未清洁,界面系统120可以生成指示需要清洁桌子176的通知。类似的机器视觉技术可以应用于可能需要清洁的其他表面,例如,柜台、饮料机和玻璃(包括门、窗和进入机器人100的观察口)。
库存传感器136可以包括摄像机、秤和RFID读取器。库存系统180可以基于来自库存传感器136的输入来确定某些库存物品的存在。响应于确定特定物品的库存量低,界面系统120可以将指示应下订单的通知发送给操作员104中的一个。在其他实现中,界面系统120可以生成指示需要人工库存检查的通知。在完成人工库存检查时,界面系统120可以继续订购该物品。
库存系统180还可以确定某些物品是否处于长期储存中,例如,冷冻室,并确定何时应将这些物品添加到初级储存(例如,冰箱或柜台)中。例如,如果冷冻原料需要解冻,则界面系统120可以生成指示需要从冷冻室移除该物品的通知。
库存系统180可以知道在哪个机器人100中装载了哪些原料,并且当某种原料的水平耗尽时,可以例如通过将某个原料限制到机器人100中的一个,来调整提供给每个机器人100哪些原料。
库存系统180也可以跟踪原料浪费。例如,库存系统180可以将提供给机器人100的原料的数量与来自订购系统184的该原料的分配循环的数量相关联。例如,洋葱的某些品种或供应商可能导致每磅洋葱的成功分配循环的数量增加或减少。
此外,当准备食物时,操作员104可以具有不同的准备方法,这导致或多或少地有效使用原料。例如,通过降低分配循环与原料的比例百分比似乎制造了更多的食物浪费的操作者可以接受更有效加工的培训,例如,更精确地切出瑕疵。在一种改进方法中,当特定原料的储备量降低时,食物准备任务可以分配给那些似乎在准备过程中效率最高的操作员。
库存系统180可以指定精确数量的物品,以便于跟踪。例如,当操作员104中的一个重新补充番茄酱包而不是抓取一把番茄酱包时,可能存在预定数量的预捆绑番茄酱包。然后,库存系统180将番茄酱包的捆数与来自订购系统184的订单相关联。随着时间的推移,可以从订单中推断出番茄酱包的使用量的估计。例如,番茄酱包可以保留给外卖订单,因此可以将堂食订单排除在该分析之外。
当来自订购系统184的订单指示可能已经向顾客提供了一定数量的番茄酱包时,界面系统120可以向操作员104发出信号,以从库存系统180获取一捆或多捆包。如果库存系统180辨别出番茄酱包捆通常一次获取两个或一次获取三个,则库存系统180可以调整番茄酱包订单,以从供应商请求不同的捆大小。
订购系统184接收并跟踪顾客的订单。例如,顾客可以使用订购终端188下订单,该终端可以采用电话、平板电脑或信息亭的形式。此外,订购系统184可以经由分布式通信系统144从诸如电话、膝上型计算机和平板电脑的用户设备接收订单。如果订购终端188识别出顾客可能在订购时遇到困难,例如,如果单个屏幕停留在前景中的时间超过预定的时间段,则界面系统120可以生成定向到礼宾角色的通知,以协助顾客。
订购系统184与机器人100接合,以生产所订购的食物。当某些食物物品不是由机器人100生产时,界面系统120可以生成食物物品需要人工准备的通知。例如,如果机器人100被配置为制作三明治(例如,汉堡包),则可以由操作员104执行填充饮料和炸薯条。在这种情况下,订购系统184可以与界面系统120通信,应该生成指示需要食物准备的通知。
订购系统184可以使用历史数据和即时数据来预测需要产生多少特定食物。这样例如通过不烹调太多篮的炸薯条而减少了浪费。另外,订购系统184可以通过预测应烹调的炸薯条的额外篮数并指示界面系统120在需求之前生成此类通知来减少订购时间。
垃圾桶148可以包括传感器,例如,光学或超声波传感器,该传感器确定垃圾桶148中的垃圾水平何时已达到垃圾桶148应被清空的点。仅举例来说,当垃圾桶148接近满时,可以生成低优先级通知,并且一旦垃圾桶148完全装满,则可以代替它的是高优先级通知。
在一些实现中,垃圾桶148中的垃圾水平可以开环确定,而无需任何直接测量垃圾桶148的传感器。例如,可以对订购系统184进行编程,设定从所产生的每个订单中通常产生多少垃圾。与相比,该信息可以与多少订单被指定为堂食而非外卖相结合。然后,由每个堂食顾客贡献的垃圾量累积直到水平达到垃圾桶148的容量。界面系统120可以辨别出,在可能最终进入垃圾桶(例如,包装纸)的物品的生成与这些物品实际被放置在垃圾桶148中的时间之间存在延迟。因此,估计可以被延时,以更好地估计垃圾桶148的实际水平。
当估计的水平达到预定阈值时,界面系统120生成通知。一旦操作员104中的一个清除该通知,指示垃圾桶148已被清空,则开环算法返回零并开始累积预期垃圾。
通过请求操作员104报告垃圾桶148中的垃圾水平,可以部分地关闭环。例如,如果垃圾桶148已经生成通知,并且操作员104-1已经清空垃圾桶148,则可穿戴设备108-1可以向操作员104-1查询垃圾的水平。然后,操作员104-1可以使用可穿戴设备108-1来指示在垃圾桶148中发现的垃圾的水平。例如,可穿戴设备108-1可以具有机械的或触摸屏的刻度盘,操作员104-1可以使用所述刻度盘提供垃圾桶148在清空之前的充满度水平的估计值。然后,可以将该水平用作调整垃圾量算法的反馈。
此外,可能将会存在更多的垃圾桶,而不仅仅是垃圾桶148。初始假设可以是垃圾将均匀地分布在垃圾桶之中,并且该假设可以根据操作员104的反馈随时间而更新。
虽然未示出,但类似算法可以用于其他服务物品,例如,餐巾纸、吸管和玻璃杯。在一个示例中,如果订购系统184已知被购买的饮料,但是订购系统184没有记录水,则界面系统120可以估计顾客将获得的水杯的数量。例如,可以预编程堂食物品(例如,三明治)数量与饮料数量的比。例如,饮料与三明治的数量根据经验可以随着时间确定为10:9。
基于生产的三明治的数量,界面系统120可以估计将要消耗的饮料的数量。订购系统184可以提供关于购买了多少饮料的信息,并且所购买的饮料与预期饮料之间的差异可以用作顾客使用的水杯数量的估计。然后,当估计水杯数量不足时,该分析可以用于生成通知。与垃圾桶148一样,当重新补充玻璃杯时,可以提示操作员104,以指示在重新补充时剩余多少玻璃杯。
下面将更详细地描述,界面系统120可以允许操作员104具有更多的自主性和灵活性,基本上允许操作员104自我管理。操作员104可以基于他们的专业知识、位置和对业务102的状态的评估来认领任务。同时,来自界面系统120的通知保持活动状态,使得该任务不会被遗忘。随着时间的推移,低优先级通知可以升级为高优先级通知。例如,可能是低优先级但被忽略一段时间的任务可以提高优先级。
除了使用可穿戴设备108发出任务预期完成和实际完成的信号之外,操作员104可以使用穿戴设备108来查看执行任务的指令,例如,机器人100中的原料的维护和重新装载、或者电源开启、关闭和维护程序。
指令可以储存在可穿戴设备108上的存储器中,或者可以根据需要从界面系统120获得。指令的水平可以基于操作员104的经验水平而变化。例如,当操作员较新或已完成任务的次数较少时,可能会显示更详细的指令。指令可以通过照片和/或视频来补充。
另外,可以从远程支持系统192获得支持。当执行新任务或出现意外问题时,操作员可以访问远程支持系统192。在各种实现中,远程支持系统192可以访问来自机器人100的状态信息以及访问摄像机,例如,摄像机172。另外,操作员可以具有诸如安装在可穿戴设备或移动设备中的摄像机,以向远程支持系统192提供视频链接。当包括业务102的多个业务正在操作时,远程支持系统192处的一组操作员可以支持所有业务。
不仅当需要机器人100执行动作时,而且当机器人100需要状态信息时,机器人100可以请求来自界面系统120的通知。例如,机器人100的参数可能难以测量,或者对其而言传感器不可靠或昂贵。然后,机器人100可以周期性地(或者每当需要信息时)生成请求操作员104进行测量或评估的通知。
例如,测量可以只是去或不去的决定,并且清除通知就足以允许机器人继续进行。然而,在用于其他测量的其他实现中,可以经由可穿戴设备将值提供回机器人100。该人工反馈也可以用于传感器故障的情况。在等待更换传感器或开发更坚固的传感器时,可以由操作员104人工执行测量。
例如,在第一次启动(例如,在活动的晚上之后)时,机器人100可以生成请求操作员104将机器人100的组件返回到已知位置的通知。操作员104还可以协助机器人100,例如,通过在其整个运动范围内旋转移动件来校准传感器。如果人工测量占用太多时间,则可以开发传感器和/或其他感测方法来提高业务102的效率。
界面系统120可以跟踪哪些任务由哪些角色的哪些操作员104执行。界面系统120与远程分析系统140组合,可以确定每个角色执行哪些分组的任务。根据任务的实际分组,可以重新分配角色。此外,可以基于某些角色不如其他角色忙的评估来分配任务和/或重新确定任务的优先级。
对于给定任务,可以评估操作员104的表现。例如,可以评估认领任务与完成任务之间的时间,以确定效率。在其他情况下,界面系统120可以确定开始任务(无论任务何时或是否被认领)与完成任务(即使在操作员实际指示任务被清除之前存在一些延迟)之间的时间量。如果特定操作员的效率很低,则可以为该操作员提供额外的培训。
在各种实现中,例如,通过提高发送给其他操作员的通知的优先级,任务可以被定向给更高效地执行任务的操作员。还可以基于是否在指示的完成之后不久就生成通知来评估操作员104。例如,如果操作员仅部分地清洁机器人100-1的一部分,则机器人100-1可以更快地发出指示需要清洁的下一个通知。在短时间内重新激活某些通知可以指示任务未完成。再次,可以当面或经由远程支持系统192向表现似乎不理想的操作员提供适当的培训。
为了提高调度的灵活性和操作员104的工作经验,可以优先对操作员104进行不同任务的交叉培训。例如,如果操作员104-1没有执行某个任务,则可以将该任务以高优先级发送到对应的可穿戴设备108-1,以鼓励操作员104-1执行该任务。在各种实现中,界面系统120可以与订购系统184通信,以识别业务102不太忙并且被怀疑保持不太忙的时间段。在这些时间,可以加强任务交叉训练。同时,在业务102忙的时候,界面系统120可以根据操作员完成这些特定任务的效率将任务定向给操作员。
在由可穿戴设备108测量生理数据的实现中,该数据可以用于确定哪些任务对操作员104来说是有压力的。然后,可以对这些任务进行调查,以确定是否可以减轻压力。另外,它们可以更广泛地分发给操作员104,以减少操作员104的总体压力。在一些实现中,在多个操作员104中压力水平的快速增加(可以通过心率升高和出汗增加来指示)可以指示潜在的安全问题。识别潜在安全问题可以自动激活远程支持系统192。然后,远程支持系统192的工作人员可以分析业务102,以评估是否存在任何安全问题,例如,顾客遇到医疗问题或正在进行的犯罪。
可穿戴设备108还可以控制对业务102或业务的特定位置的访问。例如,可穿戴设备108可以用作对业务102的前入口以及业务102的限制区域的访问控制。操作员104可以例如使用生物识别器向可穿戴设备108认证,以确保可穿戴设备108在相应的操作员104的控制下。可穿戴设备108还可以用于仅在某些时间(例如,当存在待处理通知时)解锁某些区域。当在没有来自界面系统120的相应通知的情况下不允许操作员104访问某些类型或位置的库存时,可以减少库存收缩。
通过订购终端188或个人电子设备,顾客可以预订特定时间的桌子。然后,可以将顾客到达的时间通知操作员104,并且可以在他们到达之前通知操作员清理和清洁桌子。另外,界面系统120可以指示顾客的姓名,以便于迎接顾客。
作为调试业务102的一部分,界面系统120可以呈现图形用户界面,使得顾问可以描述商店的布局并表示所有物品的位置。然后,界面系统120可以确定新操作员在执行任务时引导其的最有效路线。界面系统120还可以使用业务102的布局来确定如何分配任务和如何分配角色。通过向操作员104提供对同一任务的不同指令,可以由界面系统120执行A/B测试。
虽然机器人100在下文中被描述为通知的来源,但是通知可以来自各种其他来源,例如,远程支持系统192。例如,远程支持系统192处的代表可以定期检查业务102并基于业务102的评估提供通知。
订购系统184将订单数据提交给机器人100-1的机器人控制器200和机器人100-2。机器人控制器200控制子系统204-1、204-2、......、204-Q(统称为子系统204)。订购系统184可以基于位于机器人100中的原料为特定菜单项选择机器人100-1或机器人100-2。例如,菜单项可能需要在机器人100-2中不存在的原料,因此订购系统184将该项定向到机器人100-1。订购系统184可以使用远程过程调用(RPC),向机器人控制器200提供订单数据。机器人控制器200可以使用RPC来更新关于订单状态的订购系统184。例如,RPC框架可以使用Apache软件基金会的Thrift来实现。
在图2中,示出了机器人控制器200和界面系统120的更多细节。另外,示出了第一子系统204-1的示例简化组件。第一子系统204-1在功能上示出了子系统控制器208,所述子系统控制器接收来自传感器212的输入,并致动机电控制装置216。例如,机电控制装置216可以包括用于传送装置的齿轮传动装置、用于切片机的活塞、用于研磨机的电机等。传感器212可以包括:光学传感器,其确定诸如三明治面包和烹饪油脂的物品的存在。
子系统控制器208和子系统204的其余部件与机器人控制器200的监控控制器220通信。监控控制器220协同控制子系统204,以生产由图1的订购系统184所命令的物品。
机器人控制器200可以包括对应于单独的物理网络端口的两个网络界面。一个网络端口可以用于机器人100-1的局域网,其在机器人100-1之外不可路由。该局域网允许子系统204与机器人控制器200之间的通信。该网络可以在机器人100-1之外不可路由。因此,机器人控制器200实现能够与外部实体(例如,订购系统184和界面系统120)交互的第二网络界面和第二网络端口。
机器人控制器200可以操作完整的网络堆栈,以允许机器人控制器200与每个子系统204之间的通信。例如,机器人控制器200可以实现动态主机配置协议(DHCP)、域名系统(DNS)服务和虚拟专用网(VPN)端点。因为每个机器人100的内部网络是分开的,所以地址范围可以重叠,这简化了网络设置,尤其是当子系统在机器人和设施之间移动时。
尽管为了简单起见未示出,但是机器人控制器200可以经由局域网(LAN)内的网络交换机与订购系统184和界面系统120通信。尽管被描述为在物理上分开,但是可替代地,机器人100-1的子系统204可以被允许与机器人100-1之外的实体通信。在其他实现中,交换机(未示出)可以被配置为将机器人100中的每一个分配给相应的虚拟局域网(VLAN)。换句话说,子系统204和机器人控制器200的内部网络界面位于与任何其他网络端点隔离的VLAN上。
监控控制器220可以向通知控制器224指示需要通知。然后,通知控制器224可以在界面系统120中设置通知。例如,通知控制器224可以使用web客户端(其可以简单地实现为不具有图形显示能力的基于文本的库)来从界面系统120的web服务器232提交和获取数据。在各种实现中,通知可以沿一个方向流动,即,从机器人100到界面系统120。
由web服务器232接收的通知可以被通知管理系统236跟踪。关于通知的历史数据(包括关于哪些操作员处理通知以及完成某些通知花费多长时间的信息)储存在历史数据储存器240中。操作员收发器244提供通知管理系统236与可穿戴设备108之间的通信。作为示例,操作员收发器244可以使用无线接入点124以及分布式通信系统144来发送信号。
当机器人100-1向界面系统120发送通知时,所述通知可以被标记有机器人100-1的标识。在其他实现中,界面系统120可以辨别出通知是由机器人100-1发送的(例如,基于源IP地址),因此对每个机器人100分别跟踪通知。在各种实现中,机器人100-1的子系统204可以各自具有它们自己的唯一标识符。这样,通知的名称可以在子系统204之间重叠,而不会使这些通知变得不明确。
当子系统控制器208向通知控制器224发送通知时,通知可以包括子系统204-1的标识符。在其他实现中,通知控制器224可以用对应于第一子系统204-1的标识符来标记通知,这可以基于将源IP地址辨别为与第一子系统204-1相关联来执行。
然后,由通知管理系统236管理的每个通知与机器人100中的特定一个以及机器人内的特定子系统相关联。为了确保界面系统120具有与机器人100相同的通知集,机器人100可以在通电时向界面系统120提供通知的全集。
仅举例来说,通知控制器224可以通过从每个子系统204接收这些通知来集合允许通知的列表。换句话说,每个子系统204可以具有其自己的通知集,这些通知在加电时提供给通知控制器224。这允许子系统204可以例如在机器人100之间互换,或者在不必重新配置通知控制器224的情况下被替换。通知控制器224可以将来自子系统204的通知与发送给监控控制器220的通知组合,并向界面系统120提供通知的整个集。当每个机器人100都在线并且连接到界面系统120时,通知库被更新以储存每个机器人100的有效通知。然后,当来自机器人100的通知到达时,引用该库。
通知
作为一个简单的示例,通知库260的摘录如图3所示。虽然某些字段是为了说明而示出的,但并非所有描绘的字段都是必需的,并且可以合并未示出的附加字段。只要通知库260包括通知源的标识符和允许通知的唯一标识的代码,则可以不需要额外的字段。源字段标识通知的源,该通知源可以是机器人中的一个,或者也可以是另一个通知源,例如,库存系统180或远程支持系统192。通知库260还包括子源,所述子源指示将从其发出通知的机器人内的子系统。
通知代码字段在特定子系统中是唯一的。换句话说,子系统将仅具有一个通知代码la。然而,该通知代码可以被不同的子系统重复使用。这样,子系统可以各自实现它们自己的通知代码集,而不必与所有其他子系统协调。这也允许同一子系统的多个实例在单个机器人中使用。例如,配料模块可以是子系统,并且在一个机器人中可以有多个配料模块,以允许从该机器人中分配多个配料。注意,通知代码la由小圆面包子系统定义为重新装载小圆面包通知,并被炊具子系统重复使用,以指示需要清空油脂收集器。
通知库260包括可以由子系统设置的每个通知的可选的优先级字段。在该示例中,较小的数字对应于较高(更紧急或更重要)的优先级。可选的“清除授权”字段指示:一旦发出通知,哪些实体可以清除通知。这可以指定机器人或操作员中的任何一个或两个。在一些情况下,通知可以仅被远程支持系统192处的代表清除。可选的“接收者”字段可以指定哪些操作员可以按角色接收通知。例如,一些通知可以指定给礼宾员角色。
可选的“清除时清除”字段可以实施为指示清除通知应导致清除其他通知。这些其他通知可以以列表形式提供。在图3的示例中,通知库260具有用于每个通知的空集(这意味着没有响应于清除事件而自动清除通知)。
可选的“发出时清除”字段指示当发出通知时应清除其他通知。同样,该字段可以是列表的形式。作为一个示例,当发出来自小圆面包子系统的现在重新装载小圆面包通知(lb)时,通知代码la将被清除。注意,在该实现中,被清除的通知是在同一子系统内。这样,在列表中仅指定“la”,这指示:当发出通知lb时,小圆面包子系统中的哪个通知将被清除。
仅为举例说明,描述了与食物加工机器人(特别是制造汉堡包的机器人)的某些配置相关的一些附加通知。例如,在小圆面包子系统中,可以定义“清洁小圆面包”通知。当小圆面包分配失败时,可以发出“清洁小圆面包”通知。这可以包括部分分配、双重分配或不分配。可能会指导操作员在放置盖子和清除通知之前移除入口盖并移除任何小圆面包。当通知被清除后,小圆面包子系统可以尝试再次分配。
如果清除通知之后,小圆面包子系统检测到另一个失败的分配,则小圆面包子系统可以再次发出通知。如上所述,如果这些重发出事件对于特定操作员来说是常见的,则可以为该操作员提供额外的培训。此外,小圆面包子系统通知可以定向给在高峰期具有更高效率的操作员。
对于将三明治载体从一个站点移动到另一个站点的传送装置子系统,可以定义归位通知、“堵塞后归位”通知和“堵塞后继续”通知。当传送装置子系统确定需要在其运动范围内循环并建立归位位置时,发出归位通知。例如,这可以允许线性编码器或旋转编码器归零,并允许传送装置将其每个组件带到已知的启动状态。指导操作员在清除通知之前清除传送装置上的每个东西。一旦归位通知被清除,传送装置将开始归位过程。
当传送装置子系统的某一段发生堵塞时,发出“堵塞后归位”通知。该通知指导操作员从传送装置子系统的受影响区段上移除任何物品(例如,三明治载体)。一旦该通知被清除,传送装置将开始堵塞区段的归位过程。一旦传送装置在堵塞后完成传送装置子系统区段的归位,将发出“堵塞后继续”通知。响应于“堵塞后继续”通知,操作员可以将物品重新放置到传送装置上,以允许传送装置继续其操作。通过清除“堵塞后继续”通知,传送装置子系统将恢复正常操作。
配料切片子系统可以定义归位通知和重新装载通知。当切片子系统需要返回到已知的操作状态时,发出归位通知。当配料子系统中存在配料时,可以指导操作员在切片子系统下方放置容器,以收集归位过程中产生的任何食物残渣。一旦容器被定位以接住食物残渣,操作员就可以清除该通知。当切片子系统检测到原料水平低到需要重新装载时,发出重新装载通知。
炊具子系统可以定义油脂水平通知。可以基于开环估计发出油脂水平通知。例如,每次烹饪事件释放的油脂量可以累积,并且,一旦累积的油脂的估计值达到阈值,就会发出该通知。在各种实现中,该通知可以是基于考虑到正在烹调的哪种肉类混合物的估计值。例如,瘦肉对累积的估计值贡献较少的油脂。
一旦油脂收集器被清空,操作员就清除该通知。可以有两个油脂水平通知。第一个是估计油脂水平已达到一定程度的(例如,一半)装满并应被清空的指示。第二油脂水平通知指示油脂水平接近装满。一旦发出第二油脂水平通知,烹调操作可能会暂停,直到该通知被清除。
当操作员清除油脂收集器时,操作员可以提供关于油脂收集器装满多少的反馈。例如,油脂收集器可以具有刻度指示器,操作员读取该指示器并输入到可穿戴设备。通过该反馈,油脂水平的开环估计可以随着时间的推移而调整。
盒分配子系统可以定义当传感器指示剩余盒的数量低时发出的重新装载通知。当发出该通知时,盒分配子系统可以移动到重新装载位置,以便于操作员访问。一旦操作员清除该通知,盒分配系统可以返回到分配位置并继续分配三明治盒。
在图4中,示出了界面系统120的示例实现的附加细节。通知管理系统236包括:通知库数据储存器304,其储存诸如图3所示的通知库260的通知库。库更新器模块308经由web服务器232从每个机器人100接收通知。然后,库更新器模块308更新通知库数据储存器304。
通知表316可以包括用于图3所示的每个字段的字段。另外,通知表316可以包括指示状态的字段,所述字段可以是二进制的。通知表316还可以包括反馈字段,该反馈字段提供来自可穿戴设备108的反馈。例如,反馈字段可以记录当对应操作员清空油脂收集器时油脂收集器有多满。然后,该反馈信息可以由远程分析系统140评估,以更新油脂收集器装满速率的开环估计。
当机器人在通电后第一次向库更新器模块308提供库时,库更新器模块308在放置新通知之前首先从通知库数据储存器304中移除该机器人的所有通知。这样,机器人不再支持的过时通知将被从通知库数据储存器304中移除。
激活控制器312经由web服务器232从机器人100接收通知发出消息。激活控制器312从通知库数据储存器304获取对应的通知,并将该通知作为活动通知输入到通知表316中。例如,通知表316可以包括用于每个活动通知和用于每个最近清除的通知的一行。当最近清除的通知从通知表316中被移除时,它们可以由数据归档系统320储存到历史数据储存器240中。
附属系统324可以监视通知表316,使得:当在通知表316中发出或清除通知时,应当被清除的任何其他通知在通知表316中被清除。附属系统324依赖于来自通知库数据储存器304的清除时清除和/或发出时清除字段。
通知表316还可以包括指示通知是否已经被操作员104中的一个认领的字段。在其他实现中,通知的认领状态由委派系统328管理。
清除控制器332从web服务器232接收清除指令,并清除通知表316中的对应的通知。例如,当传感器指示通知已被执行时,机器人100可以清除某些通知。例如,传感器被配置为检测小圆面包的存在。在确定小圆面包不存在之后,可以发出小圆面包重新补充通知;一旦传感器辨别出已经重新放置小圆面包,机器人就可以自动清除该通知。
清除控制器332还例如经由操作员收发器244的web服务器336来接收来自可穿戴设备108的清除消息。在各种实现中,web服务器336和web服务器232可以是同一web服务器。
框图
为了说明的目的,图4仅示出了移动设备128的可穿戴设备108-1。剩余的可穿戴设备108将类似地与界面系统120交互。在各种实现中,可以省略移动设备128,并且可穿戴设备108-1将独立地与界面系统120交互。
操作员104-1使用可穿戴设备108-1来指示通知(在本公开中也称为任务)已被清除。操作员104-1还可以使用可穿戴设备108-1来指示:操作员104-1认领任务并打算完成任务。这些消息经由无线接入点124发送到web服务器336。当接收到清除消息时,web服务器336将该消息转发到清除控制器332,以清除对应的通知。当接收到认领消息时,web服务器336将该认领消息转发到委派系统328,以跟踪谁已经认领了每个通知。
可穿戴设备108-1可以例如使用由RFC 6455定义的WebSocket接口,从操作员收发器244获得与可穿戴设备108-1相关的活动通知的全集。操作员收发器244的WebSocket控制器340根据可穿戴设备108-1的要求向可穿戴设备108-1提供通知数据。WebSocket控制器340还可以向可穿戴设备108-1提供指令数据,以协助执行通知。在其他实现中,可穿戴设备108-1可以预编程指令,或者可以在分布式通信系统144上飞速下载它们。在其他实现中,可穿戴设备108-1可以从移动设备128获得指令信息,所述移动设备经常具有比可穿戴设备108-1更大的储存容量。
来自可穿戴设备108-1的指标也可以经由WebSocket控制器340被推送到操作员收发器244。例如,位置和加速计数据可以提供给WebSocket控制器340,然后由数据归档系统320将其储存在历史数据储存器240中。
可穿戴设备108-1可以并非始终处于活动状态。为了当可穿戴设备108-1不处于活动状态时将通知推送到可穿戴设备108-1,可以使用推送服务。推送服务344(例如,来自苹果公司(Apple Inc.)的苹果推送通知服务(Apple push Notification service)(APNS))可以是云服务,该云服务定位为远离业务102,并且可以经由分布式通信系统144访问。当通信在物理上穿过分布式通信系统144时,虚线示出了从推送服务344到移动设备128和可穿戴设备108-1的数据的逻辑流。
操作员收发器244的推送服务界面348向推送服务344提供通知数据,以分发到移动设备128和可穿戴设备108-1。移动设备128的可穿戴设备108-1的架构——即,操作系统和固件——可以允许推送服务344用新通知激活相应的设备。同时,除非相应的设备处于活动状态,否则WebSocket控制器340可能无法与移动设备128或可穿戴设备108-1通信。
换句话说,推送服务界面348用于向可穿戴设备108-1发送紧急通知,而WebSocket控制器340根据可穿戴设备108-1的请求向可穿戴设备108-1提供激活通知信息和潜在的指令数据。委派系统328可以仅使用推送服务界面348,用于高优先级通知。较低优先级通知可以等待,直到可穿戴设备108-1建立到WebSocket控制器340的连接。
在图5中,委派系统328的示例实现包括分配系统404,所述分配系统确定应将来自通知表316的任务分配给谁。通知表316可以包括指定接收者的字段,所述字段可以限制分配系统404可以从哪些接收者中选择。基于诸如来自操作员位置数据储存器408的位置、来自技能数据储存器412的技能数据以及来自假设角色数据储存器416的角色信息的信息,分配系统404可以进一步缩小哪些操作员将接收任务。
操作员位置数据储存器408可以基于业务内用于跟踪可穿戴设备108的位置的信标来填充。在其他实现中,可穿戴设备108可以向操作员位置数据储存器408自报告它们的位置。
技能数据储存器412可以跟踪哪些技能已被操作员开发,并且还可以包括关于操作员在这些任务中的效率如何的信息。该信息可以由远程分析系统140提供。如上所述,分配系统404可以在业务102的停机期间将在技能方面表现出低效率的操作员分配给这些技能。
假设角色数据储存器416确定操作员在其中操作的角色。例如,签到系统420可以允许操作员在签到以在业务102处工作时选择他们自己的角色。分配系统404确定操作员104中的哪个将接收每个通知,并且还可以对每个操作员调整每个通知的优先级。
认领的通知数据储存器424记录哪些操作员已经认领了哪些通知。认领的通知数据储存器424可以移除超过某一预定时间量(例如,5分钟)的认领。这可以是基于这样的假设:要么任务已经完成,要么对任务的认领没有实现。
装饰系统428将元数据应用于每个操作员的每个通知,例如,以指示任务已经被认领。另外,装饰系统428可以基于任务多久以前已经被认领来调整元数据。例如,当任务认领达到5分钟标记时,相关联的元数据可以降低该认领的强度。例如,装饰系统428可以基于这些任务的认领者为任务指定不同的颜色。随着通知相对于认领时间的增长,颜色可以随着时间的推移而开始变淡。
例如,无人认领的通知最初可以是白色的。装饰系统428可以将通知着色为响应于每个操作员的颜色,并使该颜色在预定的时间段(例如,10分钟)内逐渐淡化回白色。淡化可以是对数的,使得淡化在该期间开始时非常缓慢,而在该期间结束时快得多。
分发系统432负责向可穿戴设备108提供通知。分发系统432可以立即向推送服务界面348发送紧急通知。同时,较低优先级通知可以保留在分发系统432中,等待经由WebSocket控制器340获得。对于中等优先级通知,如果对应的可穿戴设备没有连接到WebSocket控制器340超过预定时间段,则分发系统432可以经由推送服务界面348发送这些通知。
在图6中,给出了图2的通知控制器224的示例通知操作。在504处,控制在机器人通电时开始。在504处,控制使用超文本传输协议(HTTP)向服务器发送有效通知的列表。通知的列表可以由机器人的子系统提供的通知组合而成。这些子系统可以在子系统通电时将通知发送给通知控制器,所述通知控制器将这些通知组合,并合并整个机器人通知。仅举例来说,来自每个子系统的通知可以作为JavaScript对象表示法(JSON)文本文件接收。通知控制器可以将每个JSON文本文件包装在标记中,所述标记指示从其接收JSON文本文件的子系统,并且,通知控制器将所有打包的文件连接到单个JSON文件中,用以提供给界面系统。
机器人可以明确请求服务器删除机器人的所有现有通知,使得过时的通知(例如,移除的子系统的通知)不在由界面系统维护的库中。在其他实现中,机器人可以依靠界面系统来确保不存在过时的通知。控制在508继续。
如果在508处需要新的通知,则控制转移到512;否则,控制转移到516。响应于从子系统中的一个接收到的通知,可能需要通知。在512处,控制确定所需要的通知是否清除先前的通知。如果是,控制转移到520;否则,控制转移到524。
该发出时清除的行为可以指定为来自子系统中的一个的机器人控制器的通知的一部分。在其他实现中,发出时清除可以由界面系统处理,并从在图6所示的操作中省略。在520处,如果需要清除的任何先前的通知已经被预先设置(或发出),则控制转移到528;否则,控制转移到524。在528处,控制例如通过在HTTP上使用PUT动词来清除服务器中的先前的通知。然后,控制在524继续。
在524处,例如通过发送设置命令,控制在服务器上设置通知。例如,设置命令可以使用HTTP POST动词进行传输。在其他实现中,可以使用另一个通信协议,例如,WebSocket或远程过程调用(RPC)。在532处,控制将通知添加到活动通知的列表中。然后,控制在516处继续。尽管在图6中未示出,但控制也可以处理由机器人清除的通知。如果机器人清除了通知,则控制可以向服务器发送HTTP POST命令来清除通知。然后,通知将从活动列表中被移除。正常操作可以响应于被清除的通知而已经恢复,或者控制器可以确认清除允许子系统恢复正常操作的通知。
在516处,控制确定活动列表中是否存在任何通知。如果是,控制转移到536;否则,控制返回到508。在536处,控制选择活动列表中的第一个通知并在540处继续。在540处,控制例如通过使HTTP GET动词从服务器获取所选通知的状态。在544处,控制确定所获取的状态是否为清除状态。如果是,控制转移到548;否则,控制转移到552。在548处,控制允许等待该通知被清除的任何子系统恢复正常操作。控制在556处继续,在该处,所选通知将从活动列表中被移除。控制在552处继续。
在552处,控制确定当前所选通知是否是活动列表中最后列出的通知。如果是,控制返回到508;否则,控制转移到560以进行另一次迭代。在560处,控制选择活动列表中的下一个通知并在540处继续。在其他实现中,控制可以请求所有活动通知的状态,而不是一次请求一个通知。在其他实现中,控制可以简单地请求所有通知的状态,服务器可以用已经为服务器发出的通知列表来答复,指示每个通知的状态。在其他实现中,服务器可以用最近清除的通知的列表进行响应。
在各种实现中,控制可以是事件驱动的,而不是使用轮询循环。例如,508的是分支(从512处开始)可以响应于识别应发出的通知的子系统或监控控制器而被调用。类似地,516的是分支(从536处开始)可以响应于计时器事件而开始。换句话说,响应于新通知以及检查现有的活动通知可以并行执行。
UI状态图
在图7中,示出了可穿戴设备用户界面的示例实现的状态图。在一段时间的不活动之后,示出空白屏幕的基本状态600可以是默认状态。例如,在10秒的不与可穿戴设备交互之后,用户界面可以返回到状态600。此外,可穿戴设备可以基于加速计数据而返回到状态600,例如,如果操作员似乎已经放下手臂。
响应于可穿戴设备例如通过操作员举起他们的手臂被激活,可穿戴设备转换到状态604。在状态604,控制选择最高优先级的通知。例如,这可能需要经由WebSocket联系界面系统,并获得可穿戴设备的当前挂起通知的列表。通知可以是为可穿戴设备定制的,并且可以包括关于通知的优先级以及是否有任何通知已经被认领以及被谁认领的信息。通知按优先级顺序排列,并且,具有最高优先级的通知被选择。
在状态604,一旦选择了最高优先级的通知,可穿戴设备就转换到状态612。然而,如果没有通知被激活,则控制转移到状态608。在状态608,可穿戴设备显示指示没有通知被激活的消息。如果通知到达,则可穿戴设备转移回状态604。
在状态612,可穿戴设备显示所选的通知。响应于操作员向右滑动,可穿戴设备转换到状态616,在状态616选择下一个较低优先级的通知。当选择下一个较低优先级的通知时,可穿戴设备转换回状态612。如果操作员在状态612向左滑动,则可穿戴设备转换到状态620,在状态620可穿戴设备选择下一个更高优先级的通知。一旦选择了下一个更高优先级的通知,控制就转换回状态612。
在状态612,如果用户向下滑动,则可穿戴设备转换到状态624。在状态624,可穿戴设备显示邀请操作员认领通知的提示。例如,可以显示按钮以允许认领通知,或者消息可以指示向下滑动手势将认领通知。如果操作员向下滑动以认领通知,则可穿戴设备转换到状态628;如果操作员相反地向上滑动,则可穿戴设备返回到状态612。
在状态628,可穿戴设备例如通过向界面系统发送认领消息来认领所选通知,并且还可以更新所选通知的颜色。一旦所选通知被认领,可穿戴设备转换回状态612。当操作员在状态612使用向上滑动手势时,可穿戴设备转换到状态632。在状态632,可穿戴设备为所选通知选择指令的第一屏幕(例如,第一步骤)。一旦选择完成,可穿戴设备就转换到状态636。
在状态636,控制向操作员显示所选的指令步骤。响应于向右滑动手势,可穿戴设备转换到状态640,在状态640选择下一个指令步骤。如果当前所选指令步骤已经是最后一个指令步骤,则选择保持不变。一旦选择完成,可穿戴设备就返回到状态636。
从状态636响应于向左滑动手势,可穿戴设备转换到状态644,在状态644选择先前的指令步骤(或者保持选择第一指令步骤)。当选择完成时,可穿戴设备返回到状态636。在状态636时,如果操作员向下滑动或如果所选通知已经被(例如,机器人或另一个操作员)清除,则可穿戴设备转换到状态604。在状态636,如果操作员向上滑动,则可穿戴设备转换到状态648。在状态648,如果操作员向下滑动,则可穿戴设备返回到状态636。
在状态648,可穿戴设备显示允许操作员清除通知的提示。例如,可以轻触按钮来清除通知,或者可以使用向上滑动手势来清除通知。在图7中示出了向上滑动手势的实现。因此,如果操作员在状态648时向上滑动,则可穿戴设备转换到状态652。在状态652,可穿戴设备例如通过向界面系统发送清除消息来清除所选通知。一旦清除操作完成,可穿戴设备就转换到状态604。在状态612,如果所显示的通知被清除,则可穿戴设备转换到状态604,以选择当前最高优先级通知。
在状态600,如果通知例如响应于推送通知而到达,则可穿戴设备转移到状态656。在状态656,可穿戴设备选择并显示新通知。另外,可穿戴设备可以提供音频或振动输出,以通知操作员新通知。操作员可以例如通过向下滑动来解除新通知,在这种情况下,可穿戴设备转换到状态604。在状态656,如果操作员相反地点击可穿戴设备以指示对新通知感兴趣,则可穿戴设备转换到状态612(或者可以直接转换到状态632,以选择用于显示的第一指令步骤)。
在各种实现中,最高优先级通知使得可穿戴设备显示该通知,而不管可穿戴设备的当前状态如何。例如,当接收最高优先级通知时,可穿戴设备可以保持用户界面的当前状态并立即转换到状态656。如果操作员解除最高优先级通知,则可以恢复用户界面的先前状态。
在图8中,示出了可穿戴设备的附加操作的示例。例如,语音控制可以被激活用于某些通知,并且加速计记录可以用于其他通知。在所描绘的示例中,控制在704处开始,在704处,如果显示通知指令(指示用户开始执行与通知相关联的任务),则控制转移到708;否则,控制保持在704处。
在708处,控制确定通知是否被编码为手不可用通知。如果是,控制转移到712;否则,控制转移到716。例如,如果佩戴可穿戴设备的用户的手将处于使得操作员难以查看显示器的位置,或者如果未佩戴可穿戴设备的手臂从事使可穿戴设备的操作变得困难的活动,则通知可以被编码为手不可用。
另外,如果操作员在执行任务时手可能不干净,则通知可以被编码为手不可用。在各种实现中,任务可以被配置成使得:用户的佩戴可穿戴设备的手可以变脏,而另一只手可以保持干净并能够操作可穿戴设备。如果任务适合于特定的(左或右)手,则该手是否不可用可以取决于用户是惯用左手的(并且可穿戴设备佩戴在右手上)还是惯用右手的(并且可穿戴设备佩戴在左手上)。
在712处,控制激活语音控制,这意味着可穿戴设备上显示的文本可以被大声读出,并且导航命令可以被大声读出。另外,可穿戴设备可以开始聆听语音输入,以导航可穿戴设备的用户界面。控制在720处继续,在720处,控制提供指示语音控制现在可用的听觉信息。然后,控制在724处继续。同时,在716处,语音控制被停用。
在724处,控制确定通知是否被编码为迭代。如果是,控制转移到728;否则,控制返回到704。在728处,控制开始记录来自可穿戴设备的加速计数据。在732处,控制确定任务是否已经被清除。如果是,控制转移到736;否则,控制转移到740。
在740处,如果操作员已经开始个人时间,则控制转移到744;否则,控制返回到732。例如,个人时间可以包括休息或进入厕所。在744处,控制暂停记录加速计数据,并在748处继续。在748处,控制确定个人时间是否已经结束。如果是,控制转移到752;否则,控制保持在748处。在752处,控制恢复记录加速计数据,并且控制返回到732。
在736处,控制停止记录加速计数据。在756处,控制获得任务的储存的加速计配置文件。可以通过让经过训练的操作员执行任务并记录加速计数据来实验性地确定该储存的加速计配置文件。在760处,控制将记录的加速计数据与获得的配置文件进行比较,并确定正确执行任务实际花费的时间量。
在764处,控制记录任务执行的持续时间。例如,这可以指示用户花费多长时间洗手或者用户花费多长时间扫地。在其他实现中,这可以指示用户花费多长时间切碎原料。然后,控制返回到704。
可穿戴设备
在图9中,可穿戴设备108-1的示例实现的功能框图包括传感器804,例如,加速计。数据采集模块808记录来自传感器804的信息。数据处理模块812可以评估由数据采集模块808采集的数据。例如,如图8所述,数据处理模块812可以评估加速计数据是否指示正在正确执行的任务,和/或可以确定任务的执行长度。
由数据处理模块812处理的数据可以提供给图4的界面系统120的WebSocket控制器340。WebSocket控制器340还可以向通知获取模块816提供通知信息。通知获取模块816将可穿戴设备108-1的活动通知储存在通知数据储存器820中。
显示控制器824从通知数据储存器820读取关于通知的信息,并且还可以读取关于执行通知的任务的指令的信息。显示控制器824还可以从推送服务344接收通知。显示控制器824的操作可以由用户输入828修改,所述用户输入可以包括触摸输入、语音输入和运动输入。
响应于指示请求远程支持的用户输入828,远程支持控制器832可以与远程支持系统192接合。例如,远程支持控制器832可以向显示控制器824提供视频或其他信息。在其他实现中,远程支持控制器832可以激活一个或更多个传感器804,和/或可以例如通过拍照采集音频或视频数据。
状态更新控制器836响应于用户输入828而操作,以生成指示通知已经被认领或清除的认领和清除消息。这些消息被传输到web服务器336。在各种实现中,机器人100可以专门经由该HTTP接口控制。
在图10中,示出了示例计算设备900的简化框图。例如,计算设备900可以用于实现可穿戴设备108-1、移动设备128、界面系统120、机器人控制器200等。计算设备900包括在904处指示的一个或更多个处理器。处理器执行来自非易失性存储器908的指令。指令可以在执行期间加载到存储器912中,并且数据可以储存在存储器912中。
处理器904可以经由WLAN接口916与诸如IEEE 802.11的无线局域网(WLAN)通信,和/或经由WPAN接口920与诸如蓝牙的无线个人区域网(WPAN)通信。处理器904可以经由触摸输入924和麦克风输入928接收输入。处理器904可以使用在触摸屏的情况下与触摸输入924组合的图形显示器936向操作员输出信息。
处理器904可以从摄像机输入932接收视觉输入。处理器904还可以使用诸如扬声器的振动输出940和听觉输出944向操作员输出信息。处理器904还可以通过诸如近场通信948和/或射频识别(RFID)标签和读取器(未示出)的短程无线机制进行通信。此外,虽然未示出,但计算设备900可以由电池供电,所述电池可以通过有线端口充电和/或无线充电。
任务合并
为了尽可能减少操作员的行程用以提高效率,并且为了避免操作员感到自己在绕圈运行,操作员界面可以通知操作员如何将饮料、玻璃杯、垃圾袋、料斗等装在推车上,使得他们在任何一次行程中都能够处理更多任务。无论是零售店、餐厅还是仓库,软件系统都会提醒商店工作人员在整个操作中哪些东西需要重新装载。整个商店都有一些基本点,在那里,物品被准备好,然后被重新装载或交付。在这些点之间是路线,每个路线具有不同的距离和行程时间。
例如,考虑通过图11所示的示例餐厅布局的路线。每个点(用字母标记)可以标识执行任务的位置。每个路线的行程成本至少部分取决于距离。
此外,在商店中有一个或更多个正在执行的操作,这些操作需要重新装载物品以处理或制造一些货物。在自动化餐厅的情况下,这些位置可以包括食物准备台、包装柜台、机器人重新装载站、机器人卸货站和自助服务柜台。当操作运行时,各种物品将变少,并且需要在缺货(即,库存达到临界水平或甚至为零)之前重新装载。
为防止缺货,员工将在商店内的路线上穿行,并在需要的地方交付新物品。为了尽量减少行程和员工劳动,每次行程都应尽可能多地做工作。为了实现这一点,操作软件基于通过商店的订单来跟踪库存物品。将会有一个持续的队列,该队列包括在接近最低水平时的所有商品和它们所在的商店路线(例如,前台路线或后台路线)。
在一个示例中,操作员界面可以确定操作员将在它们执行认领的任务的途中经过某个位置。在该位置处,可能需要执行另一个任务,这可能很简单,只需要拿起空容器并使其返回到另一个位置。如果操作员界面确定该附加任务不会减损操作员所认领的任务,则操作员界面可以通知操作员执行该附加任务。
当操作员准备重新装载时,可以连续执行运行交付周期计算。操作员可以准备并将物品添加到推车中,直到推车已满或运行交付周期计算接近即将缺货的点。此时,操作员界面将指导用户,以使重新装载运行,然后返回到用于附加物品的准备区域。在此过程中,操作员可以被要求重新补充各种物品,并清除任何使用过的容器,如料斗。
例如,运行交付周期决策步骤可以为要重新装载的物品列表中的每个物品确定:
物品1:准备时间1+包装时间1+行程时间1+重新装载时间1
操作员将包装物品1。
物品2:准备时间1+包装时间1+行程时间1+重新装载时间1+物品时间1
如果物品2的总和小于物品1的缺货时间,则将包装物品2。
物品3:准备时间1+包装时间1+行程时间1+重新装载时间1+物品时间1至2
如果物品3的总和小于物品2的缺货时间,则还将包装物品3。
物品4:准备时间1+包装时间1+行程时间1+重新装载时间1+物品时间1至3
如果物品4的总和小于物品3的缺货时间,则还将包装物品4。例如,考虑何时总和大于物品3的缺货时间。那么将不包装物品4。
物品5:行程时间1-5+取件时间5+物品时间1至4
在返回时捡取物品可以在不影响缺货可能性的情况下执行。
各种模型可以用于控制操作员界面,例如,EOQ(经济订单量,其平衡订购成本和储存成本)、VED(重要/必要/理想)分析、FSN(快速移动、慢速移动、非移动)方法、马尔可夫排队和最小安全库存。
在图12中,流程图展示了评估库存物品水平的示例操作。例如,库存物品可以包括:由机器人使用的三明治或汉堡包配料,或者其他服务物品,例如,玻璃杯、番茄酱包、餐巾纸等。控制在1004处开始,在1004处,选择库存物品列表中的第一库存物品。在首次配置餐厅时,可以建立库存物品列表。例如,库存物品列表可以是由特定于餐厅的特殊原料或其他物品来补充的预定列表。
控制在1008处继续,在1008处,控制确定所选库存物品的水平。例如,机器人上的传感器可以直接确定所选库存物品的水平。在其他实现中,所选库存物品的水平可以基于库存物品自上次重新填充以来的订单数据来估计。例如,自上次重新填充番茄以来所下订单所需的番茄片的数量可以指示:番茄供应量已经耗尽了多少。
历史信息可以用于提高该预测的准确性。例如,历史数据可以指示番茄的消耗量略高或低,而番茄的使用量的开环估计则会另行指示。例如,该历史信息可以说明未直接包括在订单中的废物或其他产品。
其他库存物品可以不直接与订单挂钩。例如,顾客可以根据需要获得餐巾纸或水杯。然而,如上所述,历史信息可以表明,堂食顾客平均将获得大约1:1的汉堡和饮料的比例。因此,如果不为汉堡包而购买饮料,则合理的推断可以是将使用一个水杯。因此,订单数据可以用于推断自上次重新补充后使用的水杯数量。
可以基于历史信息来消耗其他物品,例如,餐巾纸。例如,平均每个订单获得的餐巾纸数量可以历史性地确定,并且可以基于订单信息上下调整。例如,订购薯条的顾客平均可以获取额外的餐巾纸。在确定所选库存物品的水平之后,控制在1012处继续。
在1012处,控制确定所选库存物品的最小阈值和重新装载阈值。最小阈值对应于需要紧急重新装载的水平。例如,最小阈值可以确定为使得保持足够的操作缓冲,使库存物品的水平不会低于最小阈值。重新装载阈值较高,并且对应于重新装载不会导致库存物品过满或变质的库存水平。例如,在不需要番茄的时候装载额外的番茄可能会导致番茄冷藏时间过长,因此在被用于订单之前会被丢弃。因此,重新装载阈值可以取决于当前使用水平和预测的使用水平。类似地,最小阈值也可以基于消耗率而变化。
在1016处,控制确定库存物品的水平是否低于重新装载阈值。如果是,控制转移到1020;否则,控制转移到1024。在1020处,所选物品适用于重新装载,因此第二物品被添加到重新装载队列中。如果所选物品已经在重新装载队列中,则不会再次添加该物品。如果多个位置使用同一库存物品,则这些可以被视为分开的库存物品。例如,供应第一机器人的番茄可以与供应第二机器人的番茄分开处理。
如前所述,至少在一天的当前时间或一周或一年的当前日期,订购频率较低的库存物品可以仅分配给一个机器人,使得该库存物品不必在多个机器人中维护。因此,操作员界面可以确定,一旦第一机器人处的某个库存物品的水平低于阈值,则可以停止该原料的重新装载。因此,其他一个或多个机器人将被用来完成需要该原料的订单。
控制从1020继续到1024。在1024处,如果库存物品的水平小于最小阈值,则控制转移到1028;否则,控制转移到1032。在1028处,控制为重新装载队列中的所选物品分配高优先级。在各种实现中,可以基于该库存物品有多必要来调整优先级。例如,肉可能是每个汉堡包都需要的,因此得到了最高的优先级。同时,某些调味料或调味汁可能仅为某些订单所要求,因此没有那么高的优先级,因为没有它不会阻止所有工人继续工作。控制在1036处继续,在1036处,生成重新装载通知并将其分发给操作员。然后,控制在1032处继续。在1032处,如果有额外的库存物品,则控制转移到1040;否则,控制返回到1004。在1040处,控制选择下一个库存物品并返回到1008。
图13A和图13B一起描述了一个示例过程,其用于为已经认领重新装载标识的操作员合并任务。因此,在操作员认领未完成的重新装载通知时,控制在1104处开始。基于操作员的位置,控制确定潜在路径集,其用于操作员返回他们找到额外的库存物品的库存区域。在各种限制条件下,可能会有多个库存区域,例如,食品冷藏库和纸质货物储藏室。因此,可以基于由重新装载通知指定的库存物品来确定适当的库存区域。
控制在1108处继续,在1108处,控制标识每个潜在路径上的集合物品。例如,集合物品可以包括来自机器人的空料斗、装满的垃圾袋、用过的水杯托盘等。在1112处,控制确定是否存在多于一个的潜在路径。如果是,控制转移到1116;否则,控制转移到1120。在1116处,控制选择具有最大数量的集合物品的可能路径,并在1124处继续。在1120处,控制选择唯一的潜在路径,并在1124处继续。
在1124处,控制标识沿所选路径存在的已标识集合物品的子集。子集可以包括所选路径上的所有集合物品,或者可以仅限于操作员能够一次携带的那些集合物品。操作员的携带能力可以基于经验研究确定,并且可以因操作员变化。例如,更有经验的操作员可以携带更多的集合物品。在1128处,控制向操作员发出所选路径的信号,并且标识操作员在沿着所选路径行进时收集的集合物品的子集。
在1132处,控制监控操作员的位置。在1136处,控制确定操作员位置是否靠近集合物品子集中的一个物品。如果是,控制转移到1140;否则,控制转移到144。在1140处,控制提醒操作员收集操作员附近的物品。例如,该提醒可以是在可穿戴设备上的临时通知,所述通知在预定秒数之后或者当操作员的位置偏离物品的位置时被清除。然后,控制在1144继续。在1144处,控制确定操作员位置是否已经到达适当的库存区域。如果是,控制转移到图13B的1148;否则,控制返回到1132。
在图13B中,在1148处,控制将累计时间值设置为零并清除任务列表。任务列表将包含操作员将响应于当前通知而重新装载的库存物品。在高水平上,任务列表将由需要重新装载的最高优先级物品形成,并将基于多个因素进行限制,例如,避免其中一个物品达到临界水平或完全用完。此外,任务列表可以基于操作员能够例如在限定尺寸的推车上一次运输的库存物品的数量进行限制。
控制在1152处继续,在1152处,控制选择重新装载队列中的最高优先级物品。控制在1156处继续,在1156处,控制确定所选物品的时间的数量。例如,相关时间可以包括准备时间(例如,将蔬菜切片)、包装时间(例如,将切片蔬菜或整个面包装入料斗中)、到重新装载位置的行程时间以及执行重新装载所需的重新装载时间。在各种实现中,如果库存物品已经准备好,例如,在轮班开始时或在餐厅每日营业之前,则准备时间可以为零。
控制在1160处继续,在1160处,控制计算准备时间、包装时间、行程时间和重新装载时间的总和。控制在1164处继续,在1164处,控制确定累计时间加上总和是否小于站点达到临界水平或零水平之前所选物品的估计剩余时间。如果累计时间加上总和小于剩余时间,则控制转移到1168;否则,控制转移到1172。
在1168处,有足够的时间重新装载另一个物品,但可能没有足够的空间。因此,控制确定用于现有任务列表物品以及所选物品的空间是否可以被运载车容纳。如果是,控制转移到1176;否则,控制转移到1180。在1176处,有足够的时间和空间,因此所选物品被添加到任务列表中。另外,累计时间随总和的值而增加。控制在1184处继续。在1184处,控制确定重新装载队列中是否存在附加物品。如果是,控制转移到1192;否则,控制转移到1180。在1192处,控制从重新装载队列中选择下一个最高优先级的物品并返回到1156。
在1180处,在重新装载队列中没有附加物品,或者运载车中没有额外空间,或者没有足够的时间重新装载另一个物品。因此,控制向操作员提供任务列表。例如,任务列表可以作为概述示出给操作员,然后是关于准备、包装、行程和重新装载的个别指令。然后,控制结束。
在1172处,没有足够的时间重新装载所选物品。然而,如果任务列表是空的,则操作员不应简单地不重新装载任何东西。因此,如果在1172处任务列表是空的,则控制转移到1188;否则,控制转移到1180。在1188处,控制将所选物品添加到任务列表。由于在达到库存物品的临界水平之前没有足够的时间重新装载所选物品,因此控制会提醒操作员该紧急情况。在各种应用中,例如,通过一个人在另一个操作员执行包装的同时执行准备,可能具有并行执行某些任务的能力。作为另一个示例,另一个操作员可以例如通过为准备新容器到达而移除空容器来开始重新装载过程。这样,可以满足时间约束,并且可以不达到估计的临界或零水平。在这种情况下,系统可以紧急地生成通知,要求另一个操作员在重新装载过程中协助当前操作员。控制在1180处继续,在1180处,向操作员提供任务列表。
结论
以上描述本质上仅是说明性的,绝不旨在限制本公开、其应用或用途。本公开的广泛教导可以以各种形式实现。因此,尽管本公开包括特别示例,但是本公开的真实范围不应受到如此限制,因为其他修改在研究附图、说明书和以下权利要求时将变得显而易见。应当理解,在不改变本公开的原理的情况下,可以以不同的顺序(或同时)执行方法内的一个或更多个步骤。此外,尽管以上将每个实施例描述为具有某些特征,但是相对于本公开的任何实施例描述的那些特征中的任何一个或更多个特征可以在任何其他实施例的特征中实现和/或与其组合,即使该组合没有被明确描述。换句话说,所描述的实施例不是互相排斥的,并且一个或更多个实施例彼此的置换仍在本公开的范围内。
使用各种术语(包括“连接”、“接合”、“耦合”、“相邻”、“邻接”、“在……的顶部”、“在……上方”、“在……下方”和“放置”)来描述元件之间(例如,模块、电路元件、半导体层等之间)的空间和功能关系。除非明确地描述为“直接”,否则当在以上本公开中描述第一元件与第二元件之间的关系时,该关系可以是其中在第一元件与第二元件之间不存在其他中间元件的直接关系,也可以是其中在第一元件与第二元件之间(在空间上或在功能上)存在一个或更多个中间元件的间接关系。
如本文所使用的,短语A、B和C中的至少一个应该被解释为使用非排他逻辑或的逻辑(A或B或C),并且不应该被解释为“A中的至少一个、B中的至少一个、以及C中的至少一个”。术语子集不一定需要适当的子集。换句话说,第一集合的第一子集可以与第一集合共扩展(等同)。
在附图中,如箭头所示,箭头的方向通常说明该图感兴趣的信息(例如,数据或指令)流。例如,当元件A和元件B交换各种信息,但从元件A传输到元件B的信息与图示有关时,箭头可以从元件A指向元件B。该单向箭头并不意味着没有其他信息从元件B传输到元件A。此外,对于从元件A发送到元件B的信息,元件B可以将对信息的请求发送到元件A或接收该信息的确认。
在本申请中,包括下面的定义,术语“模块”或术语“控制器”可以用术语“电路”代替。术语“模块”可以指以下的一部分或包括以下:专用集成电路(ASIC);数字、模拟或混合模拟/数字离散电路;数字、模拟或混合模拟/数字集成电路;组合逻辑电路;现场可编程门阵列(FPGA);执行代码的处理器电路(共享、专用或组);储存由处理器电路执行的代码的存储器电路(共享、专用或组);提供所述功能的其他合适的硬件组件;或如在片上系统中的上述一些或全部的组合。
模块可以包括一个或更多个接口电路。在一些示例中,接口电路可以包括连接到局域网(LAN)、因特网、广域网(WAN)或其组合的有线或无线接口。本公开的任何给定模块的功能可以分布在经由接口电路连接的多个模块之间。例如,多个模块可以允许负载均衡。在另一个示例中,服务器(也称为远程或云)模块可以为了客户端模块的利益完成一些功能。
可以使用用于硬件描述的语言来定义模块的一些或全部硬件特征,如,IEEE标准1364-2005(通常称为“Verilog”)和IEEE标准1076-2008(通常称为“VHDL”)。硬件描述语言可以用于制造和/或编程硬件电路。在一些实施方案中,模块的一些或全部特征可以由一种语言定义,如,IEEE 1666-2005(通常称为“系统C”),如下所述,该语言包括代码和硬件描述两者。
如以上所使用的术语代码可以包括软件、固件和/或微代码,并且可以涉及程序、例程、函数、类、数据结构和/或对象。术语共享处理器电路包含:单个处理器电路,其执行来自多个模块的一些或全部代码。术语成组处理器电路包含处理器电路,该处理器电路与附加处理器电路结合,执行来自一个或更多个模块的一些或全部代码。多处理器电路包含离散模具上的多处理器电路、单个硬模上的多处理器电路、单个处理器电路的多核、单个处理器电路的多线程或上述的组合。术语共享存储器电路包含单个存储器电路,该存储器电路储存来自多个模块的一些或全部代码。术语成组存储器电路包含存储器电路,该存储器电路与附加存储器结合,储存来自一个或更多个模块的一些或全部代码。
术语存储器电路是术语计算机可读介质的子集。如本文所使用的术语计算机可读介质不包含通过介质(如,在载波上)传播的瞬时电或电磁信号;因此,术语计算机可读介质可以被认为是有形的和非瞬时的。非瞬时性计算机可读介质的非限制性示例是非易失性存储器电路(如,闪存电路、可擦除可编程只读存储器电路或掩模只读存储器电路)、易失性存储器电路(如,静态随机存取存储器电路或动态随机存取存储器电路)、磁存储介质(如,模拟或数字磁带或硬盘驱动器)和光存储介质(如,CD、DVD或蓝光光盘)。
本申请中描述的设备和方法可以由专用计算机部分地或完全地实现,该专用计算机通过配置通用计算机以执行在计算机程序中体现的一个或更多个特定功能而创建。上述功能块和流程图元件用作软件规范,其可以通过熟练的技术人员或程序员的日常工作被翻译成计算机程序。
计算机程序包括储存在至少一个非瞬时性计算机可读介质上的处理器可执行指令。计算机程序还可以包括或依赖于储存的数据。计算机程序可以包含:与专用计算机的硬件交互的基本输入/输出系统(BIOS)、与专用计算机的特定设备交互的设备驱动器、一个或更多个操作系统、用户应用程序、后台服务、背景应用、等等。
计算机程序可以包括:(i)要解析的描述性文本,例如,HTML(超文本标记语言)、XML(可扩展标记语言)或JSON(JavaScript对象表示法),(ii)汇编代码,(iii)通过编译器从源代码生成的对象代码,(iv)由解释器执行的源代码,(v)由即时编译器编译和执行的源代码等。仅作为示例,可以使用包括C、C++、C#、Objective-C、Swift、Haskell、Go、SQL、R、Lisp、Fortran、Perl、Pascal、Curl、OCaml、HTML5(超文本标记语言第5版)、Ada、ASP(活动服务器页面)、PHP(PHP:超文本预处理器)、Scala、Eiffel、Smalltalk、Erlang、Ruby、Lua、MATLAB、SIMULINK和等语言的语法来编写源代码。
Claims (20)
1.一种机器人控制系统包括:
用于机器人的机器人控制器;以及
界面系统,
其中,所述机器人控制器被配置为,响应于所述机器人的第一子系统中的第一条件:
停止所述第一子系统的操作;
向所述界面系统发送指定第一通知的设置命令;
从所述界面系统获得关于所述第一通知的状态信息;并且
响应于指示所述第一通知具有已清除状态的所述状态信息,恢复所述第一子系统的操作;并且
其中,所述界面系统被配置为:
维护活动通知集;
跟踪被配置为接收通知的设备集,其中,所述设备集中的每一个设备与相应的操作员相关联;并且
响应于从所述机器人控制器接收所述设置命令:
将所述第一通知添加到所述活动通知集;
确定接收所述第一通知的所述设备集中的设备的第一子集;
将所述第一通知无线发送给设备的所述第一子集;并且
响应于从设备的所述第一子集中的一个接收指定所述第一通知的清除消息,在所述活动通知集中将所述第一通知设置为所述已清除状态。
2.如权利要求1所述的机器人控制系统,其中,所述机器人控制器被配置为,响应于所述机器人的所述第一子系统中的第二条件,在继续所述第一子系统的操作的同时,向所述界面系统发送指定第二通知的设置命令。
3.如权利要求2所述的机器人控制系统,其中,所述机器人控制器被配置为,当在所述第一通知与所述第二通知之间存在发出时清除关系时,响应于所述第一条件将所述第二通知设置为所述已清除状态。
4.如权利要求3所述的机器人控制系统,其中,所述机器人控制器被配置为:
维护内部的活动通知集;并且
通过在所述内部的活动通知集中将所述第二通知设置为所述已清除状态,将所述第二通知设置为所述已清除状态。
5.如权利要求3所述的机器人控制系统,其中,所述机器人控制器被配置为,通过向所述界面系统发送指定所述第二通知的清除命令,将所述第二通知设置为所述已清除状态。
6.如权利要求3所述的机器人控制系统,其中:
所述第一条件对应于超过第一阈值的所述第一子系统的参数;并且
所述第二条件对应于超过与所述第一阈值不同的第二阈值的所述第一子系统的参数。
7.如权利要求1所述的机器人控制系统,其中,所述机器人控制器被配置为:
基于与所述第一子系统相关联的物理传感器来识别恢复条件;并且
响应于识别所述恢复条件,向所述界面系统发送指定所述第一通知的清除命令。
8.如权利要求1所述的机器人控制系统,其中:
所述界面系统被配置为,操作超文本传输协议服务器;并且
所述机器人控制器被配置为,通过将第一超文本传输协议请求发送到所述超文本传输协议服务器,将所述设置命令发送到所述界面系统。
9.如权利要求8所述的机器人控制系统,其中,所述机器人控制器被配置为,通过将第二超文本传输协议请求发送到所述超文本传输协议服务器,从所述界面系统获得状态信息。
10.如权利要求1所述的机器人控制系统,其中,所述机器人控制器被配置为,响应于所述机器人的通电,将潜在通知集发送到所述界面系统。
11.如权利要求10所述的机器人控制系统,其中,所述机器人控制器被配置为:
集合来自所述机器人的多个子系统的所述潜在通知集,所述多个子系统包括所述第一子系统;并且
用所述多个子系统中的一个的对应标识符来标记所述潜在通知集中的每一个。
12.如权利要求1所述的机器人控制系统,其中,所述机器人控制器被配置为,响应于所述第一子系统识别所述第一条件,从所述第一子系统接收所述第一通知。
13.如权利要求12所述的机器人控制系统,其中,所述机器人控制器被配置为,用所述第一子系统的标识符来标记所述第一通知,并且当将所述设置命令发送到所述界面系统时指定所述标记。
14.如权利要求1所述的机器人控制系统,其中:
所述机器人控制器被配置为,操作第一网络界面和第二网络界面;
所述第一网络界面和所述第二网络界面彼此隔离,并且彼此之间不可路由;
所述第一网络界面被配置为,与所述机器人的多个子系统通信,所述多个子系统包括所述第一子系统;并且
所述第二网络界面被配置为与所述界面系统通信。
15.如权利要求14所述的机器人控制系统,其中:
所述第二网络界面被配置为与订购系统通信;并且
所述机器人控制器被配置为,响应于从所述订购系统接收到食品的规格,控制所述第一子系统以准备所述食品。
16.如权利要求1所述的机器人控制系统,其中,所述界面系统被配置为:
对所述设备集中的每个设备,从预定的多个角色中分配角色;并且
基于所分配的角色确定设备的所述第一子集。
17.如权利要求16所述的机器人控制系统,其中,所述界面系统被配置为,对设备的所述第一子集中的每个设备,基于所分配的角色为所述第一通知分配优先级。
18.如权利要求1所述的机器人控制系统,其中,所述界面系统被配置为:
对设备的所述第一子集中的每个设备,响应于来自所述设备的连接请求,向所述设备提供所述第一通知;并且
选择性地将所述第一通知提供给推送服务,用以分发给设备的所述第一子集。
19.如权利要求1所述的机器人控制系统,其中:
所述界面系统被配置为,操作超文本传输协议服务器;并且
所述界面系统被配置为,经由对所述超文本传输协议服务器的第一超文本传输协议请求,从设备的所述第一子集中的一个接收清除消息。
20.如权利要求1所述的机器人控制系统,其中,所述界面系统被配置为:
操作超文本传输协议服务器;
经由对所述超文本传输协议服务器的第一超文本传输协议请求,从设备的所述第一子集中的一个选择性地接收认领消息;并且
响应于接收所述认领消息,向设备的所述第一子集的其余部分通知已经认领了所述第一通知。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862641968P | 2018-03-12 | 2018-03-12 | |
US62/641,968 | 2018-03-12 | ||
US201862672034P | 2018-05-15 | 2018-05-15 | |
US62/672,034 | 2018-05-15 | ||
PCT/US2019/021919 WO2019178144A1 (en) | 2018-03-12 | 2019-03-12 | Control system architecture and distributed human-machine interface for robot control |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112088341A true CN112088341A (zh) | 2020-12-15 |
Family
ID=67843014
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980031096.9A Pending CN112088341A (zh) | 2018-03-12 | 2019-03-12 | 用于机器人控制的控制系统结构以及分布式人机界面 |
Country Status (4)
Country | Link |
---|---|
US (2) | US11173606B2 (zh) |
EP (1) | EP3765936A4 (zh) |
CN (1) | CN112088341A (zh) |
WO (1) | WO2019178144A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6978447B2 (ja) * | 2019-01-22 | 2021-12-08 | ファナック株式会社 | 表示データ提供装置 |
KR20190100093A (ko) * | 2019-08-08 | 2019-08-28 | 엘지전자 주식회사 | 로봇을 이용한 서빙 시스템 및 그 작동방법 |
US11429113B2 (en) * | 2019-08-08 | 2022-08-30 | Lg Electronics Inc. | Serving system using robot and operation method thereof |
KR20210072588A (ko) * | 2019-12-09 | 2021-06-17 | 엘지전자 주식회사 | 서비스 영역 내 로봇들을 제어하여 서비스를 제공하는 방법, 시스템 및 이를 구현하는 로봇 |
WO2021171357A1 (ja) * | 2020-02-25 | 2021-09-02 | 日本電気株式会社 | 制御装置、制御方法及び記録媒体 |
JP7173079B2 (ja) * | 2020-03-31 | 2022-11-16 | 株式会社安川電機 | 作業再開システム、製造方法、及びプログラム |
EP4185441A4 (en) * | 2020-07-22 | 2024-08-21 | Flexxbotics | MESH NETWORK OF RECONFIGURABLE ROBOTS |
EP4026663B1 (en) * | 2021-01-08 | 2024-08-28 | Tata Consultancy Services Limited | Navigation of tele-robot in dynamic environment using in-situ intelligence |
WO2022168241A1 (ja) * | 2021-02-04 | 2022-08-11 | 東芝三菱電機産業システム株式会社 | 産業プラント用操作アシストシステム |
US11681983B2 (en) * | 2021-07-23 | 2023-06-20 | 6 River Systems, Llc | Systems and methods for prioritizing pick jobs while optimizing efficiency |
US11774977B1 (en) | 2022-04-04 | 2023-10-03 | 6 River Systems, Llc | Systems, apparatus, and methods for optimization of autonomous vehicle workloads |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1926492A (zh) * | 2004-03-04 | 2007-03-07 | 日本电气株式会社 | 数据更新系统、数据更新方法、数据更新程序和机器人系统 |
CN103109288A (zh) * | 2010-07-23 | 2013-05-15 | 电子湾有限公司 | 提供产品信息的即时消息机器人 |
CN103430166A (zh) * | 2010-10-04 | 2013-12-04 | 海德沃特合作I有限公司 | 用于提供用户通知的系统和方法 |
CN103679837A (zh) * | 2012-09-07 | 2014-03-26 | 发纳科机器人美国公司 | 监控/分析机器人相关信息并显示在智能装置上的系统 |
US20150017054A1 (en) * | 2013-07-09 | 2015-01-15 | MTU Aero Engines AG | Control in generative production |
JP2016198839A (ja) * | 2015-04-08 | 2016-12-01 | 富士電機株式会社 | 生産ライン監視システム |
US20170161851A1 (en) * | 2015-12-08 | 2017-06-08 | Toast, Inc. | Restaurant Notification System |
US20170334062A1 (en) * | 2016-05-18 | 2017-11-23 | Lucas Allen | Robotic delivery unit and system |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10314025B4 (de) | 2003-03-28 | 2010-04-01 | Kuka Roboter Gmbh | Verfahren und Vorrichtung zum Steuern einer Mehrzahl von Handhabungsgeräten |
US7996109B2 (en) * | 2005-10-14 | 2011-08-09 | Aethon, Inc. | Robotic ordering and delivery apparatuses, systems and methods |
US8626133B2 (en) | 2009-08-19 | 2014-01-07 | Cisco Technology, Inc. | Matching a location of a contact with a task location |
US9104271B1 (en) * | 2011-06-03 | 2015-08-11 | Richard Adams | Gloved human-machine interface |
US9105184B2 (en) * | 2013-03-11 | 2015-08-11 | Arinc Incorporated | Systems and methods for real-time data communications and messaging with operators of small unmanned aircraft systems (sUAS) |
US10040194B1 (en) * | 2015-01-29 | 2018-08-07 | Vecna Technologies, Inc. | Order picking method and mechanism |
WO2016130856A1 (en) * | 2015-02-12 | 2016-08-18 | Melonee Wise | System and method using robots to assist humans in order fulfillment |
US10206076B2 (en) * | 2015-06-09 | 2019-02-12 | Lg Electronics Inc. | Communication method for user equipment in V2X communication system, and user equipment |
US9758305B2 (en) * | 2015-07-31 | 2017-09-12 | Locus Robotics Corp. | Robotic navigation utilizing semantic mapping |
KR102235166B1 (ko) | 2015-09-21 | 2021-04-02 | 주식회사 레인보우로보틱스 | 실시간 로봇 시스템, 로봇 시스템 제어 장치 및 로봇 시스템 제어 방법 |
JP6370821B2 (ja) | 2016-02-12 | 2018-08-08 | ファナック株式会社 | ロボットプログラムの教示を行うロボットプログラミング装置 |
JP6227106B2 (ja) | 2016-02-29 | 2017-11-08 | ファナック株式会社 | 複数の機械と相互通信を行う機械システム、機械制御用コンピュータ、ベースソフトウェア、コンピュータ読取可能な記録媒体、及び機械制御方法 |
US10001768B2 (en) * | 2016-09-01 | 2018-06-19 | Locus Robotics Corp. | Item storage array for mobile base in robot assisted order-fulfillment operations |
-
2019
- 2019-03-12 US US16/351,123 patent/US11173606B2/en active Active
- 2019-03-12 CN CN201980031096.9A patent/CN112088341A/zh active Pending
- 2019-03-12 WO PCT/US2019/021919 patent/WO2019178144A1/en unknown
- 2019-03-12 EP EP19766671.2A patent/EP3765936A4/en not_active Withdrawn
-
2021
- 2021-11-15 US US17/526,258 patent/US20220072709A1/en not_active Abandoned
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1926492A (zh) * | 2004-03-04 | 2007-03-07 | 日本电气株式会社 | 数据更新系统、数据更新方法、数据更新程序和机器人系统 |
CN103109288A (zh) * | 2010-07-23 | 2013-05-15 | 电子湾有限公司 | 提供产品信息的即时消息机器人 |
CN103430166A (zh) * | 2010-10-04 | 2013-12-04 | 海德沃特合作I有限公司 | 用于提供用户通知的系统和方法 |
CN103679837A (zh) * | 2012-09-07 | 2014-03-26 | 发纳科机器人美国公司 | 监控/分析机器人相关信息并显示在智能装置上的系统 |
US20150017054A1 (en) * | 2013-07-09 | 2015-01-15 | MTU Aero Engines AG | Control in generative production |
JP2016198839A (ja) * | 2015-04-08 | 2016-12-01 | 富士電機株式会社 | 生産ライン監視システム |
US20170161851A1 (en) * | 2015-12-08 | 2017-06-08 | Toast, Inc. | Restaurant Notification System |
US20170334062A1 (en) * | 2016-05-18 | 2017-11-23 | Lucas Allen | Robotic delivery unit and system |
Also Published As
Publication number | Publication date |
---|---|
US11173606B2 (en) | 2021-11-16 |
WO2019178144A1 (en) | 2019-09-19 |
EP3765936A1 (en) | 2021-01-20 |
US20220072709A1 (en) | 2022-03-10 |
US20190275676A1 (en) | 2019-09-12 |
EP3765936A4 (en) | 2021-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11173606B2 (en) | Control system architecture and distributed human-machine interface for robot control | |
US20230028538A1 (en) | Automated pizza assembly system | |
US11164226B2 (en) | Method and system for managing product items in a store | |
US20160283898A1 (en) | Inventory management system | |
WO2019128048A1 (zh) | 信息处理方法及装置、电子设备及存储介质 | |
CA2868407A1 (en) | Fresh departments management system | |
WO2018057220A1 (en) | Sensor based reordering system | |
CA2811500A1 (en) | Dynamic queueing and management system | |
US11030572B2 (en) | System and method for managing inventory of consumable articles | |
JP7146759B2 (ja) | 小売環境における人的および非人的リソースの最適化 | |
US20200242877A1 (en) | Automated sliced food vending kiosk | |
US10515309B1 (en) | Weight based assistance determination | |
US11948120B2 (en) | Systems and methods of merging retail products between containers to optimize storing capacity of retail storage facilities | |
WO2018204836A1 (en) | System and method for automatically restocking items on shelves using a pneumatic pipe system | |
US11954641B2 (en) | Systems and methods for optimizing space utilization of containers at retail storage facilities | |
US10322881B1 (en) | Notifying users to provide picked items to a drop off location for processing | |
US20240161060A1 (en) | Scheduled and unscheduled order fulfillment | |
EP3841552B1 (en) | Health care provider data systems processing and analytics | |
US20240119411A1 (en) | Order fulfillment using single order pickers and multi-order pickers | |
US11851279B1 (en) | Determining trends from materials handling facility information | |
US20230103429A1 (en) | Flexible automated sorting and transport arrangement (fast) asset monitor | |
US12056640B1 (en) | Item tracking within a facility | |
US20230058712A1 (en) | Time-Based Predictive Machine Control | |
US20240273653A1 (en) | Smart Restaurant powered by Cloud-Native IoT AIOS with fully automated Contactless Food Preparation, Ordering & Vending | |
KR20220116831A (ko) | 지능형 비대면 픽업박스 시스템 |
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 |