18 #ifndef __tsid_python_task_se3_hpp__ 19 #define __tsid_python_task_se3_hpp__ 32 template <
typename TaskSE3>
34 :
public boost::python::def_visitor<
35 TaskSE3EqualityPythonVisitor<TaskSE3> > {
36 template <
class PyClass>
39 cl.def(bp::init<std::string, robots::RobotWrapper&, std::string>(
40 (bp::arg(
"name"), bp::arg(
"robot"), bp::arg(
"framename")),
41 "Default Constructor"))
42 .add_property(
"dim", &TaskSE3::dim,
"return dimension size")
45 .add_property(
"getDesiredAcceleration",
48 bp::return_value_policy<bp::copy_const_reference>()),
52 .add_property(
"position_error",
55 bp::return_value_policy<bp::copy_const_reference>()))
56 .add_property(
"velocity_error",
59 bp::return_value_policy<bp::copy_const_reference>()))
60 .add_property(
"position",
63 bp::return_value_policy<bp::copy_const_reference>()))
64 .add_property(
"velocity",
67 bp::return_value_policy<bp::copy_const_reference>()))
68 .add_property(
"position_ref",
71 bp::return_value_policy<bp::copy_const_reference>()))
72 .add_property(
"velocity_ref",
75 bp::return_value_policy<bp::copy_const_reference>()))
79 bp::return_value_policy<bp::copy_const_reference>()))
83 bp::return_value_policy<bp::copy_const_reference>()))
87 bp::arg(
"local_frame"))
91 bp::return_value_policy<bp::copy_const_reference>()),
95 bp::args(
"t",
"q",
"v",
"data"))
97 .add_property(
"frame_id", &TaskSE3::frame_id,
"frame id return")
100 static std::string
name(TaskSE3&
self) {
101 std::string
name =
self.name();
105 const Eigen::VectorXd&
q,
106 const Eigen::VectorXd&
v,
108 self.compute(t, q, v, data);
121 self.setReference(ref);
124 return self.getDesiredAcceleration();
127 const Eigen::VectorXd
dv) {
128 return self.getAcceleration(dv);
131 return self.position_error();
134 return self.velocity_error();
136 static const Eigen::VectorXd&
position(
const TaskSE3&
self) {
137 return self.position();
139 static const Eigen::VectorXd&
velocity(
const TaskSE3&
self) {
140 return self.velocity();
143 return self.position_ref();
146 return self.velocity_ref();
148 static const Eigen::VectorXd&
Kp(TaskSE3&
self) {
return self.Kp(); }
149 static const Eigen::VectorXd&
Kd(TaskSE3&
self) {
return self.Kd(); }
150 static void setKp(TaskSE3&
self, const ::Eigen::VectorXd
Kp) {
153 static void setKd(TaskSE3&
self, const ::Eigen::VectorXd Kv) {
157 self.useLocalFrame(local_frame);
159 static void getMask(TaskSE3&
self) {
self.getMask(); }
160 static void setMask(TaskSE3&
self, const ::Eigen::VectorXd mask) {
163 static Eigen::VectorXd
frame_id(TaskSE3&
self) {
return self.frame_id(); }
164 static void expose(
const std::string& class_name) {
165 std::string doc =
"TaskSE3 info.";
166 bp::class_<TaskSE3>(class_name.c_str(), doc.c_str(), bp::no_init)
175 #endif // ifndef __tsid_python_task_se3_hpp__
static const Eigen::VectorXd & position(const TaskSE3 &self)
static Eigen::VectorXd getAcceleration(TaskSE3 &self, const Eigen::VectorXd dv)
static const Eigen::VectorXd & velocity_error(const TaskSE3 &self)
static void setMask(TaskSE3 &self, const ::Eigen::VectorXd mask)
void visit(PyClass &cl) const
void def(const char *name, Func func)
static std::string name(TaskSE3 &self)
static void setKd(TaskSE3 &self, const ::Eigen::VectorXd Kv)
static void useLocalFrame(TaskSE3 &self, const bool local_frame)
static Eigen::VectorXd frame_id(TaskSE3 &self)
static const Eigen::VectorXd & velocity_ref(const TaskSE3 &self)
static void getMask(TaskSE3 &self)
static const Eigen::VectorXd & position_error(const TaskSE3 &self)
static const Eigen::VectorXd & position_ref(const TaskSE3 &self)
static void setReference(TaskSE3 &self, trajectories::TrajectorySample &ref)
static const Eigen::VectorXd & Kd(TaskSE3 &self)
static math::ConstraintEquality compute(TaskSE3 &self, const double t, const Eigen::VectorXd &q, const Eigen::VectorXd &v, pinocchio::Data &data)
static void expose(const std::string &class_name)
static void setKp(TaskSE3 &self, const ::Eigen::VectorXd Kp)
static const Eigen::VectorXd & Kp(TaskSE3 &self)
static const Eigen::VectorXd & getDesiredAcceleration(const TaskSE3 &self)
static math::ConstraintEquality getConstraint(const TaskSE3 &self)
static const Eigen::VectorXd & velocity(const TaskSE3 &self)