14#include <boost/fusion/container/vector.hpp> 16#include "pinocchio/macros.hpp" 17#include "pinocchio/eigen-common.hpp" 19#include "pinocchio/math.hpp" 21#include "pinocchio/spatial.hpp" 23#include "pinocchio/multibody.hpp" 24#include "pinocchio/multibody/joint.hpp" 26#include "pinocchio/algorithm/check.hpp" 51 template<
typename,
int>
class JointCollectionTpl,
52 typename ConfigVectorType,
53 typename TangentVectorType1,
54 typename TangentVectorType2>
55 const typename DataTpl<Scalar, Options, JointCollectionTpl>::TangentVectorType &
rnea(
56 const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
57 DataTpl<Scalar, Options, JointCollectionTpl> & data,
58 const Eigen::MatrixBase<ConfigVectorType> & q,
59 const Eigen::MatrixBase<TangentVectorType1> & v,
60 const Eigen::MatrixBase<TangentVectorType2> & a);
86 template<
typename,
int>
class JointCollectionTpl,
87 typename ConfigVectorType,
88 typename TangentVectorType1,
89 typename TangentVectorType2,
90 typename ForceDerived>
91 const typename DataTpl<Scalar, Options, JointCollectionTpl>::TangentVectorType &
rnea(
92 const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
93 DataTpl<Scalar, Options, JointCollectionTpl> & data,
94 const Eigen::MatrixBase<ConfigVectorType> & q,
95 const Eigen::MatrixBase<TangentVectorType1> & v,
96 const Eigen::MatrixBase<TangentVectorType2> & a,
97 const std::vector<ForceDerived> & fext);
120 template<
typename,
int>
class JointCollectionTpl,
121 typename ConfigVectorType,
122 typename TangentVectorType>
123 const typename DataTpl<Scalar, Options, JointCollectionTpl>::TangentVectorType &
nonLinearEffects(
124 const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
125 DataTpl<Scalar, Options, JointCollectionTpl> & data,
126 const Eigen::MatrixBase<ConfigVectorType> & q,
127 const Eigen::MatrixBase<TangentVectorType> & v);
148 template<
typename,
int>
class JointCollectionTpl,
149 typename ConfigVectorType>
150 const typename DataTpl<Scalar, Options, JointCollectionTpl>::TangentVectorType &
152 const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
153 DataTpl<Scalar, Options, JointCollectionTpl> & data,
154 const Eigen::MatrixBase<ConfigVectorType> & q);
178 template<
typename,
int>
class JointCollectionTpl,
179 typename ConfigVectorType>
180 const typename DataTpl<Scalar, Options, JointCollectionTpl>::TangentVectorType &
182 const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
183 DataTpl<Scalar, Options, JointCollectionTpl> & data,
184 const Eigen::MatrixBase<ConfigVectorType> & q,
185 const std::vector<ForceTpl<Scalar, Options>> & fext);
208 template<
typename,
int>
class JointCollectionTpl,
209 typename ConfigVectorType,
210 typename TangentVectorType>
212 const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
213 DataTpl<Scalar, Options, JointCollectionTpl> & data,
214 const Eigen::MatrixBase<ConfigVectorType> & q,
215 const Eigen::MatrixBase<TangentVectorType> & v);
231 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl>
233 const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
234 DataTpl<Scalar, Options, JointCollectionTpl> & data);
239#include "pinocchio/src/algorithm/rnea.hxx" Main pinocchio namespace.
const DataTpl< Scalar, Options, JointCollectionTpl >::TangentVectorType & rnea(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)
The Recursive Newton-Euler algorithm. It computes the inverse dynamics, aka the joint torques accordi...
const DataTpl< Scalar, Options, JointCollectionTpl >::MatrixXs & computeCoriolisMatrix(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< ConfigVectorType > &q, const Eigen::MatrixBase< TangentVectorType > &v)
Computes the Coriolis Matrix of the Lagrangian dynamics:
const DataTpl< Scalar, Options, JointCollectionTpl >::TangentVectorType & computeStaticTorque(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< ConfigVectorType > &q, const std::vector< ForceTpl< Scalar, Options > > &fext)
Computes the generalized static torque contribution of the Lagrangian dynamics:
const DataTpl< Scalar, Options, JointCollectionTpl >::TangentVectorType & computeGeneralizedGravity(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< ConfigVectorType > &q)
Computes the generalized gravity contribution of the Lagrangian dynamics:
const DataTpl< Scalar, Options, JointCollectionTpl >::MatrixXs & getCoriolisMatrix(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data)
Retrives the Coriolis Matrix of the Lagrangian dynamics:
const DataTpl< Scalar, Options, JointCollectionTpl >::TangentVectorType & nonLinearEffects(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< ConfigVectorType > &q, const Eigen::MatrixBase< TangentVectorType > &v)
Computes the non-linear effects (Corriolis, centrifual and gravitationnal effects),...