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/move.fsm | 137 ------------------------------------------------ 1 file changed, 137 deletions(-) delete mode 100644 digital/io/src/move.fsm (limited to 'digital/io/src/move.fsm') diff --git a/digital/io/src/move.fsm b/digital/io/src/move.fsm deleted file mode 100644 index add29b05..00000000 --- a/digital/io/src/move.fsm +++ /dev/null @@ -1,137 +0,0 @@ -# Move FSM -# This FSM is responsible to move the bot from the current position to the -# desired one. It will try to avoid obstacle and manage the case when the -# asserv is blocked. -move - move with avoid obstacle. - -States: - *MOVE_IDLE - waiting for the beginning of the move FSM. - MOVE_ROTATING [timeout=1125] - rotating towards next point. - MOVE_MOVING [timeout=2250] - moving to a position (intermediate or final). - MOVE_MOVING_BACKWARD_TO_TURN_FREELY - moving backward to go away from what is blocking the bot. - MOVE_WAIT_FOR_CLEAR_PATH [timeout=255] - waiting for obstacle to disappear. - MOVE_LOADER_UNBLOCKING_UPING - moving loader up and move backward to unblock loader. - MOVE_LOADER_UNBLOCKING_DOWNING [timeout=450] - moving loader down. - -Events: - move_start - initialize the FSM and start the movement directly. - obstacle_in_front - the bot has seen something (front is the same when going backward). - -MOVE_IDLE: - move_start: path_found_rotate -> MOVE_ROTATING - rotate towards next position. - move_start: path_found -> MOVE_MOVING - move to next position. - move_start: no_path_found -> MOVE_IDLE - post failure event. - -MOVE_ROTATING: - bot_move_succeed -> MOVE_MOVING - move to next position. - bot_move_failed -> MOVE_MOVING - move to next position. - state_timeout -> MOVE_MOVING - move to next position. - loader_errored -> MOVE_LOADER_UNBLOCKING_UPING - move backward - loader up - -MOVE_MOVING: - bot_move_succeed: done -> MOVE_IDLE - post success event. - bot_move_succeed: path_found_rotate -> MOVE_ROTATING - rotate towards next position. - bot_move_succeed: path_found -> MOVE_MOVING - move to next position. - bot_move_succeed: no_path_found -> MOVE_IDLE - post failure event. - bot_move_failed -> MOVE_MOVING_BACKWARD_TO_TURN_FREELY - reset final_move. - move backward to turn freely. - state_timeout -> MOVE_MOVING_BACKWARD_TO_TURN_FREELY - reset final_move. - move backward to turn freely. - obstacle_in_front: tryagain -> MOVE_WAIT_FOR_CLEAR_PATH - reset final_move. - stop the bot. - obstacle_in_front: tryout -> MOVE_IDLE - stop the bot. - post failure event. - loader_errored -> MOVE_LOADER_UNBLOCKING_UPING - move backward - loader up - -MOVE_MOVING_BACKWARD_TO_TURN_FREELY: - bot_move_succeed: tryout -> MOVE_IDLE - post failure event. - bot_move_succeed: path_found_rotate -> MOVE_ROTATING - rotate towards next position. - bot_move_succeed: path_found -> MOVE_MOVING - move to next position. - bot_move_succeed: no_path_found -> MOVE_IDLE - post failure event. - bot_move_failed: tryout -> MOVE_IDLE - post failure event. - bot_move_failed: path_found_rotate -> MOVE_ROTATING - rotate towards next position. - bot_move_failed: path_found -> MOVE_MOVING - move to next position. - bot_move_failed: no_path_found_tryagain -> MOVE_WAIT_FOR_CLEAR_PATH - nothing to do. - bot_move_failed: no_path_found_tryout -> MOVE_IDLE - post failure event. - -MOVE_WAIT_FOR_CLEAR_PATH: - state_timeout: path_found_rotate -> MOVE_ROTATING - rotate towards next position. - state_timeout: path_found -> MOVE_MOVING - move to next position. - state_timeout: no_path_found_tryagain -> . - decrement counter. - state_timeout: no_path_found_tryout -> MOVE_IDLE - post failure. - -MOVE_LOADER_UNBLOCKING_UPING: - bot_move_succeed -> MOVE_LOADER_UNBLOCKING_DOWNING - loader down - reset unblocking retry counter - bot_move_failed -> MOVE_LOADER_UNBLOCKING_DOWNING - loader down - reset unblocking retry counter - -MOVE_LOADER_UNBLOCKING_DOWNING: - loader_downed: path_found_rotate -> MOVE_ROTATING - rotate towards next position. - loader_downed: path_found -> MOVE_MOVING - move to next position. - loader_downed: no_path_found -> MOVE_IDLE - post failure. - loader_errored: tryagain -> MOVE_LOADER_UNBLOCKING_UPING - move backward - loader up - loader_errored: tryout_path_found_rotate -> MOVE_ROTATING - rotate towards next position. - loader_errored: tryout_path_found -> MOVE_ROTATING - move to next position. - loader_errored: tryout_no_path_found -> MOVE_IDLE - post failure. - state_timeout: tryagain -> MOVE_LOADER_UNBLOCKING_UPING - move backward - loader up - state_timeout: tryout_path_found_rotate -> MOVE_ROTATING - rotate towards next position. - state_timeout: tryout_path_found -> MOVE_ROTATING - move to next position. - state_timeout: tryout_no_path_found -> MOVE_IDLE - post failure. - -- cgit v1.2.3