$darkmode
pinocchio 4.0.0
A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives
crba.hpp
1 //
2 // Copyright (c) 2015-2021 CNRS INRIA
3 //
4 
5 #pragma once
6 
7 // IWYU pragma: begin_keep
8 #include <Eigen/Core>
9 
10 #include <cassert>
11 #include <cstddef>
12 
13 #include <boost/fusion/container/vector.hpp>
14 
15 #include "pinocchio/macros.hpp"
16 #include "pinocchio/eigen-common.hpp"
17 
18 #include "pinocchio/math.hpp"
19 
20 #include "pinocchio/spatial.hpp"
21 
22 #include "pinocchio/multibody.hpp"
23 #include "pinocchio/multibody/joint.hpp"
24 #include "pinocchio/multibody/visitor.hpp"
25 
26 #include "pinocchio/algorithm/check.hpp"
27 // IWYU pragma: end_keep
28 
29 namespace pinocchio
30 {
59  template<
60  typename Scalar,
61  int Options,
62  template<typename, int> class JointCollectionTpl,
63  typename ConfigVectorType>
64  const typename DataTpl<Scalar, Options, JointCollectionTpl>::MatrixXs & crba(
65  const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
66  DataTpl<Scalar, Options, JointCollectionTpl> & data,
67  const Eigen::MatrixBase<ConfigVectorType> & q,
68  const Convention convention = Convention::LOCAL);
69 
70  PINOCCHIO_DEFINE_ALGO_CHECKER(CRBA);
71 
72 } // namespace pinocchio
73 // IWYU pragma: begin_exports
74 #include "pinocchio/src/algorithm/crba.hxx"
75 // IWYU pragma: end_exports
Main pinocchio namespace.
Definition: treeview.dox:11
const DataTpl< Scalar, Options, JointCollectionTpl >::MatrixXs & crba(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< ConfigVectorType > &q, const Convention convention=Convention::LOCAL)
Computes the upper triangular part of the joint space inertia matrix M by using the Composite Rigid B...