Skip to content
Lars Möllendorf edited this page Mar 25, 2021 · 3 revisions

Welcome to the openroberta-lab wiki!

We forked OpenRoberta Lab in order to create a virtual robotics contest, the RoboRAVE Cyberspace.

The idea is to add one or more RoboRAVE tracks to the Open Roberta Lab, let the kids code and upload their solution. At live events the solutions are run on our server and scored automatically.

3 RoboRAVE Challenges have been added so far:

  • LineFollowing
  • Labyrinth
  • Rainbow

...with 3 difficulty levels each:

  • ES (Elementary School)
  • MS (Middle School)
  • HS (High School)

Brief introduction to the challenges

Detailed rules

Hacking OpenRoberta Lab

Development environment

First RoboRAVE Demo

To implement a first RoboRAVE Challenge demo only changes in simulation.js were needed.

The relevant changes can be seen in Commit 8a818efd300702e425b4978f9765e3fd3e99cf07.

Running your own server

Instructions to setup and run the test and prod server using DOCKER container (2020-06-08)

Further Changes

We added some features we were missing from original ORL:

  • random selection of a background image to achieve a random arrangement of the colors of the paths in Rainbow Challenge MS/HS
  • positioning of multiple objects/obstacles to set the walls in the Labyrinth Challenge and to mark the path ends in the Rainbow Challenge
  • invisible waypoints to check if the robot reaches a goal on the intended path (e.g. black line in LineFollowing Challenge) and calculate points accordingly
  • stopwatch to measure the time to reach the goal and award points accordingly

We have also integrated ORL into our Team Management Portal so that teams can upload their solutions and points will be scored automatically. But these changes are reverted on the branch feature/roborave-de since the code of our Team Management Portal has not been published (yet).

Future Development

Meanwhile we are working on our own simulator for ORL. It has mainly 2 new features:

  • simple physics by integrating matter.js
  • reproducible simulation independent of the running hardware - i.e. the simulation does not depend on the FPS of the displaying device