Public Member Functions | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Private Types | Private Member Functions | Private Attributes | List of all members
hrp::ForwardDynamics Class Referenceabstract

#include <ForwardDynamics.h>

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

Public Member Functions

virtual void calcNextState ()=0
 
void enableSensors (bool on)
 
EIGEN_MAKE_ALIGNED_OPERATOR_NEW ForwardDynamics (BodyPtr body)
 
virtual void initialize ()=0
 
void setEulerMethod ()
 
void setGravityAcceleration (const Vector3 &g)
 
void setRungeKuttaMethod ()
 
void setTimeStep (double timeStep)
 
virtual ~ForwardDynamics ()
 

Protected Types

enum  { EULER_METHOD, RUNGEKUTTA_METHOD }
 

Protected Member Functions

virtual void initializeSensors ()
 
virtual void updateSensorsFinal ()
 

Static Protected Member Functions

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

BodyPtr body
 
Vector3 g
 
enum hrp::ForwardDynamics:: { ... }  integrationMode
 
bool sensorsEnabled
 
double timeStep
 

Private Types

typedef Eigen::Matrix2d matrix22
 
typedef Eigen::Vector2d vector2
 

Private Member Functions

void initializeAccelSensors ()
 
void updateAccelSensor (AccelSensor *sensor)
 

Private Attributes

matrix22 A
 
vector2 B
 

Detailed Description

This class calculates the forward dynamics of a Body object by using the Featherstone's articulated body algorithm. The class also integrates motion using the Euler method or RungeKutta method.

Definition at line 35 of file ForwardDynamics.h.

Member Typedef Documentation

typedef Eigen::Matrix2d hrp::ForwardDynamics::matrix22
private

Definition at line 85 of file ForwardDynamics.h.

typedef Eigen::Vector2d hrp::ForwardDynamics::vector2
private

Definition at line 86 of file ForwardDynamics.h.

Member Enumeration Documentation

anonymous enum
protected
Enumerator
EULER_METHOD 
RUNGEKUTTA_METHOD 

Definition at line 76 of file ForwardDynamics.h.

Constructor & Destructor Documentation

ForwardDynamics::ForwardDynamics ( BodyPtr  body)

Definition at line 22 of file ForwardDynamics.cpp.

ForwardDynamics::~ForwardDynamics ( )
virtual

Definition at line 33 of file ForwardDynamics.cpp.

Member Function Documentation

virtual void hrp::ForwardDynamics::calcNextState ( )
pure virtual
void ForwardDynamics::enableSensors ( bool  on)

Definition at line 63 of file ForwardDynamics.cpp.

virtual void hrp::ForwardDynamics::initialize ( )
pure virtual
void ForwardDynamics::initializeAccelSensors ( )
private

Definition at line 149 of file ForwardDynamics.cpp.

void ForwardDynamics::initializeSensors ( )
protectedvirtual

Reimplemented in hrp::ForwardDynamicsMM.

Definition at line 93 of file ForwardDynamics.cpp.

void ForwardDynamics::SE3exp ( Vector3 out_p,
Matrix33 out_R,
const Vector3 p0,
const Matrix33 R0,
const Vector3 w,
const Vector3 vo,
double  dt 
)
staticprotected

update position/orientation using spatial velocity

function from Murray, Li and Sastry p.42

Parameters
out_pp(t+dt)
out_RR(t+dt)
p0p(t)
R0R(t)
wangular velocity
vospatial velocity
dttime step[s]

Definition at line 70 of file ForwardDynamics.cpp.

void ForwardDynamics::setEulerMethod ( )

Definition at line 51 of file ForwardDynamics.cpp.

void ForwardDynamics::setGravityAcceleration ( const Vector3 g)

Definition at line 45 of file ForwardDynamics.cpp.

void ForwardDynamics::setRungeKuttaMethod ( )

Definition at line 57 of file ForwardDynamics.cpp.

void ForwardDynamics::setTimeStep ( double  timeStep)

Definition at line 39 of file ForwardDynamics.cpp.

void ForwardDynamics::updateAccelSensor ( AccelSensor sensor)
private

Definition at line 122 of file ForwardDynamics.cpp.

void ForwardDynamics::updateSensorsFinal ( )
protectedvirtual

Definition at line 103 of file ForwardDynamics.cpp.

Member Data Documentation

matrix22 hrp::ForwardDynamics::A
private

Definition at line 87 of file ForwardDynamics.h.

vector2 hrp::ForwardDynamics::B
private

Definition at line 88 of file ForwardDynamics.h.

BodyPtr hrp::ForwardDynamics::body
protected

Definition at line 71 of file ForwardDynamics.h.

Vector3 hrp::ForwardDynamics::g
protected

Definition at line 72 of file ForwardDynamics.h.

enum { ... } hrp::ForwardDynamics::integrationMode
bool hrp::ForwardDynamics::sensorsEnabled
protected

Definition at line 74 of file ForwardDynamics.h.

double hrp::ForwardDynamics::timeStep
protected

Definition at line 73 of file ForwardDynamics.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 Sat May 8 2021 02:42:45