#include <ForwardDynamicsCBM.h>
Classes | |
struct | ForceSensorInfo |
Public Member Functions | |
virtual void | calcNextState () |
ForwardDynamicsMM (BodyPtr body) | |
virtual void | initialize () |
void | initializeAccelSolver () |
void | solveUnknownAccels (const Vector3 &fext, const Vector3 &tauext) |
void | solveUnknownAccels (Link *link, const Vector3 &fext, const Vector3 &tauext, const Vector3 &rootfext, const Vector3 &roottauext) |
void | solveUnknownAccels () |
void | sumExternalForces () |
~ForwardDynamicsMM () | |
Public Member Functions inherited from hrp::ForwardDynamics | |
void | enableSensors (bool on) |
EIGEN_MAKE_ALIGNED_OPERATOR_NEW | ForwardDynamics (BodyPtr body) |
void | setEulerMethod () |
void | setGravityAcceleration (const Vector3 &g) |
void | setRungeKuttaMethod () |
void | setTimeStep (double timeStep) |
virtual | ~ForwardDynamics () |
Private Member Functions | |
void | calcAccelFKandForceSensorValues () |
void | calcAccelFKandForceSensorValues (Link *link, Vector3 &out_f, Vector3 &out_tau) |
void | calcd1 (Link *link, Vector3 &out_f, Vector3 &out_tau) |
void | calcInverseDynamics (Link *link, Vector3 &out_f, Vector3 &out_tau) |
void | calcMassMatrix () |
void | calcMotionWithEulerMethod () |
void | calcMotionWithRungeKuttaMethod () |
void | calcPositionAndVelocityFK () |
virtual void | initializeSensors () |
void | integrateRungeKuttaOneStep (double r, double dt) |
void | preserveHighGainModeJointState () |
void | setColumnOfMassMatrix (dmatrix &M, int column) |
void | updateForceSensorInfo (Link *link, bool hasSensorsAbove) |
Private Attributes | |
bool | accelSolverInitialized |
dmatrix | b1 |
dvector | c1 |
dmatrix | d1 |
std::vector< double > | ddq |
dvector | ddqGiven |
bool | ddqGivenCopied |
dvector | ddqorg |
std::vector< double > | dq |
std::vector< double > | dq0 |
dvector | dqGiven |
dvector | dqGivenPrev |
Vector3 | dvo |
Vector3 | dvoorg |
Vector3 | dw |
Vector3 | dworg |
Vector3 | fextTotal |
std::vector< ForceSensorInfo > | forceSensorInfo |
int | given_rootDof |
std::vector< Link * > | highGainModeJoints |
bool | isNoUnknownAccelMode |
dmatrix | M11 |
dmatrix | M12 |
Vector3 | p0 |
Vector3 | pGiven |
Vector3 | pGivenPrev |
std::vector< double > | q0 |
dvector | qGiven |
dvector | qGivenPrev |
Matrix33 | R0 |
Matrix33 | RGiven |
Matrix33 | RGivenPrev |
Vector3 | root_w_x_v |
Vector3 | tauextTotal |
std::vector< Link * > | torqueModeJoints |
int | unknown_rootDof |
dvector | uorg |
Vector3 | vo |
Vector3 | vo0 |
Vector3 | voGiven |
Vector3 | voGivenPrev |
Vector3 | w |
Vector3 | w0 |
Vector3 | wGiven |
Vector3 | wGivenPrev |
Additional Inherited Members | |
Protected Types inherited from hrp::ForwardDynamics | |
enum | { EULER_METHOD, RUNGEKUTTA_METHOD } |
Protected Member Functions inherited from hrp::ForwardDynamics | |
virtual void | updateSensorsFinal () |
Static Protected Member Functions inherited from hrp::ForwardDynamics | |
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 More... | |
Protected Attributes inherited from hrp::ForwardDynamics | |
BodyPtr | body |
Vector3 | g |
enum hrp::ForwardDynamics:: { ... } | integrationMode |
bool | sensorsEnabled |
double | timeStep |
The ForwardDynamicsMM 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.
Definition at line 42 of file ForwardDynamicsCBM.h.
ForwardDynamicsMM::ForwardDynamicsMM | ( | BodyPtr | body | ) |
Definition at line 54 of file ForwardDynamicsCBM.cpp.
ForwardDynamicsMM::~ForwardDynamicsMM | ( | ) |
Definition at line 61 of file ForwardDynamicsCBM.cpp.
|
inlineprivate |
Definition at line 142 of file ForwardDynamicsCBM.cpp.
|
private |
Definition at line 726 of file ForwardDynamicsCBM.cpp.
Definition at line 601 of file ForwardDynamicsCBM.cpp.
|
private |
Definition at line 552 of file ForwardDynamicsCBM.cpp.
|
private |
calculate the mass matrix using the unit vector method
Definition at line 446 of file ForwardDynamicsCBM.cpp.
|
private |
Definition at line 189 of file ForwardDynamicsCBM.cpp.
|
private |
Definition at line 220 of file ForwardDynamicsCBM.cpp.
|
virtual |
Implements hrp::ForwardDynamics.
Definition at line 149 of file ForwardDynamicsCBM.cpp.
|
private |
Definition at line 363 of file ForwardDynamicsCBM.cpp.
Implements hrp::ForwardDynamics.
Definition at line 67 of file ForwardDynamicsCBM.cpp.
void ForwardDynamicsMM::initializeAccelSolver | ( | ) |
Definition at line 625 of file ForwardDynamicsCBM.cpp.
|
privatevirtual |
Reimplemented from hrp::ForwardDynamics.
Definition at line 777 of file ForwardDynamicsCBM.cpp.
|
private |
Definition at line 320 of file ForwardDynamicsCBM.cpp.
|
private |
Definition at line 346 of file ForwardDynamicsCBM.cpp.
Definition at line 534 of file ForwardDynamicsCBM.cpp.
Definition at line 696 of file ForwardDynamicsCBM.cpp.
void ForwardDynamicsMM::solveUnknownAccels | ( | Link * | link, |
const Vector3 & | fext, | ||
const Vector3 & | tauext, | ||
const Vector3 & | rootfext, | ||
const Vector3 & | roottauext | ||
) |
Definition at line 667 of file ForwardDynamicsCBM.cpp.
void ForwardDynamicsMM::solveUnknownAccels | ( | ) |
Definition at line 133 of file ForwardDynamicsCBM.cpp.
void ForwardDynamicsMM::sumExternalForces | ( | ) |
Definition at line 586 of file ForwardDynamicsCBM.cpp.
Definition at line 803 of file ForwardDynamicsCBM.cpp.
|
private |
Definition at line 98 of file ForwardDynamicsCBM.h.
|
private |
Definition at line 77 of file ForwardDynamicsCBM.h.
|
private |
Definition at line 79 of file ForwardDynamicsCBM.h.
|
private |
Definition at line 78 of file ForwardDynamicsCBM.h.
|
private |
Definition at line 139 of file ForwardDynamicsCBM.h.
|
private |
Definition at line 92 of file ForwardDynamicsCBM.h.
|
private |
Definition at line 99 of file ForwardDynamicsCBM.h.
|
private |
Definition at line 114 of file ForwardDynamicsCBM.h.
|
private |
Definition at line 138 of file ForwardDynamicsCBM.h.
|
private |
Definition at line 132 of file ForwardDynamicsCBM.h.
|
private |
Definition at line 91 of file ForwardDynamicsCBM.h.
|
private |
Definition at line 102 of file ForwardDynamicsCBM.h.
|
private |
Definition at line 136 of file ForwardDynamicsCBM.h.
|
private |
Definition at line 116 of file ForwardDynamicsCBM.h.
|
private |
Definition at line 137 of file ForwardDynamicsCBM.h.
|
private |
Definition at line 117 of file ForwardDynamicsCBM.h.
|
private |
Definition at line 108 of file ForwardDynamicsCBM.h.
|
private |
Definition at line 124 of file ForwardDynamicsCBM.h.
|
private |
Definition at line 86 of file ForwardDynamicsCBM.h.
|
private |
Definition at line 82 of file ForwardDynamicsCBM.h.
|
private |
Definition at line 88 of file ForwardDynamicsCBM.h.
|
private |
Definition at line 75 of file ForwardDynamicsCBM.h.
|
private |
Definition at line 76 of file ForwardDynamicsCBM.h.
|
private |
Definition at line 127 of file ForwardDynamicsCBM.h.
|
private |
Definition at line 93 of file ForwardDynamicsCBM.h.
|
private |
Definition at line 103 of file ForwardDynamicsCBM.h.
|
private |
Definition at line 131 of file ForwardDynamicsCBM.h.
|
private |
Definition at line 90 of file ForwardDynamicsCBM.h.
|
private |
Definition at line 101 of file ForwardDynamicsCBM.h.
|
private |
Definition at line 128 of file ForwardDynamicsCBM.h.
|
private |
Definition at line 94 of file ForwardDynamicsCBM.h.
|
private |
Definition at line 104 of file ForwardDynamicsCBM.h.
|
private |
Definition at line 111 of file ForwardDynamicsCBM.h.
|
private |
Definition at line 109 of file ForwardDynamicsCBM.h.
|
private |
Definition at line 81 of file ForwardDynamicsCBM.h.
|
private |
Definition at line 85 of file ForwardDynamicsCBM.h.
|
private |
Definition at line 115 of file ForwardDynamicsCBM.h.
|
private |
Definition at line 134 of file ForwardDynamicsCBM.h.
|
private |
Definition at line 129 of file ForwardDynamicsCBM.h.
|
private |
Definition at line 95 of file ForwardDynamicsCBM.h.
|
private |
Definition at line 105 of file ForwardDynamicsCBM.h.
|
private |
Definition at line 135 of file ForwardDynamicsCBM.h.
|
private |
Definition at line 130 of file ForwardDynamicsCBM.h.
|
private |
Definition at line 96 of file ForwardDynamicsCBM.h.
|
private |
Definition at line 106 of file ForwardDynamicsCBM.h.