GCOP  1.0
Public Member Functions | Public Attributes
gcop::GnDoep1< T, _nx, _nu, _np, _ng, Tz, _nz, T1, _nx1 > Class Template Reference

#include <gndoepv2.h>

Inheritance diagram for gcop::GnDoep1< T, _nx, _nu, _np, _ng, Tz, _nz, T1, _nx1 >:
Inheritance graph
[legend]
Collaboration diagram for gcop::GnDoep1< T, _nx, _nu, _np, _ng, Tz, _nz, T1, _nx1 >:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 GnDoep1 (System< T, _nx, _nu, _np > &sys, Sensor< T1, _nx1, _nu, _np, Tz, _nz > &sensor, LqSensorCost< T, _nx, _nu, _np, _ng, Tz, _nz > &cost, vector< double > &ts, vector< T > &xs, vector< Vectorcd > &us, Vectormd &p, vector< double > &ts1, Func_type _project=NULL, bool update=true)
virtual ~GnDoep1 ()
void Iterate ()

Public Attributes

int info
double fnorm
double covfac
int inputs
int values
VectorXd s
 optimization vector
GnCost< T, _nx, _nu, _np, _ng,
Tz, _nz, T1, _nx1 > * 
functor
NumericalDiff< GnCost< T, _nx,
_nu, _np, _ng, Tz, _nz, T1,
_nx1 > > * 
numDiff
LevenbergMarquardt
< NumericalDiff< GnCost< T,
_nx, _nu, _np, _ng, Tz, _nz,
T1, _nx1 > > > * 
lm

template<typename T = VectorXd, int _nx = Dynamic, int _nu = Dynamic, int _np = Dynamic, int _ng = Dynamic, typename Tz = VectorXd, int _nz = Dynamic, typename T1 = T, int _nx1 = _nx>
class gcop::GnDoep1< T, _nx, _nu, _np, _ng, Tz, _nz, T1, _nx1 >


Constructor & Destructor Documentation

template<typename T , int _nx, int _nu, int _np, int _ng, typename Tz , int _nz, typename T1 , int _nx1>
gcop::GnDoep1< T, _nx, _nu, _np, _ng, Tz, _nz, T1, _nx1 >::GnDoep1 ( System< T, _nx, _nu, _np > &  sys,
Sensor< T1, _nx1, _nu, _np, Tz, _nz > &  sensor,
LqSensorCost< T, _nx, _nu, _np, _ng, Tz, _nz > &  cost,
vector< double > &  ts,
vector< T > &  xs,
vector< Vectorcd > &  us,
Vectormd &  p,
vector< double > &  ts1,
Func_type  _project = NULL,
bool  update = true 
)

Create an optimal estimation problem using a system, sensor, a cost, and sensor measurements and parameters of the system.

The optimal estimation is done over selecting the right parameters for the system and also process noise to ensure the estimation cost on sensor measurements and noise is minimized Parameters can also have a prior which is added into the cost function. The parameters passed in here are used as initial guess to the system

You should set the ts[1:N+1], xs[0]; Known controls us

After initialization, every call to Iterate() will optimize the parameters of the system, process noise and modify them accordingly.

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 initial guess of it
ng
_projectOptional function to project T into T1. Not needed if T == T1
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::GnDoep1< T, _nx, _nu, _np, _ng, Tz, _nz, T1, _nx1 >::inputs, gcop::Doep< T, _nx, _nu, _np, Tz, _nz, T1, _nx1 >::Update(), and gcop::GnDoep1< T, _nx, _nu, _np, _ng, Tz, _nz, T1, _nx1 >::values.

template<typename T , int _nx, int _nu, int _np, int _ng, typename Tz , int _nz, typename T1 , int _nx1>
gcop::GnDoep1< T, _nx, _nu, _np, _ng, Tz, _nz, T1, _nx1 >::~GnDoep1 ( ) [virtual]

Member Function Documentation

template<typename T , int _nx, int _nu, int _np, int _ng, typename Tz , int _nz, typename T1 , int _nx1>
void gcop::GnDoep1< T, _nx, _nu, _np, _ng, Tz, _nz, T1, _nx1 >::Iterate ( ) [virtual]

