在具有电子微操纵库的仪器化环境中执行特定领域应用的机器人操纵方法和系统与流程

文档序号:12908713阅读:266来源:国知局
在具有电子微操纵库的仪器化环境中执行特定领域应用的机器人操纵方法和系统与流程

相关申请的交叉引用

本申请是2015年2月20日提交的题为“methodandsystemforfoodpreparationinaroboticcookingkitchen”的共同未决美国专利申请no.14/627,900的部分继续申请。

该部分继续申请要求以下申请的优先权:2015年8月6日提交的题为“roboticmanipulationmethodsandsystemsbasedonelectronicmini-manipulationlibraries”的美国临时申请no.62/202,030、2015年7月7日提交的题为“roboticmanipulationmethodsandsystemsbasedonelectronicminimanipulationlibraries”的美国临时申请no.62/189,670、2015年5月27日提交的题为“roboticmanipulationmethodsandsystemsbasedonelectronicminimanipulationlibraries”的美国临时申请no.62/166,879、2015年5月13日提交的题为“roboticmanipulationmethodsandsystemsbasedonelectronicminimanipulationlibraries”的美国临时申请no.62/161,125、2015年4月12日提交的题为“roboticmanipulationmethodsandsystemsbasedonelectronicminimanipulationlibraries”的美国临时申请no.62/146,367、2015年2月16日提交的题为“methodandsystemforfoodpreparationinaroboticcookingkitchen”的美国临时申请no.62/116,563、2015年2月8日提交的题为“methodandsystemforfoodpreparationinaroboticcookingkitchen”的美国临时申请no.62/113,516、2015年1月28日提交的题为“methodandsystemforfoodpreparationinaroboticcookingkitchen”的美国临时申请no.62/109,051、2015年1月16日提交的题为“methodandsystemforroboticcookingkitchen”的美国临时申请no.62/104,680、2014年12月10日提交的题为“methodandsystemforroboticcookingkitchen”的美国临时申请no.62/090,310、2014年11月22日提交的题为“methodandsystemforroboticcookingkitchen”的美国临时申请no.62/083,195、2014年10月31日提交的题为“methodandsystemforroboticcookingkitchen”的美国临时申请no.62/073,846、2014年9月26日提交的题为“methodandsystemforroboticcookingkitchen”的美国临时申请no.62/055,799、以及2014年9月2日提交的题为“methodandsystemforroboticcookingkitchen”的美国临时申请no.62/044,677。

美国专利申请no.14/627,900要求以下申请的优先权:2015年2月16日提交的题为“methodandsystemforfoodpreparationinaroboticcookingkitchen”的美国临时申请no.62/116,563、2015年2月8日提交的题为“methodandsystemforfoodpreparationinaroboticcookingkitchen”的美国临时申请no.62/113,516、2015年1月28日提交的题为“methodandsystemforfoodpreparationinaroboticcookingkitchen”的美国临时申请no.62/109,051、2015年1月16日提交的题为“methodandsystemforroboticcookingkitchen”的美国临时申请no.62/104,680、2014年12月10日提交的题为“methodandsystemforroboticcookingkitchen”的美国临时申请no.62/090,310、2014年11月22日提交的题为“methodandsystemforroboticcookingkitchen”的美国临时申请no.62/083,195、2014年10月31日提交的题为“methodandsystemforroboticcookingkitchen”的美国临时申请no.62/073,846、2014年9月26日提交的题为“methodandsystemforroboticcookingkitchen”的美国临时申请no.61/055,799、2014年9月2日提交的题为“methodandsystemforroboticcookingkitchen”的美国专利申请no.62/044,677、2014年7月15日提交的题为“methodandsystemforroboticcookingkitchen”的美国临时申请no.62/024,948、2014年6月18日提交的题为“methodandsystemforroboticcookingkitchen”的美国临时申请no.62/013,691、2014年6月17日提交的题为“methodandsystemforroboticcookingkitchen”的美国临时申请no.62/013,502、2014年6月17日提交的题为“methodandsystemforroboticcookingkitchen”的美国临时申请no.62/013,190、2014年5月8日提交的题为“methodandsystemforroboticcookingkitchen”的美国临时申请no.61/990,431、2014年5月1日提交的题为“methodandsystemforroboticcookingkitchen”的美国临时申请no.61/987,406、2014年3月16日提交的题为“methodandsystemforroboticcookingkitchen”的美国临时申请no.61/953,930、以及2014年2月20日提交的题为“methodandsystemforroboticcookingkitchen”的美国临时申请no.61/942,559。

所有前述公开的主题通过整体引用而合并于此。

本申请总体上涉及机器人和人工智能(ai)的学科交叉领域,更特别地,涉及一种计算机化机器人系统,其采用具有转换的机器人指令的电子微操纵库,用于以实时电子调节来复现动作、过程和技巧。



背景技术:

机器人的研发已经进行了几十年,但是其取得的进展大多是在诸如汽车制造自动化的重工业应用或者军事应用当中。尽管已经针对消费者市场设计出了简单的机器人系统,但是到目前为止还尚未看到其在家庭消费机器人领域的广泛应用。随着技术进步和人民收入更高,市场已经成熟到适于为技术进步创造机会以改善人们生活。机器人借助于增强的人工智能以及对操作机器人设备或人形机方面许多形式的人类技能和任务的仿真而不断地改进着自动化技术。

自从二十世纪七十年代首次开发机器人以来,在某些领域用机器人代替人类执行通常由人类执行的任务的想法是一种不断演进的思想。制造业长期以来一直以教导重现(teach-playback)模式使用机器人,其中通过控制台(pendant)或离线固定的轨迹生成和下载对机器人进行教导,其持续复制一些动作而不存在变化或偏差。公司将计算机教导轨迹的预编程轨迹运行以及机器人动作重现运用到诸如搅拌饮料、汽车焊接或喷漆等应用领域。但是,所有这些常规应用均采用意在使机器人只忠实地执行动作命令的1∶1计算机对机器人或教导-重现原则,机器人通常是无偏差地遵循所教导的/预先计算的轨迹。



技术实现要素:

本申请的实施例涉及带有机器人指令的机器人设备的方法、计算机程序产品和计算机系统,其以基本相同的结果复现食物菜肴,就像是厨师来制备了该食物菜肴一样。在第一实施例中,标准化机器人厨房中的机器人设备包括两个机器臂和手,其按照相同的顺序(或基本相同的顺序)复现厨师的精确动作。两个机器臂和手基于先前记录的厨师制备相同食物菜肴的精确动作的软件文件(菜谱脚本),按照相同的时序(或基本相同的时序)复现这些动作以制备食物菜肴。在第二实施例中,计算机控制的烹饪设备基于先前记录在软件文件中的感测曲线,例如随时间推移的温度,来制备食物菜肴,为此其中厨师用带有传感器的烹饪设备制备相同的食物菜肴,当厨师先前在配备有传感器的烹饪设备上制备食物菜肴时,由计算机记录随时间推移的传感器值。在第三实施例中,厨房设备包括第一实施例中的机器臂和第二实施例中用于制备菜肴的带有传感器的烹饪设备,其将机器臂与一条或多条感测曲线两者结合起来,其中机器臂能够在烹饪处理期间对食物菜肴进行质量检查,质量检查所针对的特性诸如是味道、气味和外观,由此允许对食物菜肴的制备步骤进行任何烹饪调整。在第四实施例中,厨房设备包括采用计算机控制容器和容器标识的食物存放系统,用于存放食材以及为用户提供食材,以遵循厨师的烹饪指令制备食物菜肴。在第五实施例中,机器人烹饪厨房包括具有臂的机器人和厨房设备,其中机器人围绕厨房设备移动,从而通过模仿厨师的精确烹饪动作来制备食物菜肴,其包括对菜谱脚本中定义的制备处理做出可能的实时修改/适应性调节。

一种机器人烹饪引擎包括检测、记录和模仿厨师烹饪活动,控制诸如温度和时间之类的重要参数,以及处理借助于指定用具、设备和工具的执行,由此重现味道与厨师制备的同种菜肴相同的美食菜肴,并且在特定和方便的时间上菜。在一实施例中,机器人烹饪引擎提供机器臂以用于采用相同的食材和技术复现厨师的相同动作,从而制作相同口味的菜肴。

本申请的基础动机的核心在于,在人自然地执行活动的处理中采用传感器对其进行监视,然后能够使用监视传感器、捕获传感器、计算机和软件来生成信息和命令,从而使用一个或多个机器人和/或自动化系统复现人的活动。尽管可以设想多种这样的活动(例如,烹饪、绘画、演奏乐器等),但是本申请的一个方面涉及烹饪膳食;其实质上是机器人膳食制备应用。在仪器化应用特定的设置(本实例中为标准化厨房)中执行对人的监视,并且对人的监视涉及采用传感器和计算机来观察、监视、记录和解释人类厨师的运动和动作,从而开发出对环境中的变化和改变具有鲁棒性的可由机器人执行的命令集,能够允许机器人厨房中的机器人或自动化系统制备出从标准和质量上与人类厨师制备的菜肴相同的菜肴。

多模态感测系统的使用是收集必要的原始数据的手段。能够收集和提供这样的数据的传感器包括环境和几何传感器,例如,二维(摄像机等)和三维(激光、声纳等)传感器,以及人类运动捕获系统(人佩戴的摄像机目标、仪器化外套/外骨架、仪器化手套等),以及在菜谱创建和执行处理中采用的仪器化(传感器)和动力(致动器)设备(仪器化用具、烹饪设备、工具、食材分配器等)。通过一个或多个分布式/中央计算机收集所有这些数据并且通过各种软件处理对其进行处理。算法将对数据进行处理和抽象化,以达到人类和计算机控制的机器人厨房能够理解人类采取的活动、任务、动作、设备、食材以及方法和处理,包括复现特定厨师的关键技能的程度。通过一个或多个软件抽象引擎对原始数据进行处理,从而建立人可读的、并且通过进一步处理机器可理解和执行的菜谱脚本,其清楚说明机器人厨房将执行的特定菜谱的所有步骤的所有动作和活动。这些命令的复杂性范围从控制各个关节到随时间的特定关节运动简档,到与菜谱中的具体步骤相关联的、较低层级运动执行命令嵌入在其中的命令抽象层级。抽象运动命令(例如,“将蛋磕到平底锅里”、“两面烤成金黄色”等)可以从原始数据生成,并且通过大量迭代学习处理精炼和优化,现场和/或离线地执行,从而允许机器人厨房系统成功处理测量不确定性、食材变化等,由此能够基于相当抽象/高层级的命令(例如,“通过把手抓取锅(pot)”、“倒出内容物”、“抓取台面上的汤匙并且对汤进行搅拌”等),使用安装至机器臂和手腕上的带手指的手来实现复杂的(自适应的)微操纵活动。

创建机器可执行命令序列(其现在容纳在允许共享/传输的数字文件内,允许任何机器人厨房执行它们)的能力开辟了随时随地执行菜肴制备步骤的选项。因而,其允许在线买/卖菜谱的选项,允许用户基于每次使用或订购来访问和分发菜谱。

通过机器人厨房执行人类制备的菜肴的复现,其实质上是对人类厨师在菜肴创造处理中采用的仪器化厨房的标准化复制,除了现在是由一组机器臂和手、受计算机监视的和计算机可控制的器具、装置、工具、分配器等执行人的动作之外。因而,菜肴复现的保真度与机器人厨房对人类厨师在制备菜肴时受到观察所处的厨房(及其所有元件和食材)的复制程度密切相关。

广言之,具有由机器人操作系统(ros)用机器人指令操作的机器人计算机控制器的人形机包括:具有多个电子微操纵库的数据库,每个电子微操纵库包括多个微操纵元素。所述多个电子微操纵库可组合以创建一个或多个机器可执行特定应用指令集,电子微操纵库内的多个微操纵元素可组合以创建一个或多个机器可执行特定应用指令集;机器人结构,具有通过带关节的(articulated)颈部连接到头部的上身和下身,上身包括躯干、肩膀、臂和手;以及控制系统,通信耦接到所述数据库、传感器系统、传感器数据解释系统、运动规划器、以及致动器和相关联的控制器,所述控制系统执行特定应用指令集以操作所述机器人结构。

此外,本申请的实施例涉及用于执行来自一个或多个微操纵库的机器人指令的机器人设备的方法、计算机程序产品和计算机系统。两种类型的参数,元参数(elementalparameter)和应用参数,影响微操纵的操作。在微操纵的创建阶段,元参数提供测试各种组合、排列、以及自由度以产生成功微操纵的变量。在微操纵的执行阶段,应用参数是可编程的或者可被定制以针对特定应用来调整一个或多个微操纵库,例如食物制备、制作寿司、弹钢琴、绘画、拾取书本、以及其他类型的应用。

微操纵构成一种为人形机器人创建通用的可示例编程的(programmable-by-example)平台的新方法。现有技术大部分需要专家程序员为机器人动作或动作序列的每个步骤细致地开发控制软件。对以上情况的例外是对于很重复的低层级任务,诸如工厂装配等,其中存在模拟学习的雏形。微操纵库提供较高层级的感测和执行(sensing-and-execution)序列的大套件,该序列是用于复杂任务例如烹饪、照顾体弱者、或由下一代人形机器人执行的其它任务等的公共构建块。更具体地,与先前的技术不同,本申请提供以下区别特征。第一,可能非常大的预定义/预学习的感测和行动(sensing-and-action)序列的库被称为微操纵。第二,每个微操纵编码感测和行动序列以良好定义的成功概率(例如,取决于微操纵的复杂度和难度,100%或97%)成功产生期望功能结果(即后置条件)所需的前提条件。第三,每个微操纵参考一组变量,其值可以在执行微操纵动作之前先验地或者通过感测操作来设置。第四,每个微操纵改变表示执行微操纵中的动作序列的功能结果(后置条件)的一组变量的值。第五,可以通过重复观察人类导师(例如专家厨师)来确定感测和行动序列,并且确定可接受的变量值的范围来获取微操纵。第六,微操纵可组成更大的单元以执行端对端(end-to-end)任务,例如制备膳食、或者清洁房间。这些更大的单元是以严格顺序的、并行的或者部分有序的微操纵的多级应用,在部分有序的情形中,一些步骤必须在另一些步骤之前发生,但并不是总体有序的序列(例如,为了制备给定菜肴,需要将三种食材以精确的量组合到混合碗中,然后混合;将每种食材放入碗中的顺序不受约束,但是都必须置于混合之前)。第七,由机器人规划考虑到微操纵组件的前提条件和后置条件来将微操纵组装成端对端任务。第八,基于实例的推理,其中对人或其他机器人执行端对端任务的观察或相同机器人的过去经历可用于获取可重复使用的机器人规划形式的实例(执行端对端任务的具体例子)的库,包括成功的和失败的,成功的用于复现,失败的用于学习需要避免什么。

在本申请的第一方面,机器人设备通过访问一个或多个微操纵库来复现有经验的人类的操作,来执行任务。机器人设备的复现过程模拟人的智能或技巧通过一双手的转移,例如厨师如何使用一双手来制备特定菜肴,或者钢琴家通过他或她的一双手(并且可能还通过脚和身体动作)来演奏大师钢琴曲。在本申请的第二方面,机器人设备包括用于家庭应用的人形机,其中人形被设计为提供可编程或可定制的心理、情感和/或功能舒适的机器人,从而为用户提供快乐。在本申请的第三方面,一个或多个微操纵库作为,第一,一个或多个通用微操纵库以及,第二,一个或多个特定应用微操纵库而被创建和执行。基于元参数和人形机或机器人设备的自由度创建一个或多个通用微操纵库。人形机或机器人设备是可编程的,使得一个或多个通用微操纵库可被编程或定制,以成为根据用户对人形机或机器人设备的操作能力要求特定调整(tailored)了的一个或多个特定应用微操纵库。

本申请的一些实施例涉及与以下能力相关的技术特征:能够通过基于一组计算机编码的机器人移动和动作基元(primitive)自动创建人形机的移动、动作和人形机的行为,来创建复杂的机器人人形机移动、动作、以及与工具和环境的交互。基元由关节自由度的运动/动作定义,其复杂性在简单到复杂的范围,并且其可以按串行/并行方式以任何形式组合。这些动作基元被称为微操纵(mm),每个微操纵都具有旨在实现某个功能的明确按时间索引的命令输入结构、以及输出行为/性能简档(profile)。微操纵可以在从简单(“用1个自由度来索引单个指关节”)到涉及更多(例如“抓住器具”)到甚至更复杂(“抓取刀并且切面包”)到相当抽象(“演奏舒伯特第一号钢琴协奏曲”的第1小节)的范围。

因此,微操纵是基于软件的,类似于具有输入/输出数据文件和子例程的各个程序,其由包含在各运行时源代码内的输入和输出数据集以及固有处理算法和性能描述符表示,源代码在编译时生成目标代码,目标代码可以被编译和收集在各种不同的软件库中,被称为各种微操纵库(mml)的集合。微操纵库可分组为多个群组,无论这些是关联到(i)特定的硬件元件(手指/手、手腕、臂、躯干、脚、腿等)、(ii)行为元素(接触,抓握、握持等)、还是甚至(iii)应用领域(烹饪、绘画、演奏乐器等)。此外,在每个群组中,可以基于与期望的行为复杂度有关的多个层级(从简单到复杂)来安排微操纵库。

因此可以理解的是,微操纵(mm)的概念(定义和关联、度量和控制变量、以及它们的组合和值的使用和修改等)和其通过以几乎无穷的组合使用多个微操纵库的实施,涉及序列和组合中多个层级的一个或多个自由度(致动器控制下的可移动关节)的基本行为(移动和交互)的定义和控制,所述多个层级的范围可以从单个关节(指关节等)到关节组合(手指和手、臂等)到甚至更高自由度的系统(躯干、上身等),所述序列和组合实现自由空间中期望并且成功的移动序列,并且实现与真实世界期望程度的交互,从而能够使机器人系统通过工具、器具和其他物品对周围世界并且与周围世界一起实现期望的功能或输出。

上述定义的示例可包括从(i)用于用手指沿桌子弹开弹子的数字的简单命令序列,(ii)使用器具搅拌锅中的液体,到(iii)在乐器(小提琴、钢琴、竖琴等)上演奏一段音乐。基本概念是微操纵由在连续时间点顺序和并行执行的一组微操纵命令在多个层级上表示,并且一起产生移动和动作/与外界的互动从而达到期望的功能(搅动液体、拉动小提琴上的琴弦等)以实现期望的结果(烹饪意大利面酱、演奏一段巴赫协奏曲等)。

任何低到高微操纵序列的基本元素都包括每个子系统的移动,它们的组合被描述为在致动器驱动下由一个或多个关连关节按所需顺序执行的一组指定位置/速度和力/转矩。执行的保真度通过每个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是示出根据本申请的用机器人姿势、运动和力对所捕获的厨师活动进行评估的过程的一实施例的流程图。

图11是示出根据本申请的家庭机器人厨房系统中采用的机器臂实施例的侧视图的框图。

图12a-12c是示出根据本申请的与具有手掌的机器手一起使用的厨房把手的一实施例的框图。

图13是示出根据本申请的具有触觉传感器和分布式压力传感器的示例机器手的图画示图。

图14是示出根据本申请的厨师在机器人烹饪工作室佩戴的感测服装的示例的图画示图。

图15a-15b是示出根据本申请的用于厨师制备食物的具有传感器的三指触觉手套的一实施例以及具有传感器的三指机器手的示例的图画示图。

图15c是示出根据本申请的机器臂和机器手之间的相互作用和交互的一示例的框图。

图15d是示出根据本申请的采用可附接至炊具头的标准化厨房把手的机器手和可附接至厨房用具的机器臂的框图。

图16是示出根据本申请的微操纵数据库的库(library)的创建模块和微操纵数据库的库的执行模块的框图。

图17a是示出根据本申请的厨师用于执行标准化操作活动的感测手套的框图。

图17b是示出根据本申请的机器人厨房模块中的标准化操作活动的数据库的框图。

图18a是示出根据本申请的包覆有人工的类似于人的柔软皮肤的手套的每个机器手的示意图。

图18b是示出根据本申请的包覆有人工的类似于人的皮肤的手套以基于已经预定义并且储存在库数据库中的微操纵库数据库执行高层级微操纵的机器手的框图。

图18c是示出根据本申请的用于食物制备的三种类型的操纵动作分类的示意图。

图18d是示出根据本申请的对用于食物制备的操纵动作所做的分类(taxonomy)的一实施例的流程图。

图19是示出根据本申请的创建导致用刀敲裂鸡蛋的微操纵的框图。

图20是示出根据本申请的用于具有实时调整的微操纵的菜谱执行的示例的框图。

图21是示出根据本申请的在标准化厨房模块中捕获厨师的食物制备动作的软件处理的流程图。

图22是示出根据本申请的机器人标准化厨房模块中的机器人设备实施的食物制备的软件处理的流程图。

图23是示出根据本申请的建立、测试、验证和存储用于微操纵系统的各种参数组合的软件处理的一实施例的流程图。

图24是示出根据本申请的用于创建微操纵系统的任务的软件处理的一实施例的流程图。

图25是示出根据本申请的分配和利用标准化机器人厨房内的标准化厨房工具、标准化对象和标准化装置的库的处理的流程图。

图26是示出根据本申请的借助于三维建模识别非标准化对象的处理的流程图。

图27是示出根据本申请的用于微操纵的测试和学习的处理的流程图。

图28是示出根据本申请的用于机器臂质量控制和对准功能的处理的流程图。

图29是示出根据本申请的供在标准化机器人厨房中使用的微操纵对象的数据库库(library)结构的表格。

图30是示出根据本申请的供在标准化机器人厨房中使用的标准化对象的数据库库结构的表格。

图31是示出根据本申请的用于进行鱼肉的质量检查的机器手的图画示图。

图32是示出根据本申请的用于进行碗内质量检查的机器人传感器的图画示图。

图33是示出根据本申请的用于确定食物新鲜度和质量的检测装置或具有传感器的容器的图画示图。

图34是示出根据本申请的用于确定食物新鲜度和质量的在线分析系统的系统图。

图35是示出根据本申请的带有可编程分配器控制的预填充容器的框图。

图36是示出根据本申请的用于标准化机器人厨房中的食物制备的菜谱结构和过程的框图。

图37a-37c是示出根据本申请的供在标准化机器人厨房中使用的菜谱搜索菜单的框图。

图37d是根据本申请的具有创建和提交菜谱选项的菜单的屏幕快照。

图37e是示出食材类型的屏幕快照。

图37f-37n是示出根据本申请的具有功能能力的食物制备用户界面的一实施例的流程图,所述功能能力包括菜谱过滤器、食材过滤器、设备过滤器、账号和社交网络访问、个人合作伙伴页、购物车页以及有关购买的菜谱、注册设置、创建菜谱的信息。

图38是示出根据本申请的选择供在标准化机器人厨房中使用的字段的菜谱搜索菜单的框图。

图39是示出根据本申请的具有用于三维跟踪和参考数据生成的增强型传感器的标准化机器人厨房的框图。

图40是示出根据本申请的具有用于创建实时三维模型的多个传感器的标准化机器人厨房的框图。

图41a-41l是示出根据本申请的标准化机器人厨房的各种实施例和特征的框图。

图42a是示出根据本申请的标准化机器人厨房的顶视平面图的框图。

图42b是示出根据本申请的标准化机器人厨房的透视平面图的框图。

图43a-43b是示出根据本申请的标准化机器人厨房中的具有自动透明门的厨房模块框架的第一实施例的框图。

图44a-44b是示出根据本申请的标准化机器人厨房中的具有自动透明门的厨房模块框架的第二实施例的框图。

图45是示出根据本申请的具有可伸缩致动器的标准化机器人厨房的框图。

图46a是示出根据本申请的具有一对固定机器臂而没有移动轨道的标准化机器人厨房的正视图的框图。

图46b是示出根据本申请的具有一对固定机器臂而没有移动轨道的标准化机器人厨房的斜视图的框图。

图46c-46g是示出根据本申请的具有一对固定机器臂而没有移动轨道的标准化机器人厨房中的各种尺寸的示例的框图。

图47是示出根据本申请的与标准化机器人厨房结合使用的可编程存储系统的框图。

图48是示出根据本申请的与标准化机器人厨房结合使用的可编程存储系统的正视图的框图。

图49是示出根据本申请的与标准化机器人厨房结合使用的食材获取容器的正视图的框图。

图50是示出根据本申请的与标准化机器人厨房结合使用的与食材获取容器相关联的食材质量监视仪表板的框图。

图51是示出根据本申请的菜谱参数的数据库库(databaselibrary)的表格。

图52是示出根据本申请的记录厨师的食物制备处理的一实施例的处理的流程图。

图53是示出根据本申请的机器人设备制备食物菜肴的一实施例的处理的流程图。

图54是示出根据本申请的在机器人获得与厨师相同(或基本相同)的食物菜肴制备结果的处理中的质量和功能调整的一实施例的处理的流程图。

图55是示出根据本申请的机器人厨房通过复现来自机器人厨房中的记录软件文件的厨师活动而制备菜肴的处理中的第一实施例的流程图。

图56是示出根据本申请的机器人厨房中的存储验入(check-in)和识别处理的流程图。

图57是示出根据本申请的机器人厨房中的存储验出(checkout)和烹饪制备处理的流程图。

图58是示出根据本申请的机器人厨房中的自动化烹饪前制备处理的一实施例的流程图。

图59是示出根据本申请的机器人厨房中的菜谱设计和脚本化处理的一实施例的流程图。

图60是示出根据本申请的供用户购买机器人食物制备菜谱的订购模型的流程图。

图61a-61b是示出根据本申请的从门户网站的菜谱商业平台进行菜谱搜索和购买/订购的处理的流程图。

图62是示出根据本申请的在app平台上创建机器人烹饪菜谱app的流程图。

图63是示出根据本申请的用户对烹饪菜谱进行搜索、购买和订购的处理的流程图。

图64a-64b是示出根据本申请的预定义菜谱搜索标准的示例的框图。

图65是示出根据本申请的机器人厨房中的一些预定义容器的框图。

图66是示出根据本申请的按照矩形布局配置的机器人餐馆厨房模块的第一实施例的框图,该厨房具有多对机器手以用于同时进行食物制备处理。

图67是示出根据本申请的按照u形布局配置的机器人餐馆厨房模块的第二实施例的框图,该厨房具有多对机器手以用于同时进行食物制备处理。

图68是示出根据本申请的具有感测炊具和曲线的机器人食物制备系统的第二实施例的框图。

图69是示出根据本申请的第二实施例中的机器人食物制备系统的一些物理元件的框图。

图70是示出根据本申请的在第二实施例中采用的具有实时温度传感器的(智能)平底锅的感测炊具的框图。

图71是示出根据本申请的来自厨师工作室中的感测炊具的不同传感器的具有多个数据点的记录温度曲线的曲线图。

图72是示出根据本申请的来自厨师工作室中的感测炊具的、用于传输给操作控制单元的记录温度和湿度曲线的曲线图。

图73是示出根据本申请的感测炊具的框图,所述感测炊具用于基于来自平底锅上的不同区域的温度曲线的数据进行烹饪。

图74是示出根据本申请的供在第二实施例中使用的具有实时温度和湿度传感器的(智能)烤箱的感测炊具的框图。

图75是示出根据本申请的供在第二实施例中使用的具有实时温度传感器的(智能)炭烤架的感测炊具的框图。

图76是示出根据本申请的供在第二实施例中使用的具有速度、温度和电源控制功能的(智能)龙头(faucet)的感测炊具的框图。

图77是示出根据本申请的第二实施例中的具有感测炊具的机器人厨房的顶视平面图的框图。

图78是示出根据本申请的第二实施例中的具有感测炊具的机器人厨房的透视图的框图。

图79是示出根据本申请的机器人厨房根据在标准化机器人厨房中的一条或多条先前记录的参数曲线来制备菜肴的处理的第二实施例的流程图。

图80示出了根据本申请的厨师工作室中的感测数据捕获过程的一实施例。

图81示出了根据本申请的家庭机器人烹饪处理的过程和流程。第一步骤涉及用户选择菜谱以及获取数字形式的菜谱。

图82是示出根据本申请的具有烹饪操作控制模块以及命令和视觉监视模块的机器人食物制备厨房的第三实施例的框图。

图83是示出根据本申请的具有机器臂和手活动的机器人食物制备厨房的第三实施例的顶视平面图的框图。

图84是示出根据本申请的具有机器臂和手活动的机器人食物制备厨房的第三实施例的透视图的框图。

图85是示出根据本申请的采用命令和视觉监视装置的机器人食物制备厨房的第三实施例的顶视平面图的框图。

图86是示出根据本申请的采用命令和视觉监视装置的机器人食物制备厨房的第三实施例的透视图的框图。

图87a是示出根据本申请的采用机器人的机器人食物制备厨房的第四实施例的框图。

图87b是示出根据本申请的采用人形机器人的机器人食物制备厨房的第四实施例的顶视平面图的框图。

图87c是示出根据本申请的采用人形机器人的机器人食物制备厨房的第四实施例的透视平面图的框图。

图88是示出根据本申请的机器人的人类模拟器电子知识产权(ip)库的框图。

图89是示出根据本申请的机器人的人类情感识别引擎的框图。

图90是示出根据本申请的机器人的人类情感引擎的处理的流程图。

图91a-91c是示出根据本申请的用激素、信息素和其他参数将人的情感简档与情感简档族群进行比较的处理的流程图。

图92a是示出根据本申请的通过监视一组激素、一组信息素以及其他关键参数而对人的情感状态进行情感检测和分析的框图。

图92b是示出根据本申请的机器人对人的情感行为进行评估和学习的框图。

图93是示出根据本申请的人体内植入的检测和记录人的情感简档的端口装置的框图。

图94a是示出根据本申请的机器人人类智能引擎的框图。

图94b是示出根据本申请的机器人人类智能引擎的处理的流程图。

图95a是示出根据本申请的机器人绘画系统的框图。

图95b是示出根据本申请的机器人绘画系统的各种部件的框图。

图95c是示出根据本申请的机器人人类绘画技巧复现引擎的框图。

图96a是示出根据本申请的绘画工作室中对艺术家的记录处理的流程图。

图96b是示出根据本申请的机器人绘画系统的复现处理的流程图。

图97a是示出根据本申请的音乐家复现引擎的实施例的框图。

图97b是示出根据本申请的音乐家复现引擎的处理的框图。

图98是示出根据本申请的护理复现引擎的实施例的框图。

图99a-99b是示出根据本申请的护理复现引擎的处理的流程图。

图100是示出根据本申请的具有创建者(creator)记录系统和商业机器人系统的机器人人类技能复现系统的一般适用性(或通用性)的框图。

图101是示出根据本申请的具有各种模块的机器人人类技能复现引擎的软件系统图。

图102是示出根据本申请的机器人人类技能复现系统的一实施例的框图。

图103是示出根据本申请的具有控制点的人形机的框图,所述控制点用于利用标准化操作工具、标准化位置和取向、以及标准化装置来进行技能执行或复现处理。

图104是示出根据本申请的人形机复现程序的简化框图,所述人形机复现程序通过按周期性时间间隔跟踪手套传感器的活动来复现所记录的人类技能活动的过程。

图105是示出根据本申请的创建者活动记录和人形机复现的框图。

图106示出了作为本申请的高层级功能性描述的、用于通用人形机器人的总体机器人控制平台。

图107是示出根据本申请的作为人形机应用任务复现过程的一部分的微操纵库的生成、转移、实施和使用的示意图的框图。

图108是示出根据本申请的基于工作室的和基于机器人的感测数据输入类别和类型的框图。

图109是示出根据本申请的基于物理/系统的微操纵库的基于动作的双臂和躯干拓扑的框图。

图110是示出根据本申请的用于特定任务的动作序列的微操纵库的操纵阶段组合和转换的框图。

图111是示出根据本申请的从工作室数据构建一个或多个微操纵库(通用的和特定任务的)的过程的框图。

图112是示出根据本申请的机器人经由一个或多个微操纵库数据集来执行任务的框图。

图113是示出根据本申请的自动化微操纵参数集构建引擎的示意图的框图。

图114a是示出根据本申请的机器人系统的数据中心视图的框图。

图114b是示出根据本申请的微操纵机器人行为数据的成分、链接和转换中的各种微操纵数据格式的示例的框图。

图115是示出根据本申请的在机器人硬件技术概念、机器人软件技术概念、机器人商业概念和用于承载机器人技术概念的数学算法之间的不同层级双向抽象的框图。

图116是示出根据本申请的一对机器臂和手的框图,每只手具有五根手指。

图117a是示出根据本申请的人形机的一实施例的框图。

图117b是示出根据本申请的具有陀螺仪和图形数据的人形机实施例的框图。

