![]() |
![]() |
![]() |
![]() |
Remrob is a web application for a remote web lab that offers an authentic ROS development experience by serving in-browser desktop workstations with the help of noVNC. Docker containers are used to encapsulate the workstations of which there are two types - simulation and physical robot enabled environments. The users are able to reserve access to the remote lab through a time slot booking module.
See "Open Remote Web Lab for Learning Robotics and ROS With Physical and Simulated Robots in an Authentic Developer Environment" published in IEEE Transactions on Learning Technologies for more details.
Demo video: https://www.youtube.com/watch?v=FGVpwIwRrwc
See https://github.com/unitartu-remrob/remrob-setup for full remrob app installation instructions.
A Node.js API for launching and monitoring ROS-VNC containers.
The API has authentication and authorization middleware, and uses Docker compose to craft user-specific container environments.
- Node v20
- Docker & Docker compose
- websockify
npm install
cp .env.example .env
npm run dev
npm run lint
npm run format
npm run server
npm run vnc-client
The images that are used by remrob-webapp are listed under RemrobDockerImages at config/default.json.
All images that can be created with the help of remrob-docker are listed, although only ones that have been built will be returned when calling GET /images.
Nvidia CudaGL images will be returned over same version of non-nvidia images (these are specified with the overridenBy flag).
Install the pm2 daemon process manager (available via npm)
npm install pm2@latest -g
Start with pm2:
npm run pm2:cluster
Run as a persistent background process:
pm2 startup // follow instructions
pm2 start ecosystem.config.cjs
Check status:
pm2 status remrob
Restart with changes:
pm2 reload remrob
Stream logs:
pm2 logs
Completed with the support by IT Academy Programme of Education and Youth Board of Estonia.
Valminud Haridus- ja Noorteameti IT Akadeemia programmi toel.



