aligator
0.19.0
A versatile and efficient C++ library for real-time constrained trajectory optimization.
Toggle main menu visibility
Loading...
Searching...
No Matches
riccati-base.hpp
Go to the documentation of this file.
1
3
#pragma once
4
5
#include "
aligator/context.hpp
"
6
#include "
aligator/math.hpp
"
7
#include "
aligator/gar/fwd.hpp
"
8
#include <optional>
9
10
namespace
aligator
{
11
namespace
gar
{
12
13
template
<
typename
_Scalar>
class
RiccatiSolverBase
{
14
public
:
15
using
Scalar
= _Scalar;
16
using
LqrKnot
=
LqrKnotTpl<Scalar>
;
17
ALIGATOR_DYNAMIC_TYPEDEFS_WITH_ROW_TYPES
(
Scalar
);
18
19
virtual
bool
backward
(
const
Scalar
mueq) = 0;
20
21
virtual
bool
22
forward
(std::vector<VectorXs> &xs, std::vector<VectorXs> &us,
23
std::vector<VectorXs> &vs, std::vector<VectorXs> &lbdas,
24
const
std::optional<ConstVectorRef> &theta_ = std::nullopt)
const
= 0;
25
27
virtual
void
cycleAppend
(
const
LqrKnot
&knot) = 0;
28
32
virtual
void
collapseFeedback
() {}
33
virtual
VectorRef
getFeedforward
(
size_t
) = 0;
34
virtual
RowMatrixRef
getFeedback
(
size_t
) = 0;
35
36
virtual
~RiccatiSolverBase
() =
default
;
37
};
38
39
#ifdef ALIGATOR_ENABLE_TEMPLATE_INSTANTIATION
40
extern
template
class
RiccatiSolverBase<context::Scalar>
;
41
#endif
42
}
// namespace gar
43
}
// namespace aligator
aligator::gar::RiccatiSolverBase
Definition
riccati-base.hpp:13
aligator::gar::RiccatiSolverBase::getFeedback
virtual RowMatrixRef getFeedback(size_t)=0
aligator::gar::RiccatiSolverBase::getFeedforward
virtual VectorRef getFeedforward(size_t)=0
aligator::gar::RiccatiSolverBase< Scalar >::LqrKnot
LqrKnotTpl< Scalar > LqrKnot
Definition
riccati-base.hpp:16
aligator::gar::RiccatiSolverBase::~RiccatiSolverBase
virtual ~RiccatiSolverBase()=default
aligator::gar::RiccatiSolverBase::ALIGATOR_DYNAMIC_TYPEDEFS_WITH_ROW_TYPES
ALIGATOR_DYNAMIC_TYPEDEFS_WITH_ROW_TYPES(Scalar)
aligator::gar::RiccatiSolverBase::forward
virtual bool forward(std::vector< VectorXs > &xs, std::vector< VectorXs > &us, std::vector< VectorXs > &vs, std::vector< VectorXs > &lbdas, const std::optional< ConstVectorRef > &theta_=std::nullopt) const =0
aligator::gar::RiccatiSolverBase::cycleAppend
virtual void cycleAppend(const LqrKnot &knot)=0
Cycle the solver data, given the specs from a given new knot.
aligator::gar::RiccatiSolverBase::collapseFeedback
virtual void collapseFeedback()
Definition
riccati-base.hpp:32
aligator::gar::RiccatiSolverBase::backward
virtual bool backward(const Scalar mueq)=0
aligator::gar::RiccatiSolverBase< Scalar >::Scalar
Scalar Scalar
Definition
riccati-base.hpp:15
context.hpp
fwd.hpp
math.hpp
Math utilities.
aligator::gar
Definition
block-tridiagonal.hpp:10
aligator
Main package namespace.
Definition
action-model-wrap.hpp:14
aligator::gar::LqrKnotTpl
Struct describing a stage of a constrained LQ problem.
Definition
lqr-problem.hpp:34
include
aligator
gar
riccati-base.hpp
Generated by
1.17.0