面向化学实验室自动化的自适应机器人框架
22年12月来自多伦多大学-Vector研究所、滑铁卢大学和Nvidia公司的论文“An Adaptive Robotics Framework for Chemistry Lab Automation”。
在材料发现过程中,化学家目前需要进行许多费时费力且往往存在危险的实验室实验。为了加速这一过程,提出一种机器人辅助化学家自主进行实验室实验的框架。该方案使通用机器人能够执行各种化学实验,并高效利用现有的实验室工具。系统可以加载化学实验的高级描述,感知动态工作空间,并自主规划所需的动作和运动,从而利用现有实验室环境中的常用工具完成给定的化学实验。架构采用改进的PDDLStream求解器进行集成任务和约束运动规划,生成的规划和运动能够通过防止碰撞和溢出来确保安全。提出一种模块化框架,可以扩展到许多不同的实验、动作和实验室工具。在这项工作中,通过三种倾倒技能和两种材料合成的基础化学实验(溶解度和重结晶)来展示框架的实用性。

化学实验室工具的操作技能与集成,在实验室自动化进程中,机器人需在工作空间内与各种工具及物体交互,并掌握一系列实验室操作技能。部分技能可利用化学实验室现有的各类仪器与传感器(如天平、搅拌台、pH传感器及加热设备)来完成;而另一些技能目前则主要依靠人工操作或昂贵的专用仪器。在“自动驾驶实验室”(self-driving lab)中,机器人应通过有效利用各种传感输入信息来计算并执行相应的操作指令,从而掌握这些技能。“倾倒”是化学实验室中的一项常见操作。近期研究 [9, 10] 探索了利用机械臂结合视觉与重量反馈进行液体倾倒的方法。文献 [9] 提出了一种结合系统辨识与模型先验知识的最优轨迹生成方案。文献 [10] 则采用基于人类示范的自监督学习方法,实现了以类人速度使用多种容器进行注水操作,并达到了毫升级的精度。本研究在使用具有反馈延迟特性的商用天平进行倾倒操作时,也获得了类似的结果。我们的方法无需依赖特定模型,且同样适用于颗粒状固体的倾倒。颗粒状固体的动力学特性与液体截然不同,其行为类似于“雪崩”现象。最后,在执行化学实验的过程中,机器人还需具备相应的感知能力,以监测任务的进展情况。例如,在溶解度实验中,机器人应能感知溶质何时完全溶解,从而停止向溶液中继续添加溶剂。测量溶解度的方法多种多样;本研究采用的是浊度测量法 [6],该方法基于悬浮颗粒对光线的散射与吸收等光学特性 [17]。
化学实验对于材料科学领域发现新材料或验证假设至关重要。此类实验通常由化学家人工进行,不仅费时费力,而且往往难以复现。目前,人们正致力于实现“自动驾驶实验室”(self-driving labs)[1, 2],旨在减轻化学家的工作负担并加速材料发现进程。这类自动化化学实验室形成了一个闭环系统,能够自主完成以下步骤:(a) 选取下一阶段的实验;(b) 利用机器人设备在实验室中执行实验;© 评估实验结果,并将结果反馈给实验选取模块。
挑战与解决方案。实现化学实验室全面自动化的主要挑战之一,在于过度依赖专用硬件;这些硬件通常针对特定实验环节定制,且往往是固定不变、不可编程的。这使得调整定制化实验室设备以执行多种类型的实验变得异常困难。
本研究旨在应对这一挑战,通过使通用机械臂能够自主执行由高层抽象规范语言描述的化学实验,来解决上述问题。我们提出了一种集成感知、约束任务与运动规划以及基于视觉的实验结果评估功能的机器人系统。该系统能够满足上述 (b) 和 © 两项要求,适用于涉及液体倾倒、溶解度测试及重结晶等多种基础化学实验。
化学实验室自动化的另一大核心挑战在于确保实验执行过程及人机交互过程中的安全性 [3]。安全要求往往具有多层次性。在高层面上,针对实验描述与任务规划,可以设定约束条件,规定材料必须按特定顺序进行合成;在底层面上,针对操作与感知技能,机器人需调整运动方式,以确保在搬运化学试剂瓶和烧杯时不发生液体泼洒。我们的系统能够将这些安全要求转化为任务规划与运动规划中的约束条件,从而有效地满足各类安全需求。
期望特性与能力。要稳健地应对上述挑战,需要具备一系列关键的赋能能力。化学实验机器人必须配备丰富多样的通用及化学领域专用感知与操作技能。它们需要能够识别玻璃器皿等透明物体、不透明工具、液体、粉末及其他物质;能够分割并识别容器内的物质;以及估计物体的位姿 [4, 5]。机器人应能感知并监测物质合成的状态;例如,检测溶液是否已完全溶解 [6]。它们需要对物体进行灵巧的操作与处理。具体示例包括:在抓取和搬运烧杯时生成受限运动轨迹以避免内容物洒出;执行倾倒操作;以及操作工具、刚性物体和可变形物体。此外,由机器人执行的化学实验需要具备高精度和高重复性,以确保获得可复现且可靠的实验结果。
其提出一种灵活且模块化的机器人框架,该框架利用通用协作机器人手臂,在半结构化的化学实验室中自主执行实验,仅需提供所需实验的高级描述和PDDLStream[1]问题描述。框架具有足够的通用性,能够根据视觉感知生成实验方案,并执行多个化学实验。
框架概述。提出的框架由三个组件构成:感知模块、任务和运动规划器 (TAMP) 以及技能模块,如图所示。化学描述语言 (XDL) [7] 将实验指令作为 TAMP 的输入。感知模块通过检测物体并使用基准标记 (fiducial marker)[21] 估计其位置来更新场景描述。目前,假设已知容器的内容物和尺寸,并且每个容器都映射到一个唯一的标记 ID。根据来自 XDL 的指令和来自感知模块的实例化工作空间状态信息,TAMP 模块使用 PDDLStream 同时生成动作序列和机器人轨迹。然后,技能模块和机器人控制器利用感知反馈来实现最终的规划。

