由于高系统复杂性和动态环境,测试和调试已成为机器人软件开发的主要障碍。标准,基于中间件的数据记录不提供有关内部计算和性能瓶颈的足够信息。其他现有方法还针对非常特定的问题,因此不能用于多用途分析。此外,它们不适合实时应用。在本文中,我们呈现ROS2_TRACING,一个灵活的跟踪工具和ROS 2的多功能仪器集合。它允许使用低开销LTTNG示踪器收集实时分布式系统的运行时执行信息。工具还将跟踪集成到无价的ROS 2 Orchestration系统和其他可用性工具中。消息延迟实验表明,当所有ROS 2仪器启用时,端到端消息延迟开销低于0.0055毫秒,我们认为适用于生产实时系统。使用ROS2_TRACING获得的ROS 2执行信息可以与操作系统的跟踪数据组合,从而实现更广泛的精确分析,有助于了解应用程序执行,以找到性能瓶颈和其他问题的原因。源代码可用于:https://gitlab.com/ros-tracing/ros2_tracing。
translated by 谷歌翻译
分布式机器人系统在很大程度上依赖于支持它的Publish-Subscriber通信范式和中间件框架,例如机器人操作系统(ROS),以有效地实现模块化计算图。 ROS 2执行程序是一个处理ROS 2消息的高级任务调度程序,是性能瓶颈。我们扩展了ROS2_Tracing,这是一个带有仪器和用于实时跟踪ROS 2的工具的框架,并在分布式ROS 2系统中分析和可视化消息流的分析和可视化。我们的方法检测输入和输出消息之间的一对多因果关系,包括通过简单的用户级注释,包括间接因果链接。我们在合成和真实机器人系统上验证了我们的方法,并证明了其低运行时开销。此外,可以进一步利用基本的中间执行表示数据库来提取其他指标和高级结果。这可以提供有价值的时机和调度信息,以进一步研究和改善ROS 2执行者,并优化任何ROS 2系统。源代码可在以下网址获得:https://github.com/christophebedard/ros2-message-flow-analysis。
translated by 谷歌翻译
软件体系结构定义了大型计算系统的蓝图,因此是设计和开发工作的关键部分。在移动机器人的背景下,对此任务进行了广泛的探索,从而导致了大量参考设计和实现。由于软件体系结构定义了实现所有组件的框架,因此自然是移动机器人系统的一个非常重要的方面。在本章中,我们概述了特定问题域(移动机器人系统)对软件框架强加的要求。我们讨论了一些当前的设计解决方案,提供了有关共同框架的历史观点,并概述了未来发展的方向。
translated by 谷歌翻译
我们认为,利用公共,跨平台,语言 - 不可止结的包管理器和jupyter紧密地耦合广泛使用的机器人操作系统,这是有益的,这是一种提供科学计算的基于网络的互动计算环境。我们为公务员提供新的ROS套餐,可以轻松地安装ROS沿着数据科学和机器学习套件。多个ROS版本(目前ROS1 Melodic和Neatic以及ROS2 Foxy和Galactic)可以同时在一台机器上运行,具有适用于Linux,Windows和OSX的预编译二进制文件,以及ARM架构(例如Raspberry PI和新的苹果硅)。要处理ROS生态系统的大尺寸,我们通过重写C ++的关键零件来显着提高公共求解器和构建系统的速度。我们进一步为ROS提供了一系列jupyterlab扩展,包括用于实时绘图,调试和机器人控制的插件,以及与ZETHU的紧密集成,RVIZ如可视化工具。罗布斯特克在一起结合了最好的数据科学和机器人世界,帮助研究人员和开发人员为学术和工业项目建立定制解决方案。
translated by 谷歌翻译
研究过程自动化 - 对科学仪器,计算机,数据存储和其他资源的可靠,高效和可重复执行的可靠,高效和可重复执行,这是现代科学的基本要素。我们在此处报告Globus研究数据管理平台内的新服务,该服务可以将各种研究过程的规范作为可重复使用的动作集,流量以及在异质研究环境中执行此类流动的集合。为了以广泛的空间范围(例如,从科学仪器到远程数据中心)和时间范围(从几秒钟到几周),这些Globus自动化服务功能:1)云托管以可靠地执行长期持久的流量,尽管零星的失败,但这些Globus自动化服务功能:1) ; 2)声明性符号和可扩展的异步行动提供商API,用于定义和执行涉及任意资源的各种行动和流动规范; 3)授权授权机制,用于安全调用动作。这些服务允许研究人员将广泛的研究任务的管理外包和自动化为可靠,可扩展和安全的云平台。我们向Globus自动化服务提供用例
translated by 谷歌翻译
实现自动化车辆和外部服务器,智能基础设施和其他道路使用者之间的安全可靠的高带宽低度连通性是使全自动驾驶成为可能的核心步骤。允许这种连接性的数据接口的可用性有可能区分人造代理在连接,合作和自动化的移动性系统中的功能与不具有此类接口的人类操作员的能力。连接的代理可以例如共享数据以构建集体环境模型,计划集体行为,并从集中组合的共享数据集体学习。本文提出了多种解决方案,允许连接的实体交换数据。特别是,我们提出了一个新的通用通信界面,该界面使用消息排队遥测传输(MQTT)协议连接运行机器人操作系统(ROS)的代理。我们的工作整合了以各种关键绩效指标的形式评估连接质量的方法。我们比较了各种方法,这些方法提供了5G网络中Edge-Cloud LiDAR对象检测的示例性用例所需的连接性。我们表明,基于车辆的传感器测量值的可用性与从边缘云中接收到相应的对象列表之间的平均延迟低于87毫秒。所有实施的解决方案均可为开源并免费使用。源代码可在https://github.com/ika-rwth-aachen/ros-v2x-benchmarking-suite上获得。
translated by 谷歌翻译
深度神经网络(DNN)由于其高度的感知,决策和控制而被广泛用于自主驾驶中。在诸如自动驾驶之类的安全至关重要系统中,实时执行感测和感知等任务对于车辆的安全至关重要,这需要应用程序的执行时间才能预测。但是,在DNN推断中观察到不可忽略的时间变化。当前的DNN推理研究要么忽略时间变化问题,要么依靠调度程序来处理它。当前的工作都没有解释DNN推理时间变化的根本原因。了解DNN推理的时间变化成为自动驾驶实时计划的基本挑战。在这项工作中,我们从六个角度分析了DNN推断的时间变化:数据,I/O,模型,运行时,硬件和端到端感知系统。在理解DNN推断的时间变化方面得出了六个见解。
translated by 谷歌翻译
自主机器人结合了各种技能,形成越来越复杂的行为,称为任务。尽管这些技能通常以相对较低的抽象级别进行编程,但它们的协调是建筑分离的,并且经常以高级语言或框架表达。几十年来,州机器一直是首选的语言,但是最近,行为树的语言在机器人主义者中引起了人们的关注。行为树最初是为计算机游戏设计的,用于建模自主参与者,提供了基于树木的可扩展的使命表示,并受到支持支持模块化设计和代码的重复使用。但是,尽管使用了该语言的几种实现,但对现实世界中的用法和范围知之甚少。行为树提供的概念与传统语言(例如州机器)有何关系?应用程序中如何使用行为树和状态机概念?我们介绍了对行为树中关键语言概念的研究及其在现实世界机器人应用中的使用。我们识别行为树语言,并将其语义与机器人技术中最著名的行为建模语言进行比较。我们为使用这些语言的机器人应用程序挖掘开源存储库并分析此用法。我们发现两种行为建模语言在语言设计及其在开源项目中的用法之间的相似性方面,以满足机器人域的需求。我们为现实世界行为模型的数据集提供了贡献,希望激发社区使用和进一步开发这种语言,相关的工具和分析技术。
translated by 谷歌翻译
This paper gives an overview of ROS, an opensource robot operating system. ROS is not an operating system in the traditional sense of process management and scheduling; rather, it provides a structured communications layer above the host operating systems of a heterogenous compute cluster. In this paper, we discuss how ROS relates to existing robot software frameworks, and briefly overview some of the available application software which uses ROS.
translated by 谷歌翻译
Automated Driving Systems (ADS) have rapidly evolved in recent years and their architecture becomes sophisticated. Ensuring robustness, reliability and safety of performance is particularly important. The main challenge in building an ADS is the ability to meet certain stringent performance requirements in terms of both making safe operational decisions and finishing processing in real-time. Middlewares play a crucial role to handle these requirements in ADS. The way middlewares share data between the different system components has a direct impact on the overall performance, particularly the latency overhead. To this end, this paper presents FastCycle as a lightweight multi-threaded zero-copy messaging broker to meet the requirements of a high fidelity ADS in terms of modularity, real-time performance and security. We discuss the architecture and the main features of the proposed framework. Evaluation of the proposed framework based on standard metrics in comparison with popular middlewares used in robotics and automated driving shows the improved performance of our framework. The implementation of FastCycle and the associated comparisons with other frameworks are open sourced.
translated by 谷歌翻译
在新兴应用中,自主机器人对日常生活的潜在影响是明显的,如精密农业,搜救,救援和基础设施检查。然而,这种应用需要在不明和复杂的一组目标中具有广泛而非结构化的环境,所有这些应用都在严格的计算和功率限制下。因此,我们认为必须安排和优化支持机器人自主权的计算内核,以保证及时和正确的行为,同时允许在运行时重新配置调度参数。在本文中,我们考虑了一个必要的第一步,迈出了自主机器人的计算意识的目标:从资源管理角度来看,基础计算内核的实证研究。具体地,我们对三个嵌入式计算平台进行了用于定位和映射,路径规划,任务分配,深度估计和光流的核的定时,电源和内存性能的数据驱动的研究。我们配置文件并分析这些内核,为计算感知自治机器人提供了解调度和动态资源管理的洞察。值得注意的是,我们的结果表明,内核性能与机器人的运营环境有关,证明了计算感知机器人的概念以及为什么我们的作品对这一目标的关键步骤。
translated by 谷歌翻译
机器人正在集成更大尺寸的模型以丰富功能并提高准确性,从而导致控制力计算压力。因此,机器人在计算功率和电池容量中遇到瓶颈。雾或云机器人技术是解决这些问题的最期待的理论之一。云机器人技术的方法已从系统级到节点级别开发。但是,当前的节点级系统不够灵活,无法动态适应变化的条件。为了解决这个问题,我们提出了Elasticros,该Elasticros将当前的节点级系统演变为算法级别。 Elasticros基于ROS和ROS2。对于FOG和Cloud Robotics,它是第一个具有算法级协作计算的机器人操作系统。 Elasticros开发弹性协作计算,以实现对动态条件的适应性。协作计算算法是Elasticros的核心和挑战。我们抽象问题,然后提出一种称为Elasaction的算法以解决。这是一种基于在线学习的动态行动决策算法,它决定了机器人和服务器的合作方式。该算法会动态更新参数,以适应机器人当前所在的条件的变化。它根据配置将计算任务的弹性分配到机器人和服务器上。此外,我们证明了弹性的遗憾上限是sublinear,它保证了其收敛性,因此使Elasticros在其弹性上保持稳定。最后,我们对机器人技术的常见任务进行了Elasticros进行实验,包括SLAM,GRASPING和HUMAN-OBOT对话,然后在延迟,CPU使用和功耗中测量其性能。算法级弹性弹性的性能明显优于当前的节点级系统。
translated by 谷歌翻译
机器人操作系统(ROS)提供软件框架,知识和社区生态系统提供资源,以便快速开发和原型智能机器人应用。通过标准化软件模块的通信,配置和调用,ROS便于重用设备驱动程序和算法实现。使用现有的功能实现允许用户从测试和已知的功能中组装其机器人应用程序。尽管ROS-Industrial Consortium和Rosin这样的项目努力将ROS带到工业应用和整合工业硬件,但我们观察缺乏在普遍整合基本物理IO的选择。在这项工作中,我们通过为ROS实现通用Modbus / TCP设备驱动程序来安置并提供解决此问题。
translated by 谷歌翻译
运行时验证(RV)有可能使安全关键系统的安全操作太复杂而无法正式验证,例如机器人操作系统2(ROS2)应用程序。编写正确的监视器本身可能很复杂,监视子系统中的错误威胁着整个任务。本文概述了一种正式的方法,该方法是根据用结构化的自然语言编写的要求为自动驾驶机器人生成运行时监视器的。我们的方法通过OGMA集成工具将正式需求启发工具(FRET)与Copilot(运行时验证框架)集成在一起。 FRET用于用明确的语义指定需求,然后将其自动转化为时间逻辑公式。 OGMA从FRET输出中生成监视规格,该规范已编译为硬实时C99。为了促进ROS2中的显示器的集成,我们已经扩展了OGMA,以生成定义监视节点的ROS2软件包,该节点在新数据可用时运行监视器,并发布任何违规结果。我们方法的目的是将生成的ROS2软件包视为黑匣子,并以最小的努力将它们集成到更大的ROS2系统中。
translated by 谷歌翻译
ROS 2迅速成为机器人行业的标准。基于DDS作为其默认通信中间件并用于安全至关重要的场景中,将安全性添加到机器人和ROS计算图中越来越引起人们的关注。目前的工作介绍了SROS2,这是一系列开发人员工具和库,可促进ROS 2图添加安全性。为了关注SROS2中以可用性为中心的方法,我们提出了一种在遵循DevSecops模型时系统地保护图形的方法。我们还通过提出了一项应用程序案例研究来证明使用安全工具的使用,该案例研究考虑使用Puctor Navigation2和SLAM Toolbox Stacks在Turtlebot3机器人中应用的图形。我们分析了SROS2的当前功能,并讨论了这些缺点,从而为未来的贡献和扩展提供了见解。最终,我们将SROS2呈现为ROS 2的可用安全工具,并认为如果没有可用性,机器人技术的安全性将受到极大的损害。
translated by 谷歌翻译
已知尝试构建自主机器人依赖复杂的控制架构,通常使用机器人操作系统平台(ROS)实现。在这些系统中需要运行时适应,以应对组件故障,并使用动态环境引起的突发事件 - 否则,这些系统会影响任务执行的可靠性和质量。关于如何在机器人中构建自适应系统的现有提案通常需要重大重新设计控制架构,并依赖于对机器人社区不熟悉的复杂工具。此外,它们很难重复使用应用程序。本文介绍了MRO:基于ROS的机器人控制架构的运行时调整的基于模型的框架。 MRO使用域特定语言的组合来模拟架构变体,并捕获任务质量问题,以及基于本体的Mape-K和Meta-Contoil Visions的运行时适应的愿望。在两个现实ROS的机器人示范器中施加MRO的实验结果在特派团执行的质量方面,展示了我们的方法的好处,以及机器人应用程序的MROS的可扩展性和可重复性。
translated by 谷歌翻译
自主机时代的一个主要技术挑战是自动驾驶机器的编程,它要求跨多个领域的协同作用,包括基本的计算机科学,计算机架构和机器人技术,并且需要学术界和行业的专业知识。本文讨论了与生产现实生活自动驾驶机器相关的编程理论和实践,并在特定功能要求,性能期望和自主机的实施约束的背景下涵盖了从高级概念到低级代码生成的各个方面。
translated by 谷歌翻译
While the capabilities of autonomous systems have been steadily improving in recent years, these systems still struggle to rapidly explore previously unknown environments without the aid of GPS-assisted navigation. The DARPA Subterranean (SubT) Challenge aimed to fast track the development of autonomous exploration systems by evaluating their performance in real-world underground search-and-rescue scenarios. Subterranean environments present a plethora of challenges for robotic systems, such as limited communications, complex topology, visually-degraded sensing, and harsh terrain. The presented solution enables long-term autonomy with minimal human supervision by combining a powerful and independent single-agent autonomy stack, with higher level mission management operating over a flexible mesh network. The autonomy suite deployed on quadruped and wheeled robots was fully independent, freeing the human supervision to loosely supervise the mission and make high-impact strategic decisions. We also discuss lessons learned from fielding our system at the SubT Final Event, relating to vehicle versatility, system adaptability, and re-configurable communications.
translated by 谷歌翻译
通信系统是自主UAV系统设计的关键部分。它必须解决不同的考虑因素,包括UAV的效率,可靠性和移动性。此外,多UAV系统需要通信系统,以帮助在UAV的团队中提供信息共享,任务分配和协作。在本文中,我们审查了在考虑在电力线检查行业的应用程序时支持无人机团队的通信解决方案。我们提供候选无线通信技术的审查{用于支持UAV应用程序中的通信。综述了这些候选技术的性能测量和无人机相关的频道建模。提出了对构建UAV网状网络的当前技术的讨论。然后,我们分析机器人通信中间件,ROS和ROS2的结构,界面和性能。根据我们的审查,提出了通信系统中每层候选解决方案的特征和依赖性。
translated by 谷歌翻译
我们为多机器人系统应用程序提供了一个网络共模拟框架。我们需要一个模拟框架,该框架既捕获物理互动和通信方面,以有效地设计这种复杂的系统。这对于共同设计多机器人的自主逻辑和通信协议是必不可少的。提出的框架扩展了现有工具,以模拟机器人的自主权和与网络相关的方面。我们已经使用ROS/ROS2的凉亭来开发机器人和Mininet-WIFI作为网络模拟器的自治逻辑,以捕获多机器人系统的网络物理系统属性。该框架解决了通过同步移动性和时间来无缝集成两个仿真环境的需求,从而使算法轻松迁移到真实的平台。该框架支持基于容器的虚拟化,并通过解耦数据平面和控制平面来扩展通用机器人框架。
translated by 谷歌翻译