GCOP  1.0
Public Member Functions | Public Attributes
gcop::GnDocp< T, _nx, _nu, _np, _ng, _ntp > Class Template Reference

#include <gndocp.h>

Inheritance diagram for gcop::GnDocp< T, _nx, _nu, _np, _ng, _ntp >:
Inheritance graph
[legend]
Collaboration diagram for gcop::GnDocp< T, _nx, _nu, _np, _ng, _ntp >:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 GnDocp (System< T, _nx, _nu, _np > &sys, LqCost< T, _nx, _nu, _np, _ng > &cost, Tparam< T, _nx, _nu, _np, _ntp > &tparam, vector< double > &ts, vector< T > &xs, vector< Vectorcd > &us, Vectormd *p=0, bool update=true)
virtual ~GnDocp ()
void Iterate ()
 GnDocp (System< T, _nx, _nu, _np > &sys, LqCost< T, _nx, _nu, _np, _ng > &cost, Tparam< T, _nx, _nu, _np, _ntp > &tparam, vector< double > &ts, vector< T > &xs, vector< Vectorcd > &us, Vectormd *p=0, bool update=true)
virtual ~GnDocp ()
void Iterate ()

Public Attributes

Tparam< T, _nx, _nu, _np, _ntp > & tparam
int info
double fnorm
double covfac
int inputs
int values
double numdiff_stepsize
 The step size for perturbations.
VectorXd s
 optimization vector
GnCost< T, _nx, _nu, _np, _ng,
_ntp > * 
functor
NumericalDiff< GnCost< T, _nx,
_nu, _np, _ng, _ntp >
, NumericalDiffMode::Central > * 
numDiff
LevenbergMarquardt
< NumericalDiff< GnCost< T,
_nx, _nu, _np, _ng, _ntp >
, NumericalDiffMode::Central > > * 
lm
SampleNumericalDiff< GnCost< T,
_nx, _nu, _np, _ng, _ntp > > * 
numDiff
LevenbergMarquardt
< SampleNumericalDiff< GnCost
< T, _nx, _nu, _np, _ng, _ntp > > > * 
lm

template<typename T, int _nx = Dynamic, int _nu = Dynamic, int _np = Dynamic, int _ng = Dynamic, int _ntp = Dynamic>
class gcop::GnDocp< T, _nx, _nu, _np, _ng, _ntp >


Constructor & Destructor Documentation

template<typename T , int _nx, int _nu, int _np, int _ng, int _ntp>
gcop::GnDocp< T, _nx, _nu, _np, _ng, _ntp >::GnDocp ( System< T, _nx, _nu, _np > &  sys,
LqCost< T, _nx, _nu, _np, _ng > &  cost,
Tparam< T, _nx, _nu, _np, _ntp > &  tparam,
vector< double > &  ts,
vector< T > &  xs,
vector< Vectorcd > &  us,
Vectormd *  p = 0,
bool  update = true 
)

Create an optimal control problem using a system, a cost, and a trajectory given by a sequence of times, states, and controls. The times ts must be given, the initial state xs[0] must be set, and the controls us will be used as an initial guess for the optimization.

After initialization, every call to Iterate() will optimize the controls us and states xs and modify them accordingly. Problems involving time-optimization will also modify the sequence of times ts.

Parameters:
syssystem
costcost
tparamtrajectory parametrization
ts(N+1) sequence of discrete times
xs(N+1) sequence of discrete states
us(N) sequence of control inputs
pstatic parameter vector
ng
updatewhether to update trajectory xs using initial state xs[0] and inputs us. This is necessary only if xs was not already generated from us.

References gcop::Docp< T, _nx, _nu, _np >::nofevaluations, gcop::Tparam< T, nx, nu, np, _ntp, Tc >::ntp, gcop::Tparam< T, nx, nu, np, _ntp, Tc >::To(), gcop::Docp< T, _nx, _nu, _np >::Update(), and gcop::Docp< T, _nx, _nu, _np >::us.

template<typename T , int _nx, int _nu, int _np, int _ng, int _ntp>
gcop::GnDocp< T, _nx, _nu, _np, _ng, _ntp >::~GnDocp ( ) [virtual]
template<typename T , int _nx = Dynamic, int _nu = Dynamic, int _np = Dynamic, int _ng = Dynamic, int _ntp = Dynamic>
gcop::GnDocp< T, _nx, _nu, _np, _ng, _ntp >::GnDocp ( System< T, _nx, _nu, _np > &  sys,
LqCost< T, _nx, _nu, _np, _ng > &  cost,
Tparam< T, _nx, _nu, _np, _ntp > &  tparam,
vector< double > &  ts,
vector< T > &  xs,
vector< Vectorcd > &  us,
Vectormd *  p = 0,
bool  update = true 
)

Create an optimal control problem using a system, a cost, and a trajectory given by a sequence of times, states, and controls. The times ts must be given, the initial state xs[0] must be set, and the controls us will be used as an initial guess for the optimization.

After initialization, every call to Iterate() will optimize the controls us and states xs and modify them accordingly. Problems involving time-optimization will also modify the sequence of times ts.

