机器人的模块化制造的制作方法

文档序号:16506818发布日期:2019-01-05 09:05阅读:278来源:国知局
机器人的模块化制造的制作方法

本专利涉及数字数据处理领域,并且更具体地涉及用于制造机器人的方法和系统。



背景技术:

制造现代机器人可能很复杂。例如,人形机器人可能要求设计和组装许多机械部件和电子部件。

在现有的机器人中,可以以若干不同的方式执行相同的给定功能。这种缺乏同质性和标准化导致成本增加。例如,诸如在机器人上点亮led之类的简单操作可以以许多不同的方式(即,以电子设备和固件)实现。



技术实现要素:

公开了一种处理(例如,制造、设计、组装)机器人的方法,包括以下步骤:发现多个通用组件,所述通用组件在机器人中是互连并且非功能性的;确定机器人中的每个通用组件的空间方位;取回与每个通用组件相关联的相应固件;通过利用所述取回的固件对所述通用组件的固件进行刷新(flash)或编程,将通用组件修改为经指定的组件。所描述的开发包括使用加密机制,使用一个或多个引导加载器,使用对固件的分散式或分布式存储以及使用预定义和/或预配置的硬件抽象层。描述了软件和系统方面(例如,多主端(master)架构)。

有利地,根据本发明的方法简化了嵌入式电子设备和相关联的固件设计,从而减少了机器人的设计开发周期中的上游设计约束。

有利地,本发明的实施例通过提供规模经济(以很高的量生产少量通用组件)来减少成本。

有利地,根据本发明的方法减少了组装部件以获得机器人所要求的时间。

有利地,在一些实施例中,可以重用软件开发努力。针对给定机器人模型开发的内容几乎可以完全重用于另一模型。只有功能性的差异可能要求进一步的开发努力。

有利地,本发明的实施例减少了涉及对制造的机器人执行的测试的约束。标准化并且大量重用不同组件,要求较少的新单一测试(测试对于给定平台是有效的,对此可以建议进行系统性测试)。

有利地,本发明的实施例允许通过重用现有的和标准化的模块但是通过以不同的顺序重新布置这些模块来快速创建新的机器人。

有利地,本发明的实施例允许容易地将新功能添加到现有机器人模型,而不要求机器人架构(即,软件和/或硬件)的深度改变。

有利地,与本发明的实施例相关联的进一步的积极方面包括改进的维护(可以容易、快速且成本高效地替换损坏的部件)。

有利地,本发明的实施例导致机器人模型的更快演变。如果对通用模块带来改进,则机器人的其余部分将自动从中受益。

有利地,本发明的实施例降低了测试要求(要求对有限的一组组件进行测试)。

有利地,公开了一种高度可重新配置的机器人。

有利地,所描述的安全机制使得能够控制(例如,禁止)未授权的复制(例如,对固件的复制)。除了数字版权管理的方面之外,所描述的安全机制还可以确保根据本发明组装的机器人是可靠的(即,安全的、真实的)。互连的部件各自可靠,全局机器人设计也是如此。

附图说明

现在将通过示例的方式参考附图来描述本发明的实施例,在附图中,相同的附图标记表示类似的元件,并且其中:

图1示出了根据本发明的通用组件的架构的示例;

图2示出了根据本发明的实施例的与已经被指定的通用组件相关联的机械部件的一些示例;

图3示出了通过指定通用组件来制造机器人的方法的一些方面;

图4示出了与通过指定通用组件(即,功能分配)来制造机器人的方法相关联的系统视图;

图5示出了根据本发明的方法的步骤的示例。

具体实施方式

公开了通过将所发现的机器人的通用组件指定为经指定的组件来处理(例如,制造、设计、组装)机器人(例如,人形机器人)的方法和系统。开发包括使用预定义的固件和/或可配置的固件/经配置的固件来对机器人的组件进行编程或重新编程,使用一个或多个引导加载器,使用对固件的分散式或分布式存储以及使用预定义和/或预配置的硬件抽象层。描述了软件和系统方面(例如,多主端架构)。

如本文所使用的,“组件”表示机器人的部件。取决于上下文,“组件”也可以称为“部件”、“电路”、“板”或“块”。“通用”组件也可以称为“基础”组件。现成地,“通用”组件是非功能性的。“通用”组件是未经指定的。

