#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