From 2376aeb614d69d7050209f858818bfa7d36be398 Mon Sep 17 00:00:00 2001 From: Jérôme Jutteau Date: Mon, 2 May 2011 23:32:51 +0200 Subject: digital/io: adapt FSM to new FSM system (AngFSM) --- digital/io/src/init.fsm | 106 ------------------------------------------------ 1 file changed, 106 deletions(-) delete mode 100644 digital/io/src/init.fsm (limited to 'digital/io/src/init.fsm') diff --git a/digital/io/src/init.fsm b/digital/io/src/init.fsm deleted file mode 100644 index f780ba45..00000000 --- a/digital/io/src/init.fsm +++ /dev/null @@ -1,106 +0,0 @@ -# init FSM -# This FSM is used to place the bot at a "start position" for a match. It is -# more precise than a human hand and reset the asserv board to the start -# position. -# Some remarks: -# - for security reason, we need to insert the jack then removed it, then -# insert it back. Why? Because it can already be inserted. -# - other FSM can do a similar thing by using the first jack out to -# initialize. -init - place the bot in the start position for a match. - -States: - *INIT_IDLE - waiting for the beginning of the top FSM. - INIT_WAIT_FIRST_JACK_IN - wait for the jack to be inserted into the bot for the first time. - INIT_WAIT_FIRST_JACK_OUT - wait the jack to be removed from the bot for the first time. - INIT_WAIT_SECOND_JACK_IN - wait for the jack to be inserted into the bot for the second time. - INIT_WAIT_FOR_HANDS_OUT[timeout=225] - just wait for operator hands to be removed from the jack. - INIT_GO_TO_THE_WALL - go to the wall for the first time. - INIT_GO_AWAY_FROM_THE_WALL - reset the Y position of the bot. - reset the angular position of the bot. - go backward from the wall for a specific distance. - INIT_FACE_OTHER_WALL - make the bot face the other wall. - INIT_WAIT_AFTER_ROTATION [timeout=100] - make sure rotation is really finished before continuing. - INIT_GO_TO_THE_WALL_AGAIN - go to the wall for the second time. - INIT_GO_AWAY_FROM_THE_WALL_AGAIN - reset the X position of the bot. - go backward from the wall for a specific distance. - INIT_GO_TO_START_POSITION - go to the start position. - INIT_WAIT_SECOND_JACK_OUT - wait the jack to be removed from the bot for the second time. - -Events: - jack_inserted_into_bot - the jack is inserted into the bot. - jack_removed_from_bot - the jack is removed from the bot. - -INIT_IDLE: - start -> INIT_WAIT_FIRST_JACK_IN - do nothing. - -INIT_WAIT_FIRST_JACK_IN: - jack_inserted_into_bot -> INIT_WAIT_FIRST_JACK_OUT - do nothing. - -INIT_WAIT_FIRST_JACK_OUT: - jack_removed_from_bot -> INIT_WAIT_SECOND_JACK_IN - start trace module. - get and store the color of the bot. - -INIT_WAIT_SECOND_JACK_IN: - jack_inserted_into_bot -> INIT_WAIT_FOR_HANDS_OUT - do nothing. - -INIT_WAIT_FOR_HANDS_OUT: - state_timeout -> INIT_GO_TO_THE_WALL - fuck the wall in front. - -INIT_GO_TO_THE_WALL: - bot_move_succeed -> INIT_GO_AWAY_FROM_THE_WALL - reset the Y position of the bot. - reset the angular position of the bot. - move away from the wall (linear move). - -INIT_GO_AWAY_FROM_THE_WALL: - bot_move_succeed -> INIT_FACE_OTHER_WALL - turn to face the other wall. - -INIT_FACE_OTHER_WALL: - bot_move_succeed -> INIT_WAIT_AFTER_ROTATION - nothing to do. - -INIT_WAIT_AFTER_ROTATION: - state_timeout -> INIT_GO_TO_THE_WALL_AGAIN - fuck the wall in front. - -INIT_GO_TO_THE_WALL_AGAIN: - bot_move_succeed -> INIT_GO_AWAY_FROM_THE_WALL_AGAIN - reset the X position of the bot. - move away from the wall (linear move). - -INIT_GO_AWAY_FROM_THE_WALL_AGAIN: - bot_move_succeed -> INIT_GO_TO_START_POSITION - go to the start position with a go to movement. - -INIT_GO_TO_START_POSITION: - bot_move_succeed -> INIT_WAIT_SECOND_JACK_OUT - nothing to do, the bot is at the start position. - -INIT_WAIT_SECOND_JACK_OUT: - jack_removed_from_bot -> INIT_IDLE - tell other FSM the match begins. - start the chrono. - -- cgit v1.2.3