DLS2: 一种基于分布式微组件的机器人软件架构

《Results in Engineering》:DLS2: A distributed microcomponent-based robotic software architecture

【字体: 时间:2026年07月19日 来源:Results in Engineering 9.4

编辑推荐:

  在当代机器人系统中,可扩展、灵活且鲁棒的软件架构对于在分布式硬件上实现高效协作和计算至关重要。本文介绍了DLS2,一种真正分布式的、以机器人为中心的软件架构,专为复杂、高动态机器人设计。与传统中间件不同,DLS2架构原生集成了处理的动态分布、容器化微服务(mi

  
在当代机器人系统中,可扩展、灵活且鲁棒的软件架构对于在分布式硬件上实现高效协作和计算至关重要。本文介绍了DLS2,一种真正分布式的、以机器人为中心的软件架构,专为复杂、高动态机器人设计。与传统中间件不同,DLS2架构原生集成了处理的动态分布、容器化微服务(microservices)、无缝应用迁移以及实时性能约束,无需依赖集中式编排。DLS2通过定义一种结构化的、无处不在的基于层的组织来管理机器人栈的不同抽象层次。通过一个正式的架构案例研究以及与现有最先进框架的定性比较,凸显了这种设计范式在结构上的优势,特别是在容错性(fault tolerance)、模块化(modularity)和资源隔离(resource isolation)方面。本研究为未来分布式机器人系统的进展奠定了基础框架,为弹性多机器人环境提供了另一种设计参考。DLS2代码可在https://github.com/iit-DLSLab/dls2-barebone获取。
**论文解读:DLS2——一种面向高动态机器人的分布式微组件软件架构**

**研究背景、问题与动机**

随着四足、人形等高动态机器人日益复杂,将其全部软件组件部署在单一计算平台上已变得不可行——单一平台难以同时支持高频控制回路与计算密集型状态估计算法。因此,该领域被迫采用更复杂的解决方案,融合软硬实时保证、分布式系统、模块化开发等设计原则。然而,在系统中分布复杂性对软件架构和开发过程提出了严格要求。若这些要求未融入鲁棒且连贯的基础中,系统可靠性将受到损害。当前,机器人社区普遍采用ROS 2作为基础框架,但保证分布式ROS 2网络中的严格实时性能并非即插即用体验,通常需要深入配置DDS(Data Distribution Service)并进行大量系统级调优。此外,过度依赖节点特定或部分中心化的架构可能引入数据瓶颈,在动态环境中故障恢复成为重大工程挑战。正是为了解决这些问题,研究人员提出了DLS2——一种真正分布式的、以机器人为中心的软件架构,旨在处理高动态机器人的复杂系统需求。

**研究内容、结论与意义**

研究人员开展了DLS2架构的设计、实现与案例验证。DLS2是一种基于微组件(microcomponent)的架构,由容器化微服务(containerized microservices)与“无处不在的功能层”(omnipresent functional layers)组成,用以动态满足鲁棒性、实时约束、负载均衡等计算需求。该架构完全摒弃集中式协调,通过定义系统范围的层结构、分布式的基于自动机的监督器(automata-based supervisor)以及实时/尽力而为(real-time/best-effort)任务原生分离,实现了水平扩展性、应用迁移和强容错性。通过一个正式的架构案例研究(MUSE状态估计器集成)以及与现有框架(YARP、ROS 1/2、CORAL等)的定性比较,凸显了DLS2在容错性、模块化和资源隔离方面的结构优势。研究得出核心结论:DLS2通过消除集中式故障点并支持应用在节点间动态迁移,增强了系统灵活性、可扩展性和容错性,同时通过结构化分层和微服务设计确保了实时响应能力。该研究为未来分布式机器人系统的进展奠定了基础框架,为弹性多机器人环境提供了另一种设计参考。论文发表在《Results in Engineering》。

**主要关键技术方法**

研究人员采用以下关键技术方法:1)**分布式节点模型**:将每个物理处理单元抽象为节点,节点间通过实时通信基板互连,决策与计算完全分布,无中心协调器。2)**无处不在的功能层**:定义系统范围的功能分层(如控制层、估计层),每一层在任何具备资源的节点上均可实例化,并明确划分为实时(RT)与尽力而为(BE)执行上下文。3)**基于自动机的分布式监督器**:将局部状态机嵌入每个进程(如硬件驱动、控制器),通过分布式自动机原理组合成全局行为,实现安全初始化、控制器切换和紧急处理。4)**容器化微服务架构**:每个应用封装为容器,确保可复现性、隔离性和版本控制,支持动态迁移。5)**基于DDS的通信层**:采用DDS(Data Distribution Service)类消息传递基板,支持发布/订阅与请求/响应语义,并基于消息语义划分多个DDS域,避免单域拥塞。6)**实时评估工具**:验证配置是否符合实时策略,报告抖动、延迟、截止时间错过率等指标。样本来源于实际机器人平台:液压四足机器人HyQ、HyQ-Real,商用四足机器人Unitree Go1、Go2、B2,以及人形机器人G1,初步实验还包括HyQ-Real2。

