All Classes Files Functions Variables Typedefs Macros
CostFunction< precision, stateSize, commandSize > Class Template Referenceabstract

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

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, stateSize,
stateSize > 
stateTens_t [stateSize]
 
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, commandSize,
commandSize > 
commandTens_t [commandSize]
 
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]
 

Public Member Functions

virtual void computeCostAndDeriv (const stateVec_t &X, const stateVec_t &Xdes, const commandVec_t &U)=0
 
virtual void computeFinalCostAndDeriv (const stateVec_t &X, const stateVec_t &Xdes)=0
 
double & getRunningCost ()
 
double & getFinalCost ()
 
stateVec_tgetlx ()
 
stateMat_tgetlxx ()
 
commandVec_tgetlu ()
 
commandMat_tgetluu ()
 
commandR_stateC_tgetlux ()
 
stateR_commandC_tgetlxu ()
 

Protected Attributes

double dt
 
double final_cost
 
double running_cost
 
stateVec_t lx
 
stateMat_t lxx
 
commandVec_t lu
 
commandMat_t luu
 
commandR_stateC_t lux
 
stateR_commandC_t lxu
 

Member Typedef Documentation

template<typename precision , int stateSize, int commandSize>
typedef Eigen::Matrix<precision,commandSize,commandSize> CostFunction< precision, stateSize, commandSize >::commandMat_t
template<typename precision , int stateSize, int commandSize>
typedef Eigen::Matrix<precision,commandSize,commandSize> CostFunction< precision, stateSize, commandSize >::commandR_commandC_stateD_t[stateSize]
template<typename precision , int stateSize, int commandSize>
typedef Eigen::Matrix<precision,commandSize,stateSize> CostFunction< precision, stateSize, commandSize >::commandR_stateC_commandD_t[commandSize]
template<typename precision , int stateSize, int commandSize>
typedef Eigen::Matrix<precision,commandSize,stateSize> CostFunction< precision, stateSize, commandSize >::commandR_stateC_stateD_t[stateSize]
template<typename precision , int stateSize, int commandSize>
typedef Eigen::Matrix<precision,commandSize,stateSize> CostFunction< precision, stateSize, commandSize >::commandR_stateC_t
template<typename precision , int stateSize, int commandSize>
typedef Eigen::Matrix<precision,commandSize,commandSize> CostFunction< precision, stateSize, commandSize >::commandTens_t[commandSize]
template<typename precision , int stateSize, int commandSize>
typedef Eigen::Matrix<precision,commandSize,1> CostFunction< precision, stateSize, commandSize >::commandVec_t
template<typename precision , int stateSize, int commandSize>
typedef Eigen::Matrix<precision,1,commandSize> CostFunction< precision, stateSize, commandSize >::commandVecTrans_t
template<typename precision , int stateSize, int commandSize>
typedef Eigen::Matrix<precision,stateSize,stateSize> CostFunction< precision, stateSize, commandSize >::stateMat_t
template<typename precision , int stateSize, int commandSize>
typedef Eigen::Matrix<precision,stateSize,commandSize> CostFunction< precision, stateSize, commandSize >::stateR_commandC_commandD_t[commandSize]
template<typename precision , int stateSize, int commandSize>
typedef Eigen::Matrix<precision,stateSize,commandSize> CostFunction< precision, stateSize, commandSize >::stateR_commandC_stateD_t[stateSize]
template<typename precision , int stateSize, int commandSize>
typedef Eigen::Matrix<precision,stateSize,commandSize> CostFunction< precision, stateSize, commandSize >::stateR_commandC_t
template<typename precision , int stateSize, int commandSize>
typedef Eigen::Matrix<precision,stateSize,stateSize> CostFunction< precision, stateSize, commandSize >::stateR_stateC_commandD_t[commandSize]
template<typename precision , int stateSize, int commandSize>
typedef Eigen::Matrix<precision,stateSize,stateSize> CostFunction< precision, stateSize, commandSize >::stateTens_t[stateSize]
template<typename precision , int stateSize, int commandSize>
typedef Eigen::Matrix<precision,stateSize,1> CostFunction< precision, stateSize, commandSize >::stateVec_t
template<typename precision , int stateSize, int commandSize>
typedef Eigen::Matrix<precision,1,stateSize> CostFunction< precision, stateSize, commandSize >::stateVecTrans_t

Member Function Documentation

template<typename precision , int stateSize, int commandSize>
virtual void CostFunction< precision, stateSize, commandSize >::computeCostAndDeriv ( const stateVec_t X,
const stateVec_t Xdes,
const commandVec_t U 
)
pure virtual
template<typename precision , int stateSize, int commandSize>
virtual void CostFunction< precision, stateSize, commandSize >::computeFinalCostAndDeriv ( const stateVec_t X,
const stateVec_t Xdes 
)
pure virtual
template<typename precision , int stateSize, int commandSize>
double& CostFunction< precision, stateSize, commandSize >::getFinalCost ( )
inline
template<typename precision , int stateSize, int commandSize>
commandVec_t& CostFunction< precision, stateSize, commandSize >::getlu ( )
inline
template<typename precision , int stateSize, int commandSize>
commandMat_t& CostFunction< precision, stateSize, commandSize >::getluu ( )
inline
template<typename precision , int stateSize, int commandSize>
commandR_stateC_t& CostFunction< precision, stateSize, commandSize >::getlux ( )
inline
template<typename precision , int stateSize, int commandSize>
stateVec_t& CostFunction< precision, stateSize, commandSize >::getlx ( )
inline
template<typename precision , int stateSize, int commandSize>
stateR_commandC_t& CostFunction< precision, stateSize, commandSize >::getlxu ( )
inline
template<typename precision , int stateSize, int commandSize>
stateMat_t& CostFunction< precision, stateSize, commandSize >::getlxx ( )
inline
template<typename precision , int stateSize, int commandSize>
double& CostFunction< precision, stateSize, commandSize >::getRunningCost ( )
inline

Member Data Documentation

template<typename precision , int stateSize, int commandSize>
double CostFunction< precision, stateSize, commandSize >::dt
protected
template<typename precision , int stateSize, int commandSize>
double CostFunction< precision, stateSize, commandSize >::final_cost
protected
template<typename precision , int stateSize, int commandSize>
commandVec_t CostFunction< precision, stateSize, commandSize >::lu
protected
template<typename precision , int stateSize, int commandSize>
commandMat_t CostFunction< precision, stateSize, commandSize >::luu
protected
template<typename precision , int stateSize, int commandSize>
commandR_stateC_t CostFunction< precision, stateSize, commandSize >::lux
protected
template<typename precision , int stateSize, int commandSize>
stateVec_t CostFunction< precision, stateSize, commandSize >::lx
protected
template<typename precision , int stateSize, int commandSize>
stateR_commandC_t CostFunction< precision, stateSize, commandSize >::lxu
protected
template<typename precision , int stateSize, int commandSize>
stateMat_t CostFunction< precision, stateSize, commandSize >::lxx
protected
template<typename precision , int stateSize, int commandSize>
double CostFunction< precision, stateSize, commandSize >::running_cost
protected