图117c是示出根据本申请的人形机上的创建者记录装置的绘画图示,包括身体感测服、臂外骨架(armexoskeleton)、头套(headgear)和感测手套。

图118是示出根据本申请的机器人人类技能主题的专家微操纵库的框图。

图119是示出根据本申请的用于代替人手技能活动的通用微操纵电子库的创建过程的框图。

图120是示出根据本申请的机器人执行任务的框图,其中机器人用通用微操纵以多个阶段执行任务。

图121是示出根据本申请的在微操纵执行阶段的实时参数调整的框图。

图122是示出根据本申请的用于制作寿司的一组微操纵的框图。

图123是示出根据本申请的用于制作寿司的一组微操纵中的切割鱼肉的第一微操纵的框图。

图124是示出根据本申请的在用于制作寿司的一组微操纵中从容器取出米饭的第二微操纵的框图。

图125是示出根据本申请的在用于制作寿司的一组微操纵中抓取鱼片的第三微操纵的框图。

图126是示出根据本申请的在用于制作寿司的一组微操纵中将米饭和鱼肉固定成期望形状的第四微操纵的框图。

图127是示出根据本申请的在用于制作寿司的一组微操纵中按压鱼肉以包裹(hug)米饭的第五微操纵的框图。

图128是示出根据本申请的以任何顺序或以任何组合并行发生的用于弹钢琴的一组微操纵的框图。

图129是示出根据本申请的用于弹钢琴的一组微操纵中,并行发生的用于弹钢琴的一组微操纵中的用于右手的第一微操纵和用于左手的第二微操纵的框图。

图130是示出根据本申请的用于弹钢琴的一组微操纵中,并行发生的一组微操纵中的用于右脚的第三微操纵和用于左脚的第四微操纵的框图。

图131是示出根据本申请的用于弹钢琴的一组微操纵中,与一个或多个其他微操纵并行发生的用于移动身体的第五微操纵的框图。

图132是示出根据本申请的以任何顺序或以任何组合并行发生的用于人形机行走的一组微操纵的框图。

图133是示出根据本申请的用于人形机行走的一组微操纵中右腿的迈步(stride)姿势的第一微操纵的框图。

图134是示出根据本申请的用于人形机行走的一组微操纵中右腿的踏步(squash)姿势的第二微操纵的框图。

图135是示出根据本申请的用于人形机行走的一组微操纵中右腿的通过(passing)姿势的第三微操纵的框图。

图136是示出根据本申请的用于人形机行走的一组微操纵中右腿的伸展(stretch)姿势的第四微操纵的框图。

图137是示出根据本申请的用于人形机行走的一组微操纵中左腿的迈步姿势的第五微操纵的框图。

图138是示出根据本申请的具有三维视觉系统的机器人护理模块的框图。

图139是示出根据本申请的具有标准化机柜的机器人护理模块的框图。

图140是示出根据本申请的具有一个或多个标准化储存库、标准化屏幕和标准化衣柜的机器人护理模块的框图。

图141是示出根据本申请的具有可伸缩主体的机器人护理模块的框图,所述可伸缩主体具有一对机器臂和一对机器手。

图142是示出根据本申请的机器人护理模块执行各种动作以帮助老年人的第一示例的框图。

图143是示出根据本申请的机器人护理模块装载和卸载轮椅的第二示例的框图。

图144是示出根据本申请的人形机器人充当两个人类源(humansource)之间的服务者(facilitator)的图画示图。

图145是示出根据本申请的人形机器人在人a的直接控制下用作人b的治疗师的图画示图。

图146是示出根据本申请的电机相对于机器手和机器臂的安置的第一实施例的框图,所述电机具有移动臂所需的全转矩。

图147是示出根据本申请的电机相对于机器手和机器臂的安置的第二实施例的框图,所述电机具有移动臂所需的减小的转矩。

图148a是示出根据本申请的用于在具有烤箱的机器人厨房中使用的、从悬挂座(overheadmount)延伸的机器臂的主视图的图画示图。

图148b是示出根据本申请的用于在具有烤箱的机器人厨房中使用的、从悬挂座延伸的机器臂的俯视图的图画示图。

图149a是示出根据本申请的用于在具有额外空间的机器人厨房中使用的、从悬挂座延伸的机器臂的主视图的图画示图。

图149b是示出根据本申请的用于在具有额外空间的机器人厨房中使用的、从悬挂座延伸的机器臂的俯视图的图画示图。

图150a是示出根据本申请的用于在具有滑动储存库的机器人厨房中使用的、从悬挂座延伸的机器臂的主视图的图画示图。

图150b是示出根据本申请的用于在具有滑动储存库的机器人厨房中使用的、从悬挂座延伸的机器臂的俯视图的图画示图。

图151a是示出根据本申请的用于在具有带搁板的滑动储存库的机器人厨房中使用的、从悬挂座延伸的机器臂的主视图的图画示图。

图151b是示出根据本申请的用于在具有带搁板的滑动储存库的机器人厨房中使用的、从悬挂座延伸的机器臂的俯视图的图画示图。

图152-161是根据本申请的机器人握持(gripping)选项的各种实施例的图画示图。

图162a-162s是示出根据本申请的适于将机器手附接到各种厨房用具和炊具的炊具把手的图画示图。

图163是根据本申请的在机器人厨房中使用的混合器(blender)部分的图画示图。

图164a-164c是示出根据本申请的在机器人厨房中使用的各种厨房保持器(holder)的图画示图。

图165a-165v是示出操纵的示例的框图,但本申请不限于此。

图166a-166l示出根据本申请的表a中的厨房设备的样本类型。

图167a-167v示出根据本申请的表b中的食材的样本类型。

图168a-168z示出根据本申请的表c中的食物制备、方法、设备和烹饪法的样本列表。

图169a-169z15示出根据本申请的表c中的各种样本基材。

图170a-170c示出根据本申请的表d中的烹饪法和食物菜肴的样本类型。

图171a-171e示出根据本申请的表e中的机器人食物制备系统的一实施例。

图172a-172c示出根据本申请的机器人执行的样本微操纵,包括机器人制作寿司、机器人弹钢琴、机器人将机器人从第一位置移动到第二位置、机器人从第一位置跳到第二位置、人形机从书架取书、人形机将包从第一位置带到第二位置、机器人打开罐子、以及机器人将食物放入碗中供猫食用。

图173a-173i示出根据本申请的机器人执行的多层级样本微操纵,包括测量、灌洗、补充氧气、维持体温、插入导管、物理治疗、卫生规程、喂食、分析取样、造口和导管护理、伤口护理、以及药物管理方法。

图174示出根据本申请的多层级样本微操纵,其用于机器人执行插管、复苏/心肺复苏、失血补充、止血、气管紧急操作、骨折、以及伤口缝合。

图175示出根据本申请的样本医疗设备和医疗装置的列表。

图176a-176b示出根据本申请的微操纵样本护理服务。

图177示出根据本申请的另一设备列表。

图178是示出计算机装置的示例的框图,在该计算机装置上可安装和运行计算机可执行指令以执行这里论述的机器人方法。

具体实施方式

将参考图1-178提供对本申请的结构性实施例和方法的描述。应理解,无意将本申请限制到具体公开的实施例,而是本申请可以采用其他特征、元件、方法和实施例来实践。在各实施例中,通常采用类似的附图标记来表示类似的元件。

下述定义适用于文中描述的元件和步骤。这些术语可类似地进行扩展。

抽象数据——是指对机器运行而言实用的抽象菜谱,其具有机器需要知晓以用于正确运行和重现的很多其他数据元素。这种所谓的元数据或对应于烹饪处理中的特定步骤的附加数据,不管是直接的传感器数据(时钟时间、水温度、摄像机图像、所使用的用具或食材(ingredient)等)还是通过对更大数据集进行解释或抽象化而产生的数据(例如,来自用于提取图像中的对象的位置和类型的激光器的、覆盖有来自摄像机照片的纹理和颜色图的三维范围云等)。元数据都带有时间戳,并且由机器人厨房用于随着其逐步完成菜谱中的步骤序列,在每个时间点上设置、控制和监视所有处理和相关方法以及所需设备。

抽象菜谱——是指对厨师菜谱的表示,人类将其认识为通过如下来表示:使用特定食材,按特定顺序,通过一系列处理和方法以及人类厨师的技巧来进行制备和组合。机器用来以自动化方式运行的抽象菜谱需要不同类型的分类和顺序。尽管所执行的总体步骤与人类厨师采取的步骤相同,但是机器人厨房实用的抽象化菜谱要求额外的元数据作为菜谱中的每一步骤的一部分。这样的元数据包括烹饪时间和诸如温度(及其随时间的变化)、烤箱设置、所采用的工具/设备之类的变量等。基本上,机器可执行的菜谱脚本需要具有所有可能的与时间相关的对于烹饪处理具有重要性的测量变量(所有的都是当人类厨师在厨师工作室内制备菜谱时测得并储存的),这些变量既包括总体的,也包括处于烹饪序列的每个处理步骤内的。因此,抽象菜谱是映射到机器可读的表示或域的烹饪步骤的表示,其通过一组逻辑抽象化步骤将来自人类域的所需处理变为机器可理解且机器可执行域的处理。

加速度——是指机器臂可绕轴或沿短距离上的空间轨迹加速的最大速度变化速率。

精确度——是指机器人能够在怎样的接近程度上达到所命令的位置。精确度由机器人的绝对位置对照命令位置之间的差确定。可以借助于外部感测,例如机器手上的传感器或利用多个(多模)传感器的实时三维模型来对精确度进行改善、调整或校准。

动作基元——在一实施例中,该术语是指不可分的机器人动作,例如,将机器人设备从位置x1移动到位置x2,或者感测离用于食物制备的对象的距离而不必获得功能结果。在另一实施例中,该术语是指由用于完成微操纵(mini-manipulation)的一个或多个这样的单元的序列中的不可分机器人动作。这些是同一定义的两个方面。

自动化剂料(dosage)系统——是指标准化厨房模块中的剂料容器,在其中根据应用释放特定量的食物化学化合物(例如,盐、糖、胡椒粉、香料、任何种类的液体,诸如水、油、香精、番茄酱等)。

自动化存储和输送系统——是指标准化厨房模块中的存储容器,其维持所存储食物的特定温度和湿度;每个存储容器分配有代码(例如,条形码),使机器人厨房能够识别并检索出特定的存储容器将其中存储的食物内容输送到何处。

数据云——是指按照特定间隔收集并且基于多重关系,例如时间、位置等汇总的来自特定空间的基于传感器或数据的数值测量结果(三维激光/声程测量、来自摄像机图像的rgb值等)的集合。

自由度(dof)——是指机械装置或系统能够按照其移动的定义模式和/或方向。自由度数量等于独立位移或运动方面的总数。对于两个机器臂而言,自由度总数加倍。

边缘检测——是指能够识别多个对象的边缘的基于软件的计算机程序,所述多个对象可在摄像机的二维图像中重叠,但仍能成功识别其边界以辅助对象识别以及抓取和操纵的规划。

平衡值——是指诸如机器臂之类的机器人附件的目标位置,在该处作用于该附件上的力处于平衡,即,没有净作用力,因而没有净移动。

执行序列规划器——是指能够为诸如臂、分配器、器具等的能够被计算机控制的一个或多个元件或系统建立运行脚本或命令的序列的基于软件的计算机程序。

食物执行保真度——是指机器人厨房,其旨在通过通过观察、测量和理解人类厨师的步骤、变量、方法和处理,由此尝试模仿其技术和技巧,来复现在厨师工作室中生成的菜谱脚本。通过机器制备的菜肴与人类制备的菜肴的接近程度(通过各种主观元素,例如,一致性、颜色、味道等衡量)衡量菜肴制备的执行与厨师的菜肴制作的接近程度,即保真度。这一概念表明,机器人厨房制备的菜肴与人类厨师制备的菜肴越接近,复现处理的保真度就越高。

食物制备阶段(又称为“烹饪阶段”)——是指一项或多项微操纵(包括动作基元)和用于控制标准化厨房模块中的厨房设备和器具的计算机指令的顺序或并行组合。一个或多个食物制备阶段共同表示特定菜谱的整个食物制备处理。

几何推理——是指能够采用二维(2d)/三维(3d)表面和/或体积数据对特定体积的实际形状和尺寸做出相关推理的基于软件的计算机程序。确定或利用边界信息的能力还允许对图像或模型中存在的特定几何元件的开始和结束以及数量做出相关推断。

抓取推理——是指能够依赖几何和物理推理来规划机器人末端执行器(夹钳、联杆等)乃至末端执行器所持工具/器具之间的多接触(点/面/体积)交互,从而成功地接触、抓取和保持对象,以便在三维空间内对其进行操纵的基于软件的计算机程序。

硬件自动化装置——是指能够连续执行预编程步骤但不具备对其中的任何步骤加以修改的能力的固定处理装置;这样的装置用于不需要任何调整的重复运动。

食材管理和操纵——是指详细地定义每种食材(包括大小、形状、重量、外形尺寸、特性和属性),与特定食材有关的变量的一项或多项实时调整,其可不同于先前储存的食材细节(例如,鱼片的大小、蛋的外形尺寸等),以及执行对食材的操纵活动的不同阶段当中的处理。

厨房模块(或厨房体积)——是指具有标准化的厨房设备集合、标准化厨房工具集合、标准化厨房把手(handle)集合、以及标准化厨房容器集合的标准化完整厨房模块,其具有预定义的空间和尺寸,用于存储、获取和操作标准化完整厨房模块中的每个厨房元件。厨房模块的一个目标在于对厨房设备、工具、把手、容器等进行尽可能多的预定义,从而为机器臂和机器手的活动提供相对固定的厨房平台。厨师厨房工作室中的厨师和在家使用机器人厨房的人(或餐馆里的人)采用标准化厨房模块来最大化厨房硬件的可预测性,同时将厨师厨房工作室和家庭机器人厨房之间存在差异、变化和偏差的风险降至最低。厨房模块有可能具有不同的实施例,包括独立厨房模块和集成厨房模块。将集成厨房模块匹配到典型房屋的常规厨房区域内。厨房模块至少按照两种模式工作,即,机器人模式和正常(手动)模式。

机器学习——是指软件部件或程序基于经验和反馈提高其性能的技术。在机器人中经常采用的一种机器学习是强化学习(reinforcementlearning),其中将对符合要求的动作予以奖励,对不合乎要求的动作予以惩罚。另一种是基于实例的学习(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内的可重复性。

机器人菜谱脚本——是指与机器人/硬自动化执行步骤的适当序列有关的计算机生成的机器可理解指令序列,其中,所述步骤用以对菜谱中的所需烹饪步骤进行镜像从而获得就像厨师做出来的那样的相同最终产物。

机器人服装——厨师工作室中采用的外部仪器化装置或衣物,例如,关节外骨架、具有摄像机可跟踪标记的衣物、手套等,其用以监视和跟踪厨师在菜谱烹饪处理的所有方面当中的活动和动作。

场景建模——是指能够查看一个或多个摄像机的视场内的场景并且能够检测和识别出对于特定任务而言重要的对象的基于软件的计算机程序。这些对象可以是预先教导的,和/或可以是计算机库的一部分,其具有已知的物理属性和使用意图。

智能厨房炊具/设备——是指一项厨房炊具(例如,锅或平底锅)或一项厨房设备(例如,烤箱、烤架或龙头),其具有一个或多个传感器并且基于一个或多个图形曲线(例如,温度曲线、湿度曲线等)制备食物菜肴。

软件抽象食物引擎——是指定义为软件环(softwareloop)或程序的集合的软件引擎,其协调工作从而对输入数据进行处理,并且通过某种形式的文本或图形输出界面创建供其他软件引擎或终端用户使用的特定期望的输出数据集。抽象软件引擎是一种软件程序,其致力于从特定域内的已知源取得巨大量的输入数据(例如,三维范围测量结果,其形成一个或多个传感器检测到的三维测量结果的数据云),之后对所述数据进行处理,从而获得对不同域中的数据的解释(例如,基于具有相同的竖直数据值的数据在数据云中检测并识别出台表面等),从而识别、检测、划分出与三维空间内的对象(例如,台顶、烹饪锅等)相关的数据读数。抽象处理基本定义为从一个域取得大数据集并且推断出在更高级空间内的结构(例如,几何结构)(抽象出数据点),之后对所述推断做进一步抽象,并从抽象数据集中识别出对象(锅等),以识别出图像中的现实世界元素,其然后可被其他软件引擎用来做出附加决策(对关键对象的处理/操纵决策等)。在本申请中“软件抽象引擎”的同义词可以是“软件解释引擎”,乃至“计算机软件处理和解释算法”。

任务推理——是指能够分析任务描述并且将其分解成一系列的多个机器可执行(机器人或硬自动化系统)步骤以实现任务描述中定义的特定最终结果的基于软件的计算机程序。

三维世界对象建模和理解——是指能够采用感测数据建立所有表面和体积的时变三维模型,使得能够检测、识别和分类其中的对象,并且理解它们的用法和意图的基于软件的计算机程序。

转矩向量——是指作用于机器人附件上的扭转力,包括其方向和大小。

体积对象推断(引擎)——是指能够采用几何数据和边缘信息以及其他感测数据(颜色、形状、纹理等)实现对一个或多个对象的三维识别,以辅助对象识别和分类处理的基于软件的计算机程序。

关于机器人设备的复现和微操纵库的其他信息可参见题为“methodsandsystemsforfoodpreparationinroboticcookingkitchen”的未决美国非临时专利申请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-suitecorrespondence)

描绘出机器人厨房中的复现处理的保真度与特定烹饪区域的用具类型和布局以及加热元件的尺寸有关,与正受烧炙和烹饪的食材的尺寸和温度情况有关(较厚的牛排需要更长的烹饪时间),同时还保留特定步骤(例如,烧炙或慕斯搅打)的任何搅动和浸浴活动的活动简档,还与机器人厨房和厨师工作室内的传感器之间的对应性是否充分高从而能够信任所监视到的传感器数据精确并且详细到了能够在菜谱的所有步骤当中提供机器人厨房内的烹饪处理的适当监视保真度有关。

菜谱的结果不仅是厨师工作室以怎样的保真度捕获人类厨师的烹饪步骤/方法/处理/技巧的函数,还是机器人厨房能够以怎样的保真度执行这些烹饪步骤/方法/处理/技巧的函数,其中,它们当中的每个都具有影响它们相应的子系统性能的关键元素。

图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之一配备有标准化把手,其附连至叉头(forkhead)、刀头和汤匙头,可以根据需要加以选择。标准化硬自动化分配器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配置为存储微操纵的第一数据库的库。标准化厨房操作库数据库模块118配置为存储标准化厨房用具以及如何操作标准化厨房用具的第二数据库的库。输出模块120配置为将输出计算机文件或控制信号发送到机器人烹饪引擎之外。

图5a是示出厨师工作室菜谱创建处理124的框图,其展示了几个主要功能块,它们支持使用扩展多模态感测以建立用于机器人厨房的菜谱指令脚本。来自多个传感器的传感器数据,例如(但不限于)嗅觉126、视频摄像机128、红外扫描仪和测距仪130、立体(乃至三目)摄像机132、触觉手套134、关节式激光扫描仪136、虚拟世界眼镜138、麦克风140或外骨架运动套装142、人语音144、触摸传感器146、乃至其他形式的用户输入148等,被用于通过传感器接口模块150收集数据。数据被获取和过滤152,包括可能的人类用户输入148(例如,厨师;触摸屏和语音输入),之后多个(并行)软件进程利用时间和空间数据生成用于充实机器特定的菜谱创建处理的数据。传感器可以不限于捕获人的位置和/或运动,还可以捕获标准化机器人厨房50内的其他对象的位置、取向和/或运动。

例如,这些各个软件模块(但并非因此仅局限于这些模块)生成的信息可以是(i)厨师位置和烹饪站id,其通过位置和配置模块154生成,(ii)臂的配置(通过躯干生成),(iii)所运用的工具以及何时、如何运用,(iv)所采用的用具和在站台上的位置,其通过硬件和变量抽象化模块156生成,(v)借助于它们执行的处理,以及(vi)需要监视的变量(温度、盖子y/n,搅拌等),其通过处理模块158生成,(vii)时间(开始/结束,类型)分配,(viii)所应用的处理(搅动,调料调入等)的类型,以及(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)对场景和材料建模,(iii)规划机器人烹饪序列中的接下来的步骤,(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的一些合适的机器手包括:由位于英国伦敦的shadowrobot公司设计的shadowdexterous手和精简手套件;由位于德国lauffen/neckar的schunkgmbh&co.kg设计的电伺服5指抓取手svh;以及由位于德国科隆的dlrroboticsandmechatronics公司设计的dlrhithandii。

若干机器臂72适于修改以与机器人厨房48一起操作,其包括:位于丹麦odenses的universalrobotsa/s的ur3机器人和ur5机器人;由位于德国巴伐利亚州奥格斯堡的kukarobotics设计的具有各种有效载荷的工业机器人;由位于日本北九州的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)。求和式中的分子表示机器人参数和厨师参数之间的差(即,误差),分母针对最大差进行归一化。求和式给出了总的归一化累积

精确度计算的另一版本是对参数进行重要性加权,其中每一系数(每一αi)表示第i个参数的重要性,归一化累积误差为并且通过下式给出估算平均精确度:

图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)“improvingtheefficiencyofprocesseddomain-axiomsplanning”,proceedingsofplansig-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.如果变化处于机器人设备的操作规范以内,则存储经变换的解决方案计划(以及参数间的相关性和针对它们的值的投射变化(projectedchange)计算)。

d.应用实例(在之后的时间点)

6.检索具有变换的确切值的一个或多个存储实例(现在新的值的范围或计算取决于输入参数的值),虽然具有经变换的确切值,但是其初始问题仍非常类似于所述新问题,包括参数值和值范围,以及

7.采用来自所述实例的经变换的方法和步骤至少部分解决所述新问题。

随着厨师对机器人(两条臂和感测装置,例如,来自手指的触觉反馈、来自关节的力反馈、以及一个或多个观测摄像机)进行教导,机器人不仅学习到特定动作序列和时间关联,而且还学习到围绕厨师动作的一族小变化,此时尽管可观测输入参数中存在微小变化,但是厨师动作仍能够制备出相同的菜肴,由此机器人学习到一般化的变换方案,从而使其比机械记忆具有更高的实用性。要想获得有关基于实例的推理和学习的额外信息,请参考leake,1996book,case-basedreasoning:experiences,lessonsandfuturedirections,http://journals.cambridge.org/action/displayabstract?frompage=online&aid=4068324&fileld=s0269888900006585dl.acm.org/citation.cfm?id=524680;carbonell,1983,learningbyanalogy:formulatingandgeneralizingplansfrompastexperience,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划分成多个食物制备阶段:第一食物制备阶段s1470、第二食物制备阶段s2…第n食物制备阶段sn490,它们是由机器臂70和机器手72执行的。第一食物制备阶段s1470包括一个或多个微操纵mm1471、mm2472和mm3473。每一微操纵包括一个或多个获得功能结果的动作基元。例如,第一微操纵mm1471包括第一动作基元ap1474、第二动作基元ap2475和第三动作基元ap3475,其将获得功能结果477。于是,第一阶段s1470中的一个或多个微操纵mm1471、mm2472、mm3473将获得阶段结果479。一个或多个食物制备阶段s1470、第二食物制备阶段s2和第n阶段食物制备阶段sn490的组合将通过重复在厨师工作室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的各个方面的图画示图。带有五个手指的手的手指带有标签,将拇指标为第一手指f1522,将食指标为第二手指f2524,将中指标为第三手指f3526,将无名指标为第四手指f4528,将小指标为第五手指f5530。鱼际隆起532是处于手的桡侧(第一手指f1522一侧)的可形变材料的凸起体积。小鱼际隆起534是处于手的尺骨侧(第五手指f5530一侧)的可形变材料的凸起体积。掌指骨垫(mcp垫)536是处于第二、第三、第四和第五手指f2524、f3526、f4528、f5530的掌指骨(指节)关节的腹侧(掌侧)的凸起可形变体积。具有可形变手掌520的机器手72外面带着手套,其具有柔软的类似于人的皮肤。

鱼际隆起532和小鱼际隆起534一起支持从机器臂向工作空间内的对象施加大力,使得这些力的施加对机器手的关节造成的压力降至最低(例如,擀面棍的图片)。手掌520内的额外关节本身可用于使手掌发生形变。手掌520将通过某种方式发生形变,从而形成用于按照与厨师类似的方式进行工具抓取的倾斜的掌内沟槽(典型的把手抓取)。手掌520应当按照某种方式发生形变,从而呈杯状,以按照与厨师类似的方式舒适地抓取凸状物体,例如,盘子和食物材料,如图9g中的呈杯状手势542所示。

手掌520内的可以支持这些动作的关节包括位于接近手腕的手掌桡侧的拇指腕掌关节(cmc),其可以具有两个截然不同的运动方向(挠曲/伸展以及外展/内收)。支持这些动作所需的额外关节可以包括处于接近手腕的手掌的尺骨侧的关节(第四手指f4528和第五手指f5530cmc关节),其允许以一定倾角弯曲,以支持小鱼际隆起534处的成杯状动作以及掌内沟槽的形成。

机器人手掌520可以包括复现人的烹饪活动当中的手掌形状所需的额外/不同关节,例如,一系列耦接的挠曲关节,用以支持在鱼际和小鱼际隆起532和534之间形成拱形540,从而使手掌520发生形变,例如,在拇指f1522接触小指f5530时,如图9f所示。

在使手掌呈杯状时,鱼际隆起532、小鱼际隆起534和mcp垫536形成围绕掌谷的隆脊,这使手掌能够绕小的球形对象(例如,2cm)围拢。

将采用特征点相对于固定参照系(referenceframe)的位置描述可形变手掌的形状,如图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,michikomatsuo,harumiishii,fumikomitsuboshi,andyorikomiura,″patternsofstaticpretensioninnormalhands.″americanjournalofoccupationaltherapy34,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。

图11是示出供家庭机器人厨房48中的标准化机器人厨房系统50使用的机器臂70的侧视图的一实施例的框图。在其他实施例中,可以设计一条或多条机器臂70,例如,一条臂、两条臂、三条臂、四条臂或更多臂以用于标准化机器人厨房50中的操作。来自厨师工作室系统44的存储食物制备处理中厨师的臂、手和手指活动的一个或多个软件菜谱文件46可被上载并且转换为机器人指令,以控制所述一条或多条机器臂70以及一个或多个机器手72来模仿厨师的活动,以制备厨师曾制备的食物菜肴。机器人指令控制机器人设备75来复现厨师在制备相同食物菜肴时的精确活动。每个机器臂70和每个机器手72还可以包括额外的特征和工具,例如,刀、叉、匙、炒菜铲、其他类型的用具、或者完成食物制备处理的食物制备器具。

图12a-12c是示出与具有手掌520的机器手72一起使用的厨房把手580的一实施例的框图。厨房把手580的设计旨在具有通用性(或者标准化),从而使同一厨房把手580能够附接至任何类型的厨房用具或工具,例如,刀、炒菜铲、撇渣器、勺子、漏勺、锅铲等。在图12a-12b中示出厨房把手580的不同立体图。机器手72握住厨房把手580,如图12c所示。在不背离本申请的精神的情况下可以设计其他类型的标准化(或通用)厨房把手。

图13是示出具有触觉传感器602和分布式压力传感器604的示范性机器手600的图画示图。在食物制备处理中,机器人设备75采用机器手的指尖和手掌内的传感器生成的触摸信号在机器人复现一步步活动的同时检测力、温度、湿度和毒性(toxicity),并且将感测到的值与厨师的工作室烹饪程序的触觉简档进行比较。视觉传感器帮助机器人识别周围环境并且采取适当的烹饪动作。机器人设备75分析来自视觉传感器的即时环境图像并将其与厨师工作室烹饪程序的保存图像进行比较,从而做出适当动作以获得等同结果。机器人设备75还采用不同的麦克风来将厨师的指令语言与食物制备处理的本底噪声进行比较,以改善烹饪期间的识别性能。任选地,机器人可以具有电子鼻子(未示出),以检测气味或味道以及环境温度。例如,机器手600能够通过手指和手掌内的触觉传感器生成的表面纹理、温度和重量信号区分出真实的鸡蛋,进而能够施加适当大小的力握住鸡蛋而不将其打破,并且能够通过晃动鸡蛋听其溅泼声、磕开鸡蛋观察蛋黄和蛋白并闻其气味来判断鸡蛋的新鲜程度,由此完成质量检查。之后,机器手600可以采取措施处理掉坏掉的鸡蛋,或者选择新鲜的鸡蛋。手、臂和头上的传感器602和604使机器人能够移动、触摸、看和听,从而采用外部反馈执行食物制备处理,并获得与厨师工作室烹饪结果等同的食物菜肴制备结果。

图14是示出厨师49在标准化机器人厨房50中穿戴的感测服装620的示例的图画示图。在软件文件46记录的食物菜肴的食物制备处理中,厨师49穿戴感测服装620,从而按时间序列实时地捕获厨师的食物制备活动。感测服装620可包括但不限于触觉套装622(示出一整条臂和手部的服装)[在该处没有像这样的附图标记]、触觉手套624、多模态传感器626[无此附图标记]、头部服饰628。具有传感器的触觉套装622能够从厨师的活动捕获数据,并将捕获的数据传输至计算机16,从而记录带时间戳的xyz坐标系内人的臂70和手/手指72的xyz坐标位置和压力。感测服装620也进行感测,计算机16记录机器人坐标系中人的臂70和手/手指72的位置、速度和力/转矩以及端点接触行为,其具有系统时间戳并与之相关联,由此与采用几何传感器(激光器传感器、3d立体传感器或视频传感器)的标准化机器人厨房50中的相对位置关联起来。具有传感器的触觉手套624用于捕获、记录和保存通过手套624中的触觉传感器检测到的力、温度、湿度和杀菌度信号。头部服饰628包括具有视觉摄像机、声纳、激光器、视频识别(rfid)和一副定制眼镜的反馈装置,它们用于感测、捕获数据并将捕获的数据传输至计算机16,从而记录并存储厨师48在食物制备处理中观察到的图像。此外,头部服饰628还包括用于检测标准化机器人厨房50中的环境温度和嗅觉特征的传感器。此外,头部服饰628还包括音频传感器,用于捕获厨师49听到的音频,例如,油炸、磨碎、切斩等的声音特征。

图15a-15b是示出用于厨师49的食物制备的具有传感器的三指触觉手套630的一实施例以及具有传感器的三指机器手640的示例的屠户示图。文中所示的实施例示出用于食物制备的具有不到五个手指的简化机器手640。对应地,将显著降低简化机器手640的设计当中的复杂性以及简化机器手640的制造成本。在备选实施方式中,具有或者没有相对的拇指的二指抓爪或四指机器手也是可能的。在这一实施例中,厨师手的活动受到三个手指,即拇指、食指和中指的功能的限制,其中每一手指具有用于在力、温度、湿度、毒性或触觉感知方面感测厨师活动数据的传感器632。三指触觉手套630还包括处于三指触觉手套630的手掌区域内的点传感器或分布式压力传感器。将厨师使用拇指、食指和中指在佩戴三指触觉手套630的情况下制备食物菜肴的活动记录到软件文件中。接下来,三指机器手640根据软件菜谱文件复现厨师的活动,软件菜谱文件被转换成机器人指令以用于在监视机器手640的手指上的传感器642b和手掌上的传感器644的同时,控制机器手640的拇指、食指和中指。传感器642包括力、温度、湿度、杀菌度或触觉感传感器,而传感器644可以采用点传感器或分布式压力传感器实现。

图15c是示出机器臂70和机器手72之间的相互作用和交互的一示例的框图。顺应性机器臂750提供较小的有效载荷、较高的安全性、更温和的动作、但是较低的精确度。拟人机器手752提供更高的灵巧度,能够操纵人用工具,更易于重新锁定人手动作,更具顺应性,但是其设计需要更高的复杂性,增加了重量而且生产成本更高。简单的机器手754重量更轻,价格更低,但是其灵巧度较低且不能直接使用人用工具。工业机器臂756更加精确,具有更高的有效载荷能力,但是一般认为其在人的周围是不安全的,有可能施加很大的力并且造成伤害。标准化机器人厨房50的一实施例将采用顺应臂750和拟人手752的第一组合。对于本申请的实施而言,一般不太期望采用其他三种组合。

