人监督分布式机器人架构

部署运行你感兴趣的模型镜像

第2章 人监督分布式机器人系统架构

本章节描述了一种人类监督式分布式机器人软件架构,该架构已应用于我们的多智能体机器人系统中,以实现日常重复性消毒流程的自动化{Tan et al.(2015a)]。每个机器人被视为一个独立的代理,利用自身能力执行分配的任务,并与其他机器人协调操作,以确保工作流程的主要过程满足整体操作要求。该分层架构强调了自动化工作流中的人因因素,为医疗行业提供灵活、可靠的基于人类知识的监督与控制,实现安全、可靠且自动化的流程。

2.1 引言

机器人有望能够自主且智能地执行任务,这在太空探索、地板清洁、草坪修剪、废水处理以及货物和服务递送等领域尤为理想。高水平的自主程度需要对硬件、软件、架构和基础设施进行协调的集成设计。高度自主系统的典型例子包括好奇号和机遇号火星车。然而,由于当前技术的限制,特别是在情境感知、环境建模、知识表示等方面的局限性,完全自主机器人系统仍需未来大量的研究工作。研究人员已提出了大量方法以实现机器人的自主能力。但其应用,尤其是商业化产品,目前仍局限于较小范围,例如iRobot Roomba、谷歌自动驾驶汽车等。

开发与商业化单个自主机器人并不容易。当涉及到开发一组协同自主机器人时,难度会大大增加。这需要更高级别的自主性实现以及复杂的行为和任务调度与协调 [谭(2014)]。安全是此类自主机器人系统的另一个重要关注点。

逐渐地,人们普遍认为,由于各种机器人和应用的完全自主化梦想难以轻易实现,因此考虑人类因素是合理的。考虑到这一点,即将人类纳入回路中。通过利用当前最先进的技术实现一定程度的机器人自主性,并将人类的规划和协调能力引入复杂系统,我们可以大大加速机器人产品的开发和商业化进程。

由于环境和操作过程中的不确定性,需要操作人员进行监督,以提高系统性能并处理偶发异常。

本章其余部分组织如下:第2.2节讨论机器人架构的相关工作。第2.3节详细说明本系统中的各个组件。第2.4节通过一个示例说明如何应用我们的架构设计。第2.5节描述实验设置和结果。最后,第2.6节总结贡献并提出未来工作方向。

2.2 相关工作

目前,单个机器人的系统架构可分为以下几类:反应式、符号式、联结主义、混合式和分布式{Tan (2012)}。

反应式机器人系统将感知信息作为输入,通过紧密耦合的感知‐运动控制系统生成相应的行为或动作。一个典型的例子是包容体系结构 [Brooks (1986)]。

符号式机器人系统采用传统的人工智能(AI)概念来表示信息处理过程,并据此生成期望的行为。典型的例子包括:ACT‐R [Anderson 和 Lebiere (1998)], SOAR [Lehman et al.(1996)], EPIC [Kieras 和 Meyer (1997)], Chrest [Gobet et al.(2001)],以及 Clarion [Sun (2003)]。

用于机器人系统的联结主义架构采用类似人工神经网络(ANN)的机制来映射感知信息与动作。一个典型的例子是CAP2[Schneider (1999)]。

为了实现机器人的人类认知过程,研究人员意识到过度简化的架构无法表征人脑中的复杂认知活动。混合架构能够结合反应式、符号式和联结主义架构的优势,为机器人提供更稳健且灵活的方法。典型示例包括:ISAC[Tan 和 Liang (2011)][Tan (2013)], RCS [Albus 和 Barbera (2005)], CHIP[Shrobe et al.(2006)],以及 JACK[Winikoff (2005)]。

2.3 多代理软件架构

我们系统的基本原则是分布式和人工监督的。

2.3.1 总体机器人系统架构

示意图0

图2.1展示了我们机器人系统的整体架构,该架构由Management System、Supervisory System和Functional Agent System组成。

