All Classes Files Functions Variables Typedefs Macros
DDPSolver< precision, stateSize, commandSize > Class Template Reference

#include <ddp-actuator-solver/ddpsolver.hh>

Classes

struct  traj
 

Public Types

typedef Eigen::Matrix
< precision, stateSize, 1 > 
stateVec_t
 
typedef Eigen::Matrix
< precision, 1, stateSize > 
stateVecTrans_t
 
typedef Eigen::Matrix
< precision, stateSize,
stateSize > 
stateMat_t
 
typedef Eigen::Matrix
< precision, commandSize, 1 > 
commandVec_t
 
typedef Eigen::Matrix
< precision, 1, commandSize > 
commandVecTrans_t
 
typedef Eigen::Matrix
< precision, commandSize,
commandSize > 
commandMat_t
 
typedef Eigen::Matrix
< precision, stateSize,
commandSize > 
stateR_commandC_t
 
typedef Eigen::Matrix
< precision, stateSize,
commandSize > 
stateR_commandC_stateD_t [stateSize]
 
typedef Eigen::Matrix
< precision, stateSize,
commandSize > 
stateR_commandC_commandD_t [commandSize]
 
typedef Eigen::Matrix
< precision, commandSize,
stateSize > 
commandR_stateC_t
 
typedef Eigen::Matrix
< precision, commandSize,
stateSize > 
commandR_stateC_stateD_t [stateSize]
 
typedef Eigen::Matrix
< precision, commandSize,
stateSize > 
commandR_stateC_commandD_t [commandSize]
 
typedef Eigen::Matrix
< precision, stateSize,
stateSize > 
stateR_stateC_commandD_t [commandSize]
 
typedef Eigen::Matrix
< precision, commandSize,
commandSize > 
commandR_commandC_stateD_t [stateSize]
 
typedef std::vector< stateVec_tstateVecTab_t
 
typedef std::vector< commandVec_tcommandVecTab_t
 
typedef std::vector
< commandR_stateC_t
commandR_stateC_tab_t
 
typedef DynamicModel
< precision, stateSize,
commandSize > 
DynamicModel_t
 
typedef CostFunction
< precision, stateSize,
commandSize > 
CostFunction_t
 

Public Member Functions

 DDPSolver (DynamicModel_t &myDynamicModel, CostFunction_t &myCostFunction, bool fullDDP=0, bool QPBox=0)
 
void FirstInitSolver (stateVec_t &myxInit, stateVec_t &myxDes, unsigned int &myT, double &mydt, unsigned int &myiterMax, double &mystopCrit)
 
void initSolver (stateVec_t &myxInit, stateVec_t &myxDes)
 
commandVec_t solveTrajectory ()
 
void initTrajectory ()
 
void backwardLoop ()
 
void forwardLoop ()
 
DDPSolver::traj getLastSolvedTrajectory ()
 
DDPSolver::commandVec_t getLastCommand ()
 
bool isQuudefinitePositive (const commandMat_t &Quu_reg)
 

Member Typedef Documentation