**研究结果**

**3.1 定义与设计前提**:通过定义节点(node)、应用(application)和层(layer)三个核心概念,确立了DLS2架构的基础。节点是物理处理单元的虚拟抽象,且不跨设备迁移;应用是可部署的软件单元,可在运行时在节点间移动;层是系统范围的功能层次,无处不在,可在任何具有所需能力的节点上激活。

**3.2 分布式节点模型**:DLS2由一组异构节点组成,通过实时通信基板互连。每个节点配备“maestro”工具集,负责发现、信息共享、本地监控和异常恢复。与去中心化不同,DLS2将决策与计算分布到所有节点,无特权协调器。这种设计支持水平扩展(通过添加硬件)和故障容错(通过复制关键应用与状态)。任务放置是动态的,节点可根据负载、延迟或故障卸载或接受应用。节点本身不迁移,保持物理资源与虚拟表示的显式映射。

**3.3 分层方法**:DLS2的层是逻辑的、系统范围的抽象,而非物理分区。每个层封装不同的功能域(如控制、估计、日志),具有全局存在性和一致性。新层可引入,现有层可合并,不影响架构。层根据执行要求分类为实时(RT)或尽力而为(BE),实现确定性调度和资源隔离。例如,控制层在所有节点上可用,若一个控制器失败,另一节点可无缝实例化冗余控制器。

**3.4 监督器:行为与协调**:DLS2的监督器是分布式机制,通过基于自动机的建模管理高层系统行为。它不是单一的层或进程,而是由嵌入每个进程内的局部行为定义组成,这些局部定义通过协调形成全局行为。利用分布式自动机概念,监督器确保状态转换的可预测性,同时保持可扩展性和容错性。例如,初始化、安全控制器切换和紧急处理均通过分布式状态转移规则实现。

**3.5 微服务与容器化**:每个应用封装在容器中,确保可复现性、可维护性,并支持动态应用迁移(优化资源利用、降低延迟、故障恢复)。轻量级运行时管理容器化应用的生命周期,包括启动、停止、更新、健康监控和放置决策。容器化提供了可移植性、故障隔离和快速重新部署能力。

**3.6 通信模型**:结合发布/订阅(用于时间序列数据流)和请求/响应(用于事务性交互)。基于DDS的消息传递基板提供自动发现、低延迟交付和可配置QoS(Quality of Service)。根据消息性质使用多个DDS域(如控制信号、传感器数据、服务请求分属不同域),避免单域拥塞,提高确定性。支持动态节点发现,新节点加入或离开无需重大重新配置。

**3.7 实时行为**:层按执行要求分类为RT和BE。RT应用声明优先级、CPU亲和性和时序参数,运行时通过预留核心和时间预算实施策略,避免BE任务干扰。确定性I/O路径通过最小化数据拷贝和上下文切换实现。端到端截止时间显式建模:应用指定周期和截止时间,运行时在放置前验证可行性,并在执行中持续监控。通信QoS配置针对RT要求调优,故障处理由监督器协调,确保时间有界的故障切换。

