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
Body3dStatexd
 desired state (origin by default)
Vector6dad
 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: