作者: Víctor Mayoral-Vilches 和 Giulio Corradi,赛灵思公司
连载一:什么是自适应机器人?
机器人是一种系统级的系统,它由感知周边环境的传感器、根据感知采取行动的致动器和负责处理数据的计算构成,用于对其应用做出连贯一致的响应。在很大程度上机器人技术是一种系统集成的艺术,从软件的角度和硬件的角度看皆是如此。以往的研究揭示,在机器人领域中多达 70% 的资源被用于集成,而不是用于开发最终应用。直到最近,随着较低端的工业机器人走向大规模普及化,机器人公司才开始在硬件基础上着重软件开发。尽管如此,机器人仍然是高度专业化的系统,旨在以高可靠性和高精度执行一系列任务。因此,机器人内部的硬件和软件能力之间的关系十分重要。
大多数机器人通过内部网络交换信息并满足时序要求。从这种意义上来讲,机器人属于时间敏感型网络。
机器人系统机载资源通常有限,包括存储器、I/O 和磁盘或计算功能,从而阻碍了系统集成进程,使之难以满足非结构化、动态和不断变化环境的实时性要求。随着机器人内部网络安全的发展,这一点更是如此,因为它经常会在使用寿命方面给机器人带来新的要求,这需要修改机器人的逻辑,从而对实时环路产生影响。因此,为机器人系统选择合适的计算平台至关重要,该平台既要简化系统集成、符合功耗限制,同时也要适应机器人应用不断变化的需求。
自适应机器人是指那些能够成功应对新状况的机器人。要成为一个名副其实的自适应机器人,必须具备以下三大基本特征中至少一个:自适应行为、自适应机电一体化、自适应计算。拥有全部三大基本特征的机器人,则可被视为“全自适应机器人”。
总而言之,机器人是能够以高可靠性和高精度执行一系列任务的高度专业化的系统。机器人内部的硬件和软件能力之间的关系十分重要。因此,为机器人系统选择合适的计算平台至关重要。该平台既要能够简化系统集成、符合功耗需求,同时也要能够适应机器人应用不断变化的需求。
自适应机电一体化 (Adaptive mechatronics)是一个业已存在数十年的概念。Gosselin 从机械的角度探讨这个课题,并将自适应系统定义为能够成功响应新状况的系统。此外,他还将自适应机器人机械系统定义为自适应系统,即通过高度依赖机械属性,能够适应外部的新状况。Gosselin 提供了各种纯粹依靠机械构造的自适应机器人系统的雏形示例,包括自适应机器人手。
此外,Ivanov 也从纯机械角度研究自适应机器人,在研究中他提议自适应机器人应考虑使用自适应电力驱动装置,根据载荷改变电力驱动装置的输出。他将这种自适应行为命名为自调节 (self-regulation),并认为自适应电力驱动装置能在机器人应用中实现高能效。通过采用传感器输入控制机制将这项研究延伸到机电一体化领域,产生了一项有关采用传感器反馈实现自适应机器人控制的研究。示例包括视觉反馈或力传感器反馈等。
机器人的自适应行为并非新颖概念。它可追溯到上世纪 80 年代中期 Brooks 提出的基于行为的机器人方法和他的包容式架构 (subsumption architecture)。在上世纪 90 年代,不同的研究小组都在研究如何让机器人具备灵活应变能力和自我组织能力,从而提高机器人的自主性。他们往往是通过某种控制机制(使用某种形式的人工神经网络与机器人的传感器和致动器相连)来实现的。后来的 Ziemke在其研究中总结了这种方法,提出了自适应神经机器人的概念。这种概念创造性地率先使用“自适应机器人”一词,指代用人工神经系统和自适应技术控制自主主体。
最近,在《Robotic Fabrication in Architecture, Art and Design 2018》的机器人专辑中,作者援引“自适应机器人”的说法,指通过添加感知和处理实现的完全自适应行为(与 Ivanov提出的“自适应机器人”概念不同,后者主要关注机械构造角度)。根据原文,自适应机器人是指能够通过加装传感器,适应不断变化的环境条件和材料特性,同时在一定程度上保持可预测性的机器人。与该研究同时代、同思路的 Mayoral-Vilches 等提出自主适配机器人的概念。这个概念利用硬件模块化和人工智能(指上世纪 90 年代的自适应神经机器人趋势)节省构建这种机器人所需的工作量和时间。
自适应计算是自适应机器人第三大基本特征。对于机器人而言,它指的是机器人能够在运行过程中适配其计算系统的一个或多个属性(如确定性、功耗或吞吐量)。正如“What is adaptive computing?”中介绍的,FPGA 是实现自适应计算的理想技术。
FPGA 最早由赛灵思联合创始人之一 Freeman 在 1984 年提出,它为自适应计算奠定了基础。FPGA 兼具通用性和强大功能,同时效率高、成本低。因为在 FPGA 上实现其他处理架构,还可以实现并行处理,因此 FPGA 可以用于处理几乎任何机器人内部的任务。让 FPGA 成为自适应计算的另一特征在于,能够针对每一种机器人应用的需求专门定制数据路径宽度和寄存器长度。如何在机器人中使用自适应计算的示例包括为加速运动规划而设计的计算流水线、分布式同步或时间敏感型弹性通信等。