Ardumower software design: Unterschied zwischen den Versionen
Aus www.wiki.ardumower.de
(→Finite state machine) |
(→C++ classes/interfaces) |
||
Zeile 15: | Zeile 15: | ||
=C++ classes/interfaces= | =C++ classes/interfaces= | ||
+ | |||
+ | Revision : ardumower-1.0a4-Azurit | ||
+ | |||
+ | (Courtesy of Jacques found in the Forum) | ||
+ | |||
+ | [[File: Soft map1.PNG]] | ||
+ | [[File: Soft map2.PNG]] | ||
+ | [[File: Soft map3.PNG]] | ||
+ | |||
<gallery> | <gallery> | ||
− | + | File: interfaces.png | |
</gallery> | </gallery> | ||
− | |||
=Further links= | =Further links= |
Version vom 22. November 2015, 22:02 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 (Note: The drawing has been created using draw.io)
Implemented updates:
- If obstacle during reverse => roll
- If obstacle during roll => forward
C++ classes/interfaces
Revision : ardumower-1.0a4-Azurit
(Courtesy of Jacques found in the Forum)