From 1aa31771736695a1a3b04be1e30a3384030f7305 Mon Sep 17 00:00:00 2001 From: NĂ©lio Laranjeiro Date: Thu, 3 Apr 2008 00:02:23 +0200 Subject: Added a first shoot of the move state machine. --- digital/io/doc/makefile | 2 +- digital/io/doc/move.dot | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 digital/io/doc/move.dot (limited to 'digital/io/doc') 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"]; +} -- cgit v1.2.3