pinocchio  3.7.0
A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives
 
Loading...
Searching...
No Matches
centroidal-derivatives.hpp
1//
2// Copyright (c) 2018-2021 INRIA
3//
4
5#ifndef __pinocchio_algorithm_centroidal_derivatives_hpp__
6#define __pinocchio_algorithm_centroidal_derivatives_hpp__
7
8#include "pinocchio/multibody/model.hpp"
9#include "pinocchio/multibody/data.hpp"
10#include "pinocchio/algorithm/check.hpp"
11
12namespace pinocchio
13{
14
47 template<
48 typename Scalar,
49 int Options,
50 template<typename, int> class JointCollectionTpl,
51 typename ConfigVectorType,
52 typename TangentVectorType1,
53 typename TangentVectorType2,
54 typename Matrix6xLike0,
55 typename Matrix6xLike1,
56 typename Matrix6xLike2,
57 typename Matrix6xLike3>
61 const Eigen::MatrixBase<ConfigVectorType> & q,
62 const Eigen::MatrixBase<TangentVectorType1> & v,
63 const Eigen::MatrixBase<TangentVectorType2> & a,
64 const Eigen::MatrixBase<Matrix6xLike0> & dh_dq,
65 const Eigen::MatrixBase<Matrix6xLike1> & dhdot_dq,
66 const Eigen::MatrixBase<Matrix6xLike2> & dhdot_dv,
67 const Eigen::MatrixBase<Matrix6xLike3> & dhdot_da);
93 template<
94 typename Scalar,
95 int Options,
96 template<typename, int> class JointCollectionTpl,
97 typename Matrix6xLike0,
98 typename Matrix6xLike1,
99 typename Matrix6xLike2,
100 typename Matrix6xLike3>
104 const Eigen::MatrixBase<Matrix6xLike1> & dh_dq,
105 const Eigen::MatrixBase<Matrix6xLike1> & dhdot_dq,
106 const Eigen::MatrixBase<Matrix6xLike2> & dhdot_dv,
107 const Eigen::MatrixBase<Matrix6xLike3> & dhdot_da);
108
109} // namespace pinocchio
110
111/* --- Details -------------------------------------------------------------------- */
112#include "pinocchio/algorithm/centroidal-derivatives.hxx"
113
114#if PINOCCHIO_ENABLE_TEMPLATE_INSTANTIATION
115 #include "pinocchio/algorithm/centroidal-derivatives.txx"
116#endif // PINOCCHIO_ENABLE_TEMPLATE_INSTANTIATION
117
118#endif // ifndef __pinocchio_algorithm_centroidal_derivatives_hpp__
Main pinocchio namespace.
Definition treeview.dox:11
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....
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...