In the pursuit of research into autonomous systems, Robot Operating System (ROS) has become a de facto standard for both its functionality and extensibility. ROS has helped to provide standardized systems for common challenges such as communication, localization, and mapping. While ROS has historically been successful on these fronts, due to the prominence of containerization and micro-service architecture, ROS has had its usage shift to have resources run on containers leveraging distributed communication capabilities. While its distributed communication capabilities are present, we seek to better appreciate the efficacy of ROS in a distributed context by evaluating its impact on performance. To evaluate the impact of performance, we’ve leveraged the KITTI dataset to provide reproducible information streams that have both visible and LiDAR where we will evaluate mapping throughput to compare performance. Our metrics evaluate three methods of containerized ROS development: 1) A singular container with all relevant processing on a single machine, 2) Multiple containers on a single machine where processing is separated by logical task, and 3) Multiple containers where each process is in a domain-specific container distributed across a cluster of systems. Based on our comparison of performance across these paradigms, we believe these results will help better inform developers and researchers on the trade-offs given by ROS in a micro-service architecture.
|