在实施例中,公开了一种处理(例如,制造、设计、组装)机器人的方法,该方法包括以下步骤:发现多个通用组件,所述通用组件在机器人(或预想的机器人)中是互连并且处于非功能性(或非工作状态)的;确定机器人中的每个通用组件的空间方位;取回与每个通用组件相关联的相应固件(从多个预配置的固件之中选择的);可选地例如根据与组件相关联的要求来修改或配置所述固件,通过利用所述取回的固件对所述通用组件的固件进行编程或刷新将通用组件修改为经指定的组件。

在开发中,该方法还包括取回与通用组件相关联的特殊要求的步骤。在开发中,该方法包括接收与组件(至少一个目标或目的地组件)相关联的至少一个特殊要求的步骤,所述要求例如包括配置参数(例如,通过参考硬件抽象层),并且该方法还包括例如取决于特殊要求(例如,根据特殊要求)对与所述通用组件相关联的取回的相应固件进行配置的步骤。通信可以是静态的和/或动态的(例如,还取决于针对机器人的其他部件接收的其他特殊要求或特定要求)。

在开发中,通过使用(或利用)加密机制(或方案)来保护固件刷新或编程步骤。

在开发中,加密机制是对称加密方案。

在开发中,加密机制是非对称加密方案。

在开发中,与一个或多个通用组件相关联的相应固件的存储是分散式和/或分布式的(存储与一个或多个通用组件相关联的相应固件的步骤以分散式和/或分布式方式执行)。

在开发中,确定每个通用组件的空间方位的步骤由外部逻辑执行。在开发中,通过参考预定义的映射来执行确定每个通用组件的空间方位的步骤,该预定义的映射例如在预定义的硬件抽象层中定义。

在开发中,通过参考预定义的硬件抽象层来执行进一步配置取回的(通用的或特定的)固件的步骤。

在开发中,通过在通用组件对等体之间进行的迭代协商来执行确定每个通用组件的空间方位的步骤。

公开了一种计算机程序,包括用于当所述计算机程序在合适的计算机设备上执行时执行该方法的步骤的指令。

公开了一种系统,包括适于执行该方法的步骤的单元。

在开发中,该系统包括一个或多个通用组件,所述通用组件在机器人中是互连并且处于非功能性状态的;并且通用组件包括(a)硬件电子设备,所述硬件电子设备包括(i)非易失性存储器,其适于存储固件指令,该固件指令当由合适的处理器执行时,使得所述处理器执行该方法的一个或多个步骤,以及(ii)引导加载器(例如,有条件地授权固件刷新和/或删除)。

在开发中,该系统还包括(b)机械部件。

在开发中,机械部件与关节链相关联,关节链选自包括肩部或肘部或腕部或颈部的组。

在开发中,通用组件被配置为与外部传感器和致动器交互。

在开发中,该系统包括控制多个从设备的全局主设备,所述从设备包括一个或多个通用的经指定的组件。

在开发中,该系统包括多个互连的全局主设备。

公开了一种用于设计和组装机器人(例如,人形机器人或更一般地移动机器人)的模块化架构。

公开了一种将构成机器人的一个或多个组件或电路从通用(未经指定的)状态指定为特定(经指定的状态)的机构,所述专门化(指定)至少部分地取决于机器人中的所述一个或多个组件的相应的位置或方位(例如,考虑到所考虑的机器人的一个或预定义的最终架构)。

对电路进行指定的步骤可以包括多个步骤。例如,其可以包括向所述电路分配功能的步骤,例如,通过在多个预定义的固件之中选择固件,通过可选地修改所述选择的固件(例如,通过参考硬件抽象层,首字母缩写为hal;例如,如果目的地电路的一个或多个特殊要求被接收和/或识别),并且通过将所选择的适当固件(可能被修改和/或配置)刷新到电路。

在一些实施例中,所述部位可以由第三方(例如,人类操作者、外部逻辑)来确定和/或是自发现的(通过对等协商)。

图1示出了根据本发明的通用组件的示例性表示。

