23#ifndef _PLUGINS_COLLI_SEARCH_ASTAR_SEARCH_H_
24#define _PLUGINS_COLLI_SEARCH_ASTAR_SEARCH_H_
26#include "abstract_search.h"
33class LaserOccupancyGrid;
38typedef struct point_struct
point_t;
51 void update(
int robo_x,
int robo_y,
int target_x,
int target_y);
64 point_t calculate_local_target();
70 point_t calculate_local_trajec_point();
73 bool is_obstacle_between(
const point_t &a,
const point_t &b,
const int maxcount);
75 std::unique_ptr<AStarColli> astar_;
76 std::vector<point_t> plan_;
78 point_t robo_position_, target_position_;
79 bool updated_successful_;
81 cfg_search_line_allowed_cost_max_;
This is the abstract search interpretation class for an arbitrary search algorithm to find its way th...
Interface for configuration handling.
This OccGrid is derived by the Occupancy Grid originally from Andreas Strack, but modified for speed ...
void update(int robo_x, int robo_y, int target_x, int target_y)
update complete plan things
std::vector< point_t > * get_plan()
Get the current plan.
point_t get_robot_position()
Get the robot's position in the grid, used for the plan.
bool updated_successful()
returns, if the update was successful or not.
virtual ~Search()
Destructor.
Search(LaserOccupancyGrid *occ_grid, Logger *logger, Configuration *config)
Constructor.
Fawkes library namespace.
struct fawkes::point_struct point_t
Point with cartesian coordinates as signed integers.
Point with cartesian coordinates as signed integers.