Jumpstart ROS developent with no headache! Full browser support. OpenGL support with no need of a physically atachted GPU.
- full ros distro (currently melodic)
- rqt and all plugins
- rviz
- full python (2.7) environment
- visual studio code server
There are two provided start and stop scripts - one for windows, the other one for unix systems.
First pull the github project to get these scripts with git clone https://github.com/gismo07/coros.git
.
cd utils-windows
.\start-windows.cmd
cd utils
sudo chmod +x ./start.sh
./start.sh
- to open the IDE, simply open the browser and go to localhost:80
- The password is currently set to
dev@ros
- to see rviz or some other gui stuff, open another browser tab localhost:6080/vnc.html and click connect
Per default all perisistent data is located at the host pc (assuming windows for now) under C:/ros-persistent-data
. Create this folder before starting the container.
If you want to bind a existing folder of the host to the docker container, the docker-compose.yaml
file is used for that. For each folder, a new volume
section has to be added:
volumes:
- type: bind
source: /<PATH_TO_FOLDER_ON_HOST>
target: /<TARGET_DESTINATION_ON_THE_CONTAINER>
volume:
nocopy: true # just keep that
The environment comes shipped with a docker-compose.yaml
to start the service and manage some parameters:
version: '3.7'
services:
headless-ros-vnc:
ports:
- '80:8080'
#- '5900:5900'
- '6080:6080'
volumes:
- type: bind
source: C:/ros-persistent-data
target: /my_ros_data
volume:
nocopy: true
image: johannhaselberger/coros
coros makes use of three open ports:
8080
: access to visual studio code server5900
: the default vnc port (could be theoretically accessed with any vnc client, however, as the port is forwarded via noVNC that's not intended)6080
: access to the novnc web interface
Important: for each instance of coros these ports have to be assigned to available host-ports!
- start docker with admin rights
- right click on the docker system tray icon -> Settings
- Under
Shared Drives
set the checkbox for the C drive
Try to start the service with sudo rights. On windows open our shell with admin rights.
This is mainly a windows error. Right klick on the docker tray icon and select switch to linux containers.
That's a very common ROS network issue:
- make sure you can ping the remote machine
- add all remote host names and your own host name to
\etc\hosts
on all machines - restart the ROS master