31 #ifndef ZEROCOSTBOLZA_HPP_ 
   32 #define ZEROCOSTBOLZA_HPP_ 
   34 #include <Eigen/Dense> 
   37 namespace DirectTrajectoryOptimization {
 
   43 template<
class DIMENSIONS>
 
   48     EIGEN_MAKE_ALIGNED_OPERATOR_NEW
 
   50     typedef typename DIMENSIONS::state_vector_t state_vector_t;
 
   51     typedef typename DIMENSIONS::control_vector_t control_vector_t;
 
   55     double phi(
const state_vector_t & x, 
const control_vector_t & u);
 
   56     state_vector_t phi_x(
const state_vector_t &x, 
const control_vector_t & u);
 
   57     control_vector_t phi_u(
const state_vector_t &x, 
const control_vector_t & u);
 
   59     double terminalCost(
const state_vector_t &x_f);
 
   60     state_vector_t terminalCostDerivative(
const state_vector_t &x_f);
 
   65 template <
class DIMENSIONS>
 
   71 template <
class DIMENSIONS>
 
   72 typename DIMENSIONS::state_vector_t ZeroCostBolza<DIMENSIONS>::phi_x(
const state_vector_t & x, 
const control_vector_t & u) {
 
   73     return(state_vector_t::Zero());
 
   76 template <
class DIMENSIONS>
 
   77 typename DIMENSIONS::control_vector_t ZeroCostBolza<DIMENSIONS>::phi_u(
const state_vector_t & x, 
const control_vector_t & u) {
 
   78     return(control_vector_t::Zero());
 
   81 template <
class DIMENSIONS>
 
   82 double ZeroCostBolza<DIMENSIONS>::terminalCost(
const state_vector_t & x_f) {
 
   87 template <
class DIMENSIONS>
 
   88 typename DIMENSIONS::state_vector_t ZeroCostBolza<DIMENSIONS>::terminalCostDerivative(
const state_vector_t & x_f) {
 
   90     return(state_vector_t::Zero());
 
Base class to derive cost function of the type J = sum_k( phi_k(x_k,u_k,k) ) + H(X_K) ...
Base class to derive cost function of the type J = sum_k( phi_k(x_k,u_k,k) ) + H(X_K) ...
Definition: CostFunctionBolza.hpp:44
Cost function with zero intermediate and final costs. 
Definition: ZeroCostBolza.hpp:44