Perform one DOCP iteration. Internally calls: are updated.

Reimplemented from gcop::Doep< T, _nx, _nu, _np, Tz, _nz, T1, _nx1 >.

References gcop::GnCost< T, _nx, _nu, _np, _ng, _ntp >::doep, and np.


Member Data Documentation

template<typename T = VectorXd, int _nx = Dynamic, int _nu = Dynamic, int _np = Dynamic, int _ng = Dynamic, typename Tz = VectorXd, int _nz = Dynamic, typename T1 = T, int _nx1 = _nx>
double gcop::GnDoep1< T, _nx, _nu, _np, _ng, Tz, _nz, T1, _nx1 >::covfac
template<typename T = VectorXd, int _nx = Dynamic, int _nu = Dynamic, int _np = Dynamic, int _ng = Dynamic, typename Tz = VectorXd, int _nz = Dynamic, typename T1 = T, int _nx1 = _nx>
double gcop::GnDoep1< T, _nx, _nu, _np, _ng, Tz, _nz, T1, _nx1 >::fnorm
template<typename T = VectorXd, int _nx = Dynamic, int _nu = Dynamic, int _np = Dynamic, int _ng = Dynamic, typename Tz = VectorXd, int _nz = Dynamic, typename T1 = T, int _nx1 = _nx>
GnCost<T, _nx, _nu, _np, _ng, Tz, _nz, T1, _nx1>* gcop::GnDoep1< T, _nx, _nu, _np, _ng, Tz, _nz, T1, _nx1 >::functor
template<typename T = VectorXd, int _nx = Dynamic, int _nu = Dynamic, int _np = Dynamic, int _ng = Dynamic, typename Tz = VectorXd, int _nz = Dynamic, typename T1 = T, int _nx1 = _nx>
int gcop::GnDoep1< T, _nx, _nu, _np, _ng, Tz, _nz, T1, _nx1 >::info
template<typename T = VectorXd, int _nx = Dynamic, int _nu = Dynamic, int _np = Dynamic, int _ng = Dynamic, typename Tz = VectorXd, int _nz = Dynamic, typename T1 = T, int _nx1 = _nx>
int gcop::GnDoep1< T, _nx, _nu, _np, _ng, Tz, _nz, T1, _nx1 >::inputs
template<typename T = VectorXd, int _nx = Dynamic, int _nu = Dynamic, int _np = Dynamic, int _ng = Dynamic, typename Tz = VectorXd, int _nz = Dynamic, typename T1 = T, int _nx1 = _nx>
LevenbergMarquardt<NumericalDiff<GnCost<T, _nx, _nu, _np, _ng, Tz, _nz, T1, _nx1> > >* gcop::GnDoep1< T, _nx, _nu, _np, _ng, Tz, _nz, T1, _nx1 >::lm
template<typename T = VectorXd, int _nx = Dynamic, int _nu = Dynamic, int _np = Dynamic, int _ng = Dynamic, typename Tz = VectorXd, int _nz = Dynamic, typename T1 = T, int _nx1 = _nx>
NumericalDiff<GnCost<T, _nx, _nu, _np, _ng, Tz, _nz, T1, _nx1> >* gcop::GnDoep1< T, _nx, _nu, _np, _ng, Tz, _nz, T1, _nx1 >::numDiff
template<typename T = VectorXd, int _nx = Dynamic, int _nu = Dynamic, int _np = Dynamic, int _ng = Dynamic, typename Tz = VectorXd, int _nz = Dynamic, typename T1 = T, int _nx1 = _nx>
VectorXd gcop::GnDoep1< T, _nx, _nu, _np, _ng, Tz, _nz, T1, _nx1 >::s

optimization vector

template<typename T = VectorXd, int _nx = Dynamic, int _nu = Dynamic, int _np = Dynamic, int _ng = Dynamic, typename Tz = VectorXd, int _nz = Dynamic, typename T1 = T, int _nx1 = _nx>
int gcop::GnDoep1< T, _nx, _nu, _np, _ng, Tz, _nz, T1, _nx1 >::values

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