Go to the documentation of this file.
18 #ifndef __tsid_python_task_joint_posVelAcc_bounds_hpp__
19 #define __tsid_python_task_joint_posVelAcc_bounds_hpp__
33 template <
typename Task>
35 :
public boost::python::def_visitor<
36 TaskJointPosVelAccBoundsPythonVisitor<Task>> {
37 template <
class PyClass>
42 (bp::arg(
"name"), bp::arg(
"robot"), bp::arg(
"Time step"),
44 "Default Constructor"))
45 .add_property(
"dim", &Task::dim,
"return dimension size")
48 .def(
"setPositionBounds",
50 bp::args(
"lower",
"upper"))
51 .def(
"setVelocityBounds",
54 .def(
"setAccelerationBounds",
58 bp::args(
"t",
"q",
"v",
"data"))
63 .def(
"setImposeBounds",
65 bp::args(
"impose_position_bounds",
"impose_velocity_bounds",
66 "impose_viability_bounds",
"impose_acceleration_bounds"))
69 (bp::arg(
"q"), bp::arg(
"dq"), bp::arg(
"verbose") =
true))
70 .def(
"computeAccLimitsFromPosLimits",
73 (bp::arg(
"q"), bp::arg(
"dq"), bp::arg(
"verbose") =
true))
74 .def(
"computeAccLimitsFromViability",
77 (bp::arg(
"q"), bp::arg(
"dq"), bp::arg(
"verbose") =
true))
78 .def(
"computeAccLimits",
80 (bp::arg(
"q"), bp::arg(
"dq"), bp::arg(
"verbose") =
true))
84 "getAccelerationBounds",
87 bp::return_value_policy<bp::copy_const_reference>()))
92 bp::return_value_policy<bp::copy_const_reference>()))
94 "getPositionLowerBounds",
97 bp::return_value_policy<bp::copy_const_reference>()))
99 "getPositionUpperBounds",
102 bp::return_value_policy<bp::copy_const_reference>()))
105 static std::string
name(Task&
self) {
106 std::string
name =
self.name();
110 const Eigen::VectorXd&
q,
111 const Eigen::VectorXd&
v,
126 return self.getAccelerationBounds();
129 return self.getVelocityBounds();
132 return self.getPositionLowerBounds();
135 return self.getPositionUpperBounds();
138 return self.setTimeStep(
dt);
141 const Eigen::VectorXd upper) {
142 return self.setPositionBounds(lower, upper);
145 return self.setVelocityBounds(upper);
148 return self.setAccelerationBounds(upper);
150 static void expose(
const std::string& class_name) {
151 std::string doc =
"Task info.";
152 bp::class_<Task>(
class_name.c_str(), doc.c_str(), bp::no_init)
156 return self.setVerbose(
verbose);
159 bool impose_velocity_bounds,
160 bool impose_viability_bounds,
161 bool impose_acceleration_bounds) {
162 return self.setImposeBounds(impose_position_bounds, impose_velocity_bounds,
163 impose_viability_bounds,
164 impose_acceleration_bounds);
168 bool verbose =
true) {
173 bool verbose =
true) {
174 return self.computeAccLimitsFromPosLimits(
q,
dq,
verbose);
178 bool verbose =
true) {
179 return self.computeAccLimitsFromViability(
q,
dq,
verbose);
182 bool verbose =
true) {
186 return self.setMask(mask);
192 #endif // ifndef __tsid_python_task_actuation_bounds_hpp__
void init(bool compute_local_aabb=true)
static void computeAccLimitsFromViability(Task &self, ConstRefVector q, ConstRefVector dq, bool verbose=true)
static std::string name(Task &self)
static void setImposeBounds(Task &self, bool impose_position_bounds, bool impose_velocity_bounds, bool impose_viability_bounds, bool impose_acceleration_bounds)
static void setVelocityBounds(Task &self, const Eigen::VectorXd upper)
void visit(PyClass &cl) const
static void expose(const std::string &class_name)
static void isStateViable(Task &self, ConstRefVector q, ConstRefVector dq, bool verbose=true)
static void setTimeStep(Task &self, const double dt)
static const Eigen::VectorXd & getVelocityBounds(const Task &self)
static void computeAccLimits(Task &self, ConstRefVector q, ConstRefVector dq, bool verbose=true)
const typedef Eigen::Ref< const Vector > ConstRefVector
static void setVerbose(Task &self, bool verbose)
static const Eigen::VectorXd & getPositionUpperBounds(const Task &self)
Wrapper for a robot based on pinocchio.
static math::ConstraintBound compute(Task &self, const double t, const Eigen::VectorXd &q, const Eigen::VectorXd &v, pinocchio::Data &data)
static void setMask(Task &self, math::ConstRefVector mask)
static const Eigen::VectorXd & getPositionLowerBounds(const Task &self)
static math::ConstraintBound getConstraint(const Task &self)
math::ConstRefVector ConstRefVector
static void setPositionBounds(Task &self, const Eigen::VectorXd lower, const Eigen::VectorXd upper)
static void setAccelerationBounds(Task &self, const Eigen::VectorXd upper)
static void computeAccLimitsFromPosLimits(Task &self, ConstRefVector q, ConstRefVector dq, bool verbose=true)
static const Eigen::VectorXd & getAccelerationBounds(const Task &self)
tsid
Author(s): Andrea Del Prete, Justin Carpentier
autogenerated on Sat May 3 2025 02:48:17