GCOP  1.0
Classes | Typedefs | Functions
gcop Namespace Reference

Classes

class  ASPSA
class  Ba
class  BaCost
class  Body2dGraph
class  Body2dSlam
class  Body2dSlamCost
class  Body3dAvoidController
class  Body3dController
class  Body3dDemController
class  Controller
class  Ddp
class  Docp
class  Doep
class  GavoidController
class  GnDocp
struct  Functor
struct  GnCost
class  SampleNumericalDiff
class  GnDoep
class  GnDoep1
class  MbsController
class  PDdp
class  Point3dController
class  Posegraph2d
class  SDdp
class  SPSA
class  SystemCe
class  TparamDocp
class  Bulletrccar
class  Bulletrccar1
class  Camera
class  Ce
class  Corrector
class  Filter
class  Gmm
class  GP
class  KalmanCorrector
class  KalmanPredictor
class  Predictor
class  UnscentedBase
class  UnscentedCorrector
class  UnscentedPredictor
class  Airbase
class  Airbot
class  Airm
class  Arm
class  Autodiff
class  Body2d
class  Body2dForce
class  Body2dTrack
class  Body3d
class  Body3dTrack
class  Car
class  Chain
class  Chain1
class  Constraint
class  Cylinder
class  Disk
class  PqpDem
class  Shell
class  AirplaneCost
class  Body2dCost
class  Body2dTrackCost
class  Body3dCost
class  Body3dTrackCost
class  ConstraintCost
class  Cost
class  GunicycleCost
class  Kinbody3dCost
class  Kinbody3dTrackCost
class  KinbodyProjTrackCost
class  KinRccarPathCost
class  LqCost
class  LqSensorCost
class  LsCost
class  LsSensorCost
class  MbsLqCost
class  MultiCost
class  PqpDemCost
class  RnLqCost
class  RnLqSensorCost
class  SensorCost
class  Creator
class  Dem
class  Flat
class  Force
class  Gunicycle
class  Heli
class  Hrotor
class  Imu
class  Ins
class  Joint
class  Kinbody2d
class  Kinbody3d
class  Kinbody3dTrack
class  KinbodyProjTrack
class  KinRccar
class  KinRccarPath
class  AirmManifold
class  Body2dManifold
class  Body3dManifold
class  GunicycleManifold
struct  ImuState
class  ImuManifold
struct  InsState
class  InsManifold
class  Kinbody2dManifold
class  Kinbody3dManifold
class  Manifold
class  Manifoldmap
class  MbsCspace
class  MbsManifold
class  MbsState
class  MbsTspace
struct  Point3dState
class  Point3dManifold
class  Rn
struct  UuvState
class  UuvManifold
class  Mbs
class  ControllerTparam
class  ControlTparam
class  FlatOutputTparam
class  SplineTparam
class  Tparam
class  Trajectory
class  UniformSplineTparam
class  Particle2d
class  Point3d
class  Qrotor
class  Rccar
class  Rccar1
class  Gps
class  Gps< Point3dState, 6, _nu, _np >
class  ImuSensor
class  InsGps
class  InsImu
class  Point3dGps
class  Sensor
class  Snake
class  System
class  System_extstep
class  Unicycle
class  Uuv
class  Wrench
class  BulletWorld
class  Function
class  Group
class  Normal
class  Params
class  Quat
class  SE2
class  SE3
class  SO3
class  AirbotView
class  AirmView
class  AirplaneView
class  Body2dGraphView
class  Body2dTrackView
class  Body2dView
class  Body3dTrackView
class  Body3dView
class  BoxView
class  CarView
class  ChainView
class  CylinderView
class  DemView
class  Geom3dView
class  GunicycleView
class  HeliView
class  HrotorGeom3dView
class  HrotorView
class  Kinbody2dView
class  Kinbody3dTrackView
class  Kinbody3dView
class  MbsView
class  Normal2dView
class  Particle2dView
class  PlotView
class  Point3dView
class  Posegraph2dView
class  QrotorView
class  RccarView
class  SnakeView
class  SystemCeView
class  SystemView
class  UnicycleView
class  UuvView
class  View
class  Viewer

Typedefs

