Go to the documentation of this file.
18 #ifndef __tsid_python_contact_6d_hpp__
19 #define __tsid_python_contact_6d_hpp__
33 namespace bp = boost::python;
35 template<
typename ContactPo
int>
37 :
public boost::python::def_visitor< ContactPointPythonVisitor<ContactPoint> >
40 template<
class PyClass>
45 .def(bp::init<std::string, robots::RobotWrapper &, std::string, Eigen::VectorXd, double, double, double> ((bp::arg(
"name"), bp::arg(
"robot"), bp::arg(
"framename"), bp::arg(
"contactNormal"), bp::arg(
"frictionCoeff"), bp::arg(
"minForce"), bp::arg(
"maxForce")),
"Default Constructor"))
46 .add_property(
"n_motion", &ContactPoint::n_motion,
"return number of motion")
47 .add_property(
"n_force", &ContactPoint::n_force,
"return number of force")
56 .add_property(
"getMinNormalForce", &ContactPoint::getMinNormalForce)
57 .add_property(
"getMaxNormalForce", &ContactPoint::getMaxNormalForce)
75 static std::string
name(ContactPoint &
self){
76 std::string
name =
self.name();
81 self.computeMotionTask(t, q, v, data);
82 math::ConstraintEquality cons(
self.getMotionConstraint().
name(),
self.getMotionConstraint().matrix(),
self.getMotionConstraint().vector());
86 self.computeForceTask(t, q, v, data);
87 math::ConstraintInequality cons(
self.getForceConstraint().
name(),
self.getForceConstraint().matrix(),
self.getForceConstraint().lowerBound(),
self.getForceConstraint().upperBound());
91 self.computeForceRegularizationTask(t, q, v, data);
92 math::ConstraintEquality cons(
self.getForceRegularizationTask().
name(),
self.getForceRegularizationTask().matrix(),
self.getForceRegularizationTask().vector());
96 static void useLocalFrame (ContactPoint &
self,
const bool local_frame) {
97 self.useLocalFrame(local_frame);
100 return self.getForceGeneratorMatrix();
102 static const Eigen::VectorXd &
Kp (ContactPoint &
self){
105 static const Eigen::VectorXd &
Kd (ContactPoint &
self){
108 static void setKp (ContactPoint &
self, const::Eigen::VectorXd
Kp){
111 static void setKd (ContactPoint &
self, const::Eigen::VectorXd
Kd){
115 return self.setContactPoints(contactpoints);
118 return self.setContactNormal(contactNormal);
121 return self.setFrictionCoefficient(frictionCoefficient);
124 return self.setMinNormalForce(minNormalForce);
127 return self.setMaxNormalForce(maxNormalForce);
130 self.setReference(ref);
133 self.setForceReference(f_ref);
136 self.setRegularizationTaskWeightVector(w);
139 return self.getNormalForce(f);
142 static void expose(
const std::string & class_name)
144 std::string doc =
"ContactPoint info.";
145 bp::class_<ContactPoint>(class_name.c_str(),
155 #endif // ifndef __tsid_python_contact_hpp__
Definition: constraint-equality.hpp:28
pinocchio::SE3 SE3
Definition: trajectory-base.hpp:34
Definition: constraint-inequality.hpp:28
Definition: constraint-bound.hpp:26