图15d是示出采用附接至定制炊具头的标准化厨房把手580的机器手72和可固定至厨具的机器臂70的框图。在一种抓取厨具的技术中,机器手72抓取标准化厨房工具580,该工具用于附接至定制炊具头中的任何一者上,图中示出定制炊具头的选择760a、760b、760c、760d、760e以及其它。例如,标准化厨房把手580附着至定制炒菜铲头760e,从而用于对平底锅内的食材进行搅动煎炒。在一实施例中,机器手72只能在一个位置握住标准化厨房把手580,从而将因采用不同方法握住标准化厨房把手580而造成混乱的可能性降至了最低。在另一种抓取厨具的技术中,机器臂具有一个或多个夹持器762,其可固定至厨具,其中机器臂70能够在机器手运动期间在按压厨具762时如果需要的话施加更大的力。

图16是示出微操纵库数据库的创建模块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之前执行。这些步骤可以是微操纵或微操纵的组合。例如在机器人厨师领域,如果两种食材必须放在碗里混合则存在每种食材必须在混合之前放置在碗中的顺序约束,但是对于哪种食材首先放入混合碗中并没有顺序约束。

图17a是示出厨师49在制备食物菜肴时用于感测和捕获厨师活动的感测手套680的框图。感测手套680具有处于每个手指上的多个传感器682a、682b、682c、682d、682e以及处于感测手套680的手掌区域中的多个传感器682f、682g。在一实施例中,采用处于软手套内的至少5个压力传感器682a、682b、682c、682d、682e捕获和分析全部手部操纵处理中的厨师活动。将这一实施例中的多个传感器682a、682b、682c、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可以将压力调整到足以抓取并保持非标准化对象的程度。图17b示出根据具体时间间隔存储样本抓取功能692、694、696的程序库690,机器手72能在执行特定抓取功能时从程序库690取出这些功能。图17b是示出标准化机器人厨房模块50中的标准化操作活动的库数据库690的框图。预定义并且存储在库数据库690中的标准化操作活动包括利用运动/交互时间简档698抓取、放置和操作厨房工具或一件厨房设备。

图18a是示出包覆了人工的类似于人的软皮肤手套700的每个机器手72的示意图。人工的类似于人的软皮肤手套700包括多个嵌入式传感器,它们是能透过的,并且对于机器手72而言足以使其执行高层级微操纵。在一实施例中,软皮肤手套700包括十个或更多传感器,以复现手部活动。

图18b是示出包覆着人工的类似于人的皮肤手套的机器手基于微操纵的库数据库720执行高层级微操纵的框图,所述微操纵被预定义且存储在库数据库720内。高层级微操纵涉及需要大量的交互式活动和相互作用力以及对其的控制的动作基元的序列。提供了存储在数据库库720内的三个微操纵的示例。第一个微操纵的示例是采用一双机器手72揉面团722。第二个微操纵的示例是采用一双机器手72制作意大利方饺724。第三个微操纵的示例是采用一双机器手72制作寿司。三个微操纵的示例中的每一个都具有运动/交互时间简档728,将通过计算机16对其予以跟踪。

图18c是示出三种类型的食物制备操纵动作的示意图,其具有产生预期目标状态的机器臂70和机器手72的运动和力的连续轨迹。机器臂70和机器手72执行刚性抓取和转移730活动,从而借助于不可移动的抓取拾取对象并将其转移到目标位置,而无需用力的相互作用。刚性抓取和转移的示例包括将平底锅放到炉子上、拿起盐瓶、将盐撒到菜里、将食材投放到碗里、倒出容器内的内容物、拌沙拉以及对烙饼翻面。机器臂70和机器手72执行采用用力相互作用732的刚性抓取,其中在两个表面或对象之间存在用力的接触。采用用力相互作用的刚性抓取的示例包括在锅里搅动、打开盒子、转动平底锅以及将物品从砧板扫到平底锅里。机器臂70和机器手72执行具有形变734的用力相互作用,其中在两个表面或对象之间具有用力接触,从而导致两个表面之一发生形变,例如,切胡萝卜、打蛋或滚动面团。要想获得有关人手功能、人手掌的形变及其抓取功能的额外信息,参考i.a.kapandji,“thephysiologyofthejoints,volume1:upperlimb,6e,”churchilllivingstone,6edition,2007,该参考文献通过整体引用而合并于此。

图18d是示出在揉面740的处理中用于食物制备的操纵动作的分类法的一实施例的简化流程图。揉面740可以是先前在微操纵库数据库中预定义的微操纵。揉面740的处理包括一系列动作(或短的微操纵),其包括抓住面团742,将面团放到表面744上、以及重复揉搓动作直到获得期望的形状746为止。

图19是示出得到“用刀磕开鸡蛋”结果的微操纵的数据库库结构770的示例的框图。打蛋的微操纵770包括:怎样在正确位置握住鸡蛋772,怎样相对于鸡蛋握住刀774,什么是用刀敲击鸡蛋的最佳角度776、以及如何打开破裂的鸡蛋778。对772、774、776和778每个的各种可能参数进行测试,从而找到执行具体动作的最佳方式。例如,在握住鸡蛋772时,对握住鸡蛋的不同位置、取向和方式进行测试,从而找到握住鸡蛋的最佳方式。第二,机器手72从预定位置拿起刀。关于握刀的不同位置、取向和方式对握刀774进行研究,从而找到拿刀的最佳方式。第三,还针对用刀敲击鸡蛋的各种组合对用刀敲击鸡蛋776进行测试,从而找到用刀敲击鸡蛋的最佳方式。随后,将执行用刀敲裂鸡蛋770的微操纵的最佳方式存储到微操纵的库数据库中。所保存的用刀敲裂鸡蛋770的微操纵将包括握住鸡蛋772的最佳方式、握住刀774的最佳方式和用刀敲击鸡蛋776的最佳方式。

为了建立得到用刀敲裂鸡蛋结果的微操纵,必须对多个参数组合进行测试,从而识别出确保获得预期功能结果(使鸡蛋裂开)的一组参数。在这一示例中,参数被识别以确定如何以不捏碎鸡蛋的方式抓取和握住鸡蛋。通过测试选择适当的刀,并找到手指和手掌的适当放置,从而可以握住刀用于敲击。识别将成功破裂鸡蛋的敲击动作。识别使破裂的鸡蛋成功打开的打开动作和/或力。

机器人设备75的教导/学习处理涉及多种重复测试,以识别出获得预期的最终功能结果的必要参数。

可以改变场景来执行这些测试。例如,鸡蛋的大小可以变化。可以改变敲裂鸡蛋的位置。刀可以处于不同的位置。微操纵必须在所有这些变化环境中都取得成功。

一旦完成了学习处理,就将结果存储为已知一起完成预期功能结果的动作基元集合。

图20是示出菜谱执行780的示例的框图,其中通过对非标准对象112进行三维模拟来对微操纵进行实时调整。在菜谱执行780中,机器手72执行用刀敲裂鸡蛋的微操纵770,其中从微操纵库数据库中选择执行敲裂鸡蛋操作772、握刀操作774、用刀敲击鸡蛋操作776和打开破裂的鸡蛋操作778中的每个动作的最佳方式。执行实施每个动作772、774、776、778的最佳方式的处理确保了微操纵770将实现该特定微操纵的相同或基本相同的结果(或其保证)。多模态三维传感器20提供关于一种或多种食材的可能变化(例如,鸡蛋的尺寸和重量)的实时调整能力112。

作为图19中的微操纵的创建和图20中的微操纵的执行之间的操作关系的示例,与“用刀敲裂鸡蛋”微操纵相关联的具体变量包括鸡蛋的初始xyz坐标、鸡蛋的初始取向、鸡蛋的尺寸、鸡蛋的形状、刀的初始xyz坐标、刀的初始取向、磕裂鸡蛋的位置的xyz坐标、速度、以及微操纵的持续时间。因而,在创建阶段定义“用刀敲裂鸡蛋”微操纵的所识别的变量,其中可以在相关微操纵的执行阶段通过机器人食物制备引擎56对这些可识别变量进行调整。

图21是示出在标准化厨房模块中捕获厨师的食物制备活动从而从厨师工作室44生成软件菜谱文件46的软件处理782的流程图。在厨师工作室44中,在步骤784,厨师49设计食物菜谱的不同成分。在步骤786,机器人烹饪引擎56配置为接收厨师49选定的菜谱设计的名称、id食材和测度输入。在步骤788,厨师49将食物/食材移动到指定的标准化烹饪用具/器具中并且移动到它们的指定位置。例如,厨师49可以挑选两根中等大小的葱和两个中等大小的蒜瓣,并将八个蘑菇放到案板上,并将两块解冻的20cm×30cm的松饼从冷冻室(freezerlock)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或者供其订购。

图22是示出用于具有机器人设备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将完成的菜肴移到指定的上菜盘内并将其放到柜台上。

图23是示出建立、测试、验证和存储微操纵库数据库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在菜谱的各个食物制备阶段使用。

图24是示出创建用于微操纵的任务的软件处理880的一实施例的流程图。在步骤882,计算机16用将存储到数据库库内的机器手微操纵定义特定机器人任务(例如,用刀磕开鸡蛋)。计算机在步骤884识别出每一微小步骤中对象的所有不同可能取向(例如,鸡蛋以及握住鸡蛋的取向),并且在步骤886识别出相对于所述对象握住厨房工具(例如,相对于鸡蛋握住刀)的所有不同位置点。在步骤888,计算机凭经验识别出握住鸡蛋以及用刀以正确的(切割)动作简档、压力和速度打破鸡蛋的所有可能方式。在步骤890,计算机16定义握住鸡蛋并且相对于鸡蛋定位刀以适当地打破鸡蛋的各种组合(例如,找到诸如对象的取向、位置、压力和速度之类的最佳参数的组合)。在步骤892,计算机16进行训练和测试处理以检验各种组合的可靠性,例如,测试所有的变化、差异,并将该处理重复x次,直到对于每个微操纵可靠性是确定的为止。在厨师49执行某一食物制备任务时(例如,用刀磕开鸡蛋),在步骤894,该任务被转化为作为该任务的一部分执行的若干手部微操纵步骤/任务。在步骤896,计算机16将用于该特定任务的各种微操纵组合存储到数据库库中。在步骤898,计算机16判断对于任何微操纵是否存在需要定义和执行的额外任务。如果存在需要定义的任何额外微操纵,那么处理返回至步骤882。厨房模块的不同实施例是可能的,包括独立厨房模块和集成机器人厨房模块。集成机器人厨房模块被适配到典型房屋的常规厨房区域内。机器人厨房模块至少按照两种模式工作,即机器人模式和正常(手动)模式。磕开鸡蛋是微操纵的一个示例。微操纵库数据库还将适用于很宽范围的各种任务,例如,用叉子通过沿正确的方向施加正确的压力从而相对于牛肉的形状和厚度达到适当的深度来叉取一片牛肉。在步骤900,计算机组合预定义厨房任务的数据库库(databaselibrary),其中每个预定义的厨房任务包括一个或多个微操纵。

图25是示出分配和利用标准化机器人厨房内的标准化厨房工具、标准化对象和标准化设备的库的处理920的流程图。在步骤922,计算机16为每个厨房工具、对象或设备/用具分配代码(或条形码),其预定义了工具、对象或设备的参数,例如其三维位置坐标和取向。这一处理使标准化机器人厨房50内的各种元素标准化,其包括但不限于:标准化厨房设备、标准化厨房工具、标准化刀、标准化叉子、标准化容器、标准化平底锅、标准化器具、标准化工作区、标准化附件以及其他标准化元件。在执行菜谱中的处理步骤时,在步骤924,机器人烹饪引擎配置为在根据具体菜谱的食物制备处理被提示访问厨房工具、对象、设备、用具或用具时指引一个或多个机器手拾取该特定厨房工具、对象、设备、器具或用具。

图26是示出通过三维建模和推理识别非标准对象的处理926的流程图。在步骤928,计算机16通过传感器检测非标准对象,例如,可能具有不同大小、不同外形尺寸和/或不同重量的食材。在步骤930,计算机16用捕获形状、外形尺寸、取向和位置信息的三维建模传感器66来识别非标准对象,并且机器手72进行实时调整以执行适当的食物制备任务(例如,切割或拾取一块牛排)。

图27是示出用于微操纵的测试和学习的处理932的流程图。在步骤934,计算机执行食物制备任务构成分析,其中,对每一烹饪操作(例如,用刀磕开鸡蛋)进行分析、分解并且构造成动作基元或微操纵的序列。在一实施例中,微操纵指的是实现朝向食物菜肴制备中的一具体结果前进的基本功能结果(例如,磕开鸡蛋或切好蔬菜)的一个或多个动作基元的序列。在本实施例中,微操纵可进一步描述为低层级微操纵或高层级微操纵,其中低层级微操纵是指需要极小的相互作用力并且几乎唯独地依赖于使用机器人设备75的动作基元序列,高层级微操纵是指需要大量相互作用和大的相互作用力以及对其的控制的动作基元的序列。处理环936聚焦于微操纵和学习步骤,其包括重复很多次(例如,100次)的测试以确保微操纵的可靠性。在步骤938,机器人食物制备引擎56配置为对执行食物制备阶段或微操纵的所有可能性知识进行评估,其中,关于特定微操纵相关的取向、位置/速度、角度、力、压力和速度对每一微操纵进行测试。微操纵或动作基元可涉及机器手72和标准对象,或者涉及机器手72和非标准对象。在步骤940,机器人食物制备引擎56配置为执行微操纵,并且判断结果是认为成功还是失败。在步骤942,计算机16关于微操纵的失败进行自动分析和推理。例如,多模态传感器可提供有关微操纵的成功或失败的感测反馈数据。在步骤944,计算机16配置为做出实时调整,并且调整微操纵执行处理的参数。在步骤946,计算机16向微操纵库增加有关参数调整的成功或失败的新信息,以作为用于机器人食物制备引擎56的学习机制。

图28是示出机器臂的质量控制和对准功能的处理950的流程图。在步骤952,机器人食物制备引擎56通过输入模块50加载人类厨师复现软件菜谱文件46。例如,软件菜谱文件46将复现来自米其林星级厨师arndbeuchel的“维也纳炸肉(wienerschnitzel)”食物制备。在步骤954,机器人设备75基于所存储的包含所有动作/活动复现数据的菜谱脚本,以与基于人类厨师在具有标准化设备的标准化厨房模块中制备相同菜谱的动作存储的所记录的菜谱数据相同的步速,用相同的动作(例如,躯干、手、手指的动作)、相同压力、力和xyz位置执行任务。在步骤956,计算机16通过多模态传感器监视食物制备处理,多模态传感器生成提供给抽象化软件的原始数据,在抽象化软件中机器人设备75基于多模态感测数据(视觉、音频以及任何其他感测反馈)对照受控数据比较现实世界输出。在步骤958,计算机16判断受控数据和多模态感测数据之间是否存在任何差异。在步骤960,计算机16分析多模态感测数据是否偏离受控数据。如果存在偏离,则在步骤962,计算机16做出调整,从而对机器臂70、机器手72或其他元件进行重新校准。在步骤964,机器人食物制备引擎16配置为在处理964中通过向知识数据库添加对一个或多个参数值所做的调整来进行学习。在步骤968,计算机16将更新的修订信息存储到知识数据库,其涉及经校正的处理、条件和参数。如果根据步骤958没有偏差差异,那么处理950直接进行至完成执行的步骤970。

图29是示出供标准化机器人厨房使用的微操纵对象的数据库库结构972的一实施例的表格。数据库库结构972示出用于输入和存储特定微操纵的信息的若干字段,包括(1)微操纵的名称、(2)微操纵的分配代码、(3)与微操纵的性能相关联的标准化设备和工具的代码、(4)受操纵的(标准或非标准)对象(食材和工具)的初始位置和取向、(5)用户定义的(或在执行处理中从所记录的菜谱提取的)参数/变量、(6)时间线上的微操纵的机器手动作(用于所有伺服的控制信号)和连接反馈参数(来自任何传感器或视频监视系统)的序列。特定微操纵的参数可能取决于复杂性和执行微操纵所需的对象而有所不同。在该示例中,确定了四个参数:标准化厨房模块的体积内的起始xyz位置坐标、速度、对象尺寸和对象形状。可以通过非标准参数定义或描述对象尺寸和对象形状。

图30是示出供标准化机器人厨房50中使用的标准对象的数据库库结构974的表格,其包含标准对象的三维模型。标准对象数据库库结构974示出用于存储与标准对象有关的信息的若干字段,包括(1)对象的名称、(2)对象的图像、(3)对象的分配代码、(4)对象在xyz坐标矩阵内的完整外形尺寸的虚拟3d模型,具有预定义的优选分辨率、(5)对象的虚拟向量模型(如果可得的话)、(6)对象的工作元素的定义和标记(可与手和其他对象接触以供操纵的元素)、以及(7)对于每一具体操纵而言对象的初始标准取向。电子库的样本数据库结构974包含所有标准对象(即,所有厨房设备、厨房工具、厨房用具、容器)的三维模型,其作为总体标准化厨房模块50的一部分。标准对象的三维模型可以由三维摄像机可视地捕捉并且存储在数据库库结构974中供以后使用。

图31描绘了作为标准化机器人厨房实施的菜谱复现处理的一部分,使用具有一个或多个传感器642的机器手640来检查食材质量的处理的执行980。多模态传感器系统视频感测元件能够实施处理982,其使用颜色检测和波谱分析来检测指示可能变质的变色。类似地,采用嵌入在厨房中的或者是机器手操纵的移动探头的部件的氨敏感传感器系统也能够检测变质的可能性。机器手和手指中的附加触觉传感器允许通过触摸感测处理984验证食材的新鲜度,其中将测量对接触力的结实度和阻力(作为压缩距离的函数的挠曲量和挠曲率)。作为示例,对鱼而言,鱼鳃的颜色(深红)和水分含量是新鲜度的指示器,同样的还有眼睛应清澈(非模糊的),并且正确解冻的鱼肉的适当温度不应超过40华氏度。手指尖上的额外接触传感器能够通过触摸、摩擦以及拿住/拾取动作执行与食材的温度、纹理和总重量有关的额外质量检查986。通过这些触觉传感器收集到的所有数据以及视频图像可在处理算法中用于判断食材的新鲜度以及决定是使用该食材还是将其丢弃。

图32示出机器人菜谱脚本复现处理988,其中配备了多模态传感器的头20以及具有拿食材和用具的多指手72的双臂与炊具990相互作用。具有多模态传感器单元的机器人传感器头20用于对两条机器臂工作的三维任务空间持续进行建模和监视,同时还向任务抽象化模块提供数据以识别工具和用具、器具及其内容物和变量,从而允许将它们与烹饪处理序列生成的菜谱步骤进行比较以确保执行是遵循菜谱的计算机存储序列数据进行的。在烹饪处理的重要部分中,机器人传感器头20中的额外传感器用在可听领域中听声音以及用来闻气味。机器手72及其触觉传感器用于适当地操纵相应的食材,例如本实例中的鸡蛋;手指和手掌中的传感器能例如通过表面纹理和重量及其分布检测可用鸡蛋,并且在不打破鸡蛋的情况下握住鸡蛋和设置其取向。多指机器手72还能取来和操纵特定炊具,例如本实例中的碗,并且能够应用适当的动作和力来抓取和操纵烹饪用具(本实例中的搅拌器),从而按照菜谱脚本的规定对食物食材进行正确的处理(例如,磕开鸡蛋,分离蛋黄,搅打蛋清直到获得粘稠成分为止)。

图33描绘了食材储存系统概念1000,其中能够存放任何所需烹饪食材(例如,肉、鱼、禽类、贝类、蔬菜等)的食物储存容器1002配备有传感器以测量和监视相应食材的新鲜度。嵌入在食物储存容器1002中的监视传感器包括但不限于氨传感器1004、易挥发有机化合物传感器1006、容器内温度传感器1008和湿度传感器1010。此外,可以采用由人类厨师或机器臂和手使用的具有一个或多个传感器的手工探头(或检测装置)1012,从而允许对较大食材的体积的内部(例如,肉的内部温度)进行关键测量(例如,温度)。

图34描绘了作为食材新鲜度和质量检查的一部分实施的测量和分析处理1040,食材置于含有传感器和检测装置(例如,温度探头/探针)的食物储存容器1042中以用于在云计算或因特网或计算机网络上的计算机上进行食物新鲜度的在线分析。容器能够通过通信步骤1056在无线数据网络上借助于指定其容器id的元数据标签1044将其数据集转发至主服务器,所述数据集包括温度数据1046、湿度数据1048、氨水平数据1050、易挥发有机化合物数据1052,在主服务器处食品控制质量引擎对容器数据进行处理。处理步骤1060采用容器特定的数据1044,并将其与认为可接受的数据值和范围进行比较,所述数据值和范围存储于介质1058中并且由数据检索和存储处理1054检索。之后,由一组算法针对食材的适合性做出判定,通过单独的通信处理1062经由数据网络提供实时的食物质量分析结果。之后,在另一处理1064中采用所述质量分析结果,其中所述结果被转发至机器臂,以用于实施进一步的动作,也可以远程显示在屏幕上(例如,智能电话或其他显示器)以供用户决定是在烹饪处理中将该食材用于后续消耗,还是将其作为废品丢弃。

图35描绘了标准化机器人厨房50中采用的具有一个或多个程序分配器控制的预填装食材容器1070的功能和处理步骤,其中不论所述厨房是标准化机器人厨房还是厨师工作室。食材容器1070被设计为具有不同的尺寸1082并且被设计为具有变化的用途,适于适当的储存环境1080以通过冷藏、冷冻、冷却等容纳易腐食物从而获得特定的储存温度范围。此外,预填装食材储存容器1070还被设计为适于不同类型的食材1072,所述容器已被预先加上了标签,并且被预填充有固体(盐、面粉、大米等)、粘性/粘稠(芥末、蛋黄酱、杏仁糖、果子酱等)或液体(水、油、牛奶、料汁等)食材,其中分发处理1074根据食材类型而利用多种不同的应用器件(滴管、滑槽、蠕动给料泵等),借助于运行剂量控制处理1076的剂量控制引擎1084进行准确的计算机可控的分发,确保在正确的时间分发正确量的食材。应指出,菜谱指定的剂量是可通过菜单界面或者甚至通过远程电话应用加以调整的,以适应个人口味或饮食规定(低钠等)。剂量控制引擎1084基于菜谱指定的量执行剂量确定处理1078,通过人工释放命令或者基于分配器的出口点处的特定分配容器的检测通过远程计算机控制来进行分配。

图36是示出用于标准化机器人厨房50中的食物制备的菜谱结构和处理1090的框图。食物制备处理1090示为沿烹饪时间线划分成多个阶段,每一阶段具有针对每一阶段1092、阶段1094、阶段1096和阶段1098的一个或多个原始数据块。数据块可含有若干元素,例如,视频图像、音频记录、文本描述以及形成了控制程序的一部分的机器可读、可理解指令和命令集合。原始数据集合包含在菜谱结构内,并且表示从菜谱复现处理开始到烹饪处理结束沿时间线的每一烹饪阶段或其中的任何子处理,所述时间线被以变化的时长水平和时间顺序划分成许多时间顺序阶段。

图37a-37c是示出供标准化机器人厨房中使用的菜谱搜索菜单的框图。如图37a所示,菜谱搜索菜单1110提供最为通用的类别,例如,烹饪风格类型(例如,意大利、法国、中国)、菜肴基础食材(例如,鱼、猪肉、牛肉、意大利面)、或者标准和范围,例如,烹饪时间范围(例如,短于60分钟,20至40分钟),以及进行关键字搜索(例如,乳清干酪猫耳面、黑布丁蛋糕)。选定的个性化菜谱可以排除具有过敏食材的菜谱,其中用户可以在个人用户简档中指示其应当避免的过敏食材,其可以由用户定义或者来自其他的来源。在图37b中,用户可以选择搜索标准,包括烹饪时间短于44分钟,上足够7人吃的份,提供素食者菜肴选项、总卡路里数不超过4521等要求,如图所示的那样。图37c示出不同类型的菜肴1112,其中菜单1110具有等级层次,从而用户可以选择类别(例如,菜肴类型)1112,之后展开到下一级的子类别(例如,开胃食品、沙拉、主菜……),以细化选择。在图37d中示出所实施的菜谱创建和提交的屏幕快照。在图37e中示出描述食材类型的另一屏幕快照。

图37f到37n示出菜谱过滤器、食材过滤器、设备过滤器、账号和社交网访问、个人合作伙伴页、购物车页以及有关购买的菜谱、注册设置、创建菜谱的信息的功能流程图的一实施例,其示出机器人食物制备软件14能够基于数据库的过滤和向用户呈现信息而执行的各种功能。如图37f所演示的,平台用户能够访问菜谱部分,选择用于自动机器人烹饪的期望菜谱过滤器1130。最常用的过滤器类型包括烹饪风格类型(例如,中国、法国、意大利)、烹饪类型(例如,烘焙、蒸、炸)、素食菜肴、以及糖尿病人食物。用户将能够从过滤后的搜索结果中查看菜谱细节,例如,描述、照片、食材、价格和评价。在图37g中,用户能够出于其自己的目的选择期望的食材过滤器1132,例如,有机食品、食材类型、或食材品牌。在图37g中,用户能够针对自动机器人厨房模块应用设备过滤器1134,例如,设备的类型、品牌、制造商。在选择之后,用户将能够直接通过来自相关卖家的系统门户购买菜谱、食材或设备产品。平台允许用户出于其自己的目的建立额外的过滤器和参数,这使得整个系统是可定制的并且时常更新。用户增加的过滤器和参数将在受到管理者(moderator)批准之后呈现为系统过滤器。

在图37h中,用户能够通过登录用户账户1140经由平台的社交专业网络连接至其他用户和卖家。有可能通过信用卡和地址细节验证网络用户的身份。账号门户还起着交易平台的作用,供用户共享或售卖其菜谱,以及向其他用户做广告。用户也可以通过账户门户管理其账户财务和设备。

图37j演示了平台用户之间的合作伙伴关系的示例。一个用户能够提供其食材的全部信息和细节,另一用户提供其设备的全部信息和细节。在将所有信息添加至平台/网站数据库之前必须通过仲裁者对这些信息进行过滤。在图37k中,用户能够在购物车1142中看到其购买信息。也可以改变其他选项,例如,送货和支付方式。用户还能够基于其购物车中的菜谱购买更多食材或设备。

图37l示出能够从菜谱页面1144访问的有关所购买的菜谱的其他信息。用户能够读、听、看如何烹饪以及执行自动机器人烹饪。还有可能从菜谱页面与卖家或技术支持进行有关菜谱的通信。

图37m是示出来自“我的账户”页1136和设置页1138的平台的不同层的框图。用户将能够从“我的账户”页读取专业烹饪新闻或博客,并且能够写要发表的文章。通过“我的账户”下面的菜谱页,用户可以有多种途径创建其自身的菜谱1146,如图37n所示。用户能够通过捕获厨师烹饪活动或者通过从软件库中选择操纵序列来创建自动机器人烹饪脚本,由此创建菜谱。用户还可以通过简单地列举食材/设备来创建菜谱,然后添加音频、视频或图片。用户能够从菜谱页对所有的菜谱进行编辑。

图38是示出选择供标准化机器人厨房中使用的字段的菜谱搜索菜单1150的框图。通过用搜索标准或范围来选择种类,用户60接收到列举出各种菜谱结果的返回页面。用户60能够根据诸如用户评价(例如,从高到低)、专家评价(例如,从高到低)或者食物制备持续时间(例如,从短到长)之类的标准来对结果进行排序。计算机显示器可以包含菜谱的照片/媒体、标题、描述、评价和价格信息,任选地带有“阅读更多”按钮的选项卡,该选项卡可以调出完整的菜谱页面,以供浏览有关该菜谱的进一步信息。

图39中的标准化机器人厨房50描绘了使用增强传感器系统1152的可行配置,其表示多模态三维传感器20的一个实施例。增强传感器系统1152示出位于可移动计算机可控线性轨道上的单个增强传感器系统1854,该轨道延伸厨房轴的长度那么长,旨在有效地覆盖标准化厨房的整个可视三维工作空间。标准化机器人厨房50示出置于可移动计算机可控线性轨道上的单个增强传感器系统20,该轨道延伸厨房轴的长度那么长,旨在有效地覆盖标准化厨房的整个可视三维工作空间。

基于机器人厨房某处(例如,在计算机可控轨道上或者在具有臂和手的机器人躯干上)的增强传感器系统1152的适当放置,允许在用于机器特定的菜谱脚本生成的厨师监视期间以及在标准化机器人厨房50中的菜肴复现的各个阶段中对机器人执行步骤的进展以及成功完成进行监视期间,进行3d跟踪和原始数据生成。

图40是示出具有用于食物制备环境的实时三维建模1160的多个摄像机传感器和/或激光器20的标准化厨房模块50的框图。机器人厨房烹饪系统48包括三维电子传感器,其能够为计算机提供实时原始数据,以供建立厨房操作环境的三维模型。实时三维建模处理的一种可行实施方式涉及使用三维激光扫描。实时三维建模的一种替代实施方式是采用一个或多个视频摄像机。第三种方法涉及采用摄像机观察到的投影光图案,即所谓的结构光成像。三维电子传感器对厨房操作环境进行实时扫描,以提供厨房模块中的工作空间的视觉表示(形状和外形尺寸数据)1162。例如,三维电子传感器实时地捕获机器臂/手是否拾取了肉或鱼的三维图像。厨房的三维模型还起着一些“人眼”的作用,用于对抓取对象进行调整,因为一些对象可能具有非标准的外形尺寸。计算机处理系统16生成工作空间内的三维几何形状、机器人运动学(kinematics)、和对象的计算机模型,并且提供控制信号1164回到标准化机器人厨房50。例如,厨房的三维建模能够提供具有期望间隔的三维分辨率网格,例如,在网格点之间具有1厘米的间隔。

标准化机器人厨房50描绘了使用一个或多个增强传感器系统20的另一可行配置。标准化机器人厨房50示出置于沿厨房轴长度的厨房工作表面上方的拐角处的多个增强传感器系统20,其旨在有效地覆盖标准化机器人厨房50的整个可视三维工作空间。

标准化机器人厨房50中的增强传感器系统20的适当放置允许使用视频摄像机、激光器、声纳以及其他二维和三维传感器系统进行三维感测,从而实现对原始数据的收集以辅助产生经处理的数据,由此随着机器臂、手、工具、设备和器具在标准化机器人厨房50中的菜肴复现的多个顺序阶段中涉及不同的步骤而获得它们的形状、位置、取向和活动的实时动态模型。

在每一时间点上收集原始数据,从而允许对原始数据进行处理,以便能够在步骤1162中提取出对于标准化机器人厨房50中的菜肴复现的多个顺序阶段中的不同步骤具有重要性的所有物体的形状、外形尺寸、位置和取向。通过计算机系统对经处理的数据做进一步分析,从而允许标准化机器人厨房的控制器通过修改机器人脚本定义的控制信号来调整机器臂和手的轨迹以及微操纵。考虑到很多变量(食材、温度等)可能发生变化,所以对菜谱脚本执行进而控制信号进行适应性调整对于成功完成特定菜肴的复现的每一阶段是很关键的。在标准化机器人厨房50内执行特定菜肴的复现步骤的处理中,基于关键可测量变量的菜谱脚本执行处理是使用增强(又称为多模态)传感器系统20的关键部分。

图41a是示出机器人厨房原型的示意图。原型厨房包括三层,顶层包括轨道系统1170,一对臂沿其移动以在机器人模式期间制备食物。可收缩机罩1172可对两条机器臂进行评估,当不用于烹饪时或者当厨房设置为手动烹饪模式时使两条机器臂返回到充电座且允许其被储存。中间层包括水槽、炉子、烤架、烤箱和通向食材储存设备的工作台面。中间层还具有计算机监视器以操作设备、选择菜谱、观看视频和文本指令、以及收听音频指令。下层包括用于以最佳条件存放食物/食材的自动容器系统,其有可能根据菜谱需要而将食材自动输送至烹饪体积处。厨房原型还包括烤箱、洗碗机、烹饪工具、附件、炊具摆放柜、抽屉和垃圾箱。

图41b是示出具有透明材料外壳1180的机器人厨房原型的图,该外壳在进行机器人烹饪处理时用作保护机构以防止对周围的人造成可能的伤害。透明材料外壳可由各种透明材料制成,例如玻璃、玻璃纤维、塑料或任何其他适当材料,以用于在机器人厨房50中作为保护屏,将机器臂和手的操作与机器人厨房50外的诸如人之类的外部源屏蔽开。在一示例中,透明材料外壳包括自动玻璃门(或多个门)。如本实施例中所示,自动玻璃门定位成从上往下或从下往上(从底部部分)滑动以在涉及使用机器臂的烹饪处理中出于安全原因而关闭。透明材料外壳的设计可能存在变化,例如,竖直下滑、竖直上滑、水平从左向右滑、水平从右向左滑、或者可以采取允许厨房中的透明材料外壳充当保护机构的任何其他放置方法。

