High-Level Architecture#

  • ROS based

  • Distributed paradigm with communication between nodes (processes)

  • Pub/Sub and RPC (Remote Procedure Call) communication

  • Layered architecture

_images/architecture.jpg

Note

The implementation isn’t great (needs some heavy refactoring: we had to move fast while learning new technologies, which contributed to a decrease in quality), but the concepts and ideas should be useful.

Decision Making#

The decision making logic is based on a state machine implementation (state pattern).

Inputs from the sensing nodes originate state changes, and different states may respond differently to the same inputs.