Ravelin
|
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... | |
MOVINGTRANSFORM3 & | operator= (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 POSE3 > | source |
the "source" pose | |
boost::shared_ptr< const POSE3 > | target |
the "target" pose | |
A transformation between two rigid body poses.
|
static |
Computes the relative transformation between two moving poses.
source | the source frame |
target | the target frame |
vs | the velocity of the source frame |
vt | the velocity of the target frame |
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().
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)
a | an 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.