typedef Matrix< double,
Dynamic, 3 > 
MatrixX3d
typedef Matrix< double,
3, Dynamic > 
Matrix3Xd
typedef Matrix< double,
Dynamic, 6 > 
MatrixX6d
typedef Matrix< double,
6, Dynamic > 
Matrix6Xd
typedef Matrix< double, 5, 1 > Vector5d
typedef PqpDem< Body3dState, 12, 6 > Body3dPqpDem
typedef Constraint
< Body3dState, 12, 6, Dynamic, 1 > 
Body3dConstraint
typedef Matrix< double, 6, 1 > Vector6d
typedef Matrix< double, 4, 2 > Matrix42d
typedef Matrix< double,
4, Dynamic > 
Matrix4pd
typedef Matrix< double, 4, 4 > Matrix4d
typedef Matrix< double, 6, 6 > Matrix6d
typedef Matrix< double, 6, 3 > Matrix63d
typedef Matrix< double, 3, 6 > Matrix36d
typedef pair< Matrix3d, Vector3d > Body2dState
typedef Matrix< double, 12, 1 > Vector12d
typedef Matrix< double, 12, 12 > Matrix12d
typedef Matrix< double, 12, 6 > Matrix12x6d
typedef Matrix< double, 5, 5 > Matrix5d
typedef Matrix< double, 5, 2 > Matrix52d
typedef Matrix< double,
5, Dynamic > 
Matrix5Xd
typedef pair< Matrix3d, Vector2d > M3V2d
typedef Matrix< double,
Dynamic, 12 > 
MatrixX12d
typedef Matrix< double,
12, Dynamic > 
Matrix12Xd
typedef Matrix< double, 9, 1 > Vector9d
typedef Matrix< double, 9, 3 > Matrix93d
typedef Matrix< double, 9, 6 > Matrix96d
typedef Matrix< double, 9, 9 > Matrix9d
typedef Matrix< double,
9, Dynamic > 
Matrix9Xd
typedef Matrix< double, 6, 9 > Matrix69d
typedef Matrix< double, 15, 1 > Vector15d
typedef Matrix< double, 15, 6 > Matrix15x6d
typedef Matrix< double, 15, 15 > Matrix15d
typedef Matrix< double,
15, Dynamic > 
Matrix15Xd
typedef Matrix< double, 6, 15 > Matrix6x15d
typedef Matrix< double, 6, 2 > Matrix62d
typedef Matrix< double, 16, 1 > Vector16d
typedef pair< Matrix3d, Vector13d > AirmState
typedef pair< Matrix3d, Vector9dBody3dState
typedef System< Vector4d, 4, 2 > BaseSystem
typedef Matrix< double, 7, 1 > Vector7d

Functions

template<int n = Dynamic, int c = Dynamic>
Matrix< double, n, c > sym (const Matrix< double, n, c > &A)
template<int _n>
bool zpSort (const pair< Matrix< double, _n, 1 >, double > &zpa, const pair< Matrix< double, _n, 1 >, double > &zpb)
static void Gcay (Matrix3d &m1, const Vector3d &w, const Vector3d &J, double h, bool plus=true)
static Matrix3d r3hat (const Vector3d &a)
static Vector3d cross3 (Vector3d a, Vector3d b)
const Quat operator* (const Quat &q0, const Quat &q1)
std::ostream & operator<< (std::ostream &os, const Quat &q)
std::istream & operator>> (std::istream &is, Quat &q)
void mult (double *c, const double *a, int an, const int *ai, const int *aj, const double *b, int m, int n, int p)
void save_map (const char *map, int width, int height, const char *filename)
char * load_map (int *width, int *height, const char *filename)
void rot (double m[9], const double o[3])
double dangle (double a1, double a2)
void hermite2 (double c1[2], double c2[2], double c3[2], const double xi[2], const double vi[2], const double xf[2])
double normal (double mu, double sigma, double x)
double normal (int d, const double *mu, const double *sigma, const double *x)
double normal2 (const double mu[2], const double sigma[2], const double x[2])
double randn ()
double ncdf (double x)
void timer_start (struct timeval &timer)
long timer_us (struct timeval &timer)
double normal_dist (double mu, double sigma, double x)
double random_normal ()
void mult (double *c, const double *a, const double *b, int m, int n, int p, bool rm=true)
void hermite3 (double c1[3], double c2[3], double c3[3], const double xi[3], const double vi[3], const double xf[3])
static void RenderUuv (GLUquadricObj *qobj, double l, double c)

