23 #ifndef _PLUGINS_COLLI_SEARCH_ASTAR_H_
24 #define _PLUGINS_COLLI_SEARCH_ASTAR_H_
26 #include "../common/types.h"
27 #include "astar_state.h"
35 class LaserOccupancyGrid;
39 typedef struct point_struct
point_t;
59 void solve(
const point_t &robo_pos,
const point_t &target_pos, std::vector<point_t> &solution);
85 std::vector<AStarState *> astar_states_;
89 int astar_state_count_;
101 std::priority_queue<AStarState *, std::vector<AStarState *>, cmp> open_list_;
104 std::map<int, int> closed_list_;
114 int calculate_key(
int x,
int y);
117 bool is_goal(AStarState *state);
120 int heuristic(AStarState *state);
123 void generate_children(AStarState *father);
126 void get_solution_sequence(AStarState *node, std::vector<point_t> &solution);