图41c描绘了标准化机器人厨房的实施例,其中台面表面和机罩内面规定的体积具有水平滑动玻璃门1190,其可以手工地或者在计算机控制下左右移动从而将机器臂/手的工作空间与其周围分隔开,由此实现保护站得靠近厨房的人、或者限制污染物进出厨房工作区域、或者甚至允许在封闭体积内的更好气候控制的目的。自动滑动玻璃门左右滑动,从而在涉及使用机器臂的烹饪处理中出于安全的原因关闭。

图41d描绘了标准化机器人厨房的实施例,其中台面或工作表面包括具有通往机器人厨房柜台的底部橱柜体积内的食材储存体积的滑动门1200的区域。门可以手工地或者在计算机控制下滑开以允许访问其内的食材容器。无论是手工地还是在计算机控制下,一个或多个特定容器可以通过食材储存和供给单元被馈送至台面层,从而允许手工(在该描述中通过机器臂/手)拿取该容器、其盖子、进而容器内的内容物。然后,机器臂/手可以打开盖子,取回所需食材,并将食材放到适当的位置(盘、平底锅、锅等),而后重新密封容器并将其放回到食材储存和供给单元上或其中。然后,食材储存和供给单元将容器放回到单元内的适当位置以供后续再次使用、清洁或重新备料。这一供给和重新堆放食材容器以供机器臂/手访问的处理是一个一体的且重复的处理,形成菜谱脚本的一部分,因为菜谱复现处理内的某些步骤基于标准化机器人厨房50可能涉及其中的菜谱脚本执行的阶段而需要一种或多种特定类型的食材。

为了拿取食材储存和供给单元,可以打开具有滑动门的台面部分,其中菜谱软件控制所述门并且将指定容器和食材移动到拿取位置,在该位置处机器臂可以拾取容器,打开盖子,将食材从容器移出到指定位置,重新盖上盖子并将容器移回到储存器。容器被从拿取位置移回到其在储存单元内的默认位置,然后将新的/下一个容器项目上载到拿取位置以供拾取。

图41e描绘了食材储存和供给单元1210的替代实施例。可以采用计算机控制的馈送机构分配特定的或重复使用的食材(盐、糖、面粉、油等),或者允许通过人或者机器人的手或手指进行的手动触发,以释放特定量的特定食材。可以通过人或机器人的手在触摸面板上手工输入所要分配的食材量,或者可以通过计算机控制提供所要分配的食材量。然后,可以在菜谱复现处理中的任何时间收集所分配的食材或将其馈送到一件厨房设备(碗、平底锅、锅等)中。食材供给和分配系统的这一实施例可看作是更加经济有效并且具有空间效率的方案,同时还减小了容器操纵复杂性以及机器臂/手的浪费运动时间。

在图41f中,标准化机器人厨房的实施例包括后挡板区域1220,该区域中安装有具有触摸屏区域的虚拟监视器/显示器,从而允许人按照手动模式对厨房进行操作以与机器人厨房及其元件进行交互。计算机投影图像以及监视投影区域的单独摄像机能够基于投影图像中的位置判断人手及其手指在做出具体选择时处于什么位置,然后系统基于其来相应地采取动作。虚拟触摸屏允许访问标准化机器人厨房50内的设备的所有方面的所有控制和监视功能,检索和存储菜谱,浏览所存储的人类厨师的完整或部分菜谱执行步骤的视频,以及收听与特定菜谱中的特定步骤或操作有关的人类厨师语音描述和指令的可听重放。

图41g描绘了构建到标准化机器人厨房中的单个或一系列机器人硬自动化装置1230。所述一个或多个装置是可编程的并且可由计算机远程控制的,被设计为馈送或提供菜谱复现处理中所需的预包装或预测度的量的专用食材元素,例如香料(盐、胡椒粉等)、液体(水、油等)或者其他干食材(面粉、糖、发酵粉等)。这些机器人自动化装置1230定位成使得其可被机器臂/手容易地拿取到,从而允许它们被机器臂/手或者人类厨师的臂/手所使用,从而基于菜谱脚本中指定的需求来设置和/或触发预定量的选定食材的释放。

图41h描绘了构建到标准化机器人厨房中的单个或一系列机器人硬自动化装置1240。所述一个或多个装置是可编程并且可由计算机远程控制的,被设计为馈送或提供菜谱复现处理中所需的预包装或预测度的量的常用并且重复使用的食材元素,其中剂量控制引擎/系统能够恰好提供适当的量给一件特定的设备,例如碗、锅或平底锅。这些机器人自动化装置1240定位成使得其可被机器臂/手容易地拿取到,从而允许它们被机器臂/手或者人类厨师的臂/手所使用,从而基于菜谱脚本中指定的需求设置和/或触发受剂量引擎控制的选定食材量的释放。食材供给和分配系统的这一实施例可看作是更加经济有效并且具有空间效率的方案,同时还减小了容器操纵复杂性以及机器臂/手的浪费运动时间。

图41i描绘了配备有通风系统1250以及自动烟雾/火苗检测和抑制系统1252的标准化机器人厨房,前者用于在自动化烹饪处理中抽出烟和蒸汽,后者用于熄灭任何有害烟雾和危险火苗的来源,其还允许滑动门的安全玻璃包围标准化机器人厨房50以控制受影响的空间。

图41j描绘了具有废料管理系统1260的标准化机器人厨房50,废料管理系统1260位于下橱柜中的位置内,从而允许通过一组具有可移动盖子的垃圾容器容易并且快速地清除可回收(玻璃、铝等)和不可回收(食物碎屑等)物品,所述可移动盖子具有密封元件(垫圈、o环等)以提供气密密封,从而使气味不会飘散到标准化机器人厨房50内。

图41k描绘了具有顶装式洗碗机1270的标准化机器人厨房50,洗碗机1270位于厨房中便于机器人加载和卸载的某一位置。洗碗机包括密封盖,其在自动化菜谱复现步骤执行处理中还可以用作砧板或者具有集成排水沟槽的工作空间。

图41l描绘了具有仪器化食材质量检查系统1280的标准化厨房,仪器化食材质量检查系统1280包括具有传感器和食物探头的仪器化面板。该区域包括处于后挡板上的能够检测置于该区域内的食材的多个物理和化学特性的传感器,所述特性包括但不限于变质(氨传感器)、温度(热电偶)、挥发性有机化合物(生物质分解散发的)以及湿气/湿度(湿度计)含量。还可以提供采用温度传感器(热电偶)检测装置的食物探头,以供机器臂/手持有来探测特定烹饪食材或元素的内部属性(例如,红肉、禽肉等的内部温度)。

图42a以平面图1290描绘了标准化机器人厨房50的一实施例,应理解,可以按不同的布局布置其中的元素。标准化机器人厨房50被划分为三个层级,即顶层1292-1、柜台层1292-2和下层1292-3。

顶层1292-1含有具有不同单元的多个橱柜型模块,其借助于内置的器具和设备执行特定厨房功能。在最简单的层级上,包含搁板/橱柜储存区域1294、用于储存和访问烹饪工具和器具以及其他烹饪和上菜用具(烹饪、烘焙、装盘等)的橱柜体积1296、用于特定食材(例如,水果和蔬菜等)的存放成熟(storageripening)橱柜体积1298、用于诸如莴苣和洋葱之类的物品的冷藏储存区1300、用于深度冷冻物品的冷冻储存橱柜体积1302、用于其他食材和很少使用的香料等的另一储存储藏柜1304、以及硬自动化食材分配器1305等。

柜台层1292-2不仅容纳机器臂70,而且还包括上菜柜台1306、具有水槽的柜台区域1308、具有可移除的工作表面(切/斩案板等)的另一柜台区域1310、基于炭的板条式烤架1312、以及用于其他烹饪器具的多用途区域1314,所述其他烹饪器具包括炉、煮锅、蒸锅和炖蛋锅。

下层1292-3容纳组合对流烤箱和微波炉1316、洗碗机1318和较大橱柜体积1320,较大橱柜体积1320保持和存放其他频繁使用的烹饪和烘焙用具以及餐具、包装材料和刀具。

图42b描绘了标准化机器人厨房的透视图50,其在具有x轴1322、y轴1324、z轴1326的xyz坐标系内描绘了顶层1292-1、柜台层1292-2和下层1294-3的位置,从而允许在标准化机器人厨房内为机器臂34的定位提供适当的几何参照。

机器人厨房50的透视图清晰地确定了许多可行布局之一以及在所有三个层级的设备的位置,所述三个层级包括顶层1292-1(储存储藏柜1304、标准化烹饪工具和用具1320、存放成熟区1298、冷藏储存区1300、冷冻储存区1302)、柜台层1292-2(机器臂70、水槽1308、斩/切区1310、炭烤架1312、烹饪器具1314和上菜柜台1306)以及下层(洗碗机1318以及烤箱和微波炉1316)。

图43a描绘了标准化机器人厨房布局的一个可行物理实施例的平面图,其中厨房被构建成更具线性的基本矩形水平布局,描绘了供用户操作设备、选择菜谱、观看视频和收听所记录的厨师指令的内置监视器1332、以及用于在机器臂操作期间包围标准化机器人烹饪体积的开放面的计算机自动控制(或手动操作)的左/右可移动透明门1330。

图43b描绘了标准化机器人厨房布局的一物理实施例的透视图,其中厨房被构建成更具线性的基本矩形水平布局,描绘了供用户操作设备、选择菜谱、观看视频和收听所记录的厨师指令的内置监视器1332、以及用于在机器臂操作期间包围标准化机器人烹饪体积的开放面的计算机自动控制左/右可移动透明门1330。

图44a描绘了标准化机器人厨房布局的另一物理实施例的平面图,其中厨房被构建成更具线性的基本矩形水平布局,描绘了供用户操作设备、选择菜谱、观看视频和收听所记录的厨师指令的内置监视器1336、以及用于在机器臂和手的操作期间包围标准化机器人烹饪体积的开放面的计算机自动控制左/右可移动透明门1338。或者,可移动透明门1338可被计算机控制以在水平左右方向上移动,这可以通过传感器或者按压标签或按钮来自动进行,或由人类语音启动。

图44b描绘了标准化机器人厨房布局的另一可行物理实施例的透视图,其中厨房被构建成更具线性的基本矩形水平布局,描绘了供用户操作设备、选择菜谱、观看视频和收听所记录的厨师指令的内置监视器1340、以及用于在机器臂操作期间包围标准化机器人烹饪体积的开放面的计算机自动控制左/右可移动透明门1342。

图45描绘了标准化机器人厨房50中的可伸缩实物1350的透视布局图,其中一对机器臂、腕和多指手一体地在棱柱式(通过线性分级延伸)可伸缩致动的躯干上沿竖直y轴1351和水平x轴1352移动,以及绕经过其自身躯干的中心线的竖直y轴旋转移动。一个或多个致动器1353嵌入在躯干和上方层级中,以允许线性和旋转运动使机器臂72和机器手70在菜谱脚本描述的菜谱的复现的所有部分当中可移动到标准化机器人厨房中的不同地方。这些多种运动是能够正确地复现在人类厨师烹饪的菜肴创建处理中在厨师工作室厨房设备中观察到的人类厨师49的活动所必需的。在左/右平移台的基部处的伸缩致动器1350上的转动(panning)(旋转)致动器1354允许机器臂70的至少部分旋转,类似于厨师出于灵活或取向原因而转动其肩部或躯干-否则将被限制于在单个平面中烹饪。

图46a描绘了标准化机器人厨房模块50的一物理实施例1356的平面图,其中厨房被构建成更具线性的基本矩形水平布局,描绘了具有手腕和多指手的一组双机器臂,其中,每个臂基部既不是安装在一组可移动轨道上,也不是安装在可旋转躯干上,而是固定不可移动地安装到同一个机器人厨房竖直表面上,由此定义和固定机器人躯干的位置和尺寸,但是仍允许两条机器臂协同工作并且抵达烹饪表面的所有区域和所有设备。

图46b描绘了标准化机器人厨房布局的一物理实施例1358的透视图,其中厨房被构建成更具线性的基本矩形水平布局,描绘了具有手腕和多指手的一组双机器臂,其中,每个臂基部既不是安装在一组可移动轨道上,也不是安装在可旋转躯干上,而是固定不可移动地安装到同一个机器人厨房竖直表面上,由此定义和固定机器人躯干的位置和尺寸,但是仍允许两条机器臂协同工作并且抵达烹饪表面的所有区域和所有设备(后壁上的烤箱、机器臂下面的灶口以及机器臂一侧的水槽)。

图46c描绘了标准化机器人厨房的一可行物理实施例1360的带尺寸的正视图,标注了其沿y轴的高度和沿x轴的宽度,总体上为2284mm。图46d描绘了作为标准化机器人厨房50的示例的一物理实施例1362的带尺寸的侧视截面图,标注了其沿y轴的高度分别为2164mm和3415mm。本实施例不限制本申请,而是提供一种示例的实施例。图46e描绘了标准化机器人厨房的一物理实施例1364的带尺寸的侧视图,标注了其沿y轴的高度和沿z轴的深度分别为2284mm和1504mm。图46f描绘了包括一对机器臂1368的标准化机器人厨房的一物理实施例1366的带尺寸的俯视截面图,标注了整个机器人厨房模块沿z轴的深度总体上为1504mm。图46g描绘了作为标准化机器人厨房的的另一示例的一物理实施例的通过截面图加强了的三视图,示出沿x轴的总长度为3415mm,沿y轴的总高度为2164mm,沿z轴的总深度为1504mm,其中截面侧视图中的总高度表明沿z轴的总高度为2284mm。

图47是示出供标准化机器人厨房50使用的可编程储存系统88的框图。基于可编程储存系统88内的相对xy位置坐标在标准化机器人厨房50中将可编程储存系统88结构化。在本示例中,可编程储存系统88具有二十七个(27;排列成9×3矩阵)储存位置,其具有九列三行。可编程储存系统88能够充当冷冻器位置或冰箱位置。在本实施例中,二十七个可编程储存位置中的每个包括四种类型的传感器:压力传感器1370、湿度传感器1372、温度传感器1374和气味(嗅觉)传感器1376。由于每个储存位置可通过其xy坐标而被识别,所以机器人设备75能够访问选定的可编程储存位置以获得该位置的制备菜肴所需的食物项目。计算机16还能监视每个可编程储存位置的适当温度、适当湿度、适当压力和适当气味简档,以确保对特定食物项目或食材的最佳储存条件进行监视和维持。

图48描绘了容器储存站86的正视图,其中可通过计算机监视和控制温度、湿度和相对氧含量(以及其他室内条件)。该储存容器单元中可包括但不限于食品柜/干储存区域1304、对酒重要的具有可单独控制的温度和湿度的成熟区1298(用于水果/蔬菜)、用于农产品/水果/肉类的低温储存从而优化储藏寿命的冷藏单元1300、以及用于长期储存其他物项(肉、烘焙货品、海鲜、冰激凌等)的冷冻单元1302。

图49描绘了将由人类厨师以及机器臂和多指手访问的食材容器1380的正视图。标准化机器人厨房的这一区块包括但不一定限于包括如下的多个单元:食材质量监视仪表板(显示器)1382、计算机化测量单元1384(包括条形码扫描器、摄像机和刻度)、具有用于食材的验入验出的自动化架式搁板的单独台面1386、以及用于清除适于回收的可回收硬物品(玻璃、铝、金属等)和软物品(食物残余和碎屑等)的回收单元1388。

图50描绘了食材质量监视仪表板1390,其为供人类厨师使用的计算机控制显示器。该显示器允许用户查看对人和机器人烹饪的食材供给和食材质量方面重要的多个项目。这些包括对如下项目的显示:概括有什么可用的食材库存总览1392、所选择的各个食材及其营养成分和相对分布1394、与储存类别(肉、蔬菜等)有关的量和专门储存1396、描绘未到的截止日期以及完成/重新补足日期和物项的时间表1398、用于任何种类的警报(感测到变质、异常温度或故障等)的区域1400、以及语音解释器命令输入的选项1402,从而允许人类用户借助于仪表板1390与计算机化库存系统进行交互。

图51是示出菜谱参数的库数据库1400的一示例的表格。菜谱参数的库数据库1400包括很多类别:膳食分组简档1402、烹饪风格类型1404、媒体库1406、菜谱数据1408、机器人厨房工具和设备1410、食材分组1412、食材数据1414和烹饪技术1416。这些类别中的每个提供在菜谱选择当中可用的详细选择的列举。膳食分组简档包括诸如年龄、性别、体重、过敏症、用药情况和生活方式之类的参数。烹饪风格类型分组简档1404包括根据地区、文化或宗教定义的烹饪风格类型,烹饪设备类型分组简档1410包括诸如平底锅、烤架或烤箱以及烹饪持续时间之类的项目。菜谱数据分组简档1408包含诸如菜谱名称、版本、烹饪和制备时间、所需工具和器具等之类的项目。食材分组简档1412包含被分组成诸如乳制品、水果和蔬菜、谷物和其他碳水化合物、各种类型的流体、以及各种蛋白质(肉、豆)等之类的项目的食材。食材数据分组简档1414包含诸如名称、描述、营养信息、储存和操纵指令等之类的食材描述符数据。烹饪技术分组简档1416含有关于具体烹饪技术的信息,被分组为诸如机械技术(涂油脂、切斩、擦碎、切碎等)和化学处理技术(腌制、酸渍、发酵、烟熏等)之类的领域。

图52是示出记录厨师的食物制备处理的一实施例的处理1420的一实施例的流程图。在步骤1422,在厨师工作室44中,多模态三维传感器20扫描厨房模块体积以定义其中的标准化厨房设备和所有对象的xyz坐标位置和取向,不论是静态的还是动态的。在步骤1424,多模态三维传感器20扫描厨房模块体积以找到诸如食材之类的非标准化对象的xyz坐标位置。在步骤1426,计算机16创建所有非标准化对象的三维模型,并且将它们的类型和属性(大小、外形尺寸、用法等)存储到计算机的系统存储器中(在计算装置上或者在云计算环境),并且定义非标准化对象的形状、尺寸和类型。在步骤1428,厨师活动记录模块98配置为通过厨师手套感测和捕获在连续时程中厨师的臂、手腕和手的活动(优选根据标准微操纵对厨师的手的活动进行识别和分类)。在步骤1430,计算机16将所感测和捕获的厨师在制备食物菜肴时的活动的数据存储到计算机的存储器储存装置中。

图53是示出机器人设备75制备食物菜肴的一实施例的处理1440的一实施例的流程图。在步骤1442,机器人厨房48中的多模态三维传感器20扫描厨房模块体积以找到非标准化对象(食材等)的xyz位置坐标。在步骤1444,机器人厨房48中的多模态三维传感器20创建在标准化机器人厨房50中检测到的非标准化对象的三维模型,并且将非标准化对象的形状、尺寸和类型存储到计算机存储器中。在步骤1446,机器人烹饪模块110根据转换后的菜谱文件开始菜谱的执行,以相同的步调,采用相同的活动并且用类似的持续时间复现厨师的食物制备处理。在步骤1448,机器人设备75采用一个或多个微操纵以及动作基元的组合执行转换后的菜谱文件的机器人指令,从而使机器人标准化厨房中的机器人设备75制备出就像厨师49亲自制备食物菜肴那样的相同或基本相同的食物菜肴。

图54是示出在机器人相对于厨师获得相同或基本相同的食物菜肴制备结果的处理中质量和功能调整1450的一实施例的处理的流程图。在步骤1452,质量检查模块56配置为通过一个或多个多模态传感器、机器人设备75上的传感器监视和验证机器人设备75的菜谱复现处理,并且采用抽象软件来比较来自机器人设备75的输出数据和来自软件菜谱文件的受控数据,来进行质量检查,软件菜谱文件是通过当执行相同的菜谱时对人类厨师在标准化机器人厨房的厨师工作室版本中执行的烹饪处理进行监视和抽象化而创建的。在步骤1454,机器人食物制备引擎56配置为检测和确定将要求机器人设备75对食物制备处理做出调整的任何差异,例如,至少监视食材的大小、形状或取向的差异。如果存在差异,则机器人食物制备引擎56配置为通过基于原始的和经处理的感测输入数据调整该特定食物菜肴处理步骤的一个或多个参数来对食物制备处理进行修改。在步骤1454,做出对菜谱脚本中所存储的处理变量与所感测和抽象的处理进展之间的可能差异采取行动的判定。如果标准化机器人厨房中的烹饪处理的处理结果与菜谱脚本中对该处理步骤描述的结果等同,那么如菜谱脚本描述的那样继续进行食物制备处理。如果基于原始和经处理的感测输入数据要求对该处理做出修改或调适,那么通过对确保使处理变量顺应菜谱脚本中对该处理步骤描述的那些所需的任何参数进行调整,来执行调适处理1556。在成功结束调适处理1456后,食物制备处理1458如菜谱脚本序列中说明的那样继续进行。

图55是示出机器人厨房通过复现来自机器人厨房中所记录的软件文件的厨师活动来制备菜肴的处理1460的第一实施例的流程图。在步骤1461,用户通过计算机选择特定菜谱以供机器人设备75制备食物菜肴在步骤1462,机器人食物制备引擎56配置为检索所选择菜谱的抽象化菜谱以供食物制备。在步骤1463,机器人食物制备引擎56配置为将所选菜谱脚本上载到计算机存储器中。在步骤1464,机器人食物制备引擎56计算食材可得性和所需烹饪时间。在步骤1465,机器人食物制备引擎56配置为如果根据所选菜谱和上菜时间安排制备菜肴的食材短缺或时间不足时,发出警报或通知。在步骤1466,机器人食物制备引擎56发出警报,以将缺少或不足的食材放到购物清单上,或者选择替代菜谱。在步骤1467,确认用户的菜谱选择。在步骤1468,机器人食物制备引擎56配置为检查是否到了开始制备菜谱的时间。在步骤1469,处理1460暂停,直到到达开始时间。在步骤1470,机器人设备75检查每一食材的新鲜度和状况(例如,购买日、到期日、气味、颜色)。在步骤1471,机器人食物制备引擎56配置为向机器人设备75发送指令,以将食物或食材从标准化容器移到食物制备位置。在步骤1472,机器人食物制备引擎56配置为指示机器人设备75在开始时间“0”通过根据软件菜谱脚本文件复现食物菜肴来开始食物制备。在步骤1473,标准化厨房50中的机器人设备75采用与厨师的臂和手指一样的活动、相同的食材、相同的步调以及相同的标准化厨房设备和工具复现食物菜肴。在步骤1474,机器人设备75在食物制备处理中进行质量检查,以做出任何必要的参数调整。在步骤1475,机器人设备75完成了食物菜肴的复现和制备,因此制备将食物菜肴装盘和上菜。

图56示出储存容器的验入(check-in)和识别处理的处理1480。在步骤1482,用户使用质量监视仪表板选择验入食材。然后在步骤1484,用户在验入站或柜台处扫描食材包装。在步骤1486,机器人烹饪引擎采用来自条形码扫描器、秤、摄像机和激光扫描器的附加数据处理食材特定的数据并且将其映射至其食材和菜谱库,并且分析其任何潜在的过敏影响。基于步骤1488,如果存在过敏可能性,那么在步骤1490系统决定通知用户并且出于安全原因舍弃该食材。如果认为食材可接受,那么在步骤1492系统将其记入日志并且进行确认。在步骤1494,用户可以打开包装(如果还没打开包装),并倒出该物项。在后续步骤1496,该物项被包装(锡箔、真空袋等),并打上具有打印到其上的所有必要食材数据的计算机打印标签,并且基于识别结果移到储存容器和/或储存位置。然后在步骤1498,机器人烹饪引擎更新其内部数据库,并且在其质量监视仪表板中显示可用食材。

图57描绘了从储存器验出(check-out)食材以及烹饪制备处理1500。在第一步骤1502,用户利用质量监视仪表板选择验出食材。在步骤1504,用户基于一个或多个菜谱所需的单个物项选择要验出的物项。然后在步骤1506,计算机化厨房采取行动以将包含选定物项的特定容器从其储存位置移到柜台区域。在用户于步骤1508中拾取了物项的情况下,用户在步骤1510中按很多可行方式(烹饪、丢弃、回收等)中的一种或多种对该物项进行处理,在步骤1512中将剩余物项重新验入回到系统内,其于是结束用户与系统的交互1514。在标准化机器人厨房中的机器臂接收到所检索的食材物项的情况下,执行步骤1516,其中臂和手对照食材物项的标识数据(类型等)和状况(到期日、颜色、气味等)检查容器内的每一食材物项。在质量检查步骤1518,机器人烹饪引擎做出有关可能的物项不匹配或检测到的质量状况的判定。在物项不适当的情况下,步骤1520发送警报给烹饪引擎,使其随后进行适当的操作。如果食材具有可接受的类型和质量,那么机器臂在步骤1522中移动该物项,以供在下一烹饪处理阶段内使用。

图58描绘了自动化烹饪前制备处理1524。在步骤1530,机器人烹饪引擎基于特定菜谱计算裕量和/或浪费的食材材料。接下来在步骤1532,机器人烹饪引擎搜索所有可能的用于采用每种食材执行菜谱的技术和方法。在步骤1534,机器人烹饪引擎针对时间和能耗计算并优化食材使用和方法,尤其是对需要并行多任务处理的菜肴而言。然后,机器人烹饪引擎为所安排的菜肴建立多层级烹饪规划1536,并向机器人厨房系统发送烹饪执行请求。在下一步骤1538中,机器人厨房系统将烹饪处理所需的食材以及烹饪/烘焙用具从其自动化搁架系统移出,并且在步骤1540中对工具和设备进行组装,设立各种工作站。

图59描绘了菜谱设计和脚本建立处理1542。作为第一步骤1544,厨师选择特定菜谱,然后在步骤1546中针对其输入或编辑菜谱数据,包括但不限于名称和其他元数据(背景、技术等)。在步骤1548,厨师基于数据库和相关的库输入或编辑所需食材,并且输入菜谱所需的相应重量/体积/单位的量。在步骤1550中厨师基于数据库和相关库中可用的技术选择菜谱制备中采用的必要技术。在步骤1552,厨师执行类似的选择,但是这次其关注的是执行菜肴的菜谱所需的烹饪和制备方法的选择。之后,结束步骤1554允许系统建立菜谱id,其对于后续的数据库储存和检索将是有用的。

图60描绘了用户可能如何选择菜谱的处理1556。第一步骤1558要求用户通过计算机或移动应用从在线市场商店购买菜谱或订购菜谱购买计划,由此实现能够复现的菜谱脚本的下载。在步骤1560,用户基于个人偏好设置以及现场食材可用性搜索在线数据库并且从所购买的或者作为订购的一部分而可得的菜谱中选择特定菜谱。作为最后一个步骤1562,用户输入希望制备好上菜的日期和时间。

图61a描绘了用于在线服务门户或所谓的菜谱商业平台的菜谱搜索和购买及/或订购处理的处理1570。作为第一步骤,新用户在步骤1572中必须向系统注册(选择年龄、性别、用餐偏好等,随后选择总体偏好的烹饪或厨房风格),而后用户能够通过手持装置上的app或者采用tv和/或机器人厨房模块对菜谱进行搜索并且进行下载以浏览菜谱。用户可在步骤1574中选择采用诸如菜谱风格(包括人工烹饪菜谱)之类的标准1576或者基于特定厨房或设备风格1578(铁锅、蒸锅、熏烟器等)进行搜索。用户可在步骤1580中将搜索选择或设置为使用预定义标准,并且采用过滤步骤1582来收窄搜索空间和所产生的结果。在步骤1584,用户从所提供的搜索结果、信息和推荐中选择菜谱。用户可以在步骤1586中选择之后与烹饪伙伴或在线社区进行有关所述选择和接下来的步骤的共享、合作或商讨。

图61b描绘了从图61a继续进行针对服务门户的菜谱搜索和购买/订购处理。在步骤1592中用户被提示基于机器人烹饪方案或菜谱的参数受控制版本选择特定菜谱。在基于受控制的参数的菜谱的情况下,系统在步骤1594中针对诸如所有炊具和器具以及机器臂要求之类的项目提供所需设备细节,并在步骤1602中提供选择食材来源和设备供应商的外部链接,以获得详细的订货须知。之后,门户系统执行菜谱类型检查1596,其允许在远程装置上直接下载和安装1598菜谱程序文件,或者要求用户在步骤1600中采用很多种可能的支付方式(paypal、bitcoin、信用卡等)之一在一次性支付或基于订购的支付的基础上输入支付信息。

图62描绘了在机器人菜谱烹饪应用(app)的创建中采用的处理1610。作为第一步骤1612,需要在诸如appstore、googleplaywindowsmobile或者其他这样的市场上建立开发者账户,包括提供银行和公司信息。之后,在步骤1614中提示用户获得并下载最近更新的应用程序接口(api)文档,其对于每个app商店是特定的。之后,开发者必须在步骤1618中遵循所说明的api要求并且创建满足api文档要求的菜谱程序。在步骤1620,开发者需要提供菜谱的名称和其他元数据,其应当是适合的并且由各种网站(apple、google、samsung等)规定。步骤1622要求开发者上载菜谱程序和元数据文件以获得批准。之后,相应的市场网站将在步骤1624中对菜谱程序进行检查、测试和批准,而后在步骤1626中相应的网站列出菜谱程序并使其可用于在其购买界面上在线检索、浏览和购买。

图63描绘了购买特定菜谱或订购菜谱交付计划的处理1628。在第一步骤1630中,用户搜索要订货的特定菜谱。在步骤1632,用户可以选择通过关键字进行浏览,在步骤1634,可以采用偏好过滤器收窄结果,也可以在步骤1636采用其他预定义的标准进行浏览,或者甚至基于促销、新发布或预订货的菜谱以及甚至厨师实况烹饪事件进行浏览(步骤1638)。在步骤1640中将菜谱的搜索结果显示给用户。之后,作为步骤1642的一部分,用户可以浏览这些菜谱结果,并在音频或短视频剪辑中预览每一菜谱。之后,用户在步骤1644中选择装置和操作系统,并接收特定在线市场应用网站的具体下载链接。如果用户在步骤1648中选择连接至新的提供商网站,那么网站将要求新用户完成验证和协议步骤1650,从而允许网站之后在步骤1652中下载和安装网站特定的接口软件,以允许继续菜谱交付处理。提供商网站将在步骤1646中询问用户是否创建机器人烹饪购物清单,如果用户在步骤1654中同意,那么在单次或订购的基础上选择特定菜谱,并选择要上菜的特定日期和时间。在步骤1656中,向用户提供和显示所需食材和设备的购物清单,包括最近以及最快的供应商及其地点、食材和设备的可得性以及相关的交货时间(leadtime)和价格。在步骤1658,为用户提供检查每一物项描述及其默认或推荐来源和品牌的机会。于是,用户能够在步骤1660中查看食材和设备清单上的所有项目的相关成本,包括所有的相关链条项目成本(运送、税费等)。如果用户或买家在步骤1662中想要查看所建议的购物清单项目的替代选择,则执行步骤1664,为用户或买家提供备选来源的链接,由此允许其连接和查看备选的购买和订货选项。如果用户或买家接受所建议的购物清单,那么系统不仅在步骤1666保存这些选择作为未来购买的个性化选择,在步骤1688更新当前购物清单,而且还移至步骤1670,基于附加标准,例如当地/最近提供商、基于季节和成熟阶段的物项可得性、或者甚至来自不同供应商的实际上具有相同性能但是对用户或买家而言交货成本显著不同的设备的定价,从购物清单中选择替代方案。

图64a-64b是示出预定义菜谱搜索标准1672的示例的框图。这一示例中的预定义菜谱搜索标准包括若干类别,例如,主要食材1672a、烹饪持续时间1672b、根据地域和类型划分的烹饪风格1672c、厨师姓名搜索1672d、招牌菜1672e、以及制备食物菜肴的估计食材成本1672f。其他可能的菜谱搜索字段包括膳食类型1672g、特殊规定饮食1672h、杜绝食材1672i、菜肴类型和烹饪方法1672j、场合和季节1672k、回顾和建议1672l、以及评级1672m。

图65是示出机器人标准化厨房50中的一些预定义的容器的框图。标准化机器人厨房50中的每个容器具有容器编号或条形码,其说明容器内储存的特定内容物。例如,第一容器储存大的块状产品,例如,白球甘蓝、红球甘蓝、皱叶卷心菜、芫根、花椰菜。第六容器储存大量固体块材,包括诸如杏仁屑、籽(向日葵、南瓜籽、白瓜籽)、去核杏干、番木瓜干和杏干。