Detailed Description

Creates a sampling based ddp. The algorithm provides a method to linearize the system based on sample trajectories around provided us.


Typedef Documentation

typedef pair<Matrix3d, Vector13d> gcop::AirmState
typedef System<Vector4d, 4, 2> gcop::BaseSystem
typedef pair< Matrix3d, Vector3d > gcop::Body2dState
typedef Constraint<Body3dState, 12, 6, Dynamic, 1> gcop::Body3dConstraint
typedef pair<Matrix3d, Vector9d> gcop::Body3dState
typedef pair< Matrix3d, Vector2d > gcop::M3V2d
typedef Matrix< double, 12, 12 > gcop::Matrix12d
typedef Matrix<double, 12, 6> gcop::Matrix12x6d
typedef Matrix<double, 12, Dynamic> gcop::Matrix12Xd
typedef Matrix< double, 15, 15 > gcop::Matrix15d
typedef Matrix<double, 15, 6> gcop::Matrix15x6d
typedef Matrix<double, 15, Dynamic> gcop::Matrix15Xd
typedef Matrix< double, 3, 6 > gcop::Matrix36d
typedef Matrix<double, 3, Dynamic> gcop::Matrix3Xd
typedef Matrix< double, 4, 2 > gcop::Matrix42d
typedef Matrix< double, 4, 4 > gcop::Matrix4d
typedef Matrix< double, 4, Dynamic > gcop::Matrix4pd
typedef Matrix< double, 5, 2 > gcop::Matrix52d
typedef Matrix< double, 5, 5 > gcop::Matrix5d
typedef Matrix< double, 5, Dynamic > gcop::Matrix5Xd
typedef Matrix<double, 6, 2> gcop::Matrix62d
typedef Matrix< double, 6, 3 > gcop::Matrix63d
typedef Matrix<double, 6, 9> gcop::Matrix69d
typedef Matrix< double, 6, 6 > gcop::Matrix6d
typedef Matrix<double, 6, 15> gcop::Matrix6x15d
typedef Matrix< double, 6, Dynamic > gcop::Matrix6Xd
typedef Matrix<double, 9, 3> gcop::Matrix93d
typedef Matrix<double, 9, 6> gcop::Matrix96d
typedef Matrix< double, 9, 9 > gcop::Matrix9d
typedef Matrix<double, 9, Dynamic> gcop::Matrix9Xd
typedef Matrix<double, Dynamic, 12> gcop::MatrixX12d
typedef Matrix<double, Dynamic, 3> gcop::MatrixX3d
typedef Matrix< double, Dynamic, 6 > gcop::MatrixX6d
typedef Matrix< double, 12, 1 > gcop::Vector12d
typedef Matrix< double, 15, 1 > gcop::Vector15d
typedef Matrix<double, 16, 1> gcop::Vector16d
typedef Matrix< double, 5, 1 > gcop::Vector5d
typedef Matrix< double, 6, 1 > gcop::Vector6d
typedef Matrix<double, 7, 1> gcop::Vector7d
typedef Matrix< double, 9, 1 > gcop::Vector9d

Function Documentation

static Vector3d gcop::cross3 ( Vector3d  a,
Vector3d  b 
) [static]
double gcop::dangle ( double  a1,
double  a2 
)

distance b/n two angles

Parameters:
a1first angle
a2second angle
Returns:
distance b/n angles
static void gcop::Gcay ( Matrix3d &  m1,
const Vector3d &  w,
const Vector3d &  J,
double  h,
bool  plus = true 
) [static]
void gcop::hermite2 ( double  c1[2],
double  c2[2],
double  c3[2],
const double  xi[2],
const double  vi[2],
const double  xf[2] 
)

2-D Hermite interpolation between two vectors the second vector is computed as the direction b/n xi and xf

Parameters:
c1resulting t-multiple coefficents
c2resulting t^2-multiple coefficents
c3resulting t^3-multiple coefficents
xiinitial position
viinitial velocity
xffinal position

References MINUS, MULT, and NORM.

void gcop::hermite3 ( double  c1[3],
double  c2[3],
double  c3[3],
const double  xi[3],
const double  vi[3],
const double  xf[3] 
)

3-D Hermite interpolation between two vectors the second vector is computed as the direction b/n xi and xf

