This repository supports both arm64
🍎 and x86_64
🪟 architectures.
Read the following information carefully before you proceed!
- If you have an Apple Silicon Mac, the image is based on
arm64v8/ros:melodic-ros-base-bionic
and contains the noVNC setup for GUI applications such asRViz
andGazebo
. - If you have a PC, the image is from the University of Surrey's container registry, so make sure you have GlobalProtect VPN installed and connected. See here for more information. A custom Dockerfile based on
osrf/ros:melodic-desktop-full
is a work in progress 🚧. - Currently everything is running on integrated graphics. To enable GPU acceleration, you're on your own 🤷♂️.
UoS-ros-setup
├── LICENSE
├── README.md
├── assets
│ ├── novnc_gui.png
│ ├── vscode.png
│ ├── x11_preferences.png
│ ├── xeyes.png
│ └── xquartz_login.png
├── catkin_ws
│ ├── Makefile
│ ├── build
│ ├── devel
│ ├── solutions
│ └── src
└── uos_vpn_setup.pdf
For both setup, make sure you have Docker installed on your machine. For Mac, you can brew it.
brew install --cask docker
For Windows, use your choice of package manager.
choco install docker-desktop
The Windows setup requires you to have WSL2 installed. Follow the instructions here to install WSL2. Fortunately, unlike the Apple Sillicon setup, WSLg takes care of the GUI applications so we don't have to install noVNC or vcXsrv.
-
Connect to
vpn.surrey.ac.uk
usingGlobalProtect VPN
. Run the following command to pull the image from the University of Surrey's container registry and tag it asuos-ros-setup:latest
.docker pull container-registry.surrey.ac.uk/shared-containers/robotics-module-2:latest docker tag container-registry.surrey.ac.uk/shared-containers/robotics-module-2:latest uos-robotics:latest
-
To start the dev container, press
Ctrl + Shift + P
and selectDev Container: Reopen in Container
. -
Everything should just work. Try running
RViz
to test the GUI.
The Apple Sillicon setup uses Dockerfile.arm64
and will automatically build once you start the dev container.
- Same as above. To start the dev container, press
Cmd + Shift + P
and selectDev Container: Reopen in Container
. - Wait for the container to build. When it's finished you should see the message in your terminal:
🚀 Container is ready! For 🍎 users, Connect to the UI by opening: http://localhost:6080/vnc.html in your browser
- Click on the link in the terminal to open the noVNC session in your browser. The password for the noVNC session is
password
. Tada! You now have a ROS development environment setup.