图66是示出按照矩形布局配置的机器人餐馆厨房模块1676的第一实施例的框图,其具有多对机器手以用于同时进行食物制备处理。除了矩形布局之外,在申请的思想范围内可以构思其他类型的配置布局或对其的修改。本申请的另一实施例围绕着图67所示的专业或餐馆厨房装置中用于多个相继或并行的机器臂和手站点的分级配置。该实施例描绘了更具线性的配置(尽管可采用任何几何布置),示出多个机器臂/手模块,每者专注于创建特定元素、菜肴或菜谱脚本步骤(例如,六对机器臂/手在商业化厨房中发挥不同的作用,例如,副主厨、烤焙厨师、炸/炒厨师、冷盘厨师、糕点师、汤和调味汁厨师等)。该机器人厨房布局使得与任何人的或者相邻臂/手模块之间的访问/交互是沿单个前向表面的。该装置能被计算机控制,由此允许整个多臂/手机器人厨房装置分别执行多个复现烹饪任务,而不管臂/手机器人模块是在顺次执行单个菜谱(来自一个站点的最终产品被提供给下一站点,以用于菜谱脚本中的后续步骤),还是在并行执行多个菜谱/步骤(例如,餐前食物/食材制备,以供在菜肴复现完成期间使用,从而满足高峰时段的时间紧迫性)。

图67是示出按照u形布局配置的机器人餐馆厨房模块1678的第二实施例的框图,该厨房具有多对机器手以供同时进行食物制备处理。本申请的另一实施例围绕着图68所示的专业或餐馆厨房装置中的多个相继或并行的机器臂和手站点的另一分级配置。该实施例描绘了矩形配置(但是可以采用任何几何布置),示出多个机器臂/手模块,其每个专注于创建特定的元素、菜肴或菜谱脚本步骤。该机器人厨房布局使得与任何人或者相邻臂/手模块之间的访问/交互都是沿一组u形向外表面且沿u形的中央部分的,允许臂/手模块在各个菜谱复现阶段内传递给/接触到对面的工作区,并与它们对面的臂/手模块交互。该装置能被计算机控制,由此允许整个多臂/手机器人厨房装置分别执行多个复现烹饪任务,而不管臂/手机器人模块是在顺次执行单个菜谱(来自一个站点的最终产品被沿u形路径提供给下一站点,以用于菜谱脚本中的后续步骤),还是在并行执行多个菜谱/步骤(例如,餐前食物/食材制备,以供在菜肴复现完成期间使用,从而满足高峰时段的时间紧迫性,所制备的食材可能储存在放置于u形厨房的基部的容器或器具(冰箱等)中)。

图68描绘了机器人食物制备系统1680的第二实施例。采用标准化机器人厨房系统50的厨师工作室44包括制备或执行菜谱的人类厨师49,而炊具上的传感器1682则记录随时间推移的变量(温度等)并将变量值作为形成了菜谱脚本原始数据文件的一部分的传感器曲线和参数存储到计算机存储器1684中。来自厨师工作室44的这些存储的感测曲线和参数软件数据(或菜谱)文件基于购买或订购被递送至标准化(远程)机器人厨房1686。家庭安装的标准化机器人厨房50包括用户48和计算机控制系统1688二者,以基于所接收的与测得的感测曲线和参数数据文件对应的原始数据操作自动化和/或机器人厨房设备。

图69描绘了标准化机器人厨房50的第二实施例。运行机器人烹饪(软件)引擎56的计算机16与多个外部装置接口连接,机器人烹饪引擎56包括烹饪操作控制模块1692,其对来自菜谱脚本以及相关存储介质和存储器1684的被记录、分析和抽象的感测数据进行处理,以存储包括感测曲线和参数数据的软件文件。这些外部装置包括但不限于用于输入原始数据的传感器1694、可收缩安全玻璃68、计算机监视和计算机控制的储存单元88、对原料食物质量和供给进行报告的多个传感器198、分配食材的硬自动化模块82、具有食材的标准化容器86、配备传感器的烹饪设备1696、以及配备有传感器的炊具1700。

图70描绘了智能炊具项目1700(例如,此图中为调味汁壶),其包括内置的实时温度传感器,其能够生成并且无线传输跨单元的底表面跨至少但不限于三个平面区带的温度简档,所述三个平面区带是跨炊具单元的整个底表面按同心圆布置的,包括区带11702、区带21704和区带31706。这三个区带中的每个能够基于所耦接的传感器1716-1、1716-2、1716-3、1716-4和1716-5无线传输相应的数据11708、数据21710和数据31712。

图71描绘了一组典型的感测曲线220,具有针对数据11708、数据21710和数据31712的记录温度简档,每条曲线对应于炊具单元的特定底部区域的三个区带中的每个区带的温度。测量时间单位反映为从开始至结束以分钟计的烹饪时间(自变量),而温度则是以摄氏度为单位测量的(因变量)。

图72描绘了具有所记录的温度1732和湿度1734简档的一组多重感测曲线1730,来自每个传感器的数据被表示为数据11708、数据21710、直至数据n1712。原始数据流被转发给电子(或计算机)操作控制单元1736并被其处理。测量时间单位反映为从开始至结束以分钟计的烹饪时间(自变量),而温度则是以摄氏度为单位测量的(因变量)。

图73描绘了具有用于实时温度控制的处理装置1700的智能(煎炸)平底锅。电源1750使用三个单独的控制单元(但不必局限于此),包括控制单元11752、控制单元21754和控制单元31756,从而对一组电感线圈有效地加热。所述控制实际上是(煎炸)平底锅的(三个)区带1702(区带1)、1704(区带2)和1706(区带3)中的每个内的测得温度的函数,其中温度传感器1716-1(传感器1)、1716-3(传感器2)和1716-5(传感器3)通过数据流1708(数据1)、1710(数据2)和1712(数据3)将温度数据无线提供回到操作控制单元274,操作控制单元274又指示电源1750独立地控制单独的区带加热控制单元1752、1754和1756。目标在于实现和复现预期的随时间推移的温度曲线,如在菜肴制备期间人类厨师的特定(煎炸)步骤中记录的感测曲线数据那样。

图74描绘了智能烤箱和计算机控制系统1790,它们耦接到操作控制单元1792,允许基于先前存储的感测(温度)曲线实时执行烤箱器具1792的温度简档。操作控制单元1792能够控制烤箱的门(打开/关闭),追踪通过感测曲线提供给它的温度简档,还能够进行烹饪后处理和自清洁。通过内置于各位置的生成数据流268(数据1)的温度传感器1794以及产生数据流的附加湿度传感器1796(数据2)监视烤箱内的温度和湿度,探针形式的温度传感器插入到待烹饪的食材(肉、禽类等)中以监视烹饪温度,从而推断烹饪完成程度。温度1797可用于放置在肉或食物内以确定智能烘箱1790中的温度。操作控制单元1792取得所有这种感测数据,并且调整烤箱参数,从而允许其正确地跟踪在先前存储并下载的两种变量(因变量)的一组感测曲线中描述的感测曲线。

图75描绘了用于功率控制单元1800的(智能)炭烤架计算机控制点火和控制系统装置1798,功率控制单元1800调节炭烤架的电功率从而正确地跟踪在炭烤架内部分布的一个或多个温度和湿度传感器的感测曲线。功率控制单元1800接收温度数据1802和湿度数据1804,温度数据1802包括温度数据1(1802-1)、2(1802-2)、3(1802-3)、4(1802-4)、5(1802-5),湿度数据1804包括湿度数据1(1804-1)、2(1804-2)、3(1804-3)、4(1804-4)、5(1804-5)。功率控制单元1800采用用于各种控制功能的电子控制信号1806、1808,控制功能包括启动烤架和电子点火系统1810,调整烤架表面与炭的距离以及在炭1812上喷射水雾,将炭弄碎1814,分别调整可(上/下)移动的搁架1816的温度和湿度。控制单元1800使其输出信号1806、1808基于一组数据流(例如,这里画出了五个)1804以及数据流1802,数据流1804用于来自一组分布于炭烤架内的湿度传感器(1到5)1818、1820、1822、1824和1826的湿度测量结果1804-1、1804-2、1804-3、1804-4和1804-5,数据流1802用于来自分布式温度传感器(1到5)1828、1830、1832、1834和1836的温度测量结果1802-1、1802-2、1802-3、1802-4和1802-5。

图76描绘了允许计算机控制龙头注入水槽(或炊具)中的水的流速、温度和压力的计算机控制龙头1850。龙头由控制单元1862控制,其接收单独的数据流1862(数据1)、1864(数据2)和1866(数据3),它们对应于提供数据1的水流速传感器1868、提供数据2的温度传感器1870以及提供数据3感测数据的水压传感器1872。然后,控制单元1862控制冷水1874和热水1878的供应,适当的冷水温度和压力数字显示在显示器1876上,适当的热水温度和压力数字显示在显示器1880上,从而实现龙头出水的期望压力、流速和温度。

图77通过俯视平面图描绘了仪器化和标准化的机器人厨房50的实施例。标准化机器人厨房被划分为三个层,即顶层1292-1、柜台层1292-2和下层1292-3,每一层含有的设备和器具具有集成安装的传感器1884a、1884b、1884c和计算机控制单元1886a、1886b、1886c。

顶层1292-1含有具有不同单元的多个橱柜型模块,其通过内置的器具和设备执行特定的厨房功能。在最简单的水平上,包括具有硬自动化食材分配器1305的搁板/橱柜储存区域1304、用于存放和获取烹饪工具和器具以及其他烹饪和上菜用具(烹饪、烘焙、装盘等)的橱柜体积1296、用于特定食材(例如,水果和蔬菜等)的存放成熟(ripening)的橱柜体积1298、用于诸如莴苣和洋葱之类的物项的冷藏储存区1300、用于深度冷冻物项的冷冻存放橱柜体积1302、以及用于其他食材和很少使用的香料等的另一存放食品柜区1304。顶层内的每个模块含有传感器单元1884a,其直接地或者通过一个或多个中央或分布式控制计算机提供数据给一个或多个控制单元1886a,以允许计算机控制的操作。

柜台层1292-2不仅容纳有监视传感器1884b和控制单元1886b,而且还包括上菜柜台1306、具有水槽的柜台区域1308、具有可移动工作表面(切/斩案板等)的另一柜台区域1310、炭基板条式烤架1312、以及用于其他烹饪器具的多用途区域1314,所述其他烹饪器具包括炉子、煮锅、蒸锅和炖蛋锅。柜台层内的每个模块含有传感器单元1884b,其直接地或者通过一个或多个中央或分布式控制计算机提供数据给一个或多个控制单元1886b,以允许计算机控制的操作。

下层1292-3容纳组合对流烤箱和微波炉以及蒸锅、炖蛋锅和烤架1316、洗碗机1318、以及较大橱柜体积1320,较大橱柜体积1320保持和存放其他频繁使用的烹饪和烘焙用具以及餐具、扁平餐具、用具(搅拌器、刀等)和刀具。下层内的每个模块含有传感器单元1884c,其直接地或者通过一个或多个中央或分布式控制计算机提供数据给一个或多个控制单元1886c,以允许计算机控制的操作。

图78描绘了机器人厨房烹饪系统50的一实施例的透视图,其具有从上到下布置的不同层,每个层配备有多个分布式传感器单元1892,传感器单元1892直接向一个或多个控制单元1894馈送数据,或者向一个或多个中央计算机馈送数据,中央计算机又使用和处理这些感测数据,然后命令一个或多个控制单元376按其命令工作。

顶层1292-1含有具有不同单元的多个橱柜型模块,其通过内置的器具和设备执行特定的厨房功能。在最简单的层级上,搁板/橱柜储存柜体积1294包括用于存放和获取烹饪工具和器具以及其他烹饪和上菜用具(烹饪、烘焙、装盘等)的橱柜体积1296、用于特定食材(例如,水果和蔬菜等)的存放成熟(ripening)的橱柜体积1298、用于诸如莴苣和洋葱之类的物项的冷藏储存区88、用于深度冷冻物项的冷冻存放橱柜体积1302、以及用于其他食材和很少使用的香料等的另一存放食品柜区1294。顶层内的每个模块含有传感器单元1892,其直接地或者通过一个或多个中央或分布式控制计算机提供数据给一个或多个控制单元1894,以允许计算机控制的操作。

柜台层1292-2不仅容纳有监视传感器1892和控制单元1894,而且还包括具有水槽和电子龙头的柜台区域1308、具有可移动工作表面(切/斩案板等)的另一柜台区域1310、炭基板条式烤架1312、以及用于其他烹饪器具的多用途区域1314,所述其他烹饪器具包括炉子、煮锅、蒸锅和炖蛋锅。柜台层内的每个模块含有传感器单元1892,其直接地或者通过一个或多个中央或分布式控制计算机提供数据给一个或多个控制单元1894,以允许计算机控制的操作。

下层1292-3容纳组合对流烤箱和微波炉以及蒸锅、炖蛋锅和烤架1316、洗碗机1318、硬自动化控制食材分配器1305、以及较大橱柜体积1310,较大橱柜体积1310保持和存放其他频繁使用的烹饪和烘焙用具以及餐具、扁平餐具、用具(搅拌器、刀等)和刀具。下层内的每个模块含有传感器单元1892,其直接地或者通过一个或多个中央或分布式控制计算机提供数据给一个或多个控制单元1896,以允许计算机控制的操作。

图79是示出机器人厨房根据标准化机器人厨房中先前记录的一条或多条参数曲线来制备菜肴的处理的第二实施例1900的流程图。在步骤1902,用户通过计算机选择特定菜谱以供机器人设备75制备食物菜肴。在步骤1904,机器人食物制备引擎配置为检索用于食物制备的选定菜谱的抽象菜谱。在步骤1906,机器人食物制备引擎配置为将选定菜谱脚本上载到计算机存储器中。在步骤1908,机器人食物制备引擎计算食材可得性。在步骤1910,机器人食物制备引擎配置为根据选定菜谱和上菜安排评估是否存在制备菜肴所需食材的缺失或不足。机器人食物制备引擎在步骤1912中发出警报以将缺失或不够的食材放到购物清单上,或者选择替代菜谱。在步骤1914中确认用户所做的菜谱选择。在步骤1916,机器人食物制备引擎配置为向用户发出机器人指令,以将食物或食材放到标准化容器内,并将其移到适当的食物制备位置。在步骤1918,为用户提供选择实时视频监视器投影的选项(在专用监视器上或者全息的基于激光的投影上),从而能够视觉观看菜谱复现处理的每个和所有步骤,所述菜谱复现处理是基于被记录并且此时被重放的厨师执行的所有活动和处理的。在步骤1920,机器人食物制备引擎配置为允许用户在其选择的对标准化机器人厨房的计算机化控制系统加电的起始时间“0”开始食物制备。在步骤1922,用户基于监视器/投影屏幕上人类厨师的整个菜谱创建处理的重放执行对厨师的所有动作的复现,由此将半成品移至指定炊具和器具或者中间储存容器,以供后面使用。在步骤1924,标准化厨房中的机器人设备75根据厨师在厨师工作室的标准化机器人厨房中执行菜谱制备处理中的同一步骤时感测到的数据曲线或基于当时记录的烹饪参数执行各个处理步骤。在步骤1926,机器人食物制备的计算机在温度、压力和湿度方面控制所有的炊具和器具设置,从而基于厨师在厨师工作室标准化机器人厨房内制备菜谱时捕获并保存的数据复现在整个烹饪时间所要求的数据曲线。在步骤1928,用户进行所有简单动作以复现厨师的步骤和处理动作,如通过经由监视器或投影屏幕转达给用户的音频和视频指令而显见的那样。在步骤1930,在完成了基于感测曲线或参数集的特定烹饪步骤时,机器人厨房的烹饪引擎向用户发出警报。一旦用户和计算机控制器的交互使得菜谱的所有烹饪步骤都得以完成,机器人烹饪引擎就在步骤1932发送终止复现处理的计算机控制部分的请求。在步骤1934,用户移动所完成的菜谱菜肴,将其装盘并上菜,或者手动地继续任何剩余的烹饪步骤或处理。

图80示出厨师工作室内的感测数据捕获处理1936的一实施例。第一步骤1938是厨师创建或设计菜谱。下一步骤1940要求厨师向机器人烹饪引擎输入菜谱的名称、食材、度量和处理描述。厨师在步骤1942中开始将所有所需食材加载到指定的标准化储存容器、器具内,并选择适当的炊具。下一步骤1944涉及厨师设置起始时间并启动感测和处理系统以记录所有感测到的原始数据并允许对其进行处理。一旦厨师在步骤1946中开始烹饪,所有的嵌入监视传感器单元和器具就向中央计算机系统报告和发送原始数据,从而允许其在整个烹饪处理1948中实时记录所有相关数据。还在步骤1950中将额外的烹饪参数和可听厨师评述记录并存储为原始数据。作为步骤1952的一部分,机器人烹饪模块抽象化(软件)引擎处理所有原始数据,包括二维和三维几何运动以及对象识别数据,以生成机器可读可执行的烹饪脚本。在厨师完成了厨师工作室菜谱创建和烹饪处理之后,机器人烹饪引擎生成模拟可视化程序1954,其复制用于远程标准化机器人厨房系统的后续菜谱复现的活动和媒体数据。在原始的和经处理的数据以及厨师对模拟菜谱执行可视化的确认的基础上,在步骤1956中,针对不同的(移动)操作系统开发并集成硬件特定的应用,并将其提交给在线软件应用商店和/或市场,以供直接的单菜谱用户购买或通过订购模型实施的多菜谱购买。

图81描绘了家庭机器人烹饪处理1960的处理和流程。第一步骤1962涉及用户选择菜谱以及获取数字形式的菜谱。在步骤1964,机器人烹饪引擎接收菜谱脚本,其含有用于烹饪所选菜谱的机器可读命令。在步骤1966,菜谱被上载至机器人烹饪引擎,脚本被置于存储器中。一旦存储,步骤1968就计算必要的食材并确定其可用性。在逻辑检查1970中,系统在步骤1972判断是要警告用户或者发送建议,督促向购物清单添加缺失的物项或者建议替代菜谱以适应可用的食材,还是在有足够的食材可用的情况下继续进行。一旦在步骤1974中检验了食材的可用性,系统就确认菜谱,并在步骤1976中询问用户,从而将所需食材放到指定标准化容器中,所述指定标准化容器位于厨师最初开始菜谱创建处理(在厨师工作室内)时所处的位置处。在步骤1978,提示用户设定烹饪处理的起始时间,并将烹饪系统设置为继续工作。在开动后,机器人烹饪系统根据菜谱脚本数据文件中提供的感测曲线和烹饪参数数据实时地开始烹饪处理的执行1980。在烹饪处理1982中,为了复现最初在厨师工作室菜谱创建处理中捕获并保存的感测曲线和参数数据文件,计算机控制所有的器具和设备。在完成烹饪处理后,机器人烹饪引擎在步骤1984中基于判定已经完成了烹饪处理而发送提醒。接下来,机器人烹饪引擎向计算机控制系统发送终止请求1986以终止整个烹饪处理,并且在步骤1988,用户从柜台上移动菜肴,从而上菜,或者以人工方式继续任何剩余的烹饪步骤。

图82描绘了具有命令、视觉监视模块1990的标准化机器人食物制备厨房系统50的一实施例。计算机16运行机器人烹饪(软件)引擎56,机器人烹饪(软件)引擎56包括对来自菜谱脚本的记录、分析和抽象的感测数据进行处理的烹饪操作控制模块1692、视觉命令监视模块1990、以及用于存储包括感测曲线和参数数据的软件文件的相关储存介质和存储器1684,计算机16与多个外部装置接口连接。这些外部装置包括但不限于仪器化厨房工作柜台90、可伸缩安全玻璃68、仪器化龙头92、具有嵌入式传感器的烹饪器具74、具有嵌入式传感器的炊具1700(存放在搁板上或橱柜内)、标准化容器和食材储存单元78、计算机监视和计算机控制储存单元88、对原料食物质量和供应的处理进行相关报告的多个传感器1694、用于分配食材的硬自动化模块82、以及操作控制模块1692。

图83在俯视平面图中描绘了具有一个或多个机器臂70的充分仪器化的机器人厨房2000的实施例。标准化机器人厨房被划分为三个层,即顶层1292-1、柜台层1292-2和下层1292-3,每个层含有的设备和器具具有集成安装的传感器1884a、1884b、1884c和计算机控制单元1886a、1886b、1886c。

顶层1292-1含有具有不同单元的多个橱柜型模块,其通过内置的器具和设备执行特定的厨房功能。在最简单的层级上,其包括用于存放和获取烹饪工具和器具以及其他烹饪和上菜用具(烹饪、烘焙、装盘等)的橱柜体积1296、用于特定食材(例如,水果和蔬菜等)的存放成熟(ripening)的橱柜体积1298、硬自动化控制食材分配器1305、用于诸如莴苣和洋葱之类的物项的冷藏储存区1300、用于深度冷冻物项的冷冻存放橱柜体积1302、以及用于其他食材和很少使用的香料等的另一存放食品柜区1304。顶层内的每个模块含有传感器单元1884a,其直接地或者通过一个或多个中央或分布式控制计算机提供数据给一个或多个控制单元1886a,以允许计算机控制的操作。

柜台层1292-2不仅容纳有监视传感器1884和控制单元1886,而且还包括一个或多个机器臂、腕和多指手72、上菜柜台1306、具有水槽的柜台区域1308、具有可移动工作表面(切/斩案板等)的另一柜台区域1310、炭基板条式烤架1312、以及用于其他烹饪器具的多用途区域1314,所述其他烹饪器具包括炉子、煮锅、蒸锅和炖蛋锅。在该实施例中,一对机器臂70和手72操作为在一个或多个中央或分布式控制计算机的控制下执行特定任务,以允许计算机控制的操作。

下层1292-3容纳组合对流烤箱和微波炉以及蒸锅、炖蛋锅和烤架1316、洗碗机1318、以及较大橱柜体积1320,较大橱柜体积1320保持和存放其他频繁使用的烹饪和烘焙用具以及餐具、扁平餐具、用具(搅拌器、刀等)和刀具。下层内的每个模块含有传感器单元1884c,其直接地或者通过一个或多个中央或分布式控制计算机提供数据给一个或多个控制单元1886c,以允许计算机控制的操作。

图84在透视图中描绘了充分仪器化的机器人厨房2000的实施例,其中叠加的坐标系指定了x轴1322、y轴1324和z轴1326,将在该坐标系内相对于原点(0,0,0)定义和参照所有的活动和位置。标准化机器人厨房被划分为三个层,即顶层、柜台层和下层,每个层含有的设备和器具具有集成安装的传感器1884和计算机控制单元1886。

顶层含有具有不同单元的多个橱柜型模块,其通过内置的器具和设备执行特定的厨房功能。

在最简单的水平上,顶层包括用于存放和获取标准化烹饪工具和器具以及其他烹饪和上菜用具(烹饪、烘焙、装盘等)的橱柜体积1294、用于特定食材(例如,水果和蔬菜等)的存放成熟的橱柜体积1298、用于诸如莴苣和洋葱之类的物项的冷藏储存区1300、用于深度冷冻物项的冷冻存放橱柜体积86、以及用于其他食材和很少使用的香料等的另一存放食品柜区1294。顶层内的每个模块含有传感器单元1884a,其直接地或者通过一个或多个中央或分布式控制计算机提供数据给一个或多个控制单元1886a,以允许计算机控制的操作。

柜台层不仅容纳有监视传感器1884和控制单元1886,而且还包括一个或多个机器臂、腕和多指手72、具有水槽和电子龙头的柜台区域1308、具有可移动工作表面(切/斩案板等)的另一柜台区域1310、炭基板条式烤架1312、以及用于其他烹饪器具的多用途区域1314,所述其他烹饪器具包括炉子、煮锅、蒸锅和炖蛋锅。一对机器臂70和分别相关的机器手在一个或多个中央或分布式控制计算机的指导下执行特定任务,以允许计算机控制的操作。

下层容纳组合对流烤箱和微波炉以及蒸锅、炖蛋锅和烤架1315、洗碗机1318、硬自动化控制食材分配器82(未示出)、以及较大橱柜体积1310,较大橱柜体积1310保持和存放其他频繁使用的烹饪和烘焙用具以及餐具、扁平餐具、用具(搅拌器、刀等)和刀具。下层内的每个模块含有传感器单元1884c,其直接地或者通过一个或多个中央或分布式控制计算机提供数据给一个或多个控制单元1886c,以允许计算机控制的操作。

图85在俯视平面图中描绘了具有命令、视觉监视模块或装置1990的仪器化且标准化的机器人厨房50的实施例。标准化机器人厨房被划分为三个层,即顶层、柜台层和下层,顶部和下部层级包含具有集成安装的传感器1884和计算机控制单元1886的设备和器具,柜台层级配备有一个或多个命令和可视监视装置2022。

顶层1292-1含有具有不同单元的多个橱柜型模块,其通过内置的器具和设备执行特定的厨房功能。在最简单的层级上,顶层包括用于存放和获取标准化烹饪工具和器具以及其他烹饪和上菜用具(烹饪、烘焙、装盘等)的橱柜体积1296、用于特定食材(例如,水果和蔬菜等)的存放成熟的橱柜体积1298、用于诸如莴苣和洋葱之类的物项的冷藏储存区1300、用于深度冷冻物项的冷冻存放橱柜体积1302、以及用于其他食材和很少使用的香料等的另一存放食品柜区1304。顶层内的每个模块含有传感器单元1884,其直接地或者通过一个或多个中央或分布式控制计算机提供数据给一个或多个控制单元1886,以允许计算机控制的操作。

柜台层1292-2不仅容纳有监视传感器1884和控制单元1886,而且还包括可视命令监视装置2020,同时还包括上菜柜台1306、具有水槽的柜台区域1308、具有可移动工作表面(切/斩案板等)的另一柜台区域1310、炭基板条式烤架1312、以及用于其他烹饪器具的多用途区域1314,所述其他烹饪器具包括炉子、煮锅、蒸锅和炖蛋锅。柜台层内的每个模块含有传感器单元1884,其直接地或者通过一个或多个中央或分布式控制计算机提供数据给一个或多个控制单元1886,以允许计算机控制的操作。此外,一个或多个可视命令监视装置1990也设置在柜台层内以用于监视人类厨师在工作室厨房中的以及机器臂或人类用户在标准化机器人厨房中的可视操作,其中数据被馈送给一个或多个中央或分布式计算机以供处理,随后校正性或支持性反馈以及命令被发送回到机器人厨房以用于显示或依照脚本来执行。

下层1292-3容纳组合对流烤箱和微波炉以及蒸锅、炖蛋锅和烤架1316、洗碗机1318、硬自动化控制食材分配器86(未示出)、以及较大橱柜体积1320,较大橱柜体积1320保持和存放其他频繁使用的烹饪和烘焙用具以及餐具、扁平餐具、用具(搅拌器、刀等)和刀具。下层内的每个模块含有传感器单元1884,其直接地或者通过一个或多个中央或分布式控制计算机提供数据给一个或多个控制单元1886,以允许计算机控制的操作。在该实施例中,硬自动化食材分配器1305设计在下层1292-3中。

图86在透视图中描绘了充分仪器化的机器人厨房2020的实施例。标准化机器人厨房被划分为三个层,即顶层、柜台层和下层,顶和下层包含具有集成安装的传感器1884和计算机控制单元1886的设备和器具,柜台层配备有一个或多个命令和可视监视装置2022。

顶层含有具有不同单元的多个橱柜型模块,其通过内置的器具和设备执行特定的厨房功能。在最简单的层级上,顶层包括用于存放和获取标准化烹饪工具和器具以及其他烹饪和上菜用具(烹饪、烘焙、装盘等)的橱柜体积1296、用于特定食材(例如,水果和蔬菜等)的存放成熟的橱柜体积1298、用于诸如莴苣和洋葱之类的物项的冷藏储存区1300、用于深度冷冻物项的冷冻存放橱柜体积86、以及用于其他食材和很少使用的香料等的另一存放食品柜区1294。顶层内的每个模块含有传感器单元1884,其直接地或者通过一个或多个中央或分布式控制计算机提供数据给一个或多个控制单元1886,以允许计算机控制的操作。

柜台层1292-2不仅容纳有监视传感器1884和控制单元1886,而且还包括可视命令监视装置1316,同时还包括具有水槽和电子龙头的柜台区域1308、具有可移动工作表面(切/斩案板等)的另一柜台区域1310、炭基板条式烤架1312、以及用于其他烹饪器具的多用途区域1314,所述其他烹饪器具包括炉子、煮锅、蒸锅和炖蛋锅。柜台层内的每个模块含有传感器单元1184,其直接地或者通过一个或多个中央或分布式控制计算机提供数据给一个或多个控制单元1186,以允许计算机控制的操作。此外,一个或多个可视命令监视装置(未示出)也设置在柜台层内以用于监视人类厨师在工作室厨房中的以及机器臂或人类用户在标准化机器人厨房中的可视操作,其中数据被馈送给一个或多个中央或分布式计算机以供处理,随后校正性或支持性反馈以及命令被发送回到机器人厨房以用于显示或依照脚本来执行。

下层1292-3容纳组合对流烤箱和微波炉以及蒸锅、炖蛋锅和烤架1316、洗碗机1318、硬自动化控制食材分配器86(未示出)、以及较大橱柜体积1309,较大橱柜体积1309保持和存放其他频繁使用的烹饪和烘焙用具以及餐具、扁平餐具、用具(搅拌器、刀等)和刀具。下部层级内的每个模块含有传感器单元1307,其直接地或者通过一个或多个中央或分布式控制计算机提供数据给一个或多个控制单元376,以允许计算机控制的操作。

图87a描绘了标准化机器人厨房系统48的另一实施例。计算机16运行机器人烹饪(软件)引擎56和用于存储菜谱脚本数据以及感测曲线和参数数据文件的存储器模块52,计算机16与多个外部装置接口连接。这些外部装置包括但不限于仪器化的机器人厨房站2030、仪器化的上菜站2032、仪器化的洗涤清洁站2034、仪器化的炊具2036、计算机监视和计算机控制的烹饪器具2038、专用工具和用具2040、自动化搁板站2042、仪器化的储存站2044、食材取回站2046、用户控制台界面2048、双机器臂70和机器手72、分配食材的硬自动化模块1305、以及可选的厨师记录装置2050。

图87b在平面图中描绘了机器人厨房烹饪系统2060的一实施例,其中人形机2056(或厨师49、家庭烹饪用户或商业用户60)能够通过从机器人厨房模块2058周围接近搁板而从多个侧面(这里示出四个)访问各个烹饪站,其中人形机将在机器人食物制备厨房系统2060周围走动,如图87b所示。中央储存站2062为在不同温度(冷藏/冷冻)保存的各种食物提供不同的储存区域以保持最佳新鲜度,允许从所有侧面访问该储存站。沿当前实施例的方形布置的周边,人形机2052、厨师49或用户60能够访问具有模块的各个烹饪区域,所述模块包括但不限于用于实施菜谱并且对处理进行监督的用户/厨师控制台2064、包括扫描器、摄像机和其他食材表征系统的食材访问站2066、用于炊具/烘焙用具/餐具的自动搁板站2068、至少包括水槽和洗碗机单元的洗涤清洁站2070、用于食物或食材制备当中采用的特定技术所需的专门工具的专门工具和用具站2072、用于使上菜盘温暖或冰冷的保温站2074、以及包括多个器具的烹饪器具站2076,所述器具包括但不限于烤箱、炉子、烤架、蒸锅、炸锅、微波炉、混合器、脱水器等。

图87c描绘了机器人厨房2058的相同实施例的透视图,允许人形机2056(或厨师49、用户60)从至少四个不同侧面获得对多个烹饪站和设备的访问。中央储存站2062为在不同温度(冷藏/冷冻)保存的各种食物提供不同的储存区域以保持最佳新鲜度,允许从所有侧面访问该储存站,并且位于上层。用于炊具/烘焙用具/餐具的自动搁板站2068位于中央储存站2062下面的中间层。在下层处,烹饪站和设备的布置被定位成包括但不限于用于实施菜谱并且对处理进行监督的用户/厨师控制台2064、包括扫描器、摄像机和其他食材表征系统的食材访问站2060、用于炊具/烘焙用具/餐具的自动搁板站2068、至少包括水槽和洗碗机单元的洗涤清洁站2070、用于食物或食材制备当中采用的特定技术所需的专门工具的专门工具和用具站2072、用于使上菜盘温暖或冰冷的保温站2074、以及包括多个器具的烹饪器具站2076,所述器具包括但不限于烤箱、炉子、烤架、蒸锅、炸锅、微波炉、混合器、脱水器等。

