Modules - The-Bug-Bashers/iBOARCode GitHub Wiki
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.