Looks like it runs on docker (https://hub.docker.com/_/ros) so that’s super simple to setup then and they even have a docker-compose.yml file for deploying to a swarm like the CommunityGrid’s stack and Hypriot.
version: '2'
services:
master:
build: .
container_name: master
command:
- roscore
talker:
build: .
container_name: talker
environment:
- "ROS_HOSTNAME=talker"
- "ROS_MASTER_URI=http://master:11311"
command: rosrun roscpp_tutorials talker
listener:
build: .
container_name: listener
environment:
- "ROS_HOSTNAME=listener"
- "ROS_MASTER_URI=http://master:11311"
command: rosrun roscpp_tutorials listener
And the actual ROS code is in python and c++: https://github.com/codebot/stanford-ros-pkg/tree/master/pancakebot with the robot being controlled over radius controlled wifi (802.11x) or radius wired lan.
So that means running the listener or any specific ros application can be compiled and bundled to a docker image then once the image is pushed to a docker registry the your robot controllers (ie swarm node workers and manager) can pull that down and start controlling your robots.
This is something I’ve been wanting to do for my drone project. I’m glad there is an actual setup for it now. so we’ll get this added into the community grid in upcoming release cycles. But if one wants to try it out before, take the online class to get access and deploy your ros tasks.