图88是示出机器人人类模拟器电子知识产权(ip)库2100的框图。机器人人类模拟器电子ip库2100覆盖机器人设备75用作复现人的特定技能集合的手段的各种构思。更具体而言,包含一双机器手70和机器臂72的机器人设备75用于复现一组具体人类技能。通过某种方式,从人工到智能的转移能利用人的手来捕获,之后机器人设备75复现所记录动作的精确动作,获得相同的结果。机器人人类模拟器电子ip库2100包括机器人人类烹饪技能复现引擎56、机器人人类绘画技能复现引擎2102、机器人人类乐器技能复现引擎2104、机器人人类护理技能复现引擎2106、机器人人类情感识别引擎2108、机器人人类智能复现引擎2110、输入/输出模块2112以及通信模块2114。将关于图89、90、91、92和93描述机器人人类情感识别引擎1358。

图89是机器人人类情感引擎识别(或响应)引擎2108,其包括通过总线2120耦接至应用块的训练块。训练块含有人类输入刺激模块2122、传感器模块2124、人类情感响应模块(以输入刺激)2126、情感响应记录模块2128、质量检查模块2130和学习机模块2132。应用块含有输入分析模块2134、传感器模块2136、响应生成模块2138和反馈调整模块2140。

图90是示出机器人人类情感(计算机操作的)引擎2108中的机器人人类情感方法250的处理和逻辑流的流程图。在其第一步骤2151,(软件)引擎接收来自与人的感官类似的各种源的感测输入,包括来自周围环境的视觉、可听反馈、触觉和嗅觉传感器数据。在判定步骤2152,做出是否创建运动反射的判定,其要么将导致反射运动2153,要么如果不需要反射运动则执行步骤2154,其中将基于存储在存储器中的信息或模式(pattern)识别具体输入信息或者其模式或组合,其随后被转换为抽象或符号表示。通过基于经验的智能环序列对抽象和/或符号信息进行处理。另一判定步骤2156基于已知的预定义行为模式判断是否应采取运动反应2157,如果否,则进行步骤2158。在步骤2158,通过具有从内部存储器提供的输入的另一层情感和心情反应行为环处理抽象和/或符号信息,其可以是通过学习而形成的。情感被分解为数学形式并编程到机器人中,其具有可被描述的机制和可被度量和分析的量(例如,在捕获面部表情时分析微笑多快形成和持续多久来将真实微笑和礼貌性微笑区分开,或者基于扬声器的音质来检测情感,其中计算机测量语音的音高、能量和音量以及从某一时刻到下一时刻的音量和音高的波动)。因而,将存在某些可识别并且可度量的对情感表达的量度(metrics),其中动物行为或人类说唱声音的这些量度将具有可识别并且可测量的相关情感属性。基于这些可识别可度量的量度,情感引擎能够做出有关采取哪种行为的判定,不管其是预先学习的还是新学习的。在存储器中更新所采取或执行的行为及其实际结果,并将其添加到经验个性和自然行为数据库2160中。在接下来的步骤2161中,经验个性数据被转换为更人类特定的信息,该信息然后允许他或她执行规定的或所导致的运动2162。

图91a-91c是示出用激素、信息素和其他参数将人的情感简档与情感简档族群进行比较的处理2180的流程图。图91a描绘了情感简档应用的处理2182,其中从用户的一般简档2184监视和提取人的情感参数,并且基于刺激输入,参数值从由一段时间线导出的基线值变化,其被取得并与在类似条件下存在的更大组的那些进行比较。机器人人类情感引擎2108配置为从中央数据库中现有组中的一般情感简档提取参数。通过监视在定义条件下(利用刺激输入)人的情感参数,每个参数值从基线变化到由一段时间线导出的当前平均值。将用户的数据与在相同情感简档或条件下的大组上获得的现有简档进行比较,其通过向下分组(degrouping)过程,可以确定情感和情感强度水平。一些潜在的应用包括机器人陪伴、约会服务、电子学习、检测蔑视、产品市场接受度、孩子的未治疗的疼痛、以及自闭症儿童。在步骤2186,基于一个或多个标准参数进行第一级向下分组(degrouping)(例如,基于具有相同情感参数的人的变化速度进行向下分组)。所述处理通过进一步的情感参数比较步骤来继续情感参数向下分组和分离,如图92a所示,进一步的情感参数比较步骤可包括由一组信息素、一组微表情2223、人的心率和排汗2225、瞳孔扩张2226、所观测到的反射运动2229、对总体身体温度的感知2224以及所觉察到的情境压力或反射运动2229表示的后续级。然后,向下分组了的情感参数被用于确定类似参数群组1815,以供比较目的。在替代实施例中,向下分组处理可以如所示的那样进一步细化到基于一个或多个第二判别参数(criteriaparameter)的第二级向下分组2187以及基于一个或多个第三判别参数的第三级向下分组2188。

图91b描绘了所有的单独情感群组,例如,诸如愤怒之类的直接情感2190、诸如恐惧之类的二级情感2191,一直到n种实际情感2192。之后,下一步骤2193根据相关情感简档数据计算每组中的相关情感,得到情感状态的强度级的评估2194,其允许引擎然后决定适当的动作2195。

图91c描绘了大量情感简档开发和学习的自动化处理2200。该处理涉及从各种来源接收新的多来源情感简档和状况输入2202,以及对简档/参数数据变化的相关质量检查2208。在步骤2204中存储多个情感简档数据,并且使用多种机器学习技术2206执行在中央数据库中对每一简档和数据集进行分析并且将其分类成具有匹配的集合(子集)的各种群组的迭代循环2210。

图92a是示出通过监视一组激素、一组信息素以及其他关键参数而对人的情感状态所做的情感检测和分析2220的框图。可以通过在具有内部和/或外部刺激的限定条件下监视和分析人的生理指征并且评估这些生理指征在某一时间线上如何变化来检测人的情感状态。向下分组处理的一实施例是基于一个或多个关键参数(例如,基于具有相同情感参数的人的变化速度进行向下分组)。

在一实施例中,可以基于统计分类器通过机器学习检测情感简档,在统计分类器中输入是信息素、激素或诸如视觉或听觉线索之类的其他特征的任何测定水平。如果该组特征是被表示为向量的{x1,x2,x3,...xn},y表示情感状态,那么情感检测统计分类器的一般形式为:

其中函数f是决策树、神经网络、逻辑回归量或机器学习文献中描述的其他统计分类器。第一项使经验误差(在训练分类器时检测到的误差)最小化,第二项使复杂性(例如,奥卡姆剃刀定律)最小化,找到最简函数以及用于该函数得到预期结果的参数集p。

此外,为了判定哪些信息素或其他特征对预测情感状态产生最大差异(添加最大值),可以增加主动学习标准,其一般表示为:

其中,l是“损失函数”,f是与先前的公式中相同的统计分类器,带帽的y是已知结果。我们衡量统计分类器是否通过添加新特征而具有更好的性能(更小的损失函数),如果是,则保留这些特征,否则不保留。

通过检测从某一时刻到下一时刻的变化或变换,可以对随时间演变的参数、值和量进行评估以创建人类情感简档。对于情感表达而言,存在可识别的量。具有对其环境进行响应的情感的机器人可以做出更快更有效的决策,例如,在机器人受到恐惧、高兴或渴求促动时,其可能做出更好的决策,并且更有效地并且高效率地获得目标。

机器人情感引擎单独地或者组合地复现人类激素情感和信息素情感。激素情感是指人体内的激素如何变化以及其如何影响人的情感。信息素情感是指人体外的影响人的情感的信息素,例如气味。可以通过理解和分析激素和信息素情感构建人的情感简档。机器人情感引擎尝试采用传感器检测人的激素和信息素简档来理解人的情感,例如,愤怒和恐惧。

要测量九种关键生理指征参数来建立人的情感简档:(1)在体内隐匿的、触发引起某些作用的各种生化途径的激素2221的集合,例如,肾上腺素和胰岛素都是激素;(2)外部隐匿的、以类似方式对其他人具有影响的信息素2222的集合,例如,雄甾烯醇、雄烯酮和费洛蒙酮;(3)微表情2223,其为人根据所经历的情感表现出的简短的不自觉的面部表情;(4)心率2224或心跳,例如,在人的心率提高时;(5)出汗2225(例如,鸡皮疙瘩),例如,在兴奋或紧张的状态下面部泛红和手掌出汗;(6)瞳孔扩张2226(以及虹膜括约肌、胆管括约肌),例如,瞳孔响应于恐惧的感觉而短时间扩张;(7)反射性运动v7,其为响应于外界刺激而产生的主要受到脊髓反射弧控制的活动/动作,例如,下颌反射;(8)体温2228;(9)压力2229。有关这些参数在某一时间2231如何变化的分析2230可以揭示人的情感状态和简档。

图92b是示出机器人围绕人的情感行进行评估和学习的框图。借助于内部刺激2242和/或外界刺激2244对参数读数进行分析2240并将其划分成情感和/或非情感响应,例如,瞳孔对光的反射仅处于脊髓的层级上,在人处于愤怒、疼痛或恋爱中时瞳孔尺寸可能发生变化,而不自觉的反应一般还涉及大脑。中枢神经系统兴奋剂和某些致幻药物的使用可能引起瞳孔放大。

图93是示出人体内植入的用于检测和记录人的情感简档的端口装置2230的框图。在测量生理指征变化时,人可通过在情感变化开始时按下具有第一标签的按钮,在情感变化结束时再触摸具有第二标签的按钮来监视和记录一时间段的情感简档。这一处理使计算机能够基于情感参数的变化评估和学习人的情感简档。借助于从大量用户收集到的数据/信息,计算机对与每种情感有关的所有变化进行分类,并且从数学上找到可归因于特定情感特性的重要并且具体的参数变化。

在用户经历情感或心情波动时,能够借助于连接至人体(在皮肤上且直接至静脉)的端口检测和记录诸如激素、心率、排汗、信息素之类的生理参数。可以由人自己随着情感状态的变化而确定情感变化的起始时间和终止时间。例如,人在一周之内启动了四个人工情感周期并且创建了四条时间线,如该人所确定的,第一个周期从其标记为开始的时间到其标记为结束的时间持续了2.8小时。第二个周期持续了2小时,第三个周期持续了0.8小时,第四个周期持续了1.6小时。

图94a描绘了机器人人类智能引擎2250。在复现引擎1360中,存在两个主要的块,包括训练块和应用块,两者均含有多个额外的模块,这些模块通过公共模块间通信总线2252彼此互连。人类智能引擎的训练块进一步包含若干模块,包括但不限于传感器输入模块2522、人类输入刺激模块2254、对输入刺激做出反应的人类智能响应模块2256、智能响应记录模块2258、质量检查模块2260以及学习机模块2262。人类智能引擎的应用块进一步包括若干模块,包括但不限于输入分析模块2264、传感器输入模块2266、响应生成模块2268以及反馈调整模块2270。

图94b描绘了机器人人类智能系统2108的架构。该系统被划分成认知机器人代理和人类技能执行模块。两模块共享感测反馈数据2109以及感测到的运动数据和模型化运动数据。认知机器人代理模块包括但不一定限于表示知识数据库2282的模块,其与调整和修订模块2286互连,两模块均通过学习模块2288来更新。已有知识2290被馈送到执行监视模块2292中,并且已有知识2294被馈送到自动化分析和推理模块2296中,两模块均从人类技能执行模块接收感测反馈数据2109,两者还向学习模块2288提供信息。人类技能执行模块包括控制模块2209和模块2230两者,控制模块2209使其控制信号基于收集和处理多个反馈源(可视的和可听的),模块2230具有利用标准化设备、工具和附件的机器人。

图95a描绘了机器人绘画系统2102的架构。在这一系统中既包括工作室机器人绘画系统2332,又包括商业机器人绘画系统2334,两者通信连接以允许在单件购买的基础上或者在基于订购的支付的基础上将用于机器人绘画的软件程序文件或应用2336从工作室机器人绘画系统2332输送至商业机器人绘画系统2334。工作室机器人绘画系统2332包括(人类)绘画艺术家2337和计算机2338,计算机1443接口连接到运动和动作感测装置以及绘画框架捕获传感器,以捕获和记录艺术家的活动和处理,并将相关软件绘画文件存储到存储器2340中。商业机器人绘画系统2334包括用户2342和计算机2344,计算机2344具有机器人绘画引擎,该引擎能够与机器臂接口连接并且根据软件绘画文件或应用以及用于校准模拟模型的视觉反馈来控制机器臂以重建绘画艺术家2337的活动。

图95b描绘了机器人绘画系统架构2350。该架构包括计算机2374,其与多个外部装置接口连接,所述外部装置包括但不限于运动感测输入装置和触摸框架2354、标准化工作站2356(包括画架2384、洗涤池2360、美工脚架2362、贮存橱2364和材料容器2366(颜料、溶剂等))、以及标准化工具和附件(刷子、颜料等)2368、视觉输入装置(摄像机等)2370、以及一个或多个机器臂70和机器手(或至少一个抓爪)72。

计算机模块2374包括若干模块,所述模块包括但不限于与绘画活动模拟器2378接口连接的机器人绘画引擎2376、基于绘画执行处理的视觉反馈起作用的绘画控制模块2380、用于存储绘画执行程序文件的存储器模块2382、用于学习适当绘画工具的选择和使用的算法2384、以及扩展的模拟验证和校准模块2386。

图95c描绘了机器人人类绘画技能复现引擎2102。在机器人人类绘画技能复现引擎2102中,有多个额外模块,其全部通过公共的模块间通信总线2393彼此互连。复现引擎2102进一步含有若干模块,所述模块包括但不限于输入模块2392、绘画活动记录模块2394、辅助/额外感测数据记录模块2396、绘画活动编程模块2398、含有软件执行处理程序文件的存储器模块2399、基于所记录的传感器数据生成执行命令的执行处理模块2400、含有标准化绘画参数的模块2402、输出模块2404、以及(输出)质量检查模块2403,所有的模块均受到软件维护模块2406的监督。

下面定义美术平台标准化的一实施例。第一,美术平台中的任何种类的美术工具(刷子、颜料、画布等)的标准化位置和取向(xyz)。第二,每一美术平台中的标准化操作体积尺寸和架构。第三,每一美术平台中的标准化美术工具集合。第四,每一美术平台中采用操纵库的标准化机器臂和手。第五,每一美术平台中用于创建动态三维视觉数据以实现绘画记录和执行跟踪以及质量检查功能的标准化三维视觉装置。第六,特定绘画执行处理中所有使用颜料的标准化类型/制造商/品牌。第七,特定绘画执行处理中画布的标准化类型/制造商/品牌。

具有标准化美术平台的一主要目的是实现最初绘画者执行的绘画处理与后来机器人美术平台复现的绘画处理具有相同的结果(即,相同的绘画)。在标准化美术平台的使用当中要强调的几个要点是:(1)绘画者和自动化机器人执行具有相同的时间线(相同的操纵顺序、每一操纵有相同的起始和结束时间、在操纵之间以相同的速度移动对象);以及(2)存在质量检查(3d视觉、传感器)以避免在绘画处理中的每一操纵后产生任何失败结果。因此,如果绘画是在标准化美术平台上完成的,那么将降低不能取得相同结果的风险。如果采用非标准化美术平台,那么其将增大无法取得相同结果的风险(即,无法获得相同的绘画),因为如果在机器人美术平台中未与在绘画者工作室中在相同的体积内用相同的美术工具、颜料或画布执行绘画,那么可能需要调整算法。

图96a描绘了工作室绘画系统和程序商业化处理2410。第一步骤2451是人类绘画艺术家决定要在工作室机器人绘画系统中创作美术作品,其包括确定诸如主题、构成、媒体、工具和设备等问题。艺术家在步骤2452中将所有这些数据输入到机器人绘画引擎中,其后在步骤2453中艺术家根据需要和装置程序中的详细说明设立标准化工作站、工具和设备、附件和材料、以及运动和可视输入装置。艺术家在步骤2454中设置处理的起始点,并打开工作室绘画系统,而后艺术家开始实际绘画步骤2455。在步骤2456中,工作室绘画系统在整个绘画处理中在已知的xyz坐标系中实时地记录艺术家活动的运动和视频。之后,在步骤2457中存储在绘画工作室中收集到的数据,从而允许机器人绘画引擎基于所存储的活动和媒体数据生成模拟程序2458。在步骤2459,所创作绘画的机器人绘画程序文件或应用(app)被开发并被整合以供不同的操作系统和移动系统使用,并且被提交给app商店或其他市场位置以供销售,可以对其进行单次使用购买,也可基于订购来购买。

图96b描绘了机器人绘画引擎的逻辑执行流2460。作为第一步骤,用户在步骤2461选择绘画标题,在步骤2462中机器人绘画引擎接收所述输入。机器人绘画引擎在步骤2463中将绘画执行程序文件上载到板上存储器中,之后进行至步骤2464,计算所需工具和附件。检查步骤2465提供有关是否存在工具或附件和材料的短缺的答案;如果存在短缺,则系统向用户发送警报2466,或者发送购物清单或替代绘画的建议。如果不存在短缺,则引擎在步骤2467中确认选择,允许用户继续到步骤2468,该步骤包括使用绘画执行程序文件中包含的逐步指令设置标准化工作站、运动和视觉输入装置。一旦完成,机器人绘画引擎就执行检查步骤2469以验证适当的设置;如果通过步骤2470检测到错误,那么系统引擎将向用户发送错误警报2472,并且提示用户重新检查设置和校正任何所检测到的缺陷。如果检查通过,没有检测到任何错误,则在步骤2471中引擎将确认所述设置,从而允许其在步骤2473中提示用户设置起始点并对复现以及视觉反馈和控制系统加电。在步骤2474中,(多个)机器臂将执行绘画执行程序文件中指定的步骤,包括如绘画程序执行文件指定的那样以相同步调执行活动以及工具和设备的使用。视觉反馈步骤2475对照定义绘画处理的成功执行及其结果的受控参数数据监视绘画复现处理的执行。机器人绘画引擎还采取模拟模型验证步骤2476,从而提高复现处理的保真度,其目标是使整个复现处理达到如工作室绘画系统捕获和保存的那样相同的最终状态。一旦完成了绘画,就将向用户发送通知2477,包括所应用的材料(颜料、膏糊等)的干燥和固化时间。

图97a描绘了机器人人类乐器技能复现引擎2104。在机器人人类乐器技能复现引擎2104中,有多个附加模块,其全部通过公共的模块间通信总线2478彼此互连。复现引擎进一步包括若干模块,所述模块包括但不限于可听(数字)音频输入模块2480、人类乐器演奏活动记录模块2482、辅助/附加感测数据记录模块2484、乐器演奏活动编程模块2486、含有软件执行处理程序文件的存储器模块2488、基于所记录的传感器数据生成执行命令的执行处理模块2490、含有标准化乐器演奏参数(例如,步调、压力、角度等)的模块2492、输出模块2494、以及(输出)质量检查模块2496,所有模块都受软件维护模块2498监督。

图97b描绘了音乐家复现引擎2104执行的处理和逻辑流。一开始,在步骤2501中用户选择音乐曲目和/或作曲家,之后在步骤2502中询问是由机器人引擎做出所述选择还是通过与人交互做出所述选择。在用户在步骤2503中选择由机器人引擎来选择曲目/作曲家的情况下,引擎2104配置为在步骤2512中采用其自身的创造性解释,从而在步骤2504中向人类用户提供机会向选择处理提供输入。如果人类拒绝提供输入,则机器人音乐家引擎2104被配置为在步骤2519中采用设置,例如,对音调、音高和乐器以及旋律变化的人工输入,在步骤2520中收集所需输入,以在步骤2521中生成并上载所选的乐器演奏执行程序文件,在机器人音乐家引擎在步骤2522中确认了选择后,允许用户在步骤2523中选择偏好的文件。然后在步骤2524中将人类做出的选择作为个人选择存储到个人简档数据库中。如果人类在步骤2513中决定为所述询问提供输入,则用户将能够在步骤2513中向选择处理提供额外的情感输入(面部表情、照片、新闻文章等)。机器人音乐家引擎在步骤2515中接收来自步骤2514的输入,允许其进行至步骤2516,在该步骤中所述引擎执行与所有可用输入数据有关的感情分析,并基于适合人的情感输入数据的情绪和风格上载音乐选择。在机器人音乐家引擎在步骤2517中确认了上载的音乐选择之后,用户可以在步骤2518中选择“开始”按钮以演奏用于该选择的程序文件。

在人类想要密切参与曲目/作曲家选择的情况中,系统在步骤2503中在显示器上向人类提供所选曲目的表演者列表。在步骤25044中,用户选择期望的表演者,即系统在步骤2505中接收到的选择输入。在步骤2506中,机器人音乐家引擎生成并上载乐器演奏执行程序文件,并在步骤2507中进行到比较人类和机器人音乐家对特定乐器的演奏表现之间的潜在限制,由此允许计算潜在表现差距。检查步骤2508判断是否存在差距。如果存在差距,那么系统将在步骤2509中基于用户偏好简档建议其他选择。如果没有表现差距,那么机器人音乐家引擎将在步骤2510中确认所述选择,并允许用户进行至步骤2511,用户可选择“开始”按钮以播放用于该选择的程序文件。

图98描绘了机器人人类护理技能复现引擎2106。在机器人人类护理技能复现引擎2106中,有多个附加模块,其全部通过公共的模块间通信总线2521彼此互连。复现引擎2106进一步包含若干模块,所述模块包括但不限于输入模块2520、护理活动记录模块2522、辅助/附加感测数据记录模块2524、护理活动编程模块2526、含有软件执行处理程序文件的存储器模块2528、基于所记录的传感器数据生成执行指令的执行处理模块2530、含有标准化护理参数的模块2532、输出模块2534、以及(输出)质量检查模块2536,所有模块均受软件维护模块2538监督。

图99a描绘了机器人人类护理系统处理2550。第一步骤2551涉及用户(护理接受者或家属/朋友)为护理接受者建立帐户,提供个人数据(姓名、年龄、id等)。生物测定数据收集步骤2552涉及收集个人数据,包括面部图像、指纹、语音样本等。之后,用户在步骤2553中输入用于紧急联络的联系信息。机器人引擎在步骤2554中接收所有这些输入数据以建立用户帐户和简档。如果在步骤2555中确定用户未处于远程健康监视程序下,那么作为步骤2561的一部分,机器人引擎将帐户创建确认消息和自行下载手册文件/app发送给用户的平板电脑、tv、智能电话或将来用作基于触摸屏或语音的命令接口的其他装置。如果用户是远程健康监视程序的一部分,那么机器人引擎将在步骤2556中请求准许访问医疗记录。作为步骤2557的一部分,机器人引擎连接用户的医院和医师办公室、实验室以及医疗保险数据库以接收用户的病历、处方、治疗和就诊数据,并生成用于存储在用户特定文件内的医疗护理执行程序。作为下一步骤2558,机器人引擎与用户的任何和所有的可佩戴医疗装置(例如,血压监视器、脉搏和血氧传感器)连接,或甚至与电子控制药物分配系统(无论是口服的还是注射的)连接,从而允许进行连续监视。作为后续步骤,机器人引擎接收到医疗数据文件和感测输入,允许其在步骤2559中生成一个或多个针对该用户帐户的医疗护理执行程序文件。下一步骤2560涉及为用户信息、日常活动、相关参数以及任何过去或将来的医疗事件或预约建立安全的云存储数据空间。如之前在步骤2561中那样,机器人引擎将帐户创建确认消息和自行下载手册文件/app发给用户的平板电脑、tv、智能电话或将来用作基于触摸屏或语音的命令接口的其他装置。

图99b描绘了最初从图99a开始的机器人人类护理系统处理2250的继续,但是其现在涉及用户环境中物理存在的机器人。作为第一步骤2562,用户开启默认配置和位置(例如,充电站)的机器人。在任务2563中,机器人接收用户的基于语音或触摸屏的命令,从而执行一个具体的或一组命令或动作。在步骤2564中,机器人利用用户的语音和面部识别命令及线索、响应或行为,基于与用户的交互执行特定任务和活动,基于某些因素做出判决,所述因素例如为基于对特定或总体情况的了解的任务紧急性或任务优先度。在任务2565中,机器人执行对一个或多个物项的典型取回、抓住和运送,利用对象识别和环境感测、定位以及映射算法来优化沿无障碍路径的活动以完成任务,甚至可充当化身从而为用户提供音频/视频远程会议能力或者可与任何可控家用电器接口连接。在步骤2568,机器人基于感测输入和用户简档数据持续监视用户的医疗状况,并且监视潜在医疗危险状况的可能症状,同时在步骤2570具有将任何可能需要及时处理的状况通知给第一应答者或家属的能力。机器人在步骤2566中持续检查任何开放的或剩余的任务,并且时刻准备着对来自步骤2522的任何用户输入做出反应。

一般而言,可以考虑一种用于机器人系统的运动捕获和分析方法,其包括在人采用工作设备制备产品时通过多个机器人传感器感测人的活动的观测序列;在所述观测序列中检测与在制备产品的每个阶段中实施的活动序列对应的微操纵;将所感测到的观测序列转换为计算机可读指令,其用于对能够执行所述微操纵序列的机器人设备进行控制;至少将用于所述微操纵的指令序列存储到电子媒介上以用于获得所述产品。这可对多种产品重复。用于所述产品的微操纵序列优选存储为电子记录。所述微操纵可以是多阶段处理的抽象部分,例如,切割对象、加热对象(在烤箱内或者在炉子上用油或水加热)等。之后,所述方法还可以包括:将用于所述产品的电子记录传输至能够与人的初始动作对应地复现所存储的微操纵的序列的机器人设备。此外,所述方法还可包括通过机器人设备75执行用于获得该产品的微操纵的指令序列,由此获得基本上与人制备的原始产品一样的结果。

就另一个一般方面而言,可以考虑一种操作机器人设备的方法,包括提供用于标准微操纵的预编程指令的序列,其中,每一微操纵生成产品制备阶段内的至少一个可识别结果;在人采用设备制备产品的同时通过多个机器人传感器感测与人的活动对应的观测序列;在所述观测序列中检测标准微操纵,其中一微操纵对应于一个或多个观测,并且所述微操纵的序列对应于产品的制备;基于用于软件实现的方法将观测序列转变为机器人指令,所述软件实现的方法用于基于所感测的人的活动的序列识别预编程标准微操纵的序列,每个微操纵包含机器人指令的序列,机器人指令包括动态感测操作和机器人动作操作;将微操纵的序列及其对应的机器人指令存储到电子媒介中。优选地,产品的指令序列和对应的微操纵被存储为用于制备该产品的电子记录。这可以针对多种产品重复。所述方法还可以包括将所述指令的序列(优选以电子记录的形式)传输给能够复现和执行机器人指令序列的机器人设备。此外,所述方法还可以包括通过机器人设备执行用于该产品的机器人指令,由此获得基本上与人制备的原始产品一样的结果。在针对多种产品重复所述方法的情况下,所述方法可以额外包括提供一个或多个产品的电子描述的库,其包括产品名称、产品食材以及由所述食材制作产品的方法(例如,菜谱)。

另一个一般化方面提供一种操作机器人设备的方法,其包括接收用于制作产品的指令集,该指令集包括一系列与人的原始动作对应的微操纵的指示,每个指示包括机器人指令的序列,机器人指令包括动态感测操作和机器人动作操作;将所述指令集提供给能够复现所述微操纵的序列的机器人设备;通过机器人设备执行用于所述产品的微操纵的指令的序列,由此获得基本上与人制备的原始产品一样的结果。

可以从不同的角度考虑另一种操作机器人设备的一般化方法,其包括执行用于复现具有多个产品制备活动的菜谱的机器人指令脚本;判断每一制备活动是被识别为标准工具或标准对象的标准抓取动作,标准手操纵动作或对象,还是非标准对象;对于每一制备活动而言,下述操作中的一者或多者:如果制备活动涉及标准对象的标准抓取动作,那么指示机器人烹饪装置访问第一数据库库;如果食物制备活动涉及标准手操纵动作或对象,那么指示机器人烹饪装置访问第二数据库库;如果食物制备活动涉及非标准对象,那么指示机器人烹饪装置建立该非标准对象的三维模型。尤其可以在计算机系统中或者由计算机系统实施所述判断和/或指示步骤。所述计算系统可以具有处理器和存储器。

另一方面可见于一种通过机器人设备75制备产品的方法中,其包括通过由机器人设备75制备产品(例如,食物菜肴)而复现菜谱,所述菜谱被分解为一个或多个制备阶段,每个制备阶段被分解为微操纵和活动基元的序列,每个微操纵被分解为动作基元的序列。优选地,每个微操纵已被(成功地)测试以在考虑到适用对象以及一种或多种适用食材的位置、取向、形状的任何变化的情况下使该微操纵获得最佳结果。

另一方法方面可以在于一种生成菜谱脚本的方法,其包括接收来自诸如厨房环境之类的标准化工作环境模块的环境内的传感器的过滤了的原始数据;由所述过滤了的原始数据生成脚本数据的序列;以及将脚本数据的序列转换为用于制备产品的机器可读和机器可执行命令,所述机器可读和机器可执行命令包括用于控制一对机器臂和手以执行功能的命令。所述功能可以选自包括一个或多个烹饪阶段、一个或多个微操纵以及一个或多个动作基元的组。还可以考虑一种菜谱脚本生成系统,其包括配置为根据该方法操作的硬件和/或软件特征。

就这些方面的任何方面而言,可以考虑下述事项。产品的制备通常采用食材。执行指令通常包括感测产品制备当中采用的食材的属性。产品可以是根据(食物)菜谱(其可以保持在电子描述中)的食物菜肴,人可以是厨师。工作设备可以包括厨房设备。这些方法可以结合文中描述的其他特征中的一者或多者使用。可以结合各个方面的特征之一、所述特征中的不止一个或者所有的特征,从而(例如)使来自某一方面的特征可以与另一方面相结合。每一方面都可以是计算机实现的,并且可以提供一种被配置为在通过计算机或处理器运行时执行每一方法的计算机程序。可以将每一计算机程序存储到计算机可读介质上。附加地或替代地,所述程序可以是部分或完全硬件实现的。可以使各个方面相结合。还可以提供一种被配置为根据联系这些方面中的任何方面描述的方法工作的机器人系统。

在另一方面中,可以提供一种机器人系统,其包括:能够在第一仪器化环境内观测人的运动并生成人运动数据的多模态感测系统;以及通信耦合至多模态感测系统的用于记录从多模态感测系统接收到的人运动数据并对人运动数据进行处理以提取运动基元从而优选使运动基元定义机器人系统的操作的处理器(其可以是计算机)。运动基元可以是微操纵,如文中所述(例如,紧挨着的在先段落当中),并且可以具有标准格式。运动基元可以定义具体类型的动作和某一类型的动作的参数,例如,具有定义的起始点、终点、力和抓握类型的牵拉动作。任选地,还可以提供通信耦合至处理器和/或多模态感测系统的机器人设备。机器人设备可以能够采用运动基元和/或人运动数据在第二仪器化环境内复现所观测到的人的运动。

另一方面,可提供一种机器人系统,其包括:用于接收定义机器人系统的操作的运动基元的处理器(可以是计算机),所述运动基元是基于从人的运动捕获的人运动数据的;以及通信耦合至处理器的能够采用运动基元在仪器化环境内复现人的运动的机器人系统。应理解,还可以使这些方面相结合。

另一方面可见于一种机器人系统中,其包括:第一和第二机器臂;第一和第二机器手,每只手具有耦合至相应的臂的腕,每只手具有手掌和多个关节连接的手指,相应手上的每一关节连接指具有至少一个传感器;以及第一和第二手套,每只覆盖相应手的手套具有多个嵌入的传感器。优选地,所述机器人系统是机器人厨房系统。

在一不同但相关的方面中还可以提供一种运动捕获系统,其包括:标准化工作环境模块,优选为厨房;多个具有配置为物理耦接至人的第一类型传感器和配置为与人分隔开的第二类型传感器的多模态传感器。可以是下述情况中的一种或多种:第一类型的传感器可用于测量人附属肢体的姿势以及感测人附属肢体的运动数据;第二类型的传感器可用于确定环境、对象、活动、以及人附属肢体的位置中的一个或多个的三维配置的空间配准;第二类型的传感器可配置为感测活动数据;标准化工作环境可具有与第二类型的传感器接口连接的连接器;第一类型的传感器和第二类型的传感器测量运动数据和活动数据,并将运动数据和活动数据两者都发送至计算机,从而对其进行存储和处理,以供产品(例如,食物)制备之用。

附加地或替代地,一个方面可以在于包覆有感测手套的机器手,其包括:五个手指;以及连接至五个手指的手掌,所述手掌具有内部关节和处于三个区域内的可形变表面材料;第一可形变区域设置在手掌的桡骨侧并且接近拇指的基部;第二可形变区域设置在手掌的尺骨侧并且与桡骨侧隔开;第三可形变区域设置在手掌上并且跨越各手指的基部延伸。优选地,第一可形变区域、第二可形变区域和第三可形变区域的组合以及内部关节协同工作,以执行微操纵,尤其是用于食物制备的微操纵。