根据本发明的组件的“通用性”的性质呈现与生物学中“效能”的性质的相似性。实际上,在细胞生物学中,“全能”或“万能”干细胞可以分化成胚胎细胞类型,这反过来可以导致完整且有活力的生物体。机器人中的机电对应物的等效物通常是遥不可及的。“复能”干细胞可以分化成几乎所有细胞类型。在机器人学中几乎无法获得等效物。“多能”干细胞可以分化成许多细胞类型,但只能分化成密切相关的细胞族。取决于正在制造的机器人的最终架构,可以定义等效的通用组件(例如,可以指定低级别通用组件分化成受限但大量的机器人部件)。“寡能”干细胞可以分化成仅几种细胞类型,例如,淋巴干细胞或骨髓干细胞。再次,合理且可行的工程可以定义这种受限的分化。“单能”细胞只能产生一种细胞类型。机器人学中的对应物通常不会在此级别呈现特别的兴趣。作为结论,根据本发明的通用组件可以充当“多能”细胞(最多)或“寡能”细胞(最小),或处于中间状态(机器人特定性)。

在本发明的实施例中,根据预定义的“参考设计”来制造通用组件(即,目的论,了解最终结果或目标)。这种参考设计可以对应于“机器的图像”。若干参考设计是可能的(可以执行选择)。这种参考设计可以对应于底层效能方案(共同标准)。

关于其结构特征,通用组件100包括硬件(110、120)和软件111(例如,引导加载器)。硬件包括电子设备(cpu、存储器、i/o等),并且可以可选地包括机械部件120。

关于电子设备,通用组件(未经指定状态)包括用于通信的基本元件。特别地,通用组件包括“引导加载器”。在功能方面,每个通用组件(或机器人中存在的通用组件的至少一部分)包括使得能够使用该通用组件的数据(例如,诸如序列号、校准数据等之类的数据)或有权使用这样的数据。

关于机械硬件,通用组件可以包括(可选的)机械部件120或适于与未示出的预定义的机械设备或机器人的部件(即,传感器和/或致动器)耦合(或交互)。

图2示出了根据本发明的实施例的与已经被指定的通用组件相关联的机械部件的一些示例。

该图示出了与物理元件202(csam,圆柱形球形致动器模块)交互的通用组件210。物理元件202例如包括圆柱形电动机221和球形电动机222(系统呈现两个自由度231和232)。

图3示出了经指定的组件的示例。

取决于在机器人中的最终位置,通用组件210与机械部件202的所述组合例如可以形成肩部301或肘部302或腕部303或颈部(未示出)。

更一般地,本发明的实施例可以应用于与任何数量的自由度相关联的部件(即,显著地更复杂的部件)。

通用组件(或部件或电路或板或块)潜在地可以实现或执行若干不同的任务或功能。在实施例中,并非机器人中期望的所有可能功能都可在通用组件中激活。为了节省成本,要在机器人中实现的期望功能被结构化为组,即,给定种类的通用组件仅包括可激活功能的选择。

例如,希望向机器人提供发光二极管(led),通用组件实际上可以在其电路上包括led,但是所述组件在专门化步骤之前可能“不了解”其自身的能力。在主设备刷新固件(利用通用的和/或特定的或经配置的固件)后,通用组件成为经指定的组件。在实施例中,经指定的组件可以直接控制其自身的电路上的led。在实施例中,主设备可以直接控制经指定的组件的电路上的led(充当桥接器或中继器,即,发送通信)。在实施例中,主设备和经指定的组件两者可以对led控制做出贡献。

在硬件升级的情况下,全局主设备例如可以发现一个或多个添加的组件;功能的全局映射(鉴于相应电路的能力)可以确定对新添加的一个或多个组件进行的进一步刷新步骤(和/或对现有组件进行重新配置)。可以获得新功能(例如,可以在固件中实现新配置以能够控制多于一个led)。

图4示出了与通过对通用组件进行指定(即,向每个发现的组件或机器人的部件分配功能)来制造机器人的方法相关联的系统视图。

使用与不同的抽象级别相关联的这种通用模块,公开了一种制造机器人化系统的方法。

在实施例中,每个模块首先是通用模块,即潜在地能够执行不同的功能。然后向所述通用模块指派特定功能(或角色),所述指派取决于制造过程。

根据本发明,机器人的不同部件可以在没有预定义或其他方式的刚性顺序的情况下组装。每个部件的有效方位将创建部件之间的差异,并且将取决于这些不同部件的实际和有效方位来定位不同的功能。

