39 bool addConstraintSet(
const std::string& name,
ConstraintSet* task,
const std::string& object1,
const std::string& object2,
const std::string& ee1=
"",
const std::string& ee2=
"");
43 bool update(
double timestamp,
double timestep,
unsigned int numsubstep=1,
bool reiterate=
false,
bool cache=
true,
bool interpolate=
true);
46 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
49 e_matrix m_A,m_B,m_Atemp,m_Wq,m_Jf,m_Jq,m_Ju,m_Cf,m_Cq,m_Jf_inv;
55 unsigned int m_ncTotal,m_nqTotal,m_nuTotal,m_nsets;
56 std::vector<bool> m_ytask;
65 unsigned int baseFrameIndex;
66 Range constraintrange;
68 Range coordinaterange;
72 object(_object),base(_base),baseFrameIndex(_baseFrameIndex),constraintrange(nc_range),jointrange(nq_range),coordinaterange(nu_range)
75 typedef std::map<std::string,Object_struct*> ObjectMap;
77 struct ConstraintSet_struct{
79 ObjectMap::iterator object1;
80 ObjectMap::iterator object2;
81 Range constraintrange;
83 unsigned int ee1index;
84 unsigned int ee2index;
85 ConstraintSet_struct(ConstraintSet* _task,
86 ObjectMap::iterator _object1,
unsigned int _ee1index,
87 ObjectMap::iterator _object2,
unsigned int _ee2index,
88 Range nc_range,Range coord_range):
90 object1(_object1),object2(_object2),
91 constraintrange(nc_range),featurerange(coord_range),
92 ee1index(_ee1index), ee2index(_ee2index)
95 typedef std::map<std::string,ConstraintSet_struct*> ConstraintMap;
98 ConstraintMap constraints;
100 static bool getConstraintPose(ConstraintSet* constraint,
void *_param,
KDL::Frame& _pose);
bool addConstraintSet(const std::string &name, ConstraintSet *task, const std::string &object1, const std::string &object2, const std::string &ee1="", const std::string &ee2="")
bool update(double timestamp, double timestep, unsigned int numsubstep=1, bool reiterate=false, bool cache=true, bool interpolate=true)