pinocchio 4.1.0
A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives
Loading...
Searching...
No Matches
loop-constrained-aba.hpp
1//
2// Copyright (c) 2024-2025 INRIA
3//
4
5#pragma once
6
7// IWYU pragma: begin_keep
8#include <cassert>
9#include <vector>
10#include <cstddef>
11#include <type_traits>
12#include <utility>
13
14#include <Eigen/Core>
15
16#include <boost/fusion/container/vector/vector.hpp>
17
18#include "pinocchio/utils/alloca.hpp"
19#include "pinocchio/utils/check.hpp"
20
21#include "pinocchio/macros.hpp"
22
23#include "pinocchio/math.hpp"
24#include "pinocchio/spatial.hpp"
25
26#include "pinocchio/multibody.hpp"
27#include "pinocchio/multibody/joint.hpp"
28
29#include "pinocchio/algorithm/check.hpp"
30#include "pinocchio/algorithm/proximal.hpp"
31#include "pinocchio/constraints.hpp"
32// IWYU pragma: end_keep
33
34namespace pinocchio
35{
36
65 template<
66 typename Scalar,
67 int Options,
68 template<typename, int> class JointCollectionTpl,
69 typename ConfigVectorType,
70 typename TangentVectorType1,
71 typename TangentVectorType2,
72 class ConstraintModel,
73 class ConstraintModelAllocator,
74 class ConstraintData,
75 class ConstraintDataAllocator>
76 PINOCCHIO_UNSUPPORTED_MESSAGE("The API will change towards more flexibility")
77 inline const typename DataTpl<Scalar, Options, JointCollectionTpl>::TangentVectorType & lcaba(
78 const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
79 DataTpl<Scalar, Options, JointCollectionTpl> & data,
80 const Eigen::MatrixBase<ConfigVectorType> & q,
81 const Eigen::MatrixBase<TangentVectorType1> & v,
82 const Eigen::MatrixBase<TangentVectorType2> & tau,
83 const std::vector<ConstraintModel, ConstraintModelAllocator> & constraint_models,
84 std::vector<ConstraintData, ConstraintDataAllocator> & constraint_datas,
85 ProximalSettingsTpl<Scalar> & settings);
86
87} // namespace pinocchio
88
89/* --- Details -------------------------------------------------------------------- */
90// IWYU pragma: begin_exports
91#include "pinocchio/src/algorithm/loop-constrained-aba.hxx"
92// IWYU pragma: end_exports
Main pinocchio namespace.
Definition treeview.dox:11
const DataTpl< Scalar, Options, JointCollectionTpl >::TangentVectorType & lcaba(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 std::vector< ConstraintModel, ConstraintModelAllocator > &constraint_models, std::vector< ConstraintData, ConstraintDataAllocator > &constraint_datas, ProximalSettingsTpl< Scalar > &settings)
The closed-loop constrained Articulated Body Algorithm (CLconstrainedABA). It computes constrained fo...