aligator  0.16.0
A versatile and efficient C++ library for real-time constrained trajectory optimization.
Loading...
Searching...
No Matches
aligator::gar::LqrProblemTpl< Scalar > Struct Template Reference

#include <aligator/gar/lqr-problem.hpp>

Collaboration diagram for aligator::gar::LqrProblemTpl< Scalar >:
[legend]

Public Types

using KnotType = LqrKnotTpl<Scalar>
using KnotVector = std::pmr::vector<KnotType>
using allocator_type = polymorphic_allocator

Public Member Functions

 ALIGATOR_DYNAMIC_TYPEDEFS (Scalar)
int horizon () const noexcept
uint nc0 () const noexcept
 Dimension of the initial condition constraint.
 LqrProblemTpl (allocator_type alloc={})
 LqrProblemTpl (const KnotVector &knots, long nc0, allocator_type alloc={})
 This constructor will take the knots as-is.
 LqrProblemTpl (KnotVector &&knots, long nc0)
 This constructor will take the knots as-is, copying their specified allocator.
 LqrProblemTpl (const LqrProblemTpl &other, allocator_type alloc={})
 Copy constructor. Will copy the allocator from other.
 LqrProblemTpl (LqrProblemTpl &&other)
 Move constructor - we steal the allocator from the source object.
LqrProblemTploperator= (LqrProblemTpl &&other)
 ~LqrProblemTpl ()=default
void addParameterization (uint nth)
bool isParameterized () const
bool isInitialized () const
uint ntheta () const
bool isApprox (const LqrProblemTpl &other)
Scalar evaluate (const VectorOfVectors &xs, const VectorOfVectors &us, const std::optional< ConstVectorRef > &theta) const
 Evaluate the quadratic objective.
allocator_type get_allocator () const

Public Attributes

ArenaMatrix< MatrixXs > G0
ArenaMatrix< VectorXs > g0
KnotVector stages

Static Public Attributes

static constexpr int Alignment = Eigen::AlignedMax

Detailed Description

template<typename Scalar>
struct aligator::gar::LqrProblemTpl< Scalar >

Definition at line 106 of file lqr-problem.hpp.

Member Typedef Documentation

◆ KnotType

template<typename Scalar>
using aligator::gar::LqrProblemTpl< Scalar >::KnotType = LqrKnotTpl<Scalar>

Definition at line 109 of file lqr-problem.hpp.

◆ KnotVector

template<typename Scalar>
using aligator::gar::LqrProblemTpl< Scalar >::KnotVector = std::pmr::vector<KnotType>

Definition at line 110 of file lqr-problem.hpp.

◆ allocator_type

template<typename Scalar>
using aligator::gar::LqrProblemTpl< Scalar >::allocator_type = polymorphic_allocator

Definition at line 111 of file lqr-problem.hpp.

Constructor & Destructor Documentation

◆ LqrProblemTpl() [1/5]

template<typename Scalar>
aligator::gar::LqrProblemTpl< Scalar >::LqrProblemTpl(allocator_typealloc = {})
inlineexplicit

Definition at line 120 of file lqr-problem.hpp.

◆ LqrProblemTpl() [2/5]

template<typename Scalar>
aligator::gar::LqrProblemTpl< Scalar >::LqrProblemTpl(const KnotVector &knots,
longnc0,
allocator_typealloc = {} )

This constructor will take the knots as-is.

◆ LqrProblemTpl() [3/5]

template<typename Scalar>
aligator::gar::LqrProblemTpl< Scalar >::LqrProblemTpl(KnotVector &&knots,
longnc0 )

This constructor will take the knots as-is, copying their specified allocator.

◆ LqrProblemTpl() [4/5]

template<typename Scalar>
aligator::gar::LqrProblemTpl< Scalar >::LqrProblemTpl(const LqrProblemTpl< Scalar > &other,
allocator_typealloc = {} )
inline

Copy constructor. Will copy the allocator from other.

