Cookies Policy
The website need some cookies and similar means to function. If you permit us, we will use those means to collect data on your visits for aggregated statistics to improve our service. Find out More
Accept Reject
  • Menu


  • Name

    Pedro Miguel Melo
  • Role

  • Since

    10th October 2018


A Container-Based Framework for Developing ROS Applications

Melo, P; Arrais, R; Teixeira, S; Veiga, G;


Modern software engineering practices to enable reproducible and easy to deploy robotics solutions have been embraced in recent years, leading to an increasing adoption of container technologies within the Robot Operating System (ROS) community. However, there is still no common procedure or tools for creating, testing, and deploying containerized ROS packages. A common way to work with containerized ROS applications would prove beneficial by increasing even more the level of collaboration among development teams, help in reusing existing solutions, and automate the development of new ones. This paper presents a software framework to support the development of ROS applications using Docker containers, across all its stages. Besides containerizing ROS packages, the presented tool also assists in the deployment of containerized solutions as well as the creation of complex simulation environments for testing. The tool also provides a way for these simulations to be assessed at run-time using a property-specific language targeting ROS applications. An industrial and a scientific scenario are presented to portray the usage of the proposed tool.


Development and Deployment of Complex Robotic Applications using Containerized Infrastructures

Melo, P; Arrais, R; Veiga, G;

19th IEEE International Conference on Industrial Informatics, INDIN 2021, Palma de Mallorca, Spain, July 21-23, 2021

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. © 2021 IEEE.