Ardumower software design
Aus www.wiki.ardumower.de
Version vom 19. März 2016, 15:18 Uhr von Alexanderg (Diskussion | Beiträge) (Änderungen von Pierlau38 (Diskussion) wurden auf die letzte Version von Alexanderg zurückgesetzt)
This page describes some internals of the Ardumower software architecture.
Finite state machine
Main component of the software is a so called 'finite state machine', that means there exists a set of states ("OFF", "FORWARD", "ROLL", etc.) that the robot can be in. Depending on events (sensor is triggering etc.), the robot will enter a new state.
State diagram (Note: The drawing has been created using draw.io)
Implemented updates:
- If obstacle during reverse => roll
- If obstacle during roll => forward
C++ classes/interfaces