基于 XDL 的任务和运动规划
TAMP 模块将 XDL 给出的实验指令转换为 PDDLStream 目标,并生成运动规划。TAMP 算法如 Alg. 1 所示。

PDDLStream。PDDLStream 问题可以用元组 (P, A, S, O, I, G) 来描述,它由谓词 P、动作 A、流 S、初始对象 O、初始状态 I 和目标状态 G 组成。谓词是一个布尔函数,用于描述对象的逻辑关系。动作 a ∈ A 包含一组前提条件和效果。当所有前提条件都满足时,动作 a 才能执行,执行后,当前状态会根据效果而改变。PDDLStream 规划的目标是找到一个从初始状态开始,直到所有目标都满足的动作序列,并确保返回的规划方案有效且机器人可执行。
在 PDDLStream 领域定义四种类型的动作,包括抓取、移动、放置和倾倒。例如,移动动作使用约束运动规划将机器人末端执行器从抓取姿态转换为放置或倾倒姿态。PDDLStream 使用流来处理连续运动。流从满足特定条件(例如可行的抓取姿态和无碰撞运动)的连续变量生成对象。流的实例具有一组经过验证的谓词,这些谓词扩展了 I,并作为其他动作的前提条件。
PDDLStream 问题通过利用经典的 PDDL 规划器 [22] 和流的乐观实例化来解决(第 7 行)。如果找到了 PDDL 问题的规划方案,则评估方案中的乐观流实例 s ∈ S 以确定其实际可行性(第 8 行)。如果没有找到规划方案或流不可行,则使用更大的乐观流实例集探索其他规划方案。
化学描述语言 (XDL) 。XDL 是一种化学编程语言,它以标准格式描述化学实验。它基于 XML 语法,主要由三个必需部分组成:硬件 (Hardware)、试剂 (Reagents) 和程序 (Procedure)。XDL 指令被解析并传递给 TAMP 模块。硬件和试剂部分被解析为初始对象 O。程序被转换为一组目标 Goals(第 1 行)。I 由 O 和传感器输入生成(第 2 行)。每个中间目标 G ∈ Goals 都由 PDDLStream 处理(第 5 行)。如果找到实现目标 G 的规划,则将其存储(第 10 行),并根据该规划更新 I(第 11 行)。找到实现所有目标的规划后,即可获得完整的运动规划(第 12 行)。
约束运动规划
为确保在操作容器过程中化学品不会泄漏,采用约束运动规划对末端执行器的姿态施加硬约束。
在约束状态空间中进行规划。给定一个降低维度的机器人几何约束(例如末端执行器姿态约束),规划问题就存在于嵌入原始构型空间 Q 内的约束流形 M 上。对于由 k 个指定约束导出的关节状态函数 F(q),约束满足条件定义为等式 F(q) = 0。然后,约束构型空间可以用隐式流形 M = {q ∈ Q | F(q) = 0} 表示。流形的隐式性质使得规划器无法直接采样,因为有效状态的分布未知。此外,由于流形的维度低于构型空间,因此在构型空间中采样有效状态的概率极低,因此不切实际。遵循文献[23]中开发的约束运动规划框架,该系统将基于投影的约束满足构型查找方法集成到TAMP模块中,作为多个流的一部分。用传统的基于采样的运动规划方法,通过投影算子P 将Q中的采样构型映射到M中的有效构型,同时保持渐近最优性。用概率路线图方法(PRM⋆)在化学实验室环境中的8自由度构型空间中高效地进行规划。PRM⋆是一个多查询规划器,它在单独的线程中构建Qfree的持久概率路线图,从而允许在不重新探索环境的情况下解决多个运动规划查询。
约束运动规划的逆运动学。约束路径规划问题对请求路径的起始状态和终止状态非常敏感,因为在严格的或多重约束下,关节状态之间的路径可能不存在。如果使用IK求解器提供的任意有效解执行约束规划,规划器通常会失败。为了解决这一缺陷,考虑以下两点。首先,执行一个结合迭代和随机技术的多线程IK求解器,并返回使目标函数φ最小化的解[24]。在抓取和放置过程中,精度至关重要,仅需最小化起始和目标笛卡尔位姿之间的平方误差之和。其次,根据机器人任务的不同,将目标函数扩展为最大化可操作性椭球,φ = max (det(JJT)0.5),如[25]所述。这适用于更复杂的操作,例如在工作空间内转移液体。最后,需要注意的是,配置采样必须考虑到可能存在多个目标位姿;例如,在平行抓取过程中,末端执行器的偏航角可以是任意值,但横滚角和俯仰角应为零。
任务规划的底层技能
化学实验室技能需要一套特定的传感器、算法和硬件。这里提供一个接口,用于通过ROS实例化不同的技能实例并同时控制它们。例如,重结晶需要倾倒、加热和搅拌,这既需要用于体积估算的重量反馈,也需要使用现有硬件与液体交互的技能。
在化学实验室中,倾倒是合成新材料常用的技能之一。倾倒操作存在很大的类内差异,这取决于目标(例如,达到特定的重量或pH值)、物质(例如,颗粒状固体或液体)、玻璃器皿(例如,烧杯、摇瓶或挤压瓶)以及所需的精度。倾倒是一个闭环过程,需要持续监控反馈。本文考虑以下几种倾倒操作:倾倒液体、倾倒颗粒状固体和粉末以及操作挤压瓶。需要注意的是,与许多控制问题不同,倾倒是一个不可逆过程,因为无法补偿过冲。
受化学家倾倒试剂的启发,提出一种算法,使机器人能够执行不同的倾倒动作。如图所示,该算法以传感器测量值(例如,来自秤的重量反馈)作为反馈,并以 XDL 实验指令作为参考倾倒目标。该算法输出机器人末端执行器关节速度,该速度描述机械臂腕部的振荡。由于传感器存在测量延迟,化学反应需要时间稳定,且倾倒是一个不可逆动作,因此化学家通常会将少量内容物从倾倒容器倒入目标容器中。他们会周期性地等待一段时间,然后再倾倒一次。在本文方法中,用整形函数 s(t) 来引导这种振荡倾倒行为的方向和频率,同时使用 PD 控制器来降低倾倒误差。末端执行器速度矢量是通过将整形函数 s(t) 与 PD 控制信号 v(t) = k_p e + k_d e ̇ 进行卷积来计算的,其中 e(t) = x_ref − x_fb。

