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.