libmove3d
3.13.0
|
00001 #ifndef __MANIPULATIONCONFIGS_HPP__ 00002 #define __MANIPULATIONCONFIGS_HPP__ 00003 00004 #if defined (LIGHT_PLANNER) && defined (GRASP_PLANNING) 00005 00006 #include "P3d-pkg.h" 00007 #include "GraspPlanning-pkg.h" 00008 00009 #include "ManipulationStruct.h" 00010 #include "ManipulationUtils.hpp" 00011 00012 #include <vector> 00013 00015 class ManipulationConfigs { 00016 public: 00017 /* ******************************* */ 00018 /* ******* (Con)Destructor ******* */ 00019 /* ******************************* */ 00020 ManipulationConfigs(p3d_rob * robot); 00021 virtual ~ManipulationConfigs(); 00022 /* ******************************* */ 00023 /* ******* (Ge)Setters *********** */ 00024 /* ******************************* */ 00025 void setDebugMode(bool value); 00026 00027 void setOptimizeRedundentSteps(int nbSteps); 00028 int getOptimizeRedundentSteps(void) const; 00029 00030 void setApproachFreeOffset(double offset); 00031 double getApproachFreeOffset(void) const; 00032 00033 void setApproachGraspOffset(double offset); 00034 double getApproachGraspOffset(void) const; 00035 00036 inline p3d_rob* robot() const{return _robot;} 00037 /* ******************************* */ 00038 /* *********** Methods *********** */ 00039 /* ******************************* */ 00044 configPt getGraspConf(p3d_rob* object, int armId, gpGrasp& grasp, p3d_matrix4 tAtt, double& confCost) const; 00046 configPt getOpenGraspConf(p3d_rob* object, int armId, gpGrasp& grasp, configPt graspConf) const; 00048 configPt getApproachFreeConf(p3d_rob* object, int armId, gpGrasp& grasp, configPt graspConf, p3d_matrix4 tAtt) const; 00050 configPt getApproachGraspConf(p3d_rob* object, int armId, gpGrasp& grasp, configPt graspConf, p3d_matrix4 tAtt) const; 00052 configPt getFreeHoldingConf( p3d_rob* obj, int armId, gpGrasp& grasp, p3d_matrix4 tAtt, double& confCost, std::vector<double> &objGoto, p3d_rob* support = NULL ) const; 00054 configPt getExtractConf(int armId, configPt currentConf, p3d_matrix4 tAtt) const; 00055 00056 private: 00058 p3d_rob * _robot; 00060 int _optimizeRedundentSteps; 00062 double _approachFreeOffset; 00064 double _approachGraspOffset; 00065 }; 00066 00067 #endif 00068 #endif