实验设置
用 Franka Emika Panda 机械臂机器人对所提出的实验室自动化框架进行评估。该机器人配备 Robotiq 2F-85 夹爪,夹爪上安装 Intel RealSense D435i 立体摄像头,以实现主动视觉。机器人的末端执行器通过 Dynamixel XM540-W150 伺服电机扩展自由度(总共 8 个自由度)。硬件设置如上上图所示。机器人使用 FrankaPy [26] 进行控制,伺服电机则使用 ROS 封装器进行控制。为了检测基准标记,使用 AprilTag 库 [21]。TAMP 模块使用Open Motion Planning Library (OMPL) [27] 和 MoveIt 运动规划框架 [28]。OMPL 的约束规划函数 [23] 通过一个封装包使用,该封装包基于 elion [29] 扩展而来。在实验开始时收集视觉信息,以构建用于 RViz [30] 运动规划和可视化的模拟环境表示。该框架使用 C++/Python 在 ROS Melodic [31] 下开发,运行于 Ubuntu 18.04 LTS 64 位操作系统上。工作站配备 Intel Core i7-10700K 3.80 GHz × 16 线程 CPU 和 15.6 GiB 内存。该框架首先使用 IsaacSim [32] 进行仿真测试,IsaacSim 为机器人机械臂提供虚拟执行控制器,并模拟虚拟烧杯和液体。
机器人扩展至 7+1 个自由度。如上上图所示,机器人硬件扩展一个自由度,其目的有两个:i) 提高约束运动规划的成功率(在约束运动规划中有效自由度减少);ii) 实现平行抓取(夹爪与地面平行),从而保持容器开口畅通无阻。
实验室工具集成。如上上图所示,该机器人可以集成现有的实验室工具,以扩展其执行化学实验的能力。为了进行溶解度和重结晶实验,用化学实验室常用的 IKA RET 控制粘度计来扩展机器人的功能。该设备集天平、加热板和搅拌器于一体。天平精度为 1 克,测量延迟约为 3 秒。设备的功能通过通用技能接口进行调用,机器人与设备之间的通信通过 RS-232 串口转 USB 适配器实现。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)