Choreonoid
1.8
|
#include <ForwardDynamicsCBM.h>
Public Member Functions | |
ForwardDynamicsCBM (DySubBody *subBody) | |
~ForwardDynamicsCBM () | |
virtual void | initialize () |
virtual void | calcNextState () |
virtual void | refreshState () |
void | complementHighGainModeCommandValues () |
void | initializeAccelSolver () |
void | sumExternalForces () |
void | solveUnknownAccels () |
void | solveUnknownAccels (const Vector3 &fext, const Vector3 &tauext) |
bool | solveUnknownAccels (DyLink *link, const Vector3 &fext, const Vector3 &tauext, const Vector3 &rootfext, const Vector3 &roottauext) |
Public Member Functions inherited from cnoid::ForwardDynamics | |
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) |
Public Attributes | |
EIGEN_MAKE_ALIGNED_OPERATOR_NEW | |
Additional Inherited Members | |
Protected Types inherited from cnoid::ForwardDynamics | |
enum | { EULER_METHOD, RUNGEKUTTA_METHOD } |
Static Protected Member Functions inherited from cnoid::ForwardDynamics | |
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 inherited from cnoid::ForwardDynamics | |
DySubBodyPtr | subBody |
Vector3 | g |
double | timeStep |
bool | sensorsEnabled |
BasicSensorSimulationHelper | sensorHelper |
enum cnoid::ForwardDynamics:: { ... } | integrationMode |
The ForwardDynamicsCBM class calculates the forward dynamics using the motion equation based on the generalized mass matrix. The class is mainly used for a body that has high-gain mode joints. If all the joints of a body are the torque mode, the ForwardDynamicsABM, which uses the articulated body method, is more efficient.
ForwardDynamicsCBM::ForwardDynamicsCBM | ( | DySubBody * | subBody | ) |
ForwardDynamicsCBM::~ForwardDynamicsCBM | ( | ) |
|
virtual |
Implements cnoid::ForwardDynamics.
void ForwardDynamicsCBM::complementHighGainModeCommandValues | ( | ) |
|
virtual |
Implements cnoid::ForwardDynamics.
void ForwardDynamicsCBM::initializeAccelSolver | ( | ) |
|
virtual |
Implements cnoid::ForwardDynamics.
void ForwardDynamicsCBM::solveUnknownAccels | ( | ) |
bool ForwardDynamicsCBM::solveUnknownAccels | ( | DyLink * | link, |
const Vector3 & | fext, | ||
const Vector3 & | tauext, | ||
const Vector3 & | rootfext, | ||
const Vector3 & | roottauext | ||
) |
This is called from ConstraintForceSolver.
void ForwardDynamicsCBM::sumExternalForces | ( | ) |
cnoid::ForwardDynamicsCBM::EIGEN_MAKE_ALIGNED_OPERATOR_NEW |