0
$\begingroup$

Rosanswers logo

I am currently thinking about running the ROS nodes required for a robot to work in separate docker containers. It can then be controlled remotely which nodes are supposed to run and where. I am also thinking about a central instance that manages configurations for nodes and robots to be matched.

I think this can make the whole setup more flexible an robust.

But it also adds some overhead and another abstraction layer.

Has anyone ever done this? Thoughts about this?


Originally posted by ct2034 on ROS Answers with karma: 862 on 2016-11-24

Post score: 3

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

Yes, we are doing this on our Pioneer 3-AT robots and it works fine. The main reason we did it was to replicate the setup across same robots (we have three Pioneers with slightly different hardware). With docker it is also easy to bring up the system automatically with something like:

docker run -d --restart=always pioneer3

If you are planning to use roslaunch, one thing to keep in mind is that the containers will be starting in parallel, meaning you have to make them wait for the container with roscore to start, otherwise roslaunch will start its own roscore in each container (though the ROS_MASTER_URI will clash I guess). This can be solved with the --wait flag for roslaunch.

What seems inconvenient to me is the development and debugging, so as you mentioned it might be necessary to write a 'supervisor' app to see the state of containers remotely etc.


Originally posted by Boris with karma: 3060 on 2016-11-26

This answer was ACCEPTED on the original site

Post score: 4


Original comments

Comment by ct2034 on 2016-11-29:
Thanks for the answer. Sounds interesting. Are you also using docker remote api to remotely start and stop containers?

Comment by Boris on 2016-12-02:
Yes, I think so. Unfortunately I don't have any details right now about that.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.