Ravelin
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
MOVINGTRANSFORM3 Class Reference

A transformation between two rigid body poses. More...

#include <MovingTransform3.h>

Public Member Functions

 MOVINGTRANSFORM3 ()
 Sets up a default moving transform.
 
SACCEL transform (const SACCEL &a) const
 Transforms a spatial acceleration (defined relative to the source frame's relative pose) to a spatial acceleration (relative to the target frame's relative pose) More...
 
MOVINGTRANSFORM3operator= (const MOVINGTRANSFORM3 &source)
 Copies a moving transform to another.
 

Static Public Member Functions

static MOVINGTRANSFORM3 calc_transform (boost::shared_ptr< const POSE3 > source, boost::shared_ptr< const POSE3 > target, const SVELOCITY &vs, const SVELOCITY &vt)
 Computes the relative transformation between two moving poses. More...
 

Public Attributes

SVELOCITY v
 the velocity of the original frame
 
ORIGIN3 r
 the r vector
 
ORIGIN3 rdot
 the time derivative of the r vector
 
MATRIX3 E
 the E matrix
 
MATRIX3 Edot
 the time derivative of the E matrix
 
boost::shared_ptr< const POSE3source
 the "source" pose
 
boost::shared_ptr< const POSE3target
 the "target" pose
 

Detailed Description

A transformation between two rigid body poses.

Member Function Documentation

MOVINGTRANSFORM3 MOVINGTRANSFORM3::calc_transform ( boost::shared_ptr< const POSE3 source,
boost::shared_ptr< const POSE3 target,
const SVELOCITY vs,
const SVELOCITY vt 
)
static

Computes the relative transformation between two moving poses.

Parameters
sourcethe source frame
targetthe target frame
vsthe velocity of the source frame
vtthe velocity of the target frame
Returns
a moving transformation
Note
If source/target are not defined with respect to the GLOBAL frame, the caller must take care that the intermediate frames are either stationary, or that their velocity has been accounted for in defining vs/vt.

References E, Edot, QUAT::invert(), MATRIX3::mult(), TRANSFORM3::q, r, rdot, MATRIX3::set_identity(), MATRIX3::skew_symmetric(), source, target, TRANSFORM3::transform(), TRANSFORM3::transform_vector(), MATRIX3::transpose_mult(), and v.

Referenced by POSE3::dot_spatial_transform_to_matrix2(), POSE3::spatial_transform_to_matrix(), and POSE3::spatial_transform_to_matrix2().

SACCEL MOVINGTRANSFORM3::transform ( const SACCEL a) const

Transforms a spatial acceleration (defined relative to the source frame's relative pose) to a spatial acceleration (relative to the target frame's relative pose)

Parameters
aan acceleration defined in the source frame

References VECTOR3::cross(), E, Edot, SVECTOR6::get_lower(), SVECTOR6::get_upper(), SVECTOR6::pose, r, rdot, SVECTOR6::set_lower(), SVECTOR6::set_upper(), source, target, and v.


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