{"title":"The ring-buffer ROS2 executor: a novel approach for real-time ROS2 Space applications","authors":"Pablo Ghiglino, Guillermo Sarabia","doi":"10.1109/SCC57168.2023.00021","DOIUrl":null,"url":null,"abstract":"ROS2 (Robot Operating System Version 2) is an open-source software framework and suite of libraries that facilitates robotics application development and multi-core processing. ROS2 is becoming the de-facto standard for autonomous robotics application and recently. On the other hand, with the support of NASA and Blue Origin, Space-ROS -a Space applications specialized implementation of ROS2- is also starting to be used for Space autonomous applications, like landers and space robotics. ROS was designed to simplified and reduce the development time and effort required to write robotics applications and ROS2 kept this focus plus the main goal of enabling real-time robotics. In the initial design of ROS2, processing performance was given low priority, and, while an effort has been made to increase processing performance, it is not uncommon to face long latency in receiving sensor data or even non-negligible data losses. The research presented here shows a ROS2 executor implemented based on a lock-free ring-buffer that can not only increase by significantly the data processing rate with respect to the built-in ROS2 executors, but also reduce the processing consumption substantially. Successful performance results of this novel ring-buffer ROS2 executor are presented here and validated in several Space computers and the de-facto real-time benchmarking standard: the Raspberry Pi4 with Real-time Linux as operating system.","PeriodicalId":258620,"journal":{"name":"2023 IEEE Space Computing Conference (SCC)","volume":"23 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2023-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2023 IEEE Space Computing Conference (SCC)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/SCC57168.2023.00021","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
ROS2 (Robot Operating System Version 2) is an open-source software framework and suite of libraries that facilitates robotics application development and multi-core processing. ROS2 is becoming the de-facto standard for autonomous robotics application and recently. On the other hand, with the support of NASA and Blue Origin, Space-ROS -a Space applications specialized implementation of ROS2- is also starting to be used for Space autonomous applications, like landers and space robotics. ROS was designed to simplified and reduce the development time and effort required to write robotics applications and ROS2 kept this focus plus the main goal of enabling real-time robotics. In the initial design of ROS2, processing performance was given low priority, and, while an effort has been made to increase processing performance, it is not uncommon to face long latency in receiving sensor data or even non-negligible data losses. The research presented here shows a ROS2 executor implemented based on a lock-free ring-buffer that can not only increase by significantly the data processing rate with respect to the built-in ROS2 executors, but also reduce the processing consumption substantially. Successful performance results of this novel ring-buffer ROS2 executor are presented here and validated in several Space computers and the de-facto real-time benchmarking standard: the Raspberry Pi4 with Real-time Linux as operating system.
ROS2 (Robot Operating System Version 2)是一个开源软件框架和库套件,用于促进机器人应用程序开发和多核处理。ROS2正在成为自主机器人应用的事实上的标准。另一方面,在美国国家航空航天局和蓝色起源的支持下,Space- ros——专门实现ROS2的空间应用——也开始用于空间自主应用,如着陆器和空间机器人。ROS旨在简化和减少编写机器人应用程序所需的开发时间和工作量,ROS2保持了这一重点,并实现了实时机器人技术的主要目标。在ROS2的初始设计中,处理性能被给予了较低的优先级,虽然已经努力提高处理性能,但在接收传感器数据时面临长延迟甚至不可忽略的数据丢失的情况并不少见。本文的研究展示了一个基于无锁环缓冲区实现的ROS2执行器,与内置的ROS2执行器相比,它不仅可以显著提高数据处理速率,还可以大大降低处理消耗。本文介绍了这种新型环形缓冲ROS2执行器的成功性能结果,并在几台Space计算机和事实上的实时基准测试标准(使用实时Linux作为操作系统的Raspberry Pi4)中进行了验证。