CN108778634B - 包括机器人、存放装置及其容器的机器人厨房 - Google Patents
包括机器人、存放装置及其容器的机器人厨房 Download PDFInfo
- Publication number
- CN108778634B CN108778634B CN201680081746.7A CN201680081746A CN108778634B CN 108778634 B CN108778634 B CN 108778634B CN 201680081746 A CN201680081746 A CN 201680081746A CN 108778634 B CN108778634 B CN 108778634B
- Authority
- CN
- China
- Prior art keywords
- robotic
- container
- kitchen
- robot
- present application
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- 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/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/1605—Simulation of manipulator lay-out, design, modelling of manipulator
-
- 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
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47B—TABLES; DESKS; OFFICE FURNITURE; CABINETS; DRAWERS; GENERAL DETAILS OF FURNITURE
- A47B77/00—Kitchen cabinets
- A47B77/04—Provision for particular uses of compartments or other parts ; Compartments moving up and down, revolving parts
- A47B77/08—Provision for particular uses of compartments or other parts ; Compartments moving up and down, revolving parts for incorporating apparatus operated by power, including water power; for incorporating apparatus for cooking, cooling, or laundry purposes
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47B—TABLES; DESKS; OFFICE FURNITURE; CABINETS; DRAWERS; GENERAL DETAILS OF FURNITURE
- A47B77/00—Kitchen cabinets
- A47B77/04—Provision for particular uses of compartments or other parts ; Compartments moving up and down, revolving parts
- A47B77/16—Provision for particular uses of compartments or other parts ; Compartments moving up and down, revolving parts by adaptation of compartments or drawers for receiving or holding foodstuffs; by provision of rotatable or extensible containers for foodstuffs
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47J—KITCHEN EQUIPMENT; COFFEE MILLS; SPICE MILLS; APPARATUS FOR MAKING BEVERAGES
- A47J47/00—Kitchen containers, stands or the like, not provided for in other groups of this subclass; Cutting-boards, e.g. for bread
- A47J47/02—Closed containers for foodstuffs
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J11/00—Manipulators not otherwise provided for
- B25J11/0045—Manipulators used in the food industry
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B65—CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
- B65D—CONTAINERS FOR STORAGE OR TRANSPORT OF ARTICLES OR MATERIALS, e.g. BAGS, BARRELS, BOTTLES, BOXES, CANS, CARTONS, CRATES, DRUMS, JARS, TANKS, HOPPERS, FORWARDING CONTAINERS; ACCESSORIES, CLOSURES, OR FITTINGS THEREFOR; PACKAGING ELEMENTS; PACKAGES
- B65D81/00—Containers, packaging elements, or packages, for contents presenting particular transport or storage problems, or adapted to be used for non-packaging purposes after removal of contents
- B65D81/18—Containers, packaging elements, or packages, for contents presenting particular transport or storage problems, or adapted to be used for non-packaging purposes after removal of contents providing specific environment for contents, e.g. temperature above or below ambient
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/45—Nc applications
- G05B2219/45111—Meal, food assistance
Landscapes
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Robotics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Food Science & Technology (AREA)
- Sustainable Development (AREA)
- Automation & Control Theory (AREA)
- Toys (AREA)
- Manipulator (AREA)
- Food-Manufacturing Devices (AREA)
Abstract
本申请的实施例涉及与能够通过自动地构建基于一组计算机编码的机器人活动和动作基元的人形机活动、人形机动作和行为来创建复杂的机器人形机活动、动作、以及与工具和仪器化环境的交互的能力。基元由关节运动/动作自由度定义,其复杂范围从简单到复杂,并且可以以串行/并行方式以任何形式组合。这些动作基元被称为微操纵,每个微操纵具有明确的时间索引的命令输入结构和输出行为/性能分布,旨在实现某个功能。微操纵包括为人形机器人创建通用的可示范编程平台的新方法。一个或多个微操纵电子库提供一大套较高层级的感测执行序列,其作为用于复杂任务例如烹饪、照顾体弱者或由下一代人形机器人执行的其它任务的共同构建块。本申请的实施例还涉及机器人厨房、存放装置及其容器。
Description
相关申请的交叉引用
本申请要求以下申请的优先权:2015年12月16日提交的题为“Methods andsystems for computationally operating customized containers with associatedheating and cooling elements in robotic kitchen modules”的美国临时申请序号62/268,131、2016年1月29日提交的题为“Methods and systems for computationallyoperating customized containers with associated heating and cooling elementsin robotic kitchen modules”的美国临时申请序号62/288,854、 2016年4月13日提交的题为“Methods and systems for computationally operating customized containerswith associated heating and cooling elements and a rotatable oven in robotickitchen modules”的美国临时申请序号 62/322,118、2016年9月25日提交的题为“Robotics automated methods and systems for computationally operatingcustomized containers with associated heating and cooling elements and aaautomat in robotic kitchen modules”的美国临时申请序号62/399,476和2016年11月22日提交的题为“Methods and systems for computationally operate customizedcontainers with associated heating and cooling elements in robotic kitchenmodules”的美国临时申请序号 62/425,531,所有上述公开的主题通过引用的方式整体合并于此。
技术领域
本申请总体上涉及机器人和人工智能(AI)的学科交叉领域,更具体地,涉及一种计算机化机器人系统,其采用具有转换的机器人指令的电子微操纵库,用于以实时电子调节来复现动作、处理和技巧。
背景技术
机器人的研究和开发已经进行了几十年,但是其取得的进展大多是在诸如汽车制造自动化的重工业应用或者军事应用中。尽管已经针对消费者市场设计出了简单的机器人系统,但是到目前为止还尚未看到其在家庭消费机器人领域的广泛应用。随着技术进步和人民收入更高,市场已经成熟到适于为技术进步创造机会以改善人们生活。机器人借助于增强的人工智能以及对操作机器人设备或人形机方面许多形式的人类技能和任务的仿真而不断地改进着自动化技术。
自从几十年前首次开发机器人以来,在某些领域用机器人代替人类并且执行通常由人类执行的任务的想法是一种不断演进的思想。制造业长期以来一直以教导重现(teach-playback)模式使用机器人,其中通过控制台(pendant) 或离线固定的轨迹生成和下载对机器人进行教导,其持续复制一些动作而不存在变化或偏差。公司将计算机教导轨迹的预编程轨迹运行以及机器人动作重现运用到诸如搅拌饮料、汽车焊接或喷漆等应用领域。但是,所有这些常规应用均采用意在使机器人只忠实地执行动作命令的1∶1计算机对机器人或教导-重现原则,其通常是无偏差地遵循所教导的/预先计算的轨迹。
美食是一门吃好的艺术,美食家的菜谱敏锐地将高质量的食材和味道融合起来,吸引着我们的全部感官。美食家的烹饪所遵循的原则是以可能要非常细心、需要专门知识和技术而且在一些情况下可能需要长期训练的技能为基础的。在过去的若干年里,由于收入的快速提高以及烹饪意识的世代流传,对美味食物的需求也随之激增。但是,用餐者仍需去特定餐厅或场所品尝其喜爱的厨师烹饪的美食。现场观看厨师制备您喜欢的菜肴或者体验菜肴的制备是很有利的,这会让您想起儿时祖母为你精心制作的美味。
因此,希望有一种系统和方法,使消费者在自己家里就能够方便地制作、品尝厨师的美味菜肴,而不必千里迢迢地走遍世界各地的每一家餐厅去品尝特定的美味。
发明内容
根据本发明的一个方面,提供一种用于机器人厨房的存放装置,所述装置包括:壳体,其包含多个存放单元;多个容器,每个容器配置为由一个或相应的存放单元承载,其中,每个容器包括用于接收食材的容器主体,并且每个容器设有配置为由机器人承载的伸长把手,其中,所述伸长把手便于机器人对容器的定向和移动。
优选地,所述多个容器具有不同的尺寸。便利地,每个把手包括至少一个支撑腿,所述支撑腿具有由所述容器主体承载的第一端和耦接到把手元件的第二端,使得所述把手元件与所述容器主体间隔开。
有利地,所述容器中至少一个容器承载机器可读标识符。
在一个实施例中,所述机器可读标识符是条形码。在另一实施例中,所述机器可读标识符是射频(RFID)标签。
优选地,至少一个所述容器承载计算机控制的信号发射灯。
便利地,在所述存放单元中的至少一个存放单元上提供锁定装置,所述锁定装置配置为在被激活时将容器至少部分地锁定在所述存放单元中的一个存放单元内。
有利地,所述至少一个锁定装置配置为将所述容器至少部分地锁定在所述存放单元中的一个存放单元内预定的时间段。
优选地,所述装置还包括:冷却系统,用于冷却所述存放单元中的至少一个以冷却定位于所述存放单元内的容器的至少一部分。
便利地,所述冷却系统配置为冷却所述存放单元的所述后部和所述下侧中的至少一个。
有利地,所述冷却系统包括:冷却单元;以及多个伸长传热元件,每个传热元件的一端耦接到相应的所述存放单元中的一个存放单元并且另一端耦接到所述冷却单元,使得所述传热元件将热量从相应的存放单元传递到所述冷却单元以降低所述存放单元内的温度。
优选地,所述传热元件中的至少一个包括电子控制阀,所述电子控制阀配置为在被激活时允许热量沿相应传热元件的一部分从存放单元传递,并且配置为传递在未被激活时限制来自存放单元的热量沿相应传热元件的一部分传递。
便利地,所述装置包括加热系统,所述加热系统配置为加热所述存放单元中的至少一个存放单元以升高所述存放单元内的容器的至少一部分的温度。
有利地,所述加热系统包括加热元件,所述加热元件定位于邻近于存放单元的一部分。
优选地,所述装置进一步包括温度控制单元,所述温度控制单元配置为控制所述加热系统和所述冷却系统中的至少一个,其中,所述存放器单元设有温度传感器,所述温度传感器耦接到所述温度控制单元,使得所述温度控制单元可以检测存放单元内的温度,并且通过激活所述加热系统和所述冷却系统中的至少一个来控制所述存放单元内的所述温度。
便利地,所述存放单元中的至少一个存放单元设有湿度传感器以感测所述存放单元内的所述湿度。
有利地,所述存放单元中的至少一个存放单元耦接到蒸汽发生器,使得所述蒸汽发生器能够将蒸汽注入到所述存放单元中以加湿所述存放单元。
优选地,所述容器中的至少一个容器包括体积指示器,所述体积指示器指示所述容器内的食材的体积。
便利地,所述容器中的至少一个容器是用于盛放液体的瓶子,所述瓶子具有开口,所述开口配置为由闭合元件选择性地封闭。
有利地,所述装置进一步包括可相对于所述壳体移动的可移动支撑元件,所述可移动支撑元件包括至少一个存放单元,所述存放单元配置为接收所述容器中的相应一个容器。
优选地,所述可移动支撑元件能够相对于所述壳体旋转,所述可移动支撑元件具有多个侧面,所述多个侧面中的至少一个侧面包括至少一个存放单元,所述可移动支撑元件配置为旋转以将可所述移动支撑元件的不同面呈现给操作方。
根据本发明的另一方面,提供一种用于机器人厨房的存放装置,所述装置包括:壳体,其包含多个存放单元;以及可旋转的安装系统,所述可旋转的安装系统耦接到所述壳体以使所述壳体能够可旋转地安装到支撑结构,所述壳体包括具有至少一个侧面的多个侧面,所述至少一个侧面包括多个存放单元,所述多个存放单元中的每个存放单元配置为承载容器,所述壳体配置为旋转以将所述多个侧面中的不同侧面呈现给操作者。
优选地,所述多个侧面中的至少一个侧面具有正方形和矩形之一的形状。
便利地,所述壳体包括三个侧面。
有利地,所述壳体包括四个侧面。
优选地,所述壳体中的至少一部分具有大致圆形的侧壁,所述多个侧面中的每一个侧壁是所述大致圆形的侧壁中的一部分。
便利地,存放所述存放装置配置为存放器具、工具、餐具、调料和草本植物中的一种或多种。
有利地,所述容器中的至少一个容器包括:第一部分,其承载所述把手;以及第二部分,其可移动地安装到所述第一部分,使得当所述容器的所述第二部分相对于所述容器的所述第一部分移动时,所述容器的所述第二部分作用在所述容器内的食品的一部分上以相对于所述容器的所述第一部分移动食品。
根据本发明的另一方面,提供一种容器装置,所述装置包括:第一部分,其承载所述把手;以及第二部分,其可移动地安装到所述第一部分,使得当所述容器的所述部件的所述第二部分相对于所述容器的所述第一部分移动时,所述容器的所述第二部分作用在所述容器内的食品的一部分上以相对于所述容器的所述第一部分移动食品。
优选地,所述第二部分承载另一把手,所述另一把手被用于移动相对于所述第一部分的所述第二部分。
便利地,所述第二部分包括壁,所述壁至少部分地围绕所述容器内的食品。
有利地,所述第一部分包括配置为在所述容器内支撑食品的平面基座。
优选地,所述第二部分配置为在实质上平行于所述基座的平面的方向上移动,使得所述第二部分作用在所述食品上以将所述食品移出所述基座。
便利地,所述基座是烹饪表面,所述烹饪表面配置为被加热以烹饪定位于所述基座上的食品。
根据本发明的另一方面,提供一种烹饪装置,该装置包括:支撑架;烹饪部分,所述烹饪部分包括有基座和直立侧壁,所述直立侧壁至少部分地围绕所述基座;以及由所述侧壁承载的把手,其中,所述烹饪部分配置为可旋转地安装到所述支撑架,使得所述烹饪部分能够围绕轴相对于所述支撑架旋转,以至少部分地转动位于基座上的食品。
优选地,所述烹饪部分可释放地附接到所述支撑架。
便利地,所述装置包括锁定系统,所述锁定系统配置为选择性地锁定和限制所述烹饪部分相对于所述支撑架的旋转。
有利地,所述支撑架配置为容纳所述容器装置和所述烹饪部分,其中,所述烹饪部分相对于所述支撑架的旋转将定位于所述烹饪部分的所述基座上的食品转动到所述容器装置的至少一部分上。
优选地,存放所述装置包括另一存放壳体,所述另一存放壳体包括大致平面的基座和至少一个搁架元件,所述至少一个搁架元件相对于所述基座的平面以一角度固定。
便利地,所述至少一个搁架元件相对于所述基座的平面以30°和50°之间的角度固定。
有利地,所述装置包括多个间隔开的搁架元件,其每一个均彼此实质上平行。
根据本发明的另一方面,提供一种与机器人厨房一起使用的存放装置,所述装置包括:另一存放壳体,该存放壳体包括实质上平面的基座和至少一个搁架元件,相对于所述基座的平面以一角度固定。
优选地,每个搁架元件相对于所述基座的平面以30°和50°之间的角度固定。
便利地,所述装置包括多个间隔开的搁架元件,其每一个均彼此实质上平行。
根据本发明的另一方面,提供一种烹饪系统,该系统包括:烹饪器具,其具有加热室;以及安装装置,其具有第一支撑元件和第二支撑元件,所述第一支撑元件由所述烹饪器具承载,所述第二支撑元件配置为附接到厨房中的支撑结构,所述第一支撑元件和所述第二支撑元件可移动地彼此耦接以允许所述第一支撑元件和所述烹饪器具相对于所述第二支撑元件在第一位置和第二位置之间移动。
优选地,所述烹饪器具是烤箱。
便利地,所述烤箱是蒸汽烤箱。
有利地,所述烹饪器具包括烤架。
优选地,所述支撑元件配置为相对于彼此旋转。
便利地,所述第一支撑元件配置为相对于所述第二支撑元件旋转大致 90°。
有利地,所述支撑元件配置为相对于彼此横向移动。
优选地,所述系统包括电机,所述电机配置为驱动所述第一支撑元件相对于所述第二支撑元件移动。
便利地,当所述烹饪器具处于所述第一位置时,所述烹饪系统配置为由人类使用并且当所述烹饪器具处于所述第二位置时由机器人使用,并且其中,当烹饪器具处于第二位置时,烹饪器具至少部分地被屏幕屏蔽。
根据本发明的另一方面,提供一种用于存放烹饪食材的容器装置,所述装置包括:容器主体,其具有至少一个侧壁;设置在容器主体内的存放室;以及弹出元件,其可移动地耦接到所述容器主体,所述弹出元件的一部分设置在所述存放室内,所述弹出元件能够相对于所述容器主体移动,以作用于所述存放室中的烹饪食材以从存放室中弹出所述烹饪食材的至少一部分。
优选地,容器主体具有实质上圆形的横截面。
便利地,所述弹出元件能够在第一位置到第二位置之间移动,在所述第一位置,所述弹出元件实质上定位于所述存放室的一端,在所述第二位置,所述弹出元件实质上位于所述存放室的另一端。
有利地,所述弹出元件包括弹出元件主体,所述弹出元件主体具有边缘,所述边缘接触围绕所述存放室周边的容器主体。
优选地,所述弹出元件在所述弹出元件主体的所述边缘的一部分中设有凹入部,并且其中,所述凹入部配置为容纳设置在所述存放室内的所述容器主体上的导轨凸部的至少一部分。
便利地,所述弹出元件耦接到把手,所述把手通过所述容器主体中的孔从所述容器主体向外突起。
有利地,所述容器主体包括敞开的第一端,通过所述敞开的第一端,由所述弹出元件将所述烹饪食材弹出,并且将所述烹饪食材保持在所述存放室内。
优选地,所述容器主体的所述第二端通过可移出的闭合元件可释放地封闭。
便利地,所述容器主体设有配置为由机器人承载的伸长把手。
根据本发明的另一方面,提供一种用于机器人的终端执行器,所述终端执行器包括:抓取器,所述抓取器配置为握住物品;以及至少一个传感器,其由所述抓取器承载,所述至少一个传感器配置为感测由所述抓取器握住的物品的存在并且响应于感测到的所述抓取器所握取的物品的存在而向控制单元提供信号。
优选地,终端所述抓取器是机器人手。
便利地,终端所述至少一个传感器是配置为感测设置在物品上的磁体的磁传感器。
有利地,终端所述磁传感器是三轴磁传感器,其配置为感测相对于所述磁传感器的三个轴中的磁体的位置。
优选地,终端所述抓取器包括多个磁传感器,所述多个磁传感器设置在所述抓取器上的多个不同位置处以感测设置在物品上的多个磁体。
根据本发明的另一方面,提供一种与机器人厨房模块一起使用的记录方法,所述机器人厨房模块包括容器,所述容器配置为存放食材,并且所述容器设有用于对指示所述容器内状况的参数进行感测的传感器,其中所述方法包括:a)从所述容器上的传感器接收指示所述容器内状况的信号;b)从指示感测到的容器内的状态的信号中导出参数数据;c)将参数数据存储在存储器中;以及d)在一时间段内重复步骤a-c以将参数数据记录存储在存储器中,所述参数数据记录提供在所述时间段内所述容器内的状况的数据记录。
优选地,所述方法包括从所述容器上的温度传感器接收指示所述容器内的温度的信号。
便利地,所述容器设有用于控制所述容器内的温度的温度控制元件,并且所述方法还包括记录温度控制数据,所述温度控制数据指示所述温度控制元件在所述时间段内的所述控制。
有利地,方法包括从容器上的湿度传感器接收指示所述容器内的湿度的信号。
优选地,所述容器设有用于控制所述容器内的湿度的湿度控制装置,并且所述方法还包括记录湿度控制数据,该湿度控制数据指示所述时间段内所述湿度控制装置的控制。
便利地,所述方法还包括:记录在所述机器人厨房中进行烹饪的厨师的至少一只手在一时间段内的动作。
有利地,所述时间段是根据菜谱烹饪菜肴时制备供使用的食材所需的时间段。
优选地,所述时间段是按照菜谱烹饪菜肴所需的时间段。
便利地,所述方法还包括:将所述参数数据记录与菜谱数据集成并将所述集成数据存储在菜谱数据文件中。
优选地,所述方法还包括:经由计算机网络将所述菜谱数据文件发送到远程服务器。
便利地,所述远程服务器形成在线仓库(repository)的一部分,该在线仓库(repository)的一部分配置为向多个客户端装置提供所述菜谱数据文件。
有利地,所述在线仓库是在线应用程序商店。
根据本发明的另一方面,提供一种存储指令的计算机可读介质,所述指令在由处理器执行时使所述处理器执行如权利要求中任一项所述的方法。
根据本发明的另一方面,提供一种操作机器人厨房模块的方法,所述机器人厨房模块包括容器,所述容器配置为存放食材,并且所述容器设有传感器和状态控制器件,所述传感器用于对指示所述容器内状况的参数进行感测,所述状态控制器件配置为控制所述容器内的所述状况,其中所述方法包括:接收参数数据记录,所述参数数据记录提供在所述时间段内所述容器内的状况的数据记录。从容器上的传感器接收指示所述容器内状况的信号;从指示感测到的容器内的状态的信号中导出参数数据;使用机器人厨房引擎模块将参数数据与参数数据记录进行比较;以及控制状况控制器件以控制容器内的状况,使得容器内的状况至少部分地与所述参数数据记录所指示的所述状况相匹配。
优选地,所述方法包括从所述容器上的温度传感器接收指示所述容器内的温度的信号。
便利地,所述方法包括控制设置在所述容器上的温度控制元件以控制所述容器内的温度以至少部分地匹配所述参数数据记录所指示的温度。
有利地,所述方法包括从所述容器上的湿度传感器接收指示所述容器内的湿度的信号。
优选地,所述方法包括控制设置在所述容器上的湿度控制装置以控制所述容器内的湿度以至少部分地匹配所述参数数据记录所指示的湿度。
便利地,所述方法包括在一时间段内将制备好的食材存放在所述容器中,并且在该时间段内控制所述容器内的条件以至少部分地与所述食材的预定存储条件相匹配。
有利地,所述方法包括在一时间段内将制备好的食材存放在所述容器中,并根据预定的制备程序控制所述容器内的所述条件以制备用于菜谱的食材。
优选地,所述方法包括接收菜谱数据文件并且从所述菜谱数据文件中提取所述参数数据记录。
根据本发明的另一方面,提供一种机器人系统,包括:计算机;以及耦接到所述计算机的机器人手,所述机器人手配置为从所述计算机接收一系列移动指令并且根据所述一系列移动指令标准化移动指令执行操纵,其中,所述机器人手配置为响应于从所述计算机接收的至少一个中间移动指令而在所述操纵期间执行至少一个中间移动,其中,所述中间移动在所述移动系列期间修改至少一部分的所述机器人手的所述轨迹。
优选地,所述机器人手包括多个手指和拇指,并且所述系统配置为响应于所述中间移动指令而修改所述手指和拇指中的至少一个的指尖的轨迹。
便利地,所述中间移动指令使所述机器人手执行情感移动,该情感移动至少部分地模拟人手的情感移动。
根据本发明的另一方面,提供一种用于操作机器人手的计算机实现的方法,所述方法包括:识别机器人手执行操纵的移动序列;向机器人手提供移动指令以使所述机器人手执行所述操纵;以及向所述机器人手提供至少一个中间移动指令以使所述机器人手在所述操纵期间执行至少一个中间移动,所述中间移动是所述机器人手的移动,其在所述操纵期间修改所述机器人手的至少一部分的所述轨迹。
优选地,所述方法包括向所述机器人手提供至少一个中间移动指令,以使所述机器人手修改所述机器人手的手指和拇指中的至少一个的指尖的轨迹。
便利地,所述中间移动指令使所述机器人手执行情感移动,该情感移动至少部分地模拟人手的情感移动。
根据本发明的另一方面,提供一种用于与机器人厨房一起使用的计算机实现的对象识别方法,所述方法包括:接收预期对象数据,所述预期对象数据指示预期在所述机器人厨房内的至少一个预定对象;接收形状数据,所述形状数据指示对象的至少一部分的所述形状;接收预定对象数据,所述预定对象数据指示多个预定对象的形状;通过将由所述预定对象数据识别的至少一个预定对象与由所述预期对象数据识别的至少一个预定对象进行匹配来确定预定对象的子集;将所述形状数据与预定对象的所述子集进行比较;以及输出实际对象数据,所述实际对象数据指示与所述形状数据相匹配的预定对象的所述子集中的预定对象。
优选地,所述形状数据是二维(2D)形状数据。
便利地,所述形状数据是三维(3D)形状数据。
有利地,所述方法包括从菜谱数据中提取所述预期对象数据,所述菜谱数据提供用于在所述机器人厨房模块内烹饪菜肴的指令。
优选地,所述方法包括将实际对象数据输出到工作空间动态模型模块,所述工作空间动态模型模块配置为向所述机器人厨房模块内的机器人提供操纵指令。
便利地,所述预定对象数据包括指示至少一个预定对象的2D形状、3D 形状、视觉特征或图像样本中的至少一个的标准对象数据。
有利地,所述至少一个预定对象是菜肴、用具或器具中的至少一种。
优选地,所述预定对象数据包括临时对象数据,所述临时对象数据指示至少一个预定对象的视觉特征或图像样本中的至少一个。
便利地,所述至少一个预定对象是食材。
有利地,所述方法包括存储位置数据,所述位置数据指示所述机器人厨房内相对于所述机器人厨房内提供的至少一个参考标记的对象的位置。
根据本发明的另一方面,提供一种用于机器人厨房的计算机实现的对象识别方法,所述方法包括:接收形状数据,所述形状数据指示多个对象的所述形状;用对于所述多个对象中的每一个的相应对象标识符,将所述形状数据存储在形状数据库中;以及输出包括对象标识符列表的菜谱数据。
优选地,所述形状数据包括2D形状数据和3D形状数据中的至少一个。
便利地,所述形状数据包括从机器人手中获得的所述形状数据。
根据本发明的另一方面,提供一种机器人系统,包括:控制单元;机器人臂,其配置为由所述控制单元控制;终端执行器,所述终端执行器耦接到所述机器人臂,所述终端执行器配置为握住物品;以及传感器装置,其耦接到机器人臂的一部分,所述传感器装置配置为向所述控制单元提供信号,所述信号指示作用在所述机器人臂上的改进力,所述信号指示由所述终端执行器握住的物品的质量引起的作用在所述机械臂上的修改力,其中,所述控制单元配置为处理所述信号并且使用所述信号来计算所述物品的所述质量。
优选地,所述传感器装置包括应变仪、负荷单元或扭矩传感器中的至少一个。
便利地,由所述传感器装置提供的所述信号指示所述机器人臂的一部分的线性力、加速度、扭矩或角速度中的至少一个。
有利地,所述传感器装置设置在承载所述机器人臂的基座处。
优选地,所述传感器装置在所述机器人臂的两个可移动联接件之间的关节处的所述机器人臂上。
便利地,传感器装置包括电流传感器,其耦接到控制所述机器人臂的运动的电机,所述电流传感器配置为将指示流过所述电机的电流的信号输出到所述控制单元,其中,所述控制单元配置为使用来自所述电流传感器的信号来计算所述电机的所述扭矩,并且在计算由所述终端执行器握住的物品的质量时使用计算出的扭矩。
有利地,所述控制单元配置为计算由所述终端执行器握住的容器的所述质量,并且所述控制单元配置为在所述机器人臂从所述容器中倾倒出部分食材时计算在所述机器人臂移动所述容器时所述容器的所述质量中的变化。
优选地,所述终端执行器配置为在所述物品被所述终端执行器握住时感测设置在物品上的至少一个标记的存在。
便利地,所述控制单元配置为使用感测到的所述标记的存在来检测所述终端执行器是否在预定位置握住所述物品。
有利地,所述终端执行器是包括四个手指和拇指的机器人手。
根据本发明的另一方面,提供一种感测由耦接到机器人臂的终端执行器握住的物品的重量的方法,所述方法包括:接收来自传感器装置的信号,所述信号指示作用在所述机器人臂上的改进力,所述改进力由耦接到所述机器人臂的终端执行器握住的物品的所述质量引起,以及处理所述信号以使用所述信号计算所述物品的所述质量。
优选地,所述传感器装置包括应变仪、负荷单元或扭矩传感器中的至少一个。
便利地,由所述传感器装置提供的所述信号指示所述机器人臂的一部分的线性力、加速度、扭矩或角速度中的至少一个。
有利地,所述传感器装置包括电流传感器,其耦接到控制所述机器人臂的运动的电机,所述电流传感器配置为将指示流过所述电机的电流的信号输出到所述控制单元,并且该方法包括:使用来自所述电流传感器的信号来计算所述电机的所述扭矩;以及在计算由所述终端执行器握住的物品的质量时使用计算出的扭矩。
优选地,所述方法还包括:计算由所述终端执行器握住的容器的所述质量;以及当所述机器人臂从所述容器中倾倒出部分食材时计算当所述机器人臂移动所述容器时所述容器的所述质量中的变化。
根据本发明的另一方面,提供一种机器人厨房模块,包括:控制单元,其用于控制机器人厨房模块的部件;入侵检测传感器,所述入侵检测传感器耦接到所述控制单元,所述入侵检测传感器配置为接收传感器输入并且将所述传感器输入提供给所述控制单元,其中,所述控制单元配置为:确定所述传感器输入是否是授权的传感器输入,并且在所述传感器输入是授权的传感器输入的情况下激活机器人厨房模块以供用户使用,以及在所述传感器输入不是授权的传感器输入的情况下至少部分地禁用机器人厨房模块。
优选地,所述机器人厨房模块包括至少一个机器人臂,并且所述机器人厨房模块配置为通过禁用所述至少一个机器人臂来禁用所述机器人厨房模块。
便利地,所述机器人厨房模块配置为通过阻止用户接近所述机器人厨房模块中的计算机来禁用所述机器人厨房模块。
有利地,所述侵入检测传感器是地理位置传感器、指纹传感器或机械侵入传感器中的至少一个。
优选地,所述机器人厨房模块配置为响应于所述控制单元确定所述传感器输入不是授权传感器输入而向远程位置提供警报信号。
便利地,所述机器人厨房模块配置为破坏所述机器人厨房模块的物理或磁性元件以至少部分地禁用所述机器人厨房模块。
本申请的实施例涉及带有机器人指令的机器人设备的方法、计算机程序产品和计算机系统,其以基本相同的结果复现食物菜肴,就像是厨师来制备了该食物菜肴一样。在第一实施例中,标准化机器人厨房中的机器人设备包括两个机器人臂和手,其按照相同的顺序(或基本相同的顺序)复现厨师的精确动作。两个机器人臂和手基于先前记录的厨师制备相同食物菜肴的精确动作的软件文件(菜谱脚本),按照相同的时序(或基本相同的时序)复现这些动作以制备食物菜肴。在第二实施例中,计算机控制的烹饪设备基于先前记录在软件文件中的感测曲线,例如随时间推移的温度,来制备食物菜肴,为此其中厨师用带有传感器的烹饪设备制备相同的食物菜肴,当厨师先前在配备有传感器的烹饪设备上制备食物菜肴时,由计算机记录随时间推移的传感器值。在第三实施例中,厨房设备包括第一实施例中的机器人臂和第二实施例中用于制备菜肴的带有传感器的烹饪设备,其将机器人臂与一条或多条感测曲线两者结合起来,其中机器人臂能够在烹饪处理期间对食物菜肴进行质量检查,质量检查所针对的特性诸如是味道、气味和外观,由此允许对食物菜肴的制备步骤进行任何烹饪调整。在第四实施例中,厨房设备包括采用计算机控制容器和容器标识的食物存放系统,用于存放食材以及为用户提供食材,以遵循厨师的烹饪指令制备食物菜肴。在第五实施例中,机器人烹饪厨房包括具有臂的机器人和厨房设备,其中机器人围绕厨房设备移动,从而通过模仿厨师的精确烹饪动作来制备食物菜肴,其包括对菜谱脚本中定义的制备处理做出可能的实时修改/适应性调节。
一种机器人烹饪引擎包括检测、记录和模仿厨师烹饪活动,控制诸如温度和时间之类的重要参数,并且处理借助于指定用具、设备和工具的执行,由此重现味道与厨师制备的同种菜肴相同的美食菜肴,并且在特定和方便的时间上菜。在一个实施例中,机器人烹饪引擎提供机器人臂以用于采用相同的食材和技术复现厨师的相同动作,从而制作相同口味的菜肴。
本申请的基础动机的核心在于,在人自然地执行活动的期间采用传感器对其进行监视,然后能够使用监视传感器、捕获传感器、计算机和软件来生成信息和命令,从而使用一个或多个机器人和/或自动化系统复现人的活动。尽管可以设想多种这样的活动(例如,烹饪、绘画、演奏乐器等),但是本申请的一个方面涉及烹饪膳食;其实质上是机器人膳食制备应用。对人类厨师的监视在仪器化专用设置(本实例中为标准化厨房)中加以执行,并且涉及采用传感器和计算机来观察、监视、记录和解释人类厨师的运动和动作,从而开发出对环境中的变化和改变具有鲁棒性的可由机器人执行的命令集,能够允许机器人厨房中的机器人或自动化系统制备出从标准和质量上与人类厨师制备的菜肴相同的菜肴。
多模态感测系统的使用是收集必要的原始数据的手段。能够收集和提供这样的数据的传感器包括环境和几何传感器,例如,二维(摄像头等)和三维(激光、声纳等)传感器,以及人类运动捕获系统(人佩戴的摄像头目标、仪器化外套/外骨架、仪器化手套等),以及在菜谱创建和执行的期间采用的仪器化(传感器)和动力(致动器)设备(仪器化用具、烹饪设备、工具、食材分配器等)。所有这些数据通过一个或多个分布式/中央计算机进行收集并且通过各种软件处理加以处理。算法将对数据进行处理和抽象化,以达到人类和计算机控制的机器人厨房能够理解人类采取的活动、任务、动作、设备、食材以及方法和处理,包括复现特定厨师的关键技能的程度。通过一个或多个软件抽象引擎对原始数据进行处理,从而建立人可读的、并且通过进一步处理机器可理解和执行的菜谱脚本,其清楚说明机器人厨房将执行的特定菜谱的所有步骤的所有动作和活动。这些命令的复杂性范围从控制各个关节到随时间的特定关节运动分布,到与菜谱中的具体步骤相关联的、较低层级运动执行命令嵌入在其中的命令抽象层级。抽象运动命令(例如,“将蛋磕到平底锅里”、“两面烤成金黄色”等)可以从原始数据生成,并且通过大量迭代学习处理精炼和优化,现场和/或离线地执行,从而允许机器人厨房系统成功处理测量不确定性、食材变化等,由此能够基于相当抽象/高层级的命令(例如,“通过把手抓取锅(pot)”、“倒出内容物”、“抓取台面上的汤匙并且对汤进行搅拌”等),使用安装至机器人臂和手腕上的带手指的手来实现复杂的(自适应的)微操纵活动。
创建机器可执行命令序列(其现在盛放在允许共享/发送的数字文件内,允许任何机器人厨房执行它们)的能力开辟了随时随地执行菜肴制备步骤的选项。因而,其允许在线买/卖菜谱的选项,允许用户基于每次使用或订购来访问和分发菜谱。
通过机器人厨房执行人类制备的菜肴的复现,其实质上是对人类厨师在菜肴创造处理中采用的仪器化厨房的标准化复制,除了现在是由一组机器人臂和手、受计算机监视的和计算机可控制的器具、装置、工具、分配器等执行人的动作之外。因而,菜肴复现的保真度与机器人厨房对人类厨师在制备菜肴时受到观察所处的厨房(及其所有元件和食材)的复制程度密切相关。
此外,本申请的实施例涉及用于执行来自一个或多个微操纵库的机器人指令的机器人设备的方法、计算机程序产品和计算机系统。两种类型的参数,元参数(elementalparameter)和应用参数,影响微操纵的操作。在微操纵的创建阶段,元参数提供测试各种组合、排列、以及自由度以产生成功微操纵的变量。在微操纵的执行阶段,应用参数是可编程的或者可被定制以针对特定应用来调整一个或多个微操纵库,例如食物制备、制作寿司、弹钢琴、绘画、拾取书本、以及其他类型的应用。
微操纵构成一种为人形机器人创建通用的可示例编程的 (programmable-by-example)平台的新方法。现有技术大部分需要专家程序员为机器人动作或动作序列的每个步骤细致地开发控制软件。对以上情况的例外是对于很重复的低层级任务,诸如工厂装配等,其中存在模拟学习的雏形。微操纵库提供较高层级的感测和执行(sensing-and-execution)序列的大套件,该序列是用于复杂任务例如烹饪、照顾体弱者、或由下一代人形机器人执行的其它任务等的公共构建块。更具体地,与先前的技术不同,本申请提供以下区别特征。第一,可能非常大的预定义/预学习的感测和行动 (sensing-and-action)序列的库被称为微操纵。第二,每个微操纵编码感测和行动序列以良好定义的成功概率(例如,取决于微操纵的复杂度和难度, 100%或97%)成功产生期望功能结果(即后置条件)所需的前提条件。第三,每个微操纵参考一组变量,其值可以在执行微操纵动作之前先验地或者通过感测操作来设置。第四,每个微操纵改变表示执行微操纵中的动作序列的功能结果(后置条件)的一组变量的值。第五,可以通过重复观察人类导师(例如专家厨师)来确定感测和行动序列,并且确定可接受的变量值的范围来获取微操纵。第六,微操纵可组成更大的单元以执行端对端(end-to-end) 任务,例如制备膳食、或者清洁房间。这些更大的单元是以严格顺序的、并行的或者部分有序的微操纵的多级应用,在部分有序的情形中,一些步骤必须在另一些步骤之前发生,但并不是总体有序的序列(例如,为了制备给定菜肴,需要将三种食材以精确的量组合到混合碗中,然后混合;将每种食材放入碗中的顺序不受约束,但是都必须置于混合之前)。第七,由机器人规划考虑到微操纵部件的前提条件和后置条件来将微操纵组装成端对端任务。第八,基于实例的推理,其中对人或其他机器人执行端对端任务的观察或相同机器人的过去经历可用于获取可重复使用的机器人规划形式的实例(执行端对端任务的具体例子)的库,包括成功的和失败的,成功的用于复现,失败的用于学习需要避免什么。
在本申请的第一方面,机器人设备通过访问一个或多个微操纵库来复现有经验的人类的操作,来执行任务。机器人设备的复现处理模拟人的智能或技巧通过一双手的转移,例如厨师如何使用一双手来制备特定菜肴,或者钢琴家通过他或她的一双手(并且可能还通过脚和身体动作)来演奏大师钢琴曲。在本申请的第二方面,机器人设备包括用于家庭应用的人形机,其中人形被设计为提供可编程或可定制的心理、情感和/或功能舒适的机器人,从而为用户提供快乐。在本申请的第三方面,一个或多个微操纵库作为,第一,一个或多个通用微操纵库以及,第二,一个或多个特定应用微操纵库而被创建和执行。基于元参数和人形机或机器人设备的自由度创建一个或多个通用微操纵库。人形机或机器人设备是可编程的,使得一个或多个通用微操纵库可被编程或定制,以成为根据用户对人形机或机器人设备的操作能力要求特定调整(tailored)了的一个或多个特定应用微操纵库。
本申请的一些实施例涉及与以下能力相关的技术特征:能够通过基于一组计算机编码的机器人移动和动作基元(primitive)自动创建人形机的移动、动作和人形机的行为,来创建复杂的机器人人形机移动、动作、以及与工具和环境的交互。基元由关节自由度的运动/动作定义,其复杂性在简单到复杂的范围,并且其可以按串行/并行方式以任何形式组合。这些动作基元被称为微操纵(MM),每个微操纵都具有旨在实现某个功能的明确按时间索引的命令输入结构、以及输出行为/性能分布(profile)。微操纵可以在从简单(“用 1个自由度来索引单个指关节”)到涉及更多(例如“抓住器具”)到甚至更复杂(“抓取刀并且切面包”)到相当抽象(“演奏舒伯特第一号钢琴协奏曲”的第1小节)的范围。
因此,微操纵是基于软件的,类似于具有输入/输出数据文件和子例程的各个程序,其由包含在各运行时源代码内的输入和输出数据集以及固有处理算法和性能描述符表示,源代码在编译时生成目标代码,目标代码可以被编译和收集在各种不同的软件库中,被称为各种微操纵库(MML)的集合。微操纵库可分组为多个群组,无论这些是关联到(i)特定的硬件元件(手指 /手、手腕、臂、躯干、脚、腿等)、(ii)行为元素(接触,抓握、握持等)、还是甚至(并入)应用领域(烹饪、绘画、演奏乐器等)。此外,在每个群组中,可以基于与期望的行为复杂度有关的多个层级(从简单到复杂)来安排微操纵库。
因此可以理解的是,微操纵(MM)的概念(定义和关联、度量和控制变量、以及它们的组合和值的使用和修改等)和其通过以几乎无穷的组合使用多个微操纵库的实施,涉及序列和组合中多个层级的一个或多个自由度 (致动器控制下的可移动关节)的基本行为(移动和交互)的定义和控制,所述多个层级的范围可以从单个关节(指关节等)到关节组合(手指和手、臂等)到甚至更高自由度的系统(躯干、上身等),所述序列和组合实现自由空间中期望并且成功的移动序列,并且实现与真实世界期望程度的交互,从而能够使机器人系统通过工具、器具和其他物品对周围世界并且与周围世界一起实现期望的功能或输出。
上述定义的示例可包括从(i)用于用手指沿桌子弹开弹子的数字的简单命令序列,(ii)使用器具搅拌锅中的液体,到(并入)在乐器(小提琴、钢琴、竖琴等)上演奏一段音乐。基本概念是微操纵由在连续时间点顺序和并行执行的一组微操纵命令在多个层级上表示,并且一起产生移动和动作/与外界的互动从而达到期望的功能(搅动液体、拉动小提琴上的琴弦等)以实现期望的结果(烹饪意大利面酱、演奏一段巴赫协奏曲等)。
任何低到高微操纵序列的基本元素都包括每个子系统的移动,它们的组合被描述为在致动器驱动下由一个或多个关连关节按所需顺序执行的一组指定位置/速度和力/转矩。执行的保真度通过每个MM序列中描述的闭环行为而得到保证,并且由每个关连关节控制器和更高层级的行为控制器固有的局域和全局控制算法来实施。
上述移动(由关连关节的位置和速度描述)和环境交互(由关节/界面转矩和力描述)的实施通过使计算机重现所有所需变量(位置/速度和力/转矩) 的期望值并且将其馈送到控制器系统来实现,控制器系统在每个时间步骤根据时间在每个关节上忠实地实施这些变量。用来确定指定移动/交互的保真度的这些变量及其顺序和反馈环(因此不仅是数据文件,还包括控制程序)都被描述在数据文件中,数据文件组合成多层级的微操纵库,其可以被访问并且按多种方式组合以允许人形机器人执行多个动作,例如烹饪膳食、在钢琴上演奏一段古典音乐、将体弱者抬到床上/床外等。有描述简单的基本移动/ 交互的微操纵库,其然后被用作更高层级的MML的构建块,更高层级的 MML描述更高层级的操纵,例如“抓取”,“提升”,“切”,到更高层级的基元,例如“搅拌锅中的液体”/“用竖琴弦演奏降G大调”,或者甚至高层级的动作,例如“做香料调料”/“绘画乡村布列塔尼夏季风景”/“演奏巴赫的第一号钢琴协奏曲”等。较高层级命令仅是沿公共定时的步骤序列执行的串行/并行的低和中层级微操纵基元序列的组合,其由运行顺序/路径/交互分布的一组规划器与反馈控制器的组合来监视,以确保所需的执行保真度(如在每个微操纵序列内包含的输出数据中定义的那样)。
期望的位置/速度和力/转矩的值以及它们的执行重现序列可以以多种方式实现。一种可行的方式是观察和提炼人执行相同任务的动作和运动,使用专用软件算法从观察数据(视频、传感器、建模软件等)提取作为时间函数的必要变量及其值,并且将它们与各个层级的不同微操纵相关联,从而将所需的微操纵数据(变量,序列等)提炼成各种类型的低到高的微操纵库。该方案将允许计算机程序自动生成微操纵库并且自动地定义所有序列和关联,而无需任何人类参与。
另一种方式是(再次通过采用专用算法的自动计算机控制处理)从在线数据(视频、图片、音声日志等)中学习如何使用已有的低层级微操纵库构建所需顺序的可操作序列以构建正确的序列和组合来生成特定任务的微操纵库。
另一种方式,虽然最肯定的是更低(时间)效率和更低成本效率的,可以是人类程序员组装一组低层级微操纵基元,以在更高层级的微操纵库中创建更高层级的动作/序列集合以实现更复杂的任务序列,其也是由预先存在的较低层级的微操纵库组成的。
对个体变量(意味着在每个增量时间间隔处的关节位置/速度和转矩/力以及它们相关联的增益和组合算法)以及运动/交互序列的修改和改进也是可行的,并且可以以许多不同的方式实现。可以使学习算法监视每个运动/交互序列并且执行简单的变量扰动以确定结果,从而判断是否/如何/何时/修改什么变量和序列以在从低层级到高层级的各种微操纵库的层级实现更高层级的执行保真度。这样的处理将是完全自动的,并且允许跨互连的多个平台交换更新的数据集,从而经由云计算允许大规模并行且基于云的学习。
有利地,标准化机器人厨房中的机器人设备具有通过全球网络和数据库访问制备来自世界各地的种类繁多的美食的能力,与之相比厨师可能只擅长一种烹饪风格。标准化机器人厨房还能够捕获并记录最喜欢的食物菜肴,每当想要享用这种菜肴时机器人设备就可以进行复现,而不需要重复制备相同菜肴的重复劳动处理。
在下面的描述中详细说明了本申请的结构和方法。这一发明内容部分并非旨在对本申请进行界定。本申请由权利要求界定。通过下述描述、所附权利要求和附图,本申请的这些以及其他实施例、特征、方面和优点将变得更好理解。
附图说明
参照附图就本申请的具体实施例对本发明予以描述,附图中:
图1是示出根据本申请的具有硬件和软件的总体机器人食物制备厨房的系统图。
图2是示出根据本申请的包括厨师工作室系统和家庭机器人厨房系统的机器人食物烹饪系统的第一实施例的系统图。
图3是示出根据本申请的用于通过复现厨师菜谱的处理、技术和动作而制备菜肴的标准化机器人厨房的一实施例的系统图。
图4是示出根据本申请的与厨师工作室系统和家庭机器人厨房系统中的计算机结合使用的机器人食物制备引擎的一实施例的系统图。
图5A是示出根据本申请的厨师工作室菜谱创建处理的框图。
图5B是示出根据本申请的标准化教导/重现机器人厨房的一实施例的框图。
图5C是示出根据本申请的菜谱脚本生成和抽象化引擎的一实施例的框图。
图5D是示出根据本申请的用于标准化机器人厨房中的对象操纵的软件单元的框图。
图6是示出根据本申请的多模态感测和软件引擎架构的框图。
图7A是示出根据本申请的厨师采用的标准化机器人厨房模块的框图。
图7B是示出根据本申请的具有一对机器人臂和手的标准化机器人厨房模块的框图。
图7C是示出根据本申请的由厨师使用的标准化机器人厨房模块的物理布局的一实施例的框图。
图7D是示出根据本申请的由一对机器人臂和手使用的标准化机器人厨房模块的物理布局的一实施例的框图。
图7E是描绘根据本申请的逐步流程和方法的框图,所述逐步流程和方法用于确保在基于标准化机器人厨房执行菜谱脚本的菜谱复现处理中存在有控制或检验点。
图7F示出用于在厨师工作室、机器人厨房和其他源之间提供便利的基于云的菜谱软件的框图。
图8A是示出根据本申请的厨师活动和机器人镜像活动之间的转换算法模块的一实施例的框图。
图8B是示出由厨师佩戴的用于捕获和传输厨师活动的一副具有传感器的手套的框图。
图8C是示出根据本申请的基于来自厨师手套的捕获感测数据的机器人烹饪执行的框图。
图8D是示出相对于平衡的动态稳定和动态不稳定曲线的曲线图。
图8E是示出根据本申请的需要被称为阶段的步骤的序列的食物制备处理的顺序图。
图8F是示出根据本申请的作为制备食物菜肴的阶段的数量的函数的总体成功概率的曲线图。
图8G是示出采用多阶段机器人食物制备的菜谱执行的框图,其中所述多阶段食物制备采用微操纵和动作基元(primitive)。
图9A是示出根据本申请的用于检测和移动厨房工具、对象或一件厨房设备的具有触觉振动、声纳和摄像头传感器的机器人手和手腕的示例的框图。
图9B是示出根据本申请的耦接至一对用于标准化机器人厨房中的操作的机器人臂和手的、具有传感器摄像头的云台头的框图。
图9C是示出根据本申请的用于标准化机器人厨房内的操作的机器人手腕上的传感器摄像头的框图。
图9D是示出根据本申请的用于标准化机器人厨房中的操作的机器人手上的手内眼(eye-in-hand)的框图。
图9E-9I是示出根据本申请的机器人手中的可形变手掌的各方面的图画示图。
图10A是示出厨师在机器人厨房环境内佩戴的用于在具体菜谱的食物制备处理中记录和捕获厨师活动的厨师记录装置的示例的框图。
图10B是示出根据本申请的用机器人姿势、运动和力对所捕获的厨师活动进行评估的处理的一实施例的流程图。
图11A-11B是示出根据本申请的用于厨师制备食物的具有传感器的三指触觉手套的一实施例以及具有传感器的三指机器人手的示例的图画示图。
图11C是示出根据本申请的机器人臂和机器人手之间的相互作用和交互的一示例的框图。
图11D是示出根据本申请的采用可附接至炊具头的标准化厨房把手的机器人手和可附接至厨房用具的机器人臂的框图。
图12是示出根据本申请的微操纵数据库的库(library)的创建模块和微操纵数据库的库的执行模块的框图。
图13A是示出根据本申请的厨师用于执行标准化操作活动的感测手套的框图。
图13B是示出根据本申请的机器人厨房模块中的标准化操作活动的数据库的框图。
图14A是示出根据本申请的包覆有人工的类似于人的柔软皮肤的手套的每个机器人手的示意图。
图14B是示出根据本申请的包覆有人工的类似于人的皮肤的手套以基于已经预定义并且存放在库数据库中的微操纵库数据库执行高层级微操纵的机器人手的框图。
图14C是示出根据本申请的用于食物制备的三种类型的操纵动作分类的示意图。
图14D是示出根据本申请的对用于食物制备的操纵动作所做的分类 (taxonomy)的一实施例的流程图。
图15是示出根据本申请的创建导致用刀敲裂鸡蛋的微操纵的框图。
图16是示出根据本申请的用于具有实时调整的微操纵的菜谱执行的示例的框图。
图17是示出根据本申请的在标准化厨房模块中捕获厨师的食物制备动作的软件处理的流程图。
图18是示出根据本申请的机器人标准化厨房模块中的机器人设备实施的食物制备的软件处理的流程图。
图19是示出根据本申请的建立、测试、验证和存储用于微操纵系统的各种参数组合的软件处理的一实施例的流程图。
图20是示出根据本申请的用于创建微操纵系统的任务的软件处理的一实施例的流程图。
图21A是示出根据本申请的分配和利用标准化机器人厨房内的标准化厨房工具、标准化对象和标准化装置的库的处理的流程图。
图21B是示出根据本申请的借助于三维建模识别非标准化对象的处理的流程图。
图21C是示出根据本申请的用于微操纵的测试和学习的处理的流程图。
图21D是示出根据本申请的用于机器人臂质量控制和对准功能的处理的流程图。
图22是示出根据本申请的具有创建者(creator)记录系统和商业机器人系统的机器人人类技能复现系统的一般适用性(或通用性)的框图。
图23是示出根据本申请的具有各种模块的机器人人类技能复现引擎的软件系统图。
图24是示出根据本申请的机器人人类技能复现系统的一实施例的框图。
图25是示出根据本申请的具有控制点的人形机的框图,所述控制点用于利用标准化操作工具、标准化位置和取向、以及标准化装置来进行技能执行或复现处理。
图26是示出根据本申请的人形机复现程序的简化框图,所述人形机复现程序通过按周期性时间间隔跟踪手套传感器的活动来复现所记录的人类技能活动的处理。
图27是示出根据本申请的创建者活动记录和人形机复现的框图。
图28示出了作为本申请的高层级功能性描述的、用于通用人形机器人的总体机器人控制平台。
图29是示出根据本申请的作为人形机应用任务复现处理的一部分的微操纵库的生成、转移、实施和使用的示意图的框图。
图30是示出根据本申请的基于工作室的和基于机器人的感测数据输入类别和类型的框图。
图31是示出根据本申请的基于物理/系统的微操纵库的基于动作的双臂和躯干拓扑的框图。
图32是示出根据本申请的用于特定任务的动作序列的微操纵库的操纵阶段组合和转换的框图。
图33是示出根据本申请的从工作室数据构建一个或多个微操纵库(通用的和特定任务的)的处理的框图。
图34是示出根据本申请的机器人经由一个或多个微操纵库数据集来执行任务的框图。
图35是示出根据本申请的自动化微操纵参数集构建引擎的示意图的框图。
图36A是示出根据本申请的机器人系统的数据中心视图的框图。
图36B是示出根据本申请的微操纵机器人行为数据的成分、链接和转换中的各种微操纵数据格式的示例的框图。
图37是示出根据本申请的在机器人硬件技术概念、机器人软件技术概念、机器人商业概念和用于承载机器人技术概念的数学算法之间的不同层级双向抽象的框图。
图38是示出根据本申请的一对机器人臂和手的框图,每只手具有五根手指。
图39是示出根据本申请的机器人执行任务的框图,其中机器人用通用微操纵以多个阶段执行任务。
图40是示出根据本申请的在微操纵执行阶段的实时参数调整的框图。
图41是根据本申请的一实施例的厨房模块的示意图。
图42是根据本申请的一实施例的厨房模块的示意图。
图43是根据本申请的一实施例的厨房模块的示意图。
图44是根据本申请的一实施例的厨房模块的示意图。
图45是根据本申请的一实施例的厨房模块的示意图。
图46是根据本申请的一实施例的厨房模块的示意图。
图47是根据本申请的一实施例的厨房模块的示意图。
图48是根据本申请的一实施例的厨房模块的抽风机系统的示意图。
图49是根据本申请的一实施例的存放装置(storage arrangement)的示意图。
图50是根据本申请的一实施例的存放单元的示意图。
图51是根据本申请的一实施例的存放单元的一部分的示意图。
图52是根据本申请的一实施例的存放装置的示意图。
图53是根据本申请的一实施例的存放装置的示意图。
图54是根据本申请的一实施例的存放装置的示意图。
图55是根据本申请的一实施例的存放装置的示意图。
图56是根据本申请的一实施例的容器的示意图。
图57是根据本申请的一实施例的存放单元的示意图。
图58是根据本申请的一实施例的冷却系统的示意图。
图59是根据本申请的一实施例的容器布置的示意图。
图60是根据本申请的一实施例的容器布置的示意图。
图61是根据本申请的一实施例的容器布置的示意图。
图62是根据本申请的一实施例的存放装置的示意图。
图63是根据本申请的一实施例的存放装置的示意图。
图64是根据本申请的一实施例的容器的示意图。
图65是根据本申请的一实施例的容器的示意图。
图66是根据本申请的一实施例的容器的示意图。
图67是根据本申请的一实施例的存放装置的示意图。
图68是根据本申请的一实施例的存放装置的示意图。
图69是根据本申请的一实施例的存放装置的示意图。
图70是根据本申请的一实施例的存放装置的示意图。
图71是根据本申请的一实施例的容器的示意图。
图72是根据本申请的一实施例的容器的示意图。
图73是根据本申请的一实施例的存放装置的示意图。
图74是根据本申请的一实施例的存放装置的示意图。
图75是根据本申请的一实施例的存放装置的示意图。
图76是根据本申请的一实施例的可旋转烤箱的示意图。
图77是根据本申请的一实施例的可旋转烤箱的示意图。
图78是根据本申请的一实施例的可旋转烤箱的示意图。
图79是根据本申请的一实施例的可旋转烤箱的示意图。
图80是根据本申请的一实施例的可旋转烤箱的示意图。
图81是根据本申请的一实施例的可旋转烤箱的示意图。
图82是根据本申请的一实施例的容器的示意图。
图83是根据本申请的一实施例的容器的示意图。
图84是根据本申请的一实施例的容器的示意图。
图85是根据本申请的一实施例的容器的示意图。
图86是根据本申请的一实施例的容器的示意图。
图87是根据本申请的一实施例的容器的示意图。
图88是根据本申请的一实施例的容器的示意图。
图89是根据本申请的一实施例的支撑架的示意图。
图90是根据本申请的一实施例的容器的示意图。
图91是根据本申请的一实施例的支撑架的示意图。
图92是根据本申请的一实施例的容器的示意图。
图93是根据本申请的一实施例的容器的示意图。
图94是根据本申请的一实施例的容器的示意图。
图95是根据本申请的一实施例的容器的示意图。
图96是根据本申请的一实施例的容器的示意图。
图97是根据本申请的一实施例的容器的示意图。
图98是根据本申请的一实施例的容器的示意图。
图99是根据本申请的一实施例的容器的示意图。
图100是根据本申请的一实施例的容器的示意图。
图101是根据本申请的一实施例的容器的示意图。
图102是根据本申请的一实施例的容器的示意图。
图103是根据本申请的一实施例的容器的示意图。
图104是根据本申请的一实施例的容器的示意图。
图105是根据本申请的一实施例的容器的示意图。
图106是根据本申请的一实施例的容器的示意图。
图107是根据本申请的一实施例的机器人手的示意图。
图108是根据本申请的一实施例的机器人手的示意图。
图109是根据本申请的一实施例的机器人手的一部分的示意图。
图110是根据本申请的一实施例的机器人手的一部分的示意图。
图111是根据本申请的一实施例的传感器的示意图。
图112是根据本申请的一实施例的机器人手的一部分的示意图。
图113是根据本申请的一实施例的机器人手的一部分的示意图。
图114是根据本申请的一实施例的机器人烹饪系统的框图。
图115是根据本申请的一实施例的机器人烹饪系统的框图。
图116是根据本申请的一实施例的机器人烹饪系统的流程图。
图117是根据本申请的一实施例的机器人烹饪系统的流程图。
图118是根据本申请的一实施例的机器人烹饪系统的流程图。
图119是根据本申请的一实施例的机器人烹饪系统的流程图。
图120是根据本申请的一实施例的机器人烹饪系统的流程图。
图121是根据本申请的一实施例的机器人烹饪系统的流程图。
图122是根据本申请的一实施例的机器人烹饪系统的流程图。
图123是根据本申请的一实施例的烹饪系统结构的图示。
图124是根据本申请的一实施例的烹饪系统结构的图示。
图125是根据本申请的一实施例的机器人烹饪系统的流程图。
图126是根据本申请的一实施例的机器人烹饪系统的示意图。
图127是根据本申请的一实施例的烹饪系统结构的图示。
图128是根据本申请的一实施例的烹饪系统结构的图示。
图129是根据本申请的一实施例的烹饪系统结构的图示。
图130是根据本申请的一实施例的机器人烹饪系统的一部分的流程图。
图131是根据本申请的一实施例的烹饪系统中的操纵的图示。
图132是根据本申请的一实施例的烹饪系统中的操纵的图示。
图133是根据本申请的一实施例的烹饪系统中的操纵的图示。
图134是根据本申请的一实施例的烹饪系统中的操纵的图示。
图135是根据本申请的一实施例的厨房模块的示意图。
图136是根据本申请的一实施例的厨房模块的示意图。
图137是根据本申请的一实施例的厨房模块的示意图。
图138是根据本申请的一实施例的对象识别处理的一部分的流程图。
图139是根据本申请的一实施例的对象识别处理的一部分的流程图。
图140是根据本申请的一实施例的对象识别处理的流程图。
图141是根据本申请的一实施例的示出机器人厨房模块的重量感测系统的操作的流程图。
图142是根据本申请的一实施例的示出机器人厨房模块的重量感测系统的操作的流程图。
图143是根据本申请的一实施例的示出机器人厨房模块的重量感测系统的操作的流程图。
图144是根据本申请的一实施例的示出机器人厨房模块的重量感测系统的操作的流程图。
图145是根据本申请的一实施例的示出机器人厨房模块的重量感测系统的操作的流程图。
图146是根据本申请的一实施例的把手的示意图示。
图147是根据本申请的一实施例的把手的示意图示。
图148是根据本申请的一实施例的定制化器具的示意图示。
图149是根据本申请的一实施例的定制化器具的示意图示。
图150是根据本申请的一实施例的机器人厨房的示意图。
图151A是根据本申请的一实施例的机器人臂的示意图。
图151B是根据本申请的一实施例的机器人臂的示意图。
图151C是根据本申请的一实施例的机器人臂的示意图。
图151D是根据本申请的一实施例的机器人臂的示意图。
图152A是根据本申请的一实施例的重量感测处理的示意图。
图152B是根据本申请的一实施例的重量感测处理的示意图。
图152C是根据本申请的一实施例的重量感测处理的示意图。
图153A是根据本申请的一实施例的重量感测处理的流程图。
图153B是根据本申请的一实施例的重量感测处理的流程图。
图154是根据本申请的一实施例的重量感测处理的流程图。
图155是根据本申请的一实施例的重量感测处理的流程图。
图156是根据本申请的一实施例的重量感测处理的流程图。
图157是根据本申请的一实施例的重量感测处理的流程图。
图158是根据本申请的一实施例的重量感测处理的流程图。
图159是根据本申请的一实施例的重量感测处理的流程图。
图160是根据本申请的一实施例的重量感测处理的流程图。
图161是根据本申请的一实施例的重量感测处理的流程图。
图162是根据本申请的一实施例的对象交互处理的流程图。
图163是根据本申请的一实施例的对象交互处理的流程图。
图164根据本申请的一实施例的对象交互处理的流程图。
图165是根据本申请的一实施例的对象交互处理的流程图。
图166是根据本申请的一实施例的安全处理的流程图。
图167是示出计算机装置的示例的框图,在该计算机装置上可安装和运行计算机可执行指令以执行这里论述的机器人方法。
具体实施方式
将参考图1-167提供对本申请的结构性实施例和方法的描述。应理解,无意将本申请限制到具体公开的实施例,而是本申请可以采用其他特征、元件、方法和实施例来实践。在各实施例中,通常采用类似的附图标记来表示类似的元件。
下述定义适用于文中描述的元件和步骤。这些术语可类似地进行扩展。
抽象数据——是指对机器运行而言实用的抽象菜谱,其具有机器需要知晓以用于正确运行和重现的很多其他数据元素。这种所谓的元数据或对应于烹饪处理中的特定步骤的附加数据,不管是直接的传感器数据(时钟时间、水温度、摄像头图像、所使用的用具或食材(ingredient)等)还是通过对更大数据集进行解释或抽象化而产生的数据(例如,来自用于提取图像中的对象的位置和类型的激光器的、覆盖有来自摄像头照片的纹理和颜色图的三维范围云等)。元数据都带有时间戳,并且由机器人厨房用于随着其逐步完成菜谱中的步骤序列,在每个时间点上设置、控制和监视所有处理和相关方法以及所需设备。
抽象菜谱——是指对厨师菜谱的表示,人类将其认识为通过如下来表示:使用特定食材,按特定顺序,通过一系列处理和方法以及人类厨师的技巧来进行制备和组合。机器用来以自动化方式运行的抽象菜谱需要不同类型的分类和顺序。尽管所执行的总体步骤与人类厨师采取的步骤相同,但是机器人厨房实用的抽象化菜谱要求额外的元数据作为菜谱中的每一步骤的一部分。这样的元数据包括烹饪时间和诸如温度(及其随时间的变化)、烤箱设置、所采用的工具/设备之类的变量等。基本上,机器可执行的菜谱脚本需要具有所有可能的与时间相关的对于烹饪处理具有重要性的测量变量(所有的都是当人类厨师在厨师工作室内制备菜谱时测得并存放的),这些变量既包括总体的,也包括处于烹饪序列的每个处理步骤内的。因此,抽象菜谱是映射到机器可读的表示或域的烹饪步骤的表示,其通过一组逻辑抽象化步骤将来自人类域的所需处理变为机器可理解且机器可执行域的处理。
加速度——是指机器人臂可绕轴或沿短距离上的空间轨迹加速的最大速度变化速率。
精确度——是指机器人能够在怎样的接近程度上达到所命令的位置。精确度由机器人的绝对位置对照命令位置之间的差确定。可以借助于外部感测,例如机器人手上的传感器或利用多个(多模)传感器的实时三维模型来对精确度进行改善、调整或校准。
动作基元——在一实施例中,该术语是指不可分的机器人动作,例如,将机器人设备从位置X1移动到位置X2,或者感测离用于食物制备的对象的距离而不必获得功能结果。在另一实施例中,该术语是指由用于完成微操纵 (mini-manipulation)的一个或多个这样的单元的序列中的不可分机器人动作。这些是同一定义的两个方面。
自动化剂料(dosage)系统——是指标准化厨房模块中的剂料容器,在其中根据应用释放特定量的食物化学化合物(例如,盐、糖、胡椒粉、香料、任何种类的液体,诸如水、油、香精、番茄酱等)。
自动化存储和输送系统——是指标准化厨房模块中的存储容器,其维持所存储食物的特定温度和湿度;每个存储容器分配有代码(例如,条形码),使机器人厨房能够识别并检索出特定的存储容器将其中存储的食物内容输送到何处。
数据云——是指按照特定间隔收集并且基于多重关系,例如时间、位置等汇总的来自特定空间的基于传感器或数据的数值测量结果(三维激光/声程测量、来自摄像头图像的RGB值等)的集合。
自由度(DOF)——是指机械装置或系统能够按照其移动的定义模式和 /或方向。自由度数量等于独立位移或运动方面的总数。对于两个机器人臂而言,自由度总数加倍。
边缘检测——是指能够识别多个对象的边缘的基于软件的计算机程序,所述多个对象可在摄像头的二维图像中重叠,但仍能成功识别其边界以辅助对象识别以及抓取和操纵的规划。
平衡值——是指诸如机器人臂之类的机器人附件的目标位置,在该处作用于该附件上的力处于平衡,即,没有净作用力,因而没有净移动。
执行序列规划器——是指能够为诸如臂、分配器、器具等的能够被计算机控制的一个或多个元件或系统建立运行脚本或命令的序列的基于软件的计算机程序。
食物执行保真度——是指机器人厨房,其旨在通过通过观察、测量和理解人类厨师的步骤、变量、方法和处理,由此尝试模仿其技术和技巧,来复现在厨师工作室中生成的菜谱脚本。通过机器制备的菜肴与人类制备的菜肴的接近程度(通过各种主观元素,例如,一致性、颜色、味道等衡量)衡量菜肴制备的执行与厨师的菜肴制作的接近程度,即保真度。这一概念表明,机器人厨房制备的菜肴与人类厨师制备的菜肴越接近,复现处理的保真度就越高。
食物制备阶段(又称为“烹饪阶段”)——是指一项或多项微操纵(包括动作基元)和用于控制标准化厨房模块中的厨房设备和器具的计算机指令的顺序或并行组合。一个或多个食物制备阶段共同表示特定菜谱的整个食物制备处理。
几何推理——是指能够采用二维(2D)/三维(3D)表面和/或体积数据对特定体积的实际形状和尺寸做出相关推理的基于软件的计算机程序。确定或利用边界信息的能力还允许对图像或模型中存在的特定几何元件的开始和结束以及数量做出相关推断。
抓取推理——是指能够依赖几何和物理推理来规划机器人终端执行器 (夹钳、联杆等)乃至终端执行器所持工具/器具之间的多接触(点/面/体积) 交互,从而成功地接触、抓取和保持对象,以便在三维空间内对其进行操纵的基于软件的计算机程序。
硬件自动化装置——是指能够连续执行预编程步骤但不具备对其中的任何步骤加以修改的能力的固定处理装置;这样的装置用于不需要任何调整的重复运动。
食材管理和操纵——是指详细地定义每种食材(包括大小、形状、重量、外形尺寸、特性和属性),与特定食材有关的变量的一项或多项实时调整,其可不同于先前存放的食材细节(例如,鱼片的大小、蛋的外形尺寸等),以及执行对食材的操纵活动的不同阶段当中的处理。
厨房模块(或厨房体积)——是指具有标准化的厨房设备集合、标准化厨房工具集合、标准化厨房把手(handle)集合、以及标准化厨房容器集合的标准化完整厨房模块,其具有预定义的空间和尺寸,用于存储、获取和操作标准化完整厨房模块中的每个厨房元件。厨房模块的一个目标在于对厨房设备、工具、把手、容器等进行尽可能多的预定义,从而为机器人臂和机器人手的活动提供相对固定的厨房平台。厨师厨房工作室中的厨师和在家使用机器人厨房的人(或餐馆里的人)采用标准化厨房模块来最大化厨房硬件的可预测性,同时将厨师厨房工作室和家庭机器人厨房之间存在差异、变化和偏差的风险降至最低。厨房模块有可能具有不同的实施例,包括独立厨房模块和集成厨房模块。将集成厨房模块匹配到典型房屋的常规厨房区域内。厨房模块至少按照两种模式工作,即,机器人模式和正常(手动)模式。
机器学习——是指软件部件或程序基于经验和反馈提高其性能的技术。在机器人中经常采用的一种机器学习是强化学习(reinforcement learning),其中将对符合要求的动作予以奖励,对不合乎要求的动作予以惩罚。另一种是基于实例的学习(case-basedlearning),其中记住先前的解决方案,例如人类教导者或机器人本身的动作序列,连同用于解决方案的任何约束或原因,然后在新设置中应用或重新使用。还有其他种类的机器学习,例如,诱导法和转导法。
微操纵(MM)——一般而言,微操纵是指机器人设备进行的任何数量或组合的并且在不同描述性抽象层级的一个或多个行为或任务执行,所述机器人设备在传感器驱动的计算机控制下执行所命令的运动序列,通过一个或多个基于硬件的元件工作并且由多个层级的一个或多个软件控制器引导,从而实现所需的任务执行性能水平,以获得在可接受的执行保真度阈值内接近最佳水平的结果。可接受的保真度阈值是与任务相关的,因此针对每个任务 (也称为“特定领域应用”)被定义。在没有特定任务阈值的情况下,典型的阈值可以是最佳性能的0.001(0.1%)。
·在一实施例中,从机器人技术的角度来看,术语微操纵是指机器人执行任务的行为中良好定义的致动器动作的预编程序列和感测反馈的集合,如性能和执行参数(变量、常量、控制器类型和控制器行为等)定义的那样,其用在一个或多个低到高层级的控制回路中以实现一个或多个致动器的期望的运动/交互行为,从单个致动到串行和/或并行的多致动器协调动作(位置和速度)/交互(力和转矩)的序列,从而以期望的性能量度(metrics)实现特定任务。可以通过串行和/或并行地组合较低层级微操纵行为而以各种方式组合微操纵来以更高的(任务描述)抽象水平实现更高层级的更复杂的特定应用任务行为。
·在另一实施例中,从软件/数学的角度来看,术语微操纵是指在最佳结果的阈值内(阈值的示例如在最佳值的0.1、0.01、0.001或0.0001以内,以 0.001作为优选的缺省)实现基本功能结果的一个或多个步骤的组合(或序列)。每一步骤可以是动作基元,对应于感测操作或致动器移动、或另一(更小的)微操纵,类似于计算机程序由基本编码步骤以及可以独立或充当子例程的其他计算机程序构成。例如,微操纵可以是抓住鸡蛋,其由感测鸡蛋的位置和取向,然后伸出机器人臂,将机器人手指移动为具有正确配置,并且施加正确精巧的力量进行抓取——所有这些基元动作所需的电机操作构成。另一微操纵可以是用刀打开鸡蛋,包括用一只机器人手进行的抓取微操纵,随后是用另一只手抓取刀的微操纵,继而是在预定位置用刀以预定力打破鸡蛋的基元动作。
·高层级特定应用任务行为——是指可以用自然的人类可理解的语言描述的、并且人类可容易地将其识别为完成或实现高层级目标的清楚和必要的步骤的行为。可理解的是,许多其他较低层级的行为和动作/活动需要通过多个单独致动和控制的自由度来产生,一些是串行和并行或者甚至循环形式的,以便成功地实现更高层级的特定任务的目标。因此,较高层级的行为由多个层级的低层级微操纵组成,以便实现更复杂的特定任务的行为。以在竖琴上演奏特定音乐片段的第一小节的第一音符的命令作为示例,假定音符是已知的(即,降G调),但是现在必须进行较低层级的微操纵,其涉及通过多个关节来使特定的手指弯曲,移动整个手或使手掌成形以使手指与正确的弦接触,然后以适当的速度和动作继续进行以通过拨弦/弹弦来实现正确的声调的动作。手指和/或手/手掌的所有这些各个微操纵单独地都可被视为各种低层级的微操纵,因为它们不知道总目标(从特定的乐器提取特定音符)。但是在给定乐器上演奏特定音符以获得所需声音的特定任务动作显然是较高层级的特定应用任务,因为它知道总目标,需要在行为/动作之间相互作用,并且控制成功完成所需要的所有较低层级的微操纵。甚至可以将演奏特定音符定义为总体较高层级特定应用任务行为或命令的较低层级微操纵,拼出整个钢琴协奏曲的演奏,其中演奏各个音符可以各自被视为如作曲家期望的那样根据乐谱构造的低层级微操纵行为。
·低层级微操纵行为——是指作为用于实现更高层级的特定任务的活动/ 动作或行为的基本构建块所需的且基本的动作。低层级行为块或元素可以以一个或多个串行或并行方式组合以实现更复杂的手段或更高层级的行为。作为示例,在所有手指关节处弯曲单个手指是低层级行为,因为它可以以特定顺序与弯曲同一只手上的所有其他手指相组合,并且基于接触/力阈值被触发开始/停止以实现更高层级的抓取行为,无论所抓取的是工具还是器具。因此,较高层级的特定任务行为抓取由手上的五根手指中的每根进行的感测数据驱动的低层级行为的串行/并行组合构成。因此,所有行为可被分解为基本的较低层级活动/动作,其在以某种方式组合时实现更高层级的任务行为。低层级行为和高层级行为之间的分解或边界可能有点任意,但是考虑其的一种方式是,人们倾向于在没有太多有意识的思考的情况下进行的、作为人类语言上更任务性的动作(例如“抓取工具”)的一部分的活动或动作或行为(例如,围绕工具/器具弯曲手指直到发生接触并且实现足够的接触力为止),可以并且应当被认为是低层级的。就机器语言执行语言而言,缺乏高层级任务感知的所有致动器特定命令肯定都被认为是低层级行为。
模型元素和分类——是指能够将某一场景内的元素理解为在任务的不同部分使用或需要的项的一个或多个基于软件的计算机程序;诸如用于混合的碗和对进行搅拌的汤匙的需要等。可以将场景或全局模型内的多个元素分为若干组,从而允许更快的规划和任务执行。
运动基元——是指定义详细动作步骤的不同水平/域的运动动作,例如,高层级运动基元是抓取杯子,低层级运动基元是将手腕旋转五度。
多模态感测单元——是指由能够感测和检测多个模式或多个电磁波段或波谱,尤其能够捕获三维位置和/或运动信息的多个传感器构成的感测单元。电磁波谱可以具有从低频到高频的范围,而不必局限于可被人类感知到。额外模式可包括但不限于其他物理感知,例如,触摸、气味等。
轴数量——需要三个轴以达到空间内的任何点。为了对臂的终端(即腕部)的取向进行完全控制,需要三个额外的旋转轴(偏航(yaw)、俯仰(pitch)、滚转(roll))。
参数——是指可取数值或数值范围的变量。三种参数尤其相关:机器人设备的指令中的参数(例如,臂移动的力或距离)、用户可设置的参数(例如,喜欢肉做得更熟一些还是中等熟)、以及厨师定义参数(例如,将烤箱温度设为350F)。
参数调整——是指基于输入改变参数的值的处理。例如,可基于但不限于食材的属性(例如,尺寸、形状、取向)、厨房工具的位置/取向、设备、用具、微操纵的速度和持续时间改变机器人设备的指令的参数。
有效载荷或承载能力——是指机器人臂能够对抗重力承载和保持多大重量(甚至对其加速),其为机器人臂的端点位置的函数。
物理推理——是指能够依赖几何推理数据并且采用物理信息(密度、纹理、典型几何结构和形状)帮助推理引擎(程序)来更好地模拟对象并且还预测其在现实世界中的行为(尤其是在抓取和/或操纵/处理时)的基于软件的计算机程序。
原始数据——是指在观察/监视人类厨师制备菜肴时作为厨师工作室菜谱生成处理的一部分收集到的所有测量和推断的感测数据和表示信息。原始数据的范围可以从简单的数据点,例如时钟时间,到烤箱温度(随时间推移的)、摄像头图像、三维激光生成场景表示数据,再到所采用的器具/设备、所采用的工具、所分配的食材(类型和量)以及何时等。将工作室厨房由其内置传感器收集的并按照原始的带时间戳形式存储的所有信息都看作是原始数据。之后,其他软件处理采用原始数据来生成更高层次的理解和菜谱处理理解,将原始数据转化为其他的带时间戳的经处理/解释的数据。
机器人设备——是指机器人传感器和执行器(effector)的集合。执行器包括一个或多个机器人臂以及一个或多个机器人手,用于标准化机器人厨房中的操作。传感器包括摄像头、距离传感器、以及力传感器(触觉传感器),它们将其信息发送至控制执行器的处理器或处理器集合。
菜谱烹饪处理——是指含有用于可编程硬自动化装置集合的抽象和详细层级的指令的机器人脚本,所述指令允许计算机可控制装置在其环境(例如,充分配备了食材、工具、器具和设备的厨房)内执行有序的操作。
菜谱脚本——是指作为时间序列的菜谱脚本,含有结构以及命令和执行基元(简单到复杂的命令软件)的列表,其在由机器人厨房元件(机器人臂、自动化设备、器具、工具等)按照既定顺序执行时,将实现对人类厨师在工作室厨房内制备的相同菜肴的复现和产生。这样的脚本是时间有序的,等同于人类厨师产生该菜肴所采取的顺序,但是其具有适于机器人厨房内的计算机控制元件并被其所理解的表现形式。
菜谱速度执行——是指在通过复现厨师活动进行食物菜肴制备的菜谱步骤执行当中对时间线进行管理,其中菜谱步骤包括标准化食物制备操作 (例如,标准化炊具、标准化设备、厨房处理器等)、微操作和对非标准化对象的烹饪。
可重复性——是指机器人臂/手能够在多高的精确度上可重复地返回到编程位置的可接受预设裕量。如果控制存储器中的技术规范要求机器人手移动到特定X-Y-Z位置并且处于该位置的+/-0.1mm内,那么测量该机器人手返回到所教导的预期/命令位置的+/-0.1mm内的可重复性。
机器人菜谱脚本——是指与机器人/硬自动化执行步骤的适当序列有关的计算机生成的机器可理解指令序列,其中,所述步骤用以对菜谱中的所需烹饪步骤进行镜像从而获得就像厨师做出来的那样的相同最终产物。
机器人服装——厨师工作室中采用的外部仪器化装置或衣物,例如,关节外骨架、具有摄像头可跟踪标记的衣物、手套等,其用以监视和跟踪厨师在菜谱烹饪处理的所有方面当中的活动和动作。
场景建模——是指能够查看一个或多个摄像头的视场内的场景并且能够检测和识别出对于特定任务而言重要的对象的基于软件的计算机程序。这些对象可以是预先教导的,和/或可以是计算机库的一部分,其具有已知的物理属性和使用意图。
智能厨房炊具/设备——是指一项厨房炊具(例如,锅或平底锅)或一项厨房设备(例如,烤箱、烤架或龙头),其具有一个或多个传感器并且基于一个或多个图形曲线(例如,温度曲线、湿度曲线等)制备食物菜肴。
软件抽象食物引擎——是指定义为软件环(software loop)或程序的集合的软件引擎,其协调工作从而对输入数据进行处理,并且通过某种形式的文本或图形输出界面创建供其他软件引擎或终端用户使用的特定期望的输出数据集。抽象软件引擎是一种软件程序,其致力于从特定域内的已知源取得巨大量的输入数据(例如,三维范围测量结果,其形成一个或多个传感器检测到的三维测量结果的数据云),之后对所述数据进行处理,从而获得对不同域中的数据的解释(例如,基于具有相同的竖直数据值的数据在数据云中检测并识别出台表面等),从而识别、检测、划分出与三维空间内的对象 (例如,台顶、烹饪锅等)相关的数据读数。抽象处理基本定义为从一个域取得大数据集并且推断出在更高级空间内的结构(例如,几何结构)(抽象出数据点),之后对所述推断做进一步抽象,并从抽象数据集中识别出对象 (锅等),以识别出图像中的现实世界元素,其然后可被其他软件引擎用来做出附加决策(对关键对象的处理/操纵决策等)。在本申请中“软件抽象引擎”的同义词可以是“软件解释引擎”,乃至“计算机软件处理和解释算法”。
任务推理——是指能够分析任务描述并且将其分解成一系列的多个机器可执行(机器人或硬自动化系统)步骤以实现任务描述中定义的特定最终结果的基于软件的计算机程序。
三维世界对象建模和理解——是指能够采用感测数据建立所有表面和体积的时变三维模型,使得能够检测、识别和分类其中的对象,并且理解它们的用法和意图的基于软件的计算机程序。
转矩向量——是指作用于机器人附件上的扭转力,包括其方向和大小。
体积对象推断(引擎)——是指能够采用几何数据和边缘信息以及其他感测数据(颜色、形状、纹理等)实现对一个或多个对象的三维识别,以辅助对象识别和分类处理的基于软件的计算机程序。
关于机器人设备的复现和微操纵库的其他信息可参见题为“Methods andSystems for Food Preparation in Robotic Cooking Kitchen”的未决美国非临时专利申请No.14/627,900。
关于机器人设备的复现和微操纵库的其他信息可参见题为“Methods andSystems for Food Preparation in Robotic Cooking Kitchen”的未决美国非临时专利申请No.14/829,579以及决美国非临时专利申请No.14/627,900,其公开内容通过引用的方式整体合并在此。
图1是示出具有机器人硬件12和机器人软件14的总体机器人食物制备厨房10的系统图。总体机器人食物制备厨房10包括机器人食物制备硬件12 和机器人食物制备软件14,它们共同运转以执行机器人食物制备功能。机器人食物制备硬件12包括控制标准化厨房模块18(其一般在具有一个或多个传感器的仪表化环境中操作)、多模态三维传感器20、机器人臂22、机器人手24和捕捉手套26的各种操作和移动的计算机16。机器人食物制备软件 14与机器人食物制备硬件12一起操作以捕获厨师在食物菜肴的制备处理中的动作,并通过机器人臂和机器人手复现厨师的动作以获得该食物菜肴的相同或基本相同的结果(例如,品尝起来一样、闻起来一样等),即品尝起来和人类厨师做的相同或基本相同。
机器人食物制备软件14包括多模态三维传感器20、捕获模块28、校准模块30、转换算法模块32、复现模块34、具有三维视觉系统的品质检查模块36、相同结果模块38和学习模块40。捕获模块28随着厨师进行食物菜肴的制备而捕捉厨师的动作。校准模块30在烹饪处理之前、之中和之后对机器人臂22和机器人手24进行校准。转换算法模块32配置为将来自厨师工作室中收集的厨师活动的记录数据转换为菜谱修改数据(或变换数据)以供在机器人厨房中使用,在机器人厨房中,机器人手将复现厨师菜肴的食物制备。复现模块34配置为在机器人厨房内复现厨师的动作。品质检查模块 36配置为在食物制备处理当中、食物制备处理之前或之后执行对机器人厨房制备的食物菜肴的质量检查功能。相同结果模块38配置为判断由机器人厨房内的一对机器人臂和机器人手制备的食物菜肴品尝起来是否与厨师制备的一样或基本一样。学习模块40配置为向操作机器人臂和机器人手的计算机16提供学习能力。
图2是示出机器人食物烹饪系统的第一实施例的系统图,该系统包括厨师工作室系统和家庭机器人厨房系统,以用于通过复现厨师的菜谱处理和动作来制备菜肴。机器人厨房烹饪系统42包括厨师厨房44(又称为“厨师工作室厨房”),其将一个或多个软件记录菜谱文件46传送给机器人厨房48(又称为“家庭机器人厨房”)。在一实施例中,厨师厨房44和机器人厨房48采用相同的标准化机器人厨房模块50(又称为“机器人厨房模块”、“机器人厨房体积”或者“厨房模块”或“厨房体积”),从而最大化制备食物菜肴的精确复现,这样做可以减少可能在厨师厨房44制备的食物菜肴和机器人厨房46制备的菜肴之间导致偏差的变数。厨师52佩戴机器人手套或服装,其具有外部传感器装置以用于捕获和记录厨师的烹饪动作。标准化机器人厨房50包括用于控制各种计算功能的计算机16,其中计算机16包括存储器52和机器人烹饪引擎(软件)56,存储器52用于存储来自用于捕获厨师动作的手套或服装54的传感器的一个或多个菜谱软件文件。机器人烹饪引擎56包括动作分析以及菜谱抽象化和排序模块58。机器人厨房48通常用一对机器人臂和机器人手进行自主操作,由任意用户60负责开启机器人厨房46或对其进行编程。机器人厨房48中的计算机16包括用于操作机器人臂和机器人手的硬自动化模块62以及用于根据软件菜谱(食材、顺序、处理等)文件复现厨师动作的菜谱复现模块64。
标准化机器人厨房50设计为检测、记录和模拟厨师的烹饪动作,控制诸如随时间推移的温度之类的重要参数以及机器人厨房站中采用指定用具、设备和工具实施的处理执行。厨师厨房44提供计算厨房环境16,其具有带传感器的手套或带传感器的服装以用于记录和捕获厨师50对于具体菜谱在食物制备中的动作。在针对特定菜肴将厨师49的动作和菜谱处理记录到存储器52中的软件菜谱文件中时,将软件菜谱文件从厨师厨房44经由包括连接至因特网的无线网络和/或有线网络的通信网络46传送至机器人厨房48,从而使用户(任选的)60能够购买一个或多个软件菜谱文件,或者用户能够订购厨师厨房44的会员以接收新的软件菜谱文件或者现有软件菜谱文件的定期更新。在家庭住所、餐馆以及其他为用户60建立厨房以供其制备食物的地方,家庭机器人厨房系统48起着机器人计算厨房环境的作用。家庭机器人厨房系统48包括具有一个或多个机器人臂和硬自动化装置的机器人烹饪引擎56,其用于基于从厨师工作室系统44接收到的软件菜谱文件复现厨师的烹饪动作、处理和活动。
厨师工作室44和机器人厨房48代表存在着复杂联系的教导重现系统,其具有多个层级的执行保真度。厨师工作室44生成有关如何制备专业烹饪菜肴的高保真处理模型,而机器人厨房48则是用于通过厨师在厨师工作室中工作而建立的菜谱脚本的执行/复现引擎/处理。机器人厨房模块的标准化是提高性能保真度以及成功/保证的手段。
菜谱执行的不同保真度层级取决于厨师工作室44和机器人厨房48之间的传感器和设备(当然除了食材以外)的相关性。可以将保真度定义为在一范围的一端(完美复现/执行)菜肴品尝起来与厨师制备的相同(不可分辨),而在相反端菜肴可能具有一项或多项相当大的或致命的缺陷,其隐含着质量缺陷(烹饪过度的肉或意大利面)、味道缺陷(原料烧糊)、可食性缺陷(不正确的一致性),甚至隐含着健康方面的缺陷(未烹熟的肉,例如鸡肉/猪肉承载着沙门氏菌等)。
具有能够复现出与厨师在厨师工作室烹饪处理中记录的活动和处理类似的活动和处理的相同硬件、传感器和致动系统的机器人厨房更有可能得到更高保真度的结果。这里的含意是设施需要相同,这隐含着成本和体积两方面。但是,仍然可以采用更加标准化的非计算机控制或计算机监视元件(具有传感器的锅、联网用具,例如烤箱等)实施机器人厨房48,其需要基于更多传感器的理解以允许更复杂的运行监视。由于关于关键元素(正确的食材量、烹饪温度等)和处理(在机器人家庭厨房没有混和器的情况下采用搅拌器/捣碎器)的不确定性现在已经增大,所以毫无疑问具有与厨师相同结果的保证将更低。
申请的一重点在于,与机器人厨房耦接的厨师工作室44的概念是一般概念。机器人厨房48的水平是可变的,其从配备有一组臂和环境传感器的家庭厨房一直到工作室厨房的相同复制而不等,在相同复制的情况下一组臂和关节活动、工具、器具和食材供给能够按照几乎无异的方式复制出厨师的菜谱。唯一要满足的变量是最终结果或菜肴的质量水平,所述质量水平是从质量、外观、味道、可食性和健康的角度衡量的。
一种可能的对机器人厨房中的菜谱结果和输入变量之间的这种关联进行数学描述的方法可以通过下面的函数得到最佳描述:
Frecipe-outcome=Fstudio(I,E,P,M,V)+FRobKit(Ef,I,Re,Pmf)
其中,Fstudio=厨师工作室的菜谱脚本保真度
FRobKit=机器人厨房的菜谱脚本执行
I=食材
E=设备
P=处理
M=方法
V=变量(温度、时间、压力等)
Ef=设备保真度
Re=复现保真度
Pmf=处理监视保真度
上面的公式将机器人制备的菜谱结果与人类厨师制备和上菜的结果的匹配程度(Frecipe-outcome)与厨师工作室44基于所采用的食材(I)、可用于执行厨师的处理(P)的设备(E)以及在烹饪处理中适当捕获所有关键变量(V) 的方法(M)正确捕获和表示菜谱的水平(Fstudio)联系起来;并且将该匹配程度与机器人厨房如何能够通过一函数(FRobKit)表示机器人菜谱脚本的复现/执行处理联系了起来,其中该函数主要由下述内容驱动:适当食材(I)的使用、与厨师工作室中的相比机器人厨房中的设备保真度(Ef)水平、在机器人厨房中能够对菜谱脚本进行复现的水平(Re)以及在何种程度上存在监视和执行校正动作从而实现尽可能最高的处理监视保真度(Pmf)的能力和需求。
函数(Fstudio)和(FRobKit)可以是具有常数、变量以及任何形式的算法关系的线性和非线性函数式的任何组合。这两种函数的此类代数表示的示例可以是:
Fstudio=I(fct.sin(Temp))+E(fct.Cooptop1*5)+P(fct.Circle(spoon)+V(fct.0.5*time)
描绘出制备处理的保真度与作为正弦函数的冰箱中食材随时间变化的温度相关,与食材能在特定站台上的灶口上以特定升温速率加热的速度相关,以及与汤匙能够多好地按照具有特定幅度和周期的圆形路径移动有关,还描绘出必须以不低于人类厨师速度的1/2执行所述处理,以保持制备处理的保真度。
FRobKit=Ef,(Cooktop2,Size)+I(1.25*Size+Linear(Temp))+Re(Motion-Profile)+ Pmf(Sensor-Suite Correspondence)
描绘出机器人厨房中的复现处理的保真度与特定烹饪区域的用具类型和布局以及加热元件的尺寸有关,与正受烧炙和烹饪的食材的尺寸和温度情况有关(较厚的牛排需要更长的烹饪时间),同时还保留特定步骤(例如,烧炙或慕斯搅打)的任何搅动和浸浴活动的活动分布,还与机器人厨房和厨师工作室内的传感器之间的对应性是否充分高从而能够信任所监视到的传感器数据精确并且详细到了能够在菜谱的所有步骤当中提供机器人厨房内的烹饪处理的适当监视保真度有关。
菜谱的结果不仅是厨师工作室以怎样的保真度捕获人类厨师的烹饪步骤/方法/处理/技巧的函数,还是机器人厨房能够以怎样的保真度执行这些烹饪步骤/方法/处理/技巧的函数,其中,它们当中的每个都具有影响它们相应的子系统性能的关键元素。
图3是示出用于通过在厨师制备食物菜肴的处理中记录厨师的动作并通过机器人臂和机器人手制备和复现食物菜肴的标准化机器人厨房50的一实施例的系统图。在该上下文中,术语“标准化”(或“标准”)是指部件或特征的规格是预先设置的,下文将对此予以解释。计算机16通信耦接到标准化机器人厨房50中的多个厨房元件,包括三维视觉传感器66、可缩回安全挡板68(例如,玻璃、塑料或其他类型的防护材料)、机器人臂70、机器人手 72、标准化烹饪用具/设备74、具有传感器的标准化炊具76、标准化把手或标准化炊具78、标准化把手和用具80、标准化硬自动化分配器82(又称为“机器人硬自动化模块”)、标准化厨房处理器84、标准化容器86和冰箱88内的标准化食物存放室。
标准化(硬)自动化分配器82是可通过烹饪计算机16编程和/或控制的装置或一系列装置,其用以为烹饪处理馈送或提供预封装(已知)量的关键材料或者提供专用的关键材料用料,例如,所述材料为调料(盐、胡椒粉等)、液体(水、油等)、或者其他干材料(面粉、糖等)。标准化硬自动化分配器 82可位于特定站台处或者可以能够通过机器人访问和触发从而根据菜谱序列进行分发。在其他实施例中,可以使机器人硬自动化模块与其他模块、机器人臂、或烹饪用具结合或者串行或并行地序列化。在这一实施例中,标准化机器人厨房50包括机器人臂70和机器人手72,它们由机器人食物制备引擎56根据存储器52中存储的软件菜谱文件加以控制,以用于在菜肴制备中复现厨师的精确动作,由此得到尝起来就像厨师亲手所做的相同味道的菜肴。三维视觉传感器66提供实现对对象的三维建模,提供厨房活动的可视三维模型,以及对厨房体积进行扫描以评估标准化机器人厨房50内的尺寸和对象的能力。可缩回安全玻璃68包括机器人厨房50上的透明材料,其在处于开启状态时使安全玻璃绕机器人厨房伸展以保护周围的人不受机器人臂70 和机器人手72的移动、热水和其他液体、蒸汽、火以及其他危险影响因素的伤害。机器人食物制备引擎56通信耦接至电子存储器52,以检索先前从厨师工作室系统44发送的软件菜谱文件,针对软件菜谱文件,机器人食物制备引擎56配置为执行制备和复现软件菜谱文件中指示的厨师烹饪方法和处理的处理。机器人臂70和机器人手72的结合用于在菜肴制备处理中复现厨师的精确动作的作用,从而所得食物菜肴具有与厨师制备的相同食物菜肴相同(或基本相同)的味道。标准化烹饪设备74包括被包括为机器人厨房 50的一部分的各种烹饪用具46,其包括但不限于炉/感应/灶口(电灶口、天然气灶口、感应灶口)、烤箱、烤架、烹饪蒸箱和微波炉。标准化炊具和传感器76被用作基于炊具上的传感器记录食物制备步骤以及基于具有传感器的炊具烹饪食物菜肴的实施例,带传感器的炊具包括具有传感器的锅、具有传感器的平底锅、具有传感器的烤箱和具有传感器的炭烤架。标准化炊具78 包括煎锅、炒锅、烤锅、多锅、烘烤器、铁锅和蒸锅。机器人臂70和机器人手72在烹饪处理中操作标准化把手和用具80。在一实施例中,机器人手 72之一配备有标准化把手,其附连至叉头(fork head)、刀头和汤匙头,可以根据需要加以选择。标准化硬自动化分配器82被包括到机器人厨房50中以提供合宜的(既通过机器人臂70又通过人的使用)关键性常用/重复食材,该食材是易于度量/按计量分配的或者是预封装的。标准化容器86是在室温下存放食物的存放位置。标准化冰箱容器88是指但不限于带有标识容器的冰箱,其用于存放鱼、肉、蔬菜、水果、牛奶以及其他易腐食品。可以采用容器标识符对标准化容器86或者标准化存放器88中的容器进行编码,机器人食物制备引擎56能够基于容器标识符确定容器内的食物的类型。标准化容器86为诸如盐、胡椒粉、糖、油和其他调料之类的非易腐食品提供存放空间。具有传感器的标准化炊具76和炊具78可以存放在架子上或橱柜内以供机器人臂70选择制备菜肴的烹饪工具之用。典型地,将生鱼、生肉和蔬菜预先切好并存放在带标识的标准化存放器88内。厨房工作表面90为机器人臂70提供了根据需要处理肉或蔬菜的平台,所述处理可以包括或不包括切或剁动作。厨房龙头92提供了用于在菜肴制备时清洗或清洁所用食物的厨房水槽空间。在机器人臂70完成了制备菜肴的菜谱处理并且制备好上菜时,将菜肴放在上菜台90上,其还允许通过用机器人臂70调整环境设置来增强就餐环境,例如摆放用具、酒杯,选择与膳食搭配的酒。标准化机器人厨房模块50中的设备的一实施例是一系列专业的设备以提高制备的各种类型的菜肴的普遍吸引力。
标准化机器人厨房模块50以厨房模块50以及厨房模块本身的各种部件的标准化作为一个目标,从而确保厨师厨房44和机器人厨房48两者之间的一致性,由此使菜谱复现的精确度最大化,同时将厨师厨房44和机器人厨房48之间的发生偏离菜谱菜肴的精确复现的风险降至最低。使厨房模块50 标准化的一个主要目的是在厨师制备的第一食物菜肴和通过机器人厨房对相同的菜谱处理所做的随后复现之间获得相同的烹饪处理结果(或者相同的菜肴)。在厨师厨房44和机器人厨房48之间构思标准化机器人厨房模块50 中的标准化平台具有若干关键的考虑事项:相同的时间线、相同的程序或模式、以及质量检查。厨师在厨师厨房44制备食物菜肴以及机器人手在机器人厨房48实施复现处理所采取的标准化机器人厨房50中的相同时间线是指相同的操纵序列、每一操纵的相同起始和结束时间、以及处理操作之间相同的对象移动速度。标准化机器人厨房50中的相同程序或模式是指在每一操纵记录和执行步骤当中对标准化设备的使用和操作。质量检查涉及标准化机器人厨房50中的三维视觉传感器,其对食物制备处理中的每一操纵动作进行实时监视和调整,以校正任何偏差并且避免有瑕疵的结果。标准化机器人厨房模块50的采用降低并且最小化了在厨师制备的食物菜肴和机器人厨房采用机器人臂和手制备的食物菜肴之间得不到相同结果的风险。如果没有机器人厨房模块以及机器人厨房模块内的部件的标准化,厨师厨房44和机器人厨房48之间增大的变化将提高在厨师制备的食物菜肴和机器人厨房制备的食物菜肴之间无法得到相同结果的风险,因为对于厨师厨房44和机器人厨房48之间不同的厨房模块、不同的厨房设备、不同的厨房用具、不同的厨房工具和不同的食材,需要更加精细并且复杂的调整算法。
标准化机器人厨房模块50包括很多方面的标准化。第一,标准化机器人厨房模块50包括任何类型的厨房用具、厨房容器、厨房工具和厨房设备的标准化位置和取向(在XYZ坐标面内)(借助于厨房模块和装置位置上的标准化固定孔)。第二,标准化机器人厨房模块50包括标准化烹饪体积尺寸和架构。第三,标准化机器人厨房模块50包括标准化设备组,例如烤箱、炉、洗碗机、龙头等。第四,标准化机器人厨房模块50包括标准化厨房用具、标准化烹饪工具、标准化烹饪装置、标准化容器、以及冰箱中的标准化食物存放器,所述标准化是就形状、尺寸、结构、材料、体积等而言的。第五,在一实施例中,标准化机器人厨房模块50包括用于操纵任何厨房用具、工具、仪器、容器和设备的标准化通用把手,其使机器人手能够仅在一个正确的位置上握住标准化通用把手,同时避免任何不适当的抓取或不正确的取向。第六,标准化机器人厨房模块50包括具有操纵库的标准化机器人臂和手。第七,标准化机器人厨房模块50包括用于标准化食材操纵的标准化厨房处理器。第八,标准化机器人厨房模块50包括用于建立动态三维视觉数据的标准化三维视觉装置以及其他可能的用于菜谱记录、执行跟踪和质量检查功能的标准传感器。第九,标准化机器人厨房模块50包括特定菜谱执行期间的每种食材的标准化类型、标准化体积、标准化尺寸和标准化重量。
图4是示出与厨师工作室系统44和家庭机器人厨房系统48中的计算机 16结合使用的机器人烹饪引擎56(又称为“机器人食物制备引擎”)的一实施例的系统图。其他实施例可具有厨师厨房44和机器人厨房48的机器人烹饪引擎16中的模块的修改、添加或改变。机器人烹饪引擎56包括输入模块 50、校准模块94、品质检查模块96、厨师动作记录模块98、炊具传感器数据记录模块100、用于存储软件菜谱文件的存储器模块102、采用所记录的传感器数据生成机器模块特定的顺序操作分布(profile)的菜谱抽象化模块 104、厨师动作复现软件模块106、采用一条或多条感测曲线的炊具感测复现模块108、机器人烹饪模块110(计算机控制以操作标准化操作、微操纵和非标准化对象)、实时调整模块112、学习模块114、微操纵库数据库模块116、标准化厨房操作库数据库模块118、以及输出模块120。这些模块经由总线 122通信耦接。
输入模块50配置为接收另一计算装置发送的诸如软件菜谱文件之类的任何类型的输入信息。校准模块94配置为用机器人臂70、机器人手72以及标准化机器人厨房模块50内的其他厨房用具和设备部件校准其自身。品质检查模块96配置为在取得原料食物以用于烹饪时确定生肉、生疏菜、与牛奶有关的食材以及其他原料食物的质量和新鲜度,以及在将食物接收到标准化食物存放器88内时检查原料食物的质量。品质检查模块96还可配置为基于感测进行质量检查,例如基于食物的气味、食物的颜色、食物的味道、以及食物的图像或外观。厨师动作记录模块98配置为记录厨师制备食物菜肴时的顺序和精确动作。炊具传感器数据记录模块100配置为记录来自配备有放到炊具内的不同区域中的传感器的炊具(例如,具有传感器的平底锅、具有传感器的烤架或具有传感器的烤箱)的感测数据,由此生成一条或多条感测曲线。结果是感测曲线的生成,例如温度(和/或湿度)曲线,其反映对于特定菜肴而言烹饪用具随时间的温度波动。存储器模块102配置为用于存储软件菜谱文件的存储位置,所述文件可以是用于厨师菜谱活动的复现的文件或者是包括感测数据曲线的其他类型的软件菜谱文件。菜谱抽象化模块104 配置为采用所记录的传感器数据生成机器模块特定的有序操作分布。厨师动作复现模块106配置为基于存储器52内存储的软件菜谱文件复现厨师在菜肴制备时的精确动作。炊具感测复现模块108配置为遵循一条或多条先前记录的感测曲线的特征复现食物菜肴的制备,所述曲线是在厨师49采用具有传感器的标准化炊具76制备菜肴时生成的。机器人烹饪模块110配置为自主控制和运行标准化厨房操作、微操纵、非标准化对象、以及标准化机器人厨房50中的各种厨房工具和设备。实时调整模块112配置为对与特定厨房操作或微操作相关的变量提供实时调整,以生成作为厨师动作的精确复现或感测曲线的精确复现的所得处理。学习模块114配置为向机器人烹饪引擎56 提供学习能力,从而优化机器人臂70和机器人手72对食物菜肴制备的精确复现,就像食物菜肴是厨师做出来的一样,其可以采用诸如基于实例的(机器人)学习的方法。微操纵库数据库模块116配置为存储微操纵的第一数据库的库。标准化厨房操作库数据库模块117配置为存储标准化厨房用具以及如何操作标准化厨房用具的第二数据库的库。输出模块118配置为将输出计算机文件或控制信号发送到机器人烹饪引擎之外。
图5A是示出厨师工作室菜谱创建处理124的框图,其展示了几个主要功能块,它们支持使用扩展多模态感测以建立用于机器人厨房的菜谱指令脚本。来自多个传感器的传感器数据,例如(但不限于)嗅觉126、视频摄像头128、红外扫描仪和测距仪130、立体(乃至三目)摄像头132、触觉手套 134、关节式激光扫描仪136、虚拟世界眼镜138、麦克风140或外骨架运动套装142、人语音144、触摸传感器146、乃至其他形式的用户输入148等,被用于通过传感器接口模块150收集数据。数据被获取和过滤152,包括可能的人类用户输入148(例如,厨师;触摸屏和语音输入),之后多个(并行) 软件程序利用时间和空间数据生成用于充实机器特定的菜谱创建处理的数据。传感器可以不限于捕获人的位置和/或运动,还可以捕获标准化机器人厨房50内的其他对象的位置、取向和/或运动。
例如,这些各个软件模块(但并非因此仅局限于这些模块)生成的信息可以是(i)厨师位置和烹饪站ID,其通过位置和配置模块154生成,(ii) 臂的配置(通过躯干生成),(并入)所运用的工具以及何时、如何运用,(iv) 所采用的用具和在站台上的位置,其通过硬件和变量抽象化模块156生成, (v)借助于它们执行的处理,以及(vi)需要监视的变量(温度、盖子y/n,搅拌等),其通过处理模块158生成,(vii)时间(开始/结束,类型)分配, (v并入)所应用的处理(搅动,调料调入等)的类型,以及(ix)所添加的食材(类型、量、预备的状态等),其通过烹饪序列和处理抽象化模块160 生成。
之后,所有这样的信息用于通过独立模块162建立一组机器特定的(不仅对于机器人臂而言,而且还对于食材分配器、工具和用具等而言)菜谱指令,这些指令被组织为所要执行和监视的顺次/并行重叠任务的脚本。该菜谱脚本连同整个原始数据集166存储164在数据存储模块168中,并可由远程机器人烹饪站通过机器人厨房接口模块170访问或者由人类用户172经由图形用户界面(GUI)174访问。
图5B是示出采用教导/重现处理176的标准化厨师工作室44和机器人厨房50的一实施例的框图。教导/重现处理176描述了在厨师实施菜谱执行 180的厨师工作室44内捕获厨师的菜谱实施处理/方法/技巧49的步骤,其中厨师采用一组厨师工作室标准化设备72和菜谱所需食材178来创造菜肴,同时被记录和监视182。原始传感器数据在182中被记录(以供重现),并且被处理以生成不同抽象层次的信息(所采用的工具/设备、所采用的技术、开始/结束的时间/温度等),之后用于建立供机器人厨房48执行的菜谱脚本184。机器人厨房48进行菜谱复现处理106,其分布取决于厨房是标准化类型还是非标准化类型,这由处理186进行检查。
机器人厨房的执行依赖于用户可用的厨房类型。如果机器人厨房采用与厨师工作室内相同/等同(至少在功能上)的设备,那么菜谱复现处理主要是采用原始数据并将其作为菜谱脚本执行处理的一部分予以重现的处理。然而,如果该厨房不同于理想的标准化厨房,那么执行引擎将必须依赖于抽象数据以生成厨房特定的执行序列,从而尝试取得一步步类似的结果。
由于烹饪处理通过监视处理194由机器人厨房内的所有传感器单元连续监视,因而不管是正在使用已知的工作室设备196,还是正在使用混合/非典型的非厨师工作室设备198,系统都能够依据菜谱程序检查200按需做出修改。在标准化厨房的一实施例中,通常采用厨师工作室类型的装备通过执行模块188重现原始数据,预计唯独需要做出的调整就是脚本执行处理中的调适202(重复某一步骤,回到某一步骤,使执行慢下来等),因为在教导和重现数据集之间存在一对一对应关系。但是,就非标准化厨房而言,很可能系统必须通过菜谱脚本修改模块204对实际菜谱本身及其执行进行修改和调适,以适应与厨师工作室44中的工具/器具不同的可用工具/器具192或者与菜谱脚本的测量偏差(肉烹饪太慢,锅内的热点烧糊了乳酷面粉糊等)。采用类似的处理206对总体菜谱脚本程序进行监视,所述类似处理可能根据正在使用的是厨房工作室设备208还是混合/非典型厨房设备210而存在差别。
与使用标准化机器人厨房相比,非标准化厨房获得接近人类厨师烹饪菜肴的可能性更低,标准化机器人厨房具有反映工作室厨房内采用的设备和性能的那些设备和性能。当然,最终主观判断是人(或厨师)的品尝、或质量评估212所做的判断,其将得到(主观)质量判断214。
图5C是示出菜谱脚本生成和抽象化引擎的一实施例216的框图,该引擎涉及作为人类厨师完成的厨师工作室菜谱的一部分的菜谱脚本生成处理的结构和流程。第一步骤是将可在厨师工作室44内测量的所有可用数据输入至中央计算机系统并由其进行过滤,并且通过主程序218加上时间戳,不论所述数据是来自厨师的人机工程数据(臂/手位置和速度、触觉手指数据等)、厨房用具(烤箱、冰箱、分配器等)的状态、具体变量(灶口温度、食材温度等)、所采用的器具或工具(锅/平底锅、炒菜铲等),还是多谱感测设备(包括摄像头、激光器、结构性光系统等)收集的二维和三维数据。
数据处理映射算法220采用更为简单(通常为单个单位)的变量判断处理动作正在何处发生(灶口和/或烤箱、冰箱等),向正被使用的任何物品/ 器具/设备分配使用标签,不论其被断续使用还是连续使用。其使烹饪步骤(烘焙、烧烤、食材添加等)与具体的时间段相关联,并且跟踪何时、何地添加了哪种以及多少食材。之后,使这一(带时间戳的)信息数据集可在菜谱脚本生成处理222中被数据融合处理所用。
数据提取和映射处理224主要致力于取得二维信息(例如,来自单目/ 单镜头摄像头)并从其提取关键信息。为了从每个连续图像提取重要且更抽象的描述信息,必须向这一数据集应用若干算法处理。这样的处理步骤可包括(但不限于)边缘检测、颜色和纹理映射,之后采用图像当中的畴域知识并结合以从数据简化和抽象处理226提取的对象匹配信息(类型和尺寸)以允许对象(一件设备或食材等)的识别和定位,再次从数据简化和抽象处理226提取出所述识别和定位,从而允许使图像中的状态(以及描述其的所有相关变量)和项目与特定的处理步骤(煎炸、煮沸、切割等)相关联。一旦提取出了这一数据并使之与特定时间点上的特定图像相关,就可以将其传送给菜谱脚本生成处理222,从而制定出菜谱内的序列和步骤。
数据简化和抽象引擎(软件例程组)226旨在简化较大的三维数据集,并由其提取关键的几何信息和相关信息。第一步骤是从大的三维数据点云中仅提取出在特定时间点上对菜谱重要的具体工作空间区域。一旦完成了对所述数据集的剪裁(trim),就可以通过被称为模板匹配的处理识别出关键几何特征。这允许识别出诸如水平台面、圆筒形锅和平底锅、臂和手位置等的项目。一旦在数据集中确定了典型的已知(模板)几何条目,就进行对象识别和匹配处理以区分出所有项目(普通锅对比平底锅等),并关联其正确的外形规格(锅或平底锅的尺寸等)和取向,继而将其置入到正在通过计算机组建的三维世界模型中。之后,所有的该抽象/提取出的信息在被馈送至菜谱脚本生成引擎222之前,还与数据提取和映射引擎224共享。
菜谱脚本生成引擎处理222负责将所有的可用数据和集合融合(混合/ 组合)成结构化有序烹饪脚本,每一脚本内具有清楚的处理标识符(预备、预煮、油炸、清洗、涂覆等)和处理特定的步骤,其然后可被转化为机器人厨房的机器可执行命令的脚本,这些脚本在处理完成和总烹饪时间以及烹饪处理的基础上同步。数据融合至少涉及但不唯独地局限于取得每个(烹饪) 处理步骤的能力,以及采用适当相关的要素(食材、设备等)、将在处理步骤中采用的方法和处理、以及为了检验适当的进度和执行而要保持和检查的相关的关键控制变量(设定的烤箱/灶口温度/设置)和监视变量(水或肉温度等)来填充要执行的步骤的序列。之后,将融合数据结合到结构化有序烹饪脚本中,该脚本将类似于一组最小描述性步骤(近于杂志上的菜谱),但是在流程中的任何一点上都具有与烹饪处理的每一元素(设备、食材、处理、方法、变量等)相关的大得多的变量组。最终步骤是取得这一有序烹饪脚本并将其变换成具有等价结构的有序脚本,其可通过机器人厨房48内的一组机械/机器人/设备来转换。机器人厨房48正是采用这一脚本执行自动化菜谱执行和监视步骤的。
所有原始的(未处理的)和处理了的数据以及相关脚本(既包括结构有序烹饪序列脚本又包括机器可执行烹饪序列脚本)存储到数据和分布存储单元/处理228中并加上时间戳。用户能够通过GUI从这一数据库进行选择并使机器人厨房通过自动化执行和监视引擎230执行所期望的菜谱,其受自己内部的自动化烹饪处理的连续监视,并由其生成对所述脚本的必要调适和修改,所述调适和修改由机器人厨房元件实施,这样做的目的在于获得完整装盘、可供上菜的菜肴。
图5D是示出用于标准化机器人厨房50中的对象操纵(或对象操作 (objecthandling))的软件元素的框图,其采用与微操纵步骤耦接或者借助于微操纵步骤的运动复现概念示出机器人脚本的机器人厨房执行的对象操纵部分的结构和流程250。为了使基于机器人臂/手的自动化烹饪可行,监视臂和手/手指中的每一单个关节是不够的。在很多情况下只知道手/腕的位置和取向(并且能够复制),但是之后操纵对象(识别位置、取向、姿势、抓取位置、抓取策略和任务执行)需要采用手和手指的局部感测以及习得的行为和策略来成功地完成抓取/操纵任务。这些运动分布(基于传感器的/受传感器驱动的)、行为和序列存储在机器人厨房系统的微小手操纵库软件仓库 (repository)中。人类厨师可以穿戴完整的臂外骨架或仪器化/目标适配运动背心,允许计算机通过内置传感器或通过摄像头跟踪来随时确定手和腕部的确切3D位置。即使双手的十个手指都设置了关节仪器(双手超过30个 DoF(自由度),很难佩戴和使用,因而不太可能使用),对所有关节位置的简单的基于运动的重现也不能保证成功的(交互式)对象操纵。
微操纵库是命令软件仓库,在该仓库中基于离线学习处理存储运动行为和处理,其中将存储成功完成特定抽象任务(抓取刀,之后切片;抓取汤匙之后搅动;一只手抓锅,之后用另一只手抓取炒菜铲,并将其放到肉的下面,使肉在平底锅内翻面;等等)的臂/腕/手指运动和序列。该仓库被构建为含有手/腕部的成功传感器驱动运动分布和顺序行为的习得序列(有时也包含臂位置校正),从而确保成功地完成以更加抽象的语言(例如,“握刀并将蔬菜切片”、“将鸡蛋打到碗里”、“将平底锅中的肉翻面”等等)描述的对象(器具、设备、工具)和食材操纵任务。学习处理是迭代式的,并且基于来自厨师工作室的厨师教导运动分布的多次尝试,其然后被离线学习算法模块执行和迭代地修改,直到表明获得了令人满意的执行序列为止。意在用所有必要的元素来充实(先验地和离线地)微操纵库(命令软件仓库),从而允许机器人厨房系统能够成功地与所有设备(器具、工具等)和烹饪处理中需处理(超出了仅做分配范畴的步骤)的主要食材进行交互。在人类厨师佩戴的手套具有嵌入的针对手指和手掌的触觉传感器(接近度、触摸、接触位置/力)时,为机器人手在各个位置上配备类似类型的传感器,从而允许采用这些传感器的数据建立、修改和调适运动分布,由此成功地执行预期运动分布和处理命令。
下文将进一步详述机器人厨房烹饪处理(用于厨房环境中的对象的交互式操纵和处理的机器人菜谱脚本执行软件模块)的对象操纵部分252。菜谱脚本执行器模块256采用机器人菜谱脚本数据库254(其含有原始形式、抽象烹饪序列形式和机器可执行脚本形式的数据)逐步完成具体的菜谱执行步骤。配置重现模块258选择配置命令,并将其传送至机器人臂系统(躯干、臂、腕和手)控制器270,然后所述控制器270控制物理系统模拟所需的配置(关节位置/速度/转矩等)值。
借助于(i)3D世界建模以及(ii)微操纵通过实时处理检验,使得能够忠实地执行正确的环境交互操纵和处理任务的想法成为了可能。通过添加机器人腕和手配置修改器260执行检验和操纵步骤。该软件模块采用来自3D 世界配置模拟器262(其在每一采样步骤由多模态传感器单元提供的感测数据建立新的3D世界模型)的数据查实机器人厨房系统和处理的配置与菜谱脚本(数据库)的要求相匹配;不然的话,其将对所命令的系统配置值制定修改以确保成功地完成任务。此外,机器人腕和手配置修改器260还采用来自微操纵运动分布执行器264的配置修改输入命令。馈送至配置修改器260 的手/腕(以及可能的臂)配置修改数据是以微操纵运动分布执行器264知道来自258的预期配置重现应是什么为基础,但是之后修改它是基于其3D对象模型库266和来自配置和排序库268(其基于用于所有主要对象操纵和处理步骤的多个迭代式学习步骤而建立)的先验习得(并且存储的)数据。
尽管配置修改器260持续不断地向机器人臂系统控制器270馈送经修改的命令配置数据,但是其依赖于处理/操纵检验软件模块272验证不仅所述操作是否正被正确地进行,而且验证是否需要后续操纵/处理。就后一种情况(判定的答案为“否”)而言,配置修改器260向世界模拟器262和微操纵分布执行器264两者重新请求配置修改(针对腕、手/手指以及可能的臂乃至躯干) 更新。目标仅是验证已经成功地完成了操纵/处理步骤或序列。处理/操纵检验软件模块272通过采用对菜谱脚本数据库F2和3D世界配置模拟器262 的了解检验菜谱脚本执行器256当前命令的烹饪步骤的适当进展而执行这一检查。一旦认为进展成功,那么菜谱脚本索引递增处理274就通知菜谱脚本执行器256进行至菜谱脚本执行中的下一步骤。
图6是示出根据本申请的多模态感测及软件引擎架构300的框图。实现对机器人烹饪脚本的规划、执行和监视的自主烹饪主要特征之一要求采用多模态感测输入302,其被多个软件模块用于生成下述操作所需的数据:(i) 理解所述世界,(ii)对场景和材料建模,(并入)规划机器人烹饪序列中的接下来的步骤,(iv)执行所生成的规划,以及(v)对所述执行进行监视,从而检验正确的操作,所有这些步骤都是按照连续/重复的闭环样式进行的。
多模态传感器单元302,包括但不限于视频摄影机304、IR摄像头和测距仪306、立体(乃至三目)摄像头308和多维扫描激光器310,向主软件抽象化引擎312提供多谱感测数据(在数据采集和过滤模块314中进行采集和过滤之后)。在场景理解模块316中采用所述数据执行多个步骤,例如(但不限于),采用叠加的可视及IR谱颜色和纹理视频信息构建场景的高分辨率和较低分辨率(激光器:高分辨率;立体摄像头:较低分辨率)三维表面体积,允许边缘检测和体积对象检测算法来推断场景中有什么元素,允许采用形状/颜色/纹理/一致性映射算法来运行经处理的数据,从而将经处理的信息馈送给厨房烹饪处理设备操纵模块318。在模块318中,采用基于软件的引擎识别厨房工具和用具并三维地定位其位置和取向,以及识别出可识别食物元素(肉、胡萝卜、调味汁、液体等)并为其加上标签,从而生成让计算机构建和理解特定时间点上的完整场景的数据以用于接下来的步骤规划和处理监视。获得这种数据和信息抽象化的引擎包括但不限于抓取推理引擎、机器人运动学和几何推理引擎、物理推理引擎和任务推理引擎。之后,来自引擎316和318两者的输出数据用于馈送给场景模拟器和内容分类器320,其中用运行机器人烹饪脚本执行器所需的所有关键内容建立3D世界模型。一旦理解了所述世界的完整充实模型,就可以将其馈送至运动和操纵规划器 322(如果机器人臂抓取和操纵是必需的,那么可以采用相同的数据区分和规划食物和厨房物品的抓取和操纵,具体取决于所需的抓取和放置),从而实现对臂和附加的终端执行器(抓取器和多指手)的运动和轨迹的规划。后续执行序列规划器324为所有的个体机器人/自动化厨房元素创建基于任务的命令的适当顺序,之后其将由机器人厨房致动系统326加以使用。在机器人菜谱脚本执行和监视阶段按照连续闭环重复上面的整个序列。
图7A描绘了标准化厨房50,在本实例中,标准化厨房50起着厨师工作室的作用,在该厨房中,人类厨师49在受到多模态传感器系统66监视的同时进行菜谱创造和执行,从而允许创建菜谱脚本。在标准化厨房内包含很多执行菜谱所需的元素,包括主烹饪模块350,其包括诸如用具360、灶口 362、厨房水槽358、洗碗机356、桌面搅拌器和混合器(又称为“厨房混合器”)352、烤箱354和冰箱/冷冻器组合单元364之类的设备。
图7B描绘了标准化厨房50,在这一实例中,其被配置为具有双臂机器人系统的标准化机器人厨房,执行菜谱脚本中定义的菜谱复现处理,双臂机器人系统具有竖直可伸缩旋转躯干接头366,其配备有两个臂70以及两只带腕和手指的手72。多模态传感器系统66持续监视菜谱复现处理的多个阶段中的机器人执行烹饪步骤。
图7C描绘了整个菜谱执行处理中通过监视人类厨师49而进行的菜谱脚本创建相关的系统。在厨师工作室模式中使用相同标准化厨房50,其中厨师能够从工作模块的两侧对厨房进行操作。多模态传感器66监视和收集数据,以及通过厨师佩戴的触觉手套370及仪器化炊具372和设备将收集到的所有原始数据无线中继至处理计算机16,以供处理和存储。
图7D描绘了用于通过利用双臂系统复现菜谱脚本19的标准化厨房50 所涉及的系统,双臂系统具有可伸缩旋转躯干374,包括两个臂72、两个机器人手腕71和两只带有多个手指的手72(嵌入有感测皮肤和点传感器)。在执行菜谱复现处理中的特定步骤时,机器人双臂系统采用仪器化臂和手连同灶口12上的烹饪用具以及仪器化用具和炊具(图像中的平底锅),与此同时通过多模态传感器单元66对此进行连续监视,以确保复现处理的执行尽可能忠实于人类厨师创建的处理。将所有来自多模态传感器66、由躯干74、臂72、腕71和多指手72构成的双臂机器人系统、用具、炊具和器具的数据无线传输至计算机16,在计算机16中通过板上处理单元16对其进行处理,从而对菜谱的复现处理进行比较和跟踪,从而尽可能忠实地遵循先前创建的菜谱脚本19中定义的并且存储在介质18内的标准和步骤。
可以被修改以用于机器人厨房48的一些合适的机器人手包括:由位于英国伦敦的Shadow Robot公司设计的Shadow Dexterous手和精简手套件;由位于德国Lauffen/Neckar的SCHUNK GmbH&Co.KG设计的电伺服5 指抓取手SVH;以及由位于德国科隆的DLR Roboticsand Mechatronics公司设计的DLR HIT HAND II。
若干机器人臂72适于修改以与机器人厨房48一起操作,其包括:位于丹麦OdenseS的Universal Robots A/S的UR3机器人和UR5机器人;由位于德国巴伐利亚州奥格斯堡的KUKA Robotics设计的具有各种有效载荷的工业机器人;由位于日本北九州的YaskawaMotoman设计的工业机器人臂型号。
图7E是描绘逐步流程和方法376的框图,所述流程和方法确保在通过标准化机器人厨房50执行菜谱脚本时在基于菜谱脚本的菜谱复现处理中存在控制和检验点,其将确保对于特定菜肴而言标准化机器人厨房50的执行所获得的烹饪结果将尽可能接近于人类厨师49制备的该种菜肴。采用菜谱脚本所述并且按照烹饪处理380中的顺序步骤执行的菜谱378,机器人厨房 50对菜谱的执行的保真度将在很大程度上取决于对下面的主要控制项的考虑。关键控制项包括选择和使用标准化部分的量和形状的高质量预处理食材 382的处理;标准化工具和用具以及带有标准化把手的炊具的使用,以确保以已知取向384正确并且安全地抓取;标准化厨房中的标准化设备386(烤箱、混合器、冰箱等),其在比较人类厨师49制备菜肴的厨师工作室厨房和标准化机器人厨房50时尽可能是等同的;菜谱中将使用的食材的位置和放置388;以及最后机器人厨房模块50中的一对机器人臂、腕和多指手,传感器持续监视其受计算机控制的动作390以确保特定菜肴的菜谱脚本的复现处理中的每一阶段的每一步骤的成功执行。最后,确保等同结果392的任务是标准化机器人厨房50的最终目标。
图7F是示出用于在厨师工作室、机器人厨房和其他源之间提供便利的基于云的菜谱软件的框图。在操作标准化机器人厨房50的厨师厨房44和操作标准化机器人厨房50的机器人厨房48之间在云计算396上通信、修改和存储各种类型的数据。云计算394提供存储软件文件的中央位置,包括机器人食物制备56的操作,其可以方便地通过厨师厨房44和机器人厨房48之间的网络检索和上传软件文件。厨师厨房44通过有线或无线网络396经由因特网、无线协议、以及诸如蓝牙之类的短距离通信协议通信耦接到云计算 395。机器人厨房48通过有线或无线网络397经由因特网、无线协议和诸如蓝牙之类的短距离通信协议通信耦接到云计算395。云计算395包括:用于存储具有动作、菜谱和微操纵的任务库398a的计算机存储位置;具有登录信息、ID和订阅信息的用户分布/数据398b;具有文本、语音媒体等的菜谱元数据398c;具有标准图像、非标准图像、尺寸、重量和取向的对象识别模块398d;用于对象位置、地点和操作环境的导航的环境/仪表地图398e;以及用于存储机器人命令指令、高层级软件文件和低层级软件文件的控制软件文件398f。在另一实施例中,物联网(IoT)设备可被并入以与厨师厨房44、云计算396和机器人厨房48一起操作。
图8A是示出厨师活动和机器人复现活动之间的菜谱转化算法模块400 的一实施例的框图。菜谱算法转换模块404将从厨师工作室44中的厨师活动捕获的数据转换为机器可读和机器可执行语言406,用于命令机器人臂70 和机器人手72在机器人厨房48中复现厨师活动制备的食物菜肴。在厨师工作室44中,计算机16基于厨师佩戴的手套26上的传感器捕获和记录厨师的活动,在表格408中通过垂直列中的多个传感器S0、S1、S2、S3、S4、S5、S6......Sn以及水平行中的时间增量t0、t1、t2、t3、t4、t5、t6......tend对此予以表示。在时间t0,计算机16记录来自从多个传感器S0、S1、S2、S3、S4、S5、 S6......Sn接收的传感器数据的xyz坐标位置。在时间t1,计算机16记录来自从多个传感器S0、S1、S2、S3、S4、S5、S6......Sn接收的传感器数据的xyz 坐标位置。在时间t2,计算机16记录来自从多个传感器S0、S1、S2、S3、S4、 S5、S6......Sn接收的传感器数据的xyz坐标位置。持续这一处理直到在时间 tend完成了整个食物制备处理为止,每一时间单元t0、t1、t2、t3、t4、t5、t6......tend的持续时间相同。作为捕获和记录传感器数据的结果,表格408按照xyz坐标示出来自手套26中的传感器S0、S1、S2、S3、S4、S5、S6......Sn的任何活动,其将指示某一具体时间的xyz坐标位置与下一具体时间的xyz坐标位置之间的差别。表格408有效地记录了从起始时间t0到结束时间tend在整个食物制备处理中厨师的活动是如何变化的。可以将这一实施例中的举例说明扩展至两只由厨师49佩戴以在制备食物菜肴的同时捕获其活动的带有传感器的手套26。在机器人厨房48中,机器人臂70和机器人手72复现从厨师工作室44记录继而转换为机器人指令的菜谱,其中机器人臂70和机器人手72 根据时间线416复现厨师49的食物制备。机器人臂70和手72以相同的xyz 坐标位置、相同的速度以及如时间线416所示从起始时间t0到结束时间tend的相同时间增量执行食物制备。
在一些实施例中,厨师多次执行相同的食物制备操作,产生从一次到下一次变化的传感器读数以及对应的机器人指令中的参数。每一传感器的跨越同一食物菜肴制备的多次重复的一组传感器读数将提供具有平均值、标准偏差值以及最小和最大值的分布。跨越厨师对同一食物菜肴的多次执行的机器人指令(又称为执行器参数)的对应变化也定义具有平均值、标准偏差值以及最小和最大值的分布。可以采用这些分布确定随后的机器人食品制备的保真度(或精确度)。
在一实施例中,由下式给出机器人食物制备操作的估算平均精确度:
其中,C表示一组厨师参数(第1到第n),R表示一组机器人设备参数 (对应地第1到第n)。求和式中的分子表示机器人参数和厨师参数之间的差 (即,误差),分母针对最大差进行归一化。求和式给出了总的归一化累积误差,即,
乘以1/n给出了平均误差。平均误差的补数对应于平均精确度。
并且通过下式给出估算平均精确度:
图8B是示出厨师49佩戴的具有用于捕获和传输厨师活动的传感器的一副手套26a和26b的框图。在这一意在非限制性地呈现一个示例的说明性示例中,右手手套26a包括25个传感器以捕获手套26a上的各个传感器数据点D1、D2、D3、D4、D5、D6、D7、D8、D9、D10、D11、D12、D13、 D14、D15、D16、D17、D18、D19、D20、D21、D22、D23、D24、D25,手套26a可以具有任选的电子和机械线路420。左手手套26b包括25个传感器以捕获手套26b上的各个传感器数据点D26、D27、D28、D29、D30、D31、 D32、D33、D34、D35、D36、D37、D38、D39、D40、D41、D42、D43、D44、D45、D46、D47、D48、D49、D50,手套26b可以具有任选的电子和机械线路422。
图8C是示出基于来自厨师感测捕获手套26a和26b的捕获感测数据的机器人烹饪执行步骤的框图。在厨师工作室44中,厨师49佩戴具有用于捕获食物制备处理的传感器的手套26a和26b,其中将传感器数据记录到表格 430中。在本示例中,厨师49用刀切胡萝卜,其中胡萝卜的每一片大约1 厘米厚。厨师49的这些由手套26a、26b记录下来的动作基元可以构成在时隙1、2、3和4发生的微操纵432。菜谱算法转换模块404配置为根据软件表格434将来自厨师工作室44的记录菜谱文件转换成用于操作机器人厨房 28中的机器人臂70和机器人手72的机器人指令。机器人臂70和机器人手 72借助于实现采用刀切割胡萝卜(其中,胡萝卜的每一片约为1厘米厚)的微操纵的控制信号436制备食物菜肴,所述微操纵是在微操纵库116中预先定义的。机器人臂70和机器人手72借助于相同的xyz坐标438以及来自实时调整装置112的通过建立特定胡萝卜的临时三维模型440而对该胡萝卜的尺寸和形状做出的可能的实时调整进行自主操作。
为了自主操作机械机器人机构,例如本申请一实施例中描述的那些,熟练技工发现必须解决很多机械和控制问题,有关机器人的文献恰恰描述了这样做的方法。在机器人系统中建立静态和/或动态稳定性是一个重要考虑事项。尤其是对于机器人操纵而言,动态稳定性是强烈期望的特性,其目的在于避免超出预期或编程之外发生的意外的破坏或活动。在图8D中示出相对于平衡的动态稳定性。这里的“平衡值”是臂的预期状态(即,臂刚好移动到其被编程为要移动到的位置),其具有由很多因素导致的偏差,例如,惯性、向心或离心力、谐波振荡等。动态稳定系统是其中变化小且随时间衰减的系统,如曲线450所示。动态不稳定系统是其中变化不能衰减,并且可能随时间而提高的系统,如曲线452所示。另外,最坏的情况是在臂静态不稳定(例如,不能保持住其抓住的东西的重量)并且下落时,或者无法从与编程位置和/ 或路径的任何偏差中恢复的时候,如曲线454所示。要想获取有关规划(形成微操纵的序列或在出错的时候恢复)的额外信息,参考Garagnani,M.(1999)“Improving the Efficiency of Processed Domain-axioms planning”,Proceedings ofPLANSIG-99,Manchester,England,pp.190-192,该文献通过整体引用而合并于此。
所引用的文献解决了动态稳定性的条件,通过引用而将该文献导入到本申请中,从而实现机器人臂的适当功用。这些条件包括计算机器人臂的关节的转矩的基本原理:
其中,T是转矩向量(T具有n个分量,每一分量对应于机器人臂的一自由度),M是系统的惯性矩阵(M是正半定n×n矩阵),C是向心力和离心力的组合,其也是n×n矩阵,G(q)是重力向量,q是位置向量。此外,它们包括在能够通过两次微分函数(y′s)描述机器人位置(x′s)的情况下通过例如拉格朗日方程找到稳定点和最小值。
J[f]≤J[f+εη]
为了使由机器人臂和手/抓取器构成的系统稳定,所述系统需要被正确地设计、构建,并且具有在可接受的性能边界内工作的适当感测和控制系统。对于给定物理系统和其控制器要求其做的事项,希望获得尽可能最佳的性能 (最高速度,具有最高位置/速度和力/转矩跟踪,全部都在稳定条件下)。
在谈及适当设计时,该概念是实现系统的适当可观测性和可控性。可观测性暗示系统的关键变量(关节/手指位置和速度、力及转矩)是可由系统测量的,这暗示需要具有感测这些变量的能力,继而暗示适当感测装置(内部或外部)的存在和使用。可控性暗示(这一实例中的计算机)具有基于来自内部/外部传感器的观测参数对系统的关键轴进行整形和控制的能力;这通常暗示致动器或者通过电机或其他计算机控制致动系统对某一参数进行直接/ 间接控制。使系统响应尽可能线性由此消除非线性的不利影响(静摩擦、后冲、滞后等)的能力允许实现诸如PID增益调度的控制方案和诸如滑动模式控制的非线性控制器,从而在考虑系统建模不可靠性(质量/惯性估值的误差、空间几何形状离散化、传感器/转矩离散化不规则等)的情况下也能确保系统稳定性和性能,而所述不可靠性在任何更高性能的控制系统中也总是存在的。
此外,使用适当的计算和采样系统也是重要的,因为系统跟上具有某一最高频率成分的快速运动的能力显然与整个系统能够实现进而系统的频率响应(跟踪具有某速度和运动频率成分的运动的能力)能够表现出的控制带宽(计算机控制系统的闭环采样速率)有关。
当涉及确保高度冗余系统实际上能够以动态和稳定形式执行厨师对成功的菜谱脚本执行所要求的复杂、灵巧的任务时,上文所述的所有特征都是重要的。
与本申请相关的机器人操纵上下文中的机器学习可能涉及用于参数调整的公知方法,例如,强化学习。本申请的替代优选实施例是一种不同的并且更加适当的学习技术,其针对的是重复的复杂动作,例如,随时间推移采用多个步骤制备和烹饪膳食,也就是说这种技术是基于实例的学习。随着时间的推移已经开发出了又名为模拟推理的基于实例的推理。
作为总的概述,基于实例的推理包括下述步骤:
A.构建和记忆实例。实例是指通过成功地执行而实现目标的一系列具有参数的动作。参数包括距离、力、方向、位置以及其他物理或电子测度,它们的值是成功地执行任务(例如,烹饪操作)所需的值。首先,
1.存储刚解决的问题的各个方面,连同:
2.解决所述问题的方法和任选的中间步骤及其参数值,以及
3.(典型地)存储最终的结果。
B.应用实例(在之后的时间点)
4.检索一个或多个存储实例,所述实例的问题与新的问题具有强烈的相似性,
5.任选地调整检索到的实例的参数以应用到当前实例(例如,某物品可稍微更重一些,因而需要稍微更强一些的力来提升它),
6.采用与实例相同的、具有至少部分地调整了的参数(如果需要的话) 的方法和步骤来解决新问题。
因而,基于实例的推理包括记忆对过去问题的解决方案以及借助于可能的参数修改将它们应用于新的非常类似问题。但是,为了将基于实例的推理应用于机器人操纵这一难题,还需要更多的东西。解决方案计划的一个参数的变化将引起一个或多个耦接参数的变化。这需要对问题解决方案加以变换,而不仅仅是应用。我们将新的处理称为基于实例的机器人学习,因为其将所述解决方案推广到一族接近的解决方案当中(与输入参数的小变化对应的那些,输入参数例如为输入食材的确切重量、形状和位置)。基于实例的机器人学习的操作如下:
C.构建、记忆和变换机器人操纵实例
1.存储刚解决的问题的各个方面,连同:
2.参数的值(例如,来自公式1的惯性矩阵、力等),
3.通过改变与域相关的参数(例如,在烹饪时,改变材料的重量或者它们的确切开始位置)来进行扰动分析,以查看参数值能够改变多大而仍能获得预期结果,
4.通过对模型的扰动分析,记录哪些其他参数值将发生变化(例如,力) 以及将发生多大的变化,以及
5.如果变化处于机器人设备的操作规范以内,则存储经变换的解决方案计划(以及参数间的相关性和针对它们的值的投射变化(projected change) 计算)。
D.应用实例(在之后的时间点)
6.检索具有变换的确切值的一个或多个存储实例(现在新的值的范围或计算取决于输入参数的值),虽然具有经变换的确切值,但是其初始问题仍非常类似于所述新问题,包括参数值和值范围,以及
7.采用来自所述实例的经变换的方法和步骤至少部分解决所述新问题。
随着厨师对机器人(两条臂和感测装置,例如,来自手指的触觉反馈、来自关节的力反馈、以及一个或多个观测摄像头)进行教导,机器人不仅学习到特定动作序列和时间关联,而且还学习到围绕厨师动作的一族小变化,此时尽管可观测输入参数中存在微小变化,但是厨师动作仍能够制备出相同的菜肴,由此机器人学习到一般化的变换方案,从而使其比机械记忆具有更高的实用性。要想获得有关基于实例的推理和学习的额外信息,请参考Leake, 1996 Book,Case-Based Reasoning:Experiences,Lessons and FutureDirections,http: //journals.cambridge.org/action/displayAbstract?fromPage=online&aid=4068324 &fileld=S0269888900006585dl.acm.org/citation.cfm?id=524680;Carbonell, 1983,Learning by Analogy:Formulating and Generalizing Plansfrom Past Experience,http://link.springer.com/chapter/10.1007/978-3-662-12405-5_5,这些参考文献通过整体引用而合并于此。
如图8E所示,烹饪处理需要一系列步骤,其被称为食物制备的多个阶段S1、S2、S3...Sj...Sn,如时间线456所示。这些步骤可能需要严格的线性/ 有序的顺序,或者一些步骤可以并行执行;不管怎样都具有阶段的集合{S1、 S2、...、Si、...、Sn},必须成功地完成所有这些步骤才能获得整体的成功。如果每一阶段的成功概率为P(si),并且存在n个阶段,那么通过每一阶段的成功概率的积估算总体成功概率:
本领域技术人员将认识到,即使各个阶段的成功概率相对较高,但是总体成功概率也可能很低。例如,假定有10个阶段,每一阶段的成功概率为 90%,那么总体成功概率为(0.9)10=0.28或28%。
制备食物菜肴的阶段包括一个或多个微操纵,其中每一微操纵包括得到明确定义的中间结果的一个或多个机器人动作。例如,切蔬菜可以是一手抓住蔬菜,另一只手抓住刀,并且应用重复的刀移动,直到切完为止构成的微操纵。制备菜肴的阶段可包括一个或多个切菜微操纵。
成功概率公式在阶段层级上和微操纵层级上同样地适用,只要每一微操纵相对于其他微操纵独立即可。
在一实施例中,为了缓解由于潜在的复合误差导致的成功确定性降低的问题,推荐对所有阶段中的大部分或所有微操纵都采用标准化方法。标准化操作是这样的操作,其可被预先编程、预先测试以及必要时预先调整以选择出具有最高成功概率的操作序列。因而,如果通过各个阶段内的微操纵实施的标准化方法的概率非常高,那么由于先前的工作,直到所有的步骤都变得完美并且受到测试,所以制备食物菜肴的总体成功概率也将非常高。例如,重新来看上面的示例,如果每一阶段采用可靠的标准化方法,那么其成功概率为99%(而不是先前示例中的90%),那么总体成功概率为(0.99)10=90.4%,如前一样假设有10个阶段。这明显优于28%的获得总体正确结果的概率。
在另一实施例中,针对每一阶段提供不止一种替代方法,其中如果一种替代方法失败,那么尝试另一种替代方法。这需要动态监视来确定每一阶段的成功或失败,并且还需要制定备选方案的能力。该阶段的成功概率是所有备选方案的失败概率的补数,从数学上表示如下:
在上面的表达式中,si是阶段,A(si)是完成si的一组备选方案。给定备选方案的失效概率是该备选方案的成功概率的补数,即,1-P(si|aj),所有备选方案失败的概率是上述公式中的乘积项。因而,不会全部失败的概率是所述乘积的补数。采用有备选方案的方法,能够将总体成功概率估算为具有备选方案的每一阶段的乘积,即:
对于这种具有备选方案的方法,如果10个阶段中的每个具有4个备选方案,并且每一阶段的每一备选方案的预期成功概率为90%,那么总体成功概率为(1-(1-(0.9))4)10=0.99或99%,与之对照的是没有备选方案时仅为28%的总体成功概率。具有备选方案的方法将初始问题从一条具有多个故障点 (如果任何阶段失败)的阶段链条变换成了没有单一故障点的链条,因为必须所有的备选方案都失败才能导致任何给定阶段的失败,从而提供了更加鲁棒的结果。
在另一实施例中,将包含标准化微操纵的标准化阶段与食物菜肴制备阶段的备选措施两者相结合,从而得到甚至更鲁棒性的性能。在这样的情况下,对应的成功概率可以非常高,即使只有一些阶段或微操纵具有备选方案。
在另一实施例中,只为具有较低成功概率的阶段提供备选方案,以防失败,例如,没有非常可靠的标准化方法的阶段或者具有潜在变化的阶段,例如,依赖于奇怪形状材料的阶段。该实施例降低了向所有阶段提供备选方案的负担。
图8F是示出作为烹饪食物菜肴所需的阶段数(x轴)的函数的总成功概率(y轴)的曲线图,其中第一曲线示出非标准化厨房458,第二曲线459 示出标准化厨房50。在该示例中,假设对于非标准化操作而言每一食物制备阶段的个体成功概率为90%,对于标准化预编程阶段而言为99%。那么就前一种情况而言复合误差要严重得多,如曲线458所示,可以比对曲线459。
图8G是示出采用多阶段机器人食物制备的菜谱460的执行的框图,所述多阶段食物制备采用微操纵和动作基元。可以将每一食品菜谱460划分成多个食物制备阶段:第一食物制备阶段S1 470、第二食物制备阶段S2...第n 食物制备阶段Sn 490,它们是由机器人臂70和机器人手72执行的。第一食物制备阶段S1 470包括一个或多个微操纵MM1 471、MM2 472和MM3 473。每一微操纵包括一个或多个获得功能结果的动作基元。例如,第一微操纵 MM1471包括第一动作基元AP1 474、第二动作基元AP2 475和第三动作基元AP3 475,其将获得功能结果477。于是,第一阶段S1 470中的一个或多个微操纵MM1 471、MM2 472、MM3 473将获得阶段结果479。一个或多个食物制备阶段S1 470、第二食物制备阶段S2和第n阶段食物制备阶段Sn 490 的组合将通过重复在厨师工作室44中记录的厨师49的食物制备处理而生成基本上相同或相同的结果。
预定义微操纵可用于实现每一功能结果(例如,磕开鸡蛋)。每一微操纵包含若干动作基元的集合,这些动作基元一起作用,从而完成所述功能结果。例如,机器人可以开始于将其手移向鸡蛋,触摸鸡蛋以定位其位置,检查其大小,并执行将鸡蛋抓取并提升到已知的预定配置所需的移动和感测动作。
为了便于理解和组织菜谱,可以将多个微操纵汇集成阶段,例如,调制料汁。执行所有微操纵以完成所有阶段的最终结果是每次以一致的结果复现食物菜肴。
图9A是示出具有五个手指和手腕的机器人手72的示例的框图,机器人手72具有RGB-D传感器、摄像头传感器和声纳传感器能力,用于检测和移动厨房工具、对象或一件厨房设备。机器人手72的手掌包含RGB-D传感器 500、摄像头传感器或声纳传感器504f。或者,机器人手450的手掌既包括摄像头传感器,又包括声纳传感器。RGB-D传感器500或声纳传感器504f 能够检测对象的位置、尺寸和形状,以建立对象的三维模型。例如,RGB-D 传感器500采用结构化的光来捕获对象的形状,进行三维映射和定位、路径规划、导航、对象识别和人物跟踪。声纳传感器504f采用声波来捕获对象的形状。置于机器人厨房某处(例如,置于轨道上或机器人上)的视频摄像头66与摄像头传感器452和/或声纳传感器454相结合提供了捕获、遵循或指引厨房工具如厨师49使用的那样(如图7A所示)移动的途径。将视频摄像头66设定到相对于机器人手72成一角度并且相距一定距离的位置,因此其将在更高的水平上检视机器人手72抓取对象以及机器人手是否已经抓取或松开/释放了对象。RGB-D(红光束、绿光束、蓝光束和深度)传感器的适当示例是微软公司的Kinect系统,其以依靠软件运行的RGB摄像头、深度传感器和多阵列麦克风为特征,这些部件将提供全身3D运动捕获、面部识别和语音识别能力。
机器人手72具有置于手掌中央或附近的RGB-D传感器500,以检测对象的距离和形状以及对象的距离,并且用于操纵厨房工具。RGB-D传感器 500在将机器人手72朝对象方向移动并且做出必要的调整以抓取对象的处理中为机器人手72提供引导。其次,声纳传感器502f和/或触觉压力传感器放置到机器人手72的手掌附近,以检测对象的距离和形状以及后续接触。声纳传感器502f也可引导机器人手72朝向对象移动。手中的额外类型的传感器可包括超声波传感器、激光器、射频识别(RFID)传感器以及其他适当的传感器。此外,触觉压力传感器起着反馈机制的作用,以判断机器人手72 是否继续施加额外的力,从而在具有足够的压力以安全地拿起对象的点上抓取对象。此外,机器人手72的手掌中的声纳传感器502f提供触觉感测功能,以抓取和操纵厨房工具。例如,在机器人手72抓取刀切牛肉时,能够在刀结束切牛肉时,即在刀没有阻力时,或者在保持住一对象时,通过触觉传感器检测机器人手对刀施加的并由此对牛肉施加的压力的值。所分配的压力不仅是为了固定对象,而且还要不对其(例如,鸡蛋)造成破坏。
此外,机器人手72上的每一手指具有处于相应的指尖上的触觉振动传感器502a-e和声纳传感器504a-e,如处于拇指指尖上的第一触觉振动传感器 502a和第一声纳传感器504a、处于食指指尖上的第二触觉振动传感器502b 和第二声纳传感器504b、处于中指指尖上的第三触觉振动传感器502c和第三声纳传感器504c、处于无名指指尖上的第四触觉振动传感器502d和第四声纳传感器504d以及处于小指指尖上的第五触觉振动传感器502e和第五声纳传感器504e所示。触觉振动传感器502a、502b、502c、502d和502e的每者能够通过使振动的形状、频率、幅度、持续时间和方向发生变化而模拟出不同的表面和效果。声纳传感器504a、504b、504c、504d和504e的每者提供对对象的距离和形状的感测能力、对温度或湿度的感测能力、以及反馈能力。额外的声纳传感器504g和504h可放置在机器人手72的手腕上。
图9B是示出具有耦接至一对用于标准化机器人厨房中的操作的机器人臂和手的传感器摄像头512的云台头510的一实施例的框图。云台头510具有用于监视、捕获或处理标准化机器人厨房50内的信息和三维图像的 RGB-D传感器512。云台头510提供独立于臂和传感器运动的良好位置知觉性。云台头510耦接至一对机器人臂70和手72,以执行食物制备处理,但是这一对机器人臂70和手72可能引起阻挡。在一实施例中,机器人设备包括一个或多个机器人臂70以及一个或多个机器人手(或机器爪)72。
图9C是示出用于标准化机器人厨房50内的操作的机器人手腕73上的传感器摄像头514的框图。传感器摄像头514的一实施例是安装到相应手72 的腕部73上的提供彩色图像和深度感知的RGB-D传感器。相应腕部73上的摄像头传感器514的每个受到臂的有限阻挡,但是在机器人手72抓取对象时一般不受阻挡。但是,RGB-D传感器514可能受到相应机器人手72的阻挡。
图9D是示出用于标准化机器人厨房50中的操作的机器人手72上的手内眼518的框图。每只手72具有传感器,例如,RGB-D传感器,从而通过标准化机器人厨房50中的机器人手72提供手内眼功能。每只手内的具有 RGB-D传感器的手内眼518提供具有相应的机器人臂70和相应的机器人手 72的有限阻挡的高度图像细节。但是,具有手内眼518的机器人手72在抓取对象时可能会受阻挡。
图9E-9G是示出机器人手72中的可形变手掌520的各个方面的图画示图。带有五个手指的手的手指带有标签,将拇指标为第一手指F1 522,将食指标为第二手指F2 524,将中指标为第三手指F3 526,将无名指标为第四手指F4 528,将小指标为第五手指F5 530。鱼际隆起532是处于手的桡侧(第一手指F1 522一侧)的可形变材料的凸起体积。小鱼际隆起534是处于手的尺骨侧(第五手指F5 530一侧)的可形变材料的凸起体积。掌指骨垫(MCP 垫)536是处于第二、第三、第四和第五手指F2524、F3 526、F4 528、F5 530 的掌指骨(指节)关节的腹侧(掌侧)的凸起可形变体积。具有可形变手掌 520的机器人手72外面带着手套,其具有柔软的类似于人的皮肤。
鱼际隆起532和小鱼际隆起534一起支持从机器人臂向工作空间内的对象施加大力,使得这些力的施加对机器人手的关节造成的压力降至最低(例如,擀面棍的图片)。手掌520内的额外关节本身可用于使手掌发生形变。手掌520将通过某种方式发生形变,从而形成用于按照与厨师类似的方式进行工具抓取的倾斜的掌内沟槽(典型的把手抓取)。手掌520应当按照某种方式发生形变,从而呈杯状,以按照与厨师类似的方式舒适地抓取凸状物体,例如,盘子和食物材料,如图9G中的呈杯状手势542所示。
手掌520内的可以支持这些动作的关节包括位于接近手腕的手掌桡侧的拇指腕掌关节(CMC),其可以具有两个截然不同的运动方向(挠曲/伸展以及外展/内收)。支持这些动作所需的额外关节可以包括处于接近手腕的手掌的尺骨侧的关节(第四手指F4 528和第五手指F5 530CMC关节),其允许以一定倾角弯曲,以支持小鱼际隆起534处的成杯状动作以及掌内沟槽的形成。
机器人手掌520可以包括复现人的烹饪活动当中的手掌形状所需的额外 /不同关节,例如,一系列耦接的挠曲关节,用以支持在鱼际和小鱼际隆起 532和534之间形成拱形540,从而使手掌520发生形变,例如,在拇指F1 522接触小指F5 530时,如图9F所示。
在使手掌呈杯状时,鱼际隆起532、小鱼际隆起534和MCP垫536形成围绕掌谷的隆脊,这使手掌能够绕小的球形对象(例如,2cm)围拢。
将采用特征点相对于固定参照系(reference frame)的位置描述可形变手掌的形状,如图9H和9I所示。每一特征点表示为随时间的x、y、z坐标位置的向量。在厨师佩戴的感测手套上以及机器人佩戴的感测手套上标出特征点位置。还在所述手套上标出参照系,如图9H和9I所示。在手套上相对于参照系的位置定义特征点。
在厨师执行烹饪任务时,通过安装在工作空间内的经校准的摄像头测量特征点。时域内的特征点轨迹用于将厨师活动与机器人活动相匹配,包括使可形变手掌的形状相匹配。还可以采用来自厨师活动的特征点轨迹为机器人可形变手掌设计提供信息,包括可形变手掌表面的形状以及机器人手的关节的安置和运动范围。
在图9H所示的实施例中,特征点处于小鱼际隆起534、鱼际隆起532 和MCP垫536内,它们是带标记的棋盘形图案,标记示出手掌的每一区域内的特征点。腕部区域的参考系具有四个矩形,其可被识别为参照系。相对于参照系识别相应区域内的特征点(或标记)。出于食品安全的考虑,可以在手套下面实施这一实施例中的特征点和参照系,但是其可以通过手套透过来,以便被检测到。
图9H示出具有可以用于确定三维形状特征点550的位置的可视图案的机器人手。随着手掌关节移动且随着手掌表面响应于外加力而发生形变,这些形状特征点的位置将提供有关手掌表面形状的信息。
所述可视图案包括位于机器人手上或厨师佩戴的手套上的表面标记552。可以通过食品安全透明手套554覆盖这些表面标记,但是表面标记552仍然能够透过手套看到。
当表面标记552在摄像头图像中可见时,可以通过对可视图案中的凸角或凹角进行定位而识别出摄像头图像内的二维特征点。单幅摄像头图像中的每一这样的拐角都是二维特征点。
当在多幅摄像头图像中识别出同一特征点时,能够在相对于标准化机器人厨房50固定的坐标系内确定这一点的三维位置。该计算是基于每一图像中该点的二维位置和已知摄像头参数(位置、取向、视场等)执行的。
可以采用参照系可视图案获得固定至机器人手72的参照系556。在一实施例中,固定至机器人手72的参照系556包括原点和三个正交坐标轴。其通过在多个摄像头中对参照系的可视图案的特征进行定位,并且采用参照系可视图案的已知参数以及各摄像头的已知参数来提取原点和坐标轴而被识别。
一旦观测到了机器人手的参照系,就可以将在食物制备站的坐标系中表达的三维形状特征点转化为机器人手的参照系。
可形变手掌的形状包括三维形状特征点的向量,所有这些特征点都在固定至机器人或厨师的手的参照坐标系内表达。
如图9I所示,实施例中的特征点560由不同区域(手掌的小鱼际隆起 534、鱼际隆起532和MCP垫536)中的传感器(例如,霍耳效应传感器) 表示。特征点可在其相应位置相对于参照系被识别出来,参照系在本实施方式中为磁体。磁体生成可被传感器读取的磁场。本实施例中的传感器嵌入在手套下面。
图9I示出具有嵌入的传感器以及一个或多个磁体562的机器人手72,其可用作替代机制来确定三维形状特征点的位置。一个形状特征点与每个嵌入的传感器相关联。随着手掌关节的移动以及随着手掌表面响应于外加力发生形变,这些形状特征点560的位置将提供有关手掌表面形状的信息。
在传感器信号的基础上确定形状特征点的位置。传感器提供输出,所述输出允许计算附至磁体的参照系中的距离,所述磁体进一步附至机器人或厨师的手。
基于传感器测量结果以及从传感器校准获得的已知参数计算每一形状特征点的三维位置。可形变手掌的形状包括三维形状特征点的向量,所有这些特征点都在固定至机器人或厨师的手的参照坐标系内表达。要想获得有关人手上的常用接触区域以及抓取功能的额外信息,参考Kamakura,Noriko, Michiko Matsuo,Harumi Ishii,FumikoMitsuboshi,and Yoriko Miura,″Patterns of static pretension in normal hands.″American Journal of Occupational Therapy 34,no.7(1980):437-445,该文献通过整体引用而合并于此。
图10A是示出厨师49在标准化机器人厨房环境50内佩戴的用于在具体菜谱的食物制备处理中记录和捕获厨师活动的厨师记录装置550的示例的框图。厨师记录装置550包括但不限于一个或多个机器人手套(或机器人衣服) 26、多模态传感器单元20和一副机器人眼镜552。在厨师工作室系统44中,厨师49佩戴机器人手套26进行烹饪,从而记录和捕获厨师的烹饪活动。或者,厨师49可以佩戴具有机器人手套的机器人服装,而不是只戴机器人手套26。在一实施例中,具有嵌入的传感器的机器人手套26捕获、记录和保存厨师的臂、手和手指运动在xyz坐标系中的带有时间戳的位置、压力和其他参数。机器人手套26保存从制备特定食物菜肴的起始时间到结束时间的持续时间内三维坐标系中厨师18的臂和手指的位置和压力。在厨师49戴着机器人手套26时,按周期性时间间隔(例如,每隔t秒)精确地记录厨师工作室系统44中制备食物菜肴时的所有活动、手的位置、抓取运动以及所施加的压力的量。多模态传感器单元20包括视频摄像头、IR摄像头和测距仪 306、立体(或者甚至三目)摄像头308和多维扫描激光器310,并且向主软件抽象化引擎312提供多谱感测数据(在数据获取和过滤模块314中获取和过滤之后)。多模态传感器单元20生成三维表面或纹理,并且处理抽象化模型数据。该数据在场景理解模块316中用于执行多个步骤,例如(但不限于)用叠加的可视及IR谱颜色和纹理视频信息构建场景的高分辨率和较低分辨率(激光器:高分辨率;立体摄像头:较低分辨率)三维表面体积,允许边缘检测和体积对象检测算法推断什么元素在场景中,允许采用形状/颜色/纹理/一致性映射算法运行经处理的数据,从而将处理了的信息馈送给厨房烹饪处理设备操纵模块318。任选地,除了机器人手套76之外,厨师49还可以佩戴一副机器人眼镜552,所述眼镜具有围绕框架设置的一个或多个机器人传感器554,所述框架设有机器人耳机556和麦克风558。机器人眼镜552 提供额外的视觉和捕获能力,例如,用于捕获和记录厨师49在烹饪膳食时看到的视频和图像的摄像头。一个或多个机器人传感器554捕获并记录正在制备的膳食的温度和气味。耳机556和麦克风558捕获并记录厨师在烹饪时听到的声音,其可以包括人的语音以及油炸、烧烤、磨碎等的声音特征。厨师49还可以采用耳机和麦克风82记录食物制备时的同步语音指令和实时烹饪步骤。就此而言,厨师机器人记录器装置550在特定食物菜肴的食物制备处理中记录厨师的活动、速度、温度和声音参数。
图10B是示出用机器人姿势、运动和力评估厨师运动的捕获的处理560 的一实施例的流程图。数据库561存储机器人臂72和机器人手72的预定义 (或预确定的)抓取姿势562和预定义的手运动,根据重要性564对其加权并且用接触点565和所存储的接触力565对其加标签。在操作567,厨师活动记录模块98配置为部分地基于预定义的抓取姿势562和预定义的手运动 563捕获厨师制备食物菜肴的运动。在操作568,机器人食物制备引擎56配置为评估机器人设备配置完成姿势、运动和力,继而完成微操纵的能力。接下来,机器人设备配置经历评估机器人设计参数570、调整设计参数以改善评分和性能571、以及修改机器人设备配置572的迭代处理569。
图11A-11B是示出用于厨师49的食物制备的具有传感器的三指触觉手套630的一实施例以及具有传感器的三指机器人手640的示例的屠户示图。文中所示的实施例示出用于食物制备的具有不到五个手指的简化机器人手 640。对应地,将显著降低简化机器人手640的设计当中的复杂性以及简化机器人手640的制造成本。在备选实施方式中,具有或者没有相对的拇指的二指抓爪或四指机器人手也是可能的。在这一实施例中,厨师手的活动受到三个手指,即拇指、食指和中指的功能的限制,其中每一手指具有用于在力、温度、湿度、毒性或触觉感知方面感测厨师活动数据的传感器632。三指触觉手套630还包括处于三指触觉手套630的手掌区域内的点传感器或分布式压力传感器。将厨师使用拇指、食指和中指在佩戴三指触觉手套630的情况下制备食物菜肴的活动记录到软件文件中。接下来,三指机器人手640根据软件菜谱文件复现厨师的活动,软件菜谱文件被转换成机器人指令以用于在监视机器人手640的手指上的传感器642b和手掌上的传感器644的同时,控制机器人手640的拇指、食指和中指。传感器642包括力、温度、湿度、杀菌度或触觉感传感器,而传感器644可以采用点传感器或分布式压力传感器实现。
图11C是示出机器人臂70和机器人手72之间的相互作用和交互的一示例的框图。顺应性机器人臂750提供较小的有效载荷、较高的安全性、更温和的动作、但是较低的精确度。拟人机器人手752提供更高的灵巧度,能够操纵人用工具,更易于重新锁定人手动作,更具顺应性,但是其设计需要更高的复杂性,增加了重量而且生产成本更高。简单的机器人手754重量更轻,价格更低,但是其灵巧度较低且不能直接使用人用工具。工业机器人臂756更加精确,具有更高的有效载荷能力,但是一般认为其在人的周围是不安全的,有可能施加很大的力并且造成伤害。标准化机器人厨房50的一实施例将采用顺应臂750和拟人手752的第一组合。对于本申请的实施而言,一般不太期望采用其他三种组合。
图11D是示出采用附接至定制炊具头的标准化厨房把手580的机器人手 72和可固定至厨房炊具的机器人臂70的框图。在一种抓取厨房炊具的技术中,机器人手72抓取标准化厨房工具580,该工具用于附接至定制炊具头中的任何一者上,图中示出定制炊具头的选择760a、760b、760c、760d、760e 以及其它。例如,标准化厨房把手580附着至定制炒菜铲头760e,从而用于对平底锅内的食材进行搅动煎炒。在一实施例中,机器人手72只能在一个位置握住标准化厨房把手580,从而将因采用不同方法握住标准化厨房把手 580而造成混乱的可能性降至了最低。在另一种抓取厨房炊具的技术中,机器人臂具有一个或多个央持器762,其可固定至厨房炊具,其中机器人臂70 能够在机器人手运动期间在按压厨房炊具762时如果需要的话施加更大的力。
图12是示出微操纵库数据库的创建模块650和微操纵库数据库的执行模块660的框图。微操纵数据库的库的创建模块60是创建、测试各种可能的组合以及选择最佳微操纵以获得特定功能结果的处理。创建模块60的一个目标在于探索执行具体微操纵的处理的不同可能组合,以及预定义最佳微操纵的库,以供机器人臂70和机器人手72随后在食物菜肴的制备当中执行。还可以采用微操纵库的创建模块650作为针对机器人臂70和机器人手72的教导方法,使之学习来自微操纵库数据库的不同食物制备功能。微操纵库数据库的执行模块660配置为提供一定范围的的微操纵功能,机器人设备75 能够在食物菜肴的制备处理中从微操纵库数据库对其进行访问和执行,其包括具有第一功能结果662的第一微操纵MM1、具有第二功能结果664的第二微操纵MM2、具有第三功能结果666的第三微操纵MM3、具有第四功能结果668的第四微操纵MM4以及具有第五功能结果670的第五微操纵MM5。
一般化微操纵:一般化微操纵包括具有预期功能结果的感测和致动器动作的良好定义的序列。与每个微操纵相关联,有一组前置条件和一组后置条件。前置条件断言在全局状态中哪些必须为真,以便使微操纵能够发生。后置条件是由微操纵引起的对全局状态的改变。
例如,抓取小物体的微操纵将包括观察物体的位置和取向,移动机器人手(抓取器)以使其与物体的位置对准,基于物体的重量和刚度施加必要的力,以及向上移动臂。
在该示例中,前置条件包括具有位于机器人手可达范围内的可抓取物体,并且其重量在臂的提升能力内。后置条件是物体不再搁置在之前发现它的表面上,并且其现在由机器人的手握住。
更一般地,一般化微操纵M包括三要素<PRE,ACT,POST>,其中 PRE={s1,s2,...,sn}是全局状态中的一组项,其在动作ACT=[a1,a2,...,ak]能发生之前必须为真,并且导致POST={p1,p2,...,pm}表示的对全局状态的一组改变。注意,[方括号]表示序列,{花括号}表示无序集。每个后置条件也可具有结果小于确定的概率。抓取鸡蛋的微操纵可具有0.99的概率鸡蛋在机器人手中(剩余的0.01概率可对应于在尝试抓取鸡蛋时意外打破鸡蛋,或者其他不期望的结果)。
甚至更一般地,微操纵可在其动作序列中包括其他(更小的)微操纵,而不仅仅是包括不可分的或基本的机器人感测或致动。在这种情况下,微操纵将包括以下序列:ACT=[a1,m2,m3,...,ak],其中由“a”表示的基本动作中散布有由“m”表示的微操纵。在这种情况下,后置条件集合将由其基本动作的前置条件的并集(union)和其所有子微操纵(sub-minimanipulation)的前置条件的并集满足。
PRE=PREa∪(Umi∈ACTPRE(mi))
一般化微操纵的后置条件将以类似的方式确定,即:
POST=POSTa∪(Umi∈ACTPOST(mi))
值得注意的是,前置条件和后置条件指的是物理世界的特定方面(位置、取向、重量、形状等),而不仅仅是数学符号。换句话说,实施微操纵的选择和组合的软件及算法对机器人机械结构具有直接的影响,其又对物理世界产生直接影响。
在一实施例中,当指定微操纵(无论是一般化的还是基本的)的阈值性能时,对后置条件进行度量,将实际结果与最优结果进行比较。例如,在组装任务中,如果部件位于其期望取向和位置的1%内,并且性能阈值为2%时,则微操纵是成功的。类似地,如果在上述示例中阈值为0.5%,则微操纵是不成功的。
在另一实施例中,替代为微操纵指定阈值性能,为后置条件的参数定义可接受范围,如果执行微操纵之后所得参数值落在指定范围内,则微操纵是成功的。这些范围是与任务相关的,并且是为每个任务指定的。例如,在组装任务中,部件的位置可指定在一范围(或公差)内,例如在另一部件的0 和2毫米之间,如果部件的最终位置在该范围内,则微操纵是成功的。
在第三实施例中,如果其后置条件与机器人任务中下一微操纵的前置条件相匹配,则微操纵是成功的。例如,如果一个微操纵的组装任务中的后置条件是将新部件放置到离先前放置的部件1毫米处,并且下一个微操纵(例如焊接)的前置条件规定部件必须在2毫米内,则第一微操纵是成功的。
一般而言,存储在微操纵库中的所有微操纵的优选实施例,包括基本的和一般化的,已经被设计、编程和测试,以便于它们在可预见的环境中被成功地执行。
微操纵构成的任务:机器人任务由一个或(通常)多个微操纵构成。这些微操纵可以顺序地、并行地、或者遵循部分顺序地执行。“顺序地”意味着每个步骤在下一步骤开始之前完成。“并行地”意味着机器人设备可以同时或以任何顺序执行步骤。“部分顺序地”意味着部分顺序中指定的一些步骤必须按顺序执行,其余步骤可以在部分顺序中指定的步骤之前、之后或之中执行。部分顺序在标准数学意义上被定义为步骤S的集合和在一些步骤中的顺序约束si→sj,意味着步骤i必须在步骤j之前执行。这些步骤可以是微操纵或微操纵的组合。例如在机器人厨师领域,如果两种食材必须放在碗里混合则存在每种食材必须在混合之前放置在碗中的顺序约束,但是对于哪种食材首先放入混合碗中并没有顺序约束。
图13A是示出厨师49在制备食物菜肴时用于感测和捕获厨师活动的感测手套680的框图。感测手套680具有处于每个手指上的多个传感器682a、 682b、682c、682d、682e以及处于感测手套680的手掌区域中的多个传感器 682f、682g。在一实施例中,采用处于软手套内的至少5个压力传感器682a、 682b、682e、682d、682e捕获和分析全部手部操纵处理中的厨师活动。将这一实施例中的多个传感器682a、682b、682e、682d、682e、682f和682g嵌入到感测手套680内,但是其能够透过感测手套680的材料受到外部感测。感测手套680可以具有与多个传感器682a、682b、682c、682d、682e、682f、 682g相关联的特征点,它们反映感测手套680内的具有各个较高点和较低点的手部曲线(或起伏)。置于机器人手72之上的感测手套680由模拟人类皮肤的柔顺性和形状的柔软材料制成。在图9A中能够找到详述机器人手72 的额外描述。
机器人手72包括摄像头传感器684,例如,RGB-D传感器、成像传感器或视觉感测装置,其置于手掌中央或附近,用于检测对象的距离和形状、以及对象的距离,并且用于对厨房工具进行操纵。成像传感器682f在使机器人手72朝向对象的方向移动时为机器人手72提供引导,并进行必要的调整,以抓取对象。此外,可以将诸如触觉压力传感器之类的声纳传感器置于机器人手72的手掌附近,用于检测对象的距离和形状。声纳传感器682f还可以引导机器人手72朝向对象移动。每个声纳传感器682a、682b、682c、 682d、682e、682f、682g包括超声波传感器、激光器、射频识别(RFID) 以及其他适当的传感器。此外,每个声纳传感器682a、682b、682c、682d、 682e、682f、682g起着反馈机构的作用,以判断机器人手72是否继续施加额外压力,以便在这样的具有足够的抓取和提升对象的压力的点上抓取对象。此外,机器人手72的手掌内的声纳传感器682f提供触觉感知功能,以操纵厨房工具。例如,在机器人手72抓取刀切牛肉时,机器人手72向刀施加继而施加到牛肉上的压力的值允许触觉感受器检测何时刀结束了对牛肉的切割,即,刀何时没有阻力。所分配的压力不仅是为了固定对象,而且还要避免施加的压力过大,例如不使鸡蛋破裂。此外,机器人手72的每一手指上具有指尖上的传感器,如拇指指尖上的第一传感器682a、食指指尖上的第二传感器682b、中指指尖上的第三传感器682c、无名指指尖上的第四传感器 682d以及小指指尖上的第五传感器682f所示。每个传感器682a、682b、682c、 682d、682e提供对对象的距离和形状的感测能力、对温度或湿度的感测能力、以及触觉反馈能力。
手掌内的RGB-D传感器684和声纳传感器682f加上每个手指的指尖上的声纳传感器682a、682b、682c、682d、682e为机器人手72提供反馈机制,以作为抓取非标准化对象或非标准化厨房工具的措施。机器人手72可以将压力调整到足以抓取并保持非标准化对象的程度。图13B示出根据具体时间间隔存储样本抓取功能692、694、696的程序库690,机器人手72能在执行特定抓取功能时从程序库690取出这些功能。图13B是示出标准化机器人厨房模块50中的标准化操作活动的库数据库690的框图。预定义并且存储在库数据库690中的标准化操作活动包括利用运动/交互时间分布698抓取、放置和操作厨房工具或一件厨房设备。
图14A是示出包覆了人工的类似于人的软皮肤手套700的每个机器人手 72的示意图。人工的类似于人的软皮肤手套700包括多个嵌入式传感器,它们是能透过的,并且对于机器人手72而言足以使其执行高层级微操纵。在一实施例中,软皮肤手套700包括十个或更多传感器,以复现手部活动。
图14B是示出包覆着人工的类似于人的皮肤手套的机器人手基于微操纵的库数据库720执行高层级微操纵的框图,所述微操纵被预定义且存储在库数据库720内。高层级微操纵涉及需要大量的交互式活动和相互作用力以及对其的控制的动作基元的序列。提供了存储在数据库库720内的三个微操纵的示例。第一个微操纵的示例是采用一双机器人手72揉面团722。第二个微操纵的示例是采用一双机器人手72制作意大利方饺724。第三个微操纵的示例是采用一双机器人手72制作寿司。三个微操纵的示例中的每一个都具有运动/交互时间分布728,将通过计算机16对其予以跟踪。
图14C是示出三种类型的食物制备操纵动作的示意图,其具有产生预期目标状态的机器人臂70和机器人手72的运动和力的连续轨迹。机器人臂70 和机器人手72执行刚性抓取和转移730活动,从而借助于不可移动的抓取拾取对象并将其转移到目标位置,而无需用力的相互作用。刚性抓取和转移的示例包括将平底锅放到炉子上、拿起盐瓶、将盐撒到菜里、将食材投放到碗里、倒出容器内的内容物、拌沙拉以及对烙饼翻面。机器人臂70和机器人手72执行采用用力相互作用732的刚性抓取,其中在两个表面或对象之间存在用力的接触。采用用力相互作用的刚性抓取的示例包括在锅里搅动、打开盒子、转动平底锅以及将物品从砧板扫到平底锅里。机器人臂70和机器人手72执行具有形变734的用力相互作用,其中在两个表面或对象之间具有用力接触,从而导致两个表面之一发生形变,例如,切胡萝卜、打蛋或滚动面团。要想获得有关人手功能、人手掌的形变及其抓取功能的额外信息,参考I.A.Kapandji,“The Physiology of the Joints,Volume 1:Upper Limb, 6e,”ChurchillLivingstone,6 edition,2007,该参考文献通过整体引用而合并于此。
图14D是示出在揉面740的处理中用于食物制备的操纵动作的分类法的一实施例的简化流程图。揉面740可以是先前在微操纵库数据库中预定义的微操纵。揉面740的处理包括一系列动作(或短的微操纵),其包括抓住面团742,将面团放到表面744上、以及重复揉搓动作直到获得期望的形状746 为止。
图15是示出得到“用刀磕开鸡蛋”结果的微操纵的数据库库结构770的示例的框图。打蛋的微操纵770包括:怎样在正确位置握住鸡蛋772,怎样相对于鸡蛋握住刀774,什么是用刀敲击鸡蛋的最佳角度776、以及如何打开破裂的鸡蛋778。对772、774、776和778每个的各种可能参数进行测试,从而找到执行具体动作的最佳方式。例如,在握住鸡蛋772时,对握住鸡蛋的不同位置、取向和方式进行测试,从而找到握住鸡蛋的最佳方式。第二,机器人手72从预定位置拿起刀。关于握刀的不同位置、取向和方式对握刀 774进行研究,从而找到拿刀的最佳方式。第三,还针对用刀敲击鸡蛋的各种组合对用刀敲击鸡蛋776进行测试,从而找到用刀敲击鸡蛋的最佳方式。随后,将执行用刀敲裂鸡蛋770的微操纵的最佳方式存储到微操纵的库数据库中。所保存的用刀敲裂鸡蛋770的微操纵将包括握住鸡蛋772的最佳方式、握住刀774的最佳方式和用刀敲击鸡蛋776的最佳方式。
为了建立得到用刀敲裂鸡蛋结果的微操纵,必须对多个参数组合进行测试,从而识别出确保获得预期功能结果(使鸡蛋裂开)的一组参数。在这一示例中,参数被识别以确定如何以不捏碎鸡蛋的方式抓取和握住鸡蛋。通过测试选择适当的刀,并找到手指和手掌的适当放置,从而可以握住刀用于敲击。识别将成功破裂鸡蛋的敲击动作。识别使破裂的鸡蛋成功打开的打开动作和/或力。
机器人设备75的教导/学习处理涉及多种重复测试,以识别出获得预期的最终功能结果的必要参数。
可以改变场景来执行这些测试。例如,鸡蛋的大小可以变化。可以改变敲裂鸡蛋的位置。刀可以处于不同的位置。微操纵必须在所有这些变化环境中都取得成功。
一旦完成了学习处理,就将结果存储为已知一起完成预期功能结果的动作基元集合。
图16是示出菜谱执行780的示例的框图,其中通过对非标准对象112 进行三维模拟来对微操纵进行实时调整。在菜谱执行780中,机器人手72 执行用刀敲裂鸡蛋的微操纵770,其中从微操纵库数据库中选择执行敲裂鸡蛋操作772、握刀操作774、用刀敲击鸡蛋操作776和打开破裂的鸡蛋操作 778中的每个动作的最佳方式。执行实施每个动作772、774、776、778的最佳方式的处理确保了微操纵770将实现该特定微操纵的相同或基本相同的结果(或其保证)。多模态三维传感器20提供关于一种或多种食材的可能变化 (例如,鸡蛋的尺寸和重量)的实时调整能力112。
作为图19中的微操纵的创建和图20中的微操纵的执行之间的操作关系的示例,与“用刀敲裂鸡蛋”微操纵相关联的具体变量包括鸡蛋的初始xyz坐标、鸡蛋的初始取向、鸡蛋的尺寸、鸡蛋的形状、刀的初始xyz坐标、刀的初始取向、磕裂鸡蛋的位置的xyz坐标、速度、以及微操纵的持续时间。因而,在创建阶段定义“用刀敲裂鸡蛋”微操纵的所识别的变量,其中可以在相关微操纵的执行阶段通过机器人食物制备引擎56对这些可识别变量进行调整。
图17是示出在标准化厨房模块中捕获厨师的食物制备活动从而从厨师工作室44生成软件菜谱文件46的软件处理782的流程图。在厨师工作室44 中,在步骤784,厨师49设计食物菜谱的不同成分。在步骤786,机器人烹饪引擎56配置为接收厨师49选定的菜谱设计的名称、ID食材和测度输入。在步骤788,厨师49将食物/食材移动到指定的标准化烹饪用具/器具中并且移动到它们的指定位置。例如,厨师49可以挑选两根中等大小的葱和两个中等大小的蒜瓣,并将八个蘑菇放到案板上,并将两块解冻的20cm×30cm 的松饼从冷冻室(freezer lock)F02移到冰箱(冰柜)。在步骤790,厨师49 戴上捕获手套26或触觉服装622,其具有捕获厨师的动作数据以供传输给计算机16的传感器。在步骤792,厨师49开始履行其从步骤122中选择的菜谱。在步骤794,厨师动作记录模块98配置为捕获并记录厨师的精确动作,包括在标准化机器人厨房50中对厨师臂和手指的力、压力以及xyz位置和取向进行实时测量。除了捕获厨师的动作、压力和位置之外,厨师动作记录模块98配置为记录特定菜谱的整个食物制备处理中的视频(有关菜肴、食材、工艺和交互图像)和声音(人语音、煎炸的嘶嘶声等)。在步骤796,机器人烹饪引擎56配置为存储来自步骤794的捕获数据,其包括来自捕获手套26上的传感器以及多模态三维传感器30的厨师动作。在步骤798,菜谱抽象化软件模块104配置为生成适于机器实施的菜谱脚本。在步骤799,在生成和保存菜谱数据之后,可通过面向位于家庭或餐馆的用户计算机的app 商店或市场以及集成在移动装置上机器人烹饪接收app而向用户销售软件菜谱文件46或者供其订购。
图18是示出用于具有机器人设备75的机器人标准化厨房中机器人设备 75基于从厨师工作室系统44接收的一个或多个软件菜谱文件22实施食物制备的软件处理的流程图800。在步骤802,用户24通过计算机15选择从厨师工作室44购买或订购的菜谱。在步骤804,家庭机器人厨房48中的机器人食物制备引擎56配置为接收来自输入模块50的对要制备的选定菜谱的输入。在步骤806,家庭机器人厨房48中的机器人食物制备引擎56配置为将选定菜谱上载到具有软件菜谱文件46的存储模块102。在步骤808,家庭机器人厨房48中的机器人食物制备引擎56配置为计算用以完成选定菜谱的食材可用性以及完成菜肴所需的大致烹饪时间。在步骤810,家庭机器人厨房 48中的机器人食物制备引擎56配置为分析选定菜谱的先决条件,并且根据选定的菜谱和上菜安排判断是否存在食材的短缺或缺少,或者是否会没有足够的时间最终上菜。如果不满足先决条件,那么在步骤812,家庭机器人厨房48中的机器人食物制备引擎56发出警报,指示应将食材添加到购物清单中,或者提供备选菜谱或上菜安排。但是,如果满足先决条件,那么机器人食物制备引擎56配置为在步骤814中确认菜谱选择。在步骤816,在确认了菜谱选择之后,用户60通过计算机16将食物/食材移动到具体的标准化容器内并且移动到所需位置。在将食材置于指定容器和识别位置之后,家庭机器人厨房48中的机器人食物制备引擎56配置为在步骤818检查是否已经触发了起始时间。正值此际,家庭机器人食物制备引擎56提供第二处理检查,以确保满足了所有先决条件。如果家庭机器人厨房48中的机器人食物制备引擎56没有制备好开始烹饪处理,那么家庭机器人食物制备引擎56继续在步骤820核对先决条件,直到触发了起始时间为止。如果机器人食物制备引擎56制备好了开始烹饪处理,则在步骤822,机器人食物制备引擎56中的原料食物模块96的质量检查被配置为处理选定菜谱的先决条件,并且对照菜谱描述(例如,一块中间切开的牛里脊肉的烧烤)和状况(例如,过期/ 购买日期、气味、颜色、纹理等)检查每一食材项。在步骤824,机器人食物制备引擎56将时间设定到“0”阶段,将软件菜谱文件46上载到一个或多个机器人臂70和机器人手72,用于根据软件菜谱文件46复现厨师的烹饪动作以制作选定菜肴。在步骤826,一个或多个机器人臂72和手74对食材进行处理,并用与厨师49的臂、手和手指等同的动作,以从厨师动作中捕获和记录的准确压力、精确力、相同的XYZ位置和相同的时间增量执行烹饪方法/技术。在该时间期间,一个或多个机器人臂70和手72将烹饪结果与受控数据(例如,温度、重量、损耗等)和媒体数据(例如,颜色、外观、气味、份量等)进行比较,如步骤828所示。在对数据进行了比较之后,机器人设备75(包括机器人臂70和机器人手72)在步骤830中对结果进行对齐 (align)和调整。在步骤832,机器人食物制备引擎56配置为指示机器人设备75将完成的菜肴移到指定的上菜盘内并将其放到柜台上。
图19是示出建立、测试、验证和存储微操纵库数据库840的各种参数组合的软件处理的一实施例的流程图。微操纵库数据库840涉及存储在临时库内的一次性成功测试处理840(例如,握住鸡蛋)以及对微操纵数据库库中的一次性测试结果的组合860(例如,磕开鸡蛋的全部动作)进行测试。在步骤842,计算机16创建具有多个动作基元(或多个分立的菜谱动作)的新的微操纵(例如,磕开鸡蛋)。在步骤844,识别与新的微操纵相关联的对象(例如,鸡蛋和刀)的量。计算机16在步骤846识别多个分立动作或活动。在步骤848,计算机选择与特定的新微操纵相关联的完全可能范围的关键参数(例如,对象的位置、对象的取向、压力和速度)。在步骤850,对于每一关键参数而言,计算机16测试并验证关键参数的每个值,其将借助于与其他关键参数的所有可能组合(例如,以一位置握住鸡蛋但是测试其他取向)来进行。在步骤852,计算机16配置为判断一组特定的关键参数组合是否产生可靠的结果。可以通过计算机16或人来完成对结果的验证。如果判断结果是否定的,那么计算机16进行至步骤856,从而查看是否还有其他有待于测试的关键参数组合。在步骤858,计算机16在制定下一参数组合时使关键参数递增一,以用于进一步测试和评估下一参数组合。如果步骤852的判断是肯定的,那么计算机16在步骤854将该组成功的关键参数组合存储到临时位置库内。所述临时位置库存储一组或多组成功的关键参数组合(具有最多成功测试或最佳测试或具有最少失败结果)。
在步骤862,计算机16对特定成功参数组合进行X次测试和验证(例如,100次)。在步骤864,计算机16计算特定成功参数组合的重复测试处理中的失败结果的数量。在步骤866,计算机16从临时库中选择下一个一次性成功参数组合,并使处理返回至步骤862,从而对该下一个一次性成功参数组合进行X次测试。如果没有剩余其他的一次性成功参数组合,那么计算机16在步骤868存储产生可靠(或者有保证的)结果的一组或多组参数组合的测试结果。如果存在超过一组可靠的参数组合,那么在步骤870,计算机16确定最佳的或者最优的一组参数组合,并且存储与特定微操纵相关联的最优的一组参数组合,从而在微操纵库数据库中供标准化机器人厨房50 中的机器人设备75在菜谱的各个食物制备阶段使用。
图20是示出创建用于微操纵的任务的软件处理880的一实施例的流程图。在步骤882,计算机16用将存储到数据库库内的机器人手微操纵定义特定机器人任务(例如,用刀磕开鸡蛋)。计算机在步骤884识别出每一微小步骤中对象的所有不同可能取向(例如,鸡蛋以及握住鸡蛋的取向),并且在步骤886识别出相对于所述对象握住厨房工具(例如,相对于鸡蛋握住刀) 的所有不同位置点。在步骤888,计算机凭经验识别出握住鸡蛋以及用刀以正确的(切割)动作分布、压力和速度打破鸡蛋的所有可能方式。在步骤890,计算机16定义握住鸡蛋并且相对于鸡蛋定位刀以适当地打破鸡蛋的各种组合(例如,找到诸如对象的取向、位置、压力和速度之类的最佳参数的组合)。在步骤892,计算机16进行训练和测试处理以检验各种组合的可靠性,例如,测试所有的变化、差异,并将该处理重复X次,直到对于每个微操纵可靠性是确定的为止。在厨师49执行某一食物制备任务时(例如,用刀磕开鸡蛋),在步骤894,该任务被转化为作为该任务的一部分执行的若干手部微操纵步骤/任务。在步骤896,计算机16将用于该特定任务的各种微操纵组合存储到数据库库中。在步骤898,计算机16判断对于任何微操纵是否存在需要定义和执行的额外任务。如果存在需要定义的任何额外微操纵,那么处理返回至步骤882。厨房模块的不同实施例是可能的,包括独立厨房模块和集成机器人厨房模块。集成机器人厨房模块被适配到典型房屋的常规厨房区域内。机器人厨房模块至少按照两种模式工作,即机器人模式和正常(手动)模式。磕开鸡蛋是微操纵的一个示例。微操纵库数据库还将适用于很宽范围的各种任务,例如,用叉子通过沿正确的方向施加正确的压力从而相对于牛肉的形状和厚度达到适当的深度来叉取一片牛肉。在步骤900,计算机组合预定义厨房任务的数据库库(database library),其中每个预定义的厨房任务包括一个或多个微操纵。
图21A是示出分配和利用标准化机器人厨房内的标准化厨房工具、标准化对象和标准化设备的库的处理920的流程图。在步骤922,计算机16为每个厨房工具、对象或设备/用具分配代码(或条形码),其预定义了工具、对象或设备的参数,例如其三维位置坐标和取向。这一处理使标准化机器人厨房50内的各种元素标准化,其包括但不限于:标准化厨房设备、标准化厨房工具、标准化刀、标准化叉子、标准化容器、标准化平底锅、标准化器具、标准化工作区、标准化附件以及其他标准化元件。在执行菜谱中的处理步骤时,在步骤924,机器人烹饪引擎配置为在根据具体菜谱的食物制备处理被提示访问厨房工具、对象、设备、用具或用具时指引一个或多个机器人手拾取该特定厨房工具、对象、设备、器具或用具。
图21B是示出通过三维建模和推理识别非标准对象的处理926的流程图。在步骤928,计算机16通过传感器检测非标准对象,例如,可能具有不同大小、不同外形尺寸和/或不同重量的食材。在步骤930,计算机16用捕获形状、外形尺寸、取向和位置信息的三维建模传感器66来识别非标准对象,并且机器人手72进行实时调整以执行适当的食物制备任务(例如,切割或拾取一块牛排)。
图21C是示出用于微操纵的测试和学习的处理932的流程图。在步骤 934,计算机执行食物制备任务构成分析,其中,对每一烹饪操作(例如,用刀磕开鸡蛋)进行分析、分解并且构造成动作基元或微操纵的序列。在一实施例中,微操纵指的是实现朝向食物菜肴制备中的一具体结果前进的基本功能结果(例如,磕开鸡蛋或切好蔬菜)的一个或多个动作基元的序列。在本实施例中,微操纵可进一步描述为低层级微操纵或高层级微操纵,其中低层级微操纵是指需要极小的相互作用力并且几乎唯独地依赖于使用机器人设备75的动作基元序列,高层级微操纵是指需要大量相互作用和大的相互作用力以及对其的控制的动作基元的序列。处理环936聚焦于微操纵和学习步骤,其包括重复很多次(例如,100次)的测试以确保微操纵的可靠性。在步骤938,机器人食物制备引擎56配置为对执行食物制备阶段或微操纵的所有可能性知识进行评估,其中,关于特定微操纵相关的取向、位置/速度、角度、力、压力和速度对每一微操纵进行测试。微操纵或动作基元可涉及机器人手72和标准对象,或者涉及机器人手72和非标准对象。在步骤940,机器人食物制备引擎56配置为执行微操纵,并且判断结果是认为成功还是失败。在步骤942,计算机16关于微操纵的失败进行自动分析和推理。例如,多模态传感器可提供有关微操纵的成功或失败的感测反馈数据。在步骤944,计算机16配置为做出实时调整,并且调整微操纵执行处理的参数。在步骤 946,计算机16向微操纵库增加有关参数调整的成功或失败的新信息,以作为用于机器人食物制备引擎56的学习机制。
图21D是示出机器人臂的质量控制和对准功能的处理950的流程图。在步骤952,机器人食物制备引擎56通过输入模块50加载人类厨师复现软件菜谱文件46。例如,软件菜谱文件46将复现来自米其林星级厨师Arnd Beuchel的“维也纳炸肉(Wiener Schnitzel)”食物制备。在步骤954,机器人设备75基于所存储的包含所有动作/活动复现数据的菜谱脚本,以与基于人类厨师在具有标准化设备的标准化厨房模块中制备相同菜谱的动作存储的所记录的菜谱数据相同的步速,用相同的动作(例如,躯干、手、手指的动作)、相同压力、力和xyz位置执行任务。在步骤956,计算机16通过多模态传感器监视食物制备处理,多模态传感器生成提供给抽象化软件的原始数据,在抽象化软件中机器人设备75基于多模态感测数据(视觉、音频以及任何其他感测反馈)对照受控数据比较现实世界输出。在步骤958,计算机16判断受控数据和多模态感测数据之间是否存在任何差异。在步骤960,计算机16分析多模态感测数据是否偏离受控数据。如果存在偏离,则在步骤 962,计算机16做出调整,从而对机器人臂70、机器人手72或其他元件进行重新校准。在步骤964,机器人食物制备引擎16配置为在处理964中通过向知识数据库添加对一个或多个参数值所做的调整来进行学习。在步骤968,计算机16将更新的修订信息存储到知识数据库,其涉及经校正的处理、条件和参数。如果根据步骤958没有偏差差异,那么处理950直接进行至完成执行的步骤970。
图22是示出具有创建者记录系统2710和商业机器人系统2720的机器人人类技能复现系统2700的一般适用性(或通用性)的框图。人类技能复现系统2700可用于捕获对象专家或创建者2711的活动或操纵。创建者2711 可以是在其相应领域的专家,并且可以是专业人员或已经获得必要技能从而精于诸如烹饪、绘画、医学诊断、或演奏乐器等之类的特定任务的人。创建者记录系统2710包括具有例如运动感测输入之类的感测输入的计算机2712、用于存储复现文件和主题/技能库2714的存储器2713。创建者记录系统2710 可以是专用计算机,或者可以是通用计算机,其能够记录和捕获创建者2711 的活动,分析这些活动并且将其提炼为可以在计算机2712上处理并且存储在存储器2713中的步骤。传感器可以是能够收集信息以精炼和完善机器人系统执行任务所需的微操纵的任何类型的传感器,诸如视觉、IR、热、接近度、温度、压力、或任何其他类型的传感器。存储器2713可以是任何类型的远程或本地记忆型存储器,并且可以存储在任何类型的存储器系统上,包括磁、光或任何其它已知的电存储系统。存储器2713可以是基于公共或私有云的系统,并且可以在本地提供或由第三方提供。主题/技能库2714可以是先前记录和捕获的微操纵的汇编或集合,并且可以按任何逻辑或关系顺序归类或布置,诸如按任务、机器人部件、或技能等。
商业机器人系统2720包括用户2721、具有机器人执行引擎和微操纵库 2723的计算机2722。计算机2722包括通用或专用计算机,并且可以是处理器和/或其他标准计算设备的任何汇集(compilation)。计算机2722包括机器人执行引擎,用于操作诸如臂/手之类的机器人元件或完整的人形机以重新创建由记录系统捕获的活动。计算机2722还可以根据在记录处理期间捕获的程序文件或应用(app)来操作创建者2711的标准化对象(例如,工具和设备)。计算机2722还可以控制和捕获用于模拟模型校准和实时调整的三维模拟反馈。微操纵库2723存储已经经由通信链路2701从创建者记录系统2710 下载到商业机器人系统2720的捕获的微操纵。微操纵库2723可以本地存储或远程存储微操纵,并且可以按预定规则或按关系来存储它们。通信链路 2701基于购买、下载、或订阅而向商业机器人系统2720传送用于(主题) 人类技能的程序文件或应用。操作时,机器人人类技能复现系统2700允许创建者2711执行任务或一系列任务,其被捕获在计算机2712上并且存储在存储器2713中,从而创建微操纵文件或库。然后,微操纵文件可以经由通信链路2701被传送到商业机器人系统2720并且在计算机2722上执行,从而导致一组机器人附件诸如手和臂或人形机复现创建者2711的活动。以这种方式,创建者2711的活动被机器人复现以完成所需任务。
图23是示出具有各种模块的机器人人类技能复现引擎2800的软件系统图。机器人人类技能复现引擎2800可包括输入模块2801、创建者活动记录模块2802、创建者活动编程模块2803、传感器数据记录模块2804、品质检查模块2805、用于存储软件执行处理程序文件的存储器模块2806、可以基于所记录的传感器数据的技能执行处理模块2807、标准技能活动和对象参数捕获模块2808、微操纵活动和对象参数模块2809、维护模块2810和输出模块2811。输入模块2801可包括任何标准输入设备,诸如键盘、鼠标或其他输入设备,并且可用于将信息输入到机器人人类技能复现引擎2800中。当机器人人类技能复现引擎2800正在记录创建者2711的活动或微操纵时,创建者活动记录模块2802记录并捕获创建者2711的所有活动和动作。记录模块2802可以以任何已知格式记录输入,并且可以以小增量移动来解析创建者的活动以构成主要活动。创建者活动记录模块2802可包括硬件或软件,并且可包括任何数量的逻辑电路或其组合。创建者活动编程模块2803允许创建者2711对活动进行编程,而不是允许系统捕获和转录所述活动。创建者活动编程模块2803可允许通过输入指令以及观察创建者2711而获得的捕获参数的输入。创建者活动编程模块2803可包括硬件或软件,并且可利用任何数量的逻辑电路或其组合来实现。传感器数据记录模块2804用于记录在记录处理中捕获的传感器输入数据。传感器数据记录模块2804可包括硬件或软件,并且可以利用任何数量的逻辑电路或其组合来实现。传感器数据记录模块2804可用在创建者2711正在执行正由诸如运动、IR、听觉等一系列传感器监视的任务时。传感器数据记录模块2804记录来自传感器的所有数据,以用于创建正在执行的任务的微操纵。品质检查模块2805可用于监视传入的传感器数据、总体复现引擎的健康状况,传感器或系统的任何其他部件或模块。品质检查模块2805可包括硬件或软件,并且可以利用任何数量的逻辑电路或其组合来实现。存储器模块2806可以是任何类型的存储器元件,并且可用于存储软件执行处理程序文件。其可包括本地或远程存储器,并且可以采用短期、永久或临时记忆存放器。存储器模块2806可利用任何形式的磁、光或机械存储器。技能执行处理模块2807可利用所记录的传感器数据来执行一系列步骤或微操纵,以完成已被机器人复现引擎捕获的任务或任务的一部分。技能执行处理模块2807可包括硬件或软件,并且可以利用任何数量的逻辑电路或其组合来实现。
标准技能活动和对象参数模块2802可以是以软件或硬件实现的模块,并且旨在定义对象的标准活动和/或基本技能。它可包括主题参数,其向机器人复现引擎提供关于标准对象的信息,该信息在机器人处理期间可能需要被使用。它还可以包含与标准技能活动相关的指令和/或信息,其不是任何一个微操纵独有的。维护模块2810可以是用于对系统和机器人复现引擎进行监视和执行日常维护的任何例程或硬件。维护模块2810可允许控制、更新、监视耦接到机器人人类技能复现引擎的任何其它模块或系统并且确定故障。维护模块2810可包括硬件或软件,并且可以利用任何数量的逻辑电路或其组合来实现。输出模块2811允许从机器人人类技能复现引擎2800到任何其他系统部件或模块的通信。输出模块2811可用于将捕获的微操纵导出或传送到商业机器人系统2720,或者可以用于将信息传送到存储器中。输出模块 2811可包括硬件或软件,并且可以利用任何数量的逻辑电路或其组合来实现。总线2812耦接机器人人类技能复现引擎内的所有模块,并且可以是并行总线、串行总线、同步或异步总线等。它可以允许使用串行数据、分组数据、或任何其他已知的数据通信方法的任何形式的通信。
微操纵活动和对象参数模块2809可用于对所捕获的微操纵和创建者的活动进行存储和/或分类。它可在用户控制下耦接到复现引擎以及机器人系统。
图24是示出机器人人类技能复现系统2700的一实施例的框图。机器人人类技能复现系统2700包括计算机2712(或计算机2722)、运动感测装置 2825、标准对象2826、非标准对象2827。
计算机2712包括机器人人类技能复现引擎2800、活动控制模块2820、存储器2821、技能活动仿真器2822、扩展模拟验证和校准模块2823、以及标准对象算法2824。如图102所示,机器人人类技能复现引擎2800包括若干模块,其使得对创建者2711的运动的捕获能够创建和捕获任务执行期间的微操纵。所捕获的微操纵被从传感器输入数据转换成可用于完成任务的机器人控制库数据,或者可以与其它微操纵串行或并行组合以创建机器人臂/ 手或人形机2830完成任务或任务的一部分所需的输入。
机器人人类技能复现引擎2800耦接到活动控制模块2820,其可用于基于从机器人部件获得的视觉、听觉、触觉或其他反馈来控制或配置各种机器人部件的活动。存储器2821可耦接到计算机2712并且包括用于存储技能执行程序文件的必要的存储器部件。技能执行程序文件包含计算机2712执行一系列指令以使机器人部件完成任务或一系列任务的必要指令。技能活动仿真器2822耦接到机器人人类技能复现引擎2800,并且可用于模拟创建者技能而不需要实际传感器输入。技能活动仿真器2822向机器人人类技能复现引擎2800提供替代输入,以允许创建技能执行程序而无需创建者2711提供传感器输入。扩展模拟验证和校准模块2823可耦接到机器人人类技能复现引擎2800,并且提供扩展的创建者输入并且基于三维模拟和实时反馈提供对机器人活动的实时调整。计算机2712包括标准对象算法2824,其用于控制机器人手72/机器人臂70或人形机2830以使用标准对象完成任务。标准对象可包括标准工具或器具或标准设备,例如炉子或EKG机器。算法2824被预编译,并且不需要利用机器人人类技能复现的单独训练。
计算机2712耦接到一个或多个运动感测装置2825。运动感测装置2825 可以是视觉运动传感器、IR运动传感器、跟踪传感器、激光监视传感器、或任何其他输入或记录装置,其允许计算机2712监视被跟踪设备在三维空间中的位置。运动感测装置2825可包括单个传感器或一系列传感器,其包括单点传感器、成对的发射器和接收器、成对的标记器和传感器、或任何其它类型的空间传感器。机器人人类技能复现系统2700可包括标准对象2826。标准对象2826是在机器人人类技能复现系统2700中在标准取向和位置的任何标准对象。它们可包括标准化工具或具有标准化把手或握把的工具2826-a、标准设备2826-b、或标准化空间2826-c。标准化工具2826-a可以是图152-162中所示的那些工具,或者可以是任何标准工具,例如刀、锅、铲子、解剖刀、温度计、小提琴弓、或可以在特定环境中使用的任何其他设备。标准设备2826-b可以是任何标准的厨房设备,例如炉子、烤焙用具、微波炉、搅拌器等,或者可以是任何标准的医疗设备、例如脉搏血氧仪等。空间本身2826-c可以是标准化的,例如厨房模块或创伤模块或恢复模块或钢琴模块。通过利用这些标准工具、设备和空间,机器人手/臂或人形机器人可更快速地调整并学习如何在标准化空间内执行其期望的功能。
同样,在机器人人类技能复现系统2700内可以有非标准对象2827。例如,非标准对象可以是诸如肉类和蔬菜等的烹饪食材。这些非标准尺寸、形状和比例的对象可处于标准位置和取向,例如在抽屉或箱内,但是项目本身可以根据项目而变化。
视觉、音频和触觉输入设备2829可耦接到计算机2712,作为机器人人类技能复现系统2700的一部分。视觉、音频和触觉输入设备2829可以是相机、激光器、3D立体光学设备、触觉传感器、质量检测器、或允许计算机 2712确定3D空间内的对象类型和位置的任何其他传感器或输入设备。它还可以允许检测对象的表面并且基于触摸、声音、密度或重量来检测对象属性。
机器人臂/手或人形机器人2830可直接耦接到计算机2712或者可以通过有线或无线网络连接,并且可以与机器人人类技能复现引擎2800通信。机器人臂/手或人形机器人2830能够操纵和复现由创建者2711执行的任何动作或任何算法以用于使用标准对象。
图25是示出具有控制点的人形机2840的框图,其用于使用标准化操作工具、标准化位置和方向以及标准化设备来进行技能执行或复现处理。如图 104所示,人形机2840位于作为机器人人类技能复现系统2700的一部分的传感器视野2841内。人形机2840可以佩戴控制点或传感器点的网络,以能够捕获在任务执行期间进行的活动或微操纵。同样在机器人人类技能复现系统2700内的可以有标准工具2843、标准设备2845和非标准对象2842,它们都以标准初始位置和取向2844布置。当执行技能时,在传感器视野2841 中记录技能中的每个步骤。从初始位置开始,人形机2840可执行步骤1至步骤n,所有这些步骤都被记录以产生可由一对机器人臂或人形机器人实现的可重复结果。通过记录人类创建者在传感器视野2841中的活动,可以将信息转换为一系列个体步骤1-n,或转换为完成任务的事件序列。因为所有标准和非标准对象都定位和取向在标准初始位置,所以复现人类运动的机器人部件能够准确一致地执行所记录的任务。
图26是示出人类或创建者活动与机器人复现活动之间的转换算法模块 2880的一实施例的框图。活动复现数据模块2884将记录套件2874中人类活动的捕获数据转换为机器可读机器可执行语言2886,以用于命令机器人臂和机器人手在机器人人形机复现环境2878中复现人类活动所执行的技能。在记录套件2874中,计算机2812基于人佩戴的手套上的传感器捕获和记录人类活动,在表格2888中,通过垂直列中的多个传感器S0、S1、S2、S3、S4、 S5、S6......Sn以及水平行中的时间增量t0、t1、t2、t3、t4、t5、t6......tend来表示。在时间t0,计算机2812记录从多个传感器S0、S1、S2、S3、S4、S5、S6......Sn接收到的传感器数据的xyz坐标位置。在时间t1,计算机2812记录从多个传感器S0、S1、S2、S3、S4、S5、S6......Sn接收到的传感器数据的xyz坐标位置。在时间t2,计算机2812记录从多个传感器S0、S1、S2、S3、S4、S5、S6......Sn接收到的传感器数据的xyz坐标位置。该处理持续到在时间tend完成了整个技能为止。每一时间单元t0、t1、t2、t3、t4、t5、t6......tend的持续时间相同。作为所捕获和记录的传感器数据的结果,表格2888在xyz坐标系中手套中的传感器S0、S1、S2、S3、S4、S5、S6......Sn的任何活动,其将表明某一具体时间的xyz坐标位置与下一具体时间的xyz坐标位置之间的差别。表格2888有效地记录了从起始时间t0到结束时间tend在整个技能中人类活动如何变化。可以将这一实施例中的举例说明扩展至多个传感器,其由人类佩戴以在执行技能时捕获活动。在标准化环境2878中,机器人臂和机器人手复现来自记录套件2874的所记录的技能,其被转换为机器人指令,机器人臂和机器人手根据时间线2894复现人类技能。机器人臂70和手72以相同的xyz 坐标位置、相同的速度以及如时间线2894所示从起始时间t0到结束时间tend相同的时间增量来执行技能。
在一些实施例中,人类多次执行相同的技能,产生从一次到下一次有些变化的传感器读数值以及对应的机器指令中的参数。每一传感器的在技能的多次重复中的传感器读数的集合将提供具有平均值、标准偏差以及最小和最大值的分布。跨人类对相同技能的多次执行的机器人指令(又称为执行器参数)的对应变化也定义具有平均值、标准偏差值以及最小和最大值的分布。可以采用这些分布确定随后的机器人技能的保真度(或精确度)。
在一实施例中,机器人技能操作的估算平均精确度由下式给出:
其中,C表示一组人类参数(第1到第n),R表示一组机器人设备75参数 (对应地第1到第n)。求和式中的分子表示机器人参数和人类参数之间的差 (即,误差),分母针对最大差进行归一化。求和式给出了总的归一化累积误差(即
),乘以1/n给出了平均误差。平均误差的补数对应于平均精确度。
图27是示出基于来自创建者上布置的传感器的捕获感测数据的创建者活动记录和人形机复现的框图。在创建者运动记录套件3000中,创建者可佩戴具有用于捕获技能的传感器的各种身体传感器D1-Dn,其中传感器数据 3001记录在表3002中。在此示例中,创建者正在用工具执行任务。由传感器记录下来的创建者的这些动作基元可构成在时隙1、2、3和4发生的微操纵3002。技能活动复现数据模块2884配置为将来自创建者记录套件3000 的记录技能文件转换为机器人指令,以用于根据机器人软件指令3004操作机器人人类技能执行部分1063中的机器人部件,诸如机器人臂和机器人手。机器人部件利用用于用工具执行技能的微操纵的控制信号3006来执行技能,微操纵如来自微操纵库数据库3009的微操纵库116中预定义的那些。机器人部件通过从实时调整装置创建技能的临时三维模型3007来以相同的xyz 坐标3005和可能的对技能的实时调整来操作。
为了操作机械机器人机构,例如本申请的实施例中描述的那些,技术人员意识到需要解决很多机械和控制问题,有关机器人的文献恰恰描述了这样做的方法。在机器人系统中建立静态和/或动态稳定性是一个重要考量。尤其是对于机器人操纵而言,动态稳定性是非常期望的特性,其目的在于防止超出预期或编程之外的意外破坏或活动。
图28示出了在本申请的功能的高层级描述水平上用于通用人形机器人的总体机器人控制平台3010。通用通信总线3002用作电子数据导管,包括从内部和外部传感器3014读取、与机器人的当前状态相关的变量及其当前值3016(诸如其移动的公差、其手的准确位置等)、以及诸如机器人在哪里或其需要操纵的对象在哪里之类的环境信息3018。这些输入源使人形机器人知晓其境况并且因此能够执行其任务,从最底层致动器命令3020到来自机器人规划器3022的高层级机器人端对端任务规划,机器人规划器3022可引用部件微操纵3024的大电子库,其然后被解释以确定它们的前提条件是否允许应用,并且被从机器人解释器模块3026转换为机器可执行代码,然后被作为实际命令和感测序列发送到机器人执行模块3028。
除了机器人规划、感测和执行之外,机器人控制平台还可以经由机器人人类接口模块3030通过图标、语言、手势等与人类通信,并且可以通过由微操纵学习模块3032观察人执行与微操纵对应的构建块(building-block) 任务并且将多个观察归纳为微操纵,即,具有前置条件和后置条件的可靠可重复的感测动作序列,来学习新的微操纵。
图29是示出用于作为人形机应用任务复现处理的一部分的微操纵的生成、转移、实施和使用的计算机架构3050(或示意图)的框图。本申请涉及软件系统的组合,其包括许多软件引擎和数据集以及库,其在与库和控制器系统组合时产生一种技术方案,该技术方案对基于计算机的任务执行描述进行抽象和重组,以使机器人人形机系统能够复现人类任务并且能够自组装机器人执行序列以完成任何所需的任务序列。本申请的特定元素涉及微操纵 (MM)生成器3051,其创建微操纵库(MML),人形机控制器3056可访问微操纵库(MML)以创建由驻留在人形机器人本身上/与之相关的低层级控制器执行的高层级任务执行命令序列。
用于执行微操纵的计算机架构3050包括控制器算法公开及其相关联的控制器增益值和用于任何给定运动/致动单元的位置/速度和力/转矩的指定时间分布、以及低层级(致动器)控制器(由硬件和软件元素二者表示)的组合,低层级控制器实施这些控制算法并且使用传感器反馈来确保包含在相应数据集中的规定动作/交互的分布的保真度。这些也进一步详细描述在下文中,并且在相关联的图107中以适当的颜色代码指示。
微操纵库生成器3051是包括创建微操纵(MM)数据集GG3的多个软件引擎GG2的软件系统,数据集GG3又用于成为一个或多个微操纵库数据库GG4的一部分。
微操纵库生成器3051包含上述软件引擎3052,其利用传感器和空间数据以及更高层级的推理软件模块来生成描述相应操纵任务的参数集,由此允许系统在多个层级构建完整的MM数据集3053。多层级微操纵库(MML) 构建器是基于软件模块的,软件模块允许系统将完整的任务动作集分解为串行和并行动作基元的序列,动作基元关于复杂度和抽象度分类为从低层级到高层级。然后,微操纵库数据库构建器使用层级细分来构建完整的微操纵库数据库3054。
前面提到的参数集3053包含多种形式的输入和数据(参数、变量等) 以及算法,包括用于特定任务的成功完成的任务性能度量,由人形机致动系统使用的控制算法、以及任务执行序列和相关参数集的细分,其基于所涉及的人形机的物理实体/子系统以及成功执行任务所需的相应操纵阶段。另外,在数据集中包括一组特定人形机的致动器参数以指定所指定的控制算法的控制器增益,以及用于在任务执行中涉及的每个致动装置的运动/速度和力/ 转矩的时间历史分布。
微操纵库数据库3054包括人形机完成任何特定的低到高层级任务所需的多个低到高层级数据和软件模块。库不仅包含先前生成的MM数据集,而且还包括其他库,例如与动态控制(KDC)、机器视觉(OpenCV)和其他交互/处理间通信库(ROS等)相关的当前已有的控制器功能。人形机控制器 3056也是包括高层级控制器软件引擎3057的软件系统,高层级控制器软件引擎3057使用高层级任务执行描述来向低层级控制器3059馈送用于在人形机器人平台上执行和与其一起执行的机器可执行指令。
高层级控制器软件引擎3057构建特定应用的基于任务的机器人指令集,所述指令集继而被馈送到命令定序器软件引擎,命令定序器软件引擎创建用于命令执行器GG8的机器可理解命令和控制序列。软件引擎3052将命令序列分解成运动和动作目标,并且开发执行计划(时间上的和基于性能水平的),从而能够生成时间顺序的运动(位置和速度)和交互(力和转矩)分布,其然后被馈送到低层级控制器3059以用于由受影响的各致动器控制器3060在人形机器人平台上执行,致动器控制器3060又至少包括其各自相应的电机控制器和电源硬件及软件以及反馈传感器。
低层级控制器包含致动器控制器,其使用数字控制器、电子功率驱动器和传感器硬件来向软件算法馈送用于位置/速度和力/转矩的所需设定点,所述控制器的任务是沿带时间戳的序列忠实地复现,依靠反馈传感器信号来确保所需的性能保真度。控制器保持在恒定循环中以确保随时间实现所有设定点,直到完成所需的运动/交互步骤/分布,而较高层级的任务性能保真度也由命令执行器3058中的高层级任务性能监视软件模块监视,这会导致馈送到低层级控制器的高到低运动/交互分布中的潜在修改,以确保任务结果落在所需的性能界限内并满足指定的性能度量。
在教导回放控制器3061中,通过一组运动分布来引导机器人,分布按时间同步方式连续存储,然后低层级控制器通过控制每个致动元件来精确地遵循先前记录的运动分布来“回放”分布。这种类型的控制和实施对于控制机器人来说是必要的,其中一些可商购获得。虽然所描述的本申请利用低层级控制器来在人形机器人上执行机器可读的时间同步的运动/交互分布,但是本申请的实施例涉及比教导-动作(teach-motions)更通用的技术、更自动化且更有能力的处理、更多的复杂性,允许以更高效和更成本有效的方式创建和执行潜在大量的简单到复杂的任务。
图30描绘了将在基于创建者工作室的记录步骤中和在相应任务的机器人执行期间涉及到的、用于基于工作室和基于机器人的传感器数据输入类别和类型的、不同类型的传感器分类3070及其相关联的类型。这些传感器数据集形成了构建微操纵行为库的基础,其通过基于特定数据或用于实现特定数据值以实现期望最终结果的不同控制动作的多回路组合来构建,无论其是非常明确的“子例程”(握住刀、敲击钢琴键、在画布上画条线等)还是更一般的微操纵例程(准备沙拉、演奏舒伯特的第5号钢琴协奏曲、画田园场景等);后者可通过微操纵子例程的多个串行和并行组合的级联来实现。
传感器已经基于其物理位置和需要控制的特定交互部分分为三类。三类传感器(外部3071、内部3073和接口3072)将其数据集馈送到数据套件处理3074中,数据套件处理3074通过适当的通信链路和协议将数据转发到数据处理和/或机器人控制器引擎3075。
外部传感器3071包括通常位于/使用在双臂机器人躯干/人形机外部并且倾向于模拟世界中的个体系统以及双臂躯干/人形机的位置和配置的传感器。用于这种套件的传感器类型将包括简单的接触开关(门等)、用于一维测距的基于电磁(EM)波谱的传感器(IR测距仪等)、用于生成二维信息(形状、位置等)的视频摄像头、以及用于使用双目/三目摄像头、扫描激光器和结构光等生成空间位置和配置信息的三维传感器。
内部传感器3073是双臂躯干/人形机内部的传感器,主要测量内部变量,例如臂/肢体/关节位置和速度、致动器电流和关节笛卡尔力和转矩、触觉变量(声音、温度、味道等)二进制开关(行程限制等)、以及其他特定设备存在开关。其他一维/二维和三维传感器类型(例如手中的)可通过视频摄像头以及甚至内置的光学跟踪器(例如在躯干上安装的传感器头等)测量范围 /距离、二维布局。
接口传感器3072是用于在双臂躯干/人形机在其任何任务期间与真实世界交互时提供高速接触和交互动作以及力/转矩信息的那些种类的传感器。这些传感器是关键的传感器,因为它们是关键微操纵子例程动作的操作的组成部分,例如以恰好正确的方式(持续时间、力和速度等)敲击钢琴键或使用手指运动的特定序列抓住刀并且实现安全的抓住以使其取向为能够执行特定任务(切番茄、打蛋、压碎蒜瓣等)。这些传感器(以接近度顺序)可以提供与机器人附件到世界之间的远离(stand-off)/接触距离、恰在接触前可测量的终端执行器和世界之间的相关电容/电感、实际接触的存在和位置及其相关表面属性(电导率、顺应性等)、以及相关交互属性(力、摩擦等)和任何其他重要的触觉变量(声音、热量、气味等)有关的信息。
图31描绘了示出基于系统级微操纵库动作的双臂和躯干拓扑3080的框图,其用于具有通过躯干3110连接的两个独立但相同臂1(3090)和2(3100) 的双臂躯干/人形机系统3082。每个臂3090和3100在内部被分成手(3091、 3101)和肢关节部分3095、3105。每个手3091、3101又包括一个或多个手指3092和3102、手掌3093和3103、以及手腕3094和3104。每个肢关节部分3095和3105又包括前臂肢3096和3106、肘关节3097和3107、上臂肢3098和3108、以及肩关节3099和3109。
如图8 B所示的对物理布局进行分组的好处与以下事实有关:微操纵动作可容易地分为主要由手或肢体/关节的某一部分执行的动作,从而显著减少在学习和回放期间用于控制和调整/优化的参数空间。它是某些子例程或主微操纵动作可映射到其中的物理空间的表示,描述每个微操纵所需的相应变量 /参数是微小/必要且足够的。
物理空间域的细分还允许针对特定任务将微操纵动作更简单地细分成一组通用微操纵(子)例程,从而大大简化了使用串行/并行通用微操纵(子) 例程的组合来构建更复杂和更高层级复杂微操纵的处理。应注意,对物理域进行细分以容易地生成微操纵动作基元(和/或子例程)仅是允许简化微操纵 (子)例程的参数描述以使得可以恰当地构建一组通用和特定任务微操纵 (子)例程或动作基元从而建立(一组)完成的动作库的两种互补方案之一。
图32将双臂躯干人形机器人系统3120示为一组操纵功能阶段,其与任何操纵活动相关联,而与要完成的任务无关,用于特定任务动作序列3120 的微操纵库操纵阶段组合和转移。
因此,为了构建更复杂和更高层级的一组微操纵运动基元例程以形成一组通用子例程,高级微操纵可被认为是任何操纵的各种阶段之间的转移,从而允许微操纵子例程的简单级联以开发更高层级的微操纵例程(动作基元)。注意,操纵的每个阶段(接近、抓住、操作等)本身是其自身的低层级微操纵,由控制动作和力/转矩相关的一组参数(内部、外部以及界面变量)描述,涉及一个或多个物理域实体[手指、手掌、手腕、肢体、关节(肘部、肩部等)、躯干等]。
双臂系统的臂1 3131可考虑为使用图108定义的外部和内部传感器以实现终端执行器的特定位置3131,在接近特定目标(工具、器具、表面等)之前具有给定配置3132,在接近阶段3133以及在任何抓取阶段3035(如果需要的话)使用接合传感器来引导系统;随后的处理/操作阶段3136允许终端执行器在其抓取时操纵仪器(搅拌、牵引等)。相同的描述适用于可执行类似动作和序列的臂2 3140。
注意,如果微操纵子例程动作失败(例如需要重新抓取),则所有微操纵序列器必须做的是向后跳回到先前阶段并且重复相同动作(如果需要的话,可能用一组修改的参数以确保成功)。更复杂的动作集合,例如用不同的手指弹奏一系列钢琴键,涉及在接近(Approach)阶段3133、3134和接触阶段3134、3144之间的重复跳跃循环,允许在不同的间隔不同的键被触发,具有不同的效果(软/硬,短/长等);移动到钢琴键音阶上的不同八度音将仅需要阶段回退到配置阶段3132以通过平移和/或旋转来重新定位臂或者甚至整个躯干3140以实现不同的臂和躯干取向3151。
臂2 3140可以在动作协调阶段315(例如在乐队指挥的臂和躯干挥动指挥棒的动作期间)、和/或接触和交互控制阶段3153(例如在双臂揉搓在桌子上的面团的动作期间)的引导下,平行地且独立于臂3130或者与臂3130和躯干3150结合并且协调地进行类似的活动。
在图32中描绘的一个方面是,微操纵,从最低层级子例程到更高层级动作基元或更复杂微操纵动作和抽象序列,可以从一组与特定阶段相关的不同动作生成,这些动作又具有清楚且明确定义的参数集(用于测量、控制和通过学习来优化)。较小的参数集允许更容易的调试和确保子例程能工作,并且允许更高层级的微操纵例程完全基于良好定义并且成功的较低层级微操纵子例程。
注意,将微操纵(子)例程不仅耦接到在图110所示的任务动作的特定阶段期间需要监视和控制的一组参数,而且还与图109中细分的特定物理单元(集合)相关联,这允许一组非常强大的表示,以允许生成直观的微操纵动作基元并且将其汇编成一组通用和特定任务的微操纵动作/活动库。
图33描绘了示出作为工作室数据生成、收集和分析处理的一部分,用于通用和特定任务动作基元二者的微操纵库生成处理3160的流程图。该图示出了如何通过一组软件引擎来处理传感器数据以创建一组微操纵库,微操纵库含有参数值、时间历史、命令序列、性能测量和度量等的数据集,从而确保低层级和更高层级的微操纵动作基元实现低到复杂远程机器人任务执行的成功完成。
在更详细的视图中,示出传感器数据如何被过滤并且输入到处理引擎序列中以获得一组通用和特定任务的微操纵动作基元库。图108所示的传感器数据处理3162包括过滤步骤3161和通过相关引擎将其分组3163,其中数据与图109确定的物理系统元件以及图110描述的操纵阶段相关联,甚至潜在地允许用户输入3164,之后通过两个微操纵软件引擎对它们进行处理。
微操纵数据处理和结构化引擎3165基于动作序列的识别3165-1、操纵步骤的分割分组3165-2、以及然后将其抽象成每个微操纵步骤的参数值数据集的抽象步骤3165-3,创建动作基元的临时库,其中动作基元与一组预定义的低层级到高层级运动基元3165-5相关联并且存储在临时库3165-4中。作为示例,处理3165-1可以通过数据集来识别动作序列,该数据集指示与工作室厨师抓取刀并且继续将食物项切割成片相关的对象抓取和重复来回动作。动作序列然后在3165-2中被分解为图109所示的若干物理元件(手指和肢体/关节)的相关动作,其具有用于一个或多个臂和躯干的多个操纵阶段之间的一组转变(例如,控制手指抓取刀,将其正确地定向,平移臂和手以使刀准备切割,在沿切割平面进行切割期间控制接触和相关的力,沿自由空间轨迹将刀复位至切割起点,然后重复切割食物项的接触/力控制/轨迹跟踪处理,该处理被索引以用于实现不同的切片宽度/角度)。然后,在3165-3中提取与操纵阶段的每部分相关联的参数,分配数值,并且与由3165-5提供的具有记忆描述符的特定运动基元相关联,记忆描述符例如为“抓取”、“对准用具”、“切割”、“索引(index-over)”等。
临时库数据3165-4被馈送到学习和调谐引擎3166,其中来自其他多个工作室线程3168的数据被用于提取类似的微操纵动作及其结果3166-1并且比较它们的数据集3166-2,允许以迭代方式使用一种或多种标准机器学习/ 参数调谐技术在每个微操纵组内进行参数调谐3166-3。另一层级结构化处理 3166-4判定将微操纵动作基元分解成通用低层级子例程和由子例程动作基元的序列(串行和并行组合)组成的较高层级微操纵。
然后,接下来的库构建器3167将所有通用微操纵例程组织成具有所有相关联的数据(命令、参数集、以及预期/要求的性能度量)的一组通用多层级微操纵动作基元,作为单个通用微操纵库3167-2的一部分。然后还构建单独且不同的库作为特定任务库3167-1,其允许将一般微操纵动作基元的任何序列分配给特定任务(烹饪、绘画等),允许包括仅与该任务相关的、通过远程机器人系统复现工作室行为所需的特定任务数据集(诸如厨房数据和参数、特定仪器参数等)。
单独的微操纵库访问管理器3169负责核出(check out)适当的库及其相关数据集(参数、时间历史、性能度量等)3169-1以传递到远程机器人复现系统上,并且核入(checkin)基于一个或多个相同/不同的远程机器人系统的学习和优化的微操纵执行的更新的微操纵动作基元(参数,性能度量等) 3169-2。这确保了库不断增长,并且被越来越多的远程机器人执行平台优化。
图34描绘了示出远程机器人系统如何利用微操纵库来执行由专家在工作室设置中执行的特定任务(烹饪、绘画等)的远程复现的处理的框图,其中专家的动作被记录、分析并且转换成分层级结构化的微操纵数据集(命令、参数、度量、时间历史等)的机器可执行集合,其在被下载并且被正确解析时,允许机器人系统(在本示例中为双臂躯干/人形机系统)以足够的保真度忠实地复现专家的动作,从而实现与专家在工作室设置中的结果基本相同的最终结果。
在高层次上说,这是通过下载包含机器人系统所需的微操纵数据集的完整集合的任务描述库,并且将其提供给机器人控制器以供执行而实现的。机器人控制器产生由执行模块解释并执行的所需命令和动作序列,同时从整个系统接收反馈,以允许其遵循为关节、肢体位置和速度以及(内部和外部的) 力和转矩建立的分布。并行性能监视处理使用任务描述性功能和性能度量来跟踪和处理机器人的动作,以确保所需的任务保真度。允许微操纵学习和调整处理以在特定功能结果不令人满意时取得并且修改任何微操纵参数集,从而使机器人成功地完成每个任务或动作基元。然后,使用更新的参数数据以重新构建修改的微操纵参数集以用于重新执行以及用于更新/重建特定微操纵例程,其被提供回原始库例程作为修改/重新调谐的库,用于其他机器人系统将来使用。系统监视所有微操纵步骤,直到实现最终结果,一旦完成,则退出机器人执行循环,等待进一步的命令或人工输入。
具体来说,上面概述的处理可详细说明为下述序列。通过微操纵库访问管理器3171访问包含通用和特定任务微操纵库二者的微操纵库3170,这确保了用于特定任务的执行和验证临时/最终结果所需的所有必要特定任务数据集3172都是可获得的。数据集至少包括但不限于所有必要的运动/动态和控制参数、相关变量的时间历史、用于性能验证的功能和性能度量和值、以及与当前的特定任务相关的所有微操纵动作库。
所有特定任务数据集3172被馈送到机器人控制器3173。命令定序器 3174为总共′i=N′个步骤创建具有分配的索引值′I′的适当的顺序/并行动作序列,并且将每个顺序/并行的动作命令(和数据)序列馈送到命令执行器3175。命令执行器3175获取每个动作序列,又将其解析为用于致动和感测系统的一组高到低命令信号,使这些系统中的每个系统的控制器确保具有所需位置 /速度和力/转矩分布的动作分布随时间而被正确地执行。来自(机器人)双臂躯干/人形机系统的传感器反馈数据3176被分布跟踪功能所使用以确保实际值尽可能接近期望/命令值。
单独并行的性能监视处理3177在每个单独微操纵动作的执行期间的所有时间测量功能性能结果,并将其与在3172中提供的特定任务微操纵数据集中提供的、与每个微操纵动作相关联的性能度量进行比较。如果功能结果在所要求的度量值的可接受公差限度内,则通过将微操纵索引值递增到′i++′并且将该值馈送到而且控制返回到命令定序器处理3174,而允许机器人的执行继续,使整个处理在重复循环中继续。然而,如果性能度量不同,导致功能结果值差异大,则执行单独的任务修改器处理3178。
微操纵任务修改器处理3178用于允许修改描述任何一个特定任务微操纵的参数,从而确保任务执行步骤的修改将达到可接受的性能和功能结果。这通过从“违规”的微操纵动作步骤取得参数集,并且使用机器学习领域中常见的用于参数优化的多种技术中的一种或多种来实现,以将特定微操纵步骤或序列MMi重建为修订的微操纵步骤或序列MMi*。然后使用修改的步骤或序列MMi*来重建新的命令序列,其被传递回到命令执行器3175以便重新执行。然后将修改的微操纵步骤或序列MMi*馈送到重建功能块,其重新组装微操纵数据集的最终版本,其导致成功实现所需功能结果,因此其可被传递到任务和参数监视处理3179。
任务和参数监视处理3179负责检查每个微操纵步骤或序列的成功完成以及被认为负责实现所需性能水平和功能结果的最终/适当的微操纵数据集二者。只要任务执行未完成,则控制回到命令定序器3174。一旦整个序列已被成功执行,意味着“i=N”,则处理退出(有可能等待进一步命令或用户输入)。对于每个序列计数器值“I”,监视任务3179还将所有重建微操纵参数集的总和∑(MMi*)返回到微操纵库访问管理器3171,以允许其更新图111所示的远程微操纵库3170中的特定任务库。然后远程库更新其自己的内部特定任务微操纵表示[设置∑(MMi,new)=∑(MMi*)],从而使优化的微操纵库可用于所有未来的机器人系统使用。
图35描绘了示出用于与特定任务相关联的微操纵任务动作基元的自动化微操纵参数集构建引擎3180的框图。它提供了如何基于使用物理系统分组和不同操纵阶段来完成为特定任务的特定微操纵构建(子)例程的处理的图形表示,其中可以使用多个低层级微操纵基元(本质上是包括小且简单的动作以及闭环控制动作的子例程)来建立更高层级的微操纵例程,例如抓取、抓取工具等。该处理产生以多维向量(阵列)存储的参数值的序列(基本上是任务和时间索引的矩阵),其基于简单操纵和步骤/动作的顺序以逐步的方式被应用。实质上,该图描绘了生成微操纵动作序列及其相关参数的示例,反映了包含在图112的微操纵库处理和结构化引擎3160中的动作。
图113所示的示例显示了软件引擎如何分析传感器数据以从特定工作室数据集提取多个步骤的一部分。在该示例中,是抓住器具(例如刀)并行进到切割站以抓取或保持特定食物项(例如一条面包)并且将刀对准以切割(切片)的处理。在步骤1中系统聚焦于臂1,其涉及抓取器具(刀),通过将手配置为用于抓取(1.a.),接近在支架中或在表面上的器具(1.b.),执行一组预定抓取动作(包括未示出但包括在抓取微操纵步骤1.c.中的接触检测和力控制)以获取器具,然后在自由空间中移动手以适当地对准手/腕以进行切割操作。由此,系统能够填充(populate)参数向量(1至5)以用于随后的机器人控制。系统返回到涉及躯干的下一步骤2,包括面向工作(切割)表面 (2.a.)、对准双臂系统(2.b.)、返回以进行下一步骤(2.c.)的较低层级微操纵的序列。在下一步骤3中,臂2(没有拿着器具/刀的臂)被命令对准其手(3.a.)以抓取更大对象,接近食物项(3.b.;可能涉及移动所有肢体和关节以及手腕;3.c.),然后移动直到产生接触(3.c.),然后推以用足够的力握住食物项(3.d.),然后对准器具(3.f.)以允许返回(3.g.)之后的切割操作,并且进行到下一步骤(4.等)。
上述示例说明了使用物理实体映射和操纵阶段方案基于简单的子例程动作(其本身也是微操纵)构建微操纵例程的处理,计算机可以使用来自工作室记录处理的外部/内部/接口传感器反馈数据来容易地对其进行区分和参数化。这种用于处理参数的微操纵库建立处理生成完整描述(一组)成功微操纵动作的“参数向量”,参数向量包括传感器数据、关键变量的时间历史、以及性能数据和度量,允许远程机器人复现系统忠实地执行所需任务。该处理也是通用的,因为它对当前任务(烹饪、绘画等)不可知,仅基于一组通用动作和活动基元来构建微操纵活动。可以在任何层级添加简单用户输入和其他预定动作基元描述符以更一般地描述特定动作序列,并允许使其对于未来使用是通用的,或者是任务特定的以用于特殊应用。使微操纵数据集包括参数向量还允许通过学习来持续优化,其中可能对参数进行调整以基于在涉及在一个或多个通用和/或特定任务库中的微操纵例程的应用(和评估)的机器人复现操作期间生成的现场数据来改善特定微操纵的保真度。
图36A是示出机器人架构(或机器人系统)的以数据为中心的视图的框图,中央机器人控制模块包含在中央框中,以便聚焦于数据仓库。中央机器人控制模块3191包含在上述实施例中公开的所有处理所需的工作存储器。特别地,中央机器人控制(CentralRobotic Control)确立机器人操作模式,例如,它是从外部教师观察和学习新的微操纵,还是执行任务,还是处于其他不同的处理模式。
工作存储器1 3192包含直到当前的一时间段的所有传感器读数:从几秒到几小时-取决于多大的物理存储器,典型地为约60秒。传感器读数来自机载或机外机器人传感器,可包括来自相机的视频、雷达、声纳、力和压力传感器(触觉)、音频和/或任何其它传感器。传感器读数被隐式或显式地加时间标记或序列标记(后者意味着传感器读数被接收的顺序)。
工作存储器2 3193含有由中央机器人控制生成并且传递给致动器或者列队以在给定时间点或基于触发事件(例如机器人完成先前动作)传递给致动器的所有致动器命令。这些包括所有必要的参数值(例如,移动多远、施加多大的力等)。
第一数据库(数据库1)3194包含机器人已知的所有微操纵(MM)的库,包括每个MM的triple<PRE,ACT,POST>,其中PRE={s1,s2,...,sn} 是全局状态的一组项目,其在行为ACT=[a1,a2,...,ak]能发生并且导致 POST{p1,p2,...,pm}表示的全局状态的一组改变之前必须为真。在优选实施例中,微操纵被按目的、按其所涉及的传感器和致动器、以及按促成访问和应用的任何其它因素而索引。在优选实施例中,如果执行微操纵,则每个POST 结果与获得期望结果的概率相关联。中央机器人控制(Central Robotic Control) 访问微操纵库以检索和执行微操纵并对其进行更新,例如,在学习模式中添加新的微操纵。
第二数据库(数据库2)3195包含实例库,每个实例是执行给定任务的微操纵序列,例如制备给定菜肴或从不同空间取出物品。每个实例包含变量 (例如,取得什么、行进多远等)和结果(例如,特定实例是否获得期望结果以及离最佳有多远、多快、有或没有副作用等)。中央机器人控制(Central Robotic Control)访问实例库以确定是否有用于当前任务的已知动作序列,并且在执行任务后用结果信息更新实例库。如果在学习模式中,则中央机器人控制添加新实例到实例库中,或者替代地删除无效的实例。
第三数据库(数据库3)3196包含对象存储,其本质上是机器人关于世界中的外部对象所知晓的,并且列出这些对象、它们的类型和它们的属性。例如,刀的类型是“工具”和“器具”,它通常在抽屉中或台面上,它具有一定的尺寸范围,它可以容忍任何抓取力等。鸡蛋的类型是“食物”,它有一定的尺寸范围,它通常在冰箱中,在抓取时它只能承受一定量的力而不破碎等。在形成新的机器人动作规划时查询对象信息,以确定对象属性,识别对象等。当引入新对象时,对象存储也可被更新,并且可以更新其关于现有对象及其参数或参数范围的信息。
第四数据库(数据库4)3197包含关于机器人操作环境的信息,包括机器人位置、环境范围(例如房子中的空间)、它们的物理布局、以及环境中特定对象的位置和数量。每当机器人需要更新对象参数(例如位置、取向) 或需要在环境中导航时,将查询数据库4。当对象被移动、消耗或从外部引入新对象时(例如,当人从商店或超市返回时),数据库4被频繁地更新。
图36B是示出微操纵机器人行为数据的成分、链接和转换中的各种微操纵数据格式的示例的框图。关于成分,专用/抽象计算机编程语言的高层级微操纵行为描述是基于使用基本微操纵基元的,基本微操纵基元本身可以由甚至更基本的微操纵描述,以允许从更复杂的行为构建行为。
非常基本的行为的示例可以是“手指弯曲”,其具有与“抓取”相关的动作基元,使所有5根手指绕对象弯曲,并具有称为“取出器具”的高层级行为,涉及臂移动到相应位置并且然后用所有五根手指抓住器具。每个基本行为 (包括更基本的行为)具有相关的功能结果以及用于描述和控制每个行为的相关校准变量。
链接允许将行为数据与物理世界数据链接,包括:与物理系统(机器人参数和环境几何等)、用于实现动作的控制器(类型和增益/参数)相关的数据,以及监视和控制所需的传感器数据(视觉、动态/静态测量等),以及其它软件环执行相关处理(通信、错误处理等)。
通过称为致动器控制指令代码转换器和生成器的软件引擎,转换 (conversion)从一个或多个数据库获取所有链接的微操纵数据,从而为每个致动器(A1至An)控制器(其本身运行位置/速度和/或力/转矩的高带宽控制环)在每个时段(t1至tm)创建机器可执行(低层级)指令代码,允许机器人系统在一组连续的嵌套环中执行所命令的指令。
图37是示出在机器人硬件技术概念3206、机器人软件技术概念3208、机器人商业概念3202、以及用于承载机器人技术概念的数学算法3204之间的不同层级双向抽象3200的一透视(perspective)的框图。如果本申请的机器人概念被视为垂直和水平概念,则机器人商业概念包括在顶层3202的机器人厨房商业应用、在底层的机器人概念数学算法3204、以及在机器人商业概念3202和数学算法3204之间的机器人硬件技术概念3206和机器人软件技术概念3208。实际而言,如图115所示,机器人硬件技术概念、机器人软件技术概念、数学算法和商业概念中的每个层级双向地与任何层级交互。例如,一种计算机处理器,用于处理来自数据库的软件微操纵,以通过向致动器发送命令指令来控制机器人上的每个机器人元件的移动来实现制备食物的最佳功能结果。贯穿本申请描述了机器人硬件技术概念和机器人软件技术概念的水平透视的细节,例如如图100-114所示。
图38是示出一对机器人臂和带有五根手指的手3210的框图。每个机器人臂70可以在几个关节(例如肘部3212和腕部3214)处关节连接。每个手 72可具有五根手指以复现创建者的运动和微操纵。
图39是示出机器人执行任务3330的框图,其通过用一般微操纵进行多阶段3331-3333执行来进行。如图119所示,当动作计划需要微操纵序列时,在一实施例中,下式给出在实现其期望结果方面机器人计划的估计平均精确度:
其中G表示一组目的(或“目标”)参数(第1至第n),P表示一组机器人设备75参数(对应地第1至第n)。求和式中的分子表示机器人参数和目标参数之间的差(即,误差),分母针对最大差进行归一化。求和式给出了总的归一化累积误差,即
并且乘以1/n给出了平均误差。平均误差的补数(即,1减它)对应于平均精确度。
在另一实施例中,精确度计算对参数的相对重要性进行加权,其中每一系数(每一αi)表示第i个参数的重要性,归一化累积误差为
并且通过下式给出估算平均精确度:
如图39所示,任务3330可被分解成多个阶段,每个阶段需要在下一阶段之前完成。例如,阶段3331必须在进行到阶段3332之前完成阶段结果 3331d。附加地和/或替代地,阶段3331和3332可以并行进行。每个微操纵可被分解为一系列动作基元,其可导致功能结果,例如在阶段S1,在进行到第二预定义微操纵3331b(MM1.2)之前,必须完成第一已定义微操纵3331a 中的所有动作基元,产生功能结果3331a′。第二预定义微操纵3331b又产生功能结果3331b′,直到实现期望的阶段结果3331d。一旦阶段1完成,任务就可进行到阶段S2 3332。此时,完成阶段S2的动作基元,以此类推,直到完成任务3330。以重复方式执行步骤的能力使得能以可预测和可重复的方式来执行期望的任务。
图40是示出根据本申请的微操纵执行阶段的实时参数调整的框图。特定任务的执行可能需要调整所存储的微操纵以复现实际人类技能和运动。在一实施例中,可能需要实时调整以处理对象中的变化。附加地和/或替代地,可能需要调整以协调左右手、左右臂、或其他机器人部件的移动。此外,需要右手微操纵的对象的变化可能影响左手或手掌所需的微操纵。例如,如果机器人手试图剥右手抓住的水果,则左手所需的微操纵将受右手握住的对象的变化的影响。如图120所示,为完成微操纵以实现功能结果的每个参数可能需要不同的用于左手的参数。具体来说,作为第一对象参数的结果,由右手感测到的每个参数变化影响左手使用的参数和左手中的对象的参数。
在一实施例中,为了完成微操纵1.1-1.3以产生功能结果,右手和左手必须感测手或手掌或腿中的对象和对象的状态变化并接收其反馈。该感测到的状态变化可导致对构成微操纵的参数的调整。一个参数中的每个变化可产生每个后续参数和每个随后需要的微操纵的变化,直到实现期望的任务结果。
首先参考附图中的图41,提供了一些实施例中的厨房模块1。厨房模块 1包括设有凹入部3的主厨房单元2。主厨房单元2优选地包括至少一个厨房橱柜。沿凹入部3的长度设有工作表面4。在一些实施例中,工作表面4 设有灶台(hob)5和/或水槽6。在其他实施例中,工作表面4设有其他厨房器具,并且在进一些实施例中,工作表面4不设有任何厨房器具,而设有平坦的工作表面。在优选实施例中,工作表面4并入灶台5和水槽6。
后壁7在凹入部3的后部从工作表面4向上延伸。在一些实施例中,后壁7由至少一个门或面板形成,所述门或面板可移动以显露可移动门或面板后面的存放装置。在一些实施例中,后壁包括可由玻璃制成的可移动滑动面板。在后壁7包括可移动门或面板的实施例中,可移动门或面板可以移动以露出可移动门或面板后面的存放装置,从而使得诸如食品之类的物品能够放入存放装置中或从存放装置移除。
厨房模块1还包括存放装置8,其优选地定位于工作表面4的上方,但可以定位于厨房模块1中的其他位置。存放装置8包括壳体9,其并入多个存放单元10。存放装置8还包括多个容器11,其每一个均配置为由各自存放单元10中的一个承载。下面更详细地描述容器11和存放装置8。
在一些实施例中,厨房模块1包括可移动的烹饪器具12,其在本实施例中为可旋转烤箱。下面更详细地描述可移动烹饪器具12。
在一些实施例中,厨房模块1包括洗碗机单元6A,其优选嵌入在工作表面4中并隐藏在壳体2的面板的后面。
在一些实施例中,厨房模块1包括配置为向用户显示信息的显示屏。显示屏优选地与厨房模块1的电子部件集成在一起,并且配置为使用户能够控制厨房模块1的电子部件。
现在参考附图中的图42,一些实施例中的厨房模块1并入机器人臂装置 13。机器人臂装置13设置在壳体2的上部中,并且优选地至少部分地隐藏在壳体2的面板的后面。机器人臂装置13包括固定在壳体2内的轨道14。轨道14承载至少一个机器人臂。在优选实施例中,轨道14承载两个机器人臂15、16。
现在参考附图中的图43和图44,机器人臂15、16每一个均安装于与轨道14耦接的中心支撑构件17。中心支撑构件17配置为沿轨道14的长度移动。中心支撑构件17还配置为相对于轨道14向下和向上移动机器人臂15、 16。
机器人臂15、16中的每一个包括第一臂部分15a、16a,其在一端可移动地安装到中心支撑构件17。每个机器人臂15、16还包括第二臂部分15b、 16b,其在一端可移动地附接在各自的第一臂部分15a、16a。每个第二臂部分15b、16b的另一端设有终端执行器。在优选实施例中,终端执行器是机器人手18、19。
每个机器人臂15、16包括计算机控制的电机,其配置为移动机器人臂 15、16的第一和第二部分并且控制手18、19。机器人臂15、16耦接到控制单元(未示出),其配置为控制机器人臂15、16在厨房模块1内移动和执行任务。
在一些实施例中,机器人臂15、16配置为移动使得第一和第二臂部分 15a、16a和15b、16b彼此对齐并且基本上平行于轨道14,如图42和图43 所示。当机器人臂处于该位置时,机器人处于离线状态,其中机器人臂15、 16定位于远离工作表面4。
在一些实施例中,机器人臂15、16配置为在机器人处于离线状态时停留在向后位置,并且机器人臂15、16配置为在机器人被激活时向前移动。
在一些实施例中,至少一个可移动门20配置为在机器人臂15、16处于离线位置时封闭在机器人臂15、16下方,如图43所示。每个可移动门20 配置为在机器人臂15、16未使用时隐藏机器人臂15、16。当机器人臂15、 16要被激活时,可移动门20打开以使机器人臂15、16降低从而执行厨房模块1内的任务,如图44所示。在优选实施例中,可移动门20包括两个门部分21、22,其向上枢转以在机器人臂15、16下方提供开口23,如图44所示。
在一些实施例中,厨房模块中的水槽6设有清洁装置。清洁装置包括清洁液出口,其配置为在机器人臂15、16位于水槽6内时将清洁液喷洒到机器人臂15、16的一部分上。清洁装置由此配置为在手18、19放入水槽6内时对机器人的手18、19进行清洁。
现在参考附图中的图45和图46,一些实施例并入可移动挡板,其配置为基本封闭厨房模块1中的凹入部3。在图45和图46所示的实施例中,挡板是可移动玻璃挡板24的形式。玻璃挡板24包括多个互连的玻璃面板元件 25-27,它们与另外的玻璃元件(未在图45和46示出)互连。挡板24配置为在不使用时定位在位于厨房模块1中凹入部3上方的存放隔间28中。当挡板24存放在存放隔间28中时,厨房模块1中的凹入部3暴露而使得厨房模块供人类厨师使用。
挡板24配置为由驱动装置(未示出)驱动以在图6中箭头29、30大体指示的方向上从存放隔间28内移出以至少部分地封闭凹入部3。挡板24优选地完全封闭凹入部3,使得人类厨师不能进入凹入部3。挡板24移动到该使用位置以提供安全挡板,其在机器人臂15、16于凹入部3内操作的同时最大限度地减少或防止人类厨师接近凹入部3。因此,挡板24防止机器人臂 15、16在工作时对人造成伤害。
一旦机器人臂15、16已经完成其程序化工作,机器人臂15、16返回到其水平的存放配置,并且挡板24升高以打开凹入部3供人类厨师接近。
现在参考附图中的图47,在一些实施例中,厨房模块1包括洗碗机单元 31,其定位于邻近水槽6。洗碗机单元31优选地包括平面盖子32,其枢转地安装到洗碗机单元31的壳体以使盖子32能够向上枢转,如图7所示。洗碗机单元31配置为供机器人臂15、16使用,其可向上枢转盖子32并且将待洗涤的物品插入洗碗机单元31内的清洗室33内。当盖子32未升高时,其与工作表面4齐平以提供可用于食物或饮料制备的另一表面。
在一些实施例中,后壁7中的可滑动玻璃面板配置为移动以露出至少一个存放隔间,该存放隔间配置为存放厨房物品,如厨具34、调料盒35、瓶子36和/或厨房用具37。
在一些实施例中,厨房模块1包括抽风机单元38,其优选地装配在工作表面4内邻近灶台5。
现在参考附图中的图48,抽风机单元38包括入口39,其定位于邻近灶台5并且配置为通过抽风机管道40从灶台5的表面上方朝下地抽取烹饪蒸汽,并且将烹饪蒸汽从出口41排出。出口41优选地将烹饪蒸气排出到远离厨房模块1的位置。
在其他实施例中,另一抽风机单元42设置在存放隔间28中的开口23 上方,存放隔间28在机器人臂未处于使用时存放机器人臂15、16。另一抽风机单元42配置为从凹入部3向上地抽取烹饪蒸汽,并且经由另一通风管道(未示出)将烹饪蒸汽抽取到远处位置。该另一抽风机单元42最大限度地减少或防止来自凹入部3内烹饪蒸汽的湿气的积聚。因此,另一抽风机单元42最大限度地减少凹入部3中的玻璃面板由于烹饪蒸汽引起的雾化或模糊。
现在参考附图中的图49,一些实施例中的存放装置43包括壳体44。壳体44优选地是安装在标准化厨房的一部分内或与之邻近的单元。在图49所示的实施例中,壳体44安装在厨房模块1中凹入部3的上方。壳体44的正面45面向外部,并且可由站在厨房模块1附近的人类厨师接近和/或由在凹入部3内工作的机器人臂15、16接近。
壳体44包括多个存放单元26,其在本实施例中为壳体44内的凹入部。
在本实施例中,存放单元46是基本上圆柱形的凹入部,并且壳体44还包括多个另外的存放单元47,这些存放单元47是具有大致矩形横截面的凹入部。
存放单元46每一个均配置为容纳和承载容器48的至少一部分。在本实施例中,每个容器48具有实质上圆柱形的横截面。另一存放单元47每一个均配置为承载具有大致矩形横截面的另一容器49。
在其它实施例中,壳体44并入多个存放单元,其形状和尺寸彼此相同或是不同形状和尺寸的混合物。为了简单起见,以下描述将涉及总体上圆柱形的存放单元46和其各自的容器48。
现在参考附图中的图49-51,存放单元46包括存放单元壳体50,其固定到存放装置的壳体44。存放单元壳体50配置为容纳容器48的至少一部分。
容器48包括用于容纳食材(未示出)的容器主体51。在图50所示的实施例中,容器主体是敞口槽或勺。然而,在其他实施例中,容器48的容器主体可以是平坦的表面,例如平坦的托盘。
现在参考附图中的图51,在一些实施例中,容器48设有保持器装置以将容器48保持在存放单元46内。在本实施例中,保持器装置是分别定位于存放单元46和容器48上的一对磁体52、53的形式。在一些实施例中,第一磁体设置在容器48的后壁上,并且第二磁体设置在存放单元46的后壁上。
当容器48插入存放单元46时,使得磁体52、53彼此相邻并且彼此吸引以将容器48至少部分地保持在存放单元46内。磁体52、53形成的保持器装置配置为使得容器48可以由人或机器人臂15、16从存放单元46内拉出。
在一些实施例中,容器主体51的表面是低摩擦的表面,其优选为光滑且平滑的表面,使得食物能够容易地滑离表面。容器主体51优选地还呈现出弯曲表面,食物可以存放在该弯曲的表面上以进一步使食物粘附到表面的风险最小化。
在一些实施例中,至少一个容器48设有体积指示器,其提供存放在容器48内的食材的体积的可视指示。体积指示器优选为刻度标度的形式,刻度标度指示容器48被食材填充的程度。在其它实施例中,容器48包括电子体积指示器,其在显示屏上或通过优选设置在容器48上的电子指示器指示容器48中食材的体积。
每个容器48设有各自的伸长把手54、55。为了简单起见,以下描述参照容器48及其容器把手54。然而,该描述同样适用于另外的容器47中的一个容器及其各自把手55。
每个把手54包括由容器主体51承载的至少一个支撑腿。在本实施例中,把手54包括两个间隔开的支撑腿56、57,每个支撑腿56、57在一端均耦接到容器主体51。把手54还包括伸长的把手元件58,其耦接到支撑腿56、57 并在支撑腿56、57之间延伸。支撑腿56、57远离容器主体51倾斜,使得把手元件58保持在与容器主体隔开的位置。在本实施例中,支撑腿56、57 和把手元件58一体地形成为单个元件,优选为金属。
在另一些实施例中,存放装置的容器包括仅具有一个支撑腿的把手,其支撑处于与容器主体间隔开的位置的把手元件。
每个容器48的把手54方便机器人移动容器48。把手元件58的间隔开的定位使得机器人臂端部上的手抓住把手54以允许机器人臂容易地将容器 48从存放单元46中移出和移回到存放单元46中。
把手54的伸长配置为机器人手(或抓爪)握住把手54提供了主要或唯一的选项以避免任何容器失去机器人的定向。这便于机器人对于容器的定向和移动。
在一些实施例中,把手54是在厨房模块1中的大部分或所有容器上使用的通用把手。在这些实施例中,把手是配置为易于被机器人识别和操纵的标准化把手。机器人可以使用把手来拾取和操纵承载把手的部件,而无需机器人分析或确定关于该部件的具体细节。把手的伸长形状和尺寸提供了机器人拾取和操纵承截把手的任何部件所需要的所有信息。
在一些实施例中,容器48插入到的存放单元46内的凹入部配置为便于容器48的插入和移除。例如,在一些实施例中,存放单元46的内部凹入部具有从凹入部的后部到容器48插入其中的开口彼此向外发散的侧壁。发散的侧壁便于将容器48插入开口并引导容器48与凹入部对齐。
现在参考附图中的图52,一些实施例中的容器59具有大致矩形的横截面。容器59包括承载把手61的前面板60。基座62和两个隔开的侧壁63、 64从前面板到后面板65朝后地凸出。前面板60和后面板65,侧壁63、64 和基座62形成用于盛放烹饪食材的容器59内的开口端室66的壁。
前面板60的宽度W1大于后面板65的宽度W2。在一优选实施例中,前面板60的宽度比后面板65的宽度W2至少大2mm。从而,在一优选实施例中,沿着容器59的侧壁63、64中的每一个具有大致1mm或更大的容差。
在本实施例中,前面板60的高度H1大于后面板65的高度H2。在一优选实施例中,前面板60的高度H1比后面板65的高度H2至少大2mm。从而,在一优选实施例中,在容器59的后面板65具有大致1mm或更大的容差。
现在参考附图中的图53,容器59配置为至少部分地容纳在存放装置68 中的存放单元67内。在本实施例中,存放单元67是设置在存放装置68的一部分中的凹入部69。凹入部69的尺寸设定为使得凹入部69沿其长度具有基本上一致的高度H3。凹入部69的高度H3基本上等于或略小于容器59 的前面板60的高度H1。从而,当容器59插入凹入部69时,容器59的后面板65的高度H2相对于凹入部69的上壁和下壁具有大致1mm或更大的间隙。
现在参考附图中的图54,在一些实施例中,凹入部69的宽度W3沿凹入部69的长度基本上一致。凹入部69的宽度W3基本上等于或略小于容器 59的前面板60的宽度W1。从而,当容器59插入凹入部69时,容器59的后面板65之间具有大致1mm或更大的间隙。
容器59的后面板65与存放单元67的凹入部69的壁之间的间隙便于人类和机器人将容器59插入存放单元67。1mm或更大的间隙确保在将容器 59插入存放单元67时存在一些误差裕量。容器59的发散侧壁引导容器59 将容器59居中定位于存放单元67内,使得容器59的前面板60实质上封闭存放单元67中的开口。
现在参考附图中的图55和图56,一些实施例中的存放装置包括分别定位于存放单元46的后壁和下壁的加热和/或冷却元件70、71。存放单元46 中的至少一个优选地包括加热和冷却元件中的至少一个。在优选实施例中,存放装置包括定位于存放单元46的后壁和下表面中每一个上的加热和冷却元件70、71,如图55所示。在另一些实施例中,存放单元46包括处于存放单元46的其他侧壁的额外加热和/或冷却元件。
在一些实施例中,存放单元46中的至少一个包括至少一个温度传感器 72,并且优选地还包括至少一个湿度传感器73,如图56所示。
温度和湿度传感器72、73连接到温度控制单元74。温度控制单元74 配置为处理每个传感器72、73感测到的温度和湿度,并将感测到的温度和湿度与温度和湿度分布数据75、76进行比较。
温度控制单元74被连接以控制定位于邻近存放单元46的侧壁或后壁的加热元件77和冷却元件78。蒸汽发生器79优选也耦接到温度控制单元74。蒸汽发生器79配置为将湿度引入到存放单元46中以升高存放单元46内的湿度。
控制单元74感测存放单元46内的湿度和温度,并且通过选择性地激活和停用加热和冷却元件77、78以及蒸汽发生器79,控制存放单元46内的温度和湿度以保持存放单元46内所期望的温度和湿度。因此,控制单元74可以在存放单元46内产生最佳的温度和湿度状况用于存放烹饪食材。
在一些实施例中,控制单元74配置为优化存放单元46内的状况,以将食材存放预定的时间长度。在其他实施例中,控制单元74配置为升高或降低存放单元46内的温度或湿度,以在预定时间制备用于烹饪的食材。
现在参考附图中的图57和图58,在一些实施例中,存放单元46中的至少一个通过伸长传热元件80热耦接到冷却单元81。在本实施例中,传热元件80是绝缘管的形式。传热元件80热耦接到设置在存放单元46的后壁83 中的冷却孔82。
在其他实施例中,除了热耦接到后壁83或代之热耦接到后壁83,传热元件还热耦接到存放单元46的侧壁。
在本实施例中,该装置进一步包括电磁阀84形式的电子控制阀,其定位于存放单元46附近传热元件80内。
当电磁阀84被激活打开时,电磁阀84允许热量从存放单元46沿传热元件80传递到冷却单元81以降低存放单元46内的温度。当电磁阀63未被激活时,电磁阀关闭以限制将热量从存放单元46内传递至传热元件80和冷却单元81。
现在参考附图,一些实施例中的存放单元198配置为容纳容器199,如上所述。在这些实施例中,存放单元198设有改进的冷却系统200。冷却系统200包括电子控制的冷却装置,优选为珀耳帖(Peltier)模块201,其定位于邻近存放单元198的后壁或侧面。冷却系统200进一步包括散热器 202,其热耦接到珀耳帖模块201。冷却系统200优选地还包括风扇203和冷却系统壳体204。
珀耳帖模块201配置为在被控制单元激活时将热量从存放单元198传递到散热器202。风扇203抽取横跨散热器202的散热片的空气以冷却散热器 202并散逸来自散热器202的热能。
在一些实施例中,控制单元74与厨房模块1和容器内的中央控制单元集成在一起,以提供计算机控制的食材存放和/或制备系统。在一些实施例中,中央控制单元配置为存放机器可读指令,其在由中央控制单元内的处理器执行时基于传感器72、73感测到的温度和/或温度来存放指示至少一个容器46 内的温度和/或湿度的数据。
在一些实施例中,厨房模块1配置为通过读取在容器上提供的机器可读标识符来管理容器46内的食材的存放,以将容器识别到控制单元。控制单元配置为将优选地存储在控制单元中存储器内的经优化的存放数据用于特定的食材,以基于从设置在容器上的温度和/或湿度传感器得到的温度和/或湿度数据来控制容器内的温度和/或湿度,从而优化容器内食材的存放条件。
在其他实施例中,厨房模块1配置为利用优选存放在控制单元中存储器内的食材制备数据来控制容器的加热、冷却和/或加湿,以在用于烹饪的容器内制备食材。在一些实施例中,食材制备数据预先记录在厨房模块1中或另一相同或类似的厨房模块1中。厨房模块1内的控制单元配置为使用食材制备数据来准确地制备食材,使得可以重复且一致地制备食材。这使得厨房模块1内的机器人烹饪能够在菜谱中使用精确制备的食材,同时最大限度地减少由于不正确地制备食材而导致的菜谱出错的风险。
现在参考附图中的图59,本发明的一些实施例包括液体容器85形式的改进容器。液体容器85优选具有大致圆形的横截面并且并入液体容器主体 86和分配器(dispenser)喷嘴87。分配器盖子88设置在分配器喷嘴87的远端处。分配器盖子88配置为在液体容器85倒置时自动打开,使得液体能够经由分配器喷嘴87从液体容器85流出。
液体容器85设有至少一个或多个抓握元件89。在本实施例中,抓握元件89是围绕液体容器主体86的周边延伸的O形环。抓握元件89提供与握住液体容器85的机器人手接触的摩擦表面,如图60所示。抓握元件89最大限度地减少液体容器85从机器人手中滑出的风险。由此,抓握元件89降低了液体容器85在机器人手内移动的风险,使得机器人可以精确地移动液体容器85。
现在参考附图中的图61,液体容器85配置为容纳在存放凹入部90内,其优选设置在厨房模块1的工作表面4中。存放凹入部90将液体容器85存放在预定位置,使得液体容器85可以容易地由机器人或由人类厨师定位和拾取。
现在参考附图中的图62-66,一些实施例中的存放装置供与厨房模块1 一起使用并且包括具有不同形状和尺寸的多个容器。在本实施例中,存放装置包括实质上呈长方体形状的标准容器91。标准容器91配置为存放诸如干燥食物、新鲜食物或液体之类的食材。
存放装置还包括比标准容器91更宽的大而宽的容器92。大而宽的容器 92配置为存放诸如肉、鱼、或干燥食物之类的新鲜食物。
存放装置还包括比标准容器91更高的高容器93。高容器93配置为存放伸长的新鲜食物(如芦笋)或干燥伸长的食物(如意大利细面条)。
存放装置还包括紧凑型容器94,其与标准容器91实质上具有相同的宽度但具有降低的高度。紧凑型容器94配置为存放小块和少量的新鲜或干燥的食物或装饰物以在烹饪期间使用。
在一些实施例中,存放各自容器的至少一个存放单元设有锁定装置。锁定装置优选地由计算机控制以锁定或解锁存放单元内的容器。在一些实施例中,厨房模块配置为将容器在预定长度的时间内锁定在存放单元内。在其他实施例中,厨房模块配置为解锁容器以允许容器在预定时间从其存放单元移除。厨房模块因此可以选择性地控制到容器的通路。
在一些实施例中,厨房模块配置为:通过感测容器内的参数(如温度和湿度)和/或通过咨询关于食材在容器内存放的时间长度的数据来监测容器内的食材的新鲜度,并通过将容器锁定在存储单元内限制接近容器以防止使用食材。这可以最大限度地降低机器人或人类厨师使用过了最佳状态的食材的风险。
容器上的电子锁通过限制到容器的通路,进一步最大限度地降低了容器内食材的污染的风险。因此,可以将食材安全地存放在存放装置内,以防止对食材的干扰和可能的污染。
现在参照图67-69,本发明的一些实施例并入可移动平台95,其可从存放位置移动,在该存放位置中,可移动平台95和可移动平台95上的诸如瓶子96之类的物品隐藏在厨房模块1的一部分的后面,如图67所示。平台95 配置为响应于来自控制单元的向下移动的信号而由电机移动,如用图67和图68中的箭头97大体指示的。
平台95配置为向下移动到一可取用(accessible)位置,其中平台95位于工作表面4的附近,如图69所示。在这些实施例中,平台95使得存放在瓶子96内的液体之类的食材能够在不需要食材时的存放位置和需要食材时的可取用位置之间移动。
在一些实施例中,平台95配置为支撑来自烹饪食材的不同类别食材,例如白酒、调酒和用于鸡尾酒的其他食材。平台95为人类厨师和机器人提供对于食材的选择性取用。
现在参考附图中的图70,一些实施例中的容器48承载机器可读标识符 98,其提供关于容器和/或容器内食材的信息。机器可读标识符98例如可以识别存放在容器48内的食材。在一些实施例中,机器可读标识符98是一维或二维条形码。在其他实施例中,机器可读标识符是射频(RFID)标签。
在另一些实施例中,至少一个容器48承载计算机控制的信号发射灯。信号发射灯配置为响应于来自中央控制单元的信号向用户或机器人识别容器48。因此,信号发射灯可以向用户或机器人指示必须被取用的容器或容器内食材的特性,如食材的新鲜度或低层级的食材。
现在参考附图中的图71,一些实施例包括调料架99,其定位于厨房模块1内的工作表面4附近。调料架99包括多个间隔开的凹陷100,其每一个均配置为容纳各个调料盒101。
现在参考附图中的图72,在一些实施例中,调料盒101具有不同的长度。在一优选实施例中,调料盒101通常是圆柱形容器,其每一个均设有盖子102。盖子102配置为使得机器人或人手能够打开调料盒101。在本实施例中,另外的调料盒103设有改进的盖子104。改进的盖子104成形为便于调料盒103 被机器人手打开。
现在参考附图中的图73,一些实施例中的存放装置105是配置为可移动地安装在厨房模块1内的可移动存放装置。可移动存放装置105优选地位于厨房模块1的工作表面4的一端,如图73所示。
可移动存放装置105包括壳体106,其并入多个存放单元107。存放装置105还包括可旋转的安装系统108,其耦接到壳体106以使壳体106能够可旋转地安装到支撑结构,如工作表面4。壳体106包括多个侧面。在本实施例中,壳体106包括四个侧面109-112。侧面109-112中的至少一个包括多个存放单元107,其每一个配置为承载容器113。
在一些实施例中,壳体106的侧面110配置为存放诸如草本植物114之类的烹饪物品。草本植物114例如存放在位于壳体106的侧面110的搁架上的小容器中。
在本实施例中,壳体106还包括配置为存放烹饪用具115的侧面111。烹饪用具115存放在壳体106的侧面111的多个隔间116中。隔间116优选具有不同的大小和尺寸以容纳相应大小和尺寸的用具。
在其他实施例中,壳体116设有比图73示出的实施例中所示的四个侧面更多或更少数量的侧面。例如,在一些实施例中,壳体106具有大致圆形的侧壁,壳体106的一侧是大致圆形的侧壁的一部分。
存放装置105配置为围绕轴旋转,如图73中的箭头117所示。存放装置105优选由计算机控制的电机进行驱动。在一些实施例中,存放装置105 配置为在由人类或机器人手移动时旋转。
存放装置105配置为旋转以将不同的侧面109-112呈现给人类厨师或机器人。在需要机器人接近存放装置105的侧面109-112的情况下,旋转存放装置105使得相关的侧面109-112面向厨房模块1的凹入部3,使得凹入部3 内的机器人臂可以接近存装置105的侧面109-112。
存放装置105配置为顺时针或逆时针旋转90°或180°。在另一实施例中,存放装置105配置为旋转360°以将存放装置105的任何侧面呈现给人类或机器人用户。
现在参考附图中的图74,本发明另一些实施例的存放装置118类似于上述的存放装置105,除了此存放装置118的侧面109-112配置为将不同的烹饪用具119和厨具120存放在一个侧面109,将草本植物121存放在第二侧面110,将厨房器具122存放在第三侧面111,将存放容器123存放在第四侧面112。
现在参考附图中的图75,其他实施例的存放装置124类似于上述的存放装置105,除了存放装置124包括实质上平面的基座125和至少一个搁架元件126,所述搁架元件126相对于基座125的平面以一角度固定。存放装置 124的侧面109-112中的至少一个包括一成角度的搁架元件126。每个成角度的搁架元件126设置在存放装置124的侧面109-112中至少一个侧面的凹入部内。在优选实施例中,存放装置124包括多个间隔开的搁架元件126,其每一个基本彼此平行且相对于基座125的平面成一角度。在一个实施例中,每个搁板元件优选地相对于基座的平面大约以30°和50°之间的角度固定。
搁架元件126将诸如用具127和存放容器128之类的物品以成角度的构造保持在存放装置124中。物品在重力的影响下停留在每个成角度的搁架元件126的下端。因此,搁架元件126上的物品自然地停留在搁架元件126的一端的已知位置。这使得机器人更容易定位在搁架元件126中的至少一个上的物品。
现在参考附图中的图76,本发明的一些实施例中的厨房模块包括烹饪系统129。烹饪系统129包括具有加热室131的烹饪器具130。在优选实施例中,烹饪器具是烤箱。在另一些实施例中,烤箱是蒸汽烤箱。在又一些实施例中,烹饪器具130包括烤架。为了简单起见,下面的描述将参照作为烤箱 130的烹饪器具。
烹饪系统129还包括具有第一支撑元件和第二支撑元件的安装装置(未示出),该第一支撑元件由烤箱130承载,第二支撑元件配置为附接到厨房中的一支撑结构。第一支撑元件和第二支撑元件可移动地彼此耦接以允许第一支撑元件和烤箱130相对于第二支撑元件在第一位置和第二位置之间移动。
在一些实施例中,例如图76所示的实施例,烤箱130在厨房模块1的一端安装到工作表面4的顶部和凹入部3的一端。
烤箱130包括正面132,其设有烤箱门133,烤箱门133提供到烤箱130 内的加热室的通道。烤箱130还包括对向的侧壁134、135。
烤箱130配置为在第一位置工作,在第一位置中,烤箱130的正面132 面向厨房模块1的凹入部3,如图76中所示。烤箱130的第一侧壁134从厨房模块1向外朝向。在该第一位置,在厨房模块1的凹入部3内工作的机器人臂可接近烤箱130的正面132。因此,烤箱130配置为供在厨房模块1中工作的机器人使用。
烤箱130配置为沿着图36中箭头136大体指示的方向围绕其中心轴旋转。
现在参考附图中的图77-79,烤箱130配置为实质上或精确地旋转45°,如图77-79所示。当烤箱130处于45°旋转位置时,烤箱130处于第二位置,在该第二位置,烤箱130的正面132基本上从厨房模块1向外朝向。在该第二位置,邻近厨房模块1站立的人类厨师可以接近烤箱130的正面132,并使用烤箱130进行烹饪。在该第二位置,烤箱130未配置为供在厨房模块1 的凹入部3内工作的机器人臂使用。
现在参考附图中的图80,在一些实施例中,烤箱130配置为通过如图 80中箭头137大体指示的那样旋转而旋转进一步超出45°第一位置。烤箱130 配置为旋转又一45°到另一第二位置,在该第二位置,烤箱130的正面132 从第一位置大致或精确地旋转90°,如图81所示。在该另一第二位置,邻近厨房模块1站立的人类厨师可接近烤箱130的正面132。在该另一第二位置中,在厨房模块1的凹入部3内工作的机器人臂不能接近烤箱130的正面132。
虽然上述实施例的烤箱130配置为旋转,但在另一些实施例中,代之旋转运动或者除了旋转运动之外,烤箱130配置为还相对于厨房模块1进行横向移动。
当烤箱130如图76所示那样处于第一位置并且配置为供在厨房模块1 的凹入部3内工作的机器人臂使用时,基本上封闭凹入部3的玻璃挡板24 将烤箱130的正面132相对于人类厨师进行屏蔽,使得人类厨师不能使用烤箱130。当机器人正使用烤箱130时,出于安全目的,玻璃挡板24将机器人和烤箱130的正面132与人类厨师之间屏蔽,使得人类厨师不能接近烤箱130 或可能承载从烤箱130取出热的物品的机器人臂。
在上述实施例中,厨房模块1提供诸如机器人臂13之类的机器人可以工作的结构化环境。厨房模块1中的存放装置将多个容器存放在对于机器人已知的预定位置中。厨房模块1的诸如可旋转烤箱130、灶台5、水槽6和洗碗机单元6A之类的其他部件的位置都是预先确定的,并且它们的位置对于机器人来说是已知的。因此,诸如机器人臂13之类的机器人可以在厨房模块1内执行操作,并且容易且无差错地与厨房模块1的各部件相互作用。
机器人可以在厨房模块1内执行精确的操纵,以便遵循菜谱并在厨房模块1内使用存放在容器内的食材来制备食物或饮料。通过确保机器人所需的所有部件和食材处于机器人可以容易且快速地接近的预定位置,厨房模块1 内的容器的预定布局使得烹饪处理期间发生错误的风险最大限度地减少。因此,机器人可以以与人类在厨房模块1内制备食物或饮料相似或更快的速度在厨房模块1内制备食物或饮料。
厨房模块1内的机器人优选地配置为通过读取容器48上的机器可读标识符98来识别容器48以确定存放在容器48内的食材。机器可读标识符98 还优选地配置为向机器人提供关于容器48内的食材的附加信息(诸如食材的体积或重量)。因此,在机器人正制备食物或饮料时,机器人可以使用每个容器48上的机器可读识别符98提供的信息,使得在机器人不必测量出或分析容器48内的食材的情况下,机器人可以将食材用在菜谱中。
在本发明的实施例中,机器人是配置为响应于来自控制单元的命令而在厨房单元1内移动和执行操纵的计算机控制的机器人。控制单元包括存储器,其存储配置为供处理器运行的机器可读指令。该存储器配置为存放供机器人使用的菜谱数据。在一些实施例中,菜谱数据至少包括供机器人遵循菜谱所使用的食材列表和制备步骤。在一些实施例中,供机器人使用所需的所有食材都被预先制备并存放在厨房模块1中的容器内,使得机器人可以遵循菜谱并使用预先制备的食材来制备食物或饮料。
在一些实施例中,将待由机器人执行的操纵作为预定操纵数据存放在控制单元中的存储器内。预定的机器人操纵优选为预先记录的操纵,其模拟或至少部分地匹配厨房模块1内工作的人类厨师的活动。
现在参考附图中的图82,一些实施例中的容器装置138优选地配置为用作上述存放装置8中的容器。容器装置138包括承载把手140的第一部分139。把手140优选地与上述实施例的把手具有相同的配置。
第一部分139包括大致平坦的基座141。两个间隔开的侧壁142、143 从基座141向上延伸到基座141的对向侧。正面144从基座141的前边缘向上延伸。正面144耦接到侧壁142、143或与侧壁142、143一体地形成,并且优选地向上延伸到侧壁142、143的上边缘以上,如图82所示。
容器装置138还包括可移动地安装到第一部分139的第二部分145。
现在参考图83-86,容器装置138的第二部分145包括壁146,其由四个连接的侧壁146a-d构成,如图44所示。侧壁146a-d优选地布置成矩形构造。第二部分145的侧壁146至少部分地围绕位于第一部分139的基座141 上的食品147,如图43所示。
第二部分145的相对侧壁146b和146d通过可移动的安装装置可移动地安装到第一部分139的侧壁142、143。可移动的安装装置优选地包括轨道148、149,其允许第二部分145相对于第一部分139容易地滑动和移动。
第二部分145的后侧壁146a优选地设有从壁146a向上凸起的把手元件 150。
在诸如图82-86所示的实施例之类的优选实施例中,第二部分145具有敞开的下孔151。
容器装置138配置为盛放或存放食品147。当食品147存放在容器装置 138内时,食品147停留在第一部分139的基座141上。当需要食品147时,例如当要在菜谱中使用食品147时,通过机器人或人手作用于把手140将容器装置138从存放装置移除。为了简单起见,以下描述将参照机器人对于容器装置138的使用。
为了将食品147定位于期望的位置,机器人将容器装置138定位于期望的位置的上方。然后,机器人沿图83中箭头151大体指示的方向拉动把手元件150,以使容器装置138的第二部分145远离容器装置138的第一部分 139的正面144。第二部分145相对于第一部分139移动,并且通过这样做,第二部分145的一部分(其在本实施例中是侧壁146c)作用于食品147以相对于第一部分139移动食品147。当相对于第一部分139持续移动第二部分 145时,食品147被侧壁146c推动离开基座141。食品147然后在重力的作用下通过第二部分145下端中的开口151掉落,如图84和86所示。
通过使机器人能够容易地从容器装置138内移除食品147,对容器装置 138的可移动的第一和第二部分139、145的配置进行优化以供机器人使用。这种配置避免了需要机器人的手触摸食物或试图从容器装置138内挑选出食物。该配置提供了用于在不触摸食物的情况下从容器装置138内移除食物的高效配置。此外,第二部分145相对于第一部分139的刮擦效果将食物从容器装置138内高效地移除,并且最大限度地减小了要不然可能残留在容器装置138内的食物的浪费。
现在参考附图中的图87-89,一些实施例中的烹饪装置152包括支撑架 153、容器装置154和烹饪部分155。下面描述烹饪装置152的这三个部件。
支撑架153优选地包括大致矩形的侧壁156,其由两个对向的侧壁156a-b 和两个对向的端壁156c-d构成。支撑架153优选地包括敞开的上端和下端。
支撑架153优选地包括下方保持凸缘(retaining lip)157,其围绕支撑架153的壁156a-d的下边缘的周边而延伸。当容器装置154和烹饪部分155 放置在支撑架153内时,保持凸缘157大体向内延伸以支撑容器装置154和烹饪部分155的下部,如图87所示。然而,要理解的是,在其他实施例中,保持凸缘157从支撑架153省略。
烹饪部分155包括大体上平面的烹饪基座158。在一些实施例中,烹饪基座158是光滑的或不粘的表面。在其他实施例中,烹饪基座158设有隆脊,使得烹饪基座158用作平底锅。
烹饪部分155包括直立的侧壁159,其至少部分地围绕烹饪基座158以基本上围绕和盛放烹饪基座158上烹饪的食物。侧壁159设有把手160。把手160通过把手支撑件161,162安装到侧壁159。在优选实施例中,把手160 可旋转地安装到把手支撑件161,162。
烹饪部分155还包括枢转构件163,其设置在烹饪部分155的与把手160 对向的一侧的侧壁159上。枢转构件163包括从烹饪部分155的每一侧向外凸出的两个枢转元件164、165,如图88所示。
现在参考附图中的图90-92,烹饪部分配置为通过将烹饪部分155插入支撑架153的一部分而被保持在支撑架153内。当烹饪部分155完全插入到支撑架153时,枢转元件164、165与各自的保持器装置166和167啮合,保持器装置166和167被提供为邻近支撑架153的侧壁156a-b的上边缘。
保持器装置166、167保持枢转元件164、165,使得烹饪部分155保持在支撑架153内,如图92所示。在一些实施例中,保持器装置166、167配置为可释放地将枢转元件164、165锁定成与支撑架153啮合。保持器装置 166、167优选地是使得烹饪部分155能够快速锁定到支撑架153或从支撑架 153释放的快速锁定/解锁系统。
如在下面更详细讨论的那样,枢转元件164、165通过保持器装置166、 167枢转地安装到支撑架153,以使烹饪部分155能够相对于支撑架153围绕枢转构件163旋转。
现在参考附图中的图93和图94,容器装置154包括承载把手169的第一部分168。第一部分168包括优选为烹饪表面的基座170。
容器装置154包括可移动地安装到第一部分168的第二部分171。可移动的安装优选地是滑轨的配置,其允许第二部分171相对于第一部分168的低摩擦平移移动。
第二部分171包括由四个邻接的壁部分172a-d构成的大致矩形的壁172。壁172配置为:当容器装置154的第二部分171插入容器装置154的第一部分168时,围绕或基本上围绕停留在第一部分154的基座170上的食物,如图93所示。
容器装置154的第二部分171的端壁172b包括另一把手173。把手173 配置为沿图53中箭头174大体指示的方向被拉动,使得第二部分171从第一部分168滑出。当第二部分171从第一部分168滑出时,与承载另一把手 173的壁172b相对的端壁172d作用于第一部分168的基座170上的食物。第二部分171的端壁172d将食物推动并摩擦离开基座170。因此,容器装置 154允许在不触摸食物的情况下机器人或人类从容器装置154内移除食物。此外,第二部分171相对于第一部分168的平移摩擦效果使得从第一部分168 移除的食物最大化,由此使浪费最小化。
现在参考附图中的图95,容器装置154配置为沿箭头175大体指示的方向朝下插入支撑架153,使得容器装置154定位于邻近支撑架153内的烹饪部分155。
现在参照附图中的图96-101描述烹饪部分155和容器装置154的工作。
食品176最初放置在烹饪部分155的烹饪基座158上,如图96所示。食品176例如是需要在每一侧进行烹饪的肉的一部分。当食品176停留在烹饪基座158上时,烹饪部分155的组件、容器装置154和支撑架153定位于诸如烹饪灶台之类的热源上。烹饪灶台加热烹饪基座158以烹饪食品176的第一侧。
一旦食物176已被烹饪了足够长的时间,机器人或人类厨师握住烹饪部分155上的把手160,并抬起把手160以使烹饪部分155沿图97中的箭头 177大体指示的方向围绕枢转构件163枢转。烹饪部分155枢转,使得烹饪基座158部分地或完全地叠加在容器装置154的基座170上,从而食品176 落到容器装置154的基座170上。烹饪部分155然后枢转回到初始位置,其中食品176保留在容器装置154的基座170上,如图98所示。然后,食品 176的另一侧在停留在容器装置154的基座170上的同时被烹饪。
一旦食品176的第二侧已烹饪足够长的时间,通过沿图99中的箭头178 大体指示的垂直方向升起容器装置154,使用把手169将容器装置154从支撑架153移除。
现在参考附图中的图100和图101,通过在图60中箭头179大体指示的方向上拉动容器装置154的第二部分171的把手173,将现在已经在两侧被烹饪的食品176从容器装置154移除。第二部分171的端壁172d作用于食品176以将食品176推动或摩擦离开基座170。食品176然后向下掉落离开基座170,如图101所示。
烹饪部分155、容器装置154和支撑架153的配置使机器人或人类厨师能够在两侧烹饪食品,机器人或人类不必使用额外用具或者也不必与食物进行任何接触。因此,该装置被优化以供机器人烹饪系统使用。
现在参考附图中的图102,一些实施例中的容器装置180包括具有至少一个侧壁182的容器主体181。在本实施例中,侧壁182是大致圆柱形的侧壁。在其他实施例中,容器装置180包括至少一个另外的侧壁。
容器装置180包括设置在容器主体181内的存放室183。
现在参考附图中的图103,容器装置180具有敞开的上方第一端184,其限定存放室183中的开口。容器主体181还包括敞开的第二端195,其通过闭合元件186被可释放地封闭。在本实施例中,可释放闭合元件186是大致圆形的盘形元件,其配置为可释放地附接到容器主体181。在一些实施例中,闭合元件186配置为通过将闭合元件可释放地锁定到容器主体181的诸如螺钉或旋转锁定装置之类的锁定装置可释放地附接到容器主体181。闭合元件186可从容器主体181释放,以方便容器主体181和闭合元件186的清洁。
容器主体181包括伸长的引导通道187,其至少部分地沿容器主体181 的长度设置。引导通道187的目的将从下面的描述变得清楚。
容器装置180还包括弹出元件188,其配置为可移动地耦接到容器主体 181,其中弹出元件188的一部分设置在存放室183内。
在本实施例中,弹出元件188是大致圆形的盘状元件。弹出元件188包括弹出元件主体189,其部件边缘190,该边缘190围绕存放室183的周边接触容器主体181和/或定位为邻近容器主体181。在弹出元件188的边缘190 和容器主体181之间优选设置实质上液密密封。弹出元件188用作分隔元件,其实质上横跨存放室183的整个宽度或直径延伸。
在本实施例中,弹出元件188在弹出元件188的边缘190中设有凹入部 191。凹入部191配置为容纳设置在容器主体181上的导轨凸部192的至少一部分。凹入部191配置为相对于导轨凸部192滑动,使得导轨凸部192引导弹出元件188沿存放室183的长度移动,同时最大限度地减少弹出元件188 的旋转。然而,在一些实施例中,省略了凹入部191和导轨凸部192。
在一些实施例中,弹出元件188设有弹出元件把手193。在本实施例中,弹出元件把手193包括由弹出元件188的边缘190承载的狭窄部分194。弹出元件把手193还包括耦接到狭窄部分194的较宽部分195。当弹出元件188 至少部分地定位于存放室183内时,弹出元件把手193,弹出元件把手193 从容器主体181向外凸出。弹出元件把手193的狭窄部分194可滑动地适配在容器主体181中的引导通道187内。
当弹出元件188如图104所示那样定位于存放室183的下端时,弹出元件188处于第一位置。烹饪食材放置在存放室183内。烹饪食材例如是要在存放室183内混合或切碎的高粘度食材。
现在参考附图中的图105,弹出元件188可从第一位置移动到第二位置,在该第二位置,弹出元件188定位于邻近容器主体181的第一端。弹出元件 188配置为通过人类或机器人手在图64中箭头196大体指示的方向沿着容器主体181的长度向上移动弹出元件,从而从第一位置移动到第二位置。
现在参考附图中的图106,当容器装置180处于使用时,容器装置180 配置为在弹出元件188从第一位置移动到第二位置之前被倒置。容器主体 181设有配置为由机器人或人手承载的伸长把手197。把手197的伸长特性方便机器人对于容器装置180的定向和定位。
一旦容器装置180已经倒置,由于食材粘附到存放室183的壁181,高粘度食材可能保留在存放室183内。如果是这种情况,则机器人或人手可以作用于弹出元件把手193,以将弹出元件188从第一位置移动到第二位置,从而将食材从存放室183中弹出。可移动弹出元件183的配置使得机器人或人类能够在人类或机器人不必触摸食材的情况下容易地从存放室183移除高粘度食材。
现在参考附图中的图107和图108,一些实施例中的机器人的终端执行器为机器人手205的形式。机器人手205是人形机器人手,其包括四个手指 206和拇指207。手指206和拇指207包括多个可移动的关节,这些关节使得手指206和拇指207的部分能够相对于彼此移动。
手指206和拇指207的部分耦接到相应的腱元件208-212。腱元件 208-212是柔性元件,其配置为被拉动或推动以移动手指206、207的部分。手指206的腱元件208-211经由连接板213耦接。连接板213耦接到通过滑轮216延伸到传动装置(未示出)的控制腱214、215。在使用中,传动装置驱动控制腱214、215以拉动和/或推动腱元件208、212,从而控制手指206 和拇指207的部分进行移动以握住或释放物品。
现在参考附图中的图109,机器人手205包括多个互连的隆脊状元件217,其至少部分地被软层弹性材料218覆盖。弹性材料218优选为诸如海绵、凝胶或泡沫层之类的弹性材料。外硬层219至少部分地覆盖软层218以在机器人手205的外部提供弹性表面。
现在参考附图中的图110,在一些实施例中,机器人手205中邻近手掌部分220和拇指221的部位至少部分地被衬垫部分222覆盖。在本实施例中,衬垫部分222包括保持在表皮层224下面的多个珠子223。表皮层224例如是硅树脂并且是柔性的,以允许珠子223起到减震结构的作用。表皮层224 和珠子223的结构还提供了可变形结构,其配置为部分地围绕机器人手205 正握住的物品而变形,以使机器人手205的摩擦抓握最大化。
现在参考附图中的图111和112,一些实施例中的机器人手205设有至少一个传感器225。在本实施例中,机器人手205设置有多个传感器225。传感器225被承载于机器人手205的手掌部分220上的不同位置。
在一些实施例中,每个传感器225都是三通路(tri-access)磁传感器,其配置为感测磁体226在三个轴X、Y和Z上的磁场,如图111所示。
传感器225配置为感测机器人手205正握住的物品227的存在,如图162 所示。在本实施例中,每个传感器225配置为感测设置在物品227上的多个磁体228、229中的至少一个的磁场。机器人手205上的多个传感器225和物品227上的多个磁体228、229使得用于分析来自传感器225的输出的控制单元能够确定感测到的磁体228、229的磁场的强度并且确定物品227相对于机器人手205的位置。传感器225因此提供使得控制单元能够确定机器人手205正握住的物品227的位置或定向的信号。
现在参考附图中的图114,一些实施例中的食物机器人烹饪系统230包括厨师工作室系统231和家用机器人厨房系统232,用于通过复现厨师的菜谱处理和活动来制备菜肴。在一些实施例中,家用机器人厨房系统是上述实施例的厨房模块。
厨师厨房231(也称为“厨师工作室-厨房”)配置为将一个或多个软件记录的菜谱文件233传送给机器人厨房232(也称为“家用机器人厨房”)。在一些实施例中,厨师厨房231和机器人厨房232均采用与上述实施例中的厨房模块相同的标准化机器人厨房模块。这使得制备食物菜肴的精确复现最大化,这样减小了可能在厨师厨房231制备的食物菜肴和机器人厨房232制备的菜肴之间导致偏差的变数。厨师234佩戴机器人手套或服装,其具有外部传感器设备以用于捕捉和记录厨师的烹饪动作。
现在参考附图中的图115,机器人厨房232包括用于控制各种计算功能的计算机235,其中计算机235包括存储器236和机器人烹饪引擎237,存储器236用于存储来自用于捕获厨师动作的手套或服装的传感器的一个或多个软件菜谱文件。机器人烹饪引擎优选为计算机实现的方法(软件)。机器人烹饪引擎237包括一制备烹饪操作控制模块238,其使用所记录的传感数据。
机器人厨房232通常用一对机器人臂和手进行工作,其中任意用户239 开启机器人厨房232或对其进行编程。机器人厨房232中的计算机235包括硬自动化模块,其用于运行机器人臂和手;菜谱复现模块,其用于根据软件菜谱(食材、次序、处理等)文件来复现厨师动作。
机器人厨房231配置为用于检测、记录和模仿厨师的烹饪动作,控制诸如随时间推移的温度之类的重要参数以及机器人厨房站中采用指定用具、设备和工具的处理执行。厨师厨房231提供计算厨房环境,其具有带传感器的手套或带传感器的服装以用于记录和捕获厨师234对于特定菜谱在食物制备中的动作。
厨师厨房231包括参数记录模块240,其配置为接收和存储指示厨师厨房231中的至少一个容器内的温度和/或湿度的温度和/或湿度数据。温度和/ 或湿度数据是从来自设置在容器上的至少一个温度和/或湿度传感器的信号中得到的。参数记录模块240还优选地记录指示厨师厨房231中的至少一个容器的加热和/或冷却元件的运行的数据。因此,参数记录模块240捕获和记录厨师234在制备菜肴时对厨师厨房231中至少一个容器的使用和设定。
在针对特定菜肴将厨师234的动作、参数和菜谱处理记录到存储器241 中的软件菜谱文件中时,软件菜谱文件从厨师厨房231经由通信网络传送到机器人厨房232。通信网络包括优选地与因特网连接的无线网络和/或有线网络,从而用户(任选的)239可购买一个或多个软件菜谱文件,或者用户可以作为接收新软件菜谱文件或现有软件菜谱文件的定期更新的会员订购厨师厨房231。
在家庭住所、餐馆以及建造了厨房以供用户239制备食物的其他地方,家庭机器人厨房系统232用作机器人计算厨房环境。家庭机器人厨房系统 232包括具有一个或多个机器人臂和硬自动化装置的机器人烹饪引擎237,用于基于从厨师工作室系统231接收到的软件菜谱文件复现厨师的烹饪动作、处理和活动。
厨师工作室231和机器人厨房232代表存在着复杂联系的教导重现系统,其具有多个层级的执行保真度。虽然厨师工作室231生成如何准备专业烹饪菜肴的高保真处理模型,但机器人厨房232是通过在厨师工作室中工作的厨师而创建的菜谱脚本的执行/复制引擎/处理。
机器人厨房232的计算机235配置为接收来自传感器242的用于输入原始食物数据的信号。计算机235还配置为与操作控制单元243通信,操作控制单元243在一些实施例中是设置在机器人厨房232内的触摸屏显示器。在其他实施例中,操作控制单元243是例如可以用运行在设备上的软件实现的另一控制单元。机器人厨房232的计算机235配置为与存放系统244、厨房台面柜台(counter)245、厨房洗涤/清洁柜台246和厨房上菜柜台247进行通信。
机器人厨房232中的计算机235还配置为与包括传感器的烹饪器具和/ 或烹饪炊具249进行通信。烹饪炊具249例如存放在机器人厨房232中的橱柜内或搁架上。
机器人厨房232内的计算机235还配置为与机器人厨房232中的诸如上述实施例中的容器之类的容器250进行通信。如上所述,一些实施例中的容器250设有温度和/或湿度传感器并且设有加热/冷却元件和蒸汽发生器,以便感测容器250内的状况并控制容器内的温度和/或湿度。计算机235配置为控制每个容器250内的温度和/或湿度,并且计算机235配置为将指示容器 250内的温度和/或湿度的数据记录在存储器236中。
现在参考附图中的图116,厨师工作室烹饪处理251包括由厨师工作室 231内的厨师234执行的步骤,并且还包括由厨师工作室231中的机器人烹饪引擎237执行的步骤。
厨师234通过创建252菜谱开始。机器人厨房232中的计算机235接收 253菜谱名称、菜谱中使用的食材的ID和用于菜谱的度量输入。然后厨师 234通过将食材制备(称重、切割、切片等)成期望的重量或形状以开始烹饪254菜谱。厨师234将制备的食物/食材移动到指定的计算机控制的容器 250中,以便存放食材或通过使食材达到期望的状况来制备食材。例如,厨师234可以将冷冻肉放置在容器250中解冻,然后将解冻肉保持在一定的温度。可替代地,厨师234可以将揉捏的生面团放置在一定的温度和湿度下发面,用于在容器中保持的温度和/或湿度状况下有效发酵。
厨师234激活计算机235以将指示容器250内的感测到的状况参数的数据记录在存储器236中。计算机235记录温度和/或湿度数据,其指示容器 250内的食材的存放条件和/或制备用于菜谱的食材的条件。容器250的传感器沿整个烹饪处理时间线捕获诸如温度、湿度或压力之类的实时数据。
厨师234检查容器内的食材的状况和准备就绪情况,并且如果需要,激活计算机235以在达到期望条件时停止记录来自容器250的传感器数据。厨师234设置“0”时间点并接通在计算机235中实现的烹饪参数传感器记录系统。随着厨师234开始烹饪菜谱,计算机235捕获255整个烹饪处理期间至少一个容器250内的实时数据(温度、湿度、压力),并将该数据存放在存储器236中。
然后,机器人烹饪引擎237基于所记录的烹饪参数数据(温度、湿度、压力)生成256仿真程序,并生成用于每个容器250和所有烹饪炊具的曲线分布。曲线分布指示跟踪菜谱时机器人厨房中容器250和器具内的烹饪参数。计算机235记录厨师234在该处理期间对烹饪参数所做的任何调整。
一旦菜谱已经完成并且烹饪参数数据存储在存储器236中,厨师工作室 231就连同烹饪菜谱程序一起输出257所记录的参数数据。该输出257例如是配置为整合数据的计算机应用程序开发模块。在一些实施例中,数据被输出257并且整合到一应用程序中,并且提交给电子应用程序商店或市场以供购买或订购。
现在参考附图中的图117,一些实施例中的机器人烹饪处理258配置为供用户在家中机器人厨房232内执行机器人烹饪处理258。
用户239最初选择259菜谱。在一些实施例中,用户239通过访问机器人厨房232的计算机235的存储器236中存储的菜谱来选择259菜谱。在其他实施例中,用户239通过从远程计算机电子地获得菜谱,例如通过从在线资源下载菜谱,从而选择259菜谱。
一旦已经选择菜谱,机器人厨房232就接收260指示所选菜谱的数据,以使机器人厨房232能够烹饪菜谱。机器人烹饪引擎237将所选菜谱上传261 到存储器236中。
一旦菜谱已被加载到存储器236中,用户239在“0”时间点启动262计算机235以激活机器人厨房232跟踪菜谱。在一些实施例中,用户239根据菜谱将食材(切割、切片等)制备成所需重量或形状。用户239将制备的食材移动到指定的计算机控制的容器250中,以在最佳条件下存放食材或制备用于烹饪的食材(例如对冷冻肉进行解冻)。
然后,机器人厨房232根据菜谱实时地执行263烹饪处理。机器人厨房 232使用容器250内的参数(温度/湿度)的曲线分布,其通过菜谱形成提供给机器人厨房232的数据的一部分。机器人厨房232使用参数曲线分布来设定每个容器250内的温度、湿度和/或压力,并根据机器人厨房232的时间线来控制这些参数,以根据记录菜谱时在厨师工作室231中执行的菜谱来准备菜谱。
容器250内的传感器监测并检测每个容器250内的食材的处理和准备就绪情况。对于需要在容器250内制备食材的菜谱,机器人烹饪处理258在一旦容器250内完成制备处理时开始。
现在参考附图中的图118,烹饪处理继续,计算机235控制264机器人厨房232内的烹饪炊具和器具,以烹饪从容器250获取并由机器人厨房232 内的机器人臂操纵的食材以烹饪菜谱。机器人厨房232基于从厨师工作室 231捕获和保存的数据,使用随着整个烹饪时间推移的参数曲线(温度、压力和湿度),以确保机器人厨房232忠实地为用户239再现菜谱。
一旦机器人烹饪引擎237已完成菜谱,机器人烹饪引擎237就向用户239 发送265通知。
机器人烹饪引擎237通过向计算机控制的烹饪系统发送终止处理的请求来终止266烹饪处理。
在最后的步骤,用户239移除267用于上菜的菜肴或继续用菜肴手工地烹饪。
现在参考附图中的图119,一些实施例中的另一厨师工作室烹饪处理268 在某些方面与上述实施例中的厨师工作室烹饪处理251相同,并且相同的附图标记用于烹饪处理251、268中的共同步骤。然而,尽管上述实施例中的厨师工作室烹饪处理251由在厨师工作室231中烹饪的厨师234使用,但图 79中所示实施例中的厨师工作室烹饪程序268另外记录厨师工作室231内的厨师234的手臂和手的运动。在记录处理期间,厨师234激活269厨师机器人记录器模块,以在执行菜谱时记录厨师234的手臂和手指的移动和测量。
现在参考附图中的图120,厨师机器人记录器模块记录270指示厨师234 的手和手指所执行的运动和动作的数据。在一些实施例中,厨师机器人记录器模块例如使用厨师234佩戴的压敏手套捕获和记录烹饪菜谱时厨师234的手指施加的力。在一些实施例中,厨师机器人记录器模块记录厨房内厨师234 的手和手臂的三维位置(例如当切鱼时)。在其他实施例中,厨师机器人记录器模块还记录存储厨师234制备用于菜谱的菜肴和食材的视频图像的视频数据以及厨师234制备菜谱执行的处理或其他交互中的其他步骤。在一些实施例中,厨师机器人记录器模块在厨师234正根据菜谱烹饪菜肴的同时捕获厨房内的声音,如厨师234的人声或烹饪声音,诸如煎炸的嘶嘶声等。
厨师机器人记录器模块271实时保存厨师234的手和手指以及机器人厨房内的其他部件的全部或基本全部的实时运动。机器人记录器模块271如上所述那样保存食材存放和/或制备参数(温度、湿度、压力)以及指示上述参数的曲线分布。机器人烹饪引擎237配置为连同食材参数曲线分布一起整合 3D实时移动数据和其他记录的媒体,并且针对所选菜谱将数据保存256在存储器236中。
现在参考附图中的图121,一些实施例中的机器人烹饪处理272在某些方面与上述机器人烹饪处理258相同,并且在两个处理258、272中相同的步骤将使用相同的附图标记。
在图121所示的实施例中,机器人烹饪处理272激活273至少一个机器人臂以执行机器人厨房232内的操作,使得至少一个机器人臂复制厨师工作室231中机器人记录器模块记录的厨师234的至少一个手臂的移动。
现在参考附图中的图122,至少一个机器人臂处理274机器人厨房232 中容器内存储的食材,并且以厨师工作室231中厨师机器人记录模块所记录和保存的与厨师234的手和手指具有的相同运动、相同压力、力量和三维定位以及相同步速来执行烹饪技术。
一旦每个机器人臂已经完成菜谱中的步骤,则机器人烹饪引擎237将烹饪的结果与控制数据(例如,温度或重量损耗)和媒体数据(例如,颜色/ 外观、气味、部位尺寸等)进行比较275。每个机器人臂自身对齐276,并且在必要的情况下根据在比较步骤275获得的烹饪结果来调整其位置和/或配置。基于期望的完成呈现和上菜部位尺寸,每个机器人臂最终将烹饪的菜肴移动277到上菜用具。机器人厨房232连同存放和制备食材参数曲线一起使用每个机器人臂,以为最终用户忠实地重新创建厨师工作室231中记录的菜谱的菜肴。
现在参考附图中的图123,一些实施例中的机器人厨房232的机器人烹饪引擎237是软件实现的模块,其配置为接收和处理存储在烹饪处理结构 278中的数据。烹饪处理结构278包括多个烹饪操作279,其在烹饪处理结构278中用字母A表示。烹饪处理结构278还包括多个烹饪器具或烹饪炊具 280,其在烹饪处理结构278中用字母C表示。烹饪处理结构278还包括多个食材281,其在烹饪处理结构278中用字母B表示。
举例来说,烹饪处理结构282使用指示烹饪处理中的步骤的字母A、B 和C来指示烹饪处理中的步骤。机器人厨房232配置为读取和解码烹饪处理结构282,并且配置为使用烹饪器具或烹饪用具C对食材B执行所指示的烹饪操作A。烹饪处理结构282指示执行烹饪操作A的时间和持续期。
现在参考附图中的图124,在一些实施例中,机器人烹饪引擎237配置为利用不同类别的厨房器具或烹饪用具用于机器人厨房232的协调管理和/ 或食材管理。使用烹饪器具或烹饪用具C的子类别(例如C1、C2、C3等) 将烹饪器具或烹饪用具的不同类别进行分类。
现在参考附图中的图125,一些实施例中的机器人烹饪引擎237配置为控制机器人厨房,以基于食材B和烹饪操作A的状况和管理来执行作为烹饪处理结构存放在存储器中的菜谱的步骤。机器人厨房执行烹饪处理的步骤的次序和时刻是从烹饪处理结构数据中得到的,并且按顺序执行,例如按图 125所示的顺序。
现在参考附图中的图126,进一些实施例中的机器人厨房包括多个不同的厨房器具/烹饪用具C,其配置为供机器人臂按顺序使用。在附图中的图 127中,示出仅包括加热的示例性烹饪处理。如附图中的图128所示,示出涉及包括加热、冷却和不加热的多种烹饪技术的烹饪处理。如附图中的附图 129所示,示出了不涉及热量的烹饪处理的另一示例。
附图中的图130是示出用于上述实施例的机器人厨房中的对象操纵的软件元素的框图,其采用与微操纵步骤耦接或者借助于微操纵步骤的运动复现的概念示出机器人脚本的机器人厨房执行的对象操纵部分的结构和流程283。为了使基于机器人臂/手的自动化烹饪可行,仅仅监视臂和手/手指中的每一单个关节是不够的。在很多情况下只知道手/腕的位置和定向(并且其能够被复制),但是之后操纵对象(识别位置、定向、姿势、抓取地点、抓取策略和任务执行)需要采用手和手指的局部感测和获知的行为和策略以成功地完成抓取/操纵任务。这些运动分布(基于传感器的/受传感器驱动的)行为和序列存储在机器人厨房系统中微小的手操纵库软件仓库(repository)。人类厨师可以穿戴完整的臂外骨架或仪器化/目标适配的运动背心,允许计算机经由内置传感器或通过摄像头跟踪来随时确定手和腕部的确切3D位置。即使双手的十个手指具有的所有关节都仪器化(双手超过30个DoF(自由度),很难佩戴和使用,因而不太可能被使用),仅仅基于动作重现所有关节位置将不会保证成功的(交互式)对象操纵。
微操纵库是一种命令软件仓库,在该仓库中基于离线学习处理存储运动行为和处理,其中将存储成功完成特定抽象任务(抓取刀,之后切片;抓取汤匙之后搅动;一只手抓锅,之后用另一只手抓取炒菜铲,并将其放到肉的下面,使肉在平底锅内翻面;等等)的臂/腕/手指运动和序列。该仓库已经构建为含有手/腕的成功传感器驱动运动分布和顺序行为(有时还有臂位置校正)的习得序列,从而确保成功地完成以更加抽象的语言(例如,“握刀并将蔬菜切片”、“将鸡蛋打到碗里”、“将平底锅中的肉翻面”等等)描述的对象 (器具、设备、工具)和食材操纵任务。学习处理是迭代式的,并且基于来自厨师工作室的厨师教导运动分布的多次尝试,其然后被离线学习算法模块执行和迭代地修改,直到能够表明已经获得了可接受的执行序列为止。旨在用所有必要的元素来充实(先验地和离线地)微操纵库(命令软件仓库),从而允许机器人厨房系统能够成功地与所有设备(器具、工具等)和烹饪处理中需处理(超出了仅进行分配的步骤)的主要食材进行交互。在人类厨师佩戴的手套具有嵌入的针对手指和手掌的触觉传感器(接近度、触摸、接触位置/力)时,为机器人手在各个位置上配备类似类型的传感器,从而允许采用这些传感器的数据建立、修改和调适运动分布,由此成功地执行预期运动分布和处理命令。
下文将进一步阐述机器人厨房烹饪处理(用于厨房环境中的对象的交互式操纵和处理的机器人菜谱脚本执行软件模块)283的对象操纵部分。通过采用机器人菜谱脚本数据库284(其含有关于原始形式、抽象烹饪序列形式和机器可执行脚本形式的数据),菜谱脚本执行器模块285逐步完成特定的菜谱执行步骤。配置重现模块286选择配置命令并将其传送至机器人臂系统 (躯干、臂、腕和手)控制器287,其然后控制物理系统以模拟所需的配置(关节位置/速度/转矩等)值。
能够忠实地执行正确的环境交互操纵并应对任务的这一想法借助于(i) 3D世界建模和(ii)微操纵而通过实时处理验证成为可能。通过添加机器人腕和手配置修改器288执行检验步骤和操纵步骤两者。该软件模块采用来自 3D世界配置模拟器289(其在每一采样步骤从多模态传感器单元提供的感测数据中建立新的3D世界模型)的数据,以便确认机器人厨房系统和处理的配置匹配菜谱脚本(数据库)所要求的;在不匹配的情况下,其对所命令的系统配置值制定修改以确保成功地完成任务。此外,机器人腕和手配置修改器288还采用来自微操纵运动分布执行器290的配置修改输入命令。馈送至配置修改器288的手/腕(还有可能的臂)配置修改数据是以微操纵运动分布执行器290知道来自286的预期配置重现应是什么为基础,但是之后修改它是基于其3D对象模型库291和来自配置和排序库268(其基于用于所有主要对象操纵和处理步骤的多个迭代式学习步骤而建立)的先验习得(并且存储的)数据。
尽管配置修改器288持续不断地向机器人臂系统控制器287馈送经修改的命令配置数据,但是其依赖于应对/操纵检验软件模块293以不仅验证所述操作正被正确地进行,而且验证是否需要后续的操纵/应对。在后一种情况下(判定的答案为“N”),配置修改器288向世界模拟器289和微操纵分布执行器290两者重新请求配置修改(针对腕、手/手指以及可能的臂乃至躯干)更新。目标仅是要验证已经成功地完成了操纵/应对步骤或序列。通过采用对菜谱脚本数据库284和3D世界配置模拟器289的了解来检验菜谱脚本执行器 285当前正在命令烹饪步骤的适当进展,从而应对/操纵检验软件模块293执行这一检查。一旦认为进展成功,那么菜谱脚本索引递增处理294就通知菜谱脚本执行器285进行至菜谱脚本执行中的下一步骤。
图131中示出了手的微操纵的概念。该概念是用人手来说明的,但要理解,该概念同样适用于根据图130所示的机器人厨房操纵处理的结构和流程 283所控制的机器人手。
再次参考附图中的图131,微操纵装置295包括第一阶段296,其中手 297处于初始位置。微操纵295包括第二阶段298,其中手297抓住物品299,物品299在此示例中为壶的把手。当手297从初始位置移动以抓住壶的把手时发生微操纵。本申请引入情感运动300的概念,其包括当手从初始位置296 移动到最终位置298时手297的至少一部分运动。
图131还示出了当抓住壶的把手以从壶中倒出内容物时手297的第二运动301。在第二动作301期间,随着手297从第一位置移动到第二位置,手 297经历进一步的情感运动302。
图132中更详细地示出了情感运动300的示例。在此可以看到,情感运动300包括手297从初始位置到第一中间位置303到第二中间位置304到第三中间位置305的情感轨迹,在第一中间位置303,手297被抬起并部分旋转,在第二中间位置304,手297的食指和拇指并到一起,在第三中间位置 305,手的食指和拇指被移开以接收壶的把手。
一些实施例中的手297的情感运动表示在与物品交互时手(例如机器人手)在必要的初始位置和最终位置之间的中间运动。
机器人手的情感运动受控于微操纵运动分布执行器290和手配置修改器 288,所述微操纵运动分布执行器290控制机器人腕,手配置修改器288用于修改机器人手的运动。微操纵运动分布执行器290存储情感运动数据306,其指示手的食指和拇指的指尖的三维位置以及手的腕的坐标的三维位置。情感运动数据306代表手297在一时间段(在本例中为0.25秒)内的情感运动。
现在参考附图中的图133,在其他实施例中,情感运动数据306配置为表示手297在延长的N秒时段307上的情感运动。
现在参考附图中的图134,在一些实施例中,情感运动数据306配置为与手297在一时间段内执行的微操纵相组合地表示手297的情感运动。在该示例中,情感运动数据306与微操纵数据相组合以绘制当手297从开始位置移动到第二位置、从第二位置移动到第三位置、到后续位置并最后在将手297 返回到最终位置之前将物体放下在另一个位置时手297的食指和拇指的指尖以及手腕的运动轨迹。
上述机器人厨房的一些实施例的情感运动使得机器人厨房的机器人手能够以被人觉察为比机器人手的纯功能微操纵更自然的方式移动。情感运动将人类元素引入到机器人手的运动,使机器人手能够更真实地模拟机器人手正在模拟的人类厨师(创建者)的手的微小动作。情感动作引入机器人手的额外动作,其对机器人厨房中正在观看处于工作的机器人手的人来说是具有吸引力的。
现在参考附图中的图135至图137,一些实施例中的厨房模块1包括许多与上述实施例中的厨房1相同的部件,并且相同的附图标记将用于厨房模块中的相应部件。厨房模块1包括至少一个机器人臂。在本实施例中,厨房模块1包括两个机器人臂13。
机器人臂13配置为由中央控制单元(未示出)控制。中央控制单元是包括处理器和存储器的计算机,所述存储器存储由处理器执行的可执行指令。存储器存储可执行指令,所述可执行指令在由处理器执行时使处理器输出控制指令,所述控制指令被传送至机器人臂13以控制机器人臂13的移动。
本实施例的机器人厨房1包括优选地定位于机器人臂13附近的二维(2D) 摄像头。2D摄像头308定位成捕获工作表面4的图像。在其他实施例中, 2D摄像头308定位于机器人厨房模块1内的其他地方。在一些实施例中, 2D摄像头308定位于厨房模块1内的机器人臂上。
在本实施例中,厨房模块1还包括三维(3D)摄像头309。在本实施例中,3D摄像头309定位于机器人臂13附近。在其他实施例中,3D摄像头 309定位于机器人厨房1内的其他地方。在一些实施例中,3D摄像头309 定位于厨房模块1内的机器人臂上。
2D和3D摄像头308、309配置为捕获至少工作表面4的图像和定位于工作表面4上的物品或用具的图像。在一些实施例中,摄像头308、309配置为捕获定位于厨房模块1中的其他位置的物品、用具或器具的图像。在另一实施例中,2D和/或3D摄像头308、309配置为捕获存在于厨房模块1中的外来对象的图像,例如在厨房模块1内通常不存在的或未被授权存在的人脸、宠物或其他外来对象的图像。
摄像头308、309配置为捕获设置在厨房模块1内的参考标记的图像。在一些实施例中,参考标记至少部分地由厨房模块1的视觉特征形成,例如灶台的边缘、水槽、用具的钩子或调料盒的保持器凹入部。在一些实施例中,参考标记是定位于工作表面4上的隔开位置处的特定标记。参考标记每一个均定位于厨房模块1已知的预定位置,使得厨房模块1可以使用摄像头308、 309捕获的图像来识别厨房模块1内例如用具、器具或机器人手之类的部件的位置。
在一些实施例中,厨房模块1配置为独立于3D摄像头使用2D摄像头 308。例如,厨房模块1使用2D摄像头308来捕获最初用于处理的厨房模块 1的2D图像。一旦2D摄像头图像已经被处理,如果需要,来自3D摄像头 309的图像用于进一步处理以识别厨房模块1内的物品。
附图中的图138是示出诸如上述实施例的一些实施例的对象识别处理 310的软件元素的框图。对象识别处理310是供机器人厨房内的计算机执行的计算机实现的处理。对象识别处理310作为计算机可读指令存储在计算机的存放器中,以便由计算机内的处理器执行。
对象识别处理310包括:在2D摄像头处理器模块312处接收2D图像 311。2D图像311被机器人厨房1内的2D摄像头308捕获。2D摄像头处理器模块312处理2D图像311并生成2D形状数据313。2D形状数据313是表示由2D摄像头308看到的对象的轮廓(2D形状)的形状数据。2D摄像头处理器模块312将2D形状数据313输出到验证器模块314。
对象识别处理310包括从3D 309接收3D图像315。3D图像315输入到3D摄像头和模块316。3D摄像头处理器模块316处理3D图像315并且生成3D形状数据317,该3D形状数据317指示由3D摄像头309看到的对象的三维形状。3D摄像头处理器模块316将3D形状数据317输出到验证器模块314。
验证器模块314配置为从标准对象库模块318A接收标准对象数据318,标准对象库模块318A例如是存放在存储器中的数据库。标准对象数据318 包括用于厨房模块1中的标准对象的2D或3D形状数据、视觉签名和/或图像样本中的一个或多个。标准对象例如是预期存在于机器人厨房模块1内的诸如餐具、工具、用具和器具之类的对象。
另一数据模块314配置为从临时对象数据库320接收临时对象数据319。临时对象数据319包括关于可能暂时存在于机器人厨房模块1内的诸如烹饪食材之类的对象的数据。临时对象数据319优选地包括用于识别诸如视觉签名或图像样本之类的临时对象的视觉数据。
验证器模块314配置为接收优选地从菜谱数据322得到的预期对象数据 321。预期对象数据321提供当根据菜谱数据322烹饪菜谱时预期存在于厨房模块1内的标准或临时对象的指示。例如,预期对象数据321提供用于根据菜谱数据322烹饪菜谱的用具列表。
验证器模块314配置为将实际对象数据323输出到工作空间动态模型模块324。真实对象数据323包括由对象识别处理310已经识别为存在于厨房模块1内的一个或多个对象的列表。工作空间动态模型模块324被整合到机器人厨房模块1中并且用于控制厨房模块1内的机器人和/或器具以使厨房模块1能够用于烹饪菜谱。例如,工作空间动态模型模块324使用由对象识别处理310识别的实际对象的列表来识别烹饪菜谱时厨房模块1内的对象和每个对象的位置。
为了识别厨房模块1内的对象,验证器模块314接收2D形状数据313 并将2D形状数据313与标准对象数据318进行比较,以确定2D形状数据 313是否匹配标准对象数据318,从而使得验证器模块314能够识别厨房模块1内的标准对象。通过首先检查厨房模块1内的预期对象的列表,验证器模块314使用预期的对象数据321以方便对象的识别。
如果验证器模块314识别出标准对象,则验证器模块314将指示识别出的标准对象的实际对象数据323输出到工作空间动态模型模块324。
如果验证器模块314未找到标准对象的匹配,则验证器模块将2D形状数据313与临时对象数据319进行比较以识别2D形状数据313是否与临时对象相关。验证器模块314还优选地配置为在识别厨房模块1内的预期临时对象时使用预期对象数据321。如果验证器模块314识别出临时对象,则验证器模块314将临时对象作为真实对象数据323输出到工作空间动态模型模块324。
验证器模块314配置为使用对象的3D形状数据314以方便对象的识别。在一些实施例中,验证器模块314在使用2D形状数据313之后使用3D形状数据317。在另一些实施例中,验证器模块314结合2D形状数据313一起使用3D形状数据317以识别对象。
2D形状数据313是表示对象的2D形状的数据。在一些实施例中,2D 形状数据313指示对象相对于厨房模块1内的至少一个参考标记的位置,使得2D形状数据313识别厨房模块1内的对象的位置。在一些实施例中,2D 形状数据313是二维对象的至少一部分的区域的指示。在其他实施例中,2D 形状数据313包括指示对象的长度和宽度和/或定向的数据。
在一些实施例中,对象识别处理310还配置为针对合规性(compliance) 检查厨房模块1内的场景(品质检查)。在这些实施例中,对象识别系统310 配置为识别厨房模块1内的对象并识别对象是否处于它们的正确位置。因此,合规性功能可用于检查厨房模块1的状态以确定厨房模块1是否被正确配置以供机器人使用。
具有已知的预定固定形状、尺寸或颜色的对象被归类为标准对象、工具、器具和用具优选地被归类为标准对象,因此它们可以被分类并预先输入到标准对象库319中。
在一些实施例中,标准对象库319配置为存储标准对象数据,该标准对象数据指示外观和形状可以变化但仍然期望识别的对象,例如,诸如鱼片、牛排、番茄或苹果之类的食材。
在对象识别处理310中,包括2D摄像头处理器模块312的2D子系统负责检测、确定位于厨房模块1内用于烹饪的工作表面4或其他位置的对象的位置、尺寸、定向和轮廓。包含3D摄像头处理器模块316的3D子系统执行对象的三维形状的确定并且负责确定未知对象的形状和类型。
在一些实施例中,对象识别处理310用于校准机器人厨房模块1内的机器人或其他的计算机控制的部件。
现在参考附图中的图139,对象记录器处理325包括对象记录器模块326,其配置为从摄像头处理器模块312接收2D形状数据313。记录器模块326 配置为从3D摄像头处理器模块316接收3D形状数据317。
在一些实施例中,记录器模块326还配置为接收从握住对象的机器人手 327输出的位置、形状和/或压力数据。
记录器模块326接收2D和3D形状数据313、317并且优选地还接收来自机器人手329的数据,并且在正记录的对象是标准对象的情况下生成标准对象数据318,并且将标准对象数据318保存在标准对象数据库319中。如果对象是临时对象,则记录器模块326将临时对象数据319存储在临时对象数据库320中。
记录器模块326还配置为输出对象数据330,该对象数据330指示对象的坐标、时间点、指尖轨迹和其他识别的方面。然后,将对象数据330整合到菜谱数据322中,以用于机器人厨房内烹饪菜谱时的后续使用。
在一些实施例中,2D摄像头308和/或3D摄像头309配置为记录在机器人厨房模块1内执行的操作或操纵的视频短片。视频短片例如是后续用于对标准和已知对象进行分类。
图140示出另一实施例中的修改对象识别处理。该实施例包括斑点(blob) 检测器模块,其配置为接收2D视频、校准参数和背景参数,并将斑点位置数据输出到验证器模块。验证器模块使用斑点位置数据来协助机器人厨房中的对象验证处理。
图141-145示出一些实施例中实施的用于测量食材的三种不同技术的示例。第一个使用从机器人臂获得的倾斜数据,第二个使用由机器人臂操作的测量器械,第三个使用动态重量感测。
图146-149示出一些实施例中的器具或用具的把手。对把手进行优化以供机器人手使用。一些实施例中的把手是伸长把手,其被成形为使得机器人的手在一个位置和方向上握住把手。
每个把手包括处于间隔位置的多个机器可读标记。在一些实施例中,机器可读标记是磁体。机器人手上的传感器检测标记并检查机器人手中标记的位置,以验证机器人手是否正确地握住它们的把手。
重量感测能力(Weight Sensing Capability)
重量感测能力2700提供用于对包括机器人厨房的烹饪自动化单位中的食物和其他对象的以适当单位表示的量进行测量的能力。
从现在起,将使用首字母缩写“W.S.C.”代替“重量感测能力”2705。
W.S.C.-术语表2710
·CONTAINER(容器):一对象,可以包含食材。
·INGREDIENT(食材):一材料,可用于形成菜谱。
·LOCATION(位置):工作空间中的地方,可以是来源或目的地,可以是容器。
о在一位置,可以有一个或多个食材。
о位置可以是载体。
·SOURCE(来源):食材所在的位置。
·CARRIER(载体):一对象,可用于运送食材。载体可以是可盛放食材的用具、容器或任何其他装置。
о如果没有载体,则机器人直接移动食材。
·DESTINATION(目的地):载体或食材将被移动的目标位置
·QUANTITY(量):质量的量。可以使用一个或多个传感器来计算质量。
·SENSOR(传感器):用于测量所述量的一个或多个感测装置的集合。
·UTENSIL(用具):厨房中使用的工具,例如:勺子、平底锅、叉子、玻璃杯、刀、碗、盘子
·ROBOT(机器人):自动化设备,其由以下构成:机器人基座、一个或多个机器人臂、安装在机器人腕上的一个或多个终端执行器、其他必需的微小部件。
·ROBOT-BASE(机器人基座):机器人的一部分,机器人臂连接到机器人基座。
·ROBOT-JOINT(机器人关节):致动装置,连接两个或多个机器人联接件,以便相对于其他机器人移动一个或多个机器人联接件。
·ROBOT-LINK(机器人联接件):机器人的机械部分,其由单个机器人关节移动。
·ROBOT-ARM(机器人臂):一个或多个小型机器人联接件的集合,通过一个或多个机器人关节依次相互连接。该序列的第一个机器人联接件通过一个或多个机器人关节连接到机器人基座,该序列的最后一个机器人联接件连接到终端执行器,可以是机器人手。
·ROBOT-WRIST(机器人腕):机器人臂的最后一个机器人联接件。
·ARM-LINK(臂联接件):机器人联接件,其为机器人臂的一部分。
·END-EFFECTOR(终端执行器):机器人工具,安装在机器人臂的机器人腕上。
·ROBOT-HAND(机器人手):由一个或多个机器人手指构成的终端执行器。一个示例实现方式是机器人抓取器。
·ROBOT-FINGER(机器人手指):一个或多个小型机器人联接件的集合,通过一个或多个机器人关节依次相互连接。序列中的第一个机器人联接件通过一个或多个机器人关节连接到机器人手。
·SYSTEM(系统):中央系统,其由硬件和软件部分构成,将监视和控制整个处理。
·DIRECT-INGREDIENT-MANIPULATION(直接-食材-操纵):直接用机器人手指操纵食材4027的动作,没有载体4060,也没有用具(4020、4021、 4022)或容器(4025、4026)。
·WORKING AREA(工作区域):机器人利用任何终端执行器可到达的区域。
在图100中表示:重量感测能力-通用场景表示(W.S.C.-Generic scenariorepresentation)2715。
在示例性的通用的应用场景中,存在表格4000;食材4027,其可以是膨松的食材4028或盒装食材4029;空容器4025;填充的容器4026;用具 4020;填充的用具4022;一个机器人4001,其由一个或更多个机器人臂4010 和其他部件组成。每个机器人臂4010安装在机器人基座4005上。每个机器人臂4010由一个或多个臂联接件(4011、4012、4013)构成。在该场景下,存在由3个机器人联接件(臂联接件-14011、臂联接件-24012、臂联接件-3 4013)和终端执行器4015构成的一个机器人臂4010。
终端执行器4015可以握住用具4020,其可以是空的用具4023或填充的用具4022。
一旦用具4020被终端执行器4015握住,则用具变成“被握住的用具”4021。
食材4027可以处于填充的用具4022内的填充的容器4026中,或是膨松食材4028。
容器可以是空容器4025。
包含一定量的食材的容器是填充的容器4026。
传感器4002未示出,但是传感器被集成到机器人4001的物理结构中。
重量感测能力-技术概要(W.S.C.-Technical Outline)2720-(总结)
该概念是机器人系统(臂、抓手/手和潜在的线性致动器-轨道、伸缩式杆)可以准确测量有效载荷的重量。
短语“称重有效载荷”在这里是指“测量有效载荷的质量的量”。
为了测量静态有效载荷的质量的量,力和/或扭矩传感器4002可以包含在机器人4001的结构中。与机器人4001的已知机器人关节位置和已知物理结构相组合的传感器信息可用于计算终端执行器4015处的力并因此计算有效载荷的重量。
尽管没有在图150中示出有效载荷,但是有效载荷可以由容器(4026、 4025)、被握住的用具4021、食材(4027)或组合物组成,如下文所述。
称量动作包括测量有效载荷的质量的量。
如果终端执行器4015正用机器人手指握住食材4028,则食材4028是有效载荷。
如果终端执行器4015正用机器人手指握住空容器4025,则容器4025 是有效载荷。
如果终端执行器4015正握住填充的容器4026并且非空容器4026内有一定量的食材4029,则有效载荷为填充的容器4026与食材4029的组合。
如果终端执行器4015正握住用具4021,则用具4021是有效载荷。
如果终端执行器4015正握住用具4021,并且用具4021包含一定量的食材4027(填充的用具4022),则有效载荷是用具4021与包含的食材4027的组合。
存在可用于由于各种原因而赋予机器人感知力和扭矩的能力的商品。
重量感测能力-传感器(W.S.C.-Sensor)2725
考虑两种测量:直接测量和间接测量。在直接测量的示例实现方式中,可以使用一系列不同的传感器,例如:线性应变仪、负载单元、磁致伸缩扭矩感测。
线性应变仪是一种常用的力传感器,负荷单元有时由应变仪组成。负荷单元可以基于不同的技术,例如:应变仪、液压和气动。磁致伸缩扭矩感测是基于铁磁材料的磁致伸缩特性的扭矩传感器。
利用间接测量,力或扭矩信息可以从相关信息中推断出。一示例实现方式是,可以测量机器人电机的电流以计算扭矩信息,因为一些电机中的电流与施加在电机轴上的扭矩直接成比例。
重量感测能力-传感器位置(W.S.C.-Sensor Location)2730
传感器4002可以安装在机器人4001的任何部分并且准确地确定依赖于传感器4002的精度和其他因素的有效载荷重量。
要测量的物理量是有效载荷的质量的量。
如图151A、图151B、图151C、图151D所示,机器人4001的各元件必须具有已知的位置,以便正确地计算机器人配置并后续推断有效载荷重量。
定位反馈中的不精确性会降低有效载荷重量计算的精确性。机器人关节位置、传感器精度、机器人联接件的弯曲会引入不精确性。
图151A 表示使用情况:重量感测能力-传感器安装在终端执行器上 (W.S.C.-Sensor Mounted on the End-Effector)2731。
存在机器人臂4010,其传感器4002安装在终端执行器4015上的安装位置4030上。
示出了要考虑的物理机器人配置4040。
图151B 表示使用情况:重量感测能力-传感器安装在第三联接件上(W.S.C.-Sensor Mounted on the 3rd link)2732。
存在机器人臂4010,其传感器4002安装在第三联接件上的安装位置 4030上。
图151C 表示使用情况:重量感测能力-传感器安装在第二联接件上(W.S.C.-Sensor Mounted on the 2nd link)2733。
存在机器人臂4010,其传感器4002安装在第二联接件上的安装位置 4030上。
图151D 表示使用情况:重量感测能力-传感器安装在基座上(W.S.C.- SensorMounted on the base)2734。
存在机器人臂4010,其传感器4002安装在机器人基座4030上的安装位置4030上。
图112表示Payload Mass Quantity Calculation Scenario(有效载荷质量计算场景)3061。
传感器4002安装在机器人腕上。传感器4002是通用的:传感器提供的信号可以是线性力、加速度、扭矩或角速度。
可能测量出的物理值示出为矢量。应用点为P。传感器的参照系显示在图中。传感器的参照系由轴X、Y、Z和原点O构成。
在该示例中,应用点P等于传感器的参考系的原点O。
有效载荷的重力为Fgp,终端执行器的重力为Fge。
有效载荷的质心为C,终端执行器的质心为Ce。
Fx、Fy、Fz是沿轴X、Y、Z施加的所测线性力。
Mx、My、Mz是围绕轴X、Y、Z测量出的扭矩。
Ax、Ay、Az是沿X、Y、Z轴测量出的加速度。
Wx、Wy、Wz是围绕轴X、Y、Z测量出的角速度。
图112表示通用情况。传感器仅能提供以下信号中的一些:Fx、Fy、Fz、 Mx、My、Mz、Ax、Ay、Az、Wx、Wy、Wz。
依据所使用的特定传感器提供的信号,以不同的方式进行质心的计算。
在该示例中,我们还示出传感器4002感测的3个力的总和,作为合力 Fr。
基于线性力的质量计算示例。
如果传感器提供线性力Fx、Fy、Fz,则合力矢量为Fr=Fx+Fy+Fz。
有效载荷和终端执行器构成被称为感测主体的刚性主体。
施加到感测主体上唯一的力是重力,Fg=Fge+Fgp
感测主体没有移动。
作为结果的计算出的力Fr是重力加上变量Fn所表示的一些噪声,并且力Fr的量与感测主体的质量成比例。
用以计算感测主体的质量的最终公式为:
||Fr+Fn||=||Fg||=||g||*m
其中,m是感测主体的质量,g是重力加速度,Fr是测量出的合力,Fn是噪声。
噪声Fn的量相对于合力Fr必须是小的,以便获得精确的测量结果。
有效载荷质量计算和终端执行器质量(Payload Mass Quantity Calculationand End Effector Mass Quantity)
让我们把组合主体称为由终端执行器和有效载荷的结合所构成的刚性主体。
有效载荷的质量计算为复合主体的质量减去终端执行器的质量。
如果在没有有效载荷的情况下测量终端执行器,则终端执行器为感测主体。
如果对复合主体进行测量,则复合主体为感测主体。
质量计算和质心定位
给定通用传感器4002的特定安装位置,为了计算有效载荷的质量,有效载荷的质心相对于终端执行器参照系的位置必须是已知的。有效载荷的质心的位置的计算以来自传感器4002的数据为基础。
有效载荷的质心的位置最初是未知的。
考虑恒定的机器人配置和两种不同的有效载荷A和B,可以由终端执行器以不同的几何变形保持有效载荷A和B,在所有情况下,质心相对于终端执行器的参照系具有不同位置。尽管两个有效载荷具有不同的质量,但在保持有效载荷A时的传感器值可能与保持有效载荷B时的传感器值相同,因为两个有效载荷是使用两个不同的变形来保持的。扭矩传感器就是这种情况。例如,扭矩传感器在质心相对于应用点具有不同位置的情况下给出不同的结果。从另一视角来看,考虑到恒定的机器人配置和只有一个有效载荷A,对于特定的质量,质量可以通过不同的变形来保持。考虑两个变形,即,变形 -A和变形-B,传感器值在变形不同的情况下很有可能是不同的。
一种解决质心位置不确定性的方法是执行N个不同的机器人配置,在终端执行器和有效载荷之间用相同的恒定变形来保持有效载荷,并收集用于机器人配置的传感器数据。通过使用在N个不同机器人配置中收集的N个传感器数据集,可以相对于终端执行器参照系计算有效载荷的质心的位置。在机器人配置中,机器人可以移动,因此机器人联接件可以具有不同于零的加速度和速度。
一旦有效载荷的质心相对于终端执行器参照系的位置是已知的,就可以计算出有效载荷的质量。
对于特定种类的传感器,也可以在不知道质心位置的情况下测量质量。例如,对于多轴线性力传感器,可以计算作为结果的线性力矢量。例如,在以下状况下,可以使用合力矢量来计算有效载荷的质量:有效载荷和抓爪紧紧连接使得产生刚性主体、有效载荷和抓爪不移动、有效载荷和抓爪处于重力下并且没有其他的力。
重量感测能力-流程图变量(W.S.C.-FLOWCHARTS VARIABLE)2740:
RS:Recipe Step Info(菜谱步骤信息)
SS:Step Status Info(步骤状态信息)
I:Ingredient Info(食材信息)
C:Carrier Info(载体信息)
L:Location Info(位置信息)
S:Source Info(来源信息)
D:Destination Info(目的地信息)
E:Environment Info(环境信息)
X:Sensor Data(传感器数据)
RQ:Required Quantity(所需量)
GT:Generated Trajectory(生成轨迹)
PAP:Pick Action Parameters(拾取动作参数)
FRB:Flow Regulator Block(流量调节器框)
FCB:Flow Converter Block(流量转换框)
FBB:FeedBack Block(反馈框)
FRQ:Final Requested Quantity(最终请求量)
FB:FeedBack Data(反馈数据)
RJV:Robot Joint Values(机器人关节值)
CAC:Carrier Actuation Command(载体致动命令)
Flow:dispensing flow(分配流量)
Q:Mass Quantity(质量)
T:Transferred Quantity(传输的量)
TQ:Tare Quantity(皮重量)
SYS:System Data(系统数据)
重量感测能力-流程图变量点符号(W.S.C.-FLOWCHART VARIABLES DOTNOTATION)2741
点“.”符号用于表示指定变量的子属性。例如,给定X(传感器数据)和 Q(量数据),“X.Q”表示“传感器量数据”,“S.Q”表示“来源量数据”,诸如此类。
重量感测能力-在移动的同时称重食材(W.S.C.-Weighing Ingredients whilemoving)2750
该任务描述了这样的处理:使用载体4060将食材(4027、4080)从来源4050运送到目的地4070,并且同时测量运送的食材(4027、4080)的质量。
来源和目的地有一位置,工作区域内的一地方。
来源4050和目的地4070可以是抽象的并且不表示任何对象,只是表格 4000上的位置。
来源4050可以是任何种类的容器(4025、4026)、诸如勺子、平底锅或器具之类的用具(4020、4021)。
目的地4070可以是任何类型的容器(4025、4026)、诸如勺子、平底锅或器具之类的用具(4020、4021)。
载体4060可以是容器(4025、4026)、用具4020、4021或不存在。
当载体4060不存在时,存在直接的食物操纵3060。
图152A表示载体4060存在并且不是来源时的W.S.C.-感测能力2751。
载体4060不是来源4050。
食材4080在载体4060内从来源4050中指定的位置运送到目的地4070 中指定的位置。
图152B表示载体4060存在并且是来源时的W.S.C.-感测能力2752。
载体4060是来源4050。
食材4080在载体4060内从来源4050中指定的位置运送到目的地4070 中指定的位置。
图152C表示载体4060不存在时的W.S.C.-感测能力2753。
食材4080在没有任何载体4060的情况下使用直接食物操纵3060从来源4050中指定的位置运送到目的地4070中指定的位置。
图153A是流程图并描述了容器中的W.S.C.-Verify Correct Quantity(验证正确量)2760。
框5018从菜谱数据存放器5016获得菜谱数据5010。
在框5019中,菜谱数据5010用于向状态数据存储器5017进行查询并返回状态数据5011。
在框5020中执行拾取动作,并且拾取的对象是从框5019中先前获取到的状态数据5011中提取的、由变量来源信息指定的食材容器(4026、4050)。
在框5021中,来源量被测量并通过从存储在X.Q中的感测量中移除皮重量而存储在S.TQ中,并通过传感器4002作为传感器数据5012A返回。
在框5022中,计算RS.Q存储的菜谱步骤量指定的量与S.Q存储的感测量之间的差值DIFF。
当差值DIFF为正时,变量来源信息定义的来源容器4050中没有足够的量。
框5023是判定框。在框5023中,检查差值DIFF。如果差值DIFF为正,则下一个执行的框将为5015,否则框5024将为下一个执行的框。框5024 为判定框。在框5024中,测试变量DIFF,如果变量DIFF为负,则下一个执行的框将为5013,否则下一个执行的框将为框5014。
图153B是流程图并描述W.S.C.-验证正确量-未在容器中2761。
框“获得菜谱数据”5018从菜谱数据存放单元5016获得菜谱数据5010。
在框5030中,命令机器人4001用机器人手指拾取食材4027。
在框5031中,测量原料食材4027的质量的量的值,同时由机器人手指握住食材。该值被存放在变量S.X中,并且是传感器4002生成的传感器数据5012B的一部分。
在框5032中,计算菜谱步骤量RS.Q和感测量X.Q之间的差值。
如果DIFF为正,则S定义的来源容器(4026、4025)中没有足够的量。
框5023是判定框。在框5023中,测试变量DIFF,如果DIFF为正,则下一个执行的框是5015,否则下一个执行的框是5024。
框5024是判定框。在框5024中,测试变量DIFF,如果DIFF为负,则下一个执行的框是5013,否则下一个执行的框是5014。
图154是流程图并描述了处理“W.S.C.-高层级传递”2800。
框“获得菜谱数据”5018从菜谱数据存放单元5016获得菜谱数据5010。
框5040从状态数据存储器5017获得状态数据5041,然后创建空变量I 以存储食材信息和空变量SS以存储步骤状态信息。
在框5042中,计算阈值ET(超额阈值)和DT(不足阈值)。这两个阈值的计算的方式不在这里进行解释。
在框5043中,计算RS.Q和SS.T之间的差值。当菜谱步骤量RS.Q大于步骤状态传递的量SS.T时,差值为正值。然后对照超额阈值测试差值。因此,如果差值大于超额阈值ET,则仍然需要将来自来源4050的食材(4080、 4027)量的一部分传递到目的地4070。如果必须继续传递,则下一框将为 5044,否则下一框将为5048。
在框5044中,通过输入数据5050A输出和接收数据5051A,执行外部程序(externalprocedure)低级别传递(Low Level Transfer)2850。
在框5045中,通过输入数据5050B并输出数据5051B,执行外部程序检查数据(Check Data)5047。外部程序检查数据(Check Data)对来源、目的地和载体中的量变化(如果存在)进行检查。如果发现任何数据不一致,则程序尝试识别出问题和原因,通知系统。
在框5046中,通过接收状态数据5051B来更新状态数据存储器5017。
在框5048中,计算RS.Q和SS.T之间的差值。当菜谱步骤量RS.Q大于步骤状态传递量SS.T时,差值为正。然后对照不足阈值DT测试差值。因此,如果差值小于不足阈值DT,则传递的量SS.T大于菜谱步骤量RS.Q 指定的量,因此存在超额问题。因此如果出现超额问题,下一框将是5049,否则下一框将是结束框。
在框5049中,系统被通知超额问题,系统对于超额问题的应对在此不进行说明。
图155是流程图并描述了处理“W.S.C.-Low Level Transfer(低层级传递)”2850。
框5090获得输入数据5050A。
框5091将来源4050和目的地4070的初始值保存到变量ISQ和IDQ中以便流程图中的后续使用。保存的值是初始来源量(Initial Source Quantity) ISQ和初始目的地量(Initial Destination Quantity)IDQ。ISQ和IDQ设置为包含在先前框中获取的变量中的值。这些变量是来源量(Source Quantity) S.Q和目的地量(Destination Quantity)D.Q。
在框5092中,使用包含在变量载体信息C.中的信息来测试载体4060 的存在。如果载体4060不存在,则需要直接食品操纵3060,因此下一框是 5106,否则下一框是5093。
在框5106中,数据5050A发送到外部程序直接食物操纵(Direct FoodManipulation)3060,然后当该外部程序结束时,数据5165发送回框5106。
在框5093中,命令机器人4001拾取先前获取的输入数据中包含的变量载体信息C中指定的载体4060。
在框5094中,使用包含在变量载体信息C中和变量来源信息S中的信息来检查载体4060是否与来源4050相等。因此,如果载体4060与来源4050 相同,来源4050必须运送到目的地4070,因此然后下一框是5095,否则下一框是5098。
在框5095中,计算所请求的要收集的量并存放在变量RQ中。该计算以菜谱步骤量RS.Q和状态步骤传递量SS.T为基础。量RQ将正好是RS.Q 和SS.T之间的差值;请求的量RQ在RS.Q大于SS.T时为正。
在框5096中,来源信息变量S被重新映射到位置信息变量L,以便作为参数传递给外部程序。数据5060A发送到外部程序“利用载体从一位置收集期望量的食材”2900。
在框5097中,外部程序“利用载体将期望量的食材收集到一位置”2900 返回,并将输出数据5061A发送到框5097。然后来源信息变量S从位置信息变量L取消映射,以便用包含在L中的新值更新S。
在框5104中,来源信息变量S被重新映射到位置信息变量L,以便作为参数传递给外部处理。数据5060B被发送到外部程序“利用载体从一位置分配期望量的食材”2950。
在框5105中,外部程序“利用载体将期望量的食材分配到一位置”2950 返回,将输出数据5061B发送到框5105。然后,来源信息变量S从位置信息变量L取消映射,以便用包含在L中的新值更新S。
在框5098中,变量载体信息C定义的载体4060被移动到变量目的地信息D定义的目的地4070所指定的位置。
在框5099中,计算所需的要分配的量Q。该计算以菜谱步骤量RS.Q和状态步骤传递量SS.T为基础。量RQ正好是RS.Q和SS.T之间的差值;RQ 在RS.Q大于SS.T时为正。
在框5100中,目的地信息变量D被重新映射到位置信息变量L,以便作为参数传递给外部处理。数据5060C被发送到外部处理“利用载体从一位置分配期望量的食材”2950。
在框5101中,外部处理“利用载体将期望量的食材分配到一位置”2950 返回,将输出数据5061C发送到框5101。然后,目的地信息变量D从位置信息变量L取消映射,以便用包含在L中的新值更新D。
在框5102中,步骤状态传递量(Step Status Transferred Quantity)被更新并存储在变量SS.T中。该更新包括将新的传递量添加到现有变量SS.T。通过在来源4050消耗与目的地4070增量之间进行平均,计算新的传递量。来源4050消耗被计算为初始来源量和当前来源量的差值,该差值在初始来源量大于当前来源量时为正。目的地4070增量被计算为初始目的地量与当前目的地量之间的差值。该差值在初始目的地量小于当前目的地量时为正。因此平均量计算为损耗和增量之和除以2。
在框5103中,状态数据5051A被发送到输出。
图156为流程图,描述了处理“重量感测能力-利用载体从一位置收集期望量的食材”2900。
框5110获得输入数据5060A和环境数据5070A。
框5111清洁定义在变量载体信息C中的载体4060。清洁处理在此不进行说明。
框5112测量载体皮重量(Carrier Tare Quantity)C.TQ并且该值被设置为等于包含在变量传感器量X.Q中的值。传感器量X.Q由集成到机器人结构中的传感器4002返回。
在框5113中,从动作存放器5018中检索动作数据5071。动作数据5071 包含存储在变量PAP中的拾取动作参数。拾取动作参数完全定义要执行的拾取动作,并且基于食材4080和内部状态、载体4060、要收集的所需量Q、菜谱步骤信息RS、如湿度、温度、大气压力之类的环境数据(存放在变量E 中)而不同。因此,为了获得正确的拾取动作参数,使用输入数据5060和环境数据E将查询发送到动作存放器5018。
在框5114中,基于拾取动作参数生成轨迹GT。生成轨迹的方式在此不进行说明。
在框5115中,生成的轨迹GT发送到机器人控制器5151,然后机器人控制器5151将执行生成的轨迹GT。使用轨迹数据5072发送所生成的轨迹。
在框5116中,计算载体量。该量是感测量X.Q和载体皮重量C.TQ之间的差值。该差值在感测量X.Q大于载体皮重量C.TQ时为正值。使用传感器数据5012D从传感器4002获取该感测量X.Q。
在框5117中,通过移除载体量C.Q来更新存储在L.Q中的位置量。然后在输出数据5061A内将数据发送出去。
图157是流程图并描述了处理“重量感测能力-利用载体将期望量的食材分配到一位置”2950。
框5120获得输入数据5060B/C。
框5121将初始载体量保存在变量ICQ中,并将ICQ设置为等于包含在输入数据中的载体量C.Q。
在框5122中,从传感器4002中获取数据5012E,然后计算最终所需量 FRQ。最终所需量是假定在处理2950结束时要包含在载体中的量,因此最终所需量也是在处理结束时要由传感器4002感测的量。注意,请求的量RQ 是要从位置信息L指定的位置移除的量。因此,值“最终所需量”被计算为感测量X.Q和请求量RQ之间的差值。该差值在感测量X.Q大于请求量RQ时为正。感测量X.Q包含在传感器数据5012E中。
在框5123中,从传感器4002中获取数据5012F,然后将反馈数据计算为最终所需量与感测量之间的差值。该差值在最终所需量大于感测量X.Q时为正。感测量包含在传感器数据5012F中。
在框5124中,对照最大误差ME检查反馈数据FB。最大误差是最大允许误差,因此在处理结束时,实际传递的量与请求量RQ相差最大误差定义的量。最大误差的值在此用于停止处理。如果表示图3000所示的闭环系统的误差值的反馈数据小于最大误差,则处理通过退出循环5185而停止,否则继续循环5185。因此,如果检查通过,下一框是用Y标记的箭头指向的框,否则下一框是用N标记的箭头指向的框。
框5125通过发送控制数据5129来更新闭环系统3000的外部框:流量调节器框5141和流量转换器框5142。
在框5126中,将先前计算的反馈数据变量FB发送到系统框流量调节器框(FlowRegulator Block)。
框5126关闭循环5185,因此下一框将再次是框5123。
在框5127中,载体量C.Q通过移除所请求量的值和反馈数据的值来更新。反馈数据的值表示从载体4060中缺失的量,因此反馈数据的值从载体量中移除以获得正确的值。
在框5128中,通过添加所请求量的值和反馈数据FB的值来更新位置量 L.Q。反馈数据FB已经被传递到L定义的位置,因为是从载体4060缺失的量,因此FB也是到L定义的位置的超额量。反馈数据FB定义的超额量添加到位置量L.Q以获取正确的值。最后,数据5061B/C作为输出发送给调用器程序。
框5141表示外部框流量调节器框FRB。流量调节器框是闭环系统3000 的一部分,并从系统接收环境数据5070B。
框5142表示外部框流量转换器框FRB。流量转换器框是闭环系统3000 的一部分。该框从系统接收环境数据5070B。
框5051表示闭环系统3000中所示的外部宏块:机器人-载体-传感器- 子系统(ROBOT-CARRIER-SENSOR-SUBSYSTEM)。
框5143表示外部框反馈框FB。反馈框是闭环系统3000的一部分。
图158是流程图并描述处理“重量感测能力-利用用具传输食材的闭环系统”3000。
框5123是闭环系统3000的误差计算节点。这里,计算被称为反馈数据的误差值,并将其存储在变量FB中。该值被计算为作为传感器数据5012F 的从传感器4002获取的最终请求量与感测量X.Q之间的差值;该差值在最终请求量大于感测量时为正。
从载体4060到L限定的位置的质量流量不仅受到机器人操纵的影响,而且还受到食材状态(其由名称、温度、质量状态、湿度、密度、pH等进行限定)、载体4060、位置(位置可能影响流量)的影响。质量流量也可取决于菜谱步骤信息和步骤食材信息中包含的信息,因此数据由框FRB和FCB 接收,作为控制数据5129内的输入。
注意:从载体4060到由限定的位置的质量流量也受环境状态(其由空气温度、湿度、压力、光线、空气成份加以定义)的影响,因此数据由框 FRB和FCB接收,作为环境数据5070B内的输入。
框5141是流量调节器框FRB,并且基于反馈数据FB、控制数据5129 和环境数据5070B的当前值,决定从载体4060流向L定义的位置的质量的流量值。然后,流量值发送到框5142。
框5142是流量转换器框,并基于控制数据5129和环境数据5070B,对从先前框5141接收到的命令的流量值执行转换。流量值转换为机器人关节值数据和载体致动命令数据。然后,机器人关节值数据被用于命令机器人 4001以一方式操纵载体4060,以产生从载体4060到L定义的位置的请求的食材4080的质量流。如果载体4060是被致动的载体,则载体致动命令被发送给载体4060。载体致动命令控制致动的载体4060,以便产生从载体4060 到L定义的位置的食材4080的或多或少的质量流。使用这里未定义的无线方法在没有线缆的情况下发送载体致动命令。
宏框5150是机器人-载体-传感器-子系统,并且由框5151、5152、5153、 5154的链构成。机器人-载体-传感器-子系统的输入是机器人4001,输出是来自传感器4002的信号。
框5151是机器人控制器5151,并将机器人关节值数据转换为必要的电力命令,使得将电力命令提供到机器人框5152,以确保期望的关节配置。必要的电力命令通过机器人控制器5151发送到机器人关节的致动器。
框5152表示真实的机器人4001。该框接收来自框5151的电力命令,并将电力命令直接发送到电机,使得机器人执行与框5142请求的机器人关节配置对应的姿势。
框5153是载体4060并且由机器人4001操纵。取决于当前的机器人操纵,从载体4060到目的地4070产生不同量的质量流量。机器人操纵由一个或多个机器人姿势构成,按特定顺序执行,其中在特定时间执行姿势。
框5154表示与机器人4001上的真实传感器4002的接口,并基于感知的力或扭矩产生信号。作为结果的信号然后发送到下一框5143。
框5143将传感器信号转换成传感器数据5012F,并将传感器数据发送回误差计算框5123,从而关闭受控系统3000的循环。
图159是流程图并描述了W.S.C.-传感器测量3050。
框5081计算执行测量所需的终端执行器姿态的序列。
框5082提取序列中的下一姿态。
框5083接收包含机器人关节值和机器人模型的输入数据5080。使用该输入数据5080,框5083随后计算当前的机器人配置,以供在接下来的框中使用。
框5084测量来自传感器4002的物理值。
框5085检查当前姿势是否是序列中的最后一个,如果当前姿势是序列中的最后一个,则下一框是5086,否则下一框是5082。
节点5086基于在先前框5082中读取出的物理值并且还基于在先前框 5081中计算出的机器人配置来计算质量量X.Q。然后,框5086将计算出的值保存在变量感测量X.Q中,然后作为传感器数据5012A/B/C/D/E/F/G予以输出。
该任务需要手和对象之间的完美抓握,因为机器人手的参照系和被抓取对象的质心位置之间的三维几何变换必须以足够精确地知道,以确保所需的精度和测量的可重复性。
图160是流程图并描述了W.S.C-直接食材操纵3060。
框5160读取输入数据5050A,命令机器人使用机器人手指从变量来源信息定义的来源中拾取变量食材信息定义的食材。
在框5161中,命令机器人将食材移动到变量目的地信息所定义的目的地。
在框5162中,从传感器4002中获取数据5012G。
在框5163中,来源量被更新并保存到变量来源信息中。
在框5164中,目的地量被更新并保存到变量目的地信息中。然后,数据5165作为输出发送给调用器程序。
W.S.C.-测量数据格式
该数据格式用于将质量信息存储在DB中。
要使用的测量单位是如SI中所定义的克[g]。
所需的分辨率为0.01g。
测量范围从0.01g到500g。
W.S.C.-测量数据存放格式
对于存放格式(DB),存在不同的选择。
存放格式可以是浮点型(大小为4字节),范围从-3.4E+38到+3.4E+38,最小可表示数为+/-3.4E-38。浮点型精度最高可达7位数。
存放格式可以是无符号短整型(大小为2个字节),范围从0到65535。必须关于DB的加载/存放操作进行转换,以便将整数值转换为十进制值。示例:浮动范围[0.01,500],无符号整数范围[1,50000],转换系数计算为 100。
对象交互
如称重感测能力(Weigh Sensing Capability)中所定义的:
5017是“状态数据存放”的附图标记。
5012是来自传感器4002的“质量量传感器数据”的附图标记。
4002是用于测量质量量的传感器的附图标记。
流程图变量:
X:Mass Quantity Sensor Data(质量传感器数据)
IR:Interaction Request(交互请求)
OS:Object Status(对象状态)
OOD:On Object Data(关于对象数据)
GR:Grasp Request(抓取请求)
Gl:Grasp Info(抓取信息)
IA:Interaction Answer(交互应答)
GM:Grasp Manipulation Data(抓取操纵数据)
X:Mass Quantity Sensor Data(质量量传感器数据)
CMDU:Cleaning Manipulation Data for Utensil(用具的清洁操纵数据)
CMDO:Cleaning Manipulation Data for Object(对象的清洁操纵数据)
X:Mass Quantity Sensor Data(质量量传感器数据)
图162是流程图并描述了任务:对象交互-拾取对象(Object Interaction-Pickup Object)6501。
框6001从调用器接收Interaction Request(交互请求)数据6200A。变量Interaction Request(交互请求)指定要对该对象执行的动作。
框6002对Status Data Storage(状态数据存储)5017执行查询,使得获得变量Object Status(对象状态)。变量Object Status(对象状态)包含关于对象的状态的信息,包括对象的存储位置、上次访问对象时测量的物理值、对象内部食材的特征。
框6003命令机器人将容器移动到变量Interaction Request(交互请求) 中指定的位置。
框6004从嵌入在对象中的标记接收On Object Data(对象上数据)。使用无线方法方便信息传递。
框6005基于变量Interaction Request(交互请求)、On Object Data(对象上数据),Object Status(对象状态)来执行检查。检查食材的正确性和状态。传感器可以测量温度、湿度、挥发性有机化合物。可能还存在这里未提及的其他附加传感器。检查传感器值。传感器值包含在变量On Object Data (对象上数据)中。关于食材的要求包含在变量Interaction Request(交互请求)中。
框6006评估框6005中进行的检查的结果。如果检查通过,则下一框为 6007,否则下一框为6009。
框6007将Grasp Request(抓取请求)数据6203A发送到外部程序 Grasp/Ungraspobject(抓取/取消抓取对象)6503。
框6008从外部程序Grasp/Ungrasp object(抓取/取消抓取对象)6503接收GraspInfo(抓取信息)数据6204A。
框6009将Interaction Answer(交互应答)数据6208A输出到调用器,然后程序结束。
图163是流程图并描述了任务Object Interaction-Place object(对象交互- 放置对象)6502。
框6020获取包含变量Interaction Request(交互请求)的Interaction Request(交互请求)数据6200B。变量Interaction Request(交互请求)指定要用容器执行的动作。
框6021从嵌入到对象中的标记接收On Object Data(对象上数据)。使用无线方法方便信息传输。如果对象没有嵌入的标记,则接收到的数据为空并且可以忽略。
框6022对状况存放单元执行查询,使得获得变量Object Status(对象状态)。变量Object Status(对象状态)包含有关容器的状态的信息,包括容器的存储位置、上次访问容器时测量的物理值、容器内食材的特性。
框6023基于变量Interaction Request(交互请求)、On Object Data(对象上数据)、Object Status(对象状态)执行检查。检查食材的正确性和状态。检查温度、湿度、氨气和挥发性有机化合物传感器值。传感器值包含在变量 On Object Data(对象上数据)中。关于食材的要求包含在变量Interaction Request(交互请求)中。
框6024评估框6023中进行的检查的结果。如果检查通过,则下一框为 6025,否则下一框为6028。
框6025命令机器人将容器移动到变量Object Request(对象请求)中指定的位置。
框6026将Grasp Request(抓取请求)数据6203B发送到外部程序 Grasp/Ungrasphandle(抓取/取消抓取把手)6503。
框6027从外部程序Grasp/Ungrasp handle(抓取/取消抓取把手)6503 接收GraspInfo(抓取信息)数据6204B。
框6028将Interaction Answer(交互应答)数据6208B输出到调用器,然后程序结束。
图164是流程图并描述了任务Object Interaction-Grasp/Ungrasp handle (对象交互-抓取/取消抓取把手)6503。
该流程图说明了用机器人手执行抓取或取消抓取动作所使用的程序。
框6040获取Grasp Request(抓取请求)数据6203A/B。Grasp Request (抓取请求)数据6203A/B指定要对把手执行的抓取动作。
框6041使用Grasp Request(抓取请求)数据6203A/B对Manipulation Storage(操纵存储器)6050执行查询。然后,框从Manipulation Storage(操纵存储器)6050获得请求的Grasp Manipulation Data(抓取操纵数据)6205。
框6042使用Grasp Manipulation Data(抓取操纵数据)6205命令机器人,因此,机器人随后执行命令的抓取/非抓取操纵。
框6043读取传感器数据。这里没有对传感器进行定义。传感器可以是外部摄像头系统、容器内的传感器、手上的传感器。传感器数据用于理解抓取是否成功,并且该信息存储在Grasp Info(抓取信息)数据6204A/B中。
框6044输出Grasp Info(抓取信息)数据6204A/B,然后程序结束。
图165是流程图并且描述了任务Object Interaction-Clean object(对象交互-清洁对象)6504。图中的流程图解释用于清洁对象的程序。
如果对象已被抓取,则清洁处理可完成。
通过使对象倾斜以便使内容物落下,可以进行清洁处理。可以使用用具改善清洁处理,以将食材与对象分离。在清洁处理期间,对象的内容物落入废弃位置。
使用对象的动作被封装到变量Cleaning Manipulation Data for Object(对象的清洁操纵数据)6207,并存储至Cleaning Manipulation Storage(清洁操纵存储单元)6050。
使用用具的动作被封装到变量Cleaning Manipulation Data for Utensil(用具的清洁操纵数据)6206,并存储到Cleaning Manipulation Storage(清洁操纵存储单元)6050。
清洁处理之后,对象被放入用于存放不干净对象的特定存放空间。
框6060获得Interaction Request(交互请求)数据6200C和Object Status (对象状态)数据6201C作为输入。Interaction Request(交互请求)数据6200C 定义要执行的清洁动作。Object Status(对象状态)数据6201C包含有关对象状态的信息。
框6061从嵌入对象的标记中读取On Object Data(关于对象数据)6202C。
框6062使用Weight Sensing Capability(重量感测能力)获得Mass QuantitySensor(质量量传感器)数据50xx。
框6063检查Interaction Request(交互请求)数据6200C、On Object Data (对象上数据)6202C、Object Status(对象状态)数据6201C和Mass Quantity Sensor(质量量传感器)数据50XX,以便判定是否需要进行清洁并且还判定是否需要用具。
框6064判定是否需要进行清洁。如果需要清洁,则下一节点为6065,否则下一框为6070。
框6065判定是否需要用具。如果需要用具,则下一框为6066,否则为 6069。
框6066调用外部程序Pick up object(拾取对象)6501,发送InteractionRequest(交互请求)数据6200D。然后,框从调用的程序接收Interaction Answer(交互应答)数据6208A。
框6067基于Interaction Answer(交互应答)数据6208A判定拾取动作是否成功。
框6068从操纵存储单元6050接收用具的清洁操纵数据6206。
框6069从操纵存储单元6050接收对象的清洁操纵数据6207。
框6070命令机器人清洁对象,将操纵数据6206和6207发送到机器人控制器。使用对象的清洁操纵数据6207控制机器人手。如果已经获取到用具的清洁操纵数据6206,则使用用具的清洁操纵数据6202来控制机器人手。
框6071检查用具是否被握住。如果用具被握住,则下一框为6072,否则下一框为6073。
框6072调用外部程序Place Object(放置对象)6502,将Interaction Request(交互请求)数据6200E发送到调用的程序。然后框从调用的程序接收Interaction Answer(交互应答)数据6208B。
框6073输出Object Status(对象状态)数据6201D给调用器。
安全系统
流程图变量:
KSC:Kitchen Security Check(厨房安全检查)
FS:Fingerprint Sensor Data(指纹传感器数据)
ID:Intrusion Sensor Data(入侵传感器数据)
GPD:Geoposition Data(地理位置数据)
KSA:Kitchen Security Access(厨房安全访问)
AID:Anti Intrusion Data(防入侵数据)
图166是说明程序Security System-Security(安全系统-安全)检查7501 的流程图。该程序的目的是使用来自地理位置传感器、指纹传感器、一个或多个入侵检测传感器的传感器数据来检查用户被允许使用机器人厨房软件。
地理位置传感器用于检查机器人厨房的当前地理位置。如果检测到机器人厨房位于与用户注册的机器人厨房的地点不同的位置,则不允许用户使用机器人厨房。在示例实施方式中,地理位置信息可以来自诸如GPS(Global Positioning System,全球定位系统)之类的物理设备,或者可以来自基于网络数据的地理位置服务。
指纹传感器用于扫描用户手指的指纹以检查用户的身份。如果用户不是机器人厨房的注册用户,则不允许用户使用机器人厨房。在一可替代的实施方式中,用户识别数据可以来自诸如语音或眼睛图像分析之类的其他生物统计来源,或者来自诸如私人密码、一系列问题、独特的硬件密钥的非生物统计学手段或来自与个人电子设备的通信。
入侵检测传感器用于检测对系统某些关键部件的机械入侵。
入侵检测传感器可以定位于处理单元壳中以检测试图将其打开。
另一入侵检测传感器可以定位于控制板壳中。
如果检测到入侵,则通知Anti Intrusion System(防入侵系统)7502。
框7001接收来自调用器程序的Kitchen Security Check(厨房安全检查) 数据7101。调用器程序在每次需要时都将Kitchen Security Check(厨房安全检查)数据7101发送到程序Security Check(安全检查),以请求访问机器人厨房。
框7002接收指纹传感器数据7102、入侵传感器数据7103、地理位置数据7104,并执行一些检查以查看用户是否被允许使用机器人厨房。
框7003判定用户是否被允许使用机器人厨房。如果用户被允许,则下一框是7004,否则下一框是7005。
框7004通过向调用器程序发送厨房安全访问(Kitchen Security Access) 数据7106来准许对用户的访问,然后程序退出。
框7005向Anti Intrusion Kitchen(防入侵厨房)7502发送Anti Intrusion Data(防入侵数据)7105,不给予用户访问权,然后程序退出。
防入侵系统(Anti Intrusion System)7502
防入侵系统7002的目的是在入侵企图的情况下应用对策。
防入侵系统7002可以擦除或加密机器人厨房内的数据,以保护软件不被复制和不被逆向工程。
防入侵系统7002可以呼叫地方当局。
防入侵系统7002可以禁用所有机器人厨房板和电机的电力。
防入侵系统7002可以禁止对于机器人厨房的所有传感器的访问。
防入侵系统7002可以触发机器人厨房内的各元件的电、物理或磁性破坏。
一般而言,可以考虑一种用于机器人系统的运动捕获和分析方法,其包括在人采用工作设备制备产品时通过多个机器人传感器感测人的活动的观测序列;在所述观测序列中检测与在制备产品的每个阶段中实施的活动序列对应的微操纵;将所感测到的观测序列转换为计算机可读指令,其用于对能够执行所述微操纵序列的机器人设备进行控制;至少将用于所述微操纵的指令序列存储到电子媒介上以用于获得所述产品。这可对多种产品重复。用于所述产品的微操纵序列优选存储为电子记录。所述微操纵可以是多阶段处理的抽象部分,例如,切割对象、加热对象(在烤箱内或者在炉子上用油或水加热)等。之后,所述方法还可以包括:将用于所述产品的电子记录传输至能够与人的初始动作对应地复现所存储的微操纵的序列的机器人设备。此外,所述方法还可包括通过机器人设备75执行用于获得该产品的微操纵的指令序列,由此获得基本上与人制备的原始产品一样的结果。
就另一一般方面而言,可以考虑一种操作机器人设备的方法,包括提供用于标准微操纵的预编程指令的序列,其中,每一微操纵生成产品制备阶段内的至少一个可识别结果;在人采用设备制备产品的同时通过多个机器人传感器感测与人的活动对应的观测序列;在所述观测序列中检测标准微操纵,其中一微操纵对应于一个或多个观测,并且所述微操纵的序列对应于产品的制备;基于用于软件实现的方法将观测序列转变为机器人指令,所述软件实现的方法用于基于所感测的人的活动的序列识别预编程标准微操纵的序列,每个微操纵包含机器人指令的序列,机器人指令包括动态感测操作和机器人动作操作;将微操纵的序列及其对应的机器人指令存储到电子媒介中。优选地,产品的指令序列和对应的微操纵被存储为用于制备该产品的电子记录。这可以针对多种产品重复。所述方法还可以包括将所述指令的序列(优选以电子记录的形式)传输给能够复现和执行机器人指令序列的机器人设备。此外,所述方法还可以包括通过机器人设备执行用于该产品的机器人指令,由此获得基本上与人制备的原始产品一样的结果。在针对多种产品重复所述方法的情况下,所述方法可以额外包括提供一个或多个产品的电子描述的库,其包括产品名称、产品食材以及由所述食材制作产品的方法(例如,菜谱)。
另一一般化方面提供一种操作机器人设备的方法,其包括接收用于制作产品的指令集,该指令集包括一系列与人的原始动作对应的微操纵的指示,每个指示包括机器人指令的序列,机器人指令包括动态感测操作和机器人动作操作;将所述指令集提供给能够复现所述微操纵的序列的机器人设备;通过机器人设备执行用于所述产品的微操纵的指令的序列,由此获得基本上与人制备的原始产品一样的结果。
可以从不同的角度考虑另一种操作机器人设备的一般化方法,其包括执行用于复现具有多个产品制备活动的菜谱的机器人指令脚本;判断每一制备活动是被识别为标准工具或标准对象的标准抓取动作,标准手操纵动作或对象,还是非标准对象;对于每一制备活动而言,下述操作中的一者或多者:如果制备活动涉及标准对象的标准抓取动作,那么指示机器人烹饪装置访问第一数据库库;如果食物制备活动涉及标准手操纵动作或对象,那么指示机器人烹饪装置访问第二数据库库;如果食物制备活动涉及非标准对象,那么指示机器人烹饪装置建立该非标准对象的三维模型。尤其可以在计算机系统中或者由计算机系统实施所述判断和/或指示步骤。所述计算系统可以具有处理器和存储器。
另一方面可见于一种通过机器人设备75制备产品的方法中,其包括通过由机器人设备75制备产品(例如,食物菜肴)而复现菜谱,所述菜谱被分解为一个或多个制备阶段,每个制备阶段被分解为微操纵和活动基元的序列,每个微操纵被分解为动作基元的序列。优选地,每个微操纵已被(成功地)测试以在考虑到适用对象以及一种或多种适用食材的位置、方位、形状的任何变化的情况下使该微操纵获得最佳结果。
另一方法方面可以在于一种生成菜谱脚本的方法,其包括接收来自诸如厨房环境之类的标准化工作环境模块的环境内的传感器的过滤了的原始数据;由所述过滤了的原始数据生成脚本数据的序列;以及将脚本数据的序列转换为用于制备产品的机器可读和机器可执行命令,所述机器可读和机器可执行命令包括用于控制一对机器人臂和手以执行功能的命令。所述功能可以选自包括一个或多个烹饪阶段、一个或多个微操纵以及一个或多个动作基元的组。还可以考虑一种菜谱脚本生成系统,其包括配置为根据该方法操作的硬件和/或软件特征。
就这些方面的任何方面而言,可以考虑下述事项。产品的制备通常采用食材。执行指令通常包括感测产品制备当中采用的食材的属性。产品可以是根据(食物)菜谱(其可以保持在电子描述中)的食物菜肴,人可以是厨师。工作设备可以包括厨房设备。这些方法可以结合文中描述的其他特征中的一者或多者使用。可以结合各个方面的特征之一、所述特征中的不止一个或者所有的特征,从而(例如)使来自某一方面的特征可以与另一方面相结合。每一方面都可以是计算机实现的,并且可以提供一种被配置为在通过计算机或处理器运行时执行每一方法的计算机程序。可以将每一计算机程序存储到计算机可读介质上。附加地或替代地,所述程序可以是部分或完全硬件实现的。可以使各个方面相结合。还可以提供一种被配置为根据联系这些方面中的任何方面描述的方法工作的机器人系统。
在另一方面中,可以提供一种机器人系统,其包括:能够在第一仪器化环境内观测人的运动并生成人运动数据的多模态感测系统;以及通信耦接至多模态感测系统的用于记录从多模态感测系统接收到的人运动数据并对人运动数据进行处理以提取运动基元从而优选使运动基元定义机器人系统的操作的处理器(其可以是计算机)。运动基元可以是微操纵,如文中所述(例如,紧挨着的在先段落当中),并且可以具有标准格式。运动基元可以定义具体类型的动作和某一类型的动作的参数,例如,具有定义的起始点、终点、力和抓握类型的牵拉动作。任选地,还可以提供通信耦接至处理器和/或多模态感测系统的机器人设备。机器人设备可以能够采用运动基元和/或人运动数据在第二仪器化环境内复现所观测到的人的运动。
另一方面,可提供一种机器人系统,其包括:用于接收定义机器人系统的操作的运动基元的处理器(可以是计算机),所述运动基元是基于从人的运动捕获的人运动数据的;以及通信耦接至处理器的能够采用运动基元在仪器化环境内复现人的运动的机器人系统。应理解,还可以使这些方面相结合。
另一方面可见于一种机器人系统中,其包括:第一和第二机器人臂;第一和第二机器人手,每只手具有耦接至相应的臂的腕,每只手具有手掌和多个关节连接的手指,相应手上的每一关节连接指具有至少一个传感器;以及第一和第二手套,每只覆盖相应手的手套具有多个嵌入的传感器。优选地,所述机器人系统是机器人厨房系统。
在一不同但相关的方面中还可以提供一种运动捕获系统,其包括:标准化工作环境模块,优选为厨房;多个具有配置为物理耦接至人的第一类型传感器和配置为与人分隔开的第二类型传感器的多模态传感器。可以是下述情况中的一种或多种:第一类型的传感器可用于测量人附属肢体的姿势以及感测人附属肢体的运动数据;第二类型的传感器可用于确定环境、对象、活动、以及人附属肢体的位置中的一个或多个的三维配置的空间配准;第二类型的传感器可配置为感测活动数据;标准化工作环境可具有与第二类型的传感器接口连接的连接器;第一类型的传感器和第二类型的传感器测量运动数据和活动数据,并将运动数据和活动数据两者都发送至计算机,从而对其进行存储和处理,以供产品(例如,食物)制备之用。
附加地或替代地,一个方面可以在于包覆有感测手套的机器人手,其包括:五个手指;以及连接至五个手指的手掌,所述手掌具有内部关节和处于三个区域内的可形变表面材料;第一可形变区域设置在手掌的桡骨侧并且接近拇指的基座;第二可形变区域设置在手掌的尺骨侧并且与桡骨侧隔开;第三可形变区域设置在手掌上并且跨越各手指的基座延伸。优选地,第一可形变区域、第二可形变区域和第三可形变区域的组合以及内部关节协同工作,以执行微操纵,尤其是用于食物制备的微操纵。
就上述系统、装置或设备方面中的任何方面而言,还可以提供包括用以执行系统的功能的步骤的方法。附加地或替代地,可以在文中相对于其他方面描述的特征中的一者或多者的基础上发现任选的特征。
本申请一实施例示出包括下列特征或部件的通用安卓(android)型机器人设备。机器人软件引擎,诸如机器人食物制备引擎56,配置为在仪器化或标准化环境中复现任何类型的人手动作和产物。从机器人复现得到的产物可以是(1)物理的,例如食品菜肴、绘画、艺术品等,和(2)非物理的,例如机器人设备在乐器上演奏乐曲、医疗保健辅助处理等。
通用安卓型(或其他软件操作系统)机器人设备中的几个重要元素可包括以下中的一些或全部、或与其他特征相组合。首先,机器人操作或仪器化环境操作机器人设备,为创建者和机器人工作室提供标准化(或“标准的”) 操作体积维度和架构。第二,机器人操作环境为在环境内操作的任何标准化对象(工具、装置、设备等)提供标准化位置和方位(xyz)。第三,标准化特征延及但不限于标准化辅助成套设备、标准化辅助成套工具和设备、两个标准化机器人臂和两个机器人手(其非常类似功能性人手,可访问一个或多个微操纵库)、以及用于创建操作体积的动态虚拟三维视觉模型的标准化三维(3D)视觉装置。该数据可用于手动作捕获和功能结果识别。第四,提供具有传感器的手运动手套以捕获创建者的精确动作。第五,机器人操作环境在每个特定(创建者)产品创建和复现处理期间提供所需材料和食材的标准化类型/体积/尺寸/重量。第六,使用一种或多种类型的传感器来捕获和记录用于复现的处理步骤。
机器人操作环境中的软件平台包括以下子程序。当人手戴着具有传感器的手套来提供传感器数据时,软件引擎(例如,机器人食物制备引擎56)在创建处理期间捕获并记录臂和手运动脚本子程序。创建一个或多个微操纵功能库子程序。操作或仪器化环境基于人类(或机器人)在创建处理期间的手运动的时间线来记录三维动态虚拟体积模型子程序。软件引擎被配置为在人手的任务创建期间从库子程序中识别每个功能性微操纵。软件引擎定义人手的每个任务创建的相关微操纵变量(或参数),用于随后由机器人设备进行的复现。软件引擎记录来自操作环境中的传感器的传感器数据,其中可实施质量检查程序以验证在复现创建者的手部动作时机器人执行的精确性。软件引擎包括调整算法子程序,用于适应于任何非标准化情况(例如对象、体积、设备、工具或尺寸),其进行从非标准化参数到标准化参数的转换以便于任务(或产品)创建脚本的执行。软件引擎存储创建者手动作的子程序(或子软件程序)(其反映创建者的知识产权产品),用于生成软件脚本文件以供机器人设备随后复现。软件引擎包括产品或菜谱搜索引擎以有效地定位期望的产品。提供搜索引擎的过滤器以个性化搜索的特定要求。还提供电子商务平台以用于交换、购买和销售在指定网站上可用于商业销售的任何IP脚本(例如,软件菜谱文件)、食材、工具和设备。电子商务平台还提供用于用户交换关于感兴趣的特定产品或感兴趣区域的信息的社交网络页面。
机器人设备复现的一个目的是产生与创建者的手的原始创建相同或基本相同的产品结果,例如,相同的食物菜肴、相同的画、相同的音乐、相同的书法等。操作或仪器化环境中的高度标准化提供了一框架,在最小化创建者的操作环境和机器人设备操作环境之间的差异的同时,在考虑一些附加因素的情况下,机器人设备能够产生与创建者基本相同的结果。复现处理具有相同或基本相同的时间线,优选相同的微操纵顺序、每个微操纵相同的初始开始时间、相同的持续时间和相同的结束时间,同时机器人设备以相同的在微操纵之间移动对象的速度自主地操作。在记录和执行微操纵期间,对标准化厨房和标准化设备使用相同的任务程序或模式。可以使用诸如三维视觉和传感器之类的质量检查机制来最小化或避免任何失败结果,其可以对变量或参数进行调整以适应非标准情况。当机器人设备试图复现创建者的活动以期望获得相同的结果时,省略使用标准化环境(即,创建者的工作室和机器人厨房之间不是相同的厨房体积,不是相同的厨房设备,不是相同的厨房工具,也不是相同的食材)增加了不获得相同结果的风险。
机器人厨房可以在至少两种模式下操作,即计算机模式和手动模式。在手动模式期间,厨房设备包括操作控制台上的按钮(在记录或执行期间,不要求识别数字显示器的信息或不要求通过触摸屏输入任何控制数据以避免任何输入错误)。在触摸屏操作的情况下,机器人厨房可提供用于识别屏幕的当前信息的三维视觉捕获系统,以避免不正确的操作选择。软件引擎可与标准化厨房环境中的不同厨房设备、不同厨房工具和不同厨房装置一起操作。创建者的限制是在传感器手套上产生手动作,其能够由机器人设备执行微操纵来复现。因此,在一实施例中,能够由机器人设备执行的微操纵库(或多个库)用作对创建者运动活动的功能限制。软件引擎创建三维标准化对象的电子库,包括厨房设备、厨房工具、厨房容器、厨房用具等。预先存储的每个三维标准化对象的外形尺寸和特性节省了资源并且减少了从电子库生成对象的三维建模的时间量,而不必实时创建三维建模。在一实施例中,通用安卓型机器人设备能够创建多个功能结果。功能结果从机器人设备的微操纵执行产生成功或最佳结果,例如人形机行走、人形机跑步、人形机跳跃、人形机(或机器人设备)演奏音乐作品、人形机(或机器人设备)绘画、以及人形机(或机器人设备)制作菜肴。微操纵的执行可以顺序地、并行地进行,或者一个先前的微操纵在下一个微操纵开始之前必须完成。为了使人与人形机之间更舒适,人形机将以对周围的人舒适的步伐进行与人相同(或基本相同)的活动。例如,如果一个人喜欢好莱坞演员或模特走路的方式,则人形机可利用展现好莱坞演员(例如安吉丽娜·朱莉)运动特性的微操纵来操作。人形机也可定制有标准化的人类型,包括皮肤外观覆层、男人形机、女人形机、身体、面部特征、以及体形。人形机覆层可利用三维打印技术在家中生产。
人形机的一个示例操作环境是一个人的家;一些环境是固定的,而另一些不是。房屋环境越被标准化,则操作人形机时的风险越小。如果指示人形机拿一本书,其不涉及创建者的知识产权/智力思维(IP),它需要没有IP的功能结果,人形机将浏览预定义的家庭环境,并执行一个或多个微操纵来拿书并把书交给人。先前在人形机进行其初始扫描或执行三维质量检查时,已经在标准化家庭环境中创建了诸如沙发之类一些三维对象。人形机可能需要为人形机未识别或先前未定义的对象创建三维建模。
图167是示出如3624所示的计算机设备的示例的框图,其上可安装并运行用于执行本文所论述的方法的计算机可执行指令。如上所述,结合本申请论述的各种基于计算机的设备可共享类似的属性。计算机设备或计算机16 中的每一个能执行一组指令以使计算机装置执行本文所讨论的方法中的任何一个或多个。计算机装置16可表示任意或整个服务器、或任何网络中间装置。此外,尽管只示出了单个机器,但是还应将“机器”一词理解为包括任何机器的集合,这些机器单独地或联合地运行一组(或者多组)指令,以执行文中讨论的方法中的任何一种或多种。示范性计算机系统3624包括处理器3626(例如,中央处理单元(CPU)、图形处理单元(GPU)或两者)、主存储器3628以及静态存储器3630,它们通过总线3632彼此通信。计算机系统3624还可包括视频显示单元3634(例如,液晶显示器(LCD))。计算机系统3624还包括字符输入装置3636(例如,键盘)、光标控制装置3638(例如,鼠标)、盘驱动单元3640,信号生成装置3642(例如,扬声器)、以及网络接口装置3648。
盘驱动单元3640包括机器可读介质244,其上存储一组或多组指令(例如,软件3646),其实现本文中描述的方法或功能中的任何一者或多者。软件3646在其执行处理中可完全或至少部分地驻留于主存储器3644和/或处理器3626内,计算机系统3624、主存储器3628和处理器3626的指令存储部分构成机器可读介质。还可经由网络接口装置3648通过网络3650传输或接收软件3646。
尽管在示范性实施例中将机器可读介质3644示为单个介质,但是术语“机器可读介质”应理解为包含存储一组或多组指令的单个介质或多个介质 (例如,集中式或分布式数据库和/或相关联的高速缓存和服务器)。还应将术语“机器可读介质”理解为包含任何有形介质,其能够存储供机器执行并使机器执行本申请的方法中的任何一种或多种的一组指令。相应地,应当将术语“机器可读介质”理解为包括但不局限于固态存储器以及光学和磁介质。
一般来说,机器人控制平台包括:一个或多个机器人传感器;一个或多个机器人致动器;机械机器人结构,至少包括在关节连接的颈部上的安装有传感器的机器人头部、具有致动器和力传感器的两个机器人臂;微操纵的电子库数据库,通信耦接到机械机器人结构,每个微操纵包括用于实现预定功能结果的一系列步骤,每个步骤包括感测操作或参数化的致动器操作;以及机器人规划模块,通信耦接到机械机器人结构和电子库数据库,配置为组合多个微操纵以实现一个或多个特定领域应用;机器人解释器模块,通信耦接到机械机器人结构和电子库数据库,配置为从微操纵库读取微操纵步骤并转换为机器代码;以及机器人执行模块,通信耦接到机械机器人结构和电子库数据库,配置为用于机器人平台执行微操纵步骤以完成与微操纵步骤相关联的功能结果。
另一广义方面提供一种具有由机器人操作系统(ROS)利用机器人指令操作的机器人计算机控制器的人形机,包括:具有多个电子微操纵库的数据库,每个电子微操纵库包括多个微操纵元素,多个电子微操纵库可组合以创建一个或多个机器可执行特定应用指令集,电子微操纵库内的多个微操纵元素可组合以创建一个或多个机器可执行特定应用指令集;机器人结构,具有通过关节颈部连接到头部的上身和下身,上身包括躯干、肩膀、臂和手;以及控制系统,通信耦接到数据库、传感器系统、传感器数据解释系统、运动规划器、以及致动器和相关联的控制器,控制系统执行特定应用指令集以操作机器人结构。
另一广义的通过使用一个或多个控制器、一个或多个传感器、以及一个或多个致动器来操作机器人结构以完成一个或多个任务的计算机实施的方法包括:提供具有多个电子微操纵库的数据库,每个电子微操纵库包括多个微操纵元素,多个电子微操纵库可组合以创建一个或多个机器可执行特定任务指令集,电子微操纵库中的多个微操纵元素可组合以创建一个或多个机器可执行特定任务指令集;执行特定任务指令集以使机器人结构执行被命令的任务,机器人结构具有通过关节颈部连接到头部的上身,上身包括躯干、肩膀、臂和手;向机器人结构的一个或多个物理部分发送用于位置、速度、力和转矩的时间索引的高层级命令;以及从一个或多个传感器接收传感器数据,用于与时间索引的高层级命令一起作为因素来考虑以生成控制机器人结构的一个或多个物理部分的低层级命令。
另一广义的用于生成和执行机器人的机器人任务的计算机实施的方法包括:生成与参数微操纵(MM)数据集组合的多个微操纵,每个微操纵与至少一个特定参数微操纵数据集相关联,其定义与每个微操纵相关联的所需常量、变量和时间顺序分布;生成具有多个电子微操纵库的数据库,多个电子微操纵库具有微操纵数据集、微操纵命令序列、一个或多个控制库、一个或多个机器视觉库、以及一个或多个程序间通信库;由高层级控制器执行高层级机器人指令,用于选择、分组和组织来自数据库的多个电子微操纵库,由此生成特定任务命令指令集来执行特定机器人任务,执行步骤包括:将与特定任务命令指令集相关联的高层级命令序列分解成用于机器人的每个致动器的一个或多个单独的机器可执行命令序列;以及通过低层级控制器执行低层级机器人指令,用于执行用于机器人的每个致动器的单独的机器可执行命令序列,单独的机器可执行命令序列共同地操作机器人上的致动器以执行特定机器人任务。
一种广义的用于控制机器人设备的计算机实施的方法包括:组成一个或多个微操纵行为数据,每个微操纵行为数据包括用于构建一个或多个更复杂行为的一个或多个基本微操纵基元,每个微操纵行为数据具有用于描述和控制每个微操纵行为数据的相关功能结果和关联校准变量;将一个或多个行为数据链接到来自一个或多个数据库的物理环境数据以生成链接的微操纵数据,物理环境数据包括物理系统数据、实现机器人活动的控制器数据、以及用于监视和控制机器人设备75的传感器数据;以及将来自一个或多个数据库的链接的微操纵(高层级)数据转换成每个时段(t1至tm)用于每个致动器(A1至An,)控制器的机器可执行(低层级)指令代码,以发送命令到机器人设备,用于在一组连续的嵌套环中执行一个或多个所命令的指令。
就这些方面中的任何方面而言,可以考虑下述事项。产品的制备通常采用食材。执行指令通常包括感测产品制备当中采用的食材的属性。产品可以是根据(食物)菜谱(其可以保持在电子描述中)的食物菜肴,人可以是厨师。工作设备可以包括厨房设备。这些方法可以结合文中描述的其他特征中的一者或多者使用。可以结合各个方面的特征之一、所述特征中的不止一个或者所有的特征,从而(例如)使来自某一方面的特征可以与另一方面相结合。每一方面都可以是计算机实现的,并且可以提供一种被配置为在通过计算机或处理器运行时执行每一方法的计算机程序。可以将每一计算机程序存储到计算机可读介质上。附加地或替代地,所述程序可以是部分或完全硬件实现的。可以使各个方面相结合。还可以提供一种被配置为根据联系这些方面中的任何方面描述的方法工作的机器人系统。
在另一方面中,可以提供一种机器人系统,其包括:能够在第一仪器化环境内观测人的运动并生成人运动数据的多模态感测系统;以及通信耦接至多模态感测系统的用于记录从多模态感测系统接收到的人运动数据并对人运动数据进行处理以提取运动基元从而优选使运动基元定义机器人系统的操作的处理器(其可以是计算机)。运动基元可以是微操纵,如文中所述(例如,紧挨着的在先段落当中),并且可以具有标准格式。运动基元可以定义具体类型的动作和某一类型的动作的参数,例如,具有定义的起始点、终点、力和抓握类型的牵拉动作。任选地,还可以提供通信耦接至处理器和/或多模态感测系统的机器人设备。机器人设备可以能够采用运动基元和/或人运动数据在第二仪器化环境内复现所观测到的人的运动。
就另一方面而言,可以提供一种机器人系统,其包括:用于接收定义机器人系统的操作的运动基元的处理器(其可以是计算机),所述运动基元是基于从人的运动捕获的人运动数据的;以及通信耦接至处理器的能够采用运动基元在仪器化环境内复现人的运动的机器人系统。应理解,还可以使这些方面相结合。
另一方面可见于一种机器人系统中,其包括:第一和第二机器人臂;第一和第二机器人手,每只手具有耦接至相应的臂的腕,每只手具有手掌和多个关节连接的手指,相应手上的每一关节连接指具有至少一个传感器;以及第一和第二手套,每只覆盖相应手的手套具有多个嵌入的传感器。优选地,所述机器人系统是机器人厨房系统。
在一不同但相关的方面中还可以提供一种运动捕获系统,其包括:标准化工作环境模块,优选为厨房;多个具有配置为物理耦接至人的第一类型传感器和配置为与人分隔开的第二类型传感器的多模态传感器。可以是下述情况中的一种或多种:第一类型的传感器可用于测量人附属肢体的姿势以及感测人附属肢体的运动数据;第二类型的传感器可用于确定环境、对象、活动、以及人附属肢体的位置中的一个或多个的三维配置的空间配准;第二类型的传感器可配置为感测活动数据;标准化工作环境可具有与第二类型的传感器接口连接的连接器;第一类型的传感器和第二类型的传感器测量运动数据和活动数据,并将运动数据和活动数据两者都发送至计算机,从而对其进行存储和处理,以供产品(例如,食物)制备之用。
附加地或替代地,一个方面可以在于包覆有感测手套的机器人手,其包括:五个手指;以及连接至五个手指的手掌,所述手掌具有内部关节和处于三个区域内的可形变表面材料;第一可形变区域设置在手掌的桡骨侧并且接近拇指的基座;第二可形变区域设置在手掌的尺骨侧并且与桡骨侧隔开;第三可形变区域设置在手掌上并且跨越各手指的基座延伸。优选地,第一可形变区域、第二可形变区域和第三可形变区域的组合以及内部关节协同工作,以执行微操纵,尤其是用于食物制备的微操纵。
就上述系统、装置或设备方面中的任何方面而言,还可以提供包括用以执行系统的功能的步骤的方法。附加地或替代地,可以在文中相对于其他方面描述的特征中的一者或多者的基础上发现任选的特征。
已经关于可能的实施例尤其详细地描述了本申请。本领域技术人员将认识到可以通过其他实施例实践本申请。部件的具体命名、术语的大小写、属性、数据结构或者任何其他的程序设计或结构方面都不具有强制性或者重要性,实施本申请的机制或其特征可以具有不同的名称、形式或规程。可以通过硬件和软件的组合(如所描述的),完全通过硬件元素或者完全通过软件元素实施所述系统。文中描述的各种系统部件之间的功能的具体划分只是示范性的,而非强制性的;相反,可以通过多个部件执行单个系统部件执行的功能,或者可以通过单个部件执行多个部件执行的功能。
在各实施例中,可以将本申请单独地或者组合地实现为用于执行上文描述的技术的系统或方法。还提供了文中描述的任何具体特征的组合,尽管未对该组合予以明确的描述。在另一实施例中,可以将本申请实现为计算机程序产品,其包括计算机可读存储介质和编码到所述介质上的计算机程序代码,所述代码用于使计算装置内的处理器或者其他电子装置执行上述技术。
如这里使用的,对“一实施例”或“实施例”的任何提及都表示将结合实施例描述的特定特征、结构或特性包括在本申请的至少一个实施例中。在本说明书中的不同位置出现的“在一实施例中”这一短语未必都是指同一实施例。
上文的一些部分是通过计算机存储器中对数据比特进行的操作的算法和符号表示呈现的。这些算法描述和表示是数据处理领域的技术人员用于将其工作的实质最为有效地传达给其他本领域技术人员的手段。这里将算法一般性地看作是导致预期结果的自洽的步骤(指令)的序列。所述步骤是需要对物理量进行实际操纵的步骤。这些量通常但未必一定采取能够受到存储、转移、合并、比较、变换以及其他操纵的电、磁或光信号的形式。有时这些信号主要是出于常用的原因便于被称为比特、值、元素、符号、字符、项、数字等。此外,有时还方便地将某些需要物理量的实际操纵的步骤安排称为模块或代码装置,而不失一般性。
但是应记住,所有的这些和类似术语都将与适当的物理量相关,其只是应用于这些量的方便标签。除非从下述讨论中明显地看出了另行的明确指定,否则应当认识到在整个说明书中,采用诸如“处理”、“计算”、“运算”、“确定”或“显示”等的词语所做的讨论是指计算机系统或类似电子计算模块和/或装置的操作和处理,其将对被表示为所述计算机系统的存储器或寄存器或者其他这样的信息存储器、传输或显示装置内的物理量的数据进行操纵和变换。
本申请的某些方面包括采取算法形式的文中描述的处理步骤和指令。应指出,本申请的处理步骤和指令可以实现在软件、固件和/或硬件当中,在通过软件实施时,其能够被下载,从而保存在各种操作系统使用的不同平台上并从所述平台对其进行操作。
本申请还涉及一种用于执行文中的操作的设备。这一设备可以是针对所需的目的而专门构造的,或者其可以包括由存储在计算机内的计算机程序有选择地激活或重新配置的通用计算机。这样的计算机程序可以存储在有形计算机可读存储介质中,例如,所述计算机可读存储介质可以是但不限于包括软盘、光盘、CD-ROM、磁光盘在内的任何类型的盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁或光卡、专用集成电路或者任何类型的适于存储电子指令的介质,它们当中的每者均耦接至计算机系统总线。此外,本说明书中引述的计算机和/或其他电子装置可以包括单个处理器或者可以是采用提高计算能力的多处理器设计的架构。
文中呈现的算法和显示并不与任何特定的计算机、虚拟化系统或其他设备存在固有的关联。也可以将各种通用系统与根据本文教导的程序一起使用,或者系统可以证明,构建所需的更为专门的设备来执行期望的方法步骤是方便的。通过文中提供的描述,这些各种各样的系统所需的结构将变得显而易见。此外,未参照任何特定的编程语言描述本申请。要认识到,可以使用各种编程语言来实现文中描述的本申请的教导,并且上文提及的任何具体措辞都是出于公开本申请的实现及最佳方式的目的。
在各实施例中,可以将本申请实现为用于控制计算机系统、计算装置或其他电子装置的软件、硬件和/或其他元件,或者它们的任何组合或多重设置。根据本领域公知的技术,这样的电子装置可以包括(例如)处理器、输入装置(例如,键盘、鼠标、触控板、跟踪板、操纵杆、轨迹球、传声器和/或它们的任何组合)、输出装置(例如,屏幕、扬声器等)、存储器、长期存储器 (例如,磁存储器、光存储器等)和/或网络连接。这样的电子装置可以是便携式的或者非便携式的。可以用于实施本申请的电子装置的例子包括移动电话、个人数字助理、智能电话、信息亭、台式计算机、膝上型电脑、消费电子装置、电视、机顶盒等。实施本申请的电子装置可以采用的操作系统可以是(例如)可从加利福尼亚库佩蒂诺的苹果公司获得的iOS、可从加利福尼亚山景城的谷歌公司获得的Android、可从华盛顿雷蒙德的微软公司获得的 Microsoft Windows 7、可从加利福尼亚桑尼维尔的Palm公司获得的webOS 或者任何其他适于在所述装置上使用的操作系统。在一些实施例中,用于实施本申请的电子装置包括用于通过一个或多个网络通信的功能,例如,所述网络包括蜂窝电话网、无线网络和/或诸如Internet的计算机网络。
可以采用“耦接”和“连接”及其派生词描述一些实施例。应理解,这些术语并非意在彼此同义。例如,可以在采用词语“连接”指示两个或更多元件相互直接物理或电接触的情况下描述一些实施例。在另一范例中,例如,可以在采用词语“耦接”指示两个或更多元件直接物理或电接触的情况下描述一些实施例。不过,术语“耦接”也可以表示两个或更多元件彼此不直接接触,但仍然彼此协作或交互作用。实施例不限于这种语境。
文中采用的词语“包括”、“包含”、“具有”或者它们的任何其他变型意思是非排他性地包含。例如,包括一系列元素的处理、方法、物品或设备未必仅局限于这些元素,而是可以包括其他未明确列举的或者这样的处理、方法、物品或设备所固有的元素。此外,除非做出明确的相反陈述,否则“或”是指包含性的或而非排他性的或。例如,条件A或B可由下面的任何一项满足: A为真(或存在)并且B为假(或者不存在)、A为假(或不存在)并且B 为真(或存在)、以及A和B均为真(或存在)。
文中采用的单数冠词定义为一个或不止一个。文中采用的词“多个”定义为两个或不止两个。文中采用的词“另一”定义为至少第二个或更多。
普通技术人员在开发文中描述的方法和系统的处理中将不需要额外的说明,但是通过查验相关领域的标准化参考著作可以找到一些有可能对这些方法和系统的准备有帮助的指导。
尽管已经联系有限数量的实施例描述了本申请,但是得益于上文的描述的本领域技术人员将认识到在不背离文中描述的本申请的范围的情况下可以设计出其他实施例。应指出,说明书中采用的措辞主要是出于易读性和指导目的而加以选择的,选择其的目的并非在于勾勒或者限制本申请的主题。不应将下面的权利要求中采用的术语推断为使本申请局限于说明书和权利要求中所公开的具体实施例,而是应当将这些术语视为包含落在下文阐述的权利要求的范围内的所有方法和系统。相应地,本申请不受本公开的限定,相反其范围完全由下述权利要求判定。
Claims (28)
1.一种机器人厨房系统中的存放装置,包括:
机器人,具有带有多个传感器(225)的机器人手(18,205);
存放装置(43),包括:
壳体,其包含多个存放单元;以及
多个容器,每个容器配置为由一个或相应的存放单元(46,47)承载,其中,每个容器包括用于容纳食材的容器主体(51),并且每个容器设有配置为由所述机器人承载的把手(54,55,140),其中所述把手便于所述机器人对容器的定向和移动;
其中,所述机器人手(18,205)上的多个传感器(225)配置为检测多个机器可读标识。
2.根据权利要求1所述的机器人厨房系统中的存放装置,其中,所述多个容器具有不同的尺寸。
3.根据权利要求1所述的机器人厨房系统中的存放装置,其中,每个把手包括至少一个支撑腿,其具有由所述容器主体承载的第一端和耦接到把手元件的第二端,使得所述把手元件与所述容器主体间隔开。
4.根据权利要求1所述的机器人厨房系统中的存放装置,其中,所述容器中至少一个容器的把手包括多个间隔开的机器可读标识符。
5.根据权利要求4所述的机器人厨房系统中的存放装置,其中,所述机器可读标识符是条形码。
6.根据权利要求4所述的机器人厨房系统中的存放装置,其中,所述机器可读标识符是射频(RFID)标签。
7.根据权利要求1所述的机器人厨房系统中的存放装置,其中,至少一个所述容器承载计算机控制的信号发射灯。
8.根据权利要求1所述的机器人厨房系统中的存放装置,其中,在所述存放单元中的至少一个存放单元上提供锁定装置,所述锁定装置配置为在被激活时将容器至少部分地锁定在所述存放单元中的一个存放单元内。
9.根据权利要求8所述的机器人厨房系统中的存放装置,其中,所述至少一个锁定装置配置为将所述容器至少部分地锁定在所述存放单元中的一个存放单元内预定的时间段。
10.根据权利要求1所述的机器人厨房系统中的存放装置,其中,所述装置还包括:
冷却系统,用于冷却所述存放单元中的至少一个以冷却定位于所述存放单元内的容器的至少一部分。
11.根据权利要求10所述的机器人厨房系统中的存放装置,其中,所述冷却系统配置为冷却所述存放单元的后部和下侧中的至少一个。
12.根据权利要求10或11所述的机器人厨房系统中的存放装置,其中,所述冷却系统包括:
冷却单元;以及
多个伸长传热元件,每个传热元件的一端耦接到所述存放单元中相应一个存放单元并且另一端耦接到所述冷却单元,使得所述传热元件将热量从相应存放单元传递到所述冷却单元以降低存放单元内的温度。
13.根据权利要求12所述的机器人厨房系统中的存放装置,其中,所述传热元件中的至少一个包括电子控制阀,所述电子控制阀配置为在激活时允许沿相应传热元件的一部分从存放单元传递热量,并且配置为在未激活时限制沿相应传热元件的一部分从存放单元传递热量。
14.根据权利要求10所述的机器人厨房系统中的存放装置,其中,所述装置包括加热系统,其配置为加热所述存放单元中的至少一个存放单元以升高所述存放单元内容器的至少一部分的温度。
15.根据权利要求14所述的机器人厨房系统中的存放装置,其中,所述加热系统包括加热元件,其定位于邻近存放单元的一部分。
16.根据权利要求14所述的机器人厨房系统中的存放装置,其中,所述装置进一步包括温度控制单元,其配置为控制所述加热系统和所述冷却系统中的至少一个,其中,所述存放单元中的至少一个存放单元设有温度传感器,其耦接到所述温度控制单元,使得所述温度控制单元可检测存放单元内的温度,并且通过激活所述加热系统和所述冷却系统中的至少一个来控制所述存放单元内的所述温度。
17.根据权利要求1所述的机器人厨房系统中的存放装置,其中,所述存放单元中的至少一个存放单元设有湿度传感器以感测所述存放单元内的湿度。
18.根据权利要求1所述的机器人厨房系统中的存放装置,其中,所述存放单元中的至少一个存放单元耦接到蒸汽发生器,使得所述蒸汽发生器能够将蒸汽注入到所述存放单元中以加湿存放单元。
19.根据权利要求1所述的机器人厨房系统中的存放装置,其中,所述容器中的至少一个容器包括体积指示器,所述体积指示器指示所述容器内的食材的体积。
20.根据权利要求1所述的机器人厨房系统中的存放装置,其中,所述容器中的至少一个容器是用于盛放液体的瓶子,所述瓶子具有配置为通过一闭合元件选择性地封闭的开口。
21.根据权利要求1所述的机器人厨房系统中的存放装置,其中,所述装置进一步包括相对于所述壳体可移动的可移动支撑元件,所述可移动支撑元件包括至少一个存放单元,其配置为容纳所述容器中的相应一个容器。
22.根据权利要求21所述的机器人厨房系统中的存放装置,其中,所述可移动支撑元件相对于所述壳体可旋转,所述可移动支撑元件具有多个侧面,所述多个侧面中的至少一个侧面包括至少一个存放单元,所述可移动支撑元件配置为旋转以将所述可移动支撑元件的不同面呈现给操作者。
23.根据权利要求1所述的机器人厨房系统中的存放装置,其中,所述机器人手(18,205)上的多个传感器(225)配置为检测多个机器可读标识。
24.根据权利要求1所述的机器人厨房系统中的存放装置,其中,每个把手(54)包括至少一个支撑腿(56,57),所述支撑腿具有由所述容器主体(51)承载的第一端和耦接到把手元件(58)的第二端使得所述把手元件与所述容器主体(51)间隔开。
25.根据权利要求1所述的机器人厨房系统中的存放装置,其中,所述容器中至少一个容器是用于盛放液体的瓶子,所述瓶子具有开口,所述开口配置为由闭合元件选择性地闭合。
26.根据权利要求1所述的机器人厨房系统中的存放装置,其中,所述容器中至少一个容器包括:
第一部分(139),其承载所述把手(140);以及
第二部分(145),其可移动地安装到所述第一部分(139)使得当所述容器的所述第二部分(145)相对于所述容器的所述第一部分(139)移动时,所述容器的所述第二部分(145)作用于所述容器内的食品(147)的一部分以相对于所述容器的所述第一部分(139)移动所述食品(147)。
27.一种存放装置系统,包括:
具有多个传感器(225)的机器人手(18,205),所述多个传感器(225)被承载于机器人手(18,205)的部分(220)上的不同位置;
壳体(44),包含多个存放单元(46,47);以及
多个容器,所述多个容器中的每个配置为被对应的所述存放单元(46,47)承载,其中,每个容器包括用于接收食材的容器主体(51),并且每个容器设有把手(54,55,140);
其中,所述多个容器至少一个容器的把手包括多个机器可读标记,所述多个机器可读标记处于间隔开的位置;并且
其中,所述机器人手(18,205)上的所述多个传感器(225)配置为检测所述多个机器可读标记以检查所述机器人手(18,205)中的所述多个机器可读标记的位置,以验证所述机器人手(18,205)是否正确地握住所述多个容器的至少一个容器的所述把手。
28.一种存放装置系统,包括:
具有多个传感器(225)的机器人手(18,205),所述多个传感器(225)被承载于机器人手(18,205)的手掌部分(220)上的不同位置;
存放装置(43),包括:
壳体(44),包含多个存放单元(46,47);以及
多个容器,所述多个容器中的每个配置为被对应的所述存放单元(46,47)承载,其中,每个容器包括用于接收食材的容器主体(51),并且每个容器设有把手(54,55,140);
其中,所述多个容器至少一个容器的把手包括多个磁体,所述多个磁体处于间隔开的位置;并且
其中,所述机器人手(18,205)上的所述多个传感器(225)配置为检测所述多个磁体以检查所述机器人手(18,205)中的所述多个磁体的位置,以验证所述机器人手(18,205)是否正确地握住所述多个容器的至少一个容器的所述把手。
Applications Claiming Priority (11)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562268131P | 2015-12-16 | 2015-12-16 | |
US62/268,131 | 2015-12-16 | ||
US201662288854P | 2016-01-29 | 2016-01-29 | |
US62/288,854 | 2016-01-29 | ||
US201662322118P | 2016-04-13 | 2016-04-13 | |
US62/322,118 | 2016-04-13 | ||
US201662399476P | 2016-09-25 | 2016-09-25 | |
US62/399,476 | 2016-09-25 | ||
US201662425531P | 2016-11-22 | 2016-11-22 | |
US62/425,531 | 2016-11-22 | ||
PCT/IB2016/001947 WO2017103682A2 (en) | 2015-12-16 | 2016-12-16 | Robotic manipulation methods and systems for executing a domain-specific application in an instrumented environment with containers and electronic minimanipulation libraries |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108778634A CN108778634A (zh) | 2018-11-09 |
CN108778634B true CN108778634B (zh) | 2022-07-12 |
Family
ID=59056072
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680081746.7A Active CN108778634B (zh) | 2015-12-16 | 2016-12-16 | 包括机器人、存放装置及其容器的机器人厨房 |
Country Status (8)
Country | Link |
---|---|
US (1) | US20170348854A1 (zh) |
EP (1) | EP3389955A2 (zh) |
JP (1) | JP2019503875A (zh) |
CN (1) | CN108778634B (zh) |
AU (1) | AU2016370628A1 (zh) |
CA (1) | CA3008562A1 (zh) |
SG (1) | SG11201804933SA (zh) |
WO (1) | WO2017103682A2 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12114944B2 (en) | 2016-09-27 | 2024-10-15 | Brainlab Ag | Efficient positioning of a mechatronic arm |
Families Citing this family (95)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9460633B2 (en) * | 2012-04-16 | 2016-10-04 | Eugenio Minvielle | Conditioner with sensors for nutritional substances |
DE102015012961B4 (de) * | 2015-10-08 | 2022-05-05 | Kastanienbaum GmbH | Robotersystem |
JP6966483B2 (ja) * | 2016-07-01 | 2021-11-17 | イリノイ トゥール ワークス インコーポレイティド | 静的試験および繰り返し試験下において物体内の欠陥を、その場で(in−situ)3軸走査および検出するための統合システムおよび方法 |
US10427305B2 (en) * | 2016-07-21 | 2019-10-01 | Autodesk, Inc. | Robotic camera control via motion capture |
US10390895B2 (en) | 2016-08-16 | 2019-08-27 | Ethicon Llc | Control of advancement rate and application force based on measured forces |
US10531929B2 (en) * | 2016-08-16 | 2020-01-14 | Ethicon Llc | Control of robotic arm motion based on sensed load on cutting tool |
US10955838B2 (en) * | 2016-09-26 | 2021-03-23 | Dji Technology, Inc. | System and method for movable object control |
US20180113682A1 (en) * | 2016-10-20 | 2018-04-26 | Johnson Controls Technology Company | Building control manager with integrated engineering tool and controller application file application program interface (api) |
US10416629B1 (en) * | 2016-11-21 | 2019-09-17 | X Development Llc | Acoustic contact sensors |
US10293488B2 (en) * | 2016-11-28 | 2019-05-21 | Hall Labs Llc | Container and robot communication in inventory system |
JP6892286B2 (ja) * | 2017-03-03 | 2021-06-23 | 株式会社キーエンス | 画像処理装置、画像処理方法、及びコンピュータプログラム |
WO2018165038A1 (en) | 2017-03-06 | 2018-09-13 | Miso Robotics, Inc. | Augmented reality-enhanced food preparation system and related methods |
US11351673B2 (en) | 2017-03-06 | 2022-06-07 | Miso Robotics, Inc. | Robotic sled-enhanced food preparation system and related methods |
EP3379475A1 (en) * | 2017-03-23 | 2018-09-26 | Panasonic Intellectual Property Management Co., Ltd. | Information presentation apparatus and information presentation method |
JP2018169660A (ja) * | 2017-03-29 | 2018-11-01 | セイコーエプソン株式会社 | オブジェクト姿勢検出装置、制御装置、ロボットおよびロボットシステム |
CN110662631B (zh) * | 2017-05-17 | 2023-03-31 | 远程连接株式会社 | 控制装置、机器人控制方法以及机器人控制系统 |
US11513491B2 (en) * | 2017-05-29 | 2022-11-29 | Tetra Laval Holdings & Finance S.A. | Process control for production of liquid food |
KR101826911B1 (ko) * | 2017-05-31 | 2018-02-07 | 주식회사 네비웍스 | 햅틱 인터랙션 기반 가상현실시뮬레이터 및 그 동작 방법 |
US10427306B1 (en) * | 2017-07-06 | 2019-10-01 | X Development Llc | Multimodal object identification |
US10142794B1 (en) * | 2017-07-10 | 2018-11-27 | International Business Machines Corporation | Real-time, location-aware mobile device data breach prevention |
US10509415B2 (en) * | 2017-07-27 | 2019-12-17 | Aurora Flight Sciences Corporation | Aircrew automation system and method with integrated imaging and force sensing modalities |
TWI650626B (zh) * | 2017-08-15 | 2019-02-11 | 由田新技股份有限公司 | 基於三維影像之機械手臂加工方法及系統 |
WO2019039006A1 (ja) * | 2017-08-23 | 2019-02-28 | ソニー株式会社 | ロボット |
US11559898B2 (en) * | 2017-10-06 | 2023-01-24 | Moog Inc. | Teleoperation system, method, apparatus, and computer-readable medium |
WO2019079345A1 (en) * | 2017-10-18 | 2019-04-25 | Zume Pizza, Inc. | ROBOTIC FOOD ASSEMBLY EQUIPMENT ON DEMAND, AND ASSOCIATED METHODS AND SYSTEMS |
JP2019089166A (ja) * | 2017-11-15 | 2019-06-13 | セイコーエプソン株式会社 | 力検出システムおよびロボット |
CN107713415B (zh) * | 2017-11-21 | 2023-08-15 | 广东佳居乐家居科技有限公司 | 一种多功能橱柜 |
JP6680750B2 (ja) | 2017-11-22 | 2020-04-15 | ファナック株式会社 | 制御装置及び機械学習装置 |
US10849532B1 (en) * | 2017-12-08 | 2020-12-01 | Arizona Board Of Regents On Behalf Of Arizona State University | Computer-vision-based clinical assessment of upper extremity function |
US10792809B2 (en) * | 2017-12-12 | 2020-10-06 | X Development Llc | Robot grip detection using non-contact sensors |
CN108347478B (zh) * | 2018-01-24 | 2022-04-19 | 深圳市深创谷技术服务有限公司 | 自动切削果蔬的控制方法、果蔬自动切削设备及系统 |
JP6848903B2 (ja) * | 2018-03-08 | 2021-03-24 | オムロン株式会社 | 部品挿入装置、部品挿入方法、およびプログラム |
JP6933167B2 (ja) * | 2018-03-14 | 2021-09-08 | オムロン株式会社 | ロボットの制御装置 |
JP6795540B2 (ja) * | 2018-04-24 | 2020-12-02 | ファナック株式会社 | ロボットを用いた負荷の重量及び重心位置を推定するための装置、方法及びプログラム |
US10782026B2 (en) * | 2018-05-09 | 2020-09-22 | Takisha Schulterbrandt | Appparatus and method for positioning a cooking instrument |
US10826906B2 (en) * | 2018-05-10 | 2020-11-03 | Nidec Motor Corporation | System and computer-implemented method for controlling access to communicative motor |
KR101956504B1 (ko) * | 2018-06-14 | 2019-03-08 | 강의혁 | 로봇 시뮬레이터를 제공하는 방법, 시스템 및 비일시성의 컴퓨터 판독 가능 기록 매체 |
US10877781B2 (en) * | 2018-07-25 | 2020-12-29 | Sony Corporation | Information processing apparatus and information processing method |
US11167421B2 (en) | 2018-08-10 | 2021-11-09 | Miso Robotics, Inc. | Robotic kitchen assistant including universal utensil gripping assembly |
US11292133B2 (en) * | 2018-09-28 | 2022-04-05 | Intel Corporation | Methods and apparatus to train interdependent autonomous machines |
JP7192359B2 (ja) * | 2018-09-28 | 2022-12-20 | セイコーエプソン株式会社 | ロボットを制御する制御装置、および制御方法 |
WO2020075515A1 (ja) * | 2018-10-10 | 2020-04-16 | ソニー株式会社 | 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム |
EP3866081A4 (en) * | 2018-10-12 | 2021-11-24 | Sony Group Corporation | INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING SYSTEM, INFORMATION PROCESSING METHOD AND PROGRAM |
US11577401B2 (en) | 2018-11-07 | 2023-02-14 | Miso Robotics, Inc. | Modular robotic food preparation system and related methods |
CN109697730B (zh) * | 2018-11-26 | 2021-02-09 | 深圳市德富莱智能科技股份有限公司 | 基于光学识别的ic芯片处理方法、系统及存储介质 |
CN111267089A (zh) * | 2018-12-04 | 2020-06-12 | 北京猎户星空科技有限公司 | 一种动作原子的生成与执行方法及装置、设备和存储介质 |
CN109656251B (zh) * | 2018-12-29 | 2021-03-26 | 中国矿业大学 | 一种用于矿区废弃地土壤检测的巡检机器人及工作方法 |
US11046518B2 (en) | 2019-01-14 | 2021-06-29 | Mujin, Inc. | Controller and control method for robot system |
JP6738112B2 (ja) * | 2019-01-14 | 2020-08-12 | 株式会社Mujin | ロボットシステムの制御装置及び制御方法 |
JP6908642B2 (ja) * | 2019-02-25 | 2021-07-28 | ファナック株式会社 | レーザ加工装置 |
US20200268210A1 (en) * | 2019-02-25 | 2020-08-27 | Zhengxu He | Automatic kitchen system |
CN110000775B (zh) * | 2019-02-28 | 2021-09-21 | 深圳镁伽科技有限公司 | 设备管理方法、控制设备及存储介质 |
US10891841B2 (en) * | 2019-03-04 | 2021-01-12 | Alexander Favors | Apparatus and system for capturing criminals |
WO2020203793A1 (ja) * | 2019-03-29 | 2020-10-08 | 株式会社エスイーフォー | ロボットの制御装置、制御ユニット、それらを有するロボット制御システム |
CN110046854B (zh) * | 2019-04-17 | 2020-04-07 | 爱客科技(深圳)有限公司 | 一种物流追踪查询的系统 |
EP3747604B1 (en) * | 2019-06-07 | 2022-01-26 | Robert Bosch GmbH | Robot device controller, robot device arrangement and method for controlling a robot device |
WO2020250039A1 (en) * | 2019-06-12 | 2020-12-17 | Mark Oleynik | Systems and methods for minimanipulation library adjustments and calibrations of multi-functional robotic platforms with supported subsystem interactions |
JP2020203349A (ja) * | 2019-06-18 | 2020-12-24 | 株式会社ダイヘン | ロボット制御装置、及びロボット制御システム |
CN110226872A (zh) * | 2019-06-24 | 2019-09-13 | 北京鲲鹏神通科技有限公司 | 一种用于厨房烹饪的智能配菜装置 |
DE102019118012B3 (de) * | 2019-07-03 | 2020-09-17 | Günther Battenberg | Verfahren und Vorrichtung zum Steuern eines Robotersystems mittels menschlicher Bewegung |
JP7376268B2 (ja) * | 2019-07-22 | 2023-11-08 | ファナック株式会社 | 三次元データ生成装置及びロボット制御システム |
JPWO2021024828A1 (zh) * | 2019-08-08 | 2021-02-11 | ||
JP6792898B1 (ja) * | 2020-07-21 | 2020-12-02 | 株式会社DailyColor | ロボット制御装置 |
JP6742040B1 (ja) * | 2019-08-28 | 2020-08-19 | 株式会社DailyColor | ロボット制御装置 |
CN110509276B (zh) * | 2019-08-28 | 2022-06-21 | 哈尔滨工程大学 | 一种机场跑道检测机器人的运动建模及参数辨识方法 |
EP3998140A4 (en) * | 2019-08-28 | 2022-09-28 | Daily Color Inc. | ROBOT CONTROL DEVICE |
CN112596508B (zh) * | 2019-08-29 | 2022-04-12 | 美智纵横科技有限责任公司 | 一种传感器的控制方法、装置及存储介质 |
CN110419967B (zh) * | 2019-09-04 | 2020-09-11 | 浙江师范大学 | 一种具有防潮防虫功能的智能储米桶 |
CN110580253B (zh) * | 2019-09-10 | 2022-05-31 | 网易(杭州)网络有限公司 | 时序数据组的加载方法、装置、存储介质及电子设备 |
CN112580795B (zh) * | 2019-09-29 | 2024-09-06 | 华为技术有限公司 | 一种神经网络的获取方法以及相关设备 |
WO2021063976A1 (en) * | 2019-10-01 | 2021-04-08 | Société des Produits Nestlé S.A. | A system for the preparation of a packaged food composition |
CN111198529A (zh) * | 2020-01-16 | 2020-05-26 | 珠海格力电器股份有限公司 | 一种烹饪设备、烹饪方法、装置、电子设备及存储介质 |
CN111325828B (zh) * | 2020-01-21 | 2024-03-22 | 中国电子科技集团公司第五十二研究所 | 一种基于三目相机的三维人脸采集方法及装置 |
US11317748B2 (en) * | 2020-01-23 | 2022-05-03 | Jacqueline Foster | Programmable lock box |
CN111402200B (zh) * | 2020-02-18 | 2021-12-21 | 江苏大学 | 基于共生双流卷积网络和数字图像的油炸食品检测系统 |
CN111568208A (zh) * | 2020-02-28 | 2020-08-25 | 佛山市云米电器科技有限公司 | 饮水机控制方法、饮水机及计算机可读存储介质 |
CN111360873A (zh) * | 2020-03-12 | 2020-07-03 | 山东大学 | 一种在厨房场景下的机械臂末端载具的组合装置及方法 |
CA3117643A1 (en) * | 2020-05-12 | 2021-11-12 | Soremartec S.A. | Operating device |
US11731271B2 (en) * | 2020-06-30 | 2023-08-22 | Microsoft Technology Licensing, Llc | Verbal-based focus-of-attention task model encoder |
CN112167090B (zh) * | 2020-11-11 | 2023-05-02 | 四川省建研全固建筑新技术工程有限公司 | 一种动物行为训练与展示系统及方法 |
WO2022150501A1 (en) * | 2021-01-06 | 2022-07-14 | Machina Labs, Inc. | System and method for part forming using intelligent robotic system |
US11938634B2 (en) * | 2021-02-18 | 2024-03-26 | Sanctuary Cognitive Systems Corporation | Systems, devices, and methods for multi-purpose robots |
WO2022236227A1 (en) | 2021-05-01 | 2022-11-10 | Miso Robotics, Inc. | Automated bin system for accepting food items in robotic kitchen workspace and related methods |
US20220055837A1 (en) * | 2021-05-06 | 2022-02-24 | Compagnie Generale Des Etablissements Michelin | Automated flow control for rubber product manufacturing processes |
DE102021204697B4 (de) | 2021-05-10 | 2023-06-01 | Robert Bosch Gesellschaft mit beschränkter Haftung | Verfahren zum Steuern einer Robotervorrichtung |
WO2022245744A1 (en) * | 2021-05-17 | 2022-11-24 | House of Design LLC | Systems and methods to accomplish a physical process |
IT202100019913A1 (it) * | 2021-07-26 | 2023-01-26 | Giuseppe Sardo | Tavolo automatizzato per la ristorazione |
CA3170186A1 (en) * | 2021-08-13 | 2023-02-13 | Sanctuary Cognitive Systems Corporation | Multi-purpose robots and computer program products, and methods for operating the same |
CN113876125B (zh) * | 2021-09-03 | 2023-01-17 | 河南帅太整体定制家居有限公司 | 一种用于厨柜的智能交互系统 |
US12115656B1 (en) | 2022-05-11 | 2024-10-15 | Ally Robotics, Inc. | Modular robotic arm |
DE202022103772U1 (de) | 2022-07-06 | 2022-07-21 | Uttaranchal University | Ein System zur Notwendigkeitserkennung und Warnung von Gewürzen in der Küche |
WO2024080086A1 (ja) * | 2022-10-11 | 2024-04-18 | ソフトバンクグループ株式会社 | Autonomous Driving 10 finger |
US11931894B1 (en) * | 2023-01-30 | 2024-03-19 | Sanctuary Cognitive Systems Corporation | Robot systems, methods, control modules, and computer program products that leverage large language models |
CN117570819B (zh) * | 2024-01-17 | 2024-04-05 | 武汉特种工业泵厂有限公司 | 一种贯流泵生产用检测装置及其检测方法 |
CN118151590B (zh) * | 2024-05-09 | 2024-08-30 | 辽宁柒隆智能科技有限公司 | 基于数据分析的人机管理方法及系统 |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US758258A (en) * | 1904-02-08 | 1904-04-26 | Abel M Kindwall | Rural mail-delivery case. |
US1348461A (en) * | 1920-03-05 | 1920-08-03 | Washington Earnest | Hotel or restaurant cabinet |
US1358332A (en) * | 1920-05-18 | 1920-11-09 | Rodwell James | Cook's dresser, store-cupboard, and the like |
US1603028A (en) * | 1923-06-26 | 1926-10-12 | Alvie C Crimmel | Kitchen cabinet |
US1992583A (en) * | 1931-10-21 | 1935-02-26 | Otto A H Schulz | Groceries cupboard |
JPS56128160U (zh) * | 1980-03-03 | 1981-09-29 | ||
JPS57138478U (zh) * | 1981-02-23 | 1982-08-30 | ||
JPH0186833U (zh) * | 1987-11-30 | 1989-06-08 | ||
JP2679352B2 (ja) * | 1990-04-13 | 1997-11-19 | 松下電器産業株式会社 | クッキング装置 |
GB2252003A (en) * | 1991-01-21 | 1992-07-22 | Lee Jong Seop | Turntable for television receiver |
JP3070228B2 (ja) * | 1992-03-13 | 2000-07-31 | 松下電器産業株式会社 | 機器収納装置 |
JPH072313A (ja) * | 1993-06-18 | 1995-01-06 | Fuji Electric Co Ltd | 柔軟個体の貯蔵・取出装置および柔軟個体挟持用ハンド |
US6176392B1 (en) * | 1997-12-05 | 2001-01-23 | Mckesson Automated Prescription Systems, Inc. | Pill dispensing system |
US6006946A (en) * | 1997-12-05 | 1999-12-28 | Automated Prescriptions System, Inc. | Pill dispensing system |
US6036812A (en) * | 1997-12-05 | 2000-03-14 | Automated Prescription Systems, Inc. | Pill dispensing system |
JP4312933B2 (ja) * | 2000-06-21 | 2009-08-12 | 大和ハウス工業株式会社 | 電子レンジ調理用家具、電子レンジ調理装置及びキッチン構造 |
CN100445948C (zh) * | 2001-09-29 | 2008-12-24 | 张晓林 | 自动烹调方法及系统 |
US6968876B2 (en) * | 2003-01-21 | 2005-11-29 | Jaws International, Ltd. | Apparatus for dispensing a substance |
CN1478637A (zh) * | 2003-07-07 | 2004-03-03 | 美华机器人(昆山)研究开发有限公司 | 机器人烹饪系统 |
GB2405079B (en) * | 2003-08-08 | 2006-04-05 | Turner Intellect Property Ltd | A cabinet |
CN2728306Y (zh) * | 2004-10-20 | 2005-09-28 | 肖楚泰 | 一体化多功能厨用机 |
CN100588328C (zh) * | 2006-01-06 | 2010-02-10 | 李卫红 | 全自动烹饪机器人系统 |
US8065035B2 (en) * | 2007-05-02 | 2011-11-22 | Carefusion 303, Inc. | Automated medication handling system |
CN106030427B (zh) * | 2014-02-20 | 2020-09-08 | M·奥利尼克 | 用于在机器人烹饪厨房中制备食物的方法和系统 |
US9446509B2 (en) * | 2014-05-13 | 2016-09-20 | Winfred Martin | Mobile tool cart and storage system including tool storage devices |
US10518409B2 (en) * | 2014-09-02 | 2019-12-31 | Mark Oleynik | Robotic manipulation methods and systems for executing a domain-specific application in an instrumented environment with electronic minimanipulation libraries |
US10360531B1 (en) * | 2016-12-19 | 2019-07-23 | Amazon Technologies, Inc. | Robot implemented item manipulation |
CN107705067B (zh) * | 2017-09-26 | 2021-11-02 | 山东三齐能源有限公司 | 移动烹饪及配料供给系统以及制备食品及供给配料系统 |
-
2016
- 2016-12-16 SG SG11201804933SA patent/SG11201804933SA/en unknown
- 2016-12-16 AU AU2016370628A patent/AU2016370628A1/en not_active Abandoned
- 2016-12-16 US US15/382,369 patent/US20170348854A1/en not_active Abandoned
- 2016-12-16 EP EP16836204.4A patent/EP3389955A2/en not_active Ceased
- 2016-12-16 JP JP2018532161A patent/JP2019503875A/ja active Pending
- 2016-12-16 CN CN201680081746.7A patent/CN108778634B/zh active Active
- 2016-12-16 WO PCT/IB2016/001947 patent/WO2017103682A2/en active Application Filing
- 2016-12-16 CA CA3008562A patent/CA3008562A1/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12114944B2 (en) | 2016-09-27 | 2024-10-15 | Brainlab Ag | Efficient positioning of a mechatronic arm |
Also Published As
Publication number | Publication date |
---|---|
WO2017103682A3 (en) | 2017-08-17 |
SG11201804933SA (en) | 2018-07-30 |
CA3008562A1 (en) | 2017-06-22 |
JP2019503875A (ja) | 2019-02-14 |
WO2017103682A2 (en) | 2017-06-22 |
US20170348854A1 (en) | 2017-12-07 |
AU2016370628A1 (en) | 2018-05-31 |
EP3389955A2 (en) | 2018-10-24 |
CN108778634A (zh) | 2018-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108778634B (zh) | 包括机器人、存放装置及其容器的机器人厨房 | |
AU2020226988B2 (en) | Robotic manipulation methods and systems for executing a domain-specific application in an instrumented environment with electronic minimanipulation libraries | |
US11345040B2 (en) | Systems and methods for operating a robotic system and executing robotic interactions | |
EP3107429B1 (en) | Methods and systems for food preparation in a robotic cooking kitchen | |
US20230031545A1 (en) | Robotic kitchen systems and methods in an instrumented environment with electronic cooking libraries |
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 |