|
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