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 105 of file lqr-problem.hpp.

Member Typedef Documentation

◆ KnotType

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

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

◆ KnotVector

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

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

◆ allocator_type

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

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

Constructor & Destructor Documentation

◆ LqrProblemTpl() [1/5]

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

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

◆ LqrProblemTpl() [2/5]

template<typename Scalar>
aligator::gar::LqrProblemTpl< Scalar >::LqrProblemTpl ( const KnotVector & knots,
long nc0,
allocator_type alloc = {} )

This constructor will take the knots as-is.

◆ LqrProblemTpl() [3/5]

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

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_type alloc = {} )
inline

Copy constructor. Will copy the allocator from other.

Definition at line 133 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 140 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 115 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 117 of file lqr-problem.hpp.

◆ operator=()

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

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

◆ addParameterization()

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

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

◆ isParameterized()

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

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

◆ isInitialized()

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

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

◆ ntheta()

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

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

◆ isApprox()

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

Definition at line 171 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 187 of file lqr-problem.hpp.

Member Data Documentation

◆ Alignment

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

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

◆ G0

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

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

◆ g0

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

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

◆ stages

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

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


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