GCOP
1.0
|
#include <body2d.h>
Public Types | |
typedef Matrix< double, c, 1 > | Vectorcd |
typedef Matrix< double, 6, c > | Matrix6cd |
typedef Matrix< double, 3, c > | Matrix3cd |
Public Member Functions | |
Body2d (Body2dForce< c > *f=0) | |
double | Step (Body2dState &xb, double t, const Body2dState &xa, const Vectorcd &u, double h, const VectorXd *p=0, Matrix6d *A=0, Matrix6cd *B=0, Matrix< double, 6, Dynamic > *C=0) |
Public Attributes | |
Vector2d | d |
body dimensions | |
Vector3d | I |
inertia components | |
Body2dForce< c > * | force |
force from controls and external disturbances |
A "geometric" planar rigid body system. The control system is implemented as an evolution on SE(2) as opposed to a vector space.
The state is where is the pose, and is the velocity
Author: Marin Kobilarov marin(at)jhu.edu
typedef Matrix<double, 3, c> gcop::Body2d< c >::Matrix3cd |
typedef Matrix<double, 6, c> gcop::Body2d< c >::Matrix6cd |
typedef Matrix<double, c, 1> gcop::Body2d< c >::Vectorcd |
Reimplemented from gcop::System< Body2dState, 6, c >.
gcop::Body2d< c >::Body2d | ( | Body2dForce< c > * | f = 0 | ) |
double gcop::Body2d< c >::Step | ( | Body2dState & | xb, |
double | t, | ||
const Body2dState & | xa, | ||
const Vectorcd & | u, | ||
double | h, | ||
const VectorXd * | p = 0 , |
||
Matrix6d * | A = 0 , |
||
Matrix6cd * | B = 0 , |
||
Matrix< double, 6, Dynamic > * | C = 0 |
||
) |
References gcop::SE2::Ad(), gcop::SE2::cay(), gcop::SE2::dcay(), gcop::Body2d< c >::force, gcop::Body2d< c >::I, and gcop::SE2::Instance().
Referenced by gcop::Body2dTrack::Add(), gcop::Body2dTrack::Add2(), and gcop::Body2dGraph::Synthesize3().
Vector2d gcop::Body2d< c >::d |
body dimensions
Body2dForce<c>* gcop::Body2d< c >::force |
force from controls and external disturbances
Referenced by gcop::Body2d< c >::Step(), gcop::Body2dGraph::Synthesize2(), and gcop::Body2dGraph::Synthesize3().
Vector3d gcop::Body2d< c >::I |
inertia components
Referenced by gcop::Body2d< c >::Step(), and gcop::Body2dGraph::Synthesize3().