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

Kernel for use in Riccati-like algorithms for the proximal LQ subproblem. More...

#include <aligator/gar/riccati-kernel.hpp>

Classes

struct  kkt0_t

Public Types

using KnotType = LqrKnotTpl<Scalar>
using StageFactorType = StageFactor<Scalar>
using CostToGo = typename StageFactorType::CostToGo

Public Member Functions

 ALIGATOR_DYNAMIC_TYPEDEFS_WITH_ROW_TYPES (Scalar)

Static Public Member Functions

static void terminalSolve (const KnotType &model, const Scalar mueq, StageFactorType &d)
static bool backwardImpl (boost::span< const KnotType > stages, const Scalar mueq, boost::span< StageFactorType > datas)
static void computeInitial (VectorRef x0, VectorRef lbd0, const kkt0_t &kkt0, const std::optional< ConstVectorRef > &theta_)
 Solve initial stage.
static void stageKernelSolve (const KnotType &model, StageFactorType &d, CostToGo &vn, const Scalar mueq)
static bool forwardImpl (boost::span< const KnotType > stages, boost::span< const StageFactorType > datas, boost::span< VectorXs > xs, boost::span< VectorXs > us, boost::span< VectorXs > vs, boost::span< VectorXs > lbdas, const std::optional< ConstVectorRef > &theta_=std::nullopt)
 Forward sweep.

Detailed Description

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

Kernel for use in Riccati-like algorithms for the proximal LQ subproblem.

Definition at line 108 of file riccati-kernel.hpp.

Member Typedef Documentation

◆ KnotType

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

Definition at line 110 of file riccati-kernel.hpp.

◆ StageFactorType

template<typename Scalar>
using aligator::gar::ProximalRiccatiKernel< Scalar >::StageFactorType = StageFactor<Scalar>

Definition at line 111 of file riccati-kernel.hpp.

◆ CostToGo

template<typename Scalar>
using aligator::gar::ProximalRiccatiKernel< Scalar >::CostToGo = typename StageFactorType::CostToGo

Definition at line 112 of file riccati-kernel.hpp.

Member Function Documentation

◆ ALIGATOR_DYNAMIC_TYPEDEFS_WITH_ROW_TYPES()

template<typename Scalar>
aligator::gar::ProximalRiccatiKernel< Scalar >::ALIGATOR_DYNAMIC_TYPEDEFS_WITH_ROW_TYPES(Scalar)

◆ terminalSolve()

template<typename Scalar>
void aligator::gar::ProximalRiccatiKernel< Scalar >::terminalSolve(const KnotType &model,
const Scalarmueq,
StageFactorType &d )
static

◆ backwardImpl()

template<typename Scalar>
bool aligator::gar::ProximalRiccatiKernel< Scalar >::backwardImpl(boost::span< const KnotType >stages,
const Scalarmueq,
boost::span< StageFactorType >datas )
static

◆ computeInitial()

template<typename Scalar>
void aligator::gar::ProximalRiccatiKernel< Scalar >::computeInitial(VectorRefx0,
VectorReflbd0,
const kkt0_t &kkt0,
const std::optional< ConstVectorRef > &theta_ )
static

Solve initial stage.

◆ stageKernelSolve()

template<typename Scalar>
void aligator::gar::ProximalRiccatiKernel< Scalar >::stageKernelSolve(const KnotType &model,
StageFactorType &d,
CostToGo &vn,
const Scalarmueq )
static

◆ forwardImpl()

template<typename Scalar>
bool aligator::gar::ProximalRiccatiKernel< Scalar >::forwardImpl(boost::span< const KnotType >stages,
boost::span< const StageFactorType >datas,
boost::span< VectorXs >xs,
boost::span< VectorXs >us,
boost::span< VectorXs >vs,
boost::span< VectorXs >lbdas,
const std::optional< ConstVectorRef > &theta_ = std::nullopt )
static

Forward sweep.


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