In an increasingly automated world -- from warehouse robots to self-driving cars -- streamlining the development and deployment process and operations of robotic applications becomes ever more important. Automated DevOps processes and microservice architectures have already proven successful in other domains such as large-scale customer-oriented web services (e.g., Netflix). We recommend to employ similar microservice architectures for the deployment of small- to large-scale robotic applications in order to accelerate development cycles, loosen functional dependence, and improve resiliency and elasticity. In order to facilitate involved DevOps processes, we present and release a tooling suite for automating the development of microservices for robotic applications based on the Robot Operating System (ROS). Our tooling suite covers the automated minimal containerization of ROS applications, a collection of useful machine learning-enabled base container images, as well as a CLI tool for simplified interaction with container images during the development phase. Within the scope of this paper, we embed our tooling suite into the overall context of streamlined robotics deployment and compare it to alternative solutions. We release our tools as open-source software at https://github.com/ika-rwth-aachen/dorotos.
翻译:在日益自动化的世界中——从仓库机器人到自动驾驶汽车——简化机器人应用的开发、部署流程及运维变得愈发重要。自动化DevOps流程和微服务架构已在其他领域(如面向大规模客户的网络服务,例如Netflix)被证明行之有效。我们建议在中小型至大规模机器人应用的部署中采用类似的微服务架构,以加速开发周期、松解功能依赖、提升韧性和弹性。为促进相关DevOps流程,我们提出并发布一套工具集,用于基于机器人操作系统(ROS)的机器人应用微服务自动化开发。该工具集涵盖ROS应用的自动化最小化容器化、一组实用的支持机器学习的容器基础镜像,以及一个用于在开发阶段简化容器镜像交互的命令行工具。在本论文范围内,我们将该工具集置于简化机器人部署的整体背景下,并与替代方案进行比较。我们的工具已在https://github.com/ika-rwth-aachen/dorotos 以开源软件形式发布。