Parameters:
c1resulting t-multiple coefficents
c2resulting t^2-multiple coefficents
c3resulting t^3-multiple coefficents
xiinitial position
vifinal velocity
xffinal position
char * gcop::load_map ( int *  width,
int *  height,
const char *  filename 
)

save a character array map into a PPM file

Returns:
the resulting map
Parameters:
widthresulting width
heightresulting height
filenamename of the ppm file
void gcop::mult ( double *  c,
const double *  a,
int  an,
const int *  ai,
const int *  aj,
const double *  b,
int  m,
int  n,
int  p 
)

Multiplication of a sparse matrix a and a regular matrix b c = a*b, where a is m-by-n and b is n-by-p

Parameters:
cc
aa (an array of size an)
annumber of nonzero elements in a
airow indices of nonzero elements
ajcolumn indices of nonzero elements
bb (an array of size n*p)
mm dimension
nn dimension
pp dimension
void gcop::mult ( double *  c,
const double *  a,
const double *  b,
int  m,
int  n,
int  p,
bool  rm = true 
) [inline]

Matrix multiplication c = a*b, where a is m-by-n and b is n-by-p

Parameters:
cc
aa
bb
mm dimension
nn dimension
pp dimension
double gcop::ncdf ( double  x)

Normal CDF a.k.a Phi(x)

Parameters:
xthe argument
Returns:
the CDF value

Referenced by gcop::GP::PI().

double gcop::normal ( double  mu,
double  sigma,
double  x 
)

Normal distribution likelihood

Parameters:
mumean
sigmavariance
xsample
Returns:
likelihood
double gcop::normal ( int  d,
const double *  mu,
const double *  sigma,
const double *  x 
)

Multivariate normal distribution likelihood with diagonal stdev

Parameters:
ddimension
mumean
sigmavariance
xsample
Returns:
likelihood
double gcop::normal2 ( const double  mu[2],
const double  sigma[2],
const double  x[2] 
)

Multivariate normal distribution likelihood with diagonal stdev

Parameters:
ddimension
mumean
sigmavariance
xsample
Returns:
likelihood
double gcop::normal_dist ( double  mu,
double  sigma,
double  x 
) [inline]
const Quat gcop::operator* ( const Quat q0,
const Quat q1 
)

Multiply two quaternions and return the result $ q=q_0*q_1 $

Parameters:
q0first quat
q1second quat
Returns:
their product
std::ostream & gcop::operator<< ( std::ostream &  os,
const gcop::Quat q 
)

Print a quaternion

Parameters:
osoutput stream
qquaternion
Returns:
the output stream

References gcop::Quat::qw, gcop::Quat::qx, gcop::Quat::qy, and gcop::Quat::qz.

std::istream & gcop::operator>> ( std::istream &  is,
gcop::Quat q 
)

Load a quaternion

Parameters:
isinput stream
qquaternion
Returns:
the input stream

References gcop::Quat::qw, gcop::Quat::qx, gcop::Quat::qy, and gcop::Quat::qz.

static Matrix3d gcop::r3hat ( const Vector3d &  a) [static]
double gcop::randn ( )

0-mean unit-stdev normal distribution 1-D sample

Returns:
sample
double gcop::random_normal ( ) [inline]
static void gcop::RenderUuv ( GLUquadricObj *  qobj,
double  l,
double  c 
) [static]
void gcop::rot ( double  m[9],
const double  o[3] 
)
void gcop::save_map ( const char *  map,
int  width,
int  height,
const char *  filename 
)

load a PPM file and convert it into a character array

Parameters:
mapthe map
widthmap width
heightmap height
filenamename of the ppm file
template<int n = Dynamic, int c = Dynamic>
Matrix<double, n, c> gcop::sym ( const Matrix< double, n, c > &  A)
void gcop::timer_start ( struct timeval &  timer) [inline]

Start a timer

Parameters:
timertimer
long gcop::timer_us ( struct timeval &  timer) [inline]

Get elapsed time in microseconds Timer should be started with timer_start(timer)

Parameters:
timertimer
Returns:
elapsed time
template<int _n>
bool gcop::zpSort ( const pair< Matrix< double, _n, 1 >, double > &  zpa,
const pair< Matrix< double, _n, 1 >, double > &  zpb 
)