libmove3d-planners
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Friends Macros Groups Pages
HRICS_rrtExpansion.hpp
1 #ifndef HRICS_RRTEXPANSION_H
2 #define HRICS_RRTEXPANSION_H
3 
4 #include "API/planningAPI.hpp"
5 #include "Diffusion/Variants/Transition-RRT.hpp"
6 #include "HRI_costspace/Grid/HRICS_Grid.hpp"
7 
13 {
14 public:
15  HRICS_rrtExpansion(Graph * ptrGraph, Node * goal);
16 
21  void init();
22 
26  void setGrid(API::ThreeDGrid* grid) { _3DGrid = dynamic_cast<HRICS::Grid*>(grid); }
27 
31  void setCellPath(std::vector<API::ThreeDCell*> cellPath);
32 
36  std::tr1::shared_ptr<Configuration> getExpansionDirection(
37  Node* expandComp, Node* goalComp, bool samplePassive, Node*& directionNode);
38 
42  std::tr1::shared_ptr<Configuration> getConfigurationInNextCell(Node* CompcoNode, Node* goalComp);
43 
47  Node* addNode(Node* currentNode, LocalPath& path, double pathDelta,
48  Node* directionNode, unsigned& nbCreatedNodes);
49 
55 
56 private:
57  HRICS::Grid* _3DGrid;
58  std::vector<API::ThreeDCell*> _3DCellPath;
59 
60  API::ThreeDCell* _LastForward;
61  API::ThreeDCell* _LastBackward;
62 
63  int mIndexObjectDof;
64 
65  bool _forward;
66  bool _biasing;
67 
68  double* _Box;
69 
70 };
71 
72 #endif // HRICS_RRTEXPANSION_H
void setCellPath(std::vector< API::ThreeDCell * > cellPath)
Sets the cell path.
Definition: HRICS_rrtExpansion.cpp:52
void init()
Initializes some variables for the expansion method.
Definition: HRICS_rrtExpansion.cpp:29
Special RRT Expansion method for the HRICS.
Definition: HRICS_rrtExpansion.hpp:12
Classe représentant un Node d'un Graph.
Definition: node.hpp:39
Definition: HRICS_Grid.hpp:16
Classe représentant un chemin local.
Definition: localpath.hpp:15
Definition: graph.hpp:28
Definition: ThreeDGrid.hpp:24
Node * addNode(Node *currentNode, LocalPath &path, double pathDelta, Node *directionNode, unsigned &nbCreatedNodes)
Adds a node to a conected component.
Definition: HRICS_rrtExpansion.cpp:260
void setGrid(API::ThreeDGrid *grid)
Sets the grid.
Definition: HRICS_rrtExpansion.hpp:26
std::tr1::shared_ptr< Configuration > getExpansionDirection(Node *expandComp, Node *goalComp, bool samplePassive, Node *&directionNode)
Direction used in RRT one step.
Definition: HRICS_rrtExpansion.cpp:63
Definition: ThreeDCell.hpp:25
double pathDelta(LocalPath &path)
Return the path parameter that is the closest to step()
Definition: BaseExpansion.cpp:79
Expansion procedure of the Transition-based RRT (T-RRT) algorithm.
Definition: Transition-RRT.hpp:17
bool on3DPathAndAfter(API::ThreeDCell *cell)
Checks it the cell is after the given cell on the 3D path.
Definition: HRICS_rrtExpansion.cpp:198
std::tr1::shared_ptr< Configuration > getConfigurationInNextCell(Node *CompcoNode, Node *goalComp)
Configuration from the next cell along the 3dPath.
Definition: HRICS_rrtExpansion.cpp:105