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