Skip to content

Modules

Justus Dicker edited this page Jul 14, 2025 · 9 revisions

What is a Module?

The iBOAR system is organized into independent modules (services) that each handle a specific aspect of the robot’s behavior.
Modules communicate using MQTT (Message Queue Telemetry Transport) - a lightweight publish/subscribe messaging protocol.

  • Each module can be developed, tested, and deployed independently.
  • Modules communicate by publishing or subscribing to MQTT topics.
  • This architecture allows flexibility, fault tolerance, and scalability.

Available Modules

Click on a module below to see its documentation, setup, and usage instructions:


Dependencies

  • Linux (tested on Arch)
  • MQTT Broker: Mosquitto
  • C++ build tools
  • Java, Maven, Spring Boot
  • RPLIDAR SDK

Tip

The first setup script installs all the dependencies automatically.


Conventions

  • Always start the MQTT Broker first, then start individual modules.
  • Use named screen sessions so that utility scripts (like stop.sh) can manage them correctly.
  • Each module page provides basic commands for build, run, test, and stop.
  • Every dependency is autocratically installed by the setup.sh script

Tip

There are scripts which automate the start and stop process.

Clone this wiki locally