expose-centroidal-derivatives.cpp
Go to the documentation of this file.
1 //
2 // Copyright (c) 2019-2020 CNRS INRIA
3 //
4 
8 
9 #include <boost/python/tuple.hpp>
10 
11 namespace pinocchio
12 {
13  namespace python
14  {
15 
17  const context::Model & model,
19  const context::VectorXs & q,
20  const context::VectorXs & v,
21  const context::VectorXs & a)
22  {
24  Matrix6x partialh_dq(Matrix6x::Zero(6, model.nv));
25  Matrix6x partial_dq(Matrix6x::Zero(6, model.nv));
26  Matrix6x partial_dv(Matrix6x::Zero(6, model.nv));
27  Matrix6x partial_da(Matrix6x::Zero(6, model.nv));
28 
30  model, data, q, v, a, partialh_dq, partial_dq, partial_dv, partial_da);
31 
32  return bp::make_tuple(partialh_dq, partial_dq, partial_dv, partial_da);
33  }
34 
35  bp::tuple
37  {
39 
40  Matrix6x partialh_dq(Matrix6x::Zero(6, model.nv));
41  Matrix6x partial_dq(Matrix6x::Zero(6, model.nv));
42  Matrix6x partial_dv(Matrix6x::Zero(6, model.nv));
43  Matrix6x partial_da(Matrix6x::Zero(6, model.nv));
44 
46  model, data, partialh_dq, partial_dq, partial_dv, partial_da);
47  return bp::make_tuple(partialh_dq, partial_dq, partial_dv, partial_da);
48  }
49 
51  {
52  using namespace Eigen;
53 
54  bp::def(
55  "computeCentroidalDynamicsDerivatives", computeCentroidalDynamicsDerivatives_proxy,
56  bp::args("model", "data", "q", "v", "a"),
57  "Computes the analytical derivatives of the centroidal dynamics\n"
58  "with respect to the joint configuration vector, velocity and acceleration.",
60 
61  bp::def(
62  "getCentroidalDynamicsDerivatives", getCentroidalDynamicsDerivatives_proxy,
63  bp::args("model", "data"),
64  "Retrive the analytical derivatives of the centroidal dynamics\n"
65  "from the RNEA derivatives.\n"
66  "pinocchio.computeRNEADerivatives should have been called first.",
68  }
69 
70  } // namespace python
71 } // namespace pinocchio
Eigen
pinocchio::DataTpl
Definition: context/generic.hpp:25
setup.data
data
Definition: cmake/cython/setup.in.py:48
pinocchio::python::VectorXs
context::VectorXs VectorXs
Definition: admm-solver.cpp:30
pinocchio::python::computeCentroidalDynamicsDerivatives_proxy
bp::tuple computeCentroidalDynamicsDerivatives_proxy(const context::Model &model, context::Data &data, const context::VectorXs &q, const context::VectorXs &v, const context::VectorXs &a)
Definition: expose-centroidal-derivatives.cpp:16
algorithms.hpp
python
pinocchio::python::v
const Vector3Like & v
Definition: bindings/python/spatial/explog.hpp:66
pinocchio::python::exposeCentroidalDerivatives
void exposeCentroidalDerivatives()
Definition: expose-centroidal-derivatives.cpp:50
pinocchio::q
JointCollectionTpl const Eigen::MatrixBase< ConfigVectorType > & q
Definition: joint-configuration.hpp:1083
a
Vec3f a
Matrix6x
Eigen::Matrix< double, 6, Eigen::Dynamic > Matrix6x
Definition: joint-mimic.cpp:15
pinocchio::python::mimic_not_supported_function
Definition: model-checker.hpp:22
pinocchio::getCentroidalDynamicsDerivatives
void getCentroidalDynamicsDerivatives(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< Matrix6xLike1 > &dh_dq, const Eigen::MatrixBase< Matrix6xLike1 > &dhdot_dq, const Eigen::MatrixBase< Matrix6xLike2 > &dhdot_dv, const Eigen::MatrixBase< Matrix6xLike3 > &dhdot_da)
Retrive the analytical derivatives of the centroidal dynamics from the RNEA derivatives....
pinocchio::python::getCentroidalDynamicsDerivatives_proxy
bp::tuple getCentroidalDynamicsDerivatives_proxy(const context::Model &model, context::Data &data)
Definition: expose-centroidal-derivatives.cpp:36
centroidal-derivatives.hpp
pinocchio::DataTpl::Matrix6x
Eigen::Matrix< Scalar, 6, Eigen::Dynamic, Options > Matrix6x
The 6d jacobian type (temporary)
Definition: multibody/data.hpp:92
model-checker.hpp
pinocchio::ModelTpl
Definition: context/generic.hpp:20
pinocchio::computeCentroidalDynamicsDerivatives
void computeCentroidalDynamicsDerivatives(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< ConfigVectorType > &q, const Eigen::MatrixBase< TangentVectorType1 > &v, const Eigen::MatrixBase< TangentVectorType2 > &a, const Eigen::MatrixBase< Matrix6xLike0 > &dh_dq, const Eigen::MatrixBase< Matrix6xLike1 > &dhdot_dq, const Eigen::MatrixBase< Matrix6xLike2 > &dhdot_dv, const Eigen::MatrixBase< Matrix6xLike3 > &dhdot_da)
Computes the analytical derivatives of the centroidal dynamics with respect to the joint configuratio...
pinocchio::model
JointCollectionTpl & model
Definition: joint-configuration.hpp:1082
pinocchio
Main pinocchio namespace.
Definition: timings.cpp:33


pinocchio
Author(s):
autogenerated on Wed Apr 16 2025 02:41:46