#include <ForwardDynamics.h>
Public Member Functions | |
virtual void | calcNextState ()=0 |
void | enableSensors (bool on) |
EIGEN_MAKE_ALIGNED_OPERATOR_NEW | ForwardDynamics (BodyPtr body) |
virtual void | initialize ()=0 |
void | setEulerMethod () |
void | setGravityAcceleration (const Vector3 &g) |
void | setRungeKuttaMethod () |
void | setTimeStep (double timeStep) |
virtual | ~ForwardDynamics () |
Protected Types | |
enum | { EULER_METHOD, RUNGEKUTTA_METHOD } |
Protected Member Functions | |
virtual void | initializeSensors () |
virtual void | updateSensorsFinal () |
Static Protected Member Functions | |
static void | SE3exp (Vector3 &out_p, Matrix33 &out_R, const Vector3 &p0, const Matrix33 &R0, const Vector3 &w, const Vector3 &vo, double dt) |
update position/orientation using spatial velocity | |
Protected Attributes | |
BodyPtr | body |
Vector3 | g |
enum hrp::ForwardDynamics:: { ... } | integrationMode |
bool | sensorsEnabled |
double | timeStep |
Private Types | |
typedef Eigen::Matrix2d | matrix22 |
typedef Eigen::Vector2d | vector2 |
Private Member Functions | |
void | initializeAccelSensors () |
void | updateAccelSensor (AccelSensor *sensor) |
Private Attributes | |
matrix22 | A |
vector2 | B |
This class calculates the forward dynamics of a Body object by using the Featherstone's articulated body algorithm. The class also integrates motion using the Euler method or RungeKutta method.
Definition at line 35 of file ForwardDynamics.h.
typedef Eigen::Matrix2d hrp::ForwardDynamics::matrix22 [private] |
Definition at line 85 of file ForwardDynamics.h.
typedef Eigen::Vector2d hrp::ForwardDynamics::vector2 [private] |
Definition at line 86 of file ForwardDynamics.h.
anonymous enum [protected] |
Definition at line 76 of file ForwardDynamics.h.
Definition at line 22 of file ForwardDynamics.cpp.
ForwardDynamics::~ForwardDynamics | ( | ) | [virtual] |
Definition at line 33 of file ForwardDynamics.cpp.
virtual void hrp::ForwardDynamics::calcNextState | ( | ) | [pure virtual] |
Implemented in ODE_ForwardDynamics, hrp::ForwardDynamicsMM, and hrp::ForwardDynamicsABM.
void ForwardDynamics::enableSensors | ( | bool | on | ) |
Definition at line 63 of file ForwardDynamics.cpp.
virtual void hrp::ForwardDynamics::initialize | ( | ) | [pure virtual] |
Implemented in ODE_ForwardDynamics, hrp::ForwardDynamicsMM, and hrp::ForwardDynamicsABM.
void ForwardDynamics::initializeAccelSensors | ( | ) | [private] |
Definition at line 149 of file ForwardDynamics.cpp.
void ForwardDynamics::initializeSensors | ( | ) | [protected, virtual] |
Reimplemented in hrp::ForwardDynamicsMM.
Definition at line 93 of file ForwardDynamics.cpp.
void ForwardDynamics::SE3exp | ( | Vector3 & | out_p, |
Matrix33 & | out_R, | ||
const Vector3 & | p0, | ||
const Matrix33 & | R0, | ||
const Vector3 & | w, | ||
const Vector3 & | vo, | ||
double | dt | ||
) | [static, protected] |
update position/orientation using spatial velocity
function from Murray, Li and Sastry p.42
out_p | p(t+dt) |
out_R | R(t+dt) |
p0 | p(t) |
R0 | R(t) |
w | angular velocity |
vo | spatial velocity |
dt | time step[s] |
Definition at line 70 of file ForwardDynamics.cpp.
Definition at line 51 of file ForwardDynamics.cpp.
Definition at line 45 of file ForwardDynamics.cpp.
Definition at line 57 of file ForwardDynamics.cpp.
void ForwardDynamics::setTimeStep | ( | double | timeStep | ) |
Definition at line 39 of file ForwardDynamics.cpp.
void ForwardDynamics::updateAccelSensor | ( | AccelSensor * | sensor | ) | [private] |
Definition at line 122 of file ForwardDynamics.cpp.
void ForwardDynamics::updateSensorsFinal | ( | ) | [protected, virtual] |
Definition at line 103 of file ForwardDynamics.cpp.
matrix22 hrp::ForwardDynamics::A [private] |
Definition at line 87 of file ForwardDynamics.h.
vector2 hrp::ForwardDynamics::B [private] |
Definition at line 88 of file ForwardDynamics.h.
BodyPtr hrp::ForwardDynamics::body [protected] |
Definition at line 71 of file ForwardDynamics.h.
Vector3 hrp::ForwardDynamics::g [protected] |
Definition at line 72 of file ForwardDynamics.h.
enum { ... } hrp::ForwardDynamics::integrationMode [protected] |
bool hrp::ForwardDynamics::sensorsEnabled [protected] |
Definition at line 74 of file ForwardDynamics.h.
double hrp::ForwardDynamics::timeStep [protected] |
Definition at line 73 of file ForwardDynamics.h.