Classes | Public Member Functions | Private Member Functions | Private Attributes
hrp::ForwardDynamicsMM Class Reference

#include <ForwardDynamicsCBM.h>

Inheritance diagram for hrp::ForwardDynamicsMM:
Inheritance graph
[legend]

List of all members.

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 ()

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

Detailed Description

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.


Constructor & Destructor Documentation

Definition at line 54 of file ForwardDynamicsCBM.cpp.

Definition at line 61 of file ForwardDynamicsCBM.cpp.


Member Function Documentation

Definition at line 142 of file ForwardDynamicsCBM.cpp.

void ForwardDynamicsMM::calcAccelFKandForceSensorValues ( Link link,
Vector3 out_f,
Vector3 out_tau 
) [private]

Definition at line 726 of file ForwardDynamicsCBM.cpp.

void ForwardDynamicsMM::calcd1 ( Link link,
Vector3 out_f,
Vector3 out_tau 
) [private]

Definition at line 601 of file ForwardDynamicsCBM.cpp.

void ForwardDynamicsMM::calcInverseDynamics ( Link link,
Vector3 out_f,
Vector3 out_tau 
) [private]

Definition at line 552 of file ForwardDynamicsCBM.cpp.

calculate the mass matrix using the unit vector method

Todo:
replace the unit vector method here with a more efficient method that only requires O(n) computation time

Definition at line 446 of file ForwardDynamicsCBM.cpp.

Definition at line 189 of file ForwardDynamicsCBM.cpp.

Definition at line 220 of file ForwardDynamicsCBM.cpp.

Implements hrp::ForwardDynamics.

Definition at line 149 of file ForwardDynamicsCBM.cpp.

Todo:
remove this equation

Definition at line 363 of file ForwardDynamicsCBM.cpp.

Implements hrp::ForwardDynamics.

Definition at line 67 of file ForwardDynamicsCBM.cpp.

Definition at line 625 of file ForwardDynamicsCBM.cpp.

Reimplemented from hrp::ForwardDynamics.

Definition at line 777 of file ForwardDynamicsCBM.cpp.

void ForwardDynamicsMM::integrateRungeKuttaOneStep ( double  r,
double  dt 
) [private]

Definition at line 320 of file ForwardDynamicsCBM.cpp.

Definition at line 346 of file ForwardDynamicsCBM.cpp.

void ForwardDynamicsMM::setColumnOfMassMatrix ( dmatrix M,
int  column 
) [private]

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.

Definition at line 133 of file ForwardDynamicsCBM.cpp.

Definition at line 586 of file ForwardDynamicsCBM.cpp.

void ForwardDynamicsMM::updateForceSensorInfo ( Link link,
bool  hasSensorsAbove 
) [private]

Definition at line 803 of file ForwardDynamicsCBM.cpp.


Member Data Documentation

Definition at line 98 of file ForwardDynamicsCBM.h.

Definition at line 77 of file ForwardDynamicsCBM.h.

Definition at line 79 of file ForwardDynamicsCBM.h.

Definition at line 78 of file ForwardDynamicsCBM.h.

std::vector<double> hrp::ForwardDynamicsMM::ddq [private]

Definition at line 139 of file ForwardDynamicsCBM.h.

Definition at line 92 of file ForwardDynamicsCBM.h.

Definition at line 99 of file ForwardDynamicsCBM.h.

Definition at line 114 of file ForwardDynamicsCBM.h.

std::vector<double> hrp::ForwardDynamicsMM::dq [private]

Definition at line 138 of file ForwardDynamicsCBM.h.

std::vector<double> hrp::ForwardDynamicsMM::dq0 [private]

Definition at line 132 of file ForwardDynamicsCBM.h.

Definition at line 91 of file ForwardDynamicsCBM.h.

Definition at line 102 of file ForwardDynamicsCBM.h.

Definition at line 136 of file ForwardDynamicsCBM.h.

Definition at line 116 of file ForwardDynamicsCBM.h.

Definition at line 137 of file ForwardDynamicsCBM.h.

Definition at line 117 of file ForwardDynamicsCBM.h.

Definition at line 108 of file ForwardDynamicsCBM.h.

Definition at line 124 of file ForwardDynamicsCBM.h.

Definition at line 86 of file ForwardDynamicsCBM.h.

Definition at line 82 of file ForwardDynamicsCBM.h.

Definition at line 88 of file ForwardDynamicsCBM.h.

Definition at line 75 of file ForwardDynamicsCBM.h.

Definition at line 76 of file ForwardDynamicsCBM.h.

Definition at line 127 of file ForwardDynamicsCBM.h.

Definition at line 93 of file ForwardDynamicsCBM.h.

Definition at line 103 of file ForwardDynamicsCBM.h.

std::vector<double> hrp::ForwardDynamicsMM::q0 [private]

Definition at line 131 of file ForwardDynamicsCBM.h.

Definition at line 90 of file ForwardDynamicsCBM.h.

Definition at line 101 of file ForwardDynamicsCBM.h.

Definition at line 128 of file ForwardDynamicsCBM.h.

Definition at line 94 of file ForwardDynamicsCBM.h.

Definition at line 104 of file ForwardDynamicsCBM.h.

Definition at line 111 of file ForwardDynamicsCBM.h.

Definition at line 109 of file ForwardDynamicsCBM.h.

Definition at line 81 of file ForwardDynamicsCBM.h.

Definition at line 85 of file ForwardDynamicsCBM.h.

Definition at line 115 of file ForwardDynamicsCBM.h.

Definition at line 134 of file ForwardDynamicsCBM.h.

Definition at line 129 of file ForwardDynamicsCBM.h.

Definition at line 95 of file ForwardDynamicsCBM.h.

Definition at line 105 of file ForwardDynamicsCBM.h.

Definition at line 135 of file ForwardDynamicsCBM.h.

Definition at line 130 of file ForwardDynamicsCBM.h.

Definition at line 96 of file ForwardDynamicsCBM.h.

Definition at line 106 of file ForwardDynamicsCBM.h.


The documentation for this class was generated from the following files:


openhrp3
Author(s): AIST, General Robotix Inc., Nakamura Lab of Dept. of Mechano Informatics at University of Tokyo
autogenerated on Thu Apr 11 2019 03:30:22