|
| MultiAgentGrid (double pace, std::vector< double > envSize) |
| constructs a grid with no agents More...
|
|
| MultiAgentGrid (double pace, std::vector< double > envSize, std::vector< Robot * > &agents) |
| specify agents list More...
|
|
void | resetData (void) |
|
void | setAgents (std::vector< Robot * > &agents) |
| set the agents list to use in this HRI computation. More...
|
|
std::vector< Robot * > & | getAgents () |
|
AgentInGrid * | getAgentStructAt (unsigned int index) |
|
void | setAgentTarget (unsigned int a) |
|
double | getNbCellX () |
|
double | getNbCellY () |
|
void | setAsNotSorted () |
|
void | dumpVar () |
|
void | init (void) |
| initialisation of the grid (find cylinders corresponding to each agent)
|
|
void | initCylinders (void) |
| init agents cylinders for reachability computation. More...
|
|
void | computeAccessibility (void) |
| compute the Accessibility for each agent. More...
|
|
void | computeAccessAndDistCombined (void) |
|
std::vector< MultiAgentCell * > | computeOtherTrajectory (MultiAgentCell *cell_origin, MultiAgentCell *cell_dest, unsigned int agent_index, double epsilon=1, double dist_max=-1, int max_expansions=-1) |
| computeOtherTrajectory uses A* algo to find shortest path between 2 cells. More...
|
|
bool | areCellsInNeighbourhood (MultiAgentCell *c1, MultiAgentCell *c2, unsigned int a, double dist) |
| check if the agent 'a' can go straight from one cell to another
|
|
API::TwoDCell * | createNewCell (unsigned int index, unsigned int x, unsigned int y) |
| function that creates a new Cell.
|
|
void | computeDistances () |
| using the method of distance propagation to compute distances.
|
|
void | computeDistancesForAgent (MultiAgentCell *cell, unsigned int agent_index) |
|
void | computeAltDistancesForAgent (MultiAgentCell *origin, unsigned int agent_index) |
|
void | enableAltDistancesSums (bool b=true) |
|
void | clearAltDistancesInCells (void) |
|
unsigned int | getMaxAlternativeDistancesForCells (void) |
|
void | getMaxAlternativeDistancesForCells (unsigned int v) |
|
std::pair< MultiAgentCell
*, MultiAgentCell * > | neighborSolution (unsigned int agent_1, unsigned int agent_2, std::pair< MultiAgentCell *, MultiAgentCell * > solution) |
| find a neighhbour solution for the simulated annealing algorithm. More...
|
|
void | searchAllFrontiers () |
|
std::vector< FrontierPtr > | searchFrontiers (unsigned int agent_1, unsigned int agent_2, double keep_distance) |
| searchFrontiers More...
|
|
std::vector< FrontierPtr > | simulatedAnnealingFrontierSearch (unsigned int agent_1, unsigned int agent_2, double keep_distance) |
|
std::vector< MetaFrontierPtr > | hillClimberFrontierSearch (unsigned int agent1, unsigned int agent2, double keep_distance) |
|
std::vector< FrontierPtr > | frontierSearch (unsigned int agent1, unsigned int agent2, double keep_distance) |
|
std::vector< FrontierPtr > | exhaustiveFrontierSearch (unsigned int agent1, unsigned int agent2, double keep_distance) |
|
std::vector< FrontierPtr > | handInHandFrontierSearch (unsigned int agent1, unsigned int agent2, double keep_distance) |
|
void | saveFrontiers (std::ofstream &output) |
|
bool | loadFrontiers (std::ifstream &input) |
|
void | initVectorFrontiers (void) |
| inits the frontier container to the good size. More...
|
|
unsigned int | getFrontierIndex (unsigned int i, unsigned int j) |
| computes the index int the frontier vector corresponding to the frontiers between agents at i and j.
|
|
unsigned int | getFrontierIndex (std::pair< unsigned int, unsigned int > ind) |
|
std::pair< unsigned int,
unsigned int > | getFrontierAgentIndices (unsigned int i) |
| the reverse of getFrontierIndex().
|
|
std::vector< MultiAgentCell * >
const & | getFrontierCells (unsigned int i, unsigned int j) |
|
double | getArmReach (unsigned int i) |
|
double | getArmReach (AgentInGrid *a) |
|
double | getHandOverReach (unsigned int i, unsigned int j) |
| an approximation of the maximal distance for a handover (touching hands) The sum of the arm reachs of each agent
|
|
void | addFrontier (unsigned int agent, unsigned int other, MultiAgentCell *cell) |
| add a frontier cell to the agent 'agent' More...
|
|
FrontierPtr | getRandomFrontier (unsigned int a1, unsigned int a2, double timeout_ms=-1) |
|
std::vector< MultiAgentCell * > & | getFrontierCheckedOk (unsigned int a1, unsigned int a2) |
|
double | getFrontierSearchTempDecrease (void) |
|
void | setFrontierSearchTempDecrease (double v) |
|
double | getFrontierSearchStartTemp (void) |
|
void | setFrontierSearchStartTemp (double v) |
|
unsigned int | getFrontierSearchMaxIt (void) |
|
void | setFrontierSearchMaxIt (unsigned int v) |
| set the computational cost limit in # of iterations for the frontier search algorithm. More...
|
|
double | getFrontierSearchStopDist (void) |
|
void | setFrontierSearchStopDist (double v) |
| set at which distance the frontier search should stop. More...
|
|
ComputationStat & | getComputationStats (void) |
|
void | setCellsToblankCost () |
| call setBlankCost() in each cell
|
|
void | initAllCellState () |
| call resetexplorationstatus() in each cell
|
|
void | initAllTrajs () |
| call resetTrajs() in each cell
|
|
void | resetAllAccessibility () |
| call resetReacheability() in each cell
|
|
void | resetDistances (void) |
|
EIGEN_MAKE_ALIGNED_OPERATOR_NEW | TwoDGrid () |
| Constructor. More...
|
|
| TwoDGrid (Eigen::Vector2i size, std::vector< double > envSize) |
|
| TwoDGrid (double samplingRate, std::vector< double > envSize) |
|
| ~TwoDGrid () |
| Destructor.
|
|
void | createAllCells () |
| Creates All Cells. More...
|
|
Eigen::Vector2d | getCellSize () |
|
TwoDCell * | getCell (const Eigen::Vector2i &cell) |
|
TwoDCell * | getCell (int x, int y) |
| Retruns the Cell at (x,y) More...
|
|
TwoDCell * | getCell (Eigen::Vector2d pos) |
|
TwoDCell * | getCell (double *pos) |
| Get Cell in 3D ThreeDGrid. More...
|
|
TwoDCell * | getCell (unsigned int index) |
| Get Cell. More...
|
|
bool | isCellCoordInGrid (const Eigen::Vector2i &coord) |
| Is a Coord inside the Grid (used to debug) More...
|
|
Eigen::Vector2i | getCellCoord (TwoDCell *ptrCell) |
| Get place in grid. More...
|
|
int | getNumberOfCells () |
| Get Number Of Cells.
|
|
TwoDCell * | getNeighbour (const Eigen::Vector2i &pos, int i) |
| Get Neighboor Cell.
|
|
Eigen::Vector2d | getCoordinates (TwoDCell *cell) |
| Retrive the X Y Z coordinate of the cell from its index.
|
|
| BaseGrid (const BaseGrid &grid) |
|
BaseCell * | getCell (unsigned int i) |
| Get Cell. More...
|
|
unsigned int | getNumberOfCells () |
| Get Number Of Cells.
|
|
virtual std::vector
< Eigen::Vector3d > | getBox () |
|
virtual bool | writeToXmlFile (std::string file) |
| Virtual function for creating an xml document.
|
|
virtual bool | loadFromXmlFile (std::string file) |
| Virtual function for reading from an xml document.
|
|
std::string | getName () |
|
Plannar HRI Grid considering multiple agents systems for HRi operations.
Developped for Multiple Handover problems.