Entorno basado en contenedores Linux para el desarrollo de aplicaciones robóticas
Contenido principal del artículo
Resumen
El desarrollo y despliegue de aplicaciones robóticas en investigación involucra desafíos como la gestión eficiente de hardware heterogéneo, especialmente GPUs, o la elaboración de configuraciones software con requisitos incompatibles, por ejemplo, conflictos de librerías y versiones. A menudo, estos problemas se convierten en una limitación para los investigadores, ya que dificultan la colaboración o incluso imposibilitan el desarrollo y despliegue de sus aplicaciones. En este trabajo, se presenta una solución consistente en un entorno basado en virtualización mediante contenedores persistentes de baja latencia, que ofrece plataformas de desarrollo completos, acceso directo al hardware y gestión automática de las comunicaciones, facilitando el desarrollo de aplicaciones robóticas en entornos heterogéneos complejos. El entorno propuesto se valida mediante su implementación real en un laboratorio de robótica. Concretamente, se presenta un experimento consistente en la creación de mapas semánticos con robots móviles, una tarea compleja que ha requerido el uso de contenedores que ejecutan nodos de ROS2 intercomunicados.
Palabras clave:
Detalles del artículo
Citas
Cañete, A., Quemada, E., Ruiz-Sarmiento, J.-R., Moreno, F.-A., Gonzalez-Jimenez, J., 2024. Multimodal system for the orientation of mobile robots towards its interlocutor. XLV Jornadas de Automática.
da Silva, A. S., Kreutz, A., Weiss, G., Rothe, J., Ihrke, C., 2023. Devops in robotics: Challenges and practices. In: Software Architecture. ECSA 2022 Tracks and Workshops. Springer International Publishing, pp. 284–299. DOI: https://doi.org/10.1007/978-3-031-36889-9 20 DOI: https://doi.org/10.1007/978-3-031-36889-9_20
Faconti, D., 2024. Bonxai. https://github.com/facontidavide/Bonxai, accessed: 2024-06-03.
Fernández-Chaves, D., Ruiz-Sarmiento, J.-R., Petkov, N., Gonzalez-Jimenez, J., 2021. Vimantic, a distributed robotic architecture for semantic mapping in indoor environments. Knowledge-Based Systems 232, 107440. DOI: https://doi.org/10.1016/j.knosys.2021.107440 DOI: https://doi.org/10.1016/j.knosys.2021.107440
Graber, S., 2014. Lxc 1.0: Security features. https://www.stgraber.org/2014/01/01/lxc-1-0-security-features/, accessed: 2024-06-02.
Hafi, L. E., Ricardez, G. A. G., von Drigalski, F., Inoue, Y., Yamamoto, M., Yamamoto, T., 2022. Software development environment for collaborative research workflow in robotic system integration. Advanced Robotics 36 (11), 533–547. DOI: https://doi.org/10.1080/01691864.2022.2068353 DOI: https://doi.org/10.1080/01691864.2022.2068353
Jabbari, R., bin Ali, N., Petersen, K., Tanveer, B., 2016. What is devops? a systematic mapping study on definitions and practices. In: Proceedings of the Scientific Workshop Proceedings of XP2016. New York, NY, USA. DOI: https://doi.org/10.1145/2962695.2962707 DOI: https://doi.org/10.1145/2962695.2962707
Lumpp, F., Panato, M., Bombieri, N., Fummi, F., apr 2023. A design flow based on docker and kubernetes for ros-based robotic software applications. ACM Trans. Embed. Comput. Syst.Just Accepted. DOI: https://doi.org/10.1145/3594539 DOI: https://doi.org/10.1145/3594539
Macenski, S., Foote, T., Gerkey, B., Lalancette, C., Woodall, W., 2022. Robot operating system 2: Design, architecture, and uses in the wild. Science Robotics 7 (66). DOI: https://doi.org/10.1126/scirobotics.abm6074 DOI: https://doi.org/10.1126/scirobotics.abm6074
Malavolta, I., Lewis, G. A., Schmerl, B., Lago, P., Garlan, D., 2021. Mining guidelines for architecting robotics software. Journal of Systems and Software 178, 110969. DOI: https://doi.org/10.1016/j.jss.2021.110969 DOI: https://doi.org/10.1016/j.jss.2021.110969
Mavrinac, A., 2023. Devops for robotics. https://www.prosiglieres.com/posts/devops-for-robots/, [Accessed 2024-03-27].
Merkel, D., 2014. Docker: lightweight linux containers for consistent development and deployment. Linux journal 2014 (239), 2. DOI: https://dl.acm.org/doi/10.5555/2600239.2600241
Moncada-Ramirez, J., Ruiz-Sarmiento, J.-R., Matez, J.-L., Gonzalez-Jimenez, J., 2024. Large models for semantic mapping in mobile robotics. XLV Jornadas de Automática.
Pontarolli, R. P., Bigheti, J. A., de S ́a, L. B. R., Godoy, E. P., 2023. Microservice-oriented architecture for industry 4.0. Eng 4 (2), 1179–1197. DOI: https://doi.org/10.3390/eng4020069 DOI: https://doi.org/10.3390/eng4020069
Project, L., 2024a. Incus - next-generation system container and virtual machine manager. https://linuxcontainers.org/incus/, accessed: 2024-06-02.
Project, L., 2024b. Lxc - linux containers. https://github.com/lxc/lxc, accessed: 2024-06-02.
Ronanki, K. C., 2021. Robotic software development using devops. URL: https://urn.kb.se/resolve?urn=urn:nbn:se:bth-22024
Ruiz-Sarmiento, J.-R., Galindo, C., Gonzalez-Jimenez, J., 2017. Building multiversal semantic maps for mobile robot operation. Knowledge-Based Systems 119, 257–272. DOI: https://doi.org/10.1016/j.knosys.2016.12.016 DOI: https://doi.org/10.1016/j.knosys.2016.12.016
Saha, O., Dasgupta, P., 2018. A comprehensive survey of recent trends in cloud robotics architectures and applications. Robotics 7 (3). DOI: https://doi.org/10.3390/robotics7030047 DOI: https://doi.org/10.3390/robotics7030047
Soltesz, S., P ̈otzl, H., Fiuczynski, M. E., Bavier, A., Peterson, L., 2007. Container-based operating system virtualization: A scalable, high-performance alternative to hypervisors. ACM SIGOPS Operating Systems
Review 41 (3), 275–287. DOI: https://doi.org/10.1145/1272996.1273025 DOI: https://doi.org/10.1145/1272996.1273025
Wang, S., Liu, X., Zhao, J., Christensen, H. I., 2019. Rorg: Service robot software management with linux containers. In: 2019 International Conference on Robotics and Automation (ICRA). pp. 584–590. DOI: https://doi.org/10.1109/ICRA.2019.8793764 DOI: https://doi.org/10.1109/ICRA.2019.8793764
Wendt, A., Sch ̈uppstuhl, T., 2022. Proxying ros communications — enabling containerized ros deployments in distributed multi-host environments. In: IEEE/SICE International Symposium on System Integration. pp. 265–270. DOI: https://doi.org/10.1109/SII52469.2022.9708884
White, R., Christensen, H., 2017. ROS and Docker. Springer International Publishing, Cham, Ch. 9, pp. 285–307. DOI: https://doi.org/10.1007/978-3-319-54927-9 9 DOI: https://doi.org/10.1007/978-3-319-54927-9_9
Wu, B., Zhang, Z., Bai, Z., Liu, X., Jin, X., 2023. Transparent GPU sharing in container clouds for deep learning workloads. In: USENIX Symposium on Networked Systems Design and Implementation. pp. 69–85.
Wu, Y., Kirillov, A., Massa, F., Lo, W.-Y., Girshick, R., 2019. Detectron2. https://github.com/facebookresearch/detectron2.
Zhang, J., Keramat, F., Yu, X., Hern ́andez, D. M., Queralta, J. P., Westerlund, T., 2022. Distributed robotic systems in the edge-cloud continuum with ros 2: a review on novel architectures and technology readiness. In: 2022 Seventh International Conference on Fog and Mobile Edge Computing (FMEC). pp. 1–8. DOI: https://doi.org/10.1109/FMEC57183.2022.10062523 DOI: https://doi.org/10.1109/FMEC57183.2022.10062523