图5示出了根据本发明的方法的步骤的示例。

在实施例中,该方法包括发现被制造的机器人中存在的不同组件或模块(例如,确定存在或不存在一个或多个通用组件)的步骤510。

作为物理实体的不同通用组件在组装生产线上被放置和电互连(由人类操作者或制造者机器人)。一旦机器人的不同部件被物理地组装(机械和电互连),则执行以下步骤。

在实施例中,该方法包括枚举所述不同组件或模块的步骤。在实施例中,通过在全局主设备与从设备之间进行“自动”交互来获得所述枚举。在实施例中,枚举是通过第三方(例如,人类操作者或制造设施中的制造机器人)的声明或“手动”动作获得的。

更详细地,逐步确定网络的拓扑(“神经系统”)。通过发现和枚举,确定全局系统内的不同通用设备的相应方位。

一旦了解所述拓扑,则主设备(其为全局主设备,而不是本地主设备)向不同的通用组件分配不同的功能。

一旦确定机器人的拓扑,则全局主端依次刷新(步骤520)已经检测到的每个且每一个通用组件的固件。因此,根据机器人系统的本地和全局视图来执行不同的固件升级。

通过参考所谓的“参考设计”或“硬件抽象层(hal)”或“参考映射”来执行所述分配。换言之,可以预定义一个或多个“机器的(多个)图像”。

全局主端与被组装的通用组件中的每个通用组件进行交互。特别地,询问每个通用组件以了解其是否与一个或多个特殊要求相关联。

例如,每个通用组件传送其相应的序列号,公共加密密钥(如果适用)以及其他信息(例如,该通信组件是否与第三方组件连接或通信,与该第三方组件进行某些通信是要求的)。

全局主端将正在进行的映射与预定义的参考映射进行比较,确认对预定义的机器人模型的选择。

然后,全局主设备确定“映射”,即,特定的功能分配。

然后执行高效的固件更新。全局主端——一次或逐步地——向每个可用的通用组件传送与分配给这些通用组件中的每个通用组件的、期望的未来功能相对应的相应适当固件。

分配可以是“静态的”(手动模式)或“动态的”(到达生产线的部件的恒定流动和按机会分配)。

在实施例中,一次执行固件刷新操作(当确定整个拓扑时)。在实施例中,固件刷新操作即时地执行(例如,一旦确定合适的通用组件可用或可得到,则对其进行刷新)。

作为分配或“指定”阶段530的一部分,通用组件(作为“干细胞”)被“指定”或“专门化”为经指定的组件。在实施例中,通用组件接收导致其指定或专门化的数据:其接收固件(第一次或作为固件更新)和/或配置参数。

例如,如果放置或以其他方式确定为用作臂部的特定链,则相应地刷新与所选择的通用组件相关联的固件。也可以在刷新之前进一步配置通用固件。

现在描述涉及安全性的实施例。

在可选实施例中,可以通过使用加密机制来保护一个或多个固件更新。

在实施例中,固件升级是最终确定的(不可逆的,例如,通过一次写入固件)。在实施例中,固件刷新是可逆的(读取-写入)。在实施例中,固件改变是有条件地可逆的(例如,要求加密密钥)。在实施例中,通过使用加密机制(例如,使用对称或甚至公共密钥加密方案)来保护固件升级。

可以保护取消指定和/或指定步骤(通过软件加密和/或机械保护措施)。例如,如果从机器人中移除经指定的组件(例如,出于维护目的),则可能要求工厂重置以能够再次和/或在另一机器人中使用所述组件。一些加密机制可以阻止或授权在组件中实现新功能。

在实施例中,根据本发明的方法和/或系统可以使用一个或多个“引导加载器”。

“引导加载器”是不能被另一电路或机器人的部件擦除或以其他方式修改的软件。根据本发明的引导加载器通常可以由存在于组件或板的电路上的处理器执行。引导加载器可以刷新组件中的固件。引导加载器还可以检查给定固件是否与其板兼容和/或所述固件是否合法或真实或安全或可靠(或通过执行比较和验证来检查其可接受程度)。通过使用加密机制,引导加载器可以有条件地授权对一个或多个组件的固件刷新(即,删除经指定的组件的固件或刷新通用组件中的新固件)。

