GCOP  1.0
Public Types | Public Member Functions | Public Attributes
gcop::SensorCost< T, _nx, _nu, _np, Tz, _nz > Class Template Reference

#include <sensorcost.h>

Inheritance diagram for gcop::SensorCost< T, _nx, _nu, _np, Tz, _nz >:
Inheritance graph
[legend]
Collaboration diagram for gcop::SensorCost< T, _nx, _nu, _np, Tz, _nz >:
Collaboration graph
[legend]

List of all members.

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
typedef Matrix< double, _nz, 1 > Vectorrd
typedef Matrix< double, _nz, _nz > Matrixrd
typedef Matrix< double, _nz, _nx > Matrixrnd
typedef Matrix< double, _nz, _nu > Matrixrcd
typedef Matrix< double, _nz, _np > Matrixrmd

Public Member Functions

 SensorCost (System< T, _nx, _nu, _np > &sys, Manifold< Tz, _nz > &Z)
virtual double L (double t, const Tz &z, const Vectornd &w, const Vectormd &p, double h, Vectornd *Lw=0, Matrixnd *Lww=0, Vectormd *Lp=0, Matrixmd *Lpp=0, Vectorrd *Lz=0, Matrixrd *Lzz=0, Matrixmnd *Lpw=0, Matrixrnd *Lzw=0, Matrixrmd *Lzp=0)
virtual double Lp (const Vectormd &p, Vectormd *Lp=0, Matrixmd *Lpp=0)

Public Attributes

System< T, _nx, _nu, _np > & sys
 system
Manifold< Tz, _nz > & Z
 system

Detailed Description

template<typename T = VectorXd, int _nx = Dynamic, int _nu = Dynamic, int _np = Dynamic, typename Tz = VectorXd, int _nz = Dynamic>
class gcop::SensorCost< T, _nx, _nu, _np, Tz, _nz >

Cost interface for optimal control on sensor manifold. (Estimation Problems) Defines a cost function and means to compute difference between two states on a sensor 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)

This defines cost only for a single sensor. Multiple sensors will and multiple systems based cost functions should be adapted somehow

Author1: Marin Kobilarov marin(at)jhu.edu

Author2: Gowtham Garimella ggarime1(at)jhu.edu


Member Typedef Documentation

template<typename T = VectorXd, int _nx = Dynamic, int _nu = Dynamic, int _np = Dynamic, typename Tz = VectorXd, int _nz = Dynamic>
typedef Matrix<double, _nu, _nu> gcop::SensorCost< T, _nx, _nu, _np, Tz, _nz >::Matrixcd
template<typename T = VectorXd, int _nx = Dynamic, int _nu = Dynamic, int _np = Dynamic, typename Tz = VectorXd, int _nz = Dynamic>
typedef Matrix<double, _nu, _nx> gcop::SensorCost< T, _nx, _nu, _np, Tz, _nz >::Matrixcnd
template<typename T = VectorXd, int _nx = Dynamic, int _nu = Dynamic, int _np = Dynamic, typename Tz = VectorXd, int _nz = Dynamic>
typedef Matrix<double, _np, _np> gcop::SensorCost< T, _nx, _nu, _np, Tz, _nz >::Matrixmd
template<typename T = VectorXd, int _nx = Dynamic, int _nu = Dynamic, int _np = Dynamic, typename Tz = VectorXd, int _nz = Dynamic>
typedef Matrix<double, _np, _nx> gcop::SensorCost< T, _nx, _nu, _np, Tz, _nz >::Matrixmnd
template<typename T = VectorXd, int _nx = Dynamic, int _nu = Dynamic, int _np = Dynamic, typename Tz = VectorXd, int _nz = Dynamic>
typedef Matrix<double, _nx, _nu> gcop::SensorCost< T, _nx, _nu, _np, Tz, _nz >::Matrixncd
template<typename T = VectorXd, int _nx = Dynamic, int _nu = Dynamic, int _np = Dynamic, typename Tz = VectorXd, int _nz = Dynamic>
typedef Matrix<double, _nx, _nx> gcop::SensorCost< T, _nx, _nu, _np, Tz, _nz >::Matrixnd
template<typename T = VectorXd, int _nx = Dynamic, int _nu = Dynamic, int _np = Dynamic, typename Tz = VectorXd, int _nz = Dynamic>
typedef Matrix<double, _nx, _np> gcop::SensorCost< T, _nx, _nu, _np, Tz, _nz >::Matrixnmd
template<typename T = VectorXd, int _nx = Dynamic, int _nu = Dynamic, int _np = Dynamic, typename Tz = VectorXd, int _nz = Dynamic>
typedef Matrix<double, _nz, _nu> gcop::SensorCost< T, _nx, _nu, _np, Tz, _nz >::Matrixrcd
template<typename T = VectorXd, int _nx = Dynamic, int _nu = Dynamic, int _np = Dynamic, typename Tz = VectorXd, int _nz = Dynamic>
typedef Matrix<double, _nz, _nz> gcop::SensorCost< T, _nx, _nu, _np, Tz, _nz >::Matrixrd
template<typename T = VectorXd, int _nx = Dynamic, int _nu = Dynamic, int _np = Dynamic, typename Tz = VectorXd, int _nz = Dynamic>
typedef Matrix<double, _nz, _np> gcop::SensorCost< T, _nx, _nu, _np, Tz, _nz >::Matrixrmd
template<typename T = VectorXd, int _nx = Dynamic, int _nu = Dynamic, int _np = Dynamic, typename Tz = VectorXd, int _nz = Dynamic>
typedef Matrix<double, _nz, _nx> gcop::SensorCost< T, _nx, _nu, _np, Tz, _nz >::Matrixrnd
template<typename T = VectorXd, int _nx = Dynamic, int _nu = Dynamic, int _np = Dynamic, typename Tz = VectorXd, int _nz = Dynamic>
typedef Matrix<double, _nu, 1> gcop::SensorCost< T, _nx, _nu, _np, Tz, _nz >::Vectorcd
template<typename T = VectorXd, int _nx = Dynamic, int _nu = Dynamic, int _np = Dynamic, typename Tz = VectorXd, int _nz = Dynamic>
typedef Matrix<double, _np, 1> gcop::SensorCost< T, _nx, _nu, _np, Tz, _nz >::Vectormd
template<typename T = VectorXd, int _nx = Dynamic, int _nu = Dynamic, int _np = Dynamic, typename Tz = VectorXd, int _nz = Dynamic>
typedef Matrix<double, _nx, 1> gcop::SensorCost< T, _nx, _nu, _np, Tz, _nz >::Vectornd
template<typename T = VectorXd, int _nx = Dynamic, int _nu = Dynamic, int _np = Dynamic, typename Tz = VectorXd, int _nz = Dynamic>
typedef Matrix<double, _nz, 1> gcop::SensorCost< T, _nx, _nu, _np, Tz, _nz >::Vectorrd

