|
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 |
1.8.17