#include <sipp.h>
Public Member Functions | |
EnvSIPPLattice () | |
const envSIPPLatConfig_t * | GetEnvNavConfig () |
virtual int | GetEnvParameter (const char *parameter) |
void | GetEnvParms (int *size_x, int *size_y, double *startx, double *starty, double *starttheta, double *startTime, double *goalx, double *goaly, double *goaltheta, double *cellsize_m, double *timeResolution, double *nominalvel_mpersecs, double *timetoturn45degsinplace_secs, unsigned char *obsthresh, unsigned char *dyn_obs_thresh, vector< SBPL_xythetasipp_mprimitive > *motionprimitiveV) |
virtual int | GetFromToHeuristic (int FromStateID, int ToStateID)=0 |
virtual int | GetGoalHeuristic (int stateID)=0 |
int | getGoalID () |
unsigned char | GetMapCost (int x, int y) |
virtual void | GetPreds (int TargetStateID, vector< int > *PredIDV, vector< int > *CostV)=0 |
virtual void | GetPredsofChangedEdges (vector< nav2dcell_t > const *changedcellsV, vector< int > *preds_of_changededgesIDV)=0 |
virtual int | GetStartHeuristic (int stateID)=0 |
int | getStartID () |
virtual void | GetSuccs (int SourceStateID, vector< int > *SuccIDV, vector< int > *CostV) |
virtual void | GetSuccsofChangedEdges (vector< nav2dcell_t > const *changedcellsV, vector< int > *succs_of_changededgesIDV)=0 |
bool | InitializeEnv (int width, int height, const unsigned char *mapdata, double startx, double starty, double starttheta, double startTime, double goalx, double goaly, double goaltheta, double goaltol_x, double goaltol_y, double goaltol_theta, const vector< sbpl_2Dpt_t > &perimeterptsV, double cellsize_m, double timeResolution, double nominalvel_mpersecs, double timetoturn45degsinplace_secs, unsigned char obsthresh, unsigned char dynobsthresh, const char *sMotPrimFile) |
bool | InitializeEnv (int width, int height, const unsigned char *mapdata, double startx, double starty, double starttheta, double startTime, double goalx, double goaly, double goaltheta, double goaltol_x, double goaltol_y, double goaltol_theta, const vector< sbpl_2Dpt_t > &perimeterptsV, double cellsize_m, double timeResolution, double nominalvel_mpersecs, double timetoturn45degsinplace_secs, unsigned char obsthresh, unsigned char dynobsthresh, const char *sMotPrimFile, vector< SBPL_DynamicObstacle_t > &dynObs) |
bool | InitializeEnv (const char *sEnvFile) |
bool | InitializeEnv (const char *sEnvFile, const vector< sbpl_2Dpt_t > &perimeterptsV, const char *sMotPrimFile) |
bool | InitializeEnv (const char *sEnvFile, const vector< sbpl_2Dpt_t > &perimeterptsV, const char *sMotPrimFile, const char *sDynObsFile) |
bool | InitializeMDPCfg (MDPConfig *MDPCfg) |
bool | IsObstacle (int x, int y) |
bool | IsValidConfiguration (int X, int Y, int Theta) |
bool | IsWithinMapCell (int X, int Y) |
bool | PoseContToDisc (double px, double py, double pth, double pt, int &ix, int &iy, int &ith, int &it) const |
bool | PoseDiscToCont (int ix, int iy, int ith, int it, double &px, double &py, double &pth, double &pt) const |
void | PrintEnv_Config (FILE *fOut) |
void | PrintTimeStat (FILE *fOut) |
virtual void | PrintVars () |
virtual void | SetAllActionsandAllOutcomes (CMDPSTATE *state)=0 |
virtual void | SetAllPreds (CMDPSTATE *state) |
virtual bool | SetEnvParameter (const char *parameter, int value) |
bool | UpdateCost (int x, int y, unsigned char newcost) |
~EnvSIPPLattice () | |
Protected Member Functions | |
void | CalculateFootprintForPose (SBPL_4Dpt_t pose, vector< SBPL_4Dcell_t > *footprint) |
bool | CheckQuant (FILE *fOut) |
void | ComputeHeuristicValues () |
void | ComputeReplanningData () |
void | ComputeReplanningDataforAction (envSIPPLatAction_t *action) |
void | CreateStartandGoalStates () |
double | EuclideanDistance_m (int X1, int Y1, int X2, int Y2) |
void | FillInBubble (int CenterX, int CenterY, int T, int rad) |
void | FillInBubbleCell (int x, int y, int T) |
void | FillInBubbleColumn (int x, int topY, int botY, int T) |
virtual int | GetActionCost (int SourceX, int SourceY, int SourceTheta, envSIPPLatAction_t *action) |
int | getArrivalTimeToInterval (envSIPPLatHashEntry_t *state, envSIPPLatAction_t *action, int start_t, int end_t) |
virtual envSIPPLatHashEntry_t * | getEntryFromID (int id)=0 |
int | getInterval (int x, int y, int t) |
void | getIntervals (vector< int > *intervals, vector< int > *times, envSIPPLatHashEntry_t *state, envSIPPLatAction_t *action) |
virtual void | GetSuccs (int SourceStateID, vector< int > *SuccIDV, vector< int > *CostV, vector< envSIPPLatAction_t * > *actionV=NULL)=0 |
bool | InitGeneral (vector< SBPL_xythetasipp_mprimitive > *motionprimitiveV) |
void | InitializeEnvConfig (vector< SBPL_xythetasipp_mprimitive > *motionprimitiveV) |
virtual void | InitializeEnvironment ()=0 |
void | InitializeTimelineMap () |
void | intervals2Timeline (int x, int y) |
bool | IsValidCell (int X, int Y) |
void | PrecomputeActions () |
void | PrecomputeActionswithBaseMotionPrimitive (vector< SBPL_xythetasipp_mprimitive > *motionprimitiveV) |
void | PrecomputeActionswithCompleteMotionPrimitive (vector< SBPL_xythetasipp_mprimitive > *motionprimitiveV) |
void | PrintHeuristicValues () |
virtual void | ReadConfiguration (FILE *fCfg) |
void | ReadDynamicObstacles (FILE *fDynObs) |
int | ReadinCell (SBPL_4Dcell_t *cell, char *fIn) |
bool | ReadinMotionPrimitive (SBPL_xythetasipp_mprimitive *pMotPrim, FILE *fIn, bool &isWaitMotion) |
int | ReadinPose (SBPL_4Dpt_t *pose, char *fIn) |
bool | ReadMotionPrimitives (FILE *fMotPrims) |
void | RemoveSourceFootprint (SBPL_4Dpt_t sourcepose, vector< SBPL_4Dcell_t > *footprint) |
void | SetConfiguration (int width, int height, const unsigned char *mapdata, int startx, int starty, int starttheta, int startTime, int goalx, int goaly, int goaltheta, double cellsize_m, double timeResolution, double nominalvel_mpersecs, double timetoturn45degsinplace_secs, const vector< sbpl_2Dpt_t > &robot_perimeterV) |
bool | UpdateTimelineMap () |
Static Protected Member Functions | |
static bool | pairCompare (pair< int, int > i, pair< int, int > j) |
Protected Attributes | |
vector< SBPL_4Dcell_t > | affectedpredstatesV |
vector< SBPL_4Dcell_t > | affectedsuccstatesV |
bool | bNeedtoRecomputeGoalHeuristics |
bool | bNeedtoRecomputeStartHeuristics |
vector< SBPL_DynamicObstacle_t > | dynamicObstacles |
EnvSIPPLat_t | envSIPPLat |
envSIPPLatConfig_t | envSIPPLatCfg |
SBPL2DGridSearch * | grid2Dsearchfromgoal |
SBPL2DGridSearch * | grid2Dsearchfromstart |
vector< vector< vector< pair < int, int > > > > | intervalMap |
int | iteration |
int | temporal_padding |
vector< vector< vector< int > > > | timelineMap |
Definition at line 176 of file sipp.h.
void EnvSIPPLattice::CalculateFootprintForPose | ( | SBPL_4Dpt_t | pose, | |
vector< SBPL_4Dcell_t > * | footprint | |||
) | [protected] |
bool EnvSIPPLattice::CheckQuant | ( | FILE * | fOut | ) | [protected] |
void EnvSIPPLattice::ComputeHeuristicValues | ( | ) | [protected] |
void EnvSIPPLattice::ComputeReplanningData | ( | ) | [protected] |
void EnvSIPPLattice::ComputeReplanningDataforAction | ( | envSIPPLatAction_t * | action | ) | [protected] |
void EnvSIPPLattice::CreateStartandGoalStates | ( | ) | [protected] |
double EnvSIPPLattice::EuclideanDistance_m | ( | int | X1, | |
int | Y1, | |||
int | X2, | |||
int | Y2 | |||
) | [protected] |
void EnvSIPPLattice::FillInBubble | ( | int | CenterX, | |
int | CenterY, | |||
int | T, | |||
int | rad | |||
) | [protected] |
void EnvSIPPLattice::FillInBubbleCell | ( | int | x, | |
int | y, | |||
int | T | |||
) | [protected] |
void EnvSIPPLattice::FillInBubbleColumn | ( | int | x, | |
int | topY, | |||
int | botY, | |||
int | T | |||
) | [protected] |
int EnvSIPPLattice::GetActionCost | ( | int | SourceX, | |
int | SourceY, | |||
int | SourceTheta, | |||
envSIPPLatAction_t * | action | |||
) | [protected, virtual] |
int EnvSIPPLattice::getArrivalTimeToInterval | ( | envSIPPLatHashEntry_t * | state, | |
envSIPPLatAction_t * | action, | |||
int | start_t, | |||
int | end_t | |||
) | [protected] |
virtual envSIPPLatHashEntry_t* EnvSIPPLattice::getEntryFromID | ( | int | id | ) | [protected, pure virtual] |
Implemented in EnvSIPPLat.
const envSIPPLatConfig_t * EnvSIPPLattice::GetEnvNavConfig | ( | ) |
int EnvSIPPLattice::GetEnvParameter | ( | const char * | parameter | ) | [virtual] |
void EnvSIPPLattice::GetEnvParms | ( | int * | size_x, | |
int * | size_y, | |||
double * | startx, | |||
double * | starty, | |||
double * | starttheta, | |||
double * | startTime, | |||
double * | goalx, | |||
double * | goaly, | |||
double * | goaltheta, | |||
double * | cellsize_m, | |||
double * | timeResolution, | |||
double * | nominalvel_mpersecs, | |||
double * | timetoturn45degsinplace_secs, | |||
unsigned char * | obsthresh, | |||
unsigned char * | dyn_obs_thresh, | |||
vector< SBPL_xythetasipp_mprimitive > * | motionprimitiveV | |||
) |
virtual int EnvSIPPLattice::GetFromToHeuristic | ( | int | FromStateID, | |
int | ToStateID | |||
) | [pure virtual] |
Implemented in EnvSIPPLat.
virtual int EnvSIPPLattice::GetGoalHeuristic | ( | int | stateID | ) | [pure virtual] |
Implemented in EnvSIPPLat.
int EnvSIPPLattice::getInterval | ( | int | x, | |
int | y, | |||
int | t | |||
) | [protected] |
void EnvSIPPLattice::getIntervals | ( | vector< int > * | intervals, | |
vector< int > * | times, | |||
envSIPPLatHashEntry_t * | state, | |||
envSIPPLatAction_t * | action | |||
) | [protected] |
unsigned char EnvSIPPLattice::GetMapCost | ( | int | x, | |
int | y | |||
) | [virtual] |
Implements DiscreteSpaceTimeInformation.
virtual void EnvSIPPLattice::GetPreds | ( | int | TargetStateID, | |
vector< int > * | PredIDV, | |||
vector< int > * | CostV | |||
) | [pure virtual] |
Implemented in EnvSIPPLat.
virtual void EnvSIPPLattice::GetPredsofChangedEdges | ( | vector< nav2dcell_t > const * | changedcellsV, | |
vector< int > * | preds_of_changededgesIDV | |||
) | [pure virtual] |
Implemented in EnvSIPPLat.
virtual int EnvSIPPLattice::GetStartHeuristic | ( | int | stateID | ) | [pure virtual] |
Implemented in EnvSIPPLat.
virtual void EnvSIPPLattice::GetSuccs | ( | int | SourceStateID, | |
vector< int > * | SuccIDV, | |||
vector< int > * | CostV, | |||
vector< envSIPPLatAction_t * > * | actionV = NULL | |||
) | [protected, pure virtual] |
Implemented in EnvSIPPLat.
void EnvSIPPLattice::GetSuccs | ( | int | SourceStateID, | |
vector< int > * | SuccIDV, | |||
vector< int > * | CostV | |||
) | [virtual] |
Implements DiscreteSpaceTimeInformation.
virtual void EnvSIPPLattice::GetSuccsofChangedEdges | ( | vector< nav2dcell_t > const * | changedcellsV, | |
vector< int > * | succs_of_changededgesIDV | |||
) | [pure virtual] |
Implemented in EnvSIPPLat.
bool EnvSIPPLattice::InitGeneral | ( | vector< SBPL_xythetasipp_mprimitive > * | motionprimitiveV | ) | [protected] |
bool EnvSIPPLattice::InitializeEnv | ( | int | width, | |
int | height, | |||
const unsigned char * | mapdata, | |||
double | startx, | |||
double | starty, | |||
double | starttheta, | |||
double | startTime, | |||
double | goalx, | |||
double | goaly, | |||
double | goaltheta, | |||
double | goaltol_x, | |||
double | goaltol_y, | |||
double | goaltol_theta, | |||
const vector< sbpl_2Dpt_t > & | perimeterptsV, | |||
double | cellsize_m, | |||
double | timeResolution, | |||
double | nominalvel_mpersecs, | |||
double | timetoturn45degsinplace_secs, | |||
unsigned char | obsthresh, | |||
unsigned char | dynobsthresh, | |||
const char * | sMotPrimFile | |||
) |
bool EnvSIPPLattice::InitializeEnv | ( | int | width, | |
int | height, | |||
const unsigned char * | mapdata, | |||
double | startx, | |||
double | starty, | |||
double | starttheta, | |||
double | startTime, | |||
double | goalx, | |||
double | goaly, | |||
double | goaltheta, | |||
double | goaltol_x, | |||
double | goaltol_y, | |||
double | goaltol_theta, | |||
const vector< sbpl_2Dpt_t > & | perimeterptsV, | |||
double | cellsize_m, | |||
double | timeResolution, | |||
double | nominalvel_mpersecs, | |||
double | timetoturn45degsinplace_secs, | |||
unsigned char | obsthresh, | |||
unsigned char | dynobsthresh, | |||
const char * | sMotPrimFile, | |||
vector< SBPL_DynamicObstacle_t > & | dynObs | |||
) | [virtual] |
mapdata | if mapdata is NULL the grid is initialized to all freespace |
Implements DiscreteSpaceTimeInformation.
bool EnvSIPPLattice::InitializeEnv | ( | const char * | sEnvFile | ) |
bool EnvSIPPLattice::InitializeEnv | ( | const char * | sEnvFile, | |
const vector< sbpl_2Dpt_t > & | perimeterptsV, | |||
const char * | sMotPrimFile | |||
) |
bool EnvSIPPLattice::InitializeEnv | ( | const char * | sEnvFile, | |
const vector< sbpl_2Dpt_t > & | perimeterptsV, | |||
const char * | sMotPrimFile, | |||
const char * | sDynObsFile | |||
) |
void EnvSIPPLattice::InitializeEnvConfig | ( | vector< SBPL_xythetasipp_mprimitive > * | motionprimitiveV | ) | [protected] |
virtual void EnvSIPPLattice::InitializeEnvironment | ( | ) | [protected, pure virtual] |
Implemented in EnvSIPPLat.
bool EnvSIPPLattice::InitializeMDPCfg | ( | MDPConfig * | MDPCfg | ) |
void EnvSIPPLattice::intervals2Timeline | ( | int | x, | |
int | y | |||
) | [protected] |
bool EnvSIPPLattice::IsValidCell | ( | int | X, | |
int | Y | |||
) | [protected] |
bool EnvSIPPLattice::IsValidConfiguration | ( | int | X, | |
int | Y, | |||
int | Theta | |||
) |
static bool EnvSIPPLattice::pairCompare | ( | pair< int, int > | i, | |
pair< int, int > | j | |||
) | [inline, static, protected] |
bool EnvSIPPLattice::PoseContToDisc | ( | double | px, | |
double | py, | |||
double | pth, | |||
double | pt, | |||
int & | ix, | |||
int & | iy, | |||
int & | ith, | |||
int & | it | |||
) | const |
Transform a pose into discretized form. The angle 'pth' is considered to be valid if it lies between -2pi and 2pi (some people will prefer 0<=pth<2pi, others -pi<pth<=pi, so this compromise should suit everyone).
bool EnvSIPPLattice::PoseDiscToCont | ( | int | ix, | |
int | iy, | |||
int | ith, | |||
int | it, | |||
double & | px, | |||
double & | py, | |||
double & | pth, | |||
double & | pt | |||
) | const |
Transform grid indices into a continuous pose. The computed angle lies within 0<=pth<2pi.
void EnvSIPPLattice::PrecomputeActionswithBaseMotionPrimitive | ( | vector< SBPL_xythetasipp_mprimitive > * | motionprimitiveV | ) | [protected] |
void EnvSIPPLattice::PrecomputeActionswithCompleteMotionPrimitive | ( | vector< SBPL_xythetasipp_mprimitive > * | motionprimitiveV | ) | [protected] |
virtual void EnvSIPPLattice::PrintVars | ( | ) | [inline, virtual] |
Reimplemented in EnvSIPPLat.
void EnvSIPPLattice::ReadConfiguration | ( | FILE * | fCfg | ) | [protected, virtual] |
void EnvSIPPLattice::ReadDynamicObstacles | ( | FILE * | fDynObs | ) | [protected] |
int EnvSIPPLattice::ReadinCell | ( | SBPL_4Dcell_t * | cell, | |
char * | fIn | |||
) | [protected] |
bool EnvSIPPLattice::ReadinMotionPrimitive | ( | SBPL_xythetasipp_mprimitive * | pMotPrim, | |
FILE * | fIn, | |||
bool & | isWaitMotion | |||
) | [protected] |
int EnvSIPPLattice::ReadinPose | ( | SBPL_4Dpt_t * | pose, | |
char * | fIn | |||
) | [protected] |
bool EnvSIPPLattice::ReadMotionPrimitives | ( | FILE * | fMotPrims | ) | [protected] |
void EnvSIPPLattice::RemoveSourceFootprint | ( | SBPL_4Dpt_t | sourcepose, | |
vector< SBPL_4Dcell_t > * | footprint | |||
) | [protected] |
virtual void EnvSIPPLattice::SetAllActionsandAllOutcomes | ( | CMDPSTATE * | state | ) | [pure virtual] |
Implemented in EnvSIPPLat.
void EnvSIPPLattice::SetAllPreds | ( | CMDPSTATE * | state | ) | [virtual] |
void EnvSIPPLattice::SetConfiguration | ( | int | width, | |
int | height, | |||
const unsigned char * | mapdata, | |||
int | startx, | |||
int | starty, | |||
int | starttheta, | |||
int | startTime, | |||
int | goalx, | |||
int | goaly, | |||
int | goaltheta, | |||
double | cellsize_m, | |||
double | timeResolution, | |||
double | nominalvel_mpersecs, | |||
double | timetoturn45degsinplace_secs, | |||
const vector< sbpl_2Dpt_t > & | robot_perimeterV | |||
) | [protected] |
bool EnvSIPPLattice::SetEnvParameter | ( | const char * | parameter, | |
int | value | |||
) | [virtual] |
bool EnvSIPPLattice::UpdateCost | ( | int | x, | |
int | y, | |||
unsigned char | newcost | |||
) | [virtual] |
Implements DiscreteSpaceTimeInformation.
vector<SBPL_4Dcell_t> EnvSIPPLattice::affectedpredstatesV [protected] |
vector<SBPL_4Dcell_t> EnvSIPPLattice::affectedsuccstatesV [protected] |
bool EnvSIPPLattice::bNeedtoRecomputeGoalHeuristics [protected] |
bool EnvSIPPLattice::bNeedtoRecomputeStartHeuristics [protected] |
vector<SBPL_DynamicObstacle_t> EnvSIPPLattice::dynamicObstacles [protected] |
EnvSIPPLat_t EnvSIPPLattice::envSIPPLat [protected] |
envSIPPLatConfig_t EnvSIPPLattice::envSIPPLatCfg [protected] |
SBPL2DGridSearch* EnvSIPPLattice::grid2Dsearchfromgoal [protected] |
SBPL2DGridSearch* EnvSIPPLattice::grid2Dsearchfromstart [protected] |
vector< vector< vector< pair<int,int> > > > EnvSIPPLattice::intervalMap [protected] |
int EnvSIPPLattice::iteration [protected] |
int EnvSIPPLattice::temporal_padding [protected] |
vector< vector< vector<int> > > EnvSIPPLattice::timelineMap [protected] |