该管理系统负责任务规划与调度,并与外部系统通信以获取有用信息,以及更新数据库中的系统日志信息。

所有代理从管理系统接收任务信息,并通过独立自主地规划行为序列来执行所需任务。在大多数情况下,系统无需依赖监控系统即可正确运行。然而,在某些情况下,需要人工监督以协助整个流程的顺利进行。监控系统持续更新并显示数据和过程状态,供操作人员观察。同时提供用户界面,使操作人员能够在一定层级上操控整个过程。接下来我们将详细讨论这三个系统。

2.3.1.1 管理系统

该管理系统包含一个外部系统接口和一个任务管理组件。

提供外部系统接口的目的是提高灵活性和鲁棒性。通过外部接口,机器人可以与外部系统通信。一旦中央管理系统触发机器人,机器人便从服务器下载任务信息。

任务信息和工作物流包括目标、需部署的代理、参数设置等。

一个任务调度模块 Task Management用于生成一系列任务基元以实现特定目标,并将这些任务基元分配给各个独立代理。任务基元根据系统中机器人的不同能力进行调度并分发给机器人。

2.3.1.2 功能代理系统

系统中的所有代理都有其独立架构,用于规划行为序列并反应式地持续执行。代理将持续接收来自Management system的更新规划信息,并基于该信息重新启动规划过程。我们将在本章节后续详细说明这些独立架构。

2.3.1.3 监控系统

如前所述,我们在系统中强调人类监督的功能。Supervisory System包含四个主要模块。

Process Visualization提供了整个系统状态的描述,帮助操作人员观察系统的运行情况,并提供必要的指导或干预。

使用用户界面,操作人员可以触发整体系统的重新调度过程。在本案例中,重新调度过程包括修改计划任务基元的顺序以及启用/禁用某些任务基元。操作人员可根据自己的判断轻松修改系统的当前任务分配和工作流程。

设备可视化提供了系统中所有机器人及其他辅助设备的运动和状态的直观描述。所有系统信息都存储在数据管理系统中,供人类用户进行搜索、浏览、跟踪和故障排除。

2.3.2 单个机器人系统架构

每个代理应独立且自主地执行其分配的任务,这最终会影响整体系统的性能。为了实现这一目标,我们为单个机器人设计了如图2.2所示的混合架构。

示意图1

2.3.2.1 通信

通信定义了各个机器人之间以及机器人与Management System之间的通信协议和接口。

2.3.2.2 数据库

数据库是整体系统的存储组件,用于存储机器人所需的信息,包括定位、建图、路径规划、辨识手术器械的类型和位置,以及生成由任务基元组成的运动序列等。

2.3.2.3 任务控制器

任务控制器发送控制信号以直接和间接触发不同组件。该组件包含两个部分:一部分是任务规划与调度,另一部分是任务监控与控制,分别通过有限状态机(FSM)和决策机制(DMM)实现。在接收到来自通信接口的命令后,任务控制器会生成一系列机器人执行的任务基元。

2.3.2.4 传感器

传感器从环境和机器人自身收集信息,以反映系统的当前状态。典型的传感器包括激光雷达、相机、声呐、编码器、力/扭矩传感器等。从这些传感器获取的信息被组织并发布,供机器人使用。

2.3.2.5 执行器

执行器通过机器人的自身能力对环境产生物理影响,并执行所需的导航和操作任务。通常,操作任务使用机器人机械臂作为执行器;而导航任务则使用轮子作为执行器来移动机器人基座。

2.3.2.6 视觉处理

视觉处理在机器人机械臂和移动机器人中的实现方式不同,但其共同目标是分析视觉信息,为机器人提供带标签的环境信息,以支持决策和行为规划。在大多数机器人任务中,视觉处理提供待操作物体的位姿、环境的占用信息,以及用于机器人定位、建图和导航的路标信息。

2.3.2.7 运动/力控制器

