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

Workspace for solver SolverFDDP. More...

#include <aligator/solvers/fddp/workspace.hpp>

Inheritance diagram for aligator::WorkspaceFDDPTpl< Scalar >:
[legend]
Collaboration diagram for aligator::WorkspaceFDDPTpl< Scalar >:
[legend]

Public Types

using VParams = ValueFunctionTpl<Scalar>
using QParams = QFunctionTpl<Scalar>
using Base = WorkspaceBaseTpl<Scalar>
using RowMatrixXs = Eigen::Matrix<Scalar, -1, -1, Eigen::RowMajor>
 Temporary storage for jacobian transpose-Q-hessian product.

Public Member Functions

 ALIGATOR_DYNAMIC_TYPEDEFS (Scalar)
 WorkspaceFDDPTpl ()
 WorkspaceFDDPTpl (const TrajOptProblemTpl< Scalar > &problem)
void cycleLeft ()
Public Member Functions inherited from aligator::WorkspaceBaseTpl< Scalar >
 ALIGATOR_DYNAMIC_TYPEDEFS (Scalar)
 WorkspaceBaseTpl ()
 WorkspaceBaseTpl (const TrajOptProblemTpl< Scalar > &problem)
 ~WorkspaceBaseTpl ()=default
bool isInitialized () const
void cycleLeft ()
 Cycle the workspace data to the left.
void cycleAppend (shared_ptr< StageDataTpl< Scalar > > data)
 Same as cycleLeft(), but add a StageDataTpl to problem_data.

Public Attributes

std::vector< VectorXs > dxs
 State increment.
std::vector< VectorXs > dus
 Control increment.
std::vector< VectorXs > Quuks_
 Storage for the product \(Q_{uu}k\).
std::vector< VectorXs > ftVxx_
std::vector< MatrixXs > kktRhs
 Buffer for KKT system right-hand sides.
std::vector< Eigen::LLT< MatrixXs > > llts_
 LLT struct for each KKT system.
std::vector< VParamsvalue_params
 Value function parameter storage.
std::vector< QParamsq_params
 Q-function storage.
std::vector< RowMatrixXsJtH_temp_
Scalar dg_ = 0.
Scalar dq_ = 0.
Scalar dv_ = 0.
Scalar d1_ = 0.
Scalar d2_ = 0.
std::size_t nsteps
 Number of steps in the problem.
std::vector< VectorXs > trial_us
std::vector< VectorXs > trial_xs
Public Attributes inherited from aligator::WorkspaceBaseTpl< Scalar >
std::size_t nsteps
 Number of steps in the problem.
TrajOptDataTpl< Scalar > problem_data
 Problem data.
std::vector< VectorXs > dyn_slacks
 Dynamical infeasibility gaps.
std::vector< VectorXs > trial_xs
std::vector< VectorXs > trial_us

Additional Inherited Members

Protected Attributes inherited from aligator::WorkspaceBaseTpl< Scalar >
bool m_isInitialized

Detailed Description

template<typename Scalar>
struct aligator::WorkspaceFDDPTpl< Scalar >

Workspace for solver SolverFDDP.

Definition at line 10 of file workspace.hpp.

Member Typedef Documentation

◆ VParams

template<typename Scalar>
using aligator::WorkspaceFDDPTpl< Scalar >::VParams = ValueFunctionTpl<Scalar>

Definition at line 11 of file workspace.hpp.

◆ QParams

template<typename Scalar>
using aligator::WorkspaceFDDPTpl< Scalar >::QParams = QFunctionTpl<Scalar>

Definition at line 12 of file workspace.hpp.

◆ Base

template<typename Scalar>
using aligator::WorkspaceFDDPTpl< Scalar >::Base = WorkspaceBaseTpl<Scalar>

Definition at line 13 of file workspace.hpp.

◆ RowMatrixXs

template<typename Scalar>
using aligator::WorkspaceFDDPTpl< Scalar >::RowMatrixXs = Eigen::Matrix<Scalar, -1, -1, Eigen::RowMajor>

Temporary storage for jacobian transpose-Q-hessian product.

Definition at line 36 of file workspace.hpp.

Constructor & Destructor Documentation

◆ WorkspaceFDDPTpl() [1/2]

