planners/sequential/sp3dstct.h

Go to the documentation of this file.
00001 #ifndef __SP3DSTCT_H_
00002 #define __SP3DSTCT_H_
00003 
00004 #include "sp3dcst.h"
00005 
00006 /*
00007 typedef enum pathcode
00008   {
00009         In_Main,        // Block occured in last main path section      
00010         In_Frwd,        // Block occured in last forward path section
00011         In_Bkwd         // Block occured in last backward path section  
00012   } BlockCode;
00013 */
00014 
00015 /* Sequential planner return code       */
00016 typedef enum sprc
00017   {
00018         SP_STOP_S,      /* A Stopping signal    */
00019         SP_CHANGE_S,    /* A Parameter Change request signal    */
00020         SP_NO_S,        /* No Signal            */
00021         SP_TQ_OK,       /* A txq path is found for a link       */
00022         SP_TQ_NOT_OK,   /* A txq path is not found for a link   */
00023         SP_PLANNING,    /* Sequential planner is planning       */
00024         SP_SUCCEEDED,   /* Sequential planner succeeded         */
00025         SP_FAILED,      /* Sequential planner Failed            */
00026         SP_STOPPING,    /* Sequential planner received a stop signal */
00027         SP_STOPPED,     /* Sequential planner being stopped by a signal */
00028         SP_IF_NOT_OK,   /* Initial or Final position is not good */ 
00029         SP_UNKNOWN      /* Don't know what happened             */
00030   } SPRC;
00031 
00032 /*
00033 typedef struct char2dpoint              // Char Size 2d Point   
00034   {
00035         char    x, y;
00036   } Char2DPoint;
00037 */
00038 /*
00039 typedef struct charpoint                // Char Size Point      
00040   {
00041         char    x, y, z;
00042   } CharPoint;
00043 */
00044 /*
00045 typedef struct sphortintoint2d          //Short Integer Size 2d Point   
00046   {
00047         short int       x, y;
00048   } ShortInt2DPoint;
00049 */
00050 /*
00051 typedef struct sphortintoint            // Short Integer Size Point     
00052   {
00053         short int       x, y, z;
00054   } ShortIntPoint;
00055 */
00056 
00057 typedef struct int2dpoint               // Integer Size 2d Point        
00058   {
00059         int     x, y, z;
00060   } Int2DPoint;
00061 
00062 typedef struct intpoint         // Integer Size Point   
00063   {
00064         int     x, y, z;
00065   } IntPoint;
00066 
00067 /*
00068 typedef struct float2dpoint             // Float Size 2d Point  
00069   {
00070         float   x, y;
00071   } Float2DPoint;
00072 */
00073 /*
00074 typedef struct floatpoint               // Float Size Point     
00075   {
00076         float   x, y, z;
00077   } FloatPoint;
00078 */
00079 /*
00080 typedef struct double2dpoint    // Double Size 2d Point 
00081   {
00082         double  x, y;
00083   } Double2DPoint;
00084 */
00085 /*
00086 typedef struct doublepoint              // Double Size Point    
00087   {
00088         double  x, y, z;
00089   } DoublePoint;
00090 */
00091 /*
00092 typedef struct  shortintimage   // Short Integer Size Image     
00093   {
00094         int     dimx;
00095         int     dimy;
00096         int     dimz;
00097         short int       ***d;
00098   } ShortIntImage;      
00099 */
00100 
00101 typedef struct tqconfig         // TxQ space point      
00102   {
00103         int     t, q;
00104   } TQConfig;
00105 
00106 typedef struct linkpath         // Path for each link           
00107   {     // includes both real and parameter 
00108         int     maxdim, dim;
00109         TQConfig        *d;
00110   } LinkPath;
00111 
00112 /*
00113 typedef struct dofpath          // Path for global dofs         
00114   {     // act as d[i][degree] 
00115         int     maxdim, dim;
00116         double  **d;
00117   } DOFPath;
00118 */
00119 /*
00120 typedef struct confpath         // Path of robot in configuration space 
00121   {
00122         int     degree;
00123         LinkPath        *cpath;
00124   } ConfPath;
00125 */
00126 /*
00127 typedef struct link
00128   {
00129         float   a, l;
00130         int     nverts;                 // number of vertices of link           
00131         FloatPoint      base;   // Link Frame base coordinate   
00132         FloatPoint      vertex[MAX_VERTEX];
00133   } Link;
00134 */
00135 /*
00136 typedef struct arm
00137   {
00138         int     nlinks;
00139         Link    *link;
00140   } Arm;
00141 */
00142 
00143 typedef struct jointlimit
00144 {
00145     int status;         // 1 apply, 0 not       
00146     double start;
00147     double end;
00148 } JointLimit;
00149 
00150 typedef struct intjointlimit
00151   {
00152         int     status;         // 1 apply, 0 not       
00153         int     start, end;
00154   } IntJointLimit;
00155 
00156 typedef struct tqlinkcspace
00157   {
00158         int     dimt, dimq;
00159         int     t_bound, q_bound, p_bound; // path parameters bound     
00160         unsigned char   **bitmap;
00161         short   int     **distmap;
00162         unsigned char   **voro;
00163         short   int     **potential;
00164   } TQLinkCSpace;
00165 
00166 typedef struct tqcspace
00167   {
00168         int     nlinks;
00169         TQLinkCSpace    *tqlink;
00170   } TQCSpace;
00171 
00172 typedef struct BT_NUMBER 
00173   {
00174         int     BT_number;
00175   } BT_Number;
00176 
00177 typedef struct BT_RECORD
00178   {
00179         BT_Number       *BT_level[6];
00180   } BT_Record;
00181 
00182 typedef int     IntConfig[MAX_DEGREE];                  // Be sure CHECK        
00183 typedef double  FloatConfig[MAX_DEGREE];        // Degree Maximum limit 
00184 typedef double  DoubleConfig[MAX_DEGREE];
00185 
00186 #endif

Generated on Sat Apr 1 21:30:47 2006 for Motion Planning Kernel by  doxygen 1.4.6-NO