Ardumower software design: Unterschied zwischen den Versionen
Aus www.wiki.ardumower.de
(→Finite state machine) |
(→Further links) |
||
| Zeile 13: | Zeile 13: | ||
*If obstacle during reverse => roll | *If obstacle during reverse => roll | ||
*If obstacle during roll => forward | *If obstacle during roll => forward | ||
| + | |||
| + | =C++ classes/interfaces= | ||
| + | <gallery> | ||
| + | File: interfaces.png | ||
| + | </gallery> | ||
| + | |||
=Further links= | =Further links= | ||
Version vom 17. Juni 2015, 11:18 Uhr
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
Implemented updates:
- If obstacle during reverse => roll
- If obstacle during roll => forward
C++ classes/interfaces