18 #ifndef __tsid_python_contact_6d_hpp__ 19 #define __tsid_python_contact_6d_hpp__ 34 namespace bp = boost::python;
36 template<
typename Contact6d>
38 :
public boost::python::def_visitor< Contact6DPythonVisitor<Contact6d> >
41 template<
class PyClass>
46 .def(bp::init<std::string, robots::RobotWrapper &, std::string, Eigen::MatrixXd, Eigen::VectorXd, double, double, double> ((bp::arg(
"name"), bp::arg(
"robot"), bp::arg(
"framename"), bp::arg(
"contactPoint"), bp::arg(
"contactNormal"), bp::arg(
"frictionCoeff"), bp::arg(
"minForce"), bp::arg(
"maxForce")),
"Default Constructor"))
47 .def(bp::init<std::string, robots::RobotWrapper &, std::string, Eigen::MatrixXd, Eigen::VectorXd, double, double, double, double> ((bp::arg(
"name"), bp::arg(
"robot"), bp::arg(
"framename"), bp::arg(
"contactPoint"), bp::arg(
"contactNormal"), bp::arg(
"frictionCoeff"), bp::arg(
"minForce"), bp::arg(
"maxForce"), bp::arg(
"wForceReg")),
"Deprecated Constructor"))
48 .add_property(
"n_motion", &Contact6d::n_motion,
"return number of motion")
49 .add_property(
"n_force", &Contact6d::n_force,
"return number of force")
59 .add_property(
"getMinNormalForce", &Contact6d::getMinNormalForce)
60 .add_property(
"getMaxNormalForce", &Contact6d::getMaxNormalForce)
77 static std::string
name(Contact6d &
self){
78 std::string
name =
self.name();
83 self.computeMotionTask(t, q, v, data);
84 math::ConstraintEquality cons(
self.getMotionConstraint().
name(),
self.getMotionConstraint().matrix(),
self.getMotionConstraint().vector());
88 self.computeForceTask(t, q, v, data);
89 math::ConstraintInequality cons(
self.getForceConstraint().
name(),
self.getForceConstraint().matrix(),
self.getForceConstraint().lowerBound(),
self.getForceConstraint().upperBound());
93 self.computeForceRegularizationTask(t, q, v, data);
94 math::ConstraintEquality cons(
self.getForceRegularizationTask().
name(),
self.getForceRegularizationTask().matrix(),
self.getForceRegularizationTask().vector());
103 return self.getForceGeneratorMatrix();
105 static const Eigen::VectorXd &
Kp (Contact6d &
self){
108 static const Eigen::VectorXd &
Kd (Contact6d &
self){
111 static void setKp (Contact6d &
self, const::Eigen::VectorXd
Kp){
114 static void setKd (Contact6d &
self, const::Eigen::VectorXd
Kd){
118 return self.setContactPoints(contactpoints);
121 return self.setContactNormal(contactNormal);
124 return self.setFrictionCoefficient(frictionCoefficient);
127 return self.setMinNormalForce(minNormalForce);
130 return self.setMaxNormalForce(maxNormalForce);
133 self.setReference(ref);
136 self.setForceReference(f_ref);
139 self.setRegularizationTaskWeightVector(w);
142 return self.getNormalForce(f);
145 static void expose(
const std::string & class_name)
147 std::string doc =
"Contact6d info.";
148 bp::class_<Contact6d>(class_name.c_str(),
158 #endif // ifndef __tsid_python_contact_hpp__
Definition: constraint-equality.hpp:28
pinocchio::SE3 SE3
Definition: trajectory-base.hpp:34
Definition: task-se3-equality.hpp:33
Definition: constraint-inequality.hpp:28
Definition: constraint-bound.hpp:26