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"
25 #include "pinocchio/multibody/visitor.hpp"
27 #include "pinocchio/algorithm/check.hpp"
55 template<
typename,
int>
class JointCollectionTpl,
56 typename ConfigVectorType,
57 typename TangentVectorType1,
58 typename TangentVectorType2>
59 const typename DataTpl<Scalar, Options, JointCollectionTpl>::TangentVectorType &
aba(
60 const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
61 DataTpl<Scalar, Options, JointCollectionTpl> & data,
62 const Eigen::MatrixBase<ConfigVectorType> & q,
63 const Eigen::MatrixBase<TangentVectorType1> & v,
64 const Eigen::MatrixBase<TangentVectorType2> & tau,
65 const Convention convention = Convention::LOCAL);
92 template<
typename,
int>
class JointCollectionTpl,
93 typename ConfigVectorType,
94 typename TangentVectorType1,
95 typename TangentVectorType2,
96 typename SpatialForce,
97 typename SpatialForceAllocator>
98 const typename DataTpl<Scalar, Options, JointCollectionTpl>::TangentVectorType &
aba(
99 const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
100 DataTpl<Scalar, Options, JointCollectionTpl> & data,
101 const Eigen::MatrixBase<ConfigVectorType> & q,
102 const Eigen::MatrixBase<TangentVectorType1> & v,
103 const Eigen::MatrixBase<TangentVectorType2> & tau,
104 const std::vector<SpatialForce, SpatialForceAllocator> & fext,
105 const Convention convention = Convention::LOCAL);
123 template<
typename,
int>
class JointCollectionTpl,
124 typename ConfigVectorType>
125 const typename DataTpl<Scalar, Options, JointCollectionTpl>::RowMatrixXs &
computeMinverse(
126 const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
127 DataTpl<Scalar, Options, JointCollectionTpl> & data,
128 const Eigen::MatrixBase<ConfigVectorType> & q);
143 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl>
144 const typename DataTpl<Scalar, Options, JointCollectionTpl>::RowMatrixXs &
computeMinverse(
145 const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
146 DataTpl<Scalar, Options, JointCollectionTpl> & data);
148 PINOCCHIO_DEFINE_ALGO_CHECKER(ABA);
153 #include "pinocchio/src/algorithm/aba.hxx"
Main pinocchio namespace.
const DataTpl< Scalar, Options, JointCollectionTpl >::TangentVectorType & aba(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 > &tau, const Convention convention=Convention::LOCAL)
The Articulated-Body algorithm. It computes the forward dynamics, aka the joint accelerations given t...
const DataTpl< Scalar, Options, JointCollectionTpl >::RowMatrixXs & computeMinverse(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< ConfigVectorType > &q)
Computes the inverse of the joint space inertia matrix using Articulated Body formulation.