Skip to main content
Log in

Message Passing Optimization in Robot Operating System

  • Published:
International Journal of Parallel Programming Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11

Similar content being viewed by others

References

  1. 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)

  2. Maruyama, Y., Kato, S., Azumi, T.: Exploring the performance of ROS2. In: Proceedings of the 13th International Conference on Embedded Software. ACM (2016)

  3. Baidu Appollo. http://apollo.auto/

  4. Pardo-Castellote, G.: OMG data-distribution service: architectural overview. In: Proceedings of IEEE International Conference on Distributed Computing Systems Workshops (2003)

  5. Data Distribution Services (DDS) v1.4, (2015). https://www.omg.org/spec/DDS/1.4/PDF

  6. ROS2 Bouncy Bolson. https://index.ros.org/doc/ros2/

  7. Elkady, A., Sobh, T.M.: Robotics middleware: a comprehensive literature survey and attribute-based bibliography. J. Robot. (2012)

  8. Erik, E., et al.: Mira-middleware for robotic applications. In: 2012 IEEE/RSJ International Conference on Intelligent Robots and Systems. IEEE (2012)

  9. 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)

  10. Metta, G., Fitzpatrick, P., Natale, L.: YARP: yet another robot platform. Int. J. Adv. Robot. Syst. 3(1), 8 (2006)

    Article  Google Scholar 

  11. 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)

  12. 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)

  13. 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)

    Article  Google Scholar 

  14. 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

  15. 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)

  16. 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)

Download references

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

Authors

Corresponding author

Correspondence to Ziyue Jiang.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10766-019-00647-w

Keywords

Navigation