From 79456a7d1b2116fc8f50b82bd73b877cf8ef1bdf Mon Sep 17 00:00:00 2001 From: Nicolas Haller Date: Fri, 8 May 2009 10:13:09 +0200 Subject: * digital/io/src: - removed old FSM (gutter and getsamples) --- digital/io/src/getsamples.fsm | 104 ------------------------------------------ 1 file changed, 104 deletions(-) delete mode 100644 digital/io/src/getsamples.fsm (limited to 'digital/io/src/getsamples.fsm') diff --git a/digital/io/src/getsamples.fsm b/digital/io/src/getsamples.fsm deleted file mode 100644 index 6b10eec1..00000000 --- a/digital/io/src/getsamples.fsm +++ /dev/null @@ -1,104 +0,0 @@ -# Get samples FSM -# A general remark on this FSM: it is not its responsibility to put the bot in -# front of the distributor, it the responsibility of the top FSM using the -# move FSM. -# For example, the top FSM will order the bot to move in front of the -# distributor using the move FSM. Then, when it is arrived, it will the get -# sample FSM that will ensure we well placed (in term of angle for example). -get_samples - Get samples from the distributor - -States: - IDLE - waiting for the beginning of the get samples FSM - FACE_DISTRIBUTOR - face the distributor - OPEN_INPUT_HOLE - move the arm to let the samples enter into the bot by the input hole - APPROACH_DISTRIBUTOR - make the bot move forward in order to be in contact with the distributor - TAKE_SAMPLES - take one or more samples - MOVE_AWAY_FROM_DISTRIBUTOR - move the bot away from the distributor by going backward - CLOSE_INPUT_HOLE - put the arm back in front of the input hole to prevent sample to enter - MOVE_BACKWARD_FROM_DISTRIBUTOR - move a little bit backward from the distributor - WAIT_AND_TRY_AGAIN - wait and try again - -Events: - start - initialize the FSM -# For the moment, this event is currently not managed. -# TODO: manage it - bot_move_failed - the bot movement failed (blocked by something for example) - bot_move_succeed - the bot has finished to moved and arrived at the desired position - arm_move_succeed - the arm has reached the desired position - arm_pass_noted_position - the arm has just passed the 'noted' position - wait_finished - we have wait the desired time - -IDLE: - start -> FACE_DISTRIBUTOR - do a goto angle to make the bot facing the distributor - -FACE_DISTRIBUTOR: - bot_move_succeed -> OPEN_INPUT_HOLE - move the arm to open the input hole - -OPEN_INPUT_HOLE: - arm_move_succeed -> APPROACH_DISTRIBUTOR - start approaching the distributor now - -APPROACH_DISTRIBUTOR: - bot_move_succeed -> MOVE_BACKWARD_FROM_DISTRIBUTOR - move a little bit backward from the distributor - bot_move_failed -> . - try to move again - -MOVE_BACKWARD_FROM_DISTRIBUTOR: - bot_move_succeed -> TAKE_SAMPLES - start taking some samples - setup a timeout - -TAKE_SAMPLES: - arm_pass_noted_position: more -> . - prepare the classification of the taken sample - take a new one - reset the timeout - arm_pass_noted_position: no_more -> MOVE_AWAY_FROM_DISTRIBUTOR - store current position - go backward - wait_finished -> MOVE_AWAY_FROM_DISTRIBUTOR - store current position - timed out, give up - go backward - -MOVE_AWAY_FROM_DISTRIBUTOR: - bot_move_succeed -> CLOSE_INPUT_HOLE - close input hole - setup a close timeout - bot_move_failed -> WAIT_AND_TRY_AGAIN - ask to be wake up in a certain time - arm_pass_noted_position -> . - prepare the classification of the taken sample - -CLOSE_INPUT_HOLE: - arm_move_succeed -> IDLE - tell the top FSM we have finished - wait_finished -> IDLE - timed out, give up - tell the top FSM we have finished - arm_pass_noted_position -> . - prepare the classification of the taken sample - -WAIT_AND_TRY_AGAIN: - wait_finished -> MOVE_AWAY_FROM_DISTRIBUTOR - compute remaining distance (protection agains 0 & 300) - try to move away again -- cgit v1.2.3