aligator  0.10.0
A primal-dual augmented Lagrangian-type solver for nonlinear 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: