| GCOP
    1.0
    | 
#include <multicost.h>


| Public Types | |
| typedef Matrix< double, _nx, 1 > | Vectornd | 
| typedef Matrix< double, _nu, 1 > | Vectorcd | 
| typedef Matrix< double, _np, 1 > | Vectormd | 
| typedef Matrix< double, _nx, _nx > | Matrixnd | 
| typedef Matrix< double, _nx, _nu > | Matrixncd | 
| typedef Matrix< double, _nu, _nx > | Matrixcnd | 
| typedef Matrix< double, _nu, _nu > | Matrixcd | 
| typedef Matrix< double, _np, _np > | Matrixmd | 
| typedef Matrix< double, _nx, _np > | Matrixnmd | 
| typedef Matrix< double, _np, _nx > | Matrixmnd | 
| Public Member Functions | |
| MultiCost (System< T, _nx, _nu, _np > &sys, double tf) | |
| virtual double | L (double t, const T &x, const Vectorcd &u, double h, const Vectormd *p=0, Vectornd *Lx=0, Matrixnd *Lxx=0, Vectorcd *Lu=0, Matrixcd *Luu=0, Matrixncd *Lxu=0, Vectormd *Lp=0, Matrixmd *Lpp=0, Matrixmnd *Lpx=0) | 
| Public Attributes | |
| Vectornd | Lx | 
| Matrixnd | Lxx | 
| Vectorcd | Lu | 
| Matrixcd | Luu | 
| Matrixncd | Lxu | 
| Vectormd | Lp | 
| Matrixmd | Lpp | 
| Matrixmnd | Lpx | 
| vector< Cost< T, _nx, _nu, _np > * > | costs | 
Cost interface for optimal control on manifolds. Defines a cost function and means to compute difference between two states on a manifold.
Subclasses should provide implementation of either a regular const function L or a parameter-dependent cost function Lp (e.g. for sys id / adaptive control / optimal design problems)
Author: Marin Kobilarov marin(at)jhu.edu
| typedef Matrix<double, _nu, _nu> gcop::MultiCost< T, _nx, _nu, _np >::Matrixcd | 
Reimplemented from gcop::Cost< T, _nx, _nu, _np >.
| typedef Matrix<double, _nu, _nx> gcop::MultiCost< T, _nx, _nu, _np >::Matrixcnd | 
Reimplemented from gcop::Cost< T, _nx, _nu, _np >.
| typedef Matrix<double, _np, _np> gcop::MultiCost< T, _nx, _nu, _np >::Matrixmd | 
Reimplemented from gcop::Cost< T, _nx, _nu, _np >.
| typedef Matrix<double, _np, _nx> gcop::MultiCost< T, _nx, _nu, _np >::Matrixmnd | 
Reimplemented from gcop::Cost< T, _nx, _nu, _np >.
| typedef Matrix<double, _nx, _nu> gcop::MultiCost< T, _nx, _nu, _np >::Matrixncd | 
Reimplemented from gcop::Cost< T, _nx, _nu, _np >.
| typedef Matrix<double, _nx, _nx> gcop::MultiCost< T, _nx, _nu, _np >::Matrixnd | 
Reimplemented from gcop::Cost< T, _nx, _nu, _np >.
| typedef Matrix<double, _nx, _np> gcop::MultiCost< T, _nx, _nu, _np >::Matrixnmd | 
Reimplemented from gcop::Cost< T, _nx, _nu, _np >.
| typedef Matrix<double, _nu, 1> gcop::MultiCost< T, _nx, _nu, _np >::Vectorcd | 
Reimplemented from gcop::Cost< T, _nx, _nu, _np >.
| typedef Matrix<double, _np, 1> gcop::MultiCost< T, _nx, _nu, _np >::Vectormd | 
Reimplemented from gcop::Cost< T, _nx, _nu, _np >.
| typedef Matrix<double, _nx, 1> gcop::MultiCost< T, _nx, _nu, _np >::Vectornd | 
Reimplemented from gcop::Cost< T, _nx, _nu, _np >.
| gcop::MultiCost< T, _nx, _nu, _np >::MultiCost | ( | System< T, _nx, _nu, _np > & | sys, | 
| double | tf | ||
| ) | 
create a cost interface
| X | the state manifold which is used to perform addition/subtraction of states | 
| tf | time horizon: when the cost function L is called it will internally check whether its argument t is equation to tf and return the terminal cost | 
References gcop::MultiCost< T, _nx, _nu, _np >::Lp, gcop::MultiCost< T, _nx, _nu, _np >::Lpp, gcop::MultiCost< T, _nx, _nu, _np >::Lpx, gcop::MultiCost< T, _nx, _nu, _np >::Lu, gcop::MultiCost< T, _nx, _nu, _np >::Luu, gcop::MultiCost< T, _nx, _nu, _np >::Lx, gcop::MultiCost< T, _nx, _nu, _np >::Lxu, gcop::MultiCost< T, _nx, _nu, _np >::Lxx, gcop::System< T, _nx, _nu, _np >::P, gcop::System< T, _nx, _nu, _np >::U, and gcop::System< T, _nx, _nu, _np >::X.
| double gcop::MultiCost< T, _nx, _nu, _np >::L | ( | double | t, | 
| const T & | x, | ||
| const Vectorcd & | u, | ||
| double | h, | ||
| const Vectormd * | p = 0, | ||
| Vectornd * | Lx = 0, | ||
| Matrixnd * | Lxx = 0, | ||
| Vectorcd * | Lu = 0, | ||
| Matrixcd * | Luu = 0, | ||
| Matrixncd * | Lxu = 0, | ||
| Vectormd * | Lp = 0, | ||
| Matrixmd * | Lpp = 0, | ||
| Matrixmnd * | Lpx = 0 | ||
| ) |  [virtual] | 
Cost function L
| t | time | 
| x | state | 
| u | control | 
| h | time-step | 
| Lx | derivative wrt x | 
| Lxx | derivative wrt x,x | 
| Lu | derivative wrt u | 
| Luu | derivative wrt u,u | 
| Lxu | derivative wrt x,u | 
Reimplemented from gcop::Cost< T, _nx, _nu, _np >.
| vector<Cost<T, _nx, _nu, _np>* > gcop::MultiCost< T, _nx, _nu, _np >::costs | 
| Vectormd gcop::MultiCost< T, _nx, _nu, _np >::Lp | 
Referenced by gcop::MultiCost< T, _nx, _nu, _np >::MultiCost().
| Matrixmd gcop::MultiCost< T, _nx, _nu, _np >::Lpp | 
Referenced by gcop::MultiCost< T, _nx, _nu, _np >::MultiCost().
| Matrixmnd gcop::MultiCost< T, _nx, _nu, _np >::Lpx | 
Referenced by gcop::MultiCost< T, _nx, _nu, _np >::MultiCost().
| Vectorcd gcop::MultiCost< T, _nx, _nu, _np >::Lu | 
Referenced by gcop::MultiCost< T, _nx, _nu, _np >::MultiCost().
| Matrixcd gcop::MultiCost< T, _nx, _nu, _np >::Luu | 
Referenced by gcop::MultiCost< T, _nx, _nu, _np >::MultiCost().
| Vectornd gcop::MultiCost< T, _nx, _nu, _np >::Lx | 
Referenced by gcop::MultiCost< T, _nx, _nu, _np >::MultiCost().
| Matrixncd gcop::MultiCost< T, _nx, _nu, _np >::Lxu | 
Referenced by gcop::MultiCost< T, _nx, _nu, _np >::MultiCost().
| Matrixnd gcop::MultiCost< T, _nx, _nu, _np >::Lxx | 
Referenced by gcop::MultiCost< T, _nx, _nu, _np >::MultiCost().
 1.7.6.1
 1.7.6.1