pinocchio  3.6.0
A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives
centroidal.hpp
1 //
2 // Copyright (c) 2015-2019 CNRS INRIA
3 //
4 
5 #ifndef __pinocchio_algorithm_centroidal_hpp__
6 #define __pinocchio_algorithm_centroidal_hpp__
7 
8 #include "pinocchio/multibody/model.hpp"
9 #include "pinocchio/multibody/data.hpp"
10 #include "pinocchio/algorithm/kinematics.hpp"
11 
12 namespace pinocchio
13 {
14 
29  template<typename Scalar, int Options, template<typename, int> class JointCollectionTpl>
33 
52  template<
53  typename Scalar,
54  int Options,
55  template<typename, int> class JointCollectionTpl,
56  typename ConfigVectorType,
57  typename TangentVectorType>
61  const Eigen::MatrixBase<ConfigVectorType> & q,
62  const Eigen::MatrixBase<TangentVectorType> & v);
63 
81  template<typename Scalar, int Options, template<typename, int> class JointCollectionTpl>
86 
110  template<
111  typename Scalar,
112  int Options,
113  template<typename, int> class JointCollectionTpl,
114  typename ConfigVectorType,
115  typename TangentVectorType1,
116  typename TangentVectorType2>
121  const Eigen::MatrixBase<ConfigVectorType> & q,
122  const Eigen::MatrixBase<TangentVectorType1> & v,
123  const Eigen::MatrixBase<TangentVectorType2> & a);
124 
144  template<
145  typename Scalar,
146  int Options,
147  template<typename, int> class JointCollectionTpl,
148  typename ConfigVectorType,
149  typename TangentVectorType>
153  const Eigen::MatrixBase<ConfigVectorType> & q,
154  const Eigen::MatrixBase<TangentVectorType> & v);
155 
171  template<
172  typename Scalar,
173  int Options,
174  template<typename, int> class JointCollectionTpl,
175  typename ConfigVectorType>
179  const Eigen::MatrixBase<ConfigVectorType> & q);
180 
203  template<
204  typename Scalar,
205  int Options,
206  template<typename, int> class JointCollectionTpl,
207  typename ConfigVectorType,
208  typename TangentVectorType>
212  const Eigen::MatrixBase<ConfigVectorType> & q,
213  const Eigen::MatrixBase<TangentVectorType> & v);
214 
233  template<
234  typename Scalar,
235  int Options,
236  template<typename, int> class JointCollectionTpl,
237  typename ConfigVectorType,
238  typename TangentVectorType>
243  const Eigen::MatrixBase<ConfigVectorType> & q,
244  const Eigen::MatrixBase<TangentVectorType> & v);
245 
246 } // namespace pinocchio
247 
248 /* --- Details -------------------------------------------------------------------- */
249 #include "pinocchio/algorithm/centroidal.hxx"
250 
251 #if PINOCCHIO_ENABLE_TEMPLATE_INSTANTIATION
252  #include "pinocchio/algorithm/centroidal.txx"
253 #endif // PINOCCHIO_ENABLE_TEMPLATE_INSTANTIATION
254 
255 #endif // ifndef __pinocchio_algorithm_centroidal_hpp__
Main pinocchio namespace.
Definition: treeview.dox:11
const DataTpl< Scalar, Options, JointCollectionTpl >::Force & computeCentroidalMomentumTimeVariation(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data)
Computes the Centroidal momemtum and its time derivatives, a.k.a. the total momenta of the system and...
const DataTpl< Scalar, Options, JointCollectionTpl >::Matrix6x & dccrba(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< ConfigVectorType > &q, const Eigen::MatrixBase< TangentVectorType > &v)
Computes the time derivative of the Centroidal Momentum Matrix according to the current configuration...
const DataTpl< Scalar, Options, JointCollectionTpl >::Matrix6x & computeCentroidalMapTimeVariation(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< ConfigVectorType > &q, const Eigen::MatrixBase< TangentVectorType > &v)
Computes the Centroidal Momentum Matrix time derivative.
const DataTpl< Scalar, Options, JointCollectionTpl >::Matrix6x & ccrba(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< ConfigVectorType > &q, const Eigen::MatrixBase< TangentVectorType > &v)
Computes the Centroidal Momentum Matrix, the Composite Ridig Body Inertia as well as the centroidal m...
const DataTpl< Scalar, Options, JointCollectionTpl >::Matrix6x & computeCentroidalMap(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< ConfigVectorType > &q)
Computes the Centroidal Momentum Matrix.
const DataTpl< Scalar, Options, JointCollectionTpl >::Force & computeCentroidalMomentum(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data)
Computes the Centroidal momentum, a.k.a. the total momenta of the system expressed around the center ...
Eigen::Matrix< Scalar, 6, Eigen::Dynamic, Options > Matrix6x
The 6d jacobian type (temporary)
Definition: data.hpp:92