Parameters:
syssystem
costcost
tparamtrajectory parametrization
ts(N+1) sequence of discrete times
xs(N+1) sequence of discrete states
us(N) sequence of control inputs
pstatic parameter vector
ng
updatewhether to update trajectory xs using initial state xs[0] and inputs us. This is necessary only if xs was not already generated from us.
template<typename T , int _nx = Dynamic, int _nu = Dynamic, int _np = Dynamic, int _ng = Dynamic, int _ntp = Dynamic>
virtual gcop::GnDocp< T, _nx, _nu, _np, _ng, _ntp >::~GnDocp ( ) [virtual]

Member Function Documentation

template<typename T , int _nx = Dynamic, int _nu = Dynamic, int _np = Dynamic, int _ng = Dynamic, int _ntp = Dynamic>
void gcop::GnDocp< T, _nx, _nu, _np, _ng, _ntp >::Iterate ( ) [virtual]

Perform one DOCP iteration. Internally calls: are updated.

Reimplemented from gcop::Docp< T, _nx, _nu, _np >.

template<typename T , int _nx, int _nu, int _np, int _ng, int _ntp>
void gcop::GnDocp< T, _nx, _nu, _np, _ng, _ntp >::Iterate ( ) [virtual]

Perform one DOCP iteration. Internally calls: are updated.

Reimplemented from gcop::Docp< T, _nx, _nu, _np >.

References gcop::GnCost< T, _nx, _nu, _np, _ng, _ntp >::docp.


Member Data Documentation

template<typename T , int _nx = Dynamic, int _nu = Dynamic, int _np = Dynamic, int _ng = Dynamic, int _ntp = Dynamic>
double gcop::GnDocp< T, _nx, _nu, _np, _ng, _ntp >::covfac
template<typename T , int _nx = Dynamic, int _nu = Dynamic, int _np = Dynamic, int _ng = Dynamic, int _ntp = Dynamic>
double gcop::GnDocp< T, _nx, _nu, _np, _ng, _ntp >::fnorm
template<typename T , int _nx = Dynamic, int _nu = Dynamic, int _np = Dynamic, int _ng = Dynamic, int _ntp = Dynamic>
GnCost< T, _nx, _nu, _np, _ng, _ntp > * gcop::GnDocp< T, _nx, _nu, _np, _ng, _ntp >::functor
template<typename T , int _nx = Dynamic, int _nu = Dynamic, int _np = Dynamic, int _ng = Dynamic, int _ntp = Dynamic>
int gcop::GnDocp< T, _nx, _nu, _np, _ng, _ntp >::info
template<typename T , int _nx = Dynamic, int _nu = Dynamic, int _np = Dynamic, int _ng = Dynamic, int _ntp = Dynamic>
int gcop::GnDocp< T, _nx, _nu, _np, _ng, _ntp >::inputs
template<typename T , int _nx = Dynamic, int _nu = Dynamic, int _np = Dynamic, int _ng = Dynamic, int _ntp = Dynamic>
LevenbergMarquardt<SampleNumericalDiff<GnCost<T, _nx, _nu, _np, _ng, _ntp> > >* gcop::GnDocp< T, _nx, _nu, _np, _ng, _ntp >::lm
template<typename T , int _nx = Dynamic, int _nu = Dynamic, int _np = Dynamic, int _ng = Dynamic, int _ntp = Dynamic>
LevenbergMarquardt<NumericalDiff<GnCost<T, _nx, _nu, _np, _ng, _ntp>, NumericalDiffMode::Central> >* gcop::GnDocp< T, _nx, _nu, _np, _ng, _ntp >::lm
template<typename T , int _nx = Dynamic, int _nu = Dynamic, int _np = Dynamic, int _ng = Dynamic, int _ntp = Dynamic>
SampleNumericalDiff<GnCost<T, _nx, _nu, _np, _ng, _ntp> >* gcop::GnDocp< T, _nx, _nu, _np, _ng, _ntp >::numDiff
template<typename T , int _nx = Dynamic, int _nu = Dynamic, int _np = Dynamic, int _ng = Dynamic, int _ntp = Dynamic>
NumericalDiff<GnCost<T, _nx, _nu, _np, _ng, _ntp>, NumericalDiffMode::Central>* gcop::GnDocp< T, _nx, _nu, _np, _ng, _ntp >::numDiff
template<typename T , int _nx = Dynamic, int _nu = Dynamic, int _np = Dynamic, int _ng = Dynamic, int _ntp = Dynamic>
double gcop::GnDocp< T, _nx, _nu, _np, _ng, _ntp >::numdiff_stepsize

The step size for perturbations.

template<typename T , int _nx = Dynamic, int _nu = Dynamic, int _np = Dynamic, int _ng = Dynamic, int _ntp = Dynamic>
VectorXd gcop::GnDocp< T, _nx, _nu, _np, _ng, _ntp >::s

optimization vector

template<typename T , int _nx = Dynamic, int _nu = Dynamic, int _np = Dynamic, int _ng = Dynamic, int _ntp = Dynamic>
Tparam< T, _nx, _nu, _np, _ntp > & gcop::GnDocp< T, _nx, _nu, _np, _ng, _ntp >::tparam
template<typename T , int _nx = Dynamic, int _nu = Dynamic, int _np = Dynamic, int _ng = Dynamic, int _ntp = Dynamic>
int gcop::GnDocp< T, _nx, _nu, _np, _ng, _ntp >::values

The documentation for this class was generated from the following files: