FSM_STATE(move_around)
{
- double goalx, goaly, phi;
+ double goalx, goaly;
static int survey_cnt = 0;
switch (FSM_EVENT) {
case EV_ENTRY:
- /* TODO upravit generovani nahodne pozice tak aby se lepe filtrovaly
- uz prozkomane body a prekazky i body mimo hriste.
- Oznacit v mape vsechny oblasti prozkoumane pomoci hokuya na kterych nedoslo k detekci??
- */
do {;
goalx = ((rand()%PLAYGROUND_HEIGHT_MM)/1000.0);
goaly += ((rand()%PLAYGROUND_WIDTH_MM)/1000.0);
FSM_TRANSITION(move_around);
break;
case EV_RETURN:
- break;
case EV_START:
- /* do nothing */
+ DBG_PRINT_EVENT("unhandled event");
break;
case EV_EXIT:
- //ShmapFree();
- break;
- default:
break;
}
}
ul_logdeb("Goal is not reachable\n");
FSM_TIMER(1000);
break;
- case EV_MOTION_DONE:
- break;
case EV_TIMER:
FSM_TRANSITION(go_home);
break;
case EV_START:
- /* do nothing */
+ DBG_PRINT_EVENT("unhandled event");
break;
+ case EV_MOTION_DONE:
case EV_EXIT:
- //ShmapFree();
- break;
- default:
+ robot_exit();
+ DBG_PRINT_EVENT("Mission competed!");
break;
}
}