00001 00002 #ifndef SBPL_DYNAMICOBSTACLES_H 00003 #define SBPL_DYNAMICOBSTACLES_H 00004 00005 #include <vector> 00006 00007 using namespace std; 00008 00012 typedef struct{ 00013 double x; 00014 double y; 00015 int t; 00016 double std_dev; 00017 } SBPL_Traj_Pt_t; 00018 00022 typedef struct{ 00023 //the probability that the object follows this trajectory 00024 double prob; 00025 //the points along the trajectory 00026 vector<SBPL_Traj_Pt_t> points; 00027 //does the obstacle still "exist" and sit in its last configuration after 00028 //its trajectory is finished 00029 bool existsAfter; 00030 } SBPL_Trajectory_t; 00031 00035 typedef struct{ 00036 //list of the possible trajectories this obstacle may take 00037 vector<SBPL_Trajectory_t> trajectories; 00038 //the radius of the dynamic obstacle in cells 00039 double radius; 00040 } SBPL_DynamicObstacle_t; 00041 00042 typedef struct{ 00043 double x; 00044 double y; 00045 double theta; 00046 double t; 00047 } SBPL_4Dpt_t; 00048 00049 typedef struct SBPL_4DCELL{ 00050 int x; 00051 int y; 00052 int theta; 00053 int t; 00054 int iteration; 00055 public: 00056 bool operator == (SBPL_4DCELL cell) {return (x==cell.x && y==cell.y && theta==cell.theta && t==cell.t);} 00057 } SBPL_4Dcell_t; 00058 00059 #endif