summaryrefslogtreecommitdiffhomepage
path: root/digital/io/doc
diff options
context:
space:
mode:
Diffstat (limited to 'digital/io/doc')
-rw-r--r--digital/io/doc/makefile2
-rw-r--r--digital/io/doc/move.dot20
2 files changed, 21 insertions, 1 deletions
diff --git a/digital/io/doc/makefile b/digital/io/doc/makefile
index ca53b9cc..3f03f686 100644
--- a/digital/io/doc/makefile
+++ b/digital/io/doc/makefile
@@ -1,4 +1,4 @@
-DOT = mainFsm.dot loadBall.dot getSamplesFsm.dot stdContenerFsm.dot
+DOT = mainFsm.dot loadBall.dot getSamplesFsm.dot stdContenerFsm.dot move.dot
PNG = $(DOT:%.dot=%.png)
diff --git a/digital/io/doc/move.dot b/digital/io/doc/move.dot
new file mode 100644
index 00000000..dd92d6de
--- /dev/null
+++ b/digital/io/doc/move.dot
@@ -0,0 +1,20 @@
+# Try to reach a position, this digram shall provide an start of solution when
+# the robot is blocked or a when the robot has a obstacle in front of it.
+
+digraph move
+{
+ start -> "go_to_position" [label ="ok"];
+ "go_to_position" -> end [label = "reached"];
+
+ "go_to_position" -> "failed \n or \n blocked";
+ "failed \n or \n blocked" -> "move_on_left" [label = "Far from left boarder"];
+ "failed \n or \n blocked" -> "move_on_right" [label = "Far from right boarder"];
+
+ "move_on_right" -> "go_to_position" [label = "reached"]
+ "move_on_right" -> "failed \n or \n blocked";
+ "move_on_right" -> "move_on_left" [label = "fail || block \n&&\n near border"];
+
+ "move_on_left" -> "go_to_position" [label = "reached"]
+ "move_on_left" -> "failed \n or \n blocked";
+ "move_on_left" -> "move_on_right" [label = "fail || block \n&&\n near border"];
+}