Commit f86b3447 authored by Nicolas Van der Noot's avatar Nicolas Van der Noot

readme update

parent fa1aea96
The resource is a simulation environment where one or several mobile robots compete against each other in order to get the highest possible score for their team. The said robots have a system of differential-drive wheels to move. Their aim is to autonomously collect several targets spread over the playground, bring them back to their base, while avoiding contacts with the opponent robots. Reaching this goal requires developing a controller (coded in C/C++) providing the appropriate voltage to the robot’s wheels, as a function of sensory inputs such as wheel velocity, touch sensors, or beacon detector. Learning outcomes of such a project include velocity control of DC motor, trajectory control, development of path-finding algorithms (optimal path search), avoidance of fixed obstacle and moving opponents, and the development of a high-level strategic decision module. This environment can further be used by the teacher to show concepts related to a mobile robotics class.
The simulation environment is [Robotran](, using its *C* environment called *MBsysC*. Installation of *MBsysC* is described at the following links, depending on your OS:
* [Linux](
* [Mac OS](
* [Windows 32-bit](
* [Windows 64-bit](
Basic Robotran knowledge is not necessary to work on this project. However, in case you want to learn about it, a tutorial for the Robotran *C* features is available [here]( This tutorial can also be accessed using [this page](, by clicking on *C/C++*.
Regarding the 3D visualization, both *Java* and *OpenGL* can be used.
*Java* was used for a long time with [Robotran](, but the corresponding libraries are no more compatible with some OS (especially recent *Mac OS* versions).
*OpenGL* was developed to solve this problem. However, this is a new library for this project, which was therefore less tested. Shadows are only available with *OpenGL*.
To choose the 3D visualizer library, open the [main CMakeLists.txt](workR/CMakeLists.txt) file and set the options `FLAG_JAVA` and `FLAG_OPEN_GL` to `ON` and `OFF` (one must be set to `ON`, the other to `OFF`).
When selecting *OpenGL*, shaders can be configured in the [visualization mbs file](dataR/diff_wheel_robots_open_gl.mbs), using the graphical Pad (i.e. *MBSysPad*, to download [here]( This allows to activate/deactivate the shadows, but also to select basic shaders, in order to run on computers with low graphics capabilities.
This project can possibly be adapted to a new scenario (e.g. new map...). In such a case, follow the instructions below. You can take inspiration from the pre-existing template project.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment