pinocchio  3.7.0
A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives
 
Loading...
Searching...
No Matches
rnea.hpp
1//
2// Copyright (c) 2015-2020 CNRS INRIA
3//
4
5#ifndef __pinocchio_algorithm_rnea_hpp__
6#define __pinocchio_algorithm_rnea_hpp__
7
8#include "pinocchio/multibody/model.hpp"
9#include "pinocchio/multibody/data.hpp"
10
11namespace pinocchio
12{
30 template<
31 typename Scalar,
32 int Options,
33 template<typename, int> class JointCollectionTpl,
34 typename ConfigVectorType,
35 typename TangentVectorType1,
36 typename TangentVectorType2>
40 const Eigen::MatrixBase<ConfigVectorType> & q,
41 const Eigen::MatrixBase<TangentVectorType1> & v,
42 const Eigen::MatrixBase<TangentVectorType2> & a);
43
65 template<
66 typename Scalar,
67 int Options,
68 template<typename, int> class JointCollectionTpl,
69 typename ConfigVectorType,
70 typename TangentVectorType1,
71 typename TangentVectorType2,
72 typename ForceDerived>
76 const Eigen::MatrixBase<ConfigVectorType> & q,
77 const Eigen::MatrixBase<TangentVectorType1> & v,
78 const Eigen::MatrixBase<TangentVectorType2> & a,
79 const container::aligned_vector<ForceDerived> & fext);
80
99 template<
100 typename Scalar,
101 int Options,
102 template<typename, int> class JointCollectionTpl,
103 typename ConfigVectorType,
104 typename TangentVectorType>
108 const Eigen::MatrixBase<ConfigVectorType> & q,
109 const Eigen::MatrixBase<TangentVectorType> & v);
110
127 template<
128 typename Scalar,
129 int Options,
130 template<typename, int> class JointCollectionTpl,
131 typename ConfigVectorType>
136 const Eigen::MatrixBase<ConfigVectorType> & q);
137
157 template<
158 typename Scalar,
159 int Options,
160 template<typename, int> class JointCollectionTpl,
161 typename ConfigVectorType>
166 const Eigen::MatrixBase<ConfigVectorType> & q,
167 const container::aligned_vector<ForceTpl<Scalar, Options>> & fext);
168
187 template<
188 typename Scalar,
189 int Options,
190 template<typename, int> class JointCollectionTpl,
191 typename ConfigVectorType,
192 typename TangentVectorType>
193 const typename DataTpl<Scalar, Options, JointCollectionTpl>::MatrixXs & computeCoriolisMatrix(
196 const Eigen::MatrixBase<ConfigVectorType> & q,
197 const Eigen::MatrixBase<TangentVectorType> & v);
198
213 template<typename Scalar, int Options, template<typename, int> class JointCollectionTpl>
214 const typename DataTpl<Scalar, Options, JointCollectionTpl>::MatrixXs & getCoriolisMatrix(
217
218} // namespace pinocchio
219
220/* --- Details -------------------------------------------------------------------- */
221#include "pinocchio/algorithm/rnea.hxx"
222
223#if PINOCCHIO_ENABLE_TEMPLATE_INSTANTIATION
224 #include "pinocchio/algorithm/rnea.txx"
225#endif // PINOCCHIO_ENABLE_TEMPLATE_INSTANTIATION
226
227#endif // ifndef __pinocchio_algorithm_rnea_hpp__
Main pinocchio namespace.
Definition treeview.dox:11
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 >::TangentVectorType & computeStaticTorque(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< ConfigVectorType > &q, const container::aligned_vector< ForceTpl< Scalar, Options > > &fext)
Computes the generalized static torque contribution of the Lagrangian dynamics:
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 & 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),...
VectorXs TangentVectorType
Dense vectorized version of a joint tangent vector (e.g. velocity, acceleration, etc)....
Definition data.hpp:89