libmove3d-planners
|
#include <HRICS_MultiAgentGrid.hpp>
Classes | |
struct | AgentInCell |
structure defining the data for an agent in a cell More... | |
class | CylinderInCell |
class | MetaAgentInCell |
Public Member Functions | |
MultiAgentCell (int i, Eigen::Vector2i coord, Eigen::Vector2d corner, MultiAgentGrid *grid) | |
AgentInCell * | getAgentAt (unsigned int i) |
getAgentAt More... | |
unsigned int | getAgentNumber () |
MultiAgentGrid::MetaAgentInGrid::s_ptr | getMetaFromGrid (unsigned int a) |
void | resetData (void) |
reset data as for a new cell, set agents list according to the grid ones. | |
void | setDistance (unsigned int index, double value) |
void | setAltDistance (unsigned int index, double value, MultiAgentCell *alt_origin, MultiAgentCell *previous_cell=0) |
double | getDistance (unsigned int index) |
double | getAltDistance (unsigned int index, MultiAgentCell *alt_origin) |
void | setDistanceIsComputed (unsigned int index) |
void | unsetDistanceIsComputed (unsigned int index) |
bool | isDistanceComputed (unsigned int index) |
double | getDistanceAny (unsigned int agent, MultiAgentCell *other) |
get distance either using getDistance or getAltDistance, on this or other according to the origins set does not read tempDist returns inf if not found | |
std::vector< MultiAgentCell * > | getTrajAny (unsigned int agent, MultiAgentCell *origin) |
std::vector< MultiAgentCell * > | getAltTraj (unsigned int agent, MultiAgentCell *alt_origin, bool reverse=false) |
returns the shortest path FROM alt_origin TO this except if reverse is set to true, its the other way around | |
bool | getOpen () |
void | setOpen () |
bool | getClosed () |
void | setClosed () |
double | getTempColor () |
void | setTempColor (double c) |
void | resetExplorationStatus () |
std::vector< Eigen::Vector2d, Eigen::aligned_allocator < Eigen::Vector2d > > & | getVectorTraj (unsigned int index) |
void | setVectorTraj (unsigned int index, std::vector< Eigen::Vector2d, Eigen::aligned_allocator< Eigen::Vector2d > > &vec_traj) |
std::vector< MultiAgentCell * > & | getTraj (unsigned int index) |
void | setTraj (unsigned int index, std::vector< MultiAgentCell * > &traj) |
double | getTempDist (void) |
void | setTempDist (double v) |
double | getTempEstim (void) |
void | setTempEstim (double v) |
MultiAgentCell * | getTempCameFrom (void) |
void | setTempCameFrom (MultiAgentCell *f) |
MultiAgentCell * | getAltCameFrom (unsigned int index, MultiAgentCell *alt_origin) |
bool | isAccessible (unsigned int index) |
void | setAccessible (unsigned int index, bool v) |
bool | isAccessibilityComputed (unsigned int index) |
void | setReachable (unsigned int index, bool b) |
bool | isReachable (unsigned int index) |
bool | isBoundary (unsigned int index) |
bool | isFrontier (unsigned int a1, unsigned int a2) |
bool | checkIsInCollision (unsigned int agent_this, MultiAgentCell *other, unsigned int agent_other) |
std::vector < std::tr1::shared_ptr < FrontierCells > > | createAllRealFrontiersFor (unsigned int a1, unsigned int a2) |
calls createRealFrontierFor(a1,a2,meta) for each meta frontier in which a1 and a2 are concerned | |
FrontierPtr | createRealFrontierFor (unsigned int a1, unsigned int a2, MetaFrontierPtr mfrontier) |
creates and set a real frontier as a specialization of the given MetaFrontier, for agents a1 and a2 returns this frontier | |
std::vector< MetaFrontierPtr > & | getMetaFrontier (unsigned int a1, unsigned int a2) |
std::vector< MetaFrontierPtr > & | getMetaFrontier (unsigned int a1, MultiAgentGrid::MetaAgentInGrid::s_ptr m2) |
FrontierPtr | getRealFrontier (unsigned int a1, unsigned int a2, MetaFrontierPtr mfrontier) |
returns the real Frontier that is a specification of the MetaFrontier mfrontier returns empty ptr if not set More... | |
void | setBlankCost () |
Eigen::Vector2i | getCoord () |
void | computeAccessibility (unsigned int index_agent) |
test if there is a collision with a BB (the cylinders) for the agent referenced in the the MultiAgentGrid as at given index (must not change) | |
double | computeCost () |
compute move cost for an agent, according to it's speed. More... | |
bool | computeBestRobotPos () |
compute best robot pos | |
bool | checkMetaAgent (unsigned int index) |
return true if meta agent is OK, false if it have been changed | |
void | resetAccessibility () |
reset the reacheability computing for all agents | |
void | resetAccessibility (unsigned int index) |
reset reachability for agent at index | |
void | resetDistances (unsigned int index) |
void | resetAllDistances (void) |
void | resetTraj () |
reset the Trajectories computing | |
void | resetTraj (unsigned int index) |
reset trajectories computing related data for agent at index | |
std::vector< MultiAgentCell * > | getNeighbors (unsigned int index) |
find the direct neighbors of this cell (used when computing distance propagation) | |
std::vector< MultiAgentCell * > | findNeighborsInRange (unsigned int agent, double range) |
double | computeDist (MultiAgentCell *neighCell) |
compute distance between two cells | |
void | addPoint (double Rz) |
add a point to the random vector in order to draw it (the red arrows) | |
std::vector< MultiAgentCell * > | getCrown (double min, double max) |
return the crown arround the cell taking the min and max value | |
std::tr1::shared_ptr < MetaFrontierCells > | addMetaFrontier (MultiAgentCell *other, bool over_obstacle, unsigned int agent_this, unsigned int agent_other, double dist, bool check_exists=false) |
std::tr1::shared_ptr < MetaFrontierCells > | addMetaFrontier (MultiAgentCell *other, bool over_obstacle, MetaAgentInCell::s_ptr agent_this, MetaAgentInCell::s_ptr agent_other, double dist, bool check_exists=false) |
std::tr1::shared_ptr < FrontierCells > | addFrontierComplete (MultiAgentCell *other, bool over_obstacle, unsigned int agent_this, unsigned int agent_other, double dist, bool check_exists=false) |
![]() | |
EIGEN_MAKE_ALIGNED_OPERATOR_NEW | TwoDCell () |
Constructor of cell. More... | |
TwoDCell (int i, Eigen::Vector2d corner, TwoDGrid *grid) | |
virtual | ~TwoDCell () |
Constructor of cell. More... | |
bool | isInsideCell (Eigen::Vector2d point) |
Function is inside cell. More... | |
Eigen::Vector2d | getCenter () |
Function to get the center of the cell. More... | |
Eigen::Vector2d | getCorner () |
Eigen::Vector2d | getRandomPoint () |
Random Point In ThreeDCell. | |
Eigen::Vector2d | getCellSize () |
Gets the cell size. | |
int | getIndex () |
virtual void | draw () |
bool | operator== (TwoDCell otherCell) |
![]() | |
virtual bool | writeToXml (xmlNodePtr cur) |
virtual bool | readCellFromXml (xmlNodePtr cur) |
Additional Inherited Members | |
![]() | |
int | _index |
Eigen::Vector2d | _corner |
TwoDGrid * | _grid |
Plannar HRI Cell.
double HRICS::MultiAgentCell::computeCost | ( | ) |
compute move cost for an agent, according to it's speed.
index_agent |
compute partial cost
|
inline |
getAgentAt
i |
FrontierPtr MultiAgentCell::getRealFrontier | ( | unsigned int | a1, |
unsigned int | a2, | ||
MetaFrontierPtr | mfrontier | ||
) |
returns the real Frontier that is a specification of the MetaFrontier mfrontier returns empty ptr if not set