Zoro: A robotic middleware combining high performance and high reliability
Wei Liu,Jiangming Jin,Hao Wu,Yifan Gong,Ziyue Jiang,Jidong Zhai
DOI: https://doi.org/10.1016/j.jpdc.2022.04.010
IF: 4.542
2022-08-01
Journal of Parallel and Distributed Computing
Abstract:With the significant advances of AI technology, robotic systems have achieved remarkable development and profound effects. The robotic middleware plays a critical role in robotic systems to provide message definition, data transmission, and service discovery functions. As the modern robotic systems are usually operated in safety critical environments, such as various autonomous driving scenarios, it requires the design of robotic middleware to combine both high performance and high reliability in order to achieve system reliability and product safety. However, conventional robotic middleware used in the majority of robotic systems is based on an inefficient socket communication mechanism and relies on a hasty service discovery design, which leads to system instability and high resource usage. In this work, we propose a sophisticated robotic middleware, Zoro, to fulfill both high performance and high reliability. For communication, we employ shared memory for performance improvement and propose a socket-based communication control algorithm to improve reliability during data transmission. Also, a hierarchical memory protection mechanism is proposed to address safety problems caused by shared memory. Furthermore, we design a light-weight service discovery, to achieve high performance and a weak centralized mechanism for high reliability. Experiments show the communication latency of Zoro significantly outperforms state-of-the-art robotic middleware such as ROS2 and CyberRT by up to 41%. In terms of service discovery, Zoro reduces CPU usage by up to 44% compared to ROS. Zoro achieves reliability with respect to communication and service discovery.
computer science, theory & methods