Choreonoid
1.8
|
#include <ForwardDynamics.h>
Public Member Functions | |
EIGEN_MAKE_ALIGNED_OPERATOR_NEW | ForwardDynamics (DySubBody *subBody) |
virtual | ~ForwardDynamics () |
void | setGravityAcceleration (const Vector3 &g) |
void | setEulerMethod () |
void | setRungeKuttaMethod () |
void | setTimeStep (double timeStep) |
void | enableSensors (bool on) |
void | setOldAccelSensorCalcMode (bool on) |
virtual void | initialize ()=0 |
virtual void | calcNextState ()=0 |
virtual void | refreshState ()=0 |
Protected Types | |
enum | { EULER_METHOD, RUNGEKUTTA_METHOD } |
Protected Member Functions | |
virtual void | initializeSensors () |
Static Protected Member Functions | |
static void | SE3exp (Isometry3 &out_T, const Isometry3 &T0, const Vector3 &w, const Vector3 &vo, double dt) |
update position/orientation using spatial velocity More... | |
Protected Attributes | |
DySubBodyPtr | subBody |
Vector3 | g |
double | timeStep |
bool | sensorsEnabled |
BasicSensorSimulationHelper | sensorHelper |
enum cnoid::ForwardDynamics:: { ... } | integrationMode |
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.
ForwardDynamics::ForwardDynamics | ( | DySubBody * | subBody | ) |
|
virtual |
|
pure virtual |
Implemented in cnoid::ForwardDynamicsCBM, and cnoid::ForwardDynamicsABM.
void ForwardDynamics::enableSensors | ( | bool | on | ) |
|
pure virtual |
Implemented in cnoid::ForwardDynamicsCBM, and cnoid::ForwardDynamicsABM.
|
protectedvirtual |
|
pure virtual |
Implemented in cnoid::ForwardDynamicsCBM, and cnoid::ForwardDynamicsABM.
|
staticprotected |
update position/orientation using spatial velocity
function from Murray, Li and Sastry p.42
out_T | T(t+dt) |
T0 | T(t) |
w | angular velocity |
vo | spatial velocity |
dt | time step[s] |
void ForwardDynamics::setEulerMethod | ( | ) |
void ForwardDynamics::setGravityAcceleration | ( | const Vector3 & | g | ) |
void ForwardDynamics::setOldAccelSensorCalcMode | ( | bool | on | ) |
void ForwardDynamics::setRungeKuttaMethod | ( | ) |
void ForwardDynamics::setTimeStep | ( | double | timeStep | ) |
|
protected |
enum { ... } cnoid::ForwardDynamics::integrationMode |
|
protected |
|
protected |
|
protected |
|
protected |