【自适应计算在机器人领域的应用】连载六:自适应计算平台实现ROS之路
2021-11-11 来源:厂商供稿
: 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 计算图的一部分卸载到可编程逻辑 () 并进行加速的和方法。第二类研究提出加速 ROS 底层的概念,特别是用网络堆栈优化节点间的网络内交互。根据“Real-me communicaTIons: an evaluaTIon of the linux communicaTIon stack for real- time robotic lications”的描述,网络堆栈是 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 等概念,或能熟练使用 Vivo® 设计或 Vitis™ 统一平台等工具。
类似地,部署到嵌入式目标也需要用户在一定程度上熟悉 Yocto,OpenEmbedded 以及相关工具。大多数从事 ROS 研发的机器人专家不具备这样的能力。要集成自适应计算,需要采用一种以 ROS 为中心的方法。硬件和嵌入式流程必须直接集成到 ROS 生态系统中,提供的体验与机器人专家在其桌面工作站上构建 ROS 工作空间时的体验相似。在充分利用所有既往研究结果和经验的基础上,下一章节将提出一种以 ROS 为中心的架构,用于集成自适应计算。