Jafar
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Private Member Functions | Private Attributes
jafar::lgl::PursuitGraph Class Reference

}}} More...


Detailed Description

}}}

PursuitGraph is the structure (class) used for the pursuit functionalities. Especially, it contains the PursuitGNode (used to predict movements and risks).

NB: the graph is mopre precisely a tree.

Definition at line 92 of file PursuitGraph.hpp.

#include <PursuitGraph.hpp>

List of all members.

Public Member Functions

 PursuitGraph (PursuitNavigator &_navigator, VisibilityMap &_visibilityMap, unsigned int _pursuitTemporalTolerance=DEFAULT_PURSUIT_TEMPORAL_TOLERANCE, unsigned int _riskTermMaxValue=DEFAULT_RISK_TERM_MAX_VALUE)
 constructor
 ~PursuitGraph ()
 Destructor.
void computeAll (Cell_ID cellR, Cell_ID cellT, const unsigned int _horizon=10)
 Use at the beginning compute the whole tree (with "horizon" as the number of stage) Cell_ID cellR (or (xR, yR) ) is the coordinate of the position (cell) of the robot, used in the root node.
void computeAll (int xR, int yR, int xT, int yT, const unsigned int _horizon=10)
 THORW EXCEPTION.
void computeAllBefore (Cell_ID cellR, Cell_ID cellT, const double tMax=5000.0)
 THORW EXCEPTION.
void computeAllBefore (int xR, int yR, int xT, int yT, const double tMax=5000.0)
 THORW EXCEPTION.
bool updatePG (Cell_ID newtargetPos, Cell_ID &newrobotPos)
 THORW EXCEPTION.
bool updatePG (int xT, int yT, int &xR, int &yR)
void completeToHorizon ()
void completeToHorizonBefore (const double &tMax)
unsigned int gethorizon () const
const std::vector
< boost::weak_ptr
< PursuitGNode > > & 
getrisk () const
const std::vector
< boost::weak_ptr
< PursuitGNode > > & 
getdanger () const
const std::vector
< boost::weak_ptr
< PursuitGNode > > & 
getfront () const
const std::set
< boost::shared_ptr
< PursuitGNode > > & 
getsetOfNodes () const
const std::multimap< Cell_ID,
boost::weak_ptr< PursuitGNode > > & 
getnodeMap () const
const boost::shared_ptr
< PursuitGNode > & 
getroot () const
PursuitNavigatorgetnavigator ()
unsigned int getysize () const
unsigned int getxsize () const
unsigned long int gettime () const
void disp ()
void disp_risk ()
void disp_danger ()

Private Member Functions

void computeAll (const boost::shared_ptr< PursuitGNode > &_root, const unsigned int _horizon=10)
 Use at the beginning compute the whole tree (with "horizon" as the number of stage) _root and root as the root.
void computeAllBefore (const boost::shared_ptr< PursuitGNode > &_root, const double tMax=5.0)
 THR0W EXCEPTION.
void setRoot ()
 THR0W EXCEPTION.
void computeNewStage ()
 Compute a new stage from the current front vector (leaves)
void clean ()
 Clean the risk and front vectors from deprecated pointers.
void reorient ()
 re-oriente the graphe from the root update risk, front and setOfNodes
void makeNewNodes (std::vector< boost::shared_ptr< PursuitGNode > > &newNodes, const unsigned int &riskTerm, const Cell_ID &robotPos, const std::set< Cell_ID > &robotAccess, const std::set< Cell_ID > &targetAccess)
void completeStage (unsigned long int stage)
void manageRisk (const Cell_ID &robotPos, const boost::shared_ptr< PursuitGNode > &risk, std::vector< boost::shared_ptr< PursuitGNode > > &solution)
void findIdealPositions (const std::set< Cell_ID > &targetPos, std::set< Cell_ID > &positions)
void findAnyPositions (const std::set< Cell_ID > &targetPos, std::set< Cell_ID > &positions)
RISK_LEVEL computeRiskLevel (const Cell_ID &robotPos, const Cell_ID &targetPos)

Private Attributes

PursuitNavigatornavigator
 {{{
VisibilityMapvisibilityMap
unsigned int ysize
unsigned int xsize
boost::shared_ptr< PursuitGNoderoot
std::vector< boost::weak_ptr
< PursuitGNode > > 
risk
std::vector< boost::weak_ptr
< PursuitGNode > > 
danger
std::vector< boost::weak_ptr
< PursuitGNode > > 
front
std::set< boost::shared_ptr
< PursuitGNode > > 
setOfNodes
std::multimap< Cell_ID,
boost::weak_ptr< PursuitGNode > > 
nodeMap
unsigned int horizon
unsigned long int time
unsigned int pursuitTemporalTolerance
unsigned int riskTermMaxValue
double d_est

Member Function Documentation

void jafar::lgl::PursuitGraph::computeAll ( Cell_ID  cellR,
Cell_ID  cellT,
const unsigned int  _horizon = 10 
)

Use at the beginning compute the whole tree (with "horizon" as the number of stage) Cell_ID cellR (or (xR, yR) ) is the coordinate of the position (cell) of the robot, used in the root node.

Cell_ID cellT (or (xT, yT) ) is the coordinate of the position (cell) of the target, used in the root node.

void jafar::lgl::PursuitGraph::computeAllBefore ( Cell_ID  cellR,
Cell_ID  cellT,
const double  tMax = 5000.0 
)

THORW EXCEPTION.

Similair to computeAll, but use a time constraint to finish.

It will compute a new stage until the time constraint is over. the time constraint, given in milli-seconds.

void jafar::lgl::PursuitGraph::computeAllBefore ( const boost::shared_ptr< PursuitGNode > &  _root,
const double  tMax = 5.0 
) [private]

THR0W EXCEPTION.

Use at the beginning compute the whole tree (with a time constraint as end criteria) _root and root as the root.

THR0W EXCEPTION.

set Root


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on Wed Oct 15 2014 00:37:41 for Jafar by doxygen 1.7.6.1
LAAS-CNRS