Choreonoid  1.5
Public Member Functions | Public Attributes | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
cnoid::ForwardDynamics Class Referenceabstract

#include <ForwardDynamics.h>

Inheritance diagram for cnoid::ForwardDynamics:
cnoid::ForwardDynamicsABM cnoid::ForwardDynamicsCBM

Public Member Functions

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

Public Attributes

 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
 

Protected Types

enum  { EULER_METHOD, RUNGEKUTTA_METHOD }
 

Protected Member Functions

virtual void initializeSensors ()
 

Static Protected Member Functions

static void SE3exp (Position &out_T, const Position &T0, const Vector3 &w, const Vector3 &vo, double dt)
 update position/orientation using spatial velocity More...
 

Protected Attributes

DyBodyPtr body
 
Vector3 g
 
double timeStep
 
bool sensorsEnabled
 
BasicSensorSimulationHelper sensorHelper
 
enum cnoid::ForwardDynamics:: { ... }  integrationMode
 

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.

Member Enumeration Documentation

anonymous enum
protected
Enumerator
EULER_METHOD 
RUNGEKUTTA_METHOD 

Constructor & Destructor Documentation

ForwardDynamics::ForwardDynamics ( DyBody body)
ForwardDynamics::~ForwardDynamics ( )
virtual

Member Function Documentation

virtual void cnoid::ForwardDynamics::calcNextState ( )
pure virtual
void ForwardDynamics::enableSensors ( bool  on)
virtual void cnoid::ForwardDynamics::initialize ( )
pure virtual
void ForwardDynamics::initializeSensors ( )
protectedvirtual
void ForwardDynamics::SE3exp ( Position out_T,
const Position T0,
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
v0spatial velocity
dttime step[s]
void ForwardDynamics::setEulerMethod ( )
void ForwardDynamics::setGravityAcceleration ( const Vector3 g)
void ForwardDynamics::setOldAccelSensorCalcMode ( bool  on)
void ForwardDynamics::setRungeKuttaMethod ( )
void ForwardDynamics::setTimeStep ( double  timeStep)

Member Data Documentation

DyBodyPtr cnoid::ForwardDynamics::body
protected
cnoid::ForwardDynamics::EIGEN_MAKE_ALIGNED_OPERATOR_NEW
Vector3 cnoid::ForwardDynamics::g
protected
enum { ... } cnoid::ForwardDynamics::integrationMode
BasicSensorSimulationHelper cnoid::ForwardDynamics::sensorHelper
protected
bool cnoid::ForwardDynamics::sensorsEnabled
protected
double cnoid::ForwardDynamics::timeStep
protected

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