就上述系统、装置或设备方面中的任何方面而言,还可以提供包括用以执行系统的功能的步骤的方法。附加地或替代地,可以在文中相对于其他方面描述的特征中的一者或多者的基础上发现任选的特征。

图100是示出具有创建者记录系统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的活动被机器人复现以完成所需任务。

图101是示出具有各种模块的机器人人类技能复现引擎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可用于对所捕获的微操纵和创建者的活动进行存储和/或分类。它可在用户控制下耦接到复现引擎以及机器人系统。

图102是示出机器人人类技能复现系统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可以是图12a-12c和图152-162s中所示的那些工具,或者可以是任何标准工具,例如刀、锅、铲子、解剖刀、温度计、小提琴弓、或可以在特定环境中使用的任何其他设备。标准设备2826-b可以是任何标准的厨房设备,例如炉子、烤焙用具、微波炉、搅拌器等,或者可以是任何标准的医疗设备、例如脉搏血氧仪等。空间本身2826-c可以是标准化的,例如厨房模块或创伤模块或恢复模块或钢琴模块。通过利用这些标准工具、设备和空间,机器手/臂或人形机器人可更快速地调整并学习如何在标准化空间内执行其期望的功能。

同样,在机器人人类技能复现系统2700内可以有非标准对象2827。例如,非标准对象可以是诸如肉类和蔬菜等的烹饪食材。这些非标准尺寸、形状和比例的对象可处于标准位置和取向,例如在抽屉或箱内,但是项目本身可以根据项目而变化。

视觉、音频和触觉输入设备2829可耦接到计算机2712,作为机器人人类技能复现系统2700的一部分。视觉、音频和触觉输入设备2829可以是相机、激光器、3d立体光学设备、触觉传感器、质量检测器、或允许计算机2712确定3d空间内的对象类型和位置的任何其他传感器或输入设备。它还可以允许检测对象的表面并且基于触摸、声音、密度或重量来检测对象属性。

机器臂/手或人形机器人2830可直接耦接到计算机2712或者可以通过有线或无线网络连接,并且可以与机器人人类技能复现引擎2800通信。机器臂/手或人形机器人2830能够操纵和复现由创建者2711执行的任何动作或任何算法以用于使用标准对象。

图103是示出具有控制点的人形机2840的框图,其用于使用标准化操作工具、标准化位置和方向以及标准化设备来进行技能执行或复现处理。如图104所示,人形机2840位于作为机器人人类技能复现系统2700的一部分的传感器视野2841内。人形机2840可以佩戴控制点或传感器点的网络,以能够捕获在任务执行期间进行的活动或微操纵。同样在机器人人类技能复现系统2700内的可以有标准工具2843、标准设备2845和非标准对象2842,它们都以标准初始位置和取向2844布置。当执行技能时,在传感器视野2841中记录技能中的每个步骤。从初始位置开始,人形机2840可执行步骤1至步骤n,所有这些步骤都被记录以产生可由一对机器臂或人形机器人实现的可重复结果。通过记录人类创建者在传感器视野2841中的活动,可以将信息转换为一系列个体步骤1-n,或转换为完成任务的事件序列。因为所有标准和非标准对象都定位和取向在标准初始位置,所以复现人类运动的机器人组件能够准确一致地执行所记录的任务。

图104是示出人类或创建者活动与机器人复现活动之间的转换算法模块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)。求和式中的分子表示机器人参数和人类参数之间的差(即,误差),分母针对最大差进行归一化。求和式给出了总的归一化累积

精确度计算的另一版本是对参数进行重要性加权,其中每一系数(每一αi)表示第i个参数的重要性,归一化累积误差为并且通过下式给出估算平均精确度:

图105是示出基于来自创建者上布置的传感器的捕获感测数据的创建者活动记录和人形机复现的框图。在创建者运动记录套件3000中,创建者可佩戴具有用于捕获技能的传感器的各种身体传感器d1-dn,其中传感器数据3001记录在表3002中。在此示例中,创建者正在用工具执行任务。由传感器记录下来的创建者的这些动作基元可构成在时隙1、2、3和4发生的微操纵3002。技能活动复现数据模块2884配置为将来自创建者记录套件3000的记录技能文件转换为机器人指令,以用于根据机器人软件指令3004操作机器人人类技能执行部分1063中的机器人组件,诸如机器臂和机器手。机器人组件利用用于用工具执行技能的微操纵的控制信号3006来执行技能,微操纵如来自微操纵库数据库3009的微操纵库116中预定义的那些。机器人组件通过从实时调整装置创建技能的临时三维模型3007来以相同的xyz坐标3005和可能的对技能的实时调整来操作。

为了操作机械机器人机构,例如本申请的实施例中描述的那些,技术人员意识到需要解决很多机械和控制问题,有关机器人的文献恰恰描述了这样做的方法。在机器人系统中建立静态和/或动态稳定性是一个重要考量。尤其是对于机器人操纵而言,动态稳定性是非常期望的特性,其目的在于防止超出预期或编程之外的意外破坏或活动。

图106示出了在本申请的功能的高层级描述水平上用于通用人形机器人的总体机器人控制平台3010。通用通信总线3002用作电子数据导管,包括从内部和外部传感器3014读取、与机器人的当前状态相关的变量及其当前值3016(诸如其移动的公差、其手的准确位置等)、以及诸如机器人在哪里或其需要操纵的对象在哪里之类的环境信息3018。这些输入源使人形机器人知晓其境况并且因此能够执行其任务,从最底层致动器命令3020到来自机器人规划器3022的高层级机器人端对端任务规划,机器人规划器3022可引用组件微操纵3024的大电子库,其然后被解释以确定它们的前提条件是否允许应用,并且被从机器人解释器模块3026转换为机器可执行代码,然后被作为实际命令和感测序列发送到机器人执行模块3028。

除了机器人规划、感测和执行之外,机器人控制平台还可以经由机器人人类接口模块3030通过图标、语言、手势等与人类通信,并且可以通过由微操纵学习模块3032观察人执行与微操纵对应的构建块(building-block)任务并且将多个观察归纳为微操纵,即,具有前置条件和后置条件的可靠可重复的感测动作序列,来学习新的微操纵。

图107是示出用于作为人形机应用任务复现处理的一部分的微操纵的生成、转移、实施和使用的计算机架构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)更通用的技术、更自动化且更有能力的过程、更多的复杂性,允许以更高效和更成本有效的方式创建和执行潜在大量的简单到复杂的任务。

图108描绘了将在基于创建者工作室的记录步骤中和在相应任务的机器人执行期间涉及到的、用于基于工作室和基于机器人的传感器数据输入类别和类型的、不同类型的传感器分类3070及其相关联的类型。这些传感器数据集形成了构建微操纵行为库的基础,其通过基于特定数据或用于实现特定数据值以实现期望最终结果的不同控制动作的多回路组合来构建,无论其是非常明确的“子例程”(握住刀、敲击钢琴键、在画布上画条线等)还是更一般的微操纵例程(准备沙拉、演奏舒伯特的第5号钢琴协奏曲、画田园场景等);后者可通过微操纵子例程的多个串行和并行组合的级联来实现。

传感器已经基于其物理位置和需要控制的特定交互部分分为三类。三类传感器(外部3071、内部3073和接口3072)将其数据集馈送到数据套件处理3074中,数据套件处理3074通过适当的通信链路和协议将数据转发到数据处理和/或机器人控制器引擎3075。

外部传感器3071包括通常位于/使用在双臂机器人躯干/人形机外部并且倾向于模拟世界中的个体系统以及双臂躯干/人形机的位置和配置的传感器。用于这种套件的传感器类型将包括简单的接触开关(门等)、用于一维测距的基于电磁(em)波谱的传感器(ir测距仪等)、用于生成二维信息(形状、位置等)的视频摄像机、以及用于使用双目/三目摄像机、扫描激光器和结构光等生成空间位置和配置信息的三维传感器。

内部传感器3073是双臂躯干/人形机内部的传感器,主要测量内部变量,例如臂/肢体/关节位置和速度、致动器电流和关节笛卡尔力和转矩、触觉变量(声音、温度、味道等)二进制开关(行程限制等)、以及其他特定设备存在开关。其他一维/二维和三维传感器类型(例如手中的)可通过视频摄像机以及甚至内置的光学跟踪器(例如在躯干上安装的传感器头等)测量范围/距离、二维布局。

接口传感器3072是用于在双臂躯干/人形机在其任何任务期间与真实世界交互时提供高速接触和交互动作以及力/转矩信息的那些种类的传感器。这些传感器是关键的传感器,因为它们是关键微操纵子例程动作的操作的组成部分,例如以恰好正确的方式(持续时间、力和速度等)敲击钢琴键或使用手指运动的特定序列抓住刀并且实现安全的抓住以使其取向为能够执行特定任务(切番茄、打蛋、压碎蒜瓣等)。这些传感器(以接近度顺序)可以提供与机器人附件到世界之间的远离(stand-off)/接触距离、恰在接触前可测量的末端执行器和世界之间的相关电容/电感、实际接触的存在和位置及其相关表面属性(电导率、顺应性等)、以及相关交互属性(力、摩擦等)和任何其他重要的触觉变量(声音、热量、气味等)有关的信息。

图109描绘了示出基于系统级微操纵库动作的双臂和躯干拓扑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。

如图109所示的对物理布局进行分组的好处与以下事实有关:微操纵动作可容易地分为主要由手或肢体/关节的某一部分执行的动作,从而显著减少在学习和回放期间用于控制和调整/优化的参数空间。它是某些子例程或主微操纵动作可映射到其中的物理空间的表示,描述每个微操纵所需的相应变量/参数是微小/必要且足够的。

物理空间域的细分还允许针对特定任务将微操纵动作更简单地细分成一组通用微操纵(子)例程,从而大大简化了使用串行/并行通用微操纵(子)例程的组合来构建更复杂和更高层级复杂微操纵的过程。应注意,对物理域进行细分以容易地生成微操纵动作基元(和/或子例程)仅是允许简化微操纵(子)例程的参数描述以使得可以恰当地构建一组通用和特定任务微操纵(子)例程或动作基元从而建立(一组)完成的动作库的两种互补方案之一。

图110将双臂躯干人形机器人系统3120示为一组操纵功能阶段,其与任何操纵活动相关联,而与要完成的任务无关,用于特定任务动作序列3120的微操纵库操纵阶段组合和转移。

因此,为了构建更复杂和更高层级的一组微操纵运动基元例程以形成一组通用子例程,高级微操纵可被认为是任何操纵的各种阶段之间的转移,从而允许微操纵子例程的简单级联以开发更高层级的微操纵例程(动作基元)。注意,操纵的每个阶段(接近、抓住、操作等)本身是其自身的低层级微操纵,由控制动作和力/转矩相关的一组参数(内部、外部以及界面变量)描述,涉及一个或多个物理域实体[手指、手掌、手腕、肢体、关节(肘部、肩部等)、躯干等]。

双臂系统的臂13131可考虑为使用图108定义的外部和内部传感器以实现末端执行器的特定位置3131,在接近特定目标(工具、器具、表面等)之前具有给定配置3132,在接近阶段3133以及在任何抓取阶段3035(如果需要的话)使用接合传感器来引导系统;随后的处理/操作阶段3136允许末端执行器在其抓取时操纵仪器(搅拌、牵引等)。相同的描述适用于可执行类似动作和序列的臂23140。

注意,如果微操纵子例程动作失败(例如需要重新抓取),则所有微操纵序列器必须做的是向后跳回到先前阶段并且重复相同动作(如果需要的话,可能用一组修改的参数以确保成功)。更复杂的动作集合,例如用不同的手指弹奏一系列钢琴键,涉及在接近(approach)阶段3133、3134和接触阶段3134、3144之间的重复跳跃循环,允许在不同的间隔不同的键被触发,具有不同的效果(软/硬,短/长等);移动到钢琴键音阶上的不同八度音将仅需要阶段回退到配置阶段3132以通过平移和/或旋转来重新定位臂或者甚至整个躯干3140以实现不同的臂和躯干取向3151。

臂23140可以在动作协调阶段315(例如在乐队指挥的臂和躯干挥动指挥棒的动作期间)、和/或接触和交互控制阶段3153(例如在双臂揉搓在桌子上的面团的动作期间)的引导下,平行地且独立于臂3130或者与臂3130和躯干3150结合并且协调地进行类似的活动。

在图110中描绘的一个方面是,微操纵,从最低层级子例程到更高层级动作基元或更复杂微操纵动作和抽象序列,可以从一组与特定阶段相关的不同动作生成,这些动作又具有清楚且明确定义的参数集(用于测量、控制和通过学习来优化)。较小的参数集允许更容易的调试和确保子例程能工作,并且允许更高层级的微操纵例程完全基于良好定义并且成功的较低层级微操纵子例程。

注意,将微操纵(子)例程不仅耦合到在图110所示的任务动作的特定阶段期间需要监视和控制的一组参数,而且还与图109中细分的特定物理单元(集合)相关联,这允许一组非常强大的表示,以允许生成直观的微操纵动作基元并且将其汇编成一组通用和特定任务的微操纵动作/活动库。

图111描绘了示出作为工作室数据生成、收集和分析处理的一部分,用于通用和特定任务动作基元二者的微操纵库生成过程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负责核出(checkout)适当的库及其相关数据集(参数、时间历史、性能度量等)3169-1以传递到远程机器人复现系统上,并且核入(checkin)基于一个或多个相同/不同的远程机器人系统的学习和优化的微操纵执行的更新的微操纵动作基元(参数,性能度量等)3169-2。这确保了库不断增长,并且被越来越多的远程机器人执行平台优化。

图112描绘了示出远程机器人系统如何利用微操纵库来执行由专家在工作室设置中执行的特定任务(烹饪、绘画等)的远程复现的处理的框图,其中专家的动作被记录、分析并且转换成分层级结构化的微操纵数据集(命令、参数、度量、时间历史等)的机器可执行集合,其在被下载并且被正确解析时,允许机器人系统(在本示例中为双臂躯干/人形机系统)以足够的保真度忠实地复现专家的动作,从而实现与专家在工作室设置中的结果基本相同的最终结果。

在高层次上说,这是通过下载包含机器人系统所需的微操纵数据集的完整集合的任务描述库,并且将其提供给机器人控制器以供执行而实现的。机器人控制器产生由执行模块解释并执行的所需命令和动作序列,同时从整个系统接收反馈,以允许其遵循为关节、肢体位置和速度以及(内部和外部的)力和转矩建立的简档。并行性能监视处理使用任务描述性功能和性能度量来跟踪和处理机器人的动作,以确保所需的任务保真度。允许微操纵学习和调整处理以在特定功能结果不令人满意时取得并且修改任何微操纵参数集,从而使机器人成功地完成每个任务或动作基元。然后,使用更新的参数数据以重新构建修改的微操纵参数集以用于重新执行以及用于更新/重建特定微操纵例程,其被提供回原始库例程作为修改/重新调谐的库,用于其他机器人系统将来使用。系统监视所有微操纵步骤,直到实现最终结果,一旦完成,则退出机器人执行环路,等待进一步的命令或人工输入。

具体来说,上面概述的处理可详细说明为下述序列。通过微操纵库访问管理器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*)],从而使优化的微操纵库可用于所有未来的机器人系统使用。

图113描绘了示出用于与特定任务相关联的微操纵任务动作基元的自动化微操纵参数集构建引擎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.等)。

上述示例说明了使用物理实体映射和操纵阶段方案基于简单的子例程动作(其本身也是微操纵)构建微操纵例程的过程,计算机可以使用来自工作室记录过程的外部/内部/接口传感器反馈数据来容易地对其进行区分和参数化。这种用于过程参数的微操纵库建立过程生成完整描述(一组)成功微操纵动作的“参数向量”,参数向量包括传感器数据、关键变量的时间历史、以及性能数据和度量,允许远程机器人复现系统忠实地执行所需任务。该过程也是通用的,因为它对当前任务(烹饪、绘画等)不可知,仅基于一组通用动作和活动基元来构建微操纵活动。可以在任何层级添加简单用户输入和其他预定动作基元描述符以更一般地描述特定动作序列,并允许使其对于未来使用是通用的,或者是任务特定的以用于特殊应用。使微操纵数据集包括参数向量还允许通过学习来持续优化,其中可能对参数进行调整以基于在涉及在一个或多个通用和/或特定任务库中的微操纵例程的应用(和评估)的机器人复现操作期间生成的现场数据来改善特定微操纵的保真度。

图114a是示出机器人架构(或机器人系统)的以数据为中心的视图的框图,中央机器人控制模块包含在中央框中,以便聚焦于数据仓库。中央机器人控制模块3191包含在上述实施例中公开的所有处理所需的工作存储器。特别地,中央机器人控制(centralroboticcontrol)确立机器人操作模式,例如,它是从外部教师观察和学习新的微操纵,还是执行任务,还是处于其他不同的处理模式。

工作存储器13192包含直到当前的一时间段的所有传感器读数:从几秒到几小时一取决于多大的物理存储器,典型地为约60秒。传感器读数来自机载或机外机器人传感器,可包括来自相机的视频、雷达、声纳、力和压力传感器(触觉)、音频和/或任何其它传感器。传感器读数被隐式或显式地加时间标记或序列标记(后者意味着传感器读数被接收的顺序)。

工作存储器23193含有由中央机器人控制生成并且传递给致动器或者列队以在给定时间点或基于触发事件(例如机器人完成先前动作)传递给致动器的所有致动器命令。这些包括所有必要的参数值(例如,移动多远、施加多大的力等)。

第一数据库(数据库1)3194包含机器人已知的所有微操纵(mm)的库,包括每个mm的triple<pre,act,post>,其中pre={s1,s2,...,sn}是全局状态的一组项目,其在行为act=[a1,a2,...,ak]能发生并且导致post{p1,p2,...,pm}表示的全局状态的一组改变之前必须为真。在优选实施例中,微操纵被按目的、按其所涉及的传感器和致动器、以及按促成访问和应用的任何其它因素而索引。在优选实施例中,如果执行微操纵,则每个post结果与获得期望结果的概率相关联。中央机器人控制(centralroboticcontrol)访问微操纵库以检索和执行微操纵并对其进行更新,例如,在学习模式中添加新的微操纵。

第二数据库(数据库2)3195包含实例库,每个实例是执行给定任务的微操纵序列,例如制备给定菜肴或从不同空间取出物品。每个实例包含变量(例如,取得什么、行进多远等)和结果(例如,特定实例是否获得期望结果以及离最佳有多远、多快、有或没有副作用等)。中央机器人控制(centralroboticcontrol)访问实例库以确定是否有用于当前任务的已知动作序列,并且在执行任务后用结果信息更新实例库。如果在学习模式中,则中央机器人控制添加新实例到实例库中,或者替代地删除无效的实例。

第三数据库(数据库3)3196包含对象存储,其本质上是机器人关于世界中的外部对象所知晓的,并且列出这些对象、它们的类型和它们的属性。例如,刀的类型是“工具”和“器具”,它通常在抽屉中或台面上,它具有一定的尺寸范围,它可以容忍任何抓取力等。鸡蛋的类型是“食物”,它有一定的尺寸范围,它通常在冰箱中,在抓取时它只能承受一定量的力而不破碎等。在形成新的机器人动作规划时查询对象信息,以确定对象属性,识别对象等。当引入新对象时,对象存储也可被更新,并且可以更新其关于现有对象及其参数或参数范围的信息。

第四数据库(数据库4)3197包含关于机器人操作环境的信息,包括机器人位置、环境范围(例如房子中的空间)、它们的物理布局、以及环境中特定对象的位置和数量。每当机器人需要更新对象参数(例如位置、取向)或需要在环境中导航时,将查询数据库4。当对象被移动、消耗或从外部引入新对象时(例如,当人从商店或超市返回时),数据库4被频繁地更新。

图114b是示出微操纵机器人行为数据的成分、链接和转换中的各种微操纵数据格式的示例的框图。关于成分,专用/抽象计算机编程语言的高层级微操纵行为描述是基于使用基本微操纵基元的,基本微操纵基元本身可以由甚至更基本的微操纵描述,以允许从更复杂的行为构建行为。

非常基本的行为的示例可以是“手指弯曲”,其具有与“抓取”相关的动作基元,使所有5根手指绕对象弯曲,并具有称为“取出器具”的高层级行为,涉及臂移动到相应位置并且然后用所有五根手指抓住器具。每个基本行为(包括更基本的行为)具有相关的功能结果以及用于描述和控制每个行为的相关校准变量。

链接允许将行为数据与物理世界数据链接,包括:与物理系统(机器人参数和环境几何等)、用于实现动作的控制器(类型和增益/参数)相关的数据,以及监视和控制所需的传感器数据(视觉、动态/静态测量等),以及其它软件环执行相关处理(通信、错误处理等)。

通过称为致动器控制指令代码转换器和生成器的软件引擎,转换(conversion)从一个或多个数据库获取所有链接的微操纵数据,从而为每个致动器(a1至an)控制器(其本身运行位置/速度和/或力/转矩的高带宽控制环)在每个时段(t1至tm)创建机器可执行(低层级)指令代码,允许机器人系统在一组连续的嵌套环中执行所命令的指令。

图115是示出在机器人硬件技术概念3206、机器人软件技术概念3208、机器人商业概念3202、以及用于承载机器人技术概念的数学算法3204之间的不同层级双向抽象3200的一透视(perspective)的框图。如果本申请的机器人概念被视为垂直和水平概念,则机器人商业概念包括在顶层3202的机器人厨房商业应用、在底层的机器人概念数学算法3204、以及在机器人商业概念3202和数学算法3204之间的机器人硬件技术概念3206和机器人软件技术概念3208。实际而言,如图115所示,机器人硬件技术概念、机器人软件技术概念、数学算法和商业概念中的每个层级双向地与任何层级交互。例如,一种计算机处理器,用于处理来自数据库的软件微操纵,以通过向致动器发送命令指令来控制机器人上的每个机器人元件的移动来实现制备食物的最佳功能结果。贯穿本申请描述了机器人硬件技术概念和机器人软件技术概念的水平透视的细节,例如如图100-114所示。

图116是示出一对机器臂和带有五根手指的手3210的框图。每个机器臂70可以在几个关节(例如肘部3212和腕部3214)处关节连接。每个手72可具有五根手指以复现创建者的运动和微操纵。

图117a是示出人形机类型的机器人3220的一实施例的图。人形机器人3220可具有头部3222,头部3222具有用于接收外部环境图像的相机,并且具有检测和探测目标对象位置和移动的能力。人形机器人3220可具有躯干3224,躯干3224上具有身体上的传感器以检测身体角度和运动,其可包括全球定位传感器或其他位置传感器。人形机器人3220可具有一个或多个灵巧手72、手指和手掌,其具有并入手和手指中的各种传感器(激光、立体相机)。手72能够进行精确的保持、抓取、释放、手指按压动作以执行诸如烹饪、乐器演奏、绘画等主题专家人类技能。人形机器人3220可以可选地包括腿部3226,腿部3226上具有致动器以控制操作速度。每个腿部3226可具有多个自由度(dof)以执行像人一样的行走、跑步和跳跃运动。类似地,人形机器人3220可具有能够移动通过各种地形和环境的足部3228。

另外,人形机器人3220可具有颈部3230,颈部3230具有用于前/后、上/下、左/右和旋转运动的多个dof。其可以具有:肩部3232,具有用于前/后、旋转运动的多个dof;肘部,具有用于前/后运动的多个dof;以及腕部314,具有用于前/后、旋转运动的多个dof。人形机器人3220可具有:臀部3234,具有用于前/后、左/右和旋转运动的多个dof;膝部3236,具有用于前/后运动的多个dof;以及脚踝3236,具有用于前/后和左/右运动的多个dof。人形机器人3220可容纳电池3238或其它电源,以允许其绕其操作空间无阻碍地移动。电池3238可以是可再充电的,可以是任何类型的电池或其他已知电源。

图117b是示出人形机类型的机器人3220的一实施例的框图,其具有安装在机器人本体中在各个关节处或附近的多个陀螺仪3240。作为方向传感器,可旋转陀螺仪3240示出人形机以高复杂度进行角运动的不同角度,例如弯腰或坐下。该组陀螺仪3240提供了维持整个人形机器人以及人形机器人3220的各部件的动态稳定性的方法和反馈机制。陀螺仪3240可提供实时输出数据,诸如欧拉角、姿态四元数、磁力计、加速度计、陀螺仪数据、gps高度、位置和速度。

图117c是示出人形机上的创建者记录装置的图,包括身体感测服、臂外骨架、头套和感测手套。为了捕获技能并记录人类创建者的活动,在一实施例中,创建者可穿戴身体感测服或外骨架3250。感测服可包括头饰3252、四肢外骨架(例如臂外骨架3254)、以及手套3256。可以用具有任何数量的传感器和参考点的传感器网络3258覆盖外骨架。只要创建者保持在创建者记录设备3260的视野内,这些传感器和参考点就允许创建者记录设备3260从传感器网络3258捕获创建者活动。具体地,如果创建者在戴着手套3256时移动其手,则3d空间中的位置被多个传感器数据点d1、d2...dn捕获。由于身体服装3250或头套3252,创建者的活动不限于头部,而是包括整个创建者。以这种方式,每个运动可以被分解并且被分类为作为总体技能的一部分的微操纵。

图118是示出机器人人类技能主题专家电子ip微操纵库2100的框图。主题/技能库2100包括文件或文件夹结构的任何数量的微操纵技能。可以以任何数量的方式来安排库,包括但不限于按技能、职业、分类、环境或任何其它目录或分类法来安排库。它可以使用平面文件(flatfile)或以关系方式来分类,可包括无限数量的文件夹、子文件夹以及实际上无限数量的库和微操纵。如图118所示,库包括若干模块ip人类技能复现库56、2102、2104、2106、3270、3272、3274,涵盖诸如人类烹饪技能56,人类绘画技能2102、人类乐器技能2104、人类护理技能2106、人类家政技能3270、以及人类康复/治疗技能3272之类的主题。附加地和/或替代地,机器人人类技能主题电子ip微操纵库2100还可包括基本人类运动技能,例如行走、跑步、跳跃、爬楼梯等。虽然本身不是技能,但是创建基本人类运动微操纵库3274允许人形机器人以更容易更人类化的方式在真实世界环境中起作用和交互。

图119是示出用于替代人手技能活动的通用微操纵的电子库3280的创建过程的框图。在该图示中,关于图119描述了一个通用微操纵3290。微操纵mm13292产生用于该特定微操纵的功能结果3294(例如,成功地用第二对象击中第一对象)。每个微操纵可分解为子操纵或步骤,例如,mm13292包括一个或多个微操纵(子微操纵),微操纵mm1.13296(例如,拾取和保持对象1)、微操纵mm1.23310(例如,拾取并保持第二对象)、微操纵mm1.33314(例如,用第二对象敲击第一对象)、微操纵mm1.4n3318(例如,打开第一对象)。可以添加或减去附加子微操纵,其适于实现特定功能结果的特定微操纵。微操纵的定义部分地取决于其如何被定义以及用于定义这样的操纵的粒度(granularity),即,特定微操纵是否体现若干子微操纵,或者特征化为子微操纵的操纵在另一上下文中是否也可定义为更宽的微操纵。每个子微操纵具有相应的功能结果,其中子微操纵mm1.13296获得子功能结果3298,子微操纵mm1.23310获得子功能结果3312,子微操纵mm1.33314获得子功能结果3316,子微操纵mm1.4n3318获得子功能结果3294。类似地,功能结果的定义部分地取决于其如何被定义,特定功能结果是否体现若干功能结果,或者特征化为子功能结果的结果在另一上下文中是否可被定义为更宽的功能结果。子微操纵mm1.13296、子微操纵mm1.23310、子微操纵mm1.33314、子微操纵mm1.4n3318一起实现了总体功能结果3294。在一实施例中,总体功能结果3294与和最后的子微操纵3318相关联的功能结果3319相同。

每个微操纵1.1-1.n的各种可能参数被测试以找到执行特定动作的最佳方式。例如,微操纵1.1(mm1.1)可以是持有对象或在钢琴上弹奏和音。对于总体微操纵3290的该步骤,探索完成步骤1.1的各种参数的所有各种子微操纵。也就是说,测试保持对象的不同位置、取向和方式以找到保持对象的最佳方式。在操作期间机器臂、手或人形机如何保持其手指、手掌、腿、或任何其他机器人部件。测试所有各种保持位置和取向。接下来,机器手、臂或人形机可拾取第二对象以完成微操纵1.2。可拾取第二对象,即刀,并且可以测试和探索保持该对象的所有不同位置、取向和方式以找到操作该对象的最佳方式。这样继续下去直到完成微操纵1.n,并且完成用于执行总体微操纵的所有各种排列和组合。结果,执行微操纵3290的最佳方式被存储在分解为子微操纵1.1-1.n的微操纵的库数据库中。于是,所保存的微操纵包括执行期望任务的步骤的最佳方式,即,保持第一对象的最佳方式、保持第二对象的最佳方式、用第二对象敲击第一对象的最佳方式等。这些最佳组合被保存为执行总体微操纵3290的最佳方式。

为了创建导致完成任务的最佳方式的微操纵,测试多个参数组合以识别确保实现期望功能结果的整组参数。机器人设备75的教导/学习过程涉及识别实现期望的最终功能结果的必要参数的多个重复测试。

这些测试可以在变化的场景执行。例如,对象的大小可以变化。在工作空间内发现对象的位置可以变化。第二对象可以在不同位置。微操纵必须在所有这些可变情况下成功。一旦学习过程已经完成,结果就被存储为已知一起完成期望功能结果的动作基元的集合。

图120是示出机器人执行任务3330的框图,其通过用一般微操纵进行多阶段3331-3333执行来进行。如图119所示,当动作计划需要微操纵序列时,在一实施例中,下式给出在实现其期望结果方面机器人计划的估计平均精确度:

其中g表示一组目的(或“目标”)参数(第1至第n),p表示一组机器人设备75参数(对应地第1至第n)。求和式中的分子表示机器人参数和目标参数之间的差(即,误差),分母针对最大差进行归一化。求和式给出了总的归一化累积误差,即

乘以1/n给出了平均误差。平均误差的补数(即,1减它)对应于平均精确度。

在另一实施例中,精确度计算对参数的相对重要性进行加权,其中每一系数(每一αi)表示第i个参数的重要性,归一化累积误差为

并且通过下式给出估算平均精确度:

如图120所示,任务3330可被分解成多个阶段,每个阶段需要在下一阶段之前完成。例如,阶段3331必须在进行到阶段3332之前完成阶段结果3331d。附加地和/或替代地,阶段3331和3332可以并行进行。每个微操纵可被分解为一系列动作基元,其可导致功能结果,例如在阶段s1,在进行到第二预定义微操纵3331b(mm1.2)之前,必须完成第一已定义微操纵3331a中的所有动作基元,产生功能结果3331a′。第二预定义微操纵3331b又产生功能结果3331b′,直到实现期望的阶段结果3331d。一旦阶段1完成,任务就可进行到阶段s23332。此时,完成阶段s2的动作基元,以此类推,直到完成任务3330。以重复方式执行步骤的能力使得能以可预测和可重复的方式来执行期望的任务。

图121是示出根据本申请的微操纵执行阶段的实时参数调整的框图。特定任务的执行可能需要调整所存储的微操纵以复现实际人类技能和运动。在一实施例中,可能需要实时调整以处理对象中的变化。附加地和/或替代地,可能需要调整以协调左右手、左右臂、或其他机器人部件的移动。此外,需要右手微操纵的对象的变化可能影响左手或手掌所需的微操纵。例如,如果机器手试图剥右手抓住的水果,则左手所需的微操纵将受右手握住的对象的变化的影响。如图120所示,为完成微操纵以实现功能结果的每个参数可能需要不同的用于左手的参数。具体来说,作为第一对象参数的结果,由右手感测到的每个参数变化影响左手使用的参数和左手中的对象的参数。

在一实施例中,为了完成微操纵1.1-1.3以产生功能结果,右手和左手必须感测手或手掌或腿中的对象和对象的状态变化并接收其反馈。该感测到的状态变化可导致对构成微操纵的参数的调整。一个参数中的每个变化可产生每个后续参数和每个随后需要的微操纵的变化,直到实现期望的任务结果。

图122是示出根据本申请的制作寿司的一组微操纵的框图。从图122可以看出,制作手卷寿司的功能结果可分为一系列微操纵3351-3355。每个微操纵可进一步分解为一系列子微操纵。在该实施例中,功能结果需要大约五个微操纵,其又可需要额外的子微操纵。

