bindings/python/tasks/task-contact-force-equality.hpp
Go to the documentation of this file.
1 //
2 // Copyright (c) 2021 LAAS-CNRS, University of Trento
3 //
4 // This file is part of tsid
5 // tsid is free software: you can redistribute it
6 // and/or modify it under the terms of the GNU Lesser General Public
7 // License as published by the Free Software Foundation, either version
8 // 3 of the License, or (at your option) any later version.
9 // tsid is distributed in the hope that it will be
10 // useful, but WITHOUT ANY WARRANTY; without even the implied warranty
11 // of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 // General Lesser Public License for more details. You should have
13 // received a copy of the GNU Lesser General Public License along with
14 // tsid If not, see
15 // <http://www.gnu.org/licenses/>.
16 //
17 
18 #ifndef __tsid_python_task_contact_force_equality_hpp__
19 #define __tsid_python_task_contact_force_equality_hpp__
20 
22 
28 namespace tsid {
29 namespace python {
30 namespace bp = boost::python;
31 
32 template <typename TaskContactForceEquality>
34  : public boost::python::def_visitor<
35  TaskContactForceEqualityPythonVisitor<TaskContactForceEquality> > {
36  template <class PyClass>
37 
38  void visit(PyClass &cl) const {
39  cl.def(
40  bp::init<std::string, robots::RobotWrapper &, double,
41  contacts::ContactBase &>((bp::arg("name"), bp::arg("robot"),
42  bp::arg("dt"), bp::arg("contact")),
43  "Default Constructor"))
44  .add_property("dim", &TaskContactForceEquality::dim,
45  "return dimension size")
46  .def("setReference",
48  bp::arg("ref"))
49  .def("setExternalForce",
51  bp::arg("f_ext"))
53  bp::args("t", "q", "v", "data"))
54  .def("getConstraint",
56  .add_property("name", &TaskContactForceEqualityPythonVisitor::name)
57  .add_property("Kp",
58  bp::make_function(
60  bp::return_value_policy<bp::copy_const_reference>()))
61  .add_property("Kd",
62  bp::make_function(
64  bp::return_value_policy<bp::copy_const_reference>()))
65  .add_property("Ki",
66  bp::make_function(
68  bp::return_value_policy<bp::copy_const_reference>()))
69  .add_property("getLeakRate",
70  bp::make_function(
72  bp::return_value_policy<bp::copy_const_reference>()))
74  bp::arg("Kp"))
76  bp::arg("Kd"))
78  bp::arg("Ki"))
80  bp::arg("leak"));
81  }
82  static std::string name(TaskContactForceEquality &self) {
83  std::string name = self.name();
84  return name;
85  }
86  static math::ConstraintEquality compute(TaskContactForceEquality &self,
87  const double t,
88  const Eigen::VectorXd &q,
89  const Eigen::VectorXd &v,
91  self.compute(t, q, v, data);
93  self.getConstraint().matrix(),
94  self.getConstraint().vector());
95  return cons;
96  }
98  const TaskContactForceEquality &self) {
100  self.getConstraint().matrix(),
101  self.getConstraint().vector());
102  return cons;
103  }
104  static void setReference(TaskContactForceEquality &self,
106  self.setReference(ref);
107  }
108  static void setExternalForce(TaskContactForceEquality &self,
110  self.setExternalForce(f_ext);
111  }
112  static const Eigen::VectorXd &Kp(TaskContactForceEquality &self) {
113  return self.Kp();
114  }
115  static const Eigen::VectorXd &Kd(TaskContactForceEquality &self) {
116  return self.Kd();
117  }
118  static const Eigen::VectorXd &Ki(TaskContactForceEquality &self) {
119  return self.Ki();
120  }
121  static const double &getLeakRate(TaskContactForceEquality &self) {
122  return self.getLeakRate();
123  }
124  static void setKp(TaskContactForceEquality &self,
125  const ::Eigen::VectorXd Kp) {
126  return self.Kp(Kp);
127  }
128  static void setKd(TaskContactForceEquality &self,
129  const ::Eigen::VectorXd Kd) {
130  return self.Kd(Kd);
131  }
132  static void setKi(TaskContactForceEquality &self,
133  const ::Eigen::VectorXd Ki) {
134  return self.Ki(Ki);
135  }
136  static void setLeakRate(TaskContactForceEquality &self, const double leak) {
137  return self.setLeakRate(leak);
138  }
139  static void expose(const std::string &class_name) {
140  std::string doc = "TaskContactForceEqualityPythonVisitor info.";
141  bp::class_<TaskContactForceEquality>(class_name.c_str(), doc.c_str(),
142  bp::no_init)
144  }
145 };
146 } // namespace python
147 } // namespace tsid
148 
149 #endif // ifndef __tsid_python_task_contact_force_equality_hpp__
demo_quadruped.v
v
Definition: demo_quadruped.py:80
init
void init(bool compute_local_aabb=true)
tsid::python::TaskContactForceEqualityPythonVisitor::setKd
static void setKd(TaskContactForceEquality &self, const ::Eigen::VectorXd Kd)
Definition: bindings/python/tasks/task-contact-force-equality.hpp:128
boost::python
tsid::contacts::ContactBase
Base template of a Contact.
Definition: contact-base.hpp:31
class_name
str class_name(str s)
tsid::trajectories::TrajectorySample
Definition: trajectories/trajectory-base.hpp:33
pinocchio::DataTpl
tsid::math::ConstraintEquality
Definition: math/constraint-equality.hpp:26
tsid::python::TaskContactForceEqualityPythonVisitor::setReference
static void setReference(TaskContactForceEquality &self, trajectories::TrajectorySample &ref)
Definition: bindings/python/tasks/task-contact-force-equality.hpp:104
tsid::python::TaskContactForceEqualityPythonVisitor::setKp
static void setKp(TaskContactForceEquality &self, const ::Eigen::VectorXd Kp)
Definition: bindings/python/tasks/task-contact-force-equality.hpp:124
task-contact-force-equality.hpp
ref
list ref
setup.data
data
Definition: setup.in.py:48
constraint-equality.hpp
tsid::python::TaskContactForceEqualityPythonVisitor::Kd
static const Eigen::VectorXd & Kd(TaskContactForceEquality &self)
Definition: bindings/python/tasks/task-contact-force-equality.hpp:115
tsid::python::TaskContactForceEqualityPythonVisitor::name
static std::string name(TaskContactForceEquality &self)
Definition: bindings/python/tasks/task-contact-force-equality.hpp:82
tsid::python::TaskContactForceEqualityPythonVisitor::setLeakRate
static void setLeakRate(TaskContactForceEquality &self, const double leak)
Definition: bindings/python/tasks/task-contact-force-equality.hpp:136
trajectory-base.hpp
demo_quadruped.q
q
Definition: demo_quadruped.py:74
robot-wrapper.hpp
python
tsid::python::TaskContactForceEqualityPythonVisitor
Definition: bindings/python/tasks/task-contact-force-equality.hpp:33
tsid::python::TaskContactForceEqualityPythonVisitor::Ki
static const Eigen::VectorXd & Ki(TaskContactForceEquality &self)
Definition: bindings/python/tasks/task-contact-force-equality.hpp:118
constraint-base.hpp
demo_quadruped.vector
vector
Definition: demo_quadruped.py:49
tsid::python::TaskContactForceEqualityPythonVisitor::compute
static math::ConstraintEquality compute(TaskContactForceEquality &self, const double t, const Eigen::VectorXd &q, const Eigen::VectorXd &v, pinocchio::Data &data)
Definition: bindings/python/tasks/task-contact-force-equality.hpp:86
tsid::python::TaskContactForceEqualityPythonVisitor::visit
void visit(PyClass &cl) const
Definition: bindings/python/tasks/task-contact-force-equality.hpp:38
tsid::python::TaskContactForceEqualityPythonVisitor::getLeakRate
static const double & getLeakRate(TaskContactForceEquality &self)
Definition: bindings/python/tasks/task-contact-force-equality.hpp:121
tsid::python::TaskContactForceEqualityPythonVisitor::getConstraint
static math::ConstraintEquality getConstraint(const TaskContactForceEquality &self)
Definition: bindings/python/tasks/task-contact-force-equality.hpp:97
tsid::python::TaskContactForceEqualityPythonVisitor::expose
static void expose(const std::string &class_name)
Definition: bindings/python/tasks/task-contact-force-equality.hpp:139
tsid
Definition: bindings/python/constraint/constraint-bound.cpp:21
tsid::robots::RobotWrapper
Wrapper for a robot based on pinocchio.
Definition: robots/robot-wrapper.hpp:37
tsid::python::TaskContactForceEqualityPythonVisitor::setExternalForce
static void setExternalForce(TaskContactForceEquality &self, trajectories::TrajectorySample &f_ext)
Definition: bindings/python/tasks/task-contact-force-equality.hpp:108
cl
cl
tsid::python::TaskContactForceEqualityPythonVisitor::Kp
static const Eigen::VectorXd & Kp(TaskContactForceEquality &self)
Definition: bindings/python/tasks/task-contact-force-equality.hpp:112
fwd.hpp
t
Transform3f t
tsid::python::TaskContactForceEqualityPythonVisitor::setKi
static void setKi(TaskContactForceEquality &self, const ::Eigen::VectorXd Ki)
Definition: bindings/python/tasks/task-contact-force-equality.hpp:132


tsid
Author(s): Andrea Del Prete, Justin Carpentier
autogenerated on Thu Apr 3 2025 02:47:16