The control-high repository consists of the High-Level Controller and the MHIST submodule of the SOZO Robotics Project.
The High-Level Controller (HLC) receives the area to cover from the Swarm Algorithm (tbd, currently mocked), gets updates about the local map and the current position in the map from SLAM and feedback about the leg movement (successful/panic - leg x stuck) from the gait controller.
The Planning Alogorithm outputs the high level actions that the robot will use to navigate through the area to completely explore it. You can test the algorithm with the pytests defined in hlc/tests
. The high level actions ("move forward" or "turn by 90 degrees") are sent to the gait controller.
The "Monitor" is the main Process, that is starting the subprocesses "Queues", "Receiver", "Supplier" and "Plan". The receiver subscribes to MHIST, a simple on disk measurement data base that stores and redistributes measurements consisting of a sensor name and a value through grpc. The output, the hla, are pushed to MHIST and then pulled from the gait controller.
- Planning Algorithm
- no obstacles
- obstacle avoidance
- Tests for Planning Algorithm
- Grid Generator
- Monitor
- Receiver with Queues
- Supplier