Public Member Functions | Private Member Functions | Private Attributes | List of all members
hrp::ForwardDynamicsABM Class Reference

#include <ForwardDynamicsABM.h>

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

Public Member Functions

virtual void calcNextState ()
 
 ForwardDynamicsABM (BodyPtr body)
 
virtual void initialize ()
 
 ~ForwardDynamicsABM ()
 
- 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 calcABMFirstHalf ()
 
void calcABMLastHalf ()
 
void calcABMPhase1 ()
 
void calcABMPhase2 ()
 
void calcABMPhase2Part1 ()
 
void calcABMPhase2Part2 ()
 
void calcABMPhase3 ()
 
void calcMotionWithEulerMethod ()
 
void calcMotionWithRungeKuttaMethod ()
 
void integrateRungeKuttaOneStep (double r, double dt)
 
void updateForceSensor (ForceSensor *sensor)
 
void updateForceSensors ()
 

Private Attributes

std::vector< double > ddq
 
std::vector< double > dq
 
std::vector< double > dq0
 
Vector3 dvo
 
Vector3 dw
 
Vector3 p0
 
std::vector< double > q0
 
Matrix33 R0
 
Vector3 vo
 
Vector3 vo0
 
Vector3 w
 
Vector3 w0
 

Additional Inherited Members

- Protected Types inherited from hrp::ForwardDynamics
enum  { EULER_METHOD, RUNGEKUTTA_METHOD }
 
- Protected Member Functions inherited from hrp::ForwardDynamics
virtual void initializeSensors ()
 
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
 

Detailed Description

Forward dynamics calculation using Featherstone's Articulated Body Method (ABM)

Definition at line 33 of file ForwardDynamicsABM.h.

Constructor & Destructor Documentation

◆ ForwardDynamicsABM()

ForwardDynamicsABM::ForwardDynamicsABM ( BodyPtr  body)

Definition at line 30 of file ForwardDynamicsABM.cpp.

◆ ~ForwardDynamicsABM()

ForwardDynamicsABM::~ForwardDynamicsABM ( )

Definition at line 41 of file ForwardDynamicsABM.cpp.

Member Function Documentation

◆ calcABMFirstHalf()

void ForwardDynamicsABM::calcABMFirstHalf ( )
inlineprivate

Definition at line 54 of file ForwardDynamicsABM.cpp.

◆ calcABMLastHalf()

void ForwardDynamicsABM::calcABMLastHalf ( )
inlineprivate

Definition at line 61 of file ForwardDynamicsABM.cpp.

◆ calcABMPhase1()

void ForwardDynamicsABM::calcABMPhase1 ( )
private

compute position/orientation/velocity

Definition at line 221 of file ForwardDynamicsABM.cpp.

◆ calcABMPhase2()

void ForwardDynamicsABM::calcABMPhase2 ( )
private

compute articulated inertia

Definition at line 305 of file ForwardDynamicsABM.cpp.

◆ calcABMPhase2Part1()

void ForwardDynamicsABM::calcABMPhase2Part1 ( )
private

Definition at line 358 of file ForwardDynamicsABM.cpp.

◆ calcABMPhase2Part2()

void ForwardDynamicsABM::calcABMPhase2Part2 ( )
private

Definition at line 397 of file ForwardDynamicsABM.cpp.

◆ calcABMPhase3()

void ForwardDynamicsABM::calcABMPhase3 ( )
private

compute joint acceleration/spatial acceleration

Definition at line 427 of file ForwardDynamicsABM.cpp.

◆ calcMotionWithEulerMethod()

void ForwardDynamicsABM::calcMotionWithEulerMethod ( )
private

Definition at line 101 of file ForwardDynamicsABM.cpp.

◆ calcMotionWithRungeKuttaMethod()

void ForwardDynamicsABM::calcMotionWithRungeKuttaMethod ( )
private

Definition at line 161 of file ForwardDynamicsABM.cpp.

◆ calcNextState()

void ForwardDynamicsABM::calcNextState ( )
virtual

Implements hrp::ForwardDynamics.

Definition at line 68 of file ForwardDynamicsABM.cpp.

◆ initialize()

void ForwardDynamicsABM::initialize ( void  )
virtual

Implements hrp::ForwardDynamics.

Definition at line 47 of file ForwardDynamicsABM.cpp.

◆ integrateRungeKuttaOneStep()

void ForwardDynamicsABM::integrateRungeKuttaOneStep ( double  r,
double  dt 
)
private

Definition at line 131 of file ForwardDynamicsABM.cpp.

◆ updateForceSensor()

void ForwardDynamicsABM::updateForceSensor ( ForceSensor sensor)
private

Definition at line 482 of file ForwardDynamicsABM.cpp.

◆ updateForceSensors()

void ForwardDynamicsABM::updateForceSensors ( )
private

Definition at line 473 of file ForwardDynamicsABM.cpp.

Member Data Documentation

◆ ddq

std::vector<double> hrp::ForwardDynamicsABM::ddq
private

Definition at line 85 of file ForwardDynamicsABM.h.

◆ dq

std::vector<double> hrp::ForwardDynamicsABM::dq
private

Definition at line 84 of file ForwardDynamicsABM.h.

◆ dq0

std::vector<double> hrp::ForwardDynamicsABM::dq0
private

Definition at line 78 of file ForwardDynamicsABM.h.

◆ dvo

Vector3 hrp::ForwardDynamicsABM::dvo
private

Definition at line 82 of file ForwardDynamicsABM.h.

◆ dw

Vector3 hrp::ForwardDynamicsABM::dw
private

Definition at line 83 of file ForwardDynamicsABM.h.

◆ p0

Vector3 hrp::ForwardDynamicsABM::p0
private

Definition at line 73 of file ForwardDynamicsABM.h.

◆ q0

std::vector<double> hrp::ForwardDynamicsABM::q0
private

Definition at line 77 of file ForwardDynamicsABM.h.

◆ R0

Matrix33 hrp::ForwardDynamicsABM::R0
private

Definition at line 74 of file ForwardDynamicsABM.h.

◆ vo

Vector3 hrp::ForwardDynamicsABM::vo
private

Definition at line 80 of file ForwardDynamicsABM.h.

◆ vo0

Vector3 hrp::ForwardDynamicsABM::vo0
private

Definition at line 75 of file ForwardDynamicsABM.h.

◆ w

Vector3 hrp::ForwardDynamicsABM::w
private

Definition at line 81 of file ForwardDynamicsABM.h.

◆ w0

Vector3 hrp::ForwardDynamicsABM::w0
private

Definition at line 76 of file ForwardDynamicsABM.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 Sep 8 2022 02:24:08