GCOP  1.0
Public Types | Public Member Functions | Public Attributes
gcop::Body3dController< c > Class Template Reference

#include <body3dcontroller.h>

Inheritance diagram for gcop::Body3dController< c >:
Inheritance graph
[legend]
Collaboration diagram for gcop::Body3dController< c >:
Collaboration graph
[legend]

List of all members.

Public Types

typedef Matrix< double, c, 1 > Vectorcd

Public Member Functions

 Body3dController (const Body3d< c > &sys, Body3dState *xd=0, Vector6d *ad=0)
virtual bool Set (Vectorcd &u, double t, const Body3dState &x)
virtual ~Body3dController ()

Public Attributes

const Body3d< c > & sys
 system
Body3dState * xd
 desired state (origin by default)
Vector6d * ad
 desired acceleration (zero by default)
Vector6d Kp
 proportional terms (ones by default)
Vector6d Kd
 derivative terms (twos by default)

Detailed Description

template<int c = 6>
class gcop::Body3dController< c >

Rigid body PD controller using errors on $ SO(3) \times R^3$

Author: Marin Kobilarov, 2007


Member Typedef Documentation

template<int c = 6>
typedef Matrix<double, c, 1> gcop::Body3dController< c >::Vectorcd

Constructor & Destructor Documentation

template<int c>
gcop::Body3dController< c >::Body3dController ( const Body3d< c > &  sys,
Body3dState *  xd = 0,
Vector6d *  ad = 0 
)

BODY3D PD controller

Parameters:
sysmulti-body system
xddesired state (optional, set to origin by default)
addesired acceleration (optional, set to zero by default)

References gcop::Body3dController< c >::Kd, and gcop::Body3dController< c >::Kp.

template<int c>
gcop::Body3dController< c >::~Body3dController ( ) [virtual]

Member Function Documentation

template<int c = 6>
virtual bool gcop::Body3dController< c >::Set ( Vectorcd &  u,
double  t,
const Body3dState &  x 
) [virtual]

Feedback controller of the form u = k(t, x)

Parameters:
ucontrols
ttime
xstate
Returns:
true if arguments are valid, false if e.g. x is infeasible

Implements gcop::Controller< Body3dState, Matrix< double, c, 1 > >.


Member Data Documentation

template<int c = 6>
Vector6d* gcop::Body3dController< c >::ad

desired acceleration (zero by default)

template<int c = 6>
Vector6d gcop::Body3dController< c >::Kd

derivative terms (twos by default)

Referenced by gcop::Body3dController< c >::Body3dController().

template<int c = 6>
Vector6d gcop::Body3dController< c >::Kp

proportional terms (ones by default)

Referenced by gcop::Body3dController< c >::Body3dController().

template<int c = 6>
const Body3d<c>& gcop::Body3dController< c >::sys

system

template<int c = 6>
Body3dState* gcop::Body3dController< c >::xd

desired state (origin by default)


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