template<typename precision , int stateSize, int commandSize>
typedef Eigen::Matrix<precision, commandSize, commandSize> DDPSolver< precision, stateSize, commandSize >::commandMat_t
template<typename precision , int stateSize, int commandSize>
typedef Eigen::Matrix<precision, commandSize, commandSize> DDPSolver< precision, stateSize, commandSize >::commandR_commandC_stateD_t[stateSize]
template<typename precision , int stateSize, int commandSize>
typedef Eigen::Matrix<precision, commandSize, stateSize> DDPSolver< precision, stateSize, commandSize >::commandR_stateC_commandD_t[commandSize]
template<typename precision , int stateSize, int commandSize>
typedef Eigen::Matrix<precision, commandSize, stateSize> DDPSolver< precision, stateSize, commandSize >::commandR_stateC_stateD_t[stateSize]
template<typename precision , int stateSize, int commandSize>
typedef Eigen::Matrix<precision, commandSize, stateSize> DDPSolver< precision, stateSize, commandSize >::commandR_stateC_t
template<typename precision , int stateSize, int commandSize>
typedef std::vector<commandR_stateC_t> DDPSolver< precision, stateSize, commandSize >::commandR_stateC_tab_t
template<typename precision , int stateSize, int commandSize>
typedef Eigen::Matrix<precision, commandSize, 1> DDPSolver< precision, stateSize, commandSize >::commandVec_t
template<typename precision , int stateSize, int commandSize>
typedef std::vector<commandVec_t> DDPSolver< precision, stateSize, commandSize >::commandVecTab_t
template<typename precision , int stateSize, int commandSize>
typedef Eigen::Matrix<precision, 1, commandSize> DDPSolver< precision, stateSize, commandSize >::commandVecTrans_t
template<typename precision , int stateSize, int commandSize>
typedef CostFunction<precision, stateSize, commandSize> DDPSolver< precision, stateSize, commandSize >::CostFunction_t
template<typename precision , int stateSize, int commandSize>
typedef DynamicModel<precision, stateSize, commandSize> DDPSolver< precision, stateSize, commandSize >::DynamicModel_t
template<typename precision , int stateSize, int commandSize>
typedef Eigen::Matrix<precision, stateSize, stateSize> DDPSolver< precision, stateSize, commandSize >::stateMat_t
template<typename precision , int stateSize, int commandSize>
typedef Eigen::Matrix<precision, stateSize, commandSize> DDPSolver< precision, stateSize, commandSize >::stateR_commandC_commandD_t[commandSize]
template<typename precision , int stateSize, int commandSize>
typedef Eigen::Matrix<precision, stateSize, commandSize> DDPSolver< precision, stateSize, commandSize >::stateR_commandC_stateD_t[stateSize]
template<typename precision , int stateSize, int commandSize>
typedef Eigen::Matrix<precision, stateSize, commandSize> DDPSolver< precision, stateSize, commandSize >::stateR_commandC_t
template<typename precision , int stateSize, int commandSize>
typedef Eigen::Matrix<precision, stateSize, stateSize> DDPSolver< precision, stateSize, commandSize >::stateR_stateC_commandD_t[commandSize]
template<typename precision , int stateSize, int commandSize>
typedef Eigen::Matrix<precision, stateSize, 1> DDPSolver< precision, stateSize, commandSize >::stateVec_t
template<typename precision , int stateSize, int commandSize>
typedef std::vector<stateVec_t> DDPSolver< precision, stateSize, commandSize >::stateVecTab_t
template<typename precision , int stateSize, int commandSize>
typedef Eigen::Matrix<precision, 1, stateSize> DDPSolver< precision, stateSize, commandSize >::stateVecTrans_t

Constructor & Destructor Documentation

template<typename precision , int stateSize, int commandSize>
DDPSolver< precision, stateSize, commandSize >::DDPSolver ( DynamicModel_t myDynamicModel,
CostFunction_t myCostFunction,
bool  fullDDP = 0,
bool  QPBox = 0 
)
inline

Member Function Documentation

template<typename precision , int stateSize, int commandSize>
void DDPSolver< precision, stateSize, commandSize >::FirstInitSolver ( stateVec_t myxInit,
stateVec_t myxDes,
unsigned int &  myT,
double &  mydt,
unsigned int &  myiterMax,
double &  mystopCrit 
)
inline
template<typename precision , int stateSize, int commandSize>
void DDPSolver< precision, stateSize, commandSize >::forwardLoop ( )
inline
template<typename precision , int stateSize, int commandSize>
DDPSolver::commandVec_t DDPSolver< precision, stateSize, commandSize >::getLastCommand ( )
inline
template<typename precision , int stateSize, int commandSize>
DDPSolver::traj DDPSolver< precision, stateSize, commandSize >::getLastSolvedTrajectory ( )
inline
template<typename precision , int stateSize, int commandSize>
void DDPSolver< precision, stateSize, commandSize >::initSolver ( stateVec_t myxInit,
stateVec_t myxDes 
)
inline
template<typename precision , int stateSize, int commandSize>
void DDPSolver< precision, stateSize, commandSize >::initTrajectory ( )
inline
template<typename precision , int stateSize, int commandSize>
bool DDPSolver< precision, stateSize, commandSize >::isQuudefinitePositive ( const commandMat_t Quu_reg)
inline
template<typename precision , int stateSize, int commandSize>
commandVec_t DDPSolver< precision, stateSize, commandSize >::solveTrajectory ( )
inline