Skip to content

Install

Tarik Viehmann edited this page Jun 22, 2024 · 19 revisions

Installing the RCLL Referee Box

The RCLL Referee Box (refbox) is developed on Fedora Linux.

If you only want to run the refbox, we recommend to use Docker.

Docker

We provide Docker images on quay.io.

To fetch the latest version (from branch master), pull the default image:

$ docker pull quay.io/robocup-logistics/rcll-refbox

Note: You do not need to follow the following sections if you use the Docker image. Please see Usage for details how to run the container.

Building the refbox from source

Prerequisites

The following libraries are required to build and run the refbox. The version numbers are the minimum version required and that we tested. Before posting any issues please make sure you meet these requirements.

  • freeopcua: OPC-UA library to communicate with the PLCs on the MPS machines.
  • CLIPS: CLIPS (CLIPS at Wikipedia) is a rule-based production system. It is used to implement the core of the referee box - the knowledge base, game rules and flow control.
  • clipsmm: C++ bindings for CLIPS.
  • protobuf: Used for network communication message structure definition. All communication from and to the refbox uses a simple network protocol with protobuf messages.
  • protobuf_comm: Protobuf Wrapper for peer-to-peer communication.
  • Boost: Boost is a library used in particular for internal signaling using Boost Signals2 and asynchronous I/O using Boost Asio.
  • yaml-cpp: Library used to read the configuration file.
  • Gtkmm: Used to build the graphical interface to monitor and instruct the refbox.
  • ncurses: Used to build the textual interface to monitor and instruct the refbox.
  • rapidJSON For the new frontend
  • microhttpd For the new frontend
  • MongoDB: For automated and complete logging of log messages and network traffic to a database (optional).

Installing the Prerequisites on Fedora

To get a list of all requirements, check out the build instructions in the Dockerfile.

Installing from Git repository

The recommended way is get the source code via Git to make later updates easier.

git clone  --recurse-submodules https://github.com/robocup-logistics/rcll-refbox.git
cd rcll-refbox

Compiling the refbox

The refbox uses cmake as build system. To locally build the refbox just run:

cmake -S . -B build
cmake --build build

The refbox also supports a system-wide installation:

cmake -S . -B build -DCONFDIR=/etc/refbox -DSHAREDIR=/usr/local/share/refbox 
cmake --build build -- -j
sudo cmake --install build

Configuring the refbox

The default configuration should be usable mostly out-of-the-box. But most certainly you will need to setup the broadcast address of your network. Please see the refbox configuration page for details.