运动控制器驱动机器人(包括机器人机械臂和移动机器人)移动到目标位置[Tan et al.(2007)]。在本系统中,我们实现了一个简单的比例积分微分(PID)控制器,以最小化当前机器人构型与期望构型之间的距离。通过控制机器人关节上的力矩来实现运动控制,该过程由力控制器完成。

2.3.2.8 一阶响应

一阶响应是一个能够快速做出决策的模块,以避免对机器人、环境和设备造成任何损害。在动态且非结构化的环境中,为了满足安全要求,机器人应能够快速且稳健地做出低层级决策,以避免对系统和环境造成任何损害。

2.4 实现示例

我们的动机是将我们提出的机器人架构应用于退伍军人事务部医院。在我们的自动化无菌处理中,整体系统包含两个固定机器人和两个移动机器人。两个移动机器人(托盘机器人)负责用于在工作站之间运送手术器械托盘,一台Baxter研究机器人执行分拣任务,另一台Viper机械臂执行组套任务。

2.4.1 已实现的总体系统架构

示意图2

2.4.1.1 管理系统

与外部系统的接口使用TCP/IP通信开发。根据每日需求,系统将任务分配给每个机器人和辅助设备。任务分配包括每个任务的期望目标、相关任务参数以及任务序列约束。

2.4.1.2 代理系统

对于运输任务,我们采用艾普特r制造的动力机器人开发了我们的托盘机器人。一个6自由度的Schunkr PowerCube机械臂安装在机器人的表面用于操作。

对于分拣任务,我们系统中使用的机器人是再思考机器人公司生产的Baxter研究机器人r。辅助设备包括用于显示系统状态的LED灯、用于运输容器的传送带、消毒器、超声波清洗机和自动灭菌器。

2.4.1.3 监控系统

在某些情况下,需要人工监督以确保整体系统正常运行并遵循定义的工作流程。人工操作员执行监督任务主要有四个组成部分。

为操作人员显示流程工作流和操作状态。任务规划完成后,任务序列将被组装并显示在屏幕上。执行任务时,该任务会被高亮显示。同时,环境地图和机器人操作动画将一并可视化。系统日志信息和跟踪的手术器械被存储在数据库中以供进一步分析。当操作人员认为系统存在异常时,可使用操纵杆控制器控制系统中的机器人,或修改计划任务序列。

2.4.2 已实现的独立机器人架构

由于该系统中有两种类型的机器人,因此针对这两种类型也相应地开发了各自的机器人架构。

2.4.2.1 移动机器人架构

给定一个任务,任务控制器会生成一系列行为,其中包括机器人在考虑避障的情况下需要经过的航路点。

生成的航路点被发送到运动控制器以生成机器人导航的路径,并使用势场法生成平滑路径。图2.2中的距离传感器是激光传感器,采用基于激光的同步定位与地图构建算法(SLAM)来提高运动控制的精度。当机器人到达航路点序列中的目标位置时,将使用相机(即图2.2中的视觉传感器)在环境中开始搜索操作点。

机械臂移动到工作台上方后,搜索任务开始。为机械臂实现了基于视觉的PID控制算法。数据库存储有关环境地图和托盘的信息。通信采用TCP/IP无线方法实现。移动机器人从管理系统获取任务信息,并将任务状态和系统状态信息发送回管理系统。移动机器人还将信息发送到监控系统进行可视化。有关移动机器人架构的详细讨论,请参见第3章“TrayBot:在医院中运输手术工具”。

2.4.2.2 机器人操作臂架构

视觉处理组件需要为每种手术器械创建预计算模板。在数据库中,所有模板均以手术器械边缘的图像形式存储。当添加新的手术器械时,需要更新该数据库。

由于我们使用的是基于任务原语的规划系统,数据库还存储了基本的任务基元:开始、停止、暂停、视觉处理、返回、向上移动、向下移动、向前移动、向后移动、向左移动、向右移动、到达、抓取和释放。

