aligator
0.19.0
A versatile and efficient C++ library for real-time constrained trajectory optimization.
Toggle main menu visibility
Loading...
Searching...
No Matches
centroidal-momentum-derivative.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include "
./fwd.hpp
"
4
#include "
aligator/core/function-abstract.hpp
"
5
6
#include <pinocchio/multibody/model.hpp>
7
8
namespace
aligator
{
9
10
template
<
typename
Scalar>
struct
CentroidalMomentumDerivativeDataTpl
;
11
16
template
<
typename
_Scalar>
17
struct
CentroidalMomentumDerivativeResidualTpl
:
StageFunctionTpl
<_Scalar> {
18
public
:
19
using
Scalar
= _Scalar;
20
ALIGATOR_DYNAMIC_TYPEDEFS
(
Scalar
);
21
using
Base
=
StageFunctionTpl<Scalar>
;
22
using
BaseData
=
typename
Base::Data
;
23
using
Model
= pinocchio::ModelTpl<Scalar>;
24
using
SE3
= pinocchio::SE3Tpl<Scalar>;
25
using
Data
=
CentroidalMomentumDerivativeDataTpl<Scalar>
;
26
27
Model
pin_model_
;
28
double
mass_
;
29
Vector3s
gravity_
;
30
std::vector<bool>
contact_states_
;
31
std::vector<pinocchio::FrameIndex>
contact_ids_
;
32
int
force_size_
;
33
34
CentroidalMomentumDerivativeResidualTpl
(
35
const
int
ndx,
const
Model
&model,
const
Vector3s &gravity,
36
const
std::vector<bool> &contact_states,
37
const
std::vector<pinocchio::FrameIndex> &contact_ids,
38
const
int
force_size);
39
40
void
evaluate
(
const
ConstVectorRef &x,
const
ConstVectorRef &u,
41
BaseData
&data)
const
;
42
43
void
computeJacobians
(
const
ConstVectorRef &x,
const
ConstVectorRef &u,
44
BaseData
&data)
const
;
45
46
shared_ptr<BaseData>
createData
()
const
{
47
return
std::make_shared<Data>(
this
);
48
}
49
};
50
51
template
<
typename
Scalar>
52
struct
CentroidalMomentumDerivativeDataTpl
:
StageFunctionDataTpl
<Scalar> {
53
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
54
using
Base
=
StageFunctionDataTpl<Scalar>
;
55
using
PinData
= pinocchio::DataTpl<Scalar>;
56
using
Matrix3Xs
=
typename
math_types<Scalar>::Matrix3Xs
;
57
using
Matrix6Xs
=
typename
math_types<Scalar>::Matrix6Xs
;
58
using
Matrix3s
= Eigen::Matrix<Scalar, 3, 3>;
59
61
PinData
pin_data_
;
62
Matrix3s
Jtemp_
;
63
Matrix3Xs
temp_
;
64
Matrix6Xs
fJf_
;
65
66
CentroidalMomentumDerivativeDataTpl
(
67
const
CentroidalMomentumDerivativeResidualTpl<Scalar>
*model);
68
};
69
70
#ifdef ALIGATOR_ENABLE_TEMPLATE_INSTANTIATION
71
extern
template
struct
CentroidalMomentumDerivativeResidualTpl<context::Scalar>
;
72
extern
template
struct
CentroidalMomentumDerivativeDataTpl<context::Scalar>
;
73
#endif
74
}
// namespace aligator
function-abstract.hpp
Base definitions for ternary functions.
fwd.hpp
aligator
Main package namespace.
Definition
action-model-wrap.hpp:14
aligator::CentroidalMomentumDerivativeDataTpl
Definition
centroidal-momentum-derivative.hpp:52
aligator::CentroidalMomentumDerivativeDataTpl::fJf_
Matrix6Xs fJf_
Definition
centroidal-momentum-derivative.hpp:64
aligator::CentroidalMomentumDerivativeDataTpl::temp_
Matrix3Xs temp_
Definition
centroidal-momentum-derivative.hpp:63
aligator::CentroidalMomentumDerivativeDataTpl::Base
StageFunctionDataTpl< Scalar > Base
Definition
centroidal-momentum-derivative.hpp:54
aligator::CentroidalMomentumDerivativeDataTpl::CentroidalMomentumDerivativeDataTpl
CentroidalMomentumDerivativeDataTpl(const CentroidalMomentumDerivativeResidualTpl< Scalar > *model)
aligator::CentroidalMomentumDerivativeDataTpl::Matrix3Xs
typename math_types< Scalar >::Matrix3Xs Matrix3Xs
Definition
centroidal-momentum-derivative.hpp:56
aligator::CentroidalMomentumDerivativeDataTpl::pin_data_
PinData pin_data_
Pinocchio data object.
Definition
centroidal-momentum-derivative.hpp:61
aligator::CentroidalMomentumDerivativeDataTpl::Jtemp_
Matrix3s Jtemp_
Definition
centroidal-momentum-derivative.hpp:62
aligator::CentroidalMomentumDerivativeDataTpl::Matrix6Xs
typename math_types< Scalar >::Matrix6Xs Matrix6Xs
Definition
centroidal-momentum-derivative.hpp:57
aligator::CentroidalMomentumDerivativeDataTpl::Matrix3s
Eigen::Matrix< Scalar, 3, 3 > Matrix3s
Definition
centroidal-momentum-derivative.hpp:58
aligator::CentroidalMomentumDerivativeDataTpl::PinData
pinocchio::DataTpl< Scalar > PinData
Definition
centroidal-momentum-derivative.hpp:55
aligator::CentroidalMomentumDerivativeResidualTpl
This residual returns the derivative of centroidal momentum for a kinodynamics model.
Definition
centroidal-momentum-derivative.hpp:17
aligator::CentroidalMomentumDerivativeResidualTpl::mass_
double mass_
Definition
centroidal-momentum-derivative.hpp:28
aligator::CentroidalMomentumDerivativeResidualTpl::SE3
pinocchio::SE3Tpl< Scalar > SE3
Definition
centroidal-momentum-derivative.hpp:24
aligator::CentroidalMomentumDerivativeResidualTpl::contact_states_
std::vector< bool > contact_states_
Definition
centroidal-momentum-derivative.hpp:30
aligator::CentroidalMomentumDerivativeResidualTpl::computeJacobians
void computeJacobians(const ConstVectorRef &x, const ConstVectorRef &u, BaseData &data) const
aligator::CentroidalMomentumDerivativeResidualTpl::CentroidalMomentumDerivativeResidualTpl
CentroidalMomentumDerivativeResidualTpl(const int ndx, const Model &model, const Vector3s &gravity, const std::vector< bool > &contact_states, const std::vector< pinocchio::FrameIndex > &contact_ids, const int force_size)
aligator::CentroidalMomentumDerivativeResidualTpl::force_size_
int force_size_
Definition
centroidal-momentum-derivative.hpp:32
aligator::CentroidalMomentumDerivativeResidualTpl::evaluate
void evaluate(const ConstVectorRef &x, const ConstVectorRef &u, BaseData &data) const
aligator::CentroidalMomentumDerivativeResidualTpl::createData
shared_ptr< BaseData > createData() const
Instantiate a Data object.
Definition
centroidal-momentum-derivative.hpp:46
aligator::CentroidalMomentumDerivativeResidualTpl::pin_model_
Model pin_model_
Definition
centroidal-momentum-derivative.hpp:27
aligator::CentroidalMomentumDerivativeResidualTpl::gravity_
Vector3s gravity_
Definition
centroidal-momentum-derivative.hpp:29
aligator::CentroidalMomentumDerivativeResidualTpl::Data
CentroidalMomentumDerivativeDataTpl< Scalar > Data
Definition
centroidal-momentum-derivative.hpp:25
aligator::CentroidalMomentumDerivativeResidualTpl::Model
pinocchio::ModelTpl< Scalar > Model
Definition
centroidal-momentum-derivative.hpp:23
aligator::CentroidalMomentumDerivativeResidualTpl::BaseData
typename Base::Data BaseData
Definition
centroidal-momentum-derivative.hpp:22
aligator::CentroidalMomentumDerivativeResidualTpl::contact_ids_
std::vector< pinocchio::FrameIndex > contact_ids_
Definition
centroidal-momentum-derivative.hpp:31
aligator::CentroidalMomentumDerivativeResidualTpl::Base
StageFunctionTpl< Scalar > Base
Definition
centroidal-momentum-derivative.hpp:21
aligator::CentroidalMomentumDerivativeResidualTpl::ALIGATOR_DYNAMIC_TYPEDEFS
ALIGATOR_DYNAMIC_TYPEDEFS(Scalar)
aligator::CentroidalMomentumDerivativeResidualTpl::Scalar
_Scalar Scalar
Definition
centroidal-momentum-derivative.hpp:19
aligator::StageFunctionDataTpl< Scalar >::StageFunctionDataTpl
StageFunctionDataTpl(const int ndx, const int nu, const int nr)
aligator::StageFunctionTpl< Scalar >::Data
StageFunctionDataTpl< Scalar > Data
Definition
function-abstract.hpp:16
aligator::StageFunctionTpl::StageFunctionTpl
StageFunctionTpl(const int ndx, const int nu, const int nr)
aligator::math_types
Typedefs for math (Eigen vectors, matrices) depending on scalar type.
Definition
math.hpp:123
include
aligator
modelling
multibody
centroidal-momentum-derivative.hpp
Generated by
1.17.0