summaryrefslogtreecommitdiffhomepage
path: root/digital/io/doc
diff options
context:
space:
mode:
authorNélio Laranjeiro2008-04-03 00:02:23 +0200
committerNélio Laranjeiro2008-04-03 00:02:23 +0200
commit1aa31771736695a1a3b04be1e30a3384030f7305 (patch)
tree9f199062a7a8b0800ac5ce08edbd71ae7e9e8900 /digital/io/doc
parentcb730b47ee76f324ebc53d6319df5e9a4d0bb6fb (diff)
Added a first shoot of the move state machine.
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"];
+}