18 #ifndef __tsid_python_task_se3_hpp__
19 #define __tsid_python_task_se3_hpp__
30 namespace bp = boost::python;
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)
Definition: constraint-equality.hpp:26
Definition: trajectory-base.hpp:33
Definition: constraint-bound.hpp:25
Definition: task-se3-equality.hpp:35
static void setReference(TaskSE3 &self, trajectories::TrajectorySample &ref)
Definition: task-se3-equality.hpp:120
static Eigen::VectorXd frame_id(TaskSE3 &self)
Definition: task-se3-equality.hpp:163
static const Eigen::VectorXd & position(const TaskSE3 &self)
Definition: task-se3-equality.hpp:136
static const Eigen::VectorXd & velocity_ref(const TaskSE3 &self)
Definition: task-se3-equality.hpp:145
static math::ConstraintEquality compute(TaskSE3 &self, const double t, const Eigen::VectorXd &q, const Eigen::VectorXd &v, pinocchio::Data &data)
Definition: task-se3-equality.hpp:104
static std::string name(TaskSE3 &self)
Definition: task-se3-equality.hpp:100
static void setKp(TaskSE3 &self, const ::Eigen::VectorXd Kp)
Definition: task-se3-equality.hpp:150
void visit(PyClass &cl) const
Definition: task-se3-equality.hpp:38
static Eigen::VectorXd getAcceleration(TaskSE3 &self, const Eigen::VectorXd dv)
Definition: task-se3-equality.hpp:126
static void useLocalFrame(TaskSE3 &self, const bool local_frame)
Definition: task-se3-equality.hpp:156
static void setMask(TaskSE3 &self, const ::Eigen::VectorXd mask)
Definition: task-se3-equality.hpp:160
static void expose(const std::string &class_name)
Definition: task-se3-equality.hpp:164
static const Eigen::VectorXd & getDesiredAcceleration(const TaskSE3 &self)
Definition: task-se3-equality.hpp:123
static const Eigen::VectorXd & position_ref(const TaskSE3 &self)
Definition: task-se3-equality.hpp:142
static const Eigen::VectorXd & velocity(const TaskSE3 &self)
Definition: task-se3-equality.hpp:139
static void getMask(TaskSE3 &self)
Definition: task-se3-equality.hpp:159
static const Eigen::VectorXd & Kp(TaskSE3 &self)
Definition: task-se3-equality.hpp:148
static void setKd(TaskSE3 &self, const ::Eigen::VectorXd Kv)
Definition: task-se3-equality.hpp:153
static const Eigen::VectorXd & Kd(TaskSE3 &self)
Definition: task-se3-equality.hpp:149
static const Eigen::VectorXd & position_error(const TaskSE3 &self)
Definition: task-se3-equality.hpp:130
static math::ConstraintEquality getConstraint(const TaskSE3 &self)
Definition: task-se3-equality.hpp:114
static const Eigen::VectorXd & velocity_error(const TaskSE3 &self)
Definition: task-se3-equality.hpp:133