4 #include "API/Grids/ThreeDGrid.hpp"
5 #include "API/Grids/TwoDGrid.hpp"
7 #include "API/planningAPI.hpp"
11 using namespace Eigen;
32 GTP2DGrid(
double pace, std::vector<double> envSize);
36 void addAgentAndComputeNav(
Robot* robot);
37 void propagateDist(
Robot* robot);
39 std::vector<GTP2DCell*> getCellsWithinReach(
double xCenter,
double yCenter,
double reach,
Robot* agent);
42 double getNbCellX() {
return _nbCellsX;}
43 double getNbCellY() {
return _nbCellsY;}
48 void createAllCells();
49 GTP2DCell* createNewCell2(
unsigned int index,
unsigned int x,
unsigned int y );
52 std::vector<GTP2DCell*> getHumanAwarePath(
Robot *r,
GTP2DCell* targetCell,
double distWeight,
double Hweight,
53 double angleWeight,
double distHWeight,
double distWeight2);
55 std::vector<GTP2DCell*> getCellsArroundSupport(
Robot* agent,
Robot *support);
56 std::vector<GTP2DCell*> getCellsArroundObject(
Robot* agent,
Robot* manipulable);
57 std::vector<GTP2DCell*> getCellsArroundAgent(
Robot* agent,
Robot* targetAgent);
59 void setCurrentRobot(
Robot* rob);
61 int getNbExploredCells(){
return nbExploredCells;}
65 std::vector<Robot*> _robotList;
87 std::vector<GTP2DCell*> getNeighboors();
88 void setState(cellState s);
89 cellState getState() {
return _state;}
91 void addToNavigability(
Robot* robot);
96 Eigen::Vector2i getCoord() {
return _Coord; }
98 bool getNavigability(
Robot* r);
101 void setDrawn(
bool v) {_toBeDrawn = v;}
107 void setDist(
Robot* r,
double d);
108 double getDist(
Robot* r);
109 bool isReachable(
Robot* r);
111 void setScore(
double f){f_score = f;}
112 double getScore() {
return f_score;}
116 void setIsInCol(
bool val) { _collisionCheck = val;}
117 bool isInCol() {
return _collisionCheck;}
120 void setCurrentRobot(
Robot* rob) {_currentRobot = rob;}
121 double getDistCurrentRobot();
128 Eigen::Vector2i _Coord;
130 std::vector< std::pair<Robot*,bool> > navigability;
132 std::map<Robot*,double> distances_to_init;
133 std::map<Robot*,GTP2DCell*> previous_to_init;
135 bool _collisionCheck;
137 Robot* _currentRobot;
Definition: ThreeDGrid.hpp:24
This class holds a the robot represented by a kinematic chain.
Definition: robot.hpp:42
Definition: TwoDCell.hpp:19
#define MOVE3D_STATIC_LOGGER
MOVE3D_STATIC_LOGGER macro defines a static logger for the class.
Definition: Logger.h:74
Definition: TwoDGrid.hpp:25
Definition: ThreeDCell.hpp:25