{"title":"使用容器化基础设施的复杂机器人应用的开发和部署","authors":"Pedro Melo, Rafael Arrais, G. Veiga","doi":"10.1109/INDIN45523.2021.9557386","DOIUrl":null,"url":null,"abstract":"There are significant difficulties in deploying and reusing application code within the robotics community. Container technology proves to be a viable solution for such problems, as containers isolate application code and all its dependencies from the surrounding computational environment. They are also light, fast and performant. Manual generation of configuration files required by orchestration tools such as Docker Compose is very time-consuming, especially for more complex scenarios. In this paper a solution is presented to ease the development and deployment of Robot Operating System (ROS) packages using containers, by automatically generating all files used by Docker Compose to both containerize and orchestrate multiple ROS workspaces, supporting multiple ROS distributions and multi-robot scenarios. The proposed solution also generates Dockerfiles and is capable of building new Docker images at run-time, given a list of desired ROS packages to be containerized. Integration with existing Docker images is supported, even if non-ROS-related. After an analysis of existing solutions and techniques for containerizing ROS nodes, the multi-stage pipeline adopted by the proposed solution for file generation is detailed. Then, a real usage example of the proposed tool is presented, showcasing how it an aid both the development and deployment of new ROS packages and features.","PeriodicalId":370921,"journal":{"name":"2021 IEEE 19th International Conference on Industrial Informatics (INDIN)","volume":"58 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2021-07-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"3","resultStr":"{\"title\":\"Development and Deployment of Complex Robotic Applications using Containerized Infrastructures\",\"authors\":\"Pedro Melo, Rafael Arrais, G. Veiga\",\"doi\":\"10.1109/INDIN45523.2021.9557386\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"There are significant difficulties in deploying and reusing application code within the robotics community. Container technology proves to be a viable solution for such problems, as containers isolate application code and all its dependencies from the surrounding computational environment. They are also light, fast and performant. Manual generation of configuration files required by orchestration tools such as Docker Compose is very time-consuming, especially for more complex scenarios. In this paper a solution is presented to ease the development and deployment of Robot Operating System (ROS) packages using containers, by automatically generating all files used by Docker Compose to both containerize and orchestrate multiple ROS workspaces, supporting multiple ROS distributions and multi-robot scenarios. The proposed solution also generates Dockerfiles and is capable of building new Docker images at run-time, given a list of desired ROS packages to be containerized. Integration with existing Docker images is supported, even if non-ROS-related. After an analysis of existing solutions and techniques for containerizing ROS nodes, the multi-stage pipeline adopted by the proposed solution for file generation is detailed. Then, a real usage example of the proposed tool is presented, showcasing how it an aid both the development and deployment of new ROS packages and features.\",\"PeriodicalId\":370921,\"journal\":{\"name\":\"2021 IEEE 19th International Conference on Industrial Informatics (INDIN)\",\"volume\":\"58 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2021-07-21\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"3\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2021 IEEE 19th International Conference on Industrial Informatics (INDIN)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/INDIN45523.2021.9557386\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2021 IEEE 19th International Conference on Industrial Informatics (INDIN)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/INDIN45523.2021.9557386","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Development and Deployment of Complex Robotic Applications using Containerized Infrastructures
There are significant difficulties in deploying and reusing application code within the robotics community. Container technology proves to be a viable solution for such problems, as containers isolate application code and all its dependencies from the surrounding computational environment. They are also light, fast and performant. Manual generation of configuration files required by orchestration tools such as Docker Compose is very time-consuming, especially for more complex scenarios. In this paper a solution is presented to ease the development and deployment of Robot Operating System (ROS) packages using containers, by automatically generating all files used by Docker Compose to both containerize and orchestrate multiple ROS workspaces, supporting multiple ROS distributions and multi-robot scenarios. The proposed solution also generates Dockerfiles and is capable of building new Docker images at run-time, given a list of desired ROS packages to be containerized. Integration with existing Docker images is supported, even if non-ROS-related. After an analysis of existing solutions and techniques for containerizing ROS nodes, the multi-stage pipeline adopted by the proposed solution for file generation is detailed. Then, a real usage example of the proposed tool is presented, showcasing how it an aid both the development and deployment of new ROS packages and features.