【自适应计算在机器人领域的应用】连载六:自适应计算平台实现ROS之路

机器人

528人已加入

描述

作者: Víctor Mayoral-Vilches 和 Giulio Corradi,赛灵思公司

连载六:自适应计算平台实现 ROS 之路?

表 1 和表 2 总结的是将 ROS 和 ROS 2 分别实现在图 1 所示一些自适应计算平台的既往研究。图 4 所示的是历年来最具相关性的成果。

可编程逻辑

图 1: 赛灵思自适应计算解决方案

表 1: 在自适应计算平台上实现 ROS 的既往研究

可编程逻辑

表 2: 有关在自适应计算平台上运行 ROS 的既往研究

可编程逻辑

可编程逻辑

图 2:ROS 与 ROS 2 演进变革

图 2 反映出科研界对促进自适应计算发展的兴趣越来越浓厚。从 ROS 的角度来看,可以将过去的研究分为三类:第一类研究提出帮助机器人专家充分利用硬件加速功能,将 ROS 计算图的一部分卸载到可编程逻辑 (FPGA) 并进行加速的工具和方法。第二类研究提出加速 ROS 底层的概念,特别是用网络堆栈优化节点间的网络内交互。根据“Real-time Linux communications: an evaluation of the linux communication stack for real- time robotic applications”的描述,网络堆栈是 ROS 通信的瓶颈,“Acceleration of publish/subscribe messaging in ROS-compliant FPGA component”等研究对实时分布式系统有参考价值。第三类研究提出用自适应计算优化 ROS 计算图。

除了在用户空间层面加速特定应用和 ROS 库,值得一提的还有在流程间、流程内乃至网络内的层面上加速 ROS 节点间的交互。由于机器人行为建立在 ROS 节点交互的结果之上,因此用于这个用途的加速器通过从总体上减少 ROS 和 ROS 2 计算图数据流,显著影响总时延。

也就是说,在考虑 ROS 和 ROS 2 时,必须应用全面的硬件加速视图。这种视图能体现:a) 对流程中、流程内、网络内(含底层) ROS 计算图交互的优化;以及 b) 对 ROS 上运行的应用的加速。

要点总结: 在考虑 ROS 和 ROS 2 时,必须应用全面的硬件加速视图。这种视图能体现:a) 对流程中、流程内、网络内(含底层)的 ROS 计算图交互的优化;以及 b) 对 ROS 上运行的应用的加速。

根据图 2 列出的既往研究,还可以得出另一个结论。过去的大多数方法主要都是从硬件工程师的视角解决自适应计算与 ROS 的集成问题,其提出的大多数工具和方法都有一个先决条件,即最终用户必须具备嵌入式流和硬件流的既有经验。这往往意味着需要熟悉 RTL、HDL 和 HLS 等概念,或能熟练使用 Vivado® 设计套件或 Vitis™ 统一软件平台等工具。

类似地,部署到嵌入式目标也需要用户在一定程度上熟悉 Yocto,OpenEmbedded 以及相关工具。大多数从事 ROS 研发的机器人专家不具备这样的能力。要集成自适应计算,需要采用一种以 ROS 为中心的方法。硬件和嵌入式流程必须直接集成到 ROS 生态系统中,提供的体验与机器人专家在其桌面工作站上构建 ROS 工作空间时的体验相似。在充分利用所有既往研究结果和经验的基础上,下一章节将提出一种以 ROS 为中心的架构,用于集成自适应计算。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分