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.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include "
./fwd.hpp
"
4
#include "
aligator/core/unary-function.hpp
"
5
6
#include <pinocchio/multibody/model.hpp>
7
8
namespace
aligator
{
9
10
template
<
typename
Scalar>
struct
CentroidalMomentumDataTpl
;
11
16
17
template
<
typename
_Scalar>
18
struct
CentroidalMomentumResidualTpl
:
UnaryFunctionTpl
<_Scalar> {
19
public
:
20
using
Scalar
= _Scalar;
21
ALIGATOR_DYNAMIC_TYPEDEFS
(
Scalar
);
22
using
Base
=
UnaryFunctionTpl<Scalar>
;
23
using
BaseData
=
typename
Base::Data
;
24
using
Model
= pinocchio::ModelTpl<Scalar>;
25
using
SE3
= pinocchio::SE3Tpl<Scalar>;
26
using
Data
=
CentroidalMomentumDataTpl<Scalar>
;
27
28
Model
pin_model_
;
29
Vector6s
h_ref_
;
30
31
CentroidalMomentumResidualTpl
(
const
int
ndx,
const
int
nu
,
const
Model
&model,
32
const
Vector6s &h_ref)
33
:
Base
(ndx,
nu
, 6)
34
,
pin_model_
(model)
35
,
h_ref_
(h_ref) {}
36
37
void
evaluate
(
const
ConstVectorRef &x,
BaseData
&data)
const
;
38
39
void
computeJacobians
(
const
ConstVectorRef &x,
BaseData
&data)
const
;
40
41
const
Vector6s &
getReference
()
const
{
return
h_ref_
; }
42
void
setReference
(
const
Eigen::Ref<const Vector6s> &h_new) {
h_ref_
= h_new; }
43
44
shared_ptr<BaseData>
createData
()
const
{
45
return
std::make_shared<Data>(
this
);
46
}
47
};
48
49
template
<
typename
Scalar>
50
struct
CentroidalMomentumDataTpl
:
StageFunctionDataTpl
<Scalar> {
51
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
52
using
Base
=
StageFunctionDataTpl<Scalar>
;
53
using
PinData
= pinocchio::DataTpl<Scalar>;
54
using
Matrix6Xs
=
typename
math_types<Scalar>::Matrix6Xs
;
55
57
PinData
pin_data_
;
58
Matrix6Xs
dh_dq_
;
59
Matrix6Xs
dhdot_dq_
;
60
Matrix6Xs
dhdot_dv_
;
61
Matrix6Xs
dhdot_da_
;
62
63
CentroidalMomentumDataTpl
(
const
CentroidalMomentumResidualTpl<Scalar>
*model);
64
};
65
66
#ifdef ALIGATOR_ENABLE_TEMPLATE_INSTANTIATION
67
extern
template
struct
CentroidalMomentumResidualTpl<context::Scalar>
;
68
extern
template
struct
CentroidalMomentumDataTpl<context::Scalar>
;
69
#endif
70
}
// namespace aligator
fwd.hpp
aligator
Main package namespace.
Definition
action-model-wrap.hpp:14
aligator::CentroidalMomentumDataTpl
Definition
centroidal-momentum.hpp:50
aligator::CentroidalMomentumDataTpl::CentroidalMomentumDataTpl
CentroidalMomentumDataTpl(const CentroidalMomentumResidualTpl< Scalar > *model)
aligator::CentroidalMomentumDataTpl::dh_dq_
Matrix6Xs dh_dq_
Definition
centroidal-momentum.hpp:58
aligator::CentroidalMomentumDataTpl::pin_data_
PinData pin_data_
Pinocchio data object.
Definition
centroidal-momentum.hpp:57
aligator::CentroidalMomentumDataTpl::Matrix6Xs
typename math_types< Scalar >::Matrix6Xs Matrix6Xs
Definition
centroidal-momentum.hpp:54
aligator::CentroidalMomentumDataTpl::PinData
pinocchio::DataTpl< Scalar > PinData
Definition
centroidal-momentum.hpp:53
aligator::CentroidalMomentumDataTpl::Base
StageFunctionDataTpl< Scalar > Base
Definition
centroidal-momentum.hpp:52
aligator::CentroidalMomentumDataTpl::dhdot_dv_
Matrix6Xs dhdot_dv_
Definition
centroidal-momentum.hpp:60
aligator::CentroidalMomentumDataTpl::dhdot_dq_
Matrix6Xs dhdot_dq_
Definition
centroidal-momentum.hpp:59
aligator::CentroidalMomentumDataTpl::dhdot_da_
Matrix6Xs dhdot_da_
Definition
centroidal-momentum.hpp:61
aligator::CentroidalMomentumResidualTpl
This residual returns the derivative of centroidal momentum for a kinodynamics model.
Definition
centroidal-momentum.hpp:18
aligator::CentroidalMomentumResidualTpl::getReference
const Vector6s & getReference() const
Definition
centroidal-momentum.hpp:41
aligator::CentroidalMomentumResidualTpl::SE3
pinocchio::SE3Tpl< Scalar > SE3
Definition
centroidal-momentum.hpp:25
aligator::CentroidalMomentumResidualTpl::ALIGATOR_DYNAMIC_TYPEDEFS
ALIGATOR_DYNAMIC_TYPEDEFS(Scalar)
aligator::CentroidalMomentumResidualTpl::setReference
void setReference(const Eigen::Ref< const Vector6s > &h_new)
Definition
centroidal-momentum.hpp:42
aligator::CentroidalMomentumResidualTpl::Model
pinocchio::ModelTpl< Scalar > Model
Definition
centroidal-momentum.hpp:24
aligator::CentroidalMomentumResidualTpl::Base
UnaryFunctionTpl< Scalar > Base
Definition
centroidal-momentum.hpp:22
aligator::CentroidalMomentumResidualTpl::CentroidalMomentumResidualTpl
CentroidalMomentumResidualTpl(const int ndx, const int nu, const Model &model, const Vector6s &h_ref)
Definition
centroidal-momentum.hpp:31
aligator::CentroidalMomentumResidualTpl::h_ref_
Vector6s h_ref_
Definition
centroidal-momentum.hpp:29
aligator::CentroidalMomentumResidualTpl::Data
CentroidalMomentumDataTpl< Scalar > Data
Definition
centroidal-momentum.hpp:26
aligator::CentroidalMomentumResidualTpl::pin_model_
Model pin_model_
Definition
centroidal-momentum.hpp:28
aligator::CentroidalMomentumResidualTpl::Scalar
_Scalar Scalar
Definition
centroidal-momentum.hpp:20
aligator::CentroidalMomentumResidualTpl::evaluate
void evaluate(const ConstVectorRef &x, BaseData &data) const
aligator::CentroidalMomentumResidualTpl::computeJacobians
void computeJacobians(const ConstVectorRef &x, BaseData &data) const
aligator::CentroidalMomentumResidualTpl::BaseData
typename Base::Data BaseData
Definition
centroidal-momentum.hpp:23
aligator::CentroidalMomentumResidualTpl::createData
shared_ptr< BaseData > createData() const
Instantiate a Data object.
Definition
centroidal-momentum.hpp:44
aligator::StageFunctionDataTpl< Scalar >::StageFunctionDataTpl
StageFunctionDataTpl(const int ndx, const int nu, const int nr)
aligator::StageFunctionTpl::nu
const int nu
Control dimension.
Definition
function-abstract.hpp:21
aligator::UnaryFunctionTpl
Represents unary functions of the form , with no control (or next-state) arguments.
Definition
unary-function.hpp:12
aligator::UnaryFunctionTpl< Scalar >::Data
StageFunctionDataTpl< Scalar > Data
Definition
unary-function.hpp:16
aligator::math_types
Typedefs for math (Eigen vectors, matrices) depending on scalar type.
Definition
math.hpp:123
unary-function.hpp
include
aligator
modelling
multibody
centroidal-momentum.hpp
Generated by
1.17.0