GCOP  1.0
Public Types | Public Member Functions | Public Attributes
gcop::Body3dDemController< nu > Class Template Reference

#include <body3ddemcontroller.h>

Inheritance diagram for gcop::Body3dDemController< nu >:
Inheritance graph
[legend]
Collaboration diagram for gcop::Body3dDemController< nu >:
Collaboration graph
[legend]

List of all members.

Public Types

typedef Matrix< double, nu, 1 > Vectorcd

Public Member Functions

 Body3dDemController (const Body3d< nu > &sys, const Body3dState &x0, Body3dState *xf, Body3dPqpDem &dem, double vd=20)
virtual bool Set (Vectorcd &u, double t, const Body3dState &x)
virtual bool SetParams (const Vector5d &s)
virtual bool SetContext (const Body3dState &x)
void GetTraj (vector< Body3dState > &xds, const Dem &dem, GridSearch &gdsl, const Body3dState &x0, const Body3dState &xf, double vd)

Public Attributes

const Body3dStatex0
 start state
Body3dPqpDemdem
 gidital elevation map
Body3dAvoidController< nu > localCtrl
 local avoidance controller
GridSearch dsl
 global grid search
vector< Body3dStatexds
 computed sequence of waypoints
double vd
 desired forward velocity
int j
 waypoint index
double wpRadius
 waypoint switch radius

Detailed Description

template<int nu = 6>
class gcop::Body3dDemController< nu >

Controller combining rigid body stablization and gyroscopic avoidance This basically combines two existing controller from DGC. The controller has 5 parameters s containing: rot_Kp, rot_Kd, trans_Kp, trans_Kd, obst_K

Author: Marin Kobilarov, 2015


Member Typedef Documentation

template<int nu = 6>
typedef Matrix<double, nu, 1> gcop::Body3dDemController< nu >::Vectorcd

Constructor & Destructor Documentation

template<int nu>
gcop::Body3dDemController< nu >::Body3dDemController ( const Body3d< nu > &  sys,
const Body3dState x0,
Body3dState xf,
Body3dPqpDem dem,
double  vd = 20 
)

BODY3D PD controller

Parameters:
syssystem
xddesired state (optional, set to origin by default)
addesired acceleration (optional, set to zero by default)
conobstacle constraint (optional)

Member Function Documentation

template<int nu>
void gcop::Body3dDemController< nu >::GetTraj ( vector< Body3dState > &  xds,
const Dem dem,
GridSearch &  gdsl,
const Body3dState x0,
const Body3dState xf,
double  vd 
)
template<int nu = 6>
virtual bool gcop::Body3dDemController< nu >::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, nu, 1 >, Vector5d, Body3dState >.

template<int nu>
bool gcop::Body3dDemController< nu >::SetContext ( const Body3dState c) [virtual]

Set context

Returns:
true if arguments are valid, false if e.g. s is infeasible

Reimplemented from gcop::Controller< Body3dState, Matrix< double, nu, 1 >, Vector5d, Body3dState >.

template<int nu>
bool gcop::Body3dDemController< nu >::SetParams ( const Vector5d s) [virtual]

Set controller parameters

Returns:
true if arguments are valid, false if e.g. s is infeasible

Reimplemented from gcop::Controller< Body3dState, Matrix< double, nu, 1 >, Vector5d, Body3dState >.


Member Data Documentation

template<int nu = 6>
Body3dPqpDem& gcop::Body3dDemController< nu >::dem

gidital elevation map

template<int nu = 6>
GridSearch gcop::Body3dDemController< nu >::dsl

global grid search

template<int nu = 6>
int gcop::Body3dDemController< nu >::j

waypoint index

local avoidance controller

template<int nu = 6>
double gcop::Body3dDemController< nu >::vd

desired forward velocity

template<int nu = 6>
double gcop::Body3dDemController< nu >::wpRadius

waypoint switch radius

template<int nu = 6>
const Body3dState& gcop::Body3dDemController< nu >::x0

start state

template<int nu = 6>
vector<Body3dState> gcop::Body3dDemController< nu >::xds

computed sequence of waypoints


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