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-wrapper.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include "
aligator/core/unary-function.hpp
"
4
#include "
aligator/third-party/polymorphic_cxx14.h
"
5
6
namespace
aligator
{
7
8
template
<
typename
Scalar>
struct
CentroidalWrapperDataTpl
;
9
15
16
template
<
typename
_Scalar>
17
struct
CentroidalWrapperResidualTpl
:
UnaryFunctionTpl
<_Scalar> {
18
public
:
19
using
Scalar
= _Scalar;
20
ALIGATOR_DYNAMIC_TYPEDEFS
(
Scalar
);
21
ALIGATOR_UNARY_FUNCTION_INTERFACE
(
Scalar
);
22
using
FunPtr
= xyz::polymorphic<StageFunctionTpl<Scalar>>;
23
using
BaseData
=
typename
Base::Data
;
24
using
Data
=
CentroidalWrapperDataTpl<Scalar>
;
25
26
CentroidalWrapperResidualTpl
(
FunPtr
centroidal_cost)
27
:
Base
(centroidal_cost->
ndx1
+ centroidal_cost->
nu
, centroidal_cost->
nu
,
28
centroidal_cost->
nr
)
29
,
centroidal_cost_
(centroidal_cost) {}
30
31
void
evaluate
(
const
ConstVectorRef &x,
BaseData
&data)
const
;
32
33
void
computeJacobians
(
const
ConstVectorRef &x,
BaseData
&data)
const
;
34
35
shared_ptr<BaseData>
createData
()
const
{
36
return
std::make_shared<Data>(
this
);
37
}
38
39
FunPtr
centroidal_cost_
;
40
};
41
42
template
<
typename
Scalar>
43
struct
CentroidalWrapperDataTpl
:
StageFunctionDataTpl
<Scalar> {
44
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
45
using
Base
=
StageFunctionDataTpl<Scalar>
;
46
47
shared_ptr<Base>
wrapped_data_
;
48
49
CentroidalWrapperDataTpl
(
const
CentroidalWrapperResidualTpl<Scalar>
*model);
50
};
51
52
}
// namespace aligator
53
54
#ifdef ALIGATOR_ENABLE_TEMPLATE_INSTANTIATION
55
#include "aligator/modelling/centroidal/centroidal-wrapper.txx"
56
#endif
aligator
Main package namespace.
Definition
action-model-wrap.hpp:14
polymorphic_cxx14.h
aligator::CentroidalWrapperDataTpl
Definition
centroidal-wrapper.hpp:43
aligator::CentroidalWrapperDataTpl::CentroidalWrapperDataTpl
CentroidalWrapperDataTpl(const CentroidalWrapperResidualTpl< Scalar > *model)
aligator::CentroidalWrapperDataTpl::Base
StageFunctionDataTpl< Scalar > Base
Definition
centroidal-wrapper.hpp:45
aligator::CentroidalWrapperDataTpl::wrapped_data_
shared_ptr< Base > wrapped_data_
Definition
centroidal-wrapper.hpp:47
aligator::CentroidalWrapperResidualTpl
This residual acts as a wrapper for centroidal model cost functions in which the external forces are ...
Definition
centroidal-wrapper.hpp:17
aligator::CentroidalWrapperResidualTpl::ALIGATOR_UNARY_FUNCTION_INTERFACE
ALIGATOR_UNARY_FUNCTION_INTERFACE(Scalar)
aligator::CentroidalWrapperResidualTpl::BaseData
typename Base::Data BaseData
Definition
centroidal-wrapper.hpp:23
aligator::CentroidalWrapperResidualTpl::ALIGATOR_DYNAMIC_TYPEDEFS
ALIGATOR_DYNAMIC_TYPEDEFS(Scalar)
aligator::CentroidalWrapperResidualTpl::createData
shared_ptr< BaseData > createData() const
Instantiate a Data object.
Definition
centroidal-wrapper.hpp:35
aligator::CentroidalWrapperResidualTpl::centroidal_cost_
FunPtr centroidal_cost_
Definition
centroidal-wrapper.hpp:39
aligator::CentroidalWrapperResidualTpl::evaluate
void evaluate(const ConstVectorRef &x, BaseData &data) const
aligator::CentroidalWrapperResidualTpl::CentroidalWrapperResidualTpl
CentroidalWrapperResidualTpl(FunPtr centroidal_cost)
Definition
centroidal-wrapper.hpp:26
aligator::CentroidalWrapperResidualTpl::computeJacobians
void computeJacobians(const ConstVectorRef &x, BaseData &data) const
aligator::CentroidalWrapperResidualTpl::Scalar
_Scalar Scalar
Definition
centroidal-wrapper.hpp:19
aligator::CentroidalWrapperResidualTpl::FunPtr
xyz::polymorphic< StageFunctionTpl< Scalar > > FunPtr
Definition
centroidal-wrapper.hpp:22
aligator::CentroidalWrapperResidualTpl::Data
CentroidalWrapperDataTpl< Scalar > Data
Definition
centroidal-wrapper.hpp:24
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::StageFunctionTpl< Scalar >::Data
StageFunctionDataTpl< Scalar > Data
Definition
function-abstract.hpp:16
aligator::StageFunctionTpl::ndx1
const int ndx1
Current state dimension.
Definition
function-abstract.hpp:19
aligator::StageFunctionTpl::nr
const int nr
Function codimension.
Definition
function-abstract.hpp:23
aligator::UnaryFunctionTpl
Represents unary functions of the form , with no control (or next-state) arguments.
Definition
unary-function.hpp:12
aligator::UnaryFunctionTpl::Base
StageFunctionTpl< Scalar > Base
Definition
unary-function.hpp:15
unary-function.hpp
include
aligator
modelling
centroidal
centroidal-wrapper.hpp
Generated by
1.17.0