分布式机器人系统在很大程度上依赖于支持它的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 谷歌翻译
由于高系统复杂性和动态环境,测试和调试已成为机器人软件开发的主要障碍。标准,基于中间件的数据记录不提供有关内部计算和性能瓶颈的足够信息。其他现有方法还针对非常特定的问题,因此不能用于多用途分析。此外,它们不适合实时应用。在本文中,我们呈现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 谷歌翻译
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 谷歌翻译
深度神经网络(DNN)由于其高度的感知,决策和控制而被广泛用于自主驾驶中。在诸如自动驾驶之类的安全至关重要系统中,实时执行感测和感知等任务对于车辆的安全至关重要,这需要应用程序的执行时间才能预测。但是,在DNN推断中观察到不可忽略的时间变化。当前的DNN推理研究要么忽略时间变化问题,要么依靠调度程序来处理它。当前的工作都没有解释DNN推理时间变化的根本原因。了解DNN推理的时间变化成为自动驾驶实时计划的基本挑战。在这项工作中,我们从六个角度分析了DNN推断的时间变化:数据,I/O,模型,运行时,硬件和端到端感知系统。在理解DNN推断的时间变化方面得出了六个见解。
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 谷歌翻译
实现自动化车辆和外部服务器,智能基础设施和其他道路使用者之间的安全可靠的高带宽低度连通性是使全自动驾驶成为可能的核心步骤。允许这种连接性的数据接口的可用性有可能区分人造代理在连接,合作和自动化的移动性系统中的功能与不具有此类接口的人类操作员的能力。连接的代理可以例如共享数据以构建集体环境模型,计划集体行为,并从集中组合的共享数据集体学习。本文提出了多种解决方案,允许连接的实体交换数据。特别是,我们提出了一个新的通用通信界面,该界面使用消息排队遥测传输(MQTT)协议连接运行机器人操作系统(ROS)的代理。我们的工作整合了以各种关键绩效指标的形式评估连接质量的方法。我们比较了各种方法,这些方法提供了5G网络中Edge-Cloud LiDAR对象检测的示例性用例所需的连接性。我们表明,基于车辆的传感器测量值的可用性与从边缘云中接收到相应的对象列表之间的平均延迟低于87毫秒。所有实施的解决方案均可为开源并免费使用。源代码可在https://github.com/ika-rwth-aachen/ros-v2x-benchmarking-suite上获得。
translated by 谷歌翻译
自主机时代的一个主要技术挑战是自动驾驶机器的编程,它要求跨多个领域的协同作用,包括基本的计算机科学,计算机架构和机器人技术,并且需要学术界和行业的专业知识。本文讨论了与生产现实生活自动驾驶机器相关的编程理论和实践,并在特定功能要求,性能期望和自主机的实施约束的背景下涵盖了从高级概念到低级代码生成的各个方面。
translated by 谷歌翻译
研究过程自动化 - 对科学仪器,计算机,数据存储和其他资源的可靠,高效和可重复执行的可靠,高效和可重复执行,这是现代科学的基本要素。我们在此处报告Globus研究数据管理平台内的新服务,该服务可以将各种研究过程的规范作为可重复使用的动作集,流量以及在异质研究环境中执行此类流动的集合。为了以广泛的空间范围(例如,从科学仪器到远程数据中心)和时间范围(从几秒钟到几周),这些Globus自动化服务功能:1)云托管以可靠地执行长期持久的流量,尽管零星的失败,但这些Globus自动化服务功能:1) ; 2)声明性符号和可扩展的异步行动提供商API,用于定义和执行涉及任意资源的各种行动和流动规范; 3)授权授权机制,用于安全调用动作。这些服务允许研究人员将广泛的研究任务的管理外包和自动化为可靠,可扩展和安全的云平台。我们向Globus自动化服务提供用例
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 谷歌翻译
软件体系结构定义了大型计算系统的蓝图,因此是设计和开发工作的关键部分。在移动机器人的背景下,对此任务进行了广泛的探索,从而导致了大量参考设计和实现。由于软件体系结构定义了实现所有组件的框架,因此自然是移动机器人系统的一个非常重要的方面。在本章中,我们概述了特定问题域(移动机器人系统)对软件框架强加的要求。我们讨论了一些当前的设计解决方案,提供了有关共同框架的历史观点,并概述了未来发展的方向。
translated by 谷歌翻译
感官反应系统(例如机器人技术和AR/VR)必须采取高度响应的实时操作,这是由涉及感应,感知,计划和反应任务的复杂决策驱动的。这些任务必须安排在资源约束的设备上,以便满足应用程序的性能目标和要求。这是一个困难的调度问题,需要处理多个调度维度以及资源使用和可用性的变化。实际上,系统设计师手动调整其特定硬件和应用参数,从而导致泛化不良并增加了开发负担。在这项工作中,我们强调了在有感觉反应系统中在运行时安排CPU资源的新兴需求。我们研究三个规范应用程序(面部跟踪,机器人导航和VR),以首先了解此类系统的关键调度要求。凭借这种理解,我们开发了一个调度框架Catan,该框架动态调度了在应用程序的不同组件上计算资源,以满足指定的应用程序要求。通过在广泛使用的机器人技术框架(ROS)和开源AR/VR平台上实施的原型实验,我们显示了系统计划对达到三个应用程序的性能目标的影响,Catan能够更好地取得更好的成就应用程序性能比手工调整的配置以及如何动态适应运行时变化。
translated by 谷歌翻译
通信系统是自主UAV系统设计的关键部分。它必须解决不同的考虑因素,包括UAV的效率,可靠性和移动性。此外,多UAV系统需要通信系统,以帮助在UAV的团队中提供信息共享,任务分配和协作。在本文中,我们审查了在考虑在电力线检查行业的应用程序时支持无人机团队的通信解决方案。我们提供候选无线通信技术的审查{用于支持UAV应用程序中的通信。综述了这些候选技术的性能测量和无人机相关的频道建模。提出了对构建UAV网状网络的当前技术的讨论。然后,我们分析机器人通信中间件,ROS和ROS2的结构,界面和性能。根据我们的审查,提出了通信系统中每层候选解决方案的特征和依赖性。
translated by 谷歌翻译
ROS 2迅速成为机器人行业的标准。基于DDS作为其默认通信中间件并用于安全至关重要的场景中,将安全性添加到机器人和ROS计算图中越来越引起人们的关注。目前的工作介绍了SROS2,这是一系列开发人员工具和库,可促进ROS 2图添加安全性。为了关注SROS2中以可用性为中心的方法,我们提出了一种在遵循DevSecops模型时系统地保护图形的方法。我们还通过提出了一项应用程序案例研究来证明使用安全工具的使用,该案例研究考虑使用Puctor Navigation2和SLAM Toolbox Stacks在Turtlebot3机器人中应用的图形。我们分析了SROS2的当前功能,并讨论了这些缺点,从而为未来的贡献和扩展提供了见解。最终,我们将SROS2呈现为ROS 2的可用安全工具,并认为如果没有可用性,机器人技术的安全性将受到极大的损害。
translated by 谷歌翻译
基于代理的建模(ABM),仿真(ABS)和分布式计算(ABC)是建立的方法。互联网和基于Web的技术是合适的运营商。本文是一份技术报告,其中具有JavaScript Agent Machine(JAM)平台的某些教程,以及使用AgentJS编程的代理程序,该代理是广泛使用的JavaScript编程语言的子集,用于编程基于移动状态的反应性代理。除了解释特定设计选择的动机以及在JavaScript中介绍架构和代理编程的核心概念外,简短示例还说明了JAM平台的功能及其组件,用于部署大型多机构系统在强大的强大中诸如互联网之类的异质环境。果酱适合在强大的异质和移动环境中部署。最后,果酱可用于ABC以及在统一方法中用于ABS,最终使移动人群感测和模拟(ABS)。
translated by 谷歌翻译
运行时验证(RV)有可能使安全关键系统的安全操作太复杂而无法正式验证,例如机器人操作系统2(ROS2)应用程序。编写正确的监视器本身可能很复杂,监视子系统中的错误威胁着整个任务。本文概述了一种正式的方法,该方法是根据用结构化的自然语言编写的要求为自动驾驶机器人生成运行时监视器的。我们的方法通过OGMA集成工具将正式需求启发工具(FRET)与Copilot(运行时验证框架)集成在一起。 FRET用于用明确的语义指定需求,然后将其自动转化为时间逻辑公式。 OGMA从FRET输出中生成监视规格,该规范已编译为硬实时C99。为了促进ROS2中的显示器的集成,我们已经扩展了OGMA,以生成定义监视节点的ROS2软件包,该节点在新数据可用时运行监视器,并发布任何违规结果。我们方法的目的是将生成的ROS2软件包视为黑匣子,并以最小的努力将它们集成到更大的ROS2系统中。
translated by 谷歌翻译
本文介绍了Cerberus机器人系统系统,该系统赢得了DARPA Subterranean挑战最终活动。出席机器人自主权。由于其几何复杂性,降解的感知条件以及缺乏GPS支持,严峻的导航条件和拒绝通信,地下设置使自动操作变得特别要求。为了应对这一挑战,我们开发了Cerberus系统,该系统利用了腿部和飞行机器人的协同作用,再加上可靠的控制,尤其是为了克服危险的地形,多模式和多机器人感知,以在传感器退化,以及在传感器退化的条件下进行映射以及映射通过统一的探索路径计划和本地运动计划,反映机器人特定限制的弹性自主权。 Cerberus基于其探索各种地下环境及其高级指挥和控制的能力,表现出有效的探索,对感兴趣的对象的可靠检测以及准确的映射。在本文中,我们报告了DARPA地下挑战赛的初步奔跑和最终奖项的结果,并讨论了为社区带来利益的教训所面临的亮点和挑战。
translated by 谷歌翻译
随着深度学习模型的速度较大,需要进行大型型号培训的系统级解决方案。我们展示了Amazon Sagemaker模型并行性,这是一个与Pytorch集成的软件库,并且可以使用模型并行性和其他内存节省功能轻松培训大型模型。与现有解决方案相比,Sagemaker库的实现更通用,灵活,因为它可以自动分区和运行具有最小代码的任意模型架构上的管道并行性,并且还为张量并行度提供一般和可扩展的框架,它支持更广泛的用例,并且可以轻松应用于新培训脚本的模块化。该库还将本机Pytorch用户体验保留到更大的程度,支持模块重复使用和动态图形,同时让用户完全控制训练步骤的细节。我们评估GPT-3,Roberta,BERT和神经协作过滤的性能,并表现出对现有解决方案的竞争性能。
translated by 谷歌翻译
自主机器人结合了各种技能,形成越来越复杂的行为,称为任务。尽管这些技能通常以相对较低的抽象级别进行编程,但它们的协调是建筑分离的,并且经常以高级语言或框架表达。几十年来,州机器一直是首选的语言,但是最近,行为树的语言在机器人主义者中引起了人们的关注。行为树最初是为计算机游戏设计的,用于建模自主参与者,提供了基于树木的可扩展的使命表示,并受到支持支持模块化设计和代码的重复使用。但是,尽管使用了该语言的几种实现,但对现实世界中的用法和范围知之甚少。行为树提供的概念与传统语言(例如州机器)有何关系?应用程序中如何使用行为树和状态机概念?我们介绍了对行为树中关键语言概念的研究及其在现实世界机器人应用中的使用。我们识别行为树语言,并将其语义与机器人技术中最著名的行为建模语言进行比较。我们为使用这些语言的机器人应用程序挖掘开源存储库并分析此用法。我们发现两种行为建模语言在语言设计及其在开源项目中的用法之间的相似性方面,以满足机器人域的需求。我们为现实世界行为模型的数据集提供了贡献,希望激发社区使用和进一步开发这种语言,相关的工具和分析技术。
translated by 谷歌翻译
随着智能机器人的广泛渗透,在多种领域,机器人中的同时定位和映射(SLAM)技术在社区中引起了不断的关注。然而,由于机器人的密集图形计算和机器人的有限计算能力之间的性能矛盾,在多个机器人上的合作仍然仍然具有挑战性。虽然传统的解决方案来到功能作为外部计算提供商的强大云服务器,但我们通过实际测量显示数据卸载中的显着通信开销可以防止其实际部署。为了解决这些挑战,本文将新兴边缘计算范例促进到多机器人SLAM中,提出了一种多机器人激光器SLAM系统,该系统专注于在机器人边缘云架构下加速映射施工过程。与传统的多机器人SLAM相比,在机器人上生成图形地图并完全合并它们在云上,recslam开发了一个分层地图融合技术,将机器人的原始数据指向用于实时融合的边缘服务器,然后发送到云端全球合并。为了优化整体管道,引入了一种有效的多机器人SLAM协作处理框架,以便自适应地优化针对异构边缘资源条件的机器人到边缘卸载,同时确保边缘服务器之间的工作量平衡。广泛的评估表明康复伍列可以通过最先进的延迟减少达到39%的处理延迟。此外,在真实场景中开发并部署了概念验证原型,以展示其有效性。
translated by 谷歌翻译
机器人操作系统(ROS)为涉及生产任务,提高生产力和简化人类运营的各个领域的自动化带来了极大的自动化潜力。但是,ROS高度依赖交流,但缺乏安全的数据共享机制。确保多机器人之间的机密数据交换在多机器人交互中提出了重大挑战。在本文中,我们介绍了Authros,这是一个安全且方便的授权框架,用于ROS节点,具有绝对安全性和基于私人以太坊网络和SM算法的高可用性。据我们所知,Authros是装有ROS的机器人的第一个安全数据共享框架。该框架可以满足ROS节点之间交换机密数据的不可变性和安全性的要求。此外,提出了授权和身份验证的机制,以在没有第三方的情况下进行原子执行以确保值得信赖的数据交换。 SM2密钥交换和SM4授权加密机制均已提出用于数据传输安全性。还实施了数据摘要上传方案,以提高以太坊网络上数据查询和上传的效率。实验结果表明,它可以从6.34ms的800KB加密数据中生成摘要。通过安全分析,Authros实现了安全的数据交换,数据操作检测和节点锻造攻击保护。
translated by 谷歌翻译