tsid 1.9.0
Efficient Task Space Inverse Dynamics for Multi-body Systems based on Pinocchio
Loading...
Searching...
No Matches
trajectory-base.hpp
Go to the documentation of this file.
1//
2// Copyright (c) 2018 CNRS
3//
4
5#ifndef __tsid_python_traj_sample_hpp__
6#define __tsid_python_traj_sample_hpp__
7
9
10#include <tsid/math/utils.hpp>
12
13#include <pinocchio/bindings/python/utils/deprecation.hpp>
14#include <assert.h>
15namespace tsid {
16namespace python {
17namespace bp = boost::python;
18typedef pinocchio::SE3 SE3;
19
20template <typename TrajSample>
22 : public boost::python::def_visitor<
23 TrajectorySamplePythonVisitor<TrajSample> > {
24 template <class PyClass>
25
26 void visit(PyClass& cl) const {
27 cl.def(bp::init<unsigned int>((bp::arg("size")),
28 "Default Constructor with size"))
29 .def(bp::init<unsigned int, unsigned int>(
30 (bp::arg("value_size"), bp::arg("derivative_size")),
31 "Default Constructor with value and derivative size"))
32
33 .def("resize", &TrajectorySamplePythonVisitor::resize, bp::arg("size"))
35 bp::args("value_size", "derivative_size"))
36
39 .def("second_derivative",
41
45 .def("second_derivative",
47
48 // Deprecated methods:
51 "This method is now deprecated. Please use .value"))
54 "This method is now deprecated. Please use .derivative"))
55 .def(
58 "This method is now deprecated. Please use .second_derivative"))
59
62 "This method is now deprecated. Please use .value"))
65 "This method is now deprecated. Please use .value"))
68 "This method is now deprecated. Please use .derivative"))
71 "This method is now deprecated. Please use "
72 ".second_derivative"));
73 }
74
75 static void setvalue_vec(TrajSample& self, const Eigen::VectorXd value) {
76 assert(self.getValue().size() == value.size());
77 self.setValue(value);
78 }
79 static void setvalue_se3(TrajSample& self, const pinocchio::SE3& value) {
80 assert(self.getValue().size() == 12);
85 }
86 static void setderivative(TrajSample& self,
87 const Eigen::VectorXd derivative) {
88 assert(self.getDerivative().size() == derivative.size());
89 self.setDerivative(derivative);
90 }
91 static void setsecond_derivative(TrajSample& self,
92 const Eigen::VectorXd second_derivative) {
93 assert(self.getSecondDerivative().size() == second_derivative.size());
94 self.setSecondDerivative(second_derivative);
95 }
96 static void resize(TrajSample& self, const unsigned int& size) {
97 self.resize(size, size);
98 }
99 static void resize2(TrajSample& self, const unsigned int& value_size,
100 const unsigned int& derivative_size) {
101 self.resize(value_size, derivative_size);
102 }
103 static Eigen::VectorXd value(const TrajSample& self) {
104 return self.getValue();
105 }
106 static Eigen::VectorXd derivative(const TrajSample& self) {
107 return self.getDerivative();
108 }
109 static Eigen::VectorXd second_derivative(const TrajSample& self) {
110 return self.getSecondDerivative();
111 }
112
113 static void expose(const std::string& class_name) {
114 std::string doc = "Trajectory Sample info.";
115 bp::class_<TrajSample>(class_name.c_str(), doc.c_str(), bp::no_init)
117 }
118};
119} // namespace python
120} // namespace tsid
121
122#endif // ifndef __tsid_python_traj_euclidian_hpp__
#define TSID_DISABLE_WARNING_PUSH
Definition macros.hpp:27
#define TSID_DISABLE_WARNING_DEPRECATED
Definition macros.hpp:29
#define TSID_DISABLE_WARNING_POP
Definition macros.hpp:28
void SE3ToVector(const pinocchio::SE3 &M, RefVector vec)
Definition utils.cpp:17
Definition constraint-bound.hpp:26
pinocchio::SE3 SE3
Definition trajectory-base.hpp:18
Definition constraint-bound.hpp:25
Definition trajectory-base.hpp:23
static void expose(const std::string &class_name)
Definition trajectory-base.hpp:113
static Eigen::VectorXd value(const TrajSample &self)
Definition trajectory-base.hpp:103
static void resize2(TrajSample &self, const unsigned int &value_size, const unsigned int &derivative_size)
Definition trajectory-base.hpp:99
static void setderivative(TrajSample &self, const Eigen::VectorXd derivative)
Definition trajectory-base.hpp:86
static Eigen::VectorXd derivative(const TrajSample &self)
Definition trajectory-base.hpp:106
static void resize(TrajSample &self, const unsigned int &size)
Definition trajectory-base.hpp:96
static void setvalue_se3(TrajSample &self, const pinocchio::SE3 &value)
Definition trajectory-base.hpp:79
void visit(PyClass &cl) const
Definition trajectory-base.hpp:26
static void setvalue_vec(TrajSample &self, const Eigen::VectorXd value)
Definition trajectory-base.hpp:75
static void setsecond_derivative(TrajSample &self, const Eigen::VectorXd second_derivative)
Definition trajectory-base.hpp:91
static Eigen::VectorXd second_derivative(const TrajSample &self)
Definition trajectory-base.hpp:109