18 #include <hpp/constraints/fwd.hh>
19 #include <hpp/constraints/position.hh>
20 #include <hpp/constraints/orientation.hh>
21 #include <hpp/constraints/relative-com.hh>
22 #include <hpp/constraints/relative-position.hh>
23 #include <hpp/constraints/relative-orientation.hh>
24 #include <hpp/wholebody-step/fwd.hh>
25 #include <hpp/model/urdf/util.hh>
26 #include <hpp/core/manipulation-solver.hh>
27 #include <hpp/core/locked-dof.hh>
28 #include <hpp/core/path-vector.hh>
30 #include "configuration.hpp"
31 #include "graspPlanning/include/gpGrasp.h"
32 #include "p3d/proto/p3d_matrix_proto.h"
33 #include "API/Device/robot.hpp"
34 #include "Planner-pkg.h"
52 bool loadRobot(
const std::string& robotName,
const std::string& rootJointType,
53 const std::string& packageName,
const std::string& modelName,
54 const std::string& urdfSuffix,
const std::string& srdfSuffix,
62 void addLockDof(
const std::string& jointName,
double value);
72 void addPositionConstraint(
const std::string& name,
const std::string& jointName,
73 hpp::model::vector3_t posLocal, hpp::model::vector3_t posGlobal,
74 std::vector<bool> mask);
83 void addOrientationConstraint(
const std::string& name,
const std::string& jointName,
84 hpp::model::matrix3_t rotation, std::vector<bool> mask);
92 bool applyConstraints(hpp::core::ConfigurationPtr_t config,
double *timer);
96 void resetConstraints();
103 void updatePositionConstraintRef(
const std::string& constraintName, hpp::model::vector3_t globalValue);
111 void updatePositionConstraintRef(
const std::string& constraintName, hpp::model::vector3_t localValue,
112 hpp::model::vector3_t globalValue);
119 void updateOrientationConstraintRef(
const std::string& constraintName, hpp::model::matrix3_t rot);
122 virtual bool generateConfig(confPtr_t &inputConf, confPtr_t &outputConf, p3d_matrix4 tragetPos,
int armId,
bool randomize) = 0;
124 virtual std::vector<confPtr_t> generateGraspConfigs(confPtr_t &q, gpGrasp grasp, p3d_matrix4 objectPos,
125 p3d_vector3 approachDir,
double approachOffset,
126 p3d_vector3 extractDir,
double extractOffset) = 0;
136 bool findTrajectory(confPtr_t &initConf, confPtr_t &goalConf, p3d_traj *outputTraj,
double *timer);
147 bool generateOpenGraspConf(confPtr_t inputConf, confPtr_t outputConf);
155 bool generateClosedGraspConf(confPtr_t inputConf, confPtr_t outputConf);
161 void randomizeFullConfig(hpp::core::ConfigurationPtr_t config);
167 hpp::core::ConfigurationPtr_t getCurrentConfig() {
168 return boost::shared_ptr<hpp::model::Configuration_t> (
new hpp::model::Configuration_t(_manipulationSolver->robot()->currentConfiguration()));
175 void setCurrentConfig(hpp::core::ConfigurationPtr_t conf) {
176 _manipulationSolver->robot()->currentConfiguration(*conf);
184 void setJointBound(std::string jointName, std::vector<double> bounds);
191 confPtr_t createConfiguration(hpp::core::ConfigurationPtr_t config);
198 hpp::core::ConfigurationPtr_t createHppConfiguration(confPtr_t q);
205 double getJointDofValue(
const std::string& name);
213 bool createTrajectory(hpp::core::PathPtr_t inputPath, p3d_traj *outputTrajectory);
219 hpp::core::ManipulationSolverPtr_t _manipulationSolver;
220 hpp::core::ConfigurationPtr_t confSol;
This class holds a the robot represented by a kinematic chain.
Definition: robot.hpp:42