libmove3d-planners
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Friends Macros Groups Pages
pickPlaceQuad.hpp
1 #ifndef PICKPLACEQUAD_HPP
2 #define PICKPLACEQUAD_HPP
3 
4 #include "GTP/Tasks/privateTask.hpp"
5 #include "Planner-pkg.h"
6 
7 class PickPlaceQuad : public PrivateTask{
8 
9  MOVE3D_STATIC_LOGGER;
10 
11 public:
12 
13  PickPlaceQuad();
14 
15  void print_msg(const char *fct,const char *msg,int verbose_level=1);
16 
17  bool initAll();
18  bool initialize();
19  bool setAgents(std::multimap<std::string,std::string> agents_name);
20  bool setObjects(std::multimap<std::string,std::string> objects_name);
21 
22  bool findPickConf();
23  bool findPickApproachConf();
24  bool findPickTraj();
25  bool findPickExtractConf();
26  bool findPickExtractTraj();
27  bool findPickTargetConf();
28  bool findPickTargetPlacedArmConf();
29 
30  bool findPlaceConf();
31  bool findPlaceApproachConf();
32  bool findPlaceTraj();
33  bool findPlaceExtractConf();
34  bool findPlaceExtractTraj();
35  bool findPlaceTargetConf();
36 
37  bool findConfigurations();
38 
39  bool computeSolutionTrajectories(int alternativeId);
40 
41  bool findPickApproachTraj();
42  bool findPickArmTraj();
43  bool findPickGotoTraj();
44 
45  bool findPlaceArmTraj();
46  bool findPlaceGotoTraj();
47 
48  bool findTrajectories();
49 
50  bool setToSolution(int solutionId, bool computeMP);
51 
52  std::string getDescr();
53  std::string getTextFromValues();
54 
55  bool run(std::multimap<std::string,std::string> agents_name,
56  std::multimap<std::string,std::string> objects_name,
57  std::multimap<std::string,p3d_point> point3d,
58  std::multimap<std::string,std::string> additionalData,
59  WorldState* WS, bool computeMP);
60 
61  double computeCost(int altId);
62  bool findCandidateSolutions();
63  bool getRandomSol();
64  bool setPoints(std::multimap<std::string,p3d_point> points);
65  bool setdata(std::multimap<std::string,std::string> additionalData);
66  void smoothSolution(int alternativeId);
67 
68 protected:
69 
70  confPtr_t _initConf;
71 
72  confPtr_t _pick_targetGhostConf;
73  confPtr_t _pick_targetConf;
74  confPtr_t _pick_targetPlacedArmConf;
75  confPtr_t _pick_approachConf;
76  confPtr_t _pickConf;
77  confPtr_t _pick_extractConf;
78  confPtr_t _pick_extractObjectConf;
79 
80  confPtr_t _place_targetConf;
81  confPtr_t _place_targetObjectConf;
82  confPtr_t _place_approachConf;
83  confPtr_t _place_approachObjectConf;
84  confPtr_t _placeConf;
85  confPtr_t _placeObjectConf;
86  confPtr_t _place_extractConf;
87 
88  p3d_traj *_pick_goto_traj;
89  p3d_traj *_pick_arm_traj;
90  p3d_traj *_pick_approach_traj;
91  p3d_traj *_pick_traj;
92  p3d_traj *_pick_extract_traj;
93 
94  p3d_traj *_place_goto_traj;
95  p3d_traj *_place_arm_traj;
96  p3d_traj *_place_traj;
97  p3d_traj *_place_extract_traj;
98 
99  Robot* _mainObject;
100  Robot* _supportObject;
101  Robot* _ghost;
102 
103  lm_quadspline_str *_param;
104 
105  p3d_vector3 _pick_graspDir;
106  p3d_vector3 _place_graspDir;
107 
108  bool use_ghost;
109  bool is_pick;
110  bool is_place;
111 
112  int _idCurrentSol;
113 
114  char _className[50];
115 
116 };
117 
118 #endif // PICKPLACEQUAD_HPP
This class holds a the robot represented by a kinematic chain.
Definition: robot.hpp:42
Definition: worldState.hpp:30
Definition: privateTask.hpp:6
Definition: pickPlaceQuad.hpp:7