Constructor & Destructor Documentation

template<typename T, int _nx, int _nu, int _np, typename Tz, int _nz>
gcop::SensorCost< T, _nx, _nu, _np, Tz, _nz >::SensorCost ( System< T, _nx, _nu, _np > &  sys,
Manifold< Tz, _nz > &  Z 
)

create a cost interface

Parameters:
sysprovides the system manifold X for performing addition and substraction of states
Zprovides sensor manifold for performing addition and substraction of measurements

Member Function Documentation

template<typename T , int _nx, int _nu, int _np, typename Tz, int _nz>
double gcop::SensorCost< T, _nx, _nu, _np, Tz, _nz >::L ( double  t,
const Tz &  z,
const Vectornd w,
const Vectormd p,
double  h,
Vectornd Lw = 0,
Matrixnd Lww = 0,
Vectormd Lp = 0,
Matrixmd Lpp = 0,
Vectorrd Lz = 0,
Matrixrd Lzz = 0,
Matrixmnd Lpw = 0,
Matrixrnd Lzw = 0,
Matrixrmd Lzp = 0 
) [virtual]

Time dependent Cost function L_i with noise as a part of cost function (Optimal Estimation)

Parameters:
ttime
zsensor measurement
wnoise
htime-step
Lwderivative wrt w
Lpderivative wrt p
Lzderivative wrt z
Lppderivative wrt p,p
Lwwderivative wrt w,w
Lzzderivative wrt z,z
Lpwderivative wrt p,w
Lzwderivative wrt z,w
Lzpderivative wrt z,p
template<typename T , int _nx, int _nu, int _np, typename Tz , int _nz>
double gcop::SensorCost< T, _nx, _nu, _np, Tz, _nz >::Lp ( const Vectormd p,
Vectormd Lp = 0,
Matrixmd Lpp = 0 
) [virtual]

Part of cost function which is independent of time and only dependent on parameters The net cost for a trajectory is sum i:1->N [L_i] + Lp

Parameters:
pparameters
Lpderivative wrt p
Lppderivative wrt p,p

Reimplemented in gcop::LqSensorCost< T, _nx, _nu, _np, _ng, Tz, _nz >, and gcop::LqSensorCost< Matrix< double, _nx, 1 >, _nx, _nu, _np, _ng, Matrix< double, _nz, 1 >, _nz >.


Member Data Documentation

template<typename T = VectorXd, int _nx = Dynamic, int _nu = Dynamic, int _np = Dynamic, typename Tz = VectorXd, int _nz = Dynamic>
System<T, _nx, _nu, _np>& gcop::SensorCost< T, _nx, _nu, _np, Tz, _nz >::sys

system

template<typename T = VectorXd, int _nx = Dynamic, int _nu = Dynamic, int _np = Dynamic, typename Tz = VectorXd, int _nz = Dynamic>
Manifold<Tz, _nz>& gcop::SensorCost< T, _nx, _nu, _np, Tz, _nz >::Z

system


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