libmove3d-planners
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Friends Macros Groups Pages
planEnvironment.hpp
1 /*
2  * PlanEnvironment.hpp
3  * BioMove3D
4  *
5  * Created by Jim Mainprice on 11/10/10.
6  * Copyright 2010 LAAS/CNRS. All rights reserved.
7  *
8  */
9 
10 //**********************************************************
11 // Module planner
12 //**********************************************************
13 
14 #ifndef PLAN_ENVIRONMENT_HPP
15 #define PLAN_ENVIRONMENT_HPP
16 
17 #include "../p3d/ParametersEnv.hpp"
18 
19 bool Env_stopUser();
20 
21 #ifdef QT_LIBRARY
22 class PlanParam : public QObject
23 {
24 
25  Q_OBJECT;
26  Q_ENUMS(boolParameter);
27  Q_ENUMS(intParameter);
28  Q_ENUMS(doubleParameter);
29  Q_ENUMS(stringParameter);
30  Q_ENUMS(vectorParameter);
31 
32 public:
33 
34  PlanParam();
35  ~PlanParam();
36 
37 #else
38 namespace PlanParam
39 {
40 #endif
41  enum boolParameter
42  {
43  //GTP
44  showGTPDebug,
45  usePreviousConstraint,
46  useGraph,
47  drawSurfaces,
48 
49  stopPlanner,
50  isMaxDisNeigh,
51  isWeightedChoice,
52  nextIterWaitForGui,
53  rrtExtractShortestPath,
54  orientedGraph,
55 
56  // Time
57  trajWithTimeLimit,
58  planWithTimeLimit,
59 
60  // Smoothing stage
61  trajUseCost,
62  trajPrintGain,
63  trajPartialShortcut,
64  trajSaveCost,
65  trajCostRecompute,
66  trajComputeCollision,
67  trajStompWithRRT,
68  trajStompComputeColl,
69  trajStompWithTimeLimit,
70  trajStompMultiplyM,
71  trajBiasOptim,
72  trajMoveHuman,
73  trajUseOtp,
74  trajNPoints,
75  trajComputeCostAfterPlannif,
76 
77  withMaxIteration,
78  withGainLimit,
79  withSmoothing,
80  withShortCut,
81  withDeformation,
82  withStomp,
83  withDescent,
84  trajOptimTestMultiGauss,
85  showExploration,
86 
87  anytime,
88 
89  // HRICS
90  hriSetColorFromConfig,
91 
92  // Stomp/Chomp & trajectory optim
93  withCurrentTraj,
94  doReplanning,
95  useSelectedDuration,
96 
97 
98  // Drawing (gl) stuff
99  drawColorConfig,
100  drawOccupVoxels,
101  drawSampledPoints,
102  drawStaticVoxels,
103  drawRandomMap,
104  drawBoundingVolumes,
105  drawReachableGrid,
106  saveVideo,
107  usingSpark,
108 
109  //Object Transfert point variable
110  env_humanGridDraw,
111  env_robotGridDraw,
112  env_isStanding,
113  env_drawRandomPoint,
114  env_drawDistGrid,
115  env_drawOnlyBest,
116  env_normalRand,
117  env_fusedGridRand,
118  env_useSlice,
119  env_useOrientedSlice,
120  env_useAllGrid,
121  env_drawSlice,
122  env_showHumanTraj,
123  env_useOldDude,
124  env_isInit,
125  env_showText,
126  env_realTime,
127  env_drawHumanModel,
128  env_softMotionTraj,
129  env_createTrajs,
130  env_fusedGridAndRotRand,
131  env_oldCriteria,
132  env_noRepetition,
133  env_computeTrajForHuman,
134  env_trajNormal,
135  env_trajSoftMotion,
136  env_trajRos,
137 
138  //GTP
139  GTP_drawMightabilityGrid,
140  GTP_msgconnector
141 
142  };
143 
144  enum intParameter
145  {
146  tata,
147  nb_pointsOnTraj,
148 
149  // RRT & PRM
150  plannerMaxIterations,
151  smoothMaxIterations,
152 
153  // Replanning
154  replanningAlgorithm,
155  replanningInitMethod,
156 
157  // Stomp
158  stompDrawIteration,
159 
160  // Object TransfertPoint variable
161  env_maxIter,
162  env_nbRandomRotOnly,
163  env_nbSittingRotation,
164  env_totMaxIter,
165 
166  // grid cells
167  env_xToDraw,
168  env_yToDraw,
169  env_timeShow,
170  env_pow,
171  env_MOTP,
172  env_anglePow,
173 
174  //GTP
175  GTPTypeCase
176  };
177 
178  enum doubleParameter
179  {
180  // Time
181  timeLimitSmoothing,
182  timeLimitPlanning,
183 
184  // Optimization Variables
185  MaxFactor,
186  MinStep,
187  costTraj,
188  costResolution,
189  distMinToDraw,
190  trajStompTimeLimit,
191  trajDuration,
192  trajOptimStdDev,
193  trajOptimSmoothWeight,
194  trajOptimObstacWeight,
195  trajReplanningWindow,
196  trajReplanningTotalTime,
197 
198  // RRT*
199  starRadius,
200 
201  // Object TransfertPoint variable
202  env_randomXMinLimit,
203  env_randomXMaxLimit,
204  env_randomYMinLimit,
205  env_randomYMaxLimit,
206  env_robotSpeed,
207  env_humanSpeed,
208  env_timeStamp,
209  env_psi,
210  env_delta,
211  env_ksi,
212  env_rho,
213  env_objectNessecity,
214  env_sittingOffset,
215  env_limitRot,
216  env_Cellsize,
217  env_timeLimitation,
218  env_sitTimeLimitation,
219  env_timeToDump,
220  env_futurX,
221  env_futurY,
222  env_futurZ,
223  env_futurRZ,
224  env_futurArmZ,
225 
226  //HRI GRID
227  cellsOpacity
228 
229  };
230 
231  enum stringParameter
232  {
233  titi
234  };
235 
236  enum vectorParameter
237  {
238  tutu
239  };
240 
241 
242 };
243 
244 // Object that holds all parameters
245 // Of the planner Environment
246 extern Parameters<
247 PlanParam::boolParameter,
248 PlanParam::intParameter,
249 PlanParam::doubleParameter,
250 PlanParam::stringParameter,
251 PlanParam::vectorParameter>* PlanEnv;
252 
253 // Functions that initializes the planner
254 // Parameters
255 void initPlannerParameters();
256 
257 #ifdef QT_LIBRARY
258 extern PlanParam* EnumPlannerParameterObject;
259 #endif
260 
261 #endif