Definition at line 134 of file lqr-problem.hpp.

◆ LqrProblemTpl() [5/5]

template<typename Scalar>
aligator::gar::LqrProblemTpl< Scalar >::LqrProblemTpl(LqrProblemTpl< Scalar > &&other)
inline

Move constructor - we steal the allocator from the source object.

Definition at line 141 of file lqr-problem.hpp.

◆ ~LqrProblemTpl()

template<typename Scalar>
aligator::gar::LqrProblemTpl< Scalar >::~LqrProblemTpl()
default

Member Function Documentation

◆ ALIGATOR_DYNAMIC_TYPEDEFS()

template<typename Scalar>
aligator::gar::LqrProblemTpl< Scalar >::ALIGATOR_DYNAMIC_TYPEDEFS(Scalar)

◆ horizon()

template<typename Scalar>
int aligator::gar::LqrProblemTpl< Scalar >::horizon()const
inlinenoexcept

Definition at line 116 of file lqr-problem.hpp.

◆ nc0()

template<typename Scalar>
uint aligator::gar::LqrProblemTpl< Scalar >::nc0()const
inlinenoexcept

Dimension of the initial condition constraint.

Definition at line 118 of file lqr-problem.hpp.

◆ operator=()

template<typename Scalar>
LqrProblemTpl & aligator::gar::LqrProblemTpl< Scalar >::operator=(LqrProblemTpl< Scalar > &&other)
inline

Definition at line 147 of file lqr-problem.hpp.

◆ addParameterization()

template<typename Scalar>
void aligator::gar::LqrProblemTpl< Scalar >::addParameterization(uintnth)
inline

Definition at line 156 of file lqr-problem.hpp.

◆ isParameterized()

template<typename Scalar>
bool aligator::gar::LqrProblemTpl< Scalar >::isParameterized()const
inline

Definition at line 164 of file lqr-problem.hpp.

◆ isInitialized()

template<typename Scalar>
bool aligator::gar::LqrProblemTpl< Scalar >::isInitialized()const
inline

Definition at line 168 of file lqr-problem.hpp.

◆ ntheta()

template<typename Scalar>
uint aligator::gar::LqrProblemTpl< Scalar >::ntheta()const
inline

Definition at line 170 of file lqr-problem.hpp.

◆ isApprox()

template<typename Scalar>
bool aligator::gar::LqrProblemTpl< Scalar >::isApprox(const LqrProblemTpl< Scalar > &other)
inlinenodiscard

Definition at line 172 of file lqr-problem.hpp.

◆ evaluate()

template<typename Scalar>
Scalar aligator::gar::LqrProblemTpl< Scalar >::evaluate(const VectorOfVectors &xs,
const VectorOfVectors &us,
const std::optional< ConstVectorRef > &theta ) const
nodiscard

Evaluate the quadratic objective.

◆ get_allocator()

template<typename Scalar>
allocator_type aligator::gar::LqrProblemTpl< Scalar >::get_allocator()const
inline

Definition at line 188 of file lqr-problem.hpp.

Member Data Documentation

◆ Alignment

template<typename Scalar>
int aligator::gar::LqrProblemTpl< Scalar >::Alignment = Eigen::AlignedMax
staticconstexpr

Definition at line 108 of file lqr-problem.hpp.

◆ G0

template<typename Scalar>
ArenaMatrix<MatrixXs> aligator::gar::LqrProblemTpl< Scalar >::G0

Definition at line 112 of file lqr-problem.hpp.

◆ g0

template<typename Scalar>
ArenaMatrix<VectorXs> aligator::gar::LqrProblemTpl< Scalar >::g0

Definition at line 113 of file lqr-problem.hpp.

◆ stages

template<typename Scalar>
KnotVector aligator::gar::LqrProblemTpl< Scalar >::stages

Definition at line 114 of file lqr-problem.hpp.


The documentation for this struct was generated from the following files: