Ravelin
Public Member Functions | Friends | List of all members
CRB_ALGORITHM Class Reference

Computes forward dynamics using composite-rigid body method. More...

#include <CRBAlgorithm.h>

Public Member Functions

boost::shared_ptr
< RC_ARTICULATED_BODY
get_body () const
 
void set_body (boost::shared_ptr< RC_ARTICULATED_BODY > body)
 
void calc_fwd_dyn ()
 Executes the composite rigid-body method.
 
void apply_impulse (const SMOMENTUM &w, boost::shared_ptr< RIGIDBODY > link)
 
void calc_generalized_inertia (SHAREDMATRIXN &M)
 Calculates the generalized inertia matrix for the given representation. More...
 
void calc_generalized_inertia (SHAREDMATRIXN &M, boost::shared_ptr< const POSE3 > P)
 
void calc_generalized_forces (SFORCE &f0, VECTORN &C)
 Computes the vector "C", used for forward dynamics computation, using the recursive Newton-Euler algorithm. More...
 
void calc_generalized_forces_noinertial (SFORCE &f0, VECTORN &C)
 Computes the vector "C", w/o inertial forces, using the recursive Newton-Euler algorithm. More...
 
bool factorize_cholesky (MATRIXN &M)
 Factorizes (Cholesky) the generalized inertia matrix, exploiting sparsity.
 
VECTORNM_solve (VECTORN &xb)
 Solves for acceleration using the body inertia matrix.
 
SHAREDVECTORNM_solve (SHAREDVECTORN &xb)
 Solves for acceleration using the body inertia matrix.
 
MATRIXNM_solve (MATRIXN &XB)
 Solves for acceleration using the body inertia matrix.
 
SHAREDMATRIXNM_solve (SHAREDMATRIXN &XB)
 Solves for acceleration using the body inertia matrix.
 

Friends

class RC_ARTICULATED_BODY
 

Detailed Description

Computes forward dynamics using composite-rigid body method.

Member Function Documentation

void CRB_ALGORITHM::calc_generalized_forces ( SFORCE f0,
VECTORN C 
)

Computes the vector "C", used for forward dynamics computation, using the recursive Newton-Euler algorithm.

Returns
the spatial vector of forces on the base, which can be ignored for forward dynamics for fixed bases

References SVELOCITY::cross(), VECTORN::segment(), and SPARITH::transform_accel().

Referenced by RC_ARTICULATED_BODY::get_generalized_forces().

void CRB_ALGORITHM::calc_generalized_forces_noinertial ( SFORCE f0,
VECTORN C 
)

Computes the vector "C", w/o inertial forces, using the recursive Newton-Euler algorithm.

Returns
the spatial vector of forces on the base, which can be ignored for forward dynamics for fixed bases

References VECTORN::segment().

void CRB_ALGORITHM::calc_generalized_inertia ( SHAREDMATRIXN M)

Calculates the generalized inertia matrix for the given representation.

Generic method provided for use with generalized coordinates.

References SHAREDMATRIXN::block(), SHAREDMATRIXN::resize(), SHAREDMATRIXN::set_sub_mat(), SPARITH::to_matrix(), and MATRIXN::transpose().

Referenced by RC_ARTICULATED_BODY::get_generalized_inertia().


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