在实施例中,根据本发明的“引导加载器”要求对称加密(密码)密钥(例如,aes)以启用/解锁对相关联的固件的刷新。

对称密钥算法使用相同的密码密钥来进行明文加密和密文解密两者。实际上,密钥表示能够用于维护私人信息链接的两方或更多方之间的共享秘密。

在实施例中,每个对称密钥是机器人相关的(并且不在另一机器人中使用)。换言之,具有机器人a的对称密钥不能用于对机器人b的固件进行解密。接下来,为了将机器人b的经指定的部件用于机器人a,所述经指定的部件必须通过利用机器人b的对称密钥对固件进行刷新来取消指定;如果成功,则引导加载器可以擦除机器人b的前对称密钥,并且将机器人a的新密钥安装在机器人b的部件中,该部件随后完全成为机器人a的部件。

因此,使用加密机制使得能够有条件地锁定给定电路上的固件(通过阻止对未授权固件的刷新)。在实施例中,根据本发明的通用组件要求预定义的对称密钥(在制造时定义)。

在实施例中,可以使用非对称加密方案(公共密钥和私有密钥对)。

在实施例中,可以使用对称加密和非对称加密的组合。

关于安全性(例如,符合标准iso13482),网络还可以包括一个或多个本地主端(主节点或主设备),其可以控制由全局主端提供的命令——以及命令的正确执行。在所述全局主端故障的情况下,所述本地主端可以移交操作(例如,以保护机器人,防止机器人落在地上或执行可能伤害机器人附近的人的危险移动)。这样的多个本地主端可以称为“多主端”。当要满足特定级别的可靠性时(例如,当机器人旨在与人类用户进行交互时),可以实现这种架构。

现在描述涉及固件的存储的特定实施例。

在实施例中,全局主设备存储刷新一个或多个通用组件必要且充分的数据521。在实施例中,通用组件可以包括持久性或其他方式的非易失性存储器,实现对用于一个或多个通用组件的专门化/指定的数据521的分散式存储。

在实施例中,每个通用组件包括这样的分散式存储器。

在实施例中,通用组件的至少一部分可以包括这样的存储器(适于存储用于执行的固件)。

在实施例中,在机器人的第一次启动或引导时,执行第一次校准:每个通用组件接收执行其固件更新必要且充分的信息(该控制由全局主端执行,但是对相应固件和/或组件数据的存储可以可选地是分散式的,如先前描述的)。一旦刷新,则相关的固件数据由每个相关组件存储,并且然后指定整个机器人(并且下一次重新引导可以跳过校准步骤)。

在实施例中,使用数据(例如,版本化等)可以存储在与一个或多个组件相关联的一个或多个存储器中,例如,出于维护目的。

关于多个主设备(“多主端”架构)的使用,现在描述涉及反射(reflex)和预射(preflex)的实施例。

在一些实施例中,根据本发明的主设备和从设备可以实现“反射”和“预射”。

反射动作是响应于刺激的无意识且几乎瞬时的运动。反射请求更高的大脑控制(全局主端)。预射表示肌肉骨骼系统中的潜在容量,其使运动自动稳定,通常具有零延迟内部反馈回路。预射不一定请求更高的大脑控制(其可以请求从设备)。

在实施例中,机器人的处理能力可以在空间中分布,例如,通过实现“预射”或“本地”反射(没有全局主端的任何干预)。在这样的实施例中,可以在每个本地组件中实现中央模式生成器(cpg)以对全局主端的计算资源进行备用。

所公开的方法可以采用完全硬件实施例(例如,fpga)、完全软件实施例或包含硬件元件和软件元件两者的实施例的形式。软件实施例包括但不限于固件、驻留软件、微代码等。本发明可以采用从提供程序代码的计算机可用或计算机可读介质可得到的计算机程序产品(例如,引导或辅助制造机器人的软件)的形式,该程序代码由计算机或任何指令执行系统使用或与计算机或任何指令执行系统结合地使用。计算机可用或计算机可读的可以是能够包含、存储、传送、传播或传输程序以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的任何装置。介质可以是电子、磁、光、电磁、红外或半导体系统(或装置或设备)或传播介质。

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