Abstract
With the development of deep learning, autonomous robot systems grow rapidly and require better performance. Robot Operating System 2 (ROS2) has been widely adopted as the main communication framework in autonomous robot systems. However, the performance of ROS2 has become the bottleneck of these real-time systems. From our observations, we find that it can take a large amount of time to serialize complex message in communication, especially for some high-level programming languages, including Python, Java and so on. To address this challenge, we propose a novel technique, called adaptive two-layer serialization algorithm, which can achieve good performance in communication for different kinds of messages. Experimental results show that our algorithm can achieve significant performance improvement over traditional methods in ROS2, up to 93% improvement in our framework. We have successfully applied our proposed techniques in a real autonomous robot system.
Similar content being viewed by others
References
Quigley, M., Conley, K., Gerkey, B., Faust, J., Foote, T., Leibs, J., Wheeler, R., Ng, A.Y.: ROS: an open-source robot operating system. In: Proceedings of IEEE International Conference on Robotics and Automation Workshop on Open Source Software, vol. 3 (2009)
Maruyama, Y., Kato, S., Azumi, T.: Exploring the performance of ROS2. In: Proceedings of the 13th International Conference on Embedded Software. ACM (2016)
Baidu Appollo. http://apollo.auto/
Pardo-Castellote, G.: OMG data-distribution service: architectural overview. In: Proceedings of IEEE International Conference on Distributed Computing Systems Workshops (2003)
Data Distribution Services (DDS) v1.4, (2015). https://www.omg.org/spec/DDS/1.4/PDF
ROS2 Bouncy Bolson. https://index.ros.org/doc/ros2/
Elkady, A., Sobh, T.M.: Robotics middleware: a comprehensive literature survey and attribute-based bibliography. J. Robot. (2012)
Erik, E., et al.: Mira-middleware for robotic applications. In: 2012 IEEE/RSJ International Conference on Intelligent Robots and Systems. IEEE (2012)
Huang, A.S., Olson, E., Moore, D.C.: LCM: lightweight communications and marshalling. In: 2010 IEEE/RSJ International Conference on Intelligent Robots and Systems. IEEE (2010)
Metta, G., Fitzpatrick, P., Natale, L.: YARP: yet another robot platform. Int. J. Adv. Robot. Syst. 3(1), 8 (2006)
Wei, H., Huang, Z., Yu, Q., Liu, M., Guan, Y., Tan, J.: RGMP-ROS: a real-time ROS architecture of hybrid RTOS and GPOS on multi-core processor. In: 2014 IEEE International Conference on Robotics and Automation (ICRA) May 31, pp. 2482–2487. IEEE (2014)
Saito, Y., Sato, F., Azumi, T., Kato, S., Nishio, N.: ROSCH: real-time scheduling framework for ROS. In: 2018 IEEE 24th International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA) Aug 28, pp. 52–58. IEEE (2018)
Wei, H., Shao, Z., Huang, Z., Chen, R., Guan, Y., Tan, J., Shao, Z.: RT-ROS: a real-time ROS architecture on multi-core processors. Fut. Gener. Comput. Syst. 1(56), 171–8 (2016)
Wang, Y.-P., Tan, W., Hu, X.-Q., Manocha, D., Hu, S.-M.: TZC: efficient inter-process communication for robotics middleware with partial serialization (2018). arXiv:1810.00556
Sugata, Y., Ohkawa, T., Ootsu, K., Yokota, T.: Acceleration of publish/subscribe messaging in ROS-compliant FPGA component. In: Proceedings of the 8th International Symposium on Highly Efficient Accelerators and Reconfigurable Technologies Jun 7, p. 13. ACM (2017)
Maruyama, Y., Kato, S., Azumi, T.: Exploring the performance of ROS2. In: Proceedings of the 13th International Conference on Embedded Software Oct 1, p. 5. ACM (2016)
Acknowledgements
We would like to thank the anonymous reviewers for their valuable comments. This work is partially supported by the National Key R&D Program of China (Grant No. 2016YFB0200100), National Natural Science Foundation of China (Grant No. 61722208).
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Jiang, Z., Gong, Y., Zhai, J. et al. Message Passing Optimization in Robot Operating System. Int J Parallel Prog 48, 119–136 (2020). https://doi.org/10.1007/s10766-019-00647-w
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10766-019-00647-w