**3.8 可扩展性与模块化**:系统通过添加新硬件节点水平扩展,通过动态发现无缝集成。复制关键应用和状态消除单点故障。分布式任务分配策略基于计算能力、内存、网络邻近性和时序约束优化应用放置,同时保持实时隔离。模块化通过松耦合组件实现独立复用、替换和扩展,最小化集成开销。但需注意,实现这些优势需要纪律严明的工程实践(配置管理、监控、明确定义的操作策略)。

**3.9 互操作性与集成**:DLS2包含接口桥接器,暴露标准化通信协议,通过封装翻译逻辑保持模块化和实时路径的确定性行为。支持增量迁移和跨框架协作,适用于研究及工业场景。

**3.10 架构方案总结**:通过完全去中心化、无处不在的功能层、基于自动机的分布式监督、容器化微服务隔离、语义QoS消息抽象、原生实时与尽力而为分离、动态放置与资源缩放、多框架共存与互操作等特性,DLS2在结构上优于传统框架(YARP、ROS 1/2、CORAL)。表2系统总结了这些能力。

**第4节 当前开发阶段**:DLS2的实现正在逐步推进,已包括分布式节点管理系统、无处不在的功能层(硬件、控制、估计、服务、控制台、日志)、控制器管理器、基于自动机的监督器、容器化运行时、QoS感知DDS通信、实时符合性工具、控制台与日志工具、动态节点发现、接口桥接器、插件架构。当前基于[47]的DDS实现,主要使用C++开发,Python通过插件架构集成。正在进行的开发重点包括:优化放置策略、扩展监督器规则集、扩展互操作性桥接、强化监控与恢复路径。

**第5节 用例:MUSE状态估计器集成**:研究人员将MUSE[5](四足机器人的多传感器融合状态估计器)集成到DLS2框架中,作为模块化插件。MUSE模块分为低层(接触检测、姿态估计、腿里程计、打滑检测)和高层(相机里程计、LiDAR里程计、传感器融合)。每个插件包含read_inputs()、run()、publish_outputs()三个函数。在DLS2的分布式实时调度环境中,每个插件run()的平均执行时间约为0.05 ms,确保实时反馈。通过动态激活/停用插件,支持在线重新配置(如低光环境下关闭视觉里程计)。该用例验证了DLS2的模块化、分层组织结构与实时兼容性,但全面量化评估需后续压力测试。

**讨论与结论**

**讨论总结**:DLS2通过消除集中式故障点、支持应用动态迁移,增强了系统灵活性、可扩展性和容错性。其结构化分层和微服务设计有效管理了复杂机器人操作,同时确保实时响应能力。研究结果证明了实现真正分布式机器人系统的可行性,解决了计算负载均衡、故障恢复和互操作性等关键挑战。未来工作将优化系统性能,集成先进AI驱动决策,并在真实机器人应用中进一步验证DLS2。

**研究结论翻译**:DLS2的开发代表了向机器人软件架构真正分布式的重大一步。通过消除集中式故障点并使应用能够跨节点动态迁移,DLS2增强了系统灵活性、可扩展性和容错性。该架构通过结构化分层方法和基于微服务的设计,有效管理了复杂机器人操作,同时确保了实时响应能力。研究人员的研究结果凸显了实现真正分布式机器人系统的可行性,解决了计算负载均衡、故障恢复和互操作性等关键挑战。未来工作将优化系统性能,集成先进的AI驱动决策,并进一步在真实机器人应用中验证DLS2。从这项研究中获得的见解有助于自主机器人框架的持续演进,为下一代分布式机器人提供了鲁棒的基础。
相关新闻
生物通微信公众号
微信
新浪微博
  • 搜索
  • 国际
  • 国内
  • 人物
  • 产业
  • 热点
  • 科普

热点排行

    今日动态 | 人才市场 | 新技术专栏 | 中国科学人 | 云展台 | BioHot | 云讲堂直播 | 会展中心 | 特价专栏 | 技术快讯 | 免费试用

    版权所有 生物通

    Copyright© eBiotrade.com, All Rights Reserved

    联系信箱:

    粤ICP备09063491号