aligator
0.19.0
A versatile and efficient C++ library for real-time constrained trajectory optimization.
Toggle main menu visibility
Loading...
Searching...
No Matches
log-residual-cost.hpp
Go to the documentation of this file.
1
3
#pragma once
4
5
#include "
./composite-costs.hpp
"
6
7
namespace
aligator
{
22
template
<
typename
Scalar>
struct
LogResidualCostTpl
:
CostAbstractTpl
<Scalar> {
23
ALIGATOR_DYNAMIC_TYPEDEFS
(
Scalar
);
24
using
CostDataAbstract
=
CostDataAbstractTpl<Scalar>
;
25
using
Data
=
CompositeCostDataTpl<Scalar>
;
26
using
StageFunction
=
StageFunctionTpl<Scalar>
;
27
using
Base
=
CostAbstractTpl<Scalar>
;
28
using
Manifold
=
ManifoldAbstractTpl<Scalar>
;
29
30
VectorXs
barrier_weights_
;
31
xyz::polymorphic<StageFunction>
residual_
;
32
33
LogResidualCostTpl
(xyz::polymorphic<Manifold>
space
,
34
xyz::polymorphic<StageFunction> function,
35
const
ConstVectorRef &scale);
36
37
LogResidualCostTpl
(xyz::polymorphic<Manifold>
space
,
38
xyz::polymorphic<StageFunction> function,
39
const
Scalar
scale);
40
41
void
evaluate
(
const
ConstVectorRef &x,
const
ConstVectorRef &u,
42
CostDataAbstract
&data)
const
;
43
44
void
computeGradients
(
const
ConstVectorRef &x,
const
ConstVectorRef &u,
45
CostDataAbstract
&data)
const
;
46
47
void
computeHessians
(
const
ConstVectorRef &,
const
ConstVectorRef &,
48
CostDataAbstract
&data)
const
;
49
50
shared_ptr<CostDataAbstract>
createData
()
const
{
51
return
std::make_shared<Data>(this->
ndx
(), this->
nu
,
52
residual_
->createData());
53
}
54
57
template
<
typename
Derived> Derived *
getResidual
() {
58
return
dynamic_cast<
Derived *
>
(&*
residual_
);
59
}
60
62
template
<
typename
Derived>
const
Derived *
getResidual
()
const
{
63
return
dynamic_cast<
const
Derived *
>
(&*
residual_
);
64
}
65
};
66
67
extern
template
struct
LogResidualCostTpl<context::Scalar>;
68
69
}
// namespace aligator
70
71
#include "./log-residual-cost.hxx"
composite-costs.hpp
aligator
Main package namespace.
Definition
action-model-wrap.hpp:14
aligator::CompositeCostDataTpl
Data struct for composite costs.
Definition
composite-costs.hpp:15
aligator::CostAbstractTpl< Scalar >::space
xyz::polymorphic< Manifold > space
Definition
cost-abstract.hpp:20
aligator::CostAbstractTpl< Scalar >::CostAbstractTpl
CostAbstractTpl(U &&space, const int nu)
Definition
cost-abstract.hpp:28
aligator::CostAbstractTpl< Scalar >::nu
int nu
Definition
cost-abstract.hpp:22
aligator::CostAbstractTpl< Scalar >::ndx
int ndx() const
Definition
cost-abstract.hpp:25
aligator::CostAbstractTpl< Scalar >::Scalar
Scalar Scalar
Definition
cost-abstract.hpp:14
aligator::CostDataAbstractTpl
Data struct for CostAbstractTpl.
Definition
cost-abstract.hpp:73
aligator::LogResidualCostTpl::ALIGATOR_DYNAMIC_TYPEDEFS
ALIGATOR_DYNAMIC_TYPEDEFS(Scalar)
aligator::LogResidualCostTpl::residual_
xyz::polymorphic< StageFunction > residual_
Definition
log-residual-cost.hpp:31
aligator::LogResidualCostTpl::createData
shared_ptr< CostDataAbstract > createData() const
Definition
log-residual-cost.hpp:50
aligator::LogResidualCostTpl::LogResidualCostTpl
LogResidualCostTpl(xyz::polymorphic< Manifold > space, xyz::polymorphic< StageFunction > function, const Scalar scale)
aligator::LogResidualCostTpl::getResidual
Derived * getResidual()
Get a pointer to the underlying type of the residual, by attempting to cast.
Definition
log-residual-cost.hpp:57
aligator::LogResidualCostTpl::barrier_weights_
VectorXs barrier_weights_
Definition
log-residual-cost.hpp:30
aligator::LogResidualCostTpl::LogResidualCostTpl
LogResidualCostTpl(xyz::polymorphic< Manifold > space, xyz::polymorphic< StageFunction > function, const ConstVectorRef &scale)
aligator::LogResidualCostTpl::Data
CompositeCostDataTpl< Scalar > Data
Definition
log-residual-cost.hpp:25
aligator::LogResidualCostTpl::Base
CostAbstractTpl< Scalar > Base
Definition
log-residual-cost.hpp:27
aligator::LogResidualCostTpl::StageFunction
StageFunctionTpl< Scalar > StageFunction
Definition
log-residual-cost.hpp:26
aligator::LogResidualCostTpl::CostDataAbstract
CostDataAbstractTpl< Scalar > CostDataAbstract
Definition
log-residual-cost.hpp:24
aligator::LogResidualCostTpl::getResidual
const Derived * getResidual() const
Get a pointer to the underlying type of the residual, by attempting to cast.
Definition
log-residual-cost.hpp:62
aligator::LogResidualCostTpl::Manifold
ManifoldAbstractTpl< Scalar > Manifold
Definition
log-residual-cost.hpp:28
aligator::LogResidualCostTpl::evaluate
void evaluate(const ConstVectorRef &x, const ConstVectorRef &u, CostDataAbstract &data) const
Evaluate the cost function.
aligator::LogResidualCostTpl::computeHessians
void computeHessians(const ConstVectorRef &, const ConstVectorRef &, CostDataAbstract &data) const
Compute the cost Hessians .
aligator::LogResidualCostTpl::computeGradients
void computeGradients(const ConstVectorRef &x, const ConstVectorRef &u, CostDataAbstract &data) const
Compute the cost gradients .
aligator::ManifoldAbstractTpl
Base class for manifolds, to use in cost funcs, solvers...
Definition
manifold-base.hpp:11
aligator::StageFunctionTpl
Class representing ternary functions .
Definition
function-abstract.hpp:12
include
aligator
modelling
costs
log-residual-cost.hpp
Generated by
1.17.0