图123是示出根据本申请的制作寿司的一组微操纵中的第一微操纵切鱼3351的框图。对于每个微操纵3351a和3351b,必须捕获和记录标准对象和非标准对象的时间、位置和地点。任务中的初始捕获值可以在任务过程中被捕获或由创建者定义,或者通过获得实时过程的三维体积扫描来捕获。在图122中,第一微操纵,从容器取出一块鱼并将其放在切菜板上,需要开始时间和位置,开始时间用于左手和右手从容器中取出鱼并将其放置在板上。这需要记录手指位置、压力、取向、以及与其他手指、手掌和其他手的关系以产生协调的动作。这还需要确定标准对象和非标准对象的位置和取向。例如,在本实施例中,鱼片是非标准对象,可具有彼此不同的尺寸、质地、坚实度和重量。其在储存容器或地点内的位置可以变化,因此也是非标准的。标准对象可以是刀,其位置和定位、切菜板、容器及其相应位置。

步骤3351中的第二子微操纵可以是3351b。步骤3351b需要将标准刀具对象定位在正确的取向并且施加正确的压力、抓取和取向以将板上的鱼切片。同时,左手、腿,手掌等需要执行协调步骤以补充和协调子微操纵的完成。所有这些开始位置、时间和其他传感器反馈和信号需要被捕获和优化以确保动作基元的成功实现从而完成子微操纵。

图124-127是示出完成制作寿司任务所需的第二至第五微操纵的框图,微操纵3352a、3352b在图124中,微操纵3353a、3353b在图125中,微操纵3354在图126中,微操纵3355在图127中。根据本申请,完成功能性任务的微操纵可能需要从容器中取米饭、拾取一片鱼,将米饭和鱼固定成期望形状,以及按压鱼以裹住米饭从而制作寿司。

图128是示出用于弹钢琴3360的一组微操纵3361-3365的框图,其可以以任何顺序或以任何组合并行发生以获得功能结果3266。诸如弹钢琴之类的任务可能需要身体、臂、手、手指、腿和脚之间的协调。所有这些微操纵可以单独地、共同地、按顺序、串行和/或并行地执行。

完成该任务所需的微操纵可分解为用于身体和用于每只手和脚的一系列技术。例如,可以有一系列右手微操纵,其根据演奏技术1-n成功地按压和保持一系列钢琴键。类似地,可以有一系列左手微操纵,其根据演奏技术1-n成功地按压和保持一系列钢琴键。还可以有一系列微操纵,其被确定为用右脚或左脚成功地按压钢琴踏板。如本领域技术人员所理解的那样,用于右和左手和脚的每个微操纵可进一步分解成子微操纵以产生期望的功能结果,例如在钢琴上弹奏一首音乐作品。

图129是示出根据本申请的用于弹钢琴的一组微操纵中并行发生以用于弹钢琴的一组微操纵中的、用于右手的第一微操纵3361和用于左手的第二微操纵3362的框图。为了创建用于该行为的微操纵库,捕获每个手指开始和结束其在键上的按压的时间。钢琴键可被定义为标准对象,因为它们不会随事件而变化。另外,每个时间段的多种按压技术(一次按键时间段或保持时间)可定义为特定时间周期,其中时间周期可以是相同的持续时间或不同的持续时间。

图130是示出根据本申请的用于弹钢琴的一组微操纵中并行发生的一组微操纵中的、用于右脚的第三微操纵3363和用于左脚的第四微操纵3364的框图。为了创建用于该行为的微操纵库,捕获每只脚开始和结束其在踏板上的按压的时间。踏板可定义为标准对象。每个时间段的多种按压技术(一次按键时间段或保持时间)可被定义为特定时间周期,其中针对每个动作时间周期可以是相同的持续时间或不同的持续时间。

图131是示出演奏钢琴所需的第五微操纵3365的框图。图131所示的微操纵涉及根据本申请的用于演奏钢琴的一组微操纵中可以与一个或多个其他微操纵并行发生的身体动作。例如,可以捕获身体的初始开始位置和结束位置以及随周期性时间间隔而捕获的中间位置。

图132是示出根据本申请的用于人形机行走的、可以以任何顺序发生或以任何组合并行发生的一组行走微操纵3370的框图。如图132所示的微操纵可分成多个片段。片段3371是迈步,片段3372是踏步,片段3373是通过,片段3374是伸展,片段3375是另一条腿的迈步。每个片段是单独的微操纵,其导致当在不平坦地面、楼梯、坡道或斜坡上行走时人形机不跌倒的功能结果。每个单独的片段或微操纵可通过腿和脚的各个部分在该片段期间如何移动来描述。这些单独的微操纵可以被捕获、编程或教导给人形机,并且每个微操纵可以基于具体环境被优化。在一实施例中,通过监视创建者来捕获微操纵库。在另一实施例中,从一系列命令创建微操纵。

图133是示出根据本申请的用于人形机行走的一组微操纵中用右腿和左腿做出的第一微操纵迈步3371姿势的框图。可以看出,左腿和右腿、膝盖和脚布置在xyz初始目标位置。该位置可基于脚和地面之间离地面的距离、膝盖相对于地面的角度、以及腿的总高度,这取决于走步技术和任何潜在的障碍。这些初始的启动参数被记录或被捕获以在微操纵开始时用于右和左腿、膝盖和脚。创建微操纵,并且捕获完成微操纵3371的迈步的所有中间位置。可能需要捕获附加信息,例如身体位置、重心和关节矢量,以确保完成微操纵所需的完整数据。

图134是示出根据本申请的用于人形机行走的一组微操纵中用右腿和左腿做出的第二微操纵3372踏步姿势的框图。可以看出,左和右腿、膝盖和脚布置在xyz初始目标位置。该位置可以基于脚和地面之间离地面的距离、膝盖相对于地面的角度、以及腿的总高度,这取决于走步技术和任何潜在的障碍。这些初始的启动参数被记录或被捕获以在微操纵开始时用于右和左腿、膝盖和脚。创建微操纵,并且捕获完成微操纵3372的踏步的所有中间位置。可能需要捕获附加信息,例如身体位置、重心和关节矢量,以确保完成微操纵所需的完整数据。

图135是示出根据本申请的用于人形机行走的一组微操纵中用右腿和左腿做出的第三微操纵3373通过(passing)姿势的框图。可以看出,左和右腿、膝盖和脚布置在xyz初始目标位置。该位置可以基于脚和地面之间离地面的距离、膝盖相对于地面的角度、以及腿的总高度,这取决于走步技术和任何潜在的障碍。这些初始的启动参数被记录或被捕获以在微操纵开始时用于右和左腿、膝盖和脚。创建微操纵,并且捕获完成微操纵3373的通过的所有中间位置。可能需要捕获附加信息,例如身体位置、重心和关节矢量,以确保完成微操纵所需的完整数据。

图136是示出根据本申请的用于人形机行走的一组微操纵中用右腿和左腿做出的第四微操纵3374伸展(stretch)姿势的框图。可以看出,左和右腿、膝盖和脚布置在xyz初始目标位置。该位置可以基于脚和地面之间离地面的距离、膝盖相对于地面的角度、以及腿的总高度,这取决于走步技术和任何潜在的障碍。这些初始的启动参数被记录或被捕获以在微操纵开始时用于右和左腿、膝盖和脚。创建微操纵,并且捕获完成微操纵3374的伸展的所有中间位置。可能需要捕获附加信息,例如身体位置、重心和关节矢量,以确保完成微操纵所需的完整数据。

图137是示出根据本申请的用于人形机行走的一组微操纵中用右腿和左腿做出的第五微操纵3375迈步姿势(用于另一条腿)的框图。可以看出,左和右腿、膝盖和脚布置在xyz初始目标位置。该位置可以基于脚和地面之间离地面的距离、膝盖相对于地面的角度、以及腿的总高度,这取决于走步技术和任何潜在的障碍。这些初始的启动参数被记录或被捕获以在微操纵开始时用于右和左腿、膝盖和脚。创建微操纵,并且捕获完成微操纵3375的用于另一只脚的迈步的所有中间位置。可能需要捕获附加信息,例如身体位置、重心和关节矢量,以确保完成微操纵所需的完整数据。

图138是示出根据本申请的具有三维视觉系统的机器人护理模块3381的框图。机器人护理模块3381可以是任何维度和尺寸的,并且可以被设计用于单个患者、多个患者、需要重症护理的患者、或需要简单辅助的患者。护理模块3381可以集成到护理设施中,或者可以安装在辅助的起居或家庭中。护理模块3381可包括三维(3d)视觉系统、医疗监视装置、计算机、医疗附件、药物分配器、或任何其他医疗设备或监视设备。护理模块3381可包括用于任何其他医疗设备、监视设备机器人控制设备的其他设备和存储器3382。护理模块3381可容纳一组或多组机器臂和手,或者可包括人形机器人。机器臂可安装在护理模块3381顶部的轨道系统上,或者可从墙壁或地板安装。护理模块3381可包括3d视觉系统3383或可以跟踪和监视模块内的患者和/或机器人活动的任何其他传感器系统。

图139是示出根据本申请的具有标准化机柜3391的机器人护理模块3381的框图。如图138所示,护理模块3381包括3d视觉系统3383,还可包括用于存储具有计算机和/或成像设备的移动医疗车的机柜3391,移动医疗车可被其他标准化实验室或应急预备车替代。机柜3391可用于容纳和储存已被标准化用于机器人用途的其他医疗设备,例如轮椅、步行器、拐杖等。护理模块3381可容纳各种尺寸的标准床,其具有诸如床头控制台3392之类的设备控制台。床头控制台3392可包括标准病房常见的任何附件,包括但不限于医疗气体的直接或间接出口、夜灯、开关、电插座、接地插座、护士呼叫按钮、抽吸设备等。

图140是示出根据本申请的具有一个或多个标准化储存库3402、标准化屏幕3403和标准化衣柜3404的机器人护理模块3381的后视图的框图。另外,图139示出用于机器臂/手移动的轨道系统3401和在手动模式下用于机器臂/手的储存/充电座。轨道系统3401可允许左右前后任何方向的水平移动。它可以是任何类型的轨道或轨迹,并且可容纳一个或多个机器臂和手。轨道系统3401可以有功率和控制信号,并且可包括控制和/或操纵所安装的机器臂所需的布线和其他控制电缆。标准化储存库3402可以是任何尺寸的,并且可以位于模块3381内的任何标准化位置。标准化储存库3402可用于药品、医疗设备和附件,或者可用于其他的患者物品和/或设备。标准化屏幕3403可以是单个或多个多用途屏幕。它可以用于互联网用途、设备监视、娱乐、视频会议等。可以有一个或多个屏幕3403安装在护理模块3381内。标准化衣柜3404可用于容纳患者的个人物品,或者可用于存储医疗或其他应急设备。可选模块3405可以耦接到标准护理模块3381或者与之位于一处,并且可包括机器人或手洗浴室模块、厨房模块、洗浴模块、或者在标准护理套房3381内治疗或容纳患者可能需要的任何其他配置模块。轨道系统3401可连接在模块之间,或者可以是单独的,并且可以允许一个或多个机器臂在模块之间横穿和/或行进。

图141是示出根据本申请的具有带一对机器臂3412和一对机器手3413的伸缩式提升机或机体3411的机器人护理模块3381的框图。机器臂3412通过垂直(上下)和水平(左右)移动的伸缩式升降机3411附接到肩部3414,作为移动机器臂3412和手3413的一种方式。伸缩式升降机3411可随着短管或长管或任何其他轨道系统而移动以用于拓展机器臂和手的长度。臂1402和肩部3414可在护理套件3381内的任何位置之间沿轨道系统3401移动。机器臂3412、手3413可沿轨道3401和升降系统3411移动以接近(access)护理套件3381内的任何点。以这种方式,机器臂和手可以接近床、柜、用于治疗的医疗车或轮椅。机器臂3412和手3413与升降机3411和轨道3401结合可以帮助提升患者坐到座位上或者到达站立位置,或者可以帮助将患者放在轮椅或其他医疗设备中。

图142是示出根据本申请的执行机器人护理模块的用于帮助老年患者的各种动作的第一示例的框图。步骤(a)可以在预定时间发生或可以由患者发起。机器臂3412和机器手3413从指定的标准化位置(例如,储存位置3402)获取药品或其它测试设备。在步骤(b)期间,机器臂3412、手3413和肩部3414经由轨道系统3401移动到床并且到达较低水平,可以转动以面对病床中的患者。在步骤(c)中,机器臂3412和手3413执行编程/所需的向患者给药的微操纵。因为患者可能正在移动而不是标准化的,所以可以利用基于患者、标准/非标准对象位置、取向的3d实时调整以确保结果成功。以这种方式,实时3d视觉系统允许对其他标准化微操纵进行调整。

图143是示出根据本申请的执行机器人护理模块的装载和卸载轮椅的第二示例的框图。在位置(a),机器臂3412和手3413执行从标准对象(例如轮椅)移动和提升老人/患者并将其置于另一标准对象上的微操纵,例如将其放在床上,通过基于患者、标准/非标准对象位置、取向的3d实时调整来确保成功的结果。在步骤(b)期间,在患者被移走之后,机器臂/手/肩可以转动并将轮椅移回到储存柜。另外地和/或替代地,如果存在多于一组臂/手,则当将完成步骤(a)时,步骤(b)可由一组臂/手执行。在步骤(c)期间,机器臂/手打开柜门(标准对象),将轮椅推回柜中并且关闭门。

图144描绘了用作人a3502和人b3504之间的促进器(facilitator)的人形机器人3500。在该实施例中,人形机器人充当不在同一地点的人之间的实时通信促进器。在该实施例中,人a3502和人b3504可以彼此远离地定位。它们可以位于同一建筑物诸如办公楼或医院内的不同房间中,或者可位于不同国家。人a3502可与人形机器人(未示出)位于同一位置或单独一人。人b3504也可与机器人3500位于同一位置。在人a3502和人b3504之间的通信期间,人形机器人3500可模仿人a3502的动作和行为。人a3502可配备有包含传感器的服装或套装,传感器将人a3502的动作转换成人形机器人3500的动作。例如,在一实施例中,人a可穿着配备有检测手、躯干、头、腿、臂和脚的运动的传感器的套装。当人b3504进入远程位置的房间时,人a3502可从就座位置起立并且伸手以与人b3504握手。人a3502的动作被传感器捕获,信息可通过有线或无线连接传送到耦接至广域网(诸如因特网)的系统。然后,传感器数据可以通过有线或无线连接实时地或接近实时地传送到3500,而不管其相对于人a3502的物理位置,所接收的传感器数据将在人b3504面前模拟人a3502的动作。在实施例中,人a3502和人b3504可通过人形机器人3500握手。以这种方式,人b3504可通过人形机器人3500的机器手感觉到与人a的手相同的握持定位和对准。如本领域技术人员将理解的那样,人形机器人3500不限于握手,可用于视觉、听觉、演讲或其他运动。它能够以人a3502与人b3504一起在房间时人a可完成的任何方式来辅助人b3504。在一实施例中,人形机器人3500通过用于人b的微操纵来模拟人a3502的动作以感受人a3502的感觉。

图145描绘了在人a3502的直接控制下用作人b3504的治疗师3508的人形机器人3500。在该实施例中,人形机器人3500基于人a的实际实时的或捕获的动作来充当人b的治疗师。在一实施例中,人a3502可以是治疗师,人b3504可以是患者。在一实施例中,人a在佩戴传感器服装时对人b执行治疗疗程。治疗疗程可通过传感器被捕获并且被转换成微操纵库以供随后由人形机器人3500使用。在替代实施例中,人a3502和人b3504可以彼此远离地定位。治疗师人a可以在穿着传感器服装时对替代患者或解剖学正确的人形机器人模型执行治疗。人a3502的动作可由传感器捕获并且经由记录和网络设备3506传送到人形机器人3500。然后将这些捕获和记录的动作传递到人形机器人3500以应用到人b3504。以此方式,人b可以基于预先记录的由人a执行的治疗疗程或人a3502远程实时执行的治疗疗程,接收来自人形机器人3500的治疗。人b将通过人形机器人3500的手感觉到与人a3502(治疗师)的手相同感觉(例如,软抓住的强抓住)。可以安排在不同时间/天(例如,每隔一天)对相同的患者执行治疗,或者也可以安排对不同患者(人c、d)执行治疗,每个患者具有其预先记录的程序文件。在一实施例中,人形机器人3500通过用于人b3504的微操纵来模拟人a3502的动作以替代治疗疗程。

图146是示出相对于机器手和臂安置移动臂所需的具有全转矩的电动机的第一实施例的框图,图147是示出相对于机器手和臂安置移动臂所需的具有减小的转矩的电动机的第二实施例的框图。机器人设计中的一个挑战是最小化质量进而重量,特别是在机器人操纵器(机器臂)的末端处,它需要最大的用于移动的力并且在整个系统上产生最大转矩。电动机是操纵器末端处的重量的重要贡献者。公开和设计新的重量轻动力强的电动机是缓解该问题的一种方式。在当前的电动机技术下,另一种优选的方式是改变电机的放置,使得它们尽可能远离末端,但仍向末端处的机器人操纵器传送移动能量。

一实施例要求将控制机器手72的位置的电动机3510不布置在其一般被布置的手附近的手腕处,而是进一步向上布置在机器臂70中,优选地恰在肘部3212下方。在该实施例中,将电动机布置得靠近肘部3212的优点可计算如下,从由手的重量引起的手72上的原始转矩开始。

toriginal(hand)=(whand+wmotor)dh(hand,elbow)

其中重量wi=gmi(重力常数g乘以对象i的质量),对于垂直角θ,水平距离dh=length(hand,elbow)cosθv。但是,如果电动机布置在远离关节的ε附近,则新的转矩为:

tnew(hand)=(whand)dh(hand,elbow)+(wmotor)∈h

由于电机3510在肘关节3212旁边,机器臂仅对转矩贡献ε距离,新系统的转矩中手的重量(包括手可能携带的物品)占主导。这种新配置的优点在于,手可以利用相同的电动机提升更大的重量,因为电动机本身对转矩贡献很小。

本领域技术人员将认识到本申请的这个方面的优点,并且还将认识到,需要小的校正因子来考虑用于将电机施加的力传递到手的装置的质量,这种装置可以是一组小的轴。因此,具有这种小的校正因子的完整的新转矩将是:

其中轴的重量施加半转矩,因为其重心在手和肘部之间的一半处。通常,轴的重量远小于电动机的重量。

图148a是示出供机器人厨房中使用的从悬挂座延伸的机器臂的图画示图。将理解,机器臂可沿悬挂轨道在任何方向上横越,并且可上升和下降以执行所需微操纵。

图148b是示出供机器人厨房中使用的从悬挂座延伸的机器臂的俯视图画示图。如图148a-148b所示,设备的安置可以是标准化的。具体地,在该实施例中,烤箱1316、炉灶面3520、水槽1308和洗碗机356定位得使机器臂和机器手知道它们在标准化厨房内的准确位置。

图149a是示出供机器人厨房中使用的从悬挂座延伸的机器臂的图画示图。图149b是图149a所示实施例的俯视图。图149a-149b描绘了图148a-148b所示的基本厨房布局的替代实施例。在该实施例中,使用“升降烤箱”1491。这允许在工作台和周围表面上有更多空间来悬挂标准化对象容器。它可以具有与图149a-149b所示的厨房模块相同的尺寸。

图150a是示出供机器人厨房中使用的从悬挂座延伸的机器臂的图画示图。图150b是图150a所示实施例的俯视图。在该实施例中,保持与图147a-147b和图148a-148b所示的厨房模块相同的外部尺寸,但是安装了升降烤箱3522。此外,在该实施例中,在两侧安装了附加的“滑动储存器”3524和3526。可以在这些“滑动储存器”3524和3526中的一个中安装定制冰箱(未示出)。

图151a是示出供机器人厨房中使用的从悬挂座延伸的机器臂的图画示图。图151b是示出供机器人厨房中使用的从悬挂座延伸的机器臂的俯视图的图画示图。在一实施例中,滑动储存隔间可被包括在厨房模块中。如图151a-151b所示,“滑动储存器”3524可安装在厨房模块的两侧。在该实施例中,总尺寸保持与图148-150所示的相同。在一实施例中,定制冰箱可安装在这些“滑动储存器”3524之一中。本领域技术人员将理解,存在可以针对任何标准化机器人模块实施的许多布局和许多实施例。这些变化不限于厨房或病人护理设施,也可用于建筑、制造、组装、食品生产等,而不脱离本申请的思想。

图152-161是根据本申请的机器人抓取选项的各种实施例的图画示图。图162a-162s是示出具有适于机器手的标准化手柄的各种炊具用具的图画示图。在一实施例中,厨房把手580被设计成与机器手72一起使用。设置一个或多个脊580-1以允许机器手每次在相同位置抓住标准把手,并且最小化滑动和增强抓力。厨房把手580的设计旨在是通用的(或标准化的),使得相同的把手580可附接到任何类型的厨房用具或其它类型的工具,例如刀、医疗测试探针、螺丝刀、拖把、或机器手可能需要抓取的其它附接件。在不脱离本申请的思想的情况下,可以设计其他类型的标准(或通用)手柄。

图163是在机器人厨房中使用的混合器部分的图画示图。如本领域技术人员将理解的那样,任何数量的工具、设备或器具都可被标准化并且设计为由机器手和机器臂使用和控制以执行任何数量的任务。一旦为任何工具或设备工件的操作创建了微操纵,机器手或臂就可以以相同且可靠的方式重复一致地使用设备。

图164a-164c是示出用于在机器人厨房中使用的各种厨房保持器的图画示图。它们中的任何一个或全部可被标准化并且用于在其他环境中使用。将理解,诸如胶带分配器、烧瓶、瓶子、样本罐、绷带容器等之类的医疗设备可被设计和实施为与机器臂和手一起使用。图165a-165v是示出操纵的示例的框图,但本申请不限于此。

本申请一实施例示出包括下列特征或组件的通用安卓(android)型机器人设备。机器人软件引擎,诸如机器人食物制备引擎56,配置为在仪器化或标准化环境中复现任何类型的人手动作和产物。从机器人复现得到的产物可以是(1)物理的,例如食品菜肴、绘画、艺术品等,和(2)非物理的,例如机器人设备在乐器上演奏乐曲、医疗保健辅助过程等。

通用安卓型(或其他软件操作系统)机器人设备中的几个重要元素可包括以下中的一些或全部、或与其他特征相组合。首先,机器人操作或仪器化环境操作机器人设备,为创建者和机器人工作室提供标准化(或“标准的”)操作体积维度和架构。第二,机器人操作环境为在环境内操作的任何标准化对象(工具、装置、设备等)提供标准化位置和取向(xyz)。第三,标准化特征延及但不限于标准化辅助成套设备、标准化辅助成套工具和设备、两个标准化机器臂和两个机器手(其非常类似功能性人手,可访问一个或多个微操纵库)、以及用于创建操作体积的动态虚拟三维视觉模型的标准化三维(3d)视觉装置。该数据可用于手动作捕获和功能结果识别。第四,提供具有传感器的手运动手套以捕获创建者的精确动作。第五,机器人操作环境在每个特定(创建者)产品创建和复现过程期间提供所需材料和食材的标准化类型/体积/尺寸/重量。第六,使用一种或多种类型的传感器来捕获和记录用于复现的过程步骤。

机器人操作环境中的软件平台包括以下子程序。当人手戴着具有传感器的手套来提供传感器数据时,软件引擎(例如,机器人食物制备引擎56)在创建过程期间捕获并记录臂和手运动脚本子程序。创建一个或多个微操纵功能库子程序。操作或仪器化环境基于人类(或机器人)在创建过程期间的手运动的时间线来记录三维动态虚拟体积模型子程序。软件引擎被配置为在人手的任务创建期间从库子程序中识别每个功能性微操纵。软件引擎定义人手的每个任务创建的相关微操纵变量(或参数),用于随后由机器人设备进行的复现。软件引擎记录来自操作环境中的传感器的传感器数据,其中可实施质量检查程序以验证在复现创建者的手部动作时机器人执行的准确性。软件引擎包括调整算法子程序,用于适应于任何非标准化情况(例如对象、体积、设备、工具或尺寸),其进行从非标准化参数到标准化参数的转换以便于任务(或产品)创建脚本的执行。软件引擎存储创建者手动作的子程序(或子软件程序)(其反映创建者的知识产权产品),用于生成软件脚本文件以供机器人设备随后复现。软件引擎包括产品或菜谱搜索引擎以有效地定位期望的产品。提供搜索引擎的过滤器以个性化搜索的特定要求。还提供电子商务平台以用于交换、购买和销售在指定网站上可用于商业销售的任何ip脚本(例如,软件菜谱文件)、食材、工具和设备。电子商务平台还提供用于用户交换关于感兴趣的特定产品或感兴趣区域的信息的社交网络页面。

机器人设备复现的一个目的是产生与创建者的手的原始创建相同或基本相同的产品结果,例如,相同的食物菜肴、相同的画、相同的音乐、相同的书法等。操作或仪器化环境中的高度标准化提供了一框架,在最小化创建者的操作环境和机器人设备操作环境之间的差异的同时,在考虑一些附加因素的情况下,机器人设备能够产生与创建者基本相同的结果。复现过程具有相同或基本相同的时间线,优选相同的微操纵顺序、每个微操纵相同的初始开始时间、相同的持续时间和相同的结束时间,同时机器人设备以相同的在微操纵之间移动对象的速度自主地操作。在记录和执行微操纵期间,对标准化厨房和标准化设备使用相同的任务程序或模式。可以使用诸如三维视觉和传感器之类的质量检查机制来最小化或避免任何失败结果,其可以对变量或参数进行调整以适应非标准情况。当机器人设备试图复现创建者的活动以期望获得相同的结果时,省略使用标准化环境(即,创建者的工作室和机器人厨房之间不是相同的厨房体积,不是相同的厨房设备,不是相同的厨房工具,也不是相同的食材)增加了不获得相同结果的风险。

机器人厨房可以在至少两种模式下操作,即计算机模式和手动模式。在手动模式期间,厨房设备包括操作控制台上的按钮(在记录或执行期间,不要求识别数字显示器的信息或不要求通过触摸屏输入任何控制数据以避免任何输入错误)。在触摸屏操作的情况下,机器人厨房可提供用于识别屏幕的当前信息的三维视觉捕获系统,以避免不正确的操作选择。软件引擎可与标准化厨房环境中的不同厨房设备、不同厨房工具和不同厨房装置一起操作。创建者的限制是在传感器手套上产生手动作,其能够由机器人设备执行微操纵来复现。因此,在一实施例中,能够由机器人设备执行的微操纵库(或多个库)用作对创建者运动活动的功能限制。软件引擎创建三维标准化对象的电子库,包括厨房设备、厨房工具、厨房容器、厨房用具等。预先存储的每个三维标准化对象的外形尺寸和特性节省了资源并且减少了从电子库生成对象的三维建模的时间量,而不必实时创建三维建模。在一实施例中,通用安卓型机器人设备能够创建多个功能结果。功能结果从机器人设备的微操纵执行产生成功或最佳结果,例如人形机行走、人形机跑步、人形机跳跃、人形机(或机器人设备)演奏音乐作品、人形机(或机器人设备)绘画、以及人形机(或机器人设备)制作菜肴。微操纵的执行可以顺序地、并行地进行,或者一个先前的微操纵在下一个微操纵开始之前必须完成。为了使人与人形机之间更舒适,人形机将以对周围的人舒适的步伐进行与人相同(或基本相同)的活动。例如,如果一个人喜欢好莱坞演员或模特走路的方式,则人形机可利用展现好莱坞演员(例如安吉丽娜·朱莉)运动特性的微操纵来操作。人形机也可定制有标准化的人类型,包括皮肤外观覆层、男人形机、女人形机、身体、面部特征、以及体形。人形机覆层可利用三维打印技术在家中生产。

人形机的一个示例操作环境是一个人的家:一些环境是固定的,而另一些不是。房屋环境越被标准化,则操作人形机时的风险越小。如果指示人形机拿一本书,其不涉及创建者的知识产权/智力思维(ip),它需要没有ip的功能结果,人形机将浏览预定义的家庭环境,并执行一个或多个微操纵来拿书并把书交给人。先前在人形机进行其初始扫描或执行三维质量检查时,已经在标准化家庭环境中创建了诸如沙发之类一些三维对象。人形机可能需要为人形机未识别或先前未定义的对象创建三维建模。

图166a-166l中的表a示出厨房设备的样品类型,其包括厨房配件、厨房用具、厨房计时器、温度计、香料研磨机、量具、碗、套件、切片和切割产品、刀、开瓶器、支架和保持器、剥皮切割用具、瓶盖、筛子、盐和胡椒粉瓶、洗碗机、餐具配件、装饰品和鸡尾酒、模具、测量容器、厨房剪刀、存储器具、隔热垫、带钩的轨、硅垫、磨碎机、压力机、磨碎机、磨刀器、面包箱、用于酒精的厨房盘、餐具、用于茶、咖啡、甜点等的碗碟、餐具、厨房用具、儿童餐具、成分数据列表、设备数据列表和菜谱数据列表。

图167a-167v示出表b中的食材的样品类型,包括肉类、肉制品、羊肉、小牛肉、牛肉、猪肉、鸟类、鱼类、海鲜、蔬菜、水果、杂货、奶制品、鸡蛋、蘑菇、奶酪、坚果、干果、饮料、含酒精的饮料、绿叶蔬菜、草本植物、谷物、豆类、面粉、香料、调味品和制备的产品。

图168a-168z中的表c示出食品制备、方法、设备和烹饪的样品列表,多种样品基材示于图169a-169z15。图170a-170c中的表d示出菜系和食物菜肴的样品类型。图171a-171e示出机器人食物制备系统的一实施例。

图172a-172c示出机器人制作寿司,机器人弹钢琴,机器人通过从第一位置(a位置)移动到第二位置(b位置)来移动机器人,机器人通过从第一位置跑到第二位置、从第一位置跳到第二位置来移动机器人,人形机从书架取书,人形机将袋从第一位置拿到第二位置,机器人打开罐,以及机器人将食物放碗中供猫食用。

图173a-173i示出用于机器人执行测量、灌洗、供氧、体温维持、导管插入、物理治疗、卫生程序、喂食、分析取样、造口和导管护理、伤口护理、以及药品管理方法的样本多层级微操纵。

图174示出用于机器人执行插管、复苏/心肺复苏、失血补充、止血、对气管切开的紧急处理、骨折、以及伤口缝合(拆除缝线)的样本多层级微操纵。图175示出样本医疗装置和医疗设备的列表。

图176a-176b示出具有微操纵的样本护理服务。图177示出另一样本设备列表。

图178是示出如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、可从华盛顿雷蒙德的微软公司获得的microsoftwindows7、可从加利福尼亚桑尼维尔的palm公司获得的webos或者任何其他适于在所述装置上使用的操作系统。在一些实施例中,用于实施本申请的电子装置包括用于通过一个或多个网络通信的功能,例如,所述网络包括蜂窝电话网、无线网络和/或诸如internet的计算机网络。

可以采用“耦接”和“连接”及其派生词描述一些实施例。应理解,这些术语并非意在彼此同义。例如,可以在采用词语“连接”指示两个或更多元件相互直接物理或电接触的情况下描述一些实施例。在另一范例中,例如,可以在采用词语“耦接”指示两个或更多元件直接物理或电接触的情况下描述一些实施例。不过,术语“耦接”也可以表示两个或更多元件彼此不直接接触,但仍然彼此协作或交互作用。实施例不限于这种语境。

文中采用的词语“包括”、“包含”、“具有”或者它们的任何其他变型意思是非排他性地包含。例如,包括一系列元素的过程、方法、物品或设备未必仅局限于这些元素,而是可以包括其他未明确列举的或者这样的过程、方法、物品或设备所固有的元素。此外,除非做出明确的相反陈述,否则“或”是指包含性的或而非排他性的或。例如,条件a或b可由下面的任何一项满足:a为真(或存在)并且b为假(或者不存在)、a为假(或不存在)并且b为真(或存在)、以及a和b均为真(或存在)。

文中采用的单数冠词定义为一个或不止一个。文中采用的词“多个”定义为两个或不止两个。文中采用的词“另一个”定义为至少第二个或更多。

普通技术人员在开发文中描述的方法和系统的过程中将不需要额外的说明,但是通过查验相关领域的标准化参考著作可以找到一些有可能对这些方法和系统的准备有帮助的指导。

尽管已经联系有限数量的实施例描述了本申请,但是得益于上文的描述的本领域技术人员将认识到在不背离文中描述的本申请的范围的情况下可以设计出其他实施例。应指出,说明书中采用的措辞主要是出于易读性和指导目的而加以选择的,选择其的目的并非在于勾勒或者限制本申请的主题。不应将下面的权利要求中采用的术语推断为使本申请局限于说明书和权利要求中所公开的具体实施例,而是应当将这些术语视为包含落在下文阐述的权利要求的范围内的所有方法和系统。相应地,本申请不受本公开的限定,相反其范围完全由下述权利要求决定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1