#include "robodata.h"#include <robot.h>#include <fsm.h>#include <unistd.h>#include <math.h>#include <movehelper.h>#include <map.h>#include <sharp.h>#include <robomath.h>#include <string.h>#include <robodim.h>#include <error.h>#include "actuators.h"#include <trgen.h>#include "match-timing.h"#include <stdbool.h>#include <ul_log.h>#include "common-states.h"
| Defines | |
| #define | FSM_MAIN | 
| #define | DBG_FSM_STATE(name) | 
| Functions | |
| UL_LOG_CUST (ulogd_common_states) | |
| void | set_initial_position () | 
| void | actuators_home () | 
| void | start_entry () | 
| void | start_timer () | 
| void | start_go () | 
| void | start_exit () | 
| bool | read_sharp () | 
| void | enable_bumpers (bool enabled) | 
| void | enable_my_square_walls (bool enabled) | 
| FSM_STATE (move_around) | |
| generate "random" positions on oponent squares and goto this position | |
| FSM_STATE (approach_opp_bonus_figure) | |
| pick figure from opponent bonus square | |
| FSM_STATE (load_opp_bonus_figure) | |
| FSM_STATE (place_opp_bonus_figure) | |
| FSM_STATE (leave_opp_bonus_figure) | |
| FSM_STATE (bypass_figure_in_front_of_start) | |
| securely bypass firt figure in front of starting area | |
| FSM_STATE (approach_second_green_figure) | |
| pick second figure from green area | |
| FSM_STATE (load_second_green_figure) | |
| FSM_STATE (go_out_second_green_figure) | |
| FSM_STATE (place_figure_to_protected_block) | |
| FSM_STATE (leave_protected_figure) | |
| FSM_STATE (approach_third_green_figure) | |
| pick third figure from green area | |
| FSM_STATE (load_third_green_figure) | |
| FSM_STATE (go_out_third_green_figure) | |
| FSM_STATE (place_figure_to_near_area) | |
| FSM_STATE (leave_near_figure) | |
| FSM_STATE (place_figure_to_bonus_area) | |
| FSM_STATE (leave_bonus_figure) | |
| FSM_STATE (approach_fourth_green_figure) | |
| pick fourth green figure from green area | |
| FSM_STATE (load_fourth_green_figure) | |
| FSM_STATE (go_out_fourth_green_figure) | |
| FSM_STATE (place_figure_to_red_square) | |
| FSM_STATE (leave_red_square_figure) | |
| FSM_STATE (approach_fifth_green_figure) | |
| pick fifth green figure from green area | |
| FSM_STATE (load_fifth_green_figure) | |
| FSM_STATE (go_out_fifth_green_figure) | |
| FSM_STATE (approach_center_figure) | |
| pick center figure | |
| FSM_STATE (load_center_figure) | |
| Variables | |
| struct TrajectoryConstraints tcFast tcVeryFast tcSlow | tcVerySlow | 
| bool | tower = false | 
| bool | bonus_placed = false | 
| const double | load_dist = 0.04 | 
| const double | app_dist = 0.04 | 
| const int | move_around [][8] | 
| #define DBG_FSM_STATE | ( | name | ) | 
do { if (fsm->debug_states) ul_loginf("fsm %s %.1f: %s(%s)\n", \ fsm->debug_name, robot_current_time(), \ name, fsm_event_str(fsm->events[fsm->ev_head])); } while(0)
| #define FSM_MAIN | 
| void actuators_home | ( | ) | 


| void enable_bumpers | ( | bool | enabled | ) |  [inline] | 
| void enable_my_square_walls | ( | bool | enabled | ) | 


| FSM_STATE | ( | approach_center_figure | ) | 
pick center figure

| FSM_STATE | ( | load_fifth_green_figure | ) | 

| FSM_STATE | ( | bypass_figure_in_front_of_start | ) | 
securely bypass firt figure in front of starting area

| FSM_STATE | ( | approach_second_green_figure | ) | 
pick second figure from green area

| FSM_STATE | ( | place_figure_to_red_square | ) | 

| FSM_STATE | ( | go_out_fourth_green_figure | ) | 

| FSM_STATE | ( | load_fourth_green_figure | ) | 

| FSM_STATE | ( | approach_fourth_green_figure | ) | 
pick fourth green figure from green area

| FSM_STATE | ( | leave_red_square_figure | ) | 

| FSM_STATE | ( | place_figure_to_bonus_area | ) | 

| FSM_STATE | ( | approach_fifth_green_figure | ) | 
pick fifth green figure from green area

| FSM_STATE | ( | place_figure_to_near_area | ) | 

| FSM_STATE | ( | load_second_green_figure | ) | 

| FSM_STATE | ( | load_third_green_figure | ) | 

| FSM_STATE | ( | approach_third_green_figure | ) | 
pick third figure from green area

| FSM_STATE | ( | leave_protected_figure | ) | 

| FSM_STATE | ( | go_out_fifth_green_figure | ) | 

| FSM_STATE | ( | go_out_second_green_figure | ) | 

| FSM_STATE | ( | load_center_figure | ) | 

| FSM_STATE | ( | place_figure_to_protected_block | ) | 

| FSM_STATE | ( | move_around | ) | 
generate "random" positions on oponent squares and goto this position

| FSM_STATE | ( | leave_opp_bonus_figure | ) | 

| FSM_STATE | ( | leave_bonus_figure | ) | 

| FSM_STATE | ( | leave_near_figure | ) | 

| FSM_STATE | ( | go_out_third_green_figure | ) | 

| FSM_STATE | ( | approach_opp_bonus_figure | ) | 
pick figure from opponent bonus square

| FSM_STATE | ( | load_opp_bonus_figure | ) | 

| FSM_STATE | ( | place_opp_bonus_figure | ) | 

| bool read_sharp | ( | ) | 

| void set_initial_position | ( | ) | 

| void start_entry | ( | ) | 

| void start_exit | ( | ) | 

| void start_go | ( | ) | 

| void start_timer | ( | ) | 

| UL_LOG_CUST | ( | ulogd_common_states | ) | 
| const double app_dist = 0.04 | 
| bool bonus_placed = false | 
| const double load_dist = 0.04 | 
| const int move_around[][8] | 
 {{12, 14, 11, 13, 11, 8, 6, 9},
                            {6, 8, 11, 13, 11, 14, 12, 9},
                            {11, 13, 11, 8, 11, 14, 12, 9},
                            {6, 8, 11, 13, 11, 14, 12, 9},
                            {11, 8, 11, 13, 11, 14, 12, 9}}
| struct TrajectoryConstraints tcFast tcVeryFast tcSlow tcVerySlow | 
| bool tower = false | 
 1.7.1
 1.7.1