MRA (Robocup MSL Reference Architecture) prototype.
October 2023: this repo is now OBSOLETE. New location: https://github.com/RoboCup-MSL/MRA-components
After the MSL workshop 2022 at Eindhoven (material reference needed!), Jurge (from VDL RobotSports team) took initiative to drive this forward.
This repository is intended to move from concept idea to demo. Connect with existing Falcons- and RobotSports code bases, facilitate the first demonstration(s) and trigger detailed discussion on how we should proceed.
See here for the presentation (pdf) from May 2023.
A demonstration was given at the Robocup Worldcup 2023 Bordeaux, MSL Technical Challenge. It was awarded with first prize (link).
It is unclear if there is video footage.
The demo showed how a robot behaves very differently when using Falcons getball+velocitycontrol versus RobotSports getball+velocitycontrol, all via this repository.
Currently, two build systems are supported: bazel and cmake. For more details and practical guidance, see INTEGRATION.md
The creation of a new component is supported via the tool "MRA-codegen.py" in the MRA-root folder.
This script creates from templates the files needed for a component. To make a new component a developer need to create a new component folder and a subfolder "interface". In the subfolder "interface" the interface files must be present. The files "Input.proto" and "Output.proto" are mandatory (For details see MRA-codegen.py -h).
After the creation of the files, the script generates the files. A starting point for adding own code to the component is "tick.cpp"