template<typename Scalar>
aligator::WorkspaceFDDPTpl< Scalar >::WorkspaceFDDPTpl()
inline

Definition at line 45 of file workspace.hpp.

◆ WorkspaceFDDPTpl() [2/2]

template<typename Scalar>
aligator::WorkspaceFDDPTpl< Scalar >::WorkspaceFDDPTpl(const TrajOptProblemTpl< Scalar > &problem)
explicit

Member Function Documentation

◆ ALIGATOR_DYNAMIC_TYPEDEFS()

template<typename Scalar>
aligator::WorkspaceFDDPTpl< Scalar >::ALIGATOR_DYNAMIC_TYPEDEFS(Scalar)

◆ cycleLeft()

template<typename Scalar>
void aligator::WorkspaceFDDPTpl< Scalar >::cycleLeft()

Member Data Documentation

◆ dxs

template<typename Scalar>
std::vector<VectorXs> aligator::WorkspaceFDDPTpl< Scalar >::dxs

State increment.

Definition at line 20 of file workspace.hpp.

◆ dus

template<typename Scalar>
std::vector<VectorXs> aligator::WorkspaceFDDPTpl< Scalar >::dus

Control increment.

Definition at line 22 of file workspace.hpp.

◆ Quuks_

template<typename Scalar>
std::vector<VectorXs> aligator::WorkspaceFDDPTpl< Scalar >::Quuks_

Storage for the product \(Q_{uu}k\).

Definition at line 24 of file workspace.hpp.

◆ ftVxx_

template<typename Scalar>
std::vector<VectorXs> aligator::WorkspaceFDDPTpl< Scalar >::ftVxx_

Definition at line 25 of file workspace.hpp.

◆ kktRhs

template<typename Scalar>
std::vector<MatrixXs> aligator::WorkspaceFDDPTpl< Scalar >::kktRhs

Buffer for KKT system right-hand sides.

Definition at line 27 of file workspace.hpp.

◆ llts_

template<typename Scalar>
std::vector<Eigen::LLT<MatrixXs> > aligator::WorkspaceFDDPTpl< Scalar >::llts_

LLT struct for each KKT system.

Definition at line 29 of file workspace.hpp.

◆ value_params

template<typename Scalar>
std::vector<VParams> aligator::WorkspaceFDDPTpl< Scalar >::value_params

Value function parameter storage.

Definition at line 31 of file workspace.hpp.

◆ q_params

template<typename Scalar>
std::vector<QParams> aligator::WorkspaceFDDPTpl< Scalar >::q_params

Q-function storage.

Definition at line 33 of file workspace.hpp.

◆ JtH_temp_

template<typename Scalar>
std::vector<RowMatrixXs> aligator::WorkspaceFDDPTpl< Scalar >::JtH_temp_

Definition at line 37 of file workspace.hpp.

◆ dg_

template<typename Scalar>
Scalar aligator::WorkspaceFDDPTpl< Scalar >::dg_ = 0.

Definition at line 39 of file workspace.hpp.

◆ dq_

template<typename Scalar>
Scalar aligator::WorkspaceFDDPTpl< Scalar >::dq_ = 0.

Definition at line 40 of file workspace.hpp.

◆ dv_

template<typename Scalar>
Scalar aligator::WorkspaceFDDPTpl< Scalar >::dv_ = 0.

Definition at line 41 of file workspace.hpp.

◆ d1_

template<typename Scalar>
Scalar aligator::WorkspaceFDDPTpl< Scalar >::d1_ = 0.

Definition at line 42 of file workspace.hpp.

◆ d2_

template<typename Scalar>
Scalar aligator::WorkspaceFDDPTpl< Scalar >::d2_ = 0.

Definition at line 43 of file workspace.hpp.

◆ nsteps

template<typename Scalar>
std::size_t aligator::WorkspaceBaseTpl< Scalar >::nsteps

Number of steps in the problem.

Definition at line 22 of file workspace-base.hpp.

◆ trial_us

template<typename Scalar>
std::vector<VectorXs> aligator::WorkspaceBaseTpl< Scalar >::trial_us

Definition at line 29 of file workspace-base.hpp.

◆ trial_xs

template<typename Scalar>
std::vector<VectorXs> aligator::WorkspaceBaseTpl< Scalar >::trial_xs

Definition at line 28 of file workspace-base.hpp.


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