DOI QR코드

DOI QR Code

Design of Layered Software Architecture Based on ROS That Reflects the Requirements of Underwater Robot Software System

수중로봇 소프트웨어 시스템의 요구사항을 반영한 ROS 기반의 계층화된 소프트웨어 아키텍처의 설계

  • Received : 2017.07.31
  • Accepted : 2017.09.01
  • Published : 2017.10.31

Abstract

Underwater robots operating in constrained underwater environment have requirements for software systems. Firstly, it is necessary to provide reusable common software components for hardware interface of sensors and actuators that are frequently used in underwater robots. Secondly, it is required to support distributed execution environment on multiple embedded controllers. Thirdly, it is need to implement a monitoring system capable of high-speed and large-data transmission for underwater robots operating in an environment where it is difficult to check the robot status. For these requirements, we have designed the layered architecture pattern and applied several design patterns to enhance the reusability and the maintainability of software components, In addition, we overlaid the broker architecture pattern to support distributed execution environments. Finally, we implemented the underwater robot software system using ROS framework based on the software architecture design. In order to evaluate the performance of the implemented software system, we performed an experiment to measure the response time between components and the transmission rate of the monitoring data, and obtained the results satisfying the required performance.

Keywords

References

  1. L. Bass, R. Kazman, P. Clements, "Software Architecture in Practice," 2012.
  2. List of Software Architecture Styles and Patterns, Available at: https://en.wikipedia.org/wiki/List_of_software_architecture_styles_and_patterns
  3. F. Buschmann, R. Meunier, H. Rohnert, "Pattern-Oriented Software Architecture," Vol. 1, 1996.
  4. H. Durrant-Whyte, N. Roy, P. Abbeel, "Robotics: Science and Systems VII," pp. 90-91, 2012.
  5. T.H. Kim, H.C. Kim, “A Software Architecture for Highly Reconfigurable Sensor Operaing Systems,” IEMEK J. Embed. Sys. Appl., Vol. 2, No. 4, pp. 242-250, 2007 (in Korean).
  6. B.W. Choi, “A Review and Outlook of Robotic Software Frameworks,” The Journal of Korea Robotics Society, Vol. 5, No. 2, pp. 169-176, 2010 (in Korean).
  7. N. Mohamed, J. Al-Jaroodi, I. Jawhar, "Middleware for Robotics: A Survey," IEEE Conference on Robotics, Automation and Mechatronics, pp. 736-742, 2008.
  8. J. Yuh, "Design and Control of Autonomous Underwater Robots: A Survey," Autonomous Robots, pp. 7-24, 2000.
  9. OPRoS Wiki, Available at: http://ropros.org
  10. Y.H. Choi, J.W. Lee, J.H. Suh, J.D. Lee, "The Integrated Autonomous Underwater Navigation System based on Open Platform for Robotic Services," Proceedings of Modelling, Simulation and Applied Mathematics, pp. 53-56, 2015.
  11. ROS Official Website, http://ros.org
  12. J.H. Li, H.J. Kang, S.M. Hong, Y.H. Choi, J.H. Suh, "Demonstration of P-SURO II AUV's Autonomous Navigation in the Water Tank Environment," Proceedings of Ubiquitous Robots and Ambient Intelligence, 2016.
  13. J.W. Lee, J.E. Hong, "A Technique of ADD-based Architecture Design for Low Power Embedded Software," IEMEK J. Embed. Sys. Appl., Vol. 8, No. 4, pp.195-204, 2013 (in Korean). https://doi.org/10.14372/IEMEK.2013.8.4.195