summaryrefslogtreecommitdiff
path: root/digital/io/src/move.fsm
diff options
context:
space:
mode:
authorJérémy Dufour2008-05-03 11:15:31 +0200
committerJérémy Dufour2008-05-03 11:15:31 +0200
commit1bcff7dbcbb284f5564ac708292b23fd447395a9 (patch)
tree2cc5f47226bd7155f9ed575d1a76593b6f14a802 /digital/io/src/move.fsm
parentd803fd8ba61dba29c904ee1fccfab2b7177834d4 (diff)
* digital/io/src
* top FSM - change the position where to drop balls at the gutter (to prevent the order of dropped balls to change) ; - change the order of balls taken at the distributor: first two samples with three ice, then three samples with two ice. * get samples FSM - manage the case where the arm passed the noted position in the state where it should not (because the arm was blocked) ; - add some debug messages. * gutter FSM - reduce the time spent to drop the balls at the gutter. * move FSM - update the algorithm to avoid obstacle: when a obstacle is seen, first way, then if it is not present anymore continue, otherwise, try to find an alternative path; if none found, wait again. * chrono - near end of the match time increased to 83s.
Diffstat (limited to 'digital/io/src/move.fsm')
-rw-r--r--digital/io/src/move.fsm14
1 files changed, 9 insertions, 5 deletions
diff --git a/digital/io/src/move.fsm b/digital/io/src/move.fsm
index 317f25d8..c08d0454 100644
--- a/digital/io/src/move.fsm
+++ b/digital/io/src/move.fsm
@@ -91,9 +91,13 @@ MOVING_TO_INTERMEDIATE_POSITION:
move backward to turn freely
WAIT_FOR_CLEAR_PATH:
- wait_finished: obstacle -> .
- check for obstacle using stored moving direction
- post an event for the top FSM to be waked up later
wait_finished: no_obstacle -> MOVING_TO_FINAL_POSITION
- check for obstacle using stored moving direction
- try to go the final position
+ ask the asserv to go to the final position
+ wait_finished: obstacle_and_intermediate_path_found -> MOVING_TO_INTERMEDIATE_POSITION
+ compute the obstacle position
+ get next intermediate position from path module
+ go to next intermediate position
+ wait_finished: obstacle_and_no_intermediate_path_found -> .
+ compute the obstacle position
+ get next intermediate position from path module failed
+ post an event for the top FSM to be waked up later