pinocchio  3.7.0
A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives
 
Loading...
Searching...
No Matches
delassus.hpp
1//
2// Copyright (c) 2020-2024 INRIA
3// Copyright (c) 2023 KU Leuven
4//
5
6#ifndef __pinocchio_algorithm_contact_delassus_hpp__
7#define __pinocchio_algorithm_contact_delassus_hpp__
8
9#include "pinocchio/algorithm/contact-info.hpp"
10
11namespace pinocchio
12{
13
14 template<
15 typename Scalar,
16 int Options,
17 template<typename, int> class JointCollectionTpl,
18 class Allocator>
19 PINOCCHIO_UNSUPPORTED_MESSAGE("The API will change towards more flexibility")
20 inline void initPvDelassus(
21 const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
22 DataTpl<Scalar, Options, JointCollectionTpl> & data,
23 const std::vector<RigidConstraintModelTpl<Scalar, Options>, Allocator> & contact_models);
24
43 template<
44 typename Scalar,
45 int Options,
46 template<typename, int> class JointCollectionTpl,
47 typename ConfigVectorType,
48 class ModelAllocator,
49 class DataAllocator,
50 typename MatrixType>
51 PINOCCHIO_UNSUPPORTED_MESSAGE("The API will change towards more flexibility")
53 const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
54 DataTpl<Scalar, Options, JointCollectionTpl> & data,
55 const Eigen::MatrixBase<ConfigVectorType> & q,
56 const std::vector<RigidConstraintModelTpl<Scalar, Options>, ModelAllocator> & contact_models,
57 std::vector<RigidConstraintDataTpl<Scalar, Options>, DataAllocator> & contact_data,
59 const Scalar mu = 0);
60
85 typename Scalar,
86 int Options,
87 template<typename, int> class JointCollectionTpl,
88 typename ConfigVectorType,
92 PINOCCHIO_UNSUPPORTED_MESSAGE("The API will change towards more flexibility")
94 const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
95 DataTpl<Scalar, Options, JointCollectionTpl> & data,
96 const Eigen::MatrixBase<ConfigVectorType> & q,
97 const std::vector<RigidConstraintModelTpl<Scalar, Options>, ModelAllocator> & contact_models,
98 std::vector<RigidConstraintDataTpl<Scalar, Options>, DataAllocator> & contact_data,
100 const Scalar mu,
101 const bool scaled = false,
102 const bool Pv = true);
103
104} // namespace pinocchio
105
106#include "pinocchio/algorithm/delassus.hxx"
107
108#endif // ifndef __pinocchio_algorithm_contact_delassus_hpp__
Main pinocchio namespace.
Definition treeview.dox:11
void computeDampedDelassusMatrixInverse(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< ConfigVectorType > &q, const std::vector< RigidConstraintModelTpl< Scalar, Options >, ModelAllocator > &contact_models, std::vector< RigidConstraintDataTpl< Scalar, Options >, DataAllocator > &contact_data, const Eigen::MatrixBase< MatrixType > &damped_delassus_inverse, const Scalar mu, const bool scaled=false, const bool Pv=true)
Computes the inverse of the Delassus matrix associated to a set of given constraints.
void computeDelassusMatrix(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< ConfigVectorType > &q, const std::vector< RigidConstraintModelTpl< Scalar, Options >, ModelAllocator > &contact_models, std::vector< RigidConstraintDataTpl< Scalar, Options >, DataAllocator > &contact_data, const Eigen::MatrixBase< MatrixType > &delassus, const Scalar mu=0)
Computes the Delassus matrix associated to a set of given constraints.