GCOP
1.0
|
#include <body3ddemcontroller.h>
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 Body3dState & | x0 |
start state | |
Body3dPqpDem & | dem |
gidital elevation map | |
Body3dAvoidController< nu > | localCtrl |
local avoidance controller | |
GridSearch | dsl |
global grid search | |
vector< Body3dState > | xds |
computed sequence of waypoints | |
double | vd |
desired forward velocity | |
int | j |
waypoint index | |
double | wpRadius |
waypoint switch radius |
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
typedef Matrix<double, nu, 1> gcop::Body3dDemController< nu >::Vectorcd |
gcop::Body3dDemController< nu >::Body3dDemController | ( | const Body3d< nu > & | sys, |
const Body3dState & | x0, | ||
Body3dState * | xf, | ||
Body3dPqpDem & | dem, | ||
double | vd = 20 |
||
) |
BODY3D PD controller
sys | system |
xd | desired state (optional, set to origin by default) |
ad | desired acceleration (optional, set to zero by default) |
con | obstacle constraint (optional) |
void gcop::Body3dDemController< nu >::GetTraj | ( | vector< Body3dState > & | xds, |
const Dem & | dem, | ||
GridSearch & | gdsl, | ||
const Body3dState & | x0, | ||
const Body3dState & | xf, | ||
double | vd | ||
) |
References gcop::Dem::Index2Point(), and gcop::Dem::Point2Index().
virtual bool gcop::Body3dDemController< nu >::Set | ( | Vectorcd & | u, |
double | t, | ||
const Body3dState & | x | ||
) | [virtual] |
Feedback controller of the form u = k(t, x)
u | controls |
t | time |
x | state |
Implements gcop::Controller< Body3dState, Matrix< double, nu, 1 >, Vector5d, Body3dState >.
bool gcop::Body3dDemController< nu >::SetContext | ( | const Body3dState & | c | ) | [virtual] |
Set context
Reimplemented from gcop::Controller< Body3dState, Matrix< double, nu, 1 >, Vector5d, Body3dState >.
bool gcop::Body3dDemController< nu >::SetParams | ( | const Vector5d & | s | ) | [virtual] |
Set controller parameters
Reimplemented from gcop::Controller< Body3dState, Matrix< double, nu, 1 >, Vector5d, Body3dState >.
Body3dPqpDem& gcop::Body3dDemController< nu >::dem |
gidital elevation map
GridSearch gcop::Body3dDemController< nu >::dsl |
global grid search
int gcop::Body3dDemController< nu >::j |
waypoint index
Body3dAvoidController<nu> gcop::Body3dDemController< nu >::localCtrl |
local avoidance controller
double gcop::Body3dDemController< nu >::vd |
desired forward velocity
double gcop::Body3dDemController< nu >::wpRadius |
waypoint switch radius
const Body3dState& gcop::Body3dDemController< nu >::x0 |
start state
vector<Body3dState> gcop::Body3dDemController< nu >::xds |
computed sequence of waypoints