我们的视觉处理系统[Xu 等(2014, 2015)]可确定托盘中手术器械的位置和方向,并识别堆叠在顶部的器械。抓取点也通过视觉处理算法进行识别。有关我们视觉处理算法的详细讨论,请参见第4章“基于视觉的器械单一分离”。

末端执行器是一个电磁夹持器[Xu et al.(2014, 2015)], ,其电流由伺服驱动器(Advanced Motion Controlsr)调节。“器械分拣机器人”详细讨论了末端执行器设计及其与Baxter机器人和Viper机械臂的集成。

2.5 实验设置

我们在实验室环境中部署了开发的系统。实验设置如图2.4所示。管理系统和监控系统采用Java编程语言开发。Baxter机器人架构和移动机器人架构基于ROS‐Fuerte平台,使用Python和C++语言开发。

示意图3

示意图4

图2.5展示了一个典型的托盘拾取序列,用于运输场景。托盘机器人移动到推车位置(a),搜索托盘(b),然后机器人规划运动轨迹以到达托盘的连接处(c‐d),并抓取和固定托盘(e)。

示意图5

图2.6展示了运输任务中典型的托盘放置序列。托盘机器人移动到工作位置(上),将托盘放置在工作台上(中),然后将机械臂移回初始位置(下)。

示意图6

图2.7展示了系统中Baxter机器人典型的分拣序列。Baxter机器人将脏手术器械分拣到相应的托盘中以进行后续清洁。Baxter机器人使用顶部向下摄像头。系统获取并分析手术台上的视觉信息,并计算待抓取手术器械的位姿(左上)。然后Baxter机器人将其末端执行器移动到托盘上方(右上),使用电磁夹持器抓取器械(左下),并根据器械类型将抓取的器械放置到指定托盘中(右下)。

从定量角度来看,运输任务的成功率为100%。我们的视觉算法在95%的情况下能够成功定位正确的手术器械。分拣的成功率为80%,其差异取决于托盘中工具的布局。整体系统中的数据传输和信息处理成功率均为100%。

2.6 总结与未来工作

本章节描述了一种用于医疗行业中自动化操作流程的人工监管系统架构。在代理层,每个机器人拥有其独立的架构,以独立且自主地执行任务。该系统架构已经过测试,实验结果满足项目需求。未来,我们计划改进系统架构中的规划部分,以更灵活和稳健地实现任务序列的规划能力。

您可能感兴趣的与本文相关的镜像

PyTorch 2.6

PyTorch 2.6

PyTorch
Cuda

PyTorch 是一个开源的 Python 机器学习库,基于 Torch 库,底层由 C++ 实现,应用于人工智能领域,如计算机视觉和自然语言处理

"Mstar Bin Tool"是一款专门针对Mstar系列芯片开发的固件处理软件,主要用于智能电视及相关电子设备的系统维护与深度定制。该工具包特别标注了"LETV USB SCRIPT"模块,表明其对乐视品牌设备具有兼容性,能够通过USB通信协议执行固件读写操作。作为一款专业的固件编辑器,它允许技术员对Mstar芯片的底层二进制文件进行解析、修改与重构,从而实现系统功能的调整、性能优化或故障修复。 工具包中的核心组件包括固件编译环境、设备通信脚本、操作界面及技术文档等。其中"letv_usb_script"是一套针对乐视设备的自动化操作程序,可指导用户完成固件烧录全过程。而"mstar_bin"模块则专门处理芯片的二进制数据文件,支持固件版本的升级、降级或个性化定制。工具采用7-Zip压缩格式封装,用户需先使用解压软件提取文件内容。 操作前需确认目标设备采用Mstar芯片架构并具备完好的USB接口。建议预先备份设备原始固件作为恢复保障。通过编辑器修改固件参数时,可调整系统配置、增删功能模块或修复已知缺陷。执行刷机操作时需严格遵循脚本指示的步骤顺序,保持设备供电稳定,避免中断导致硬件损坏。该工具适用于具备嵌入式系统知识的开发员或高级用户,在进行设备定制化开发、系统调试或维护修复时使用。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值