Drake
FrameBase< T > Class Template Reference

FrameBase is an abstract representation of the concept of a frame in multibody dynamics. More...

#include <drake/multibody/multibody_tree/frame_base.h>

Inheritance diagram for FrameBase< T >:
[legend]
Collaboration diagram for FrameBase< T >:
[legend]

Detailed Description

template<typename T>
class drake::multibody::FrameBase< T >

FrameBase is an abstract representation of the concept of a frame in multibody dynamics.

A frame F is a mathematical object consisting of a set of three orthogonal unit vector axes Fx,Fy,Fz forming a right-handed orthogonal basis located at a point Fo called the frame's origin. If the frame origin Fo is a material point of a body, then F is a material frame (also called a physical frame) and can be used to apply forces and torques to its body. A material frame can serve as an attachment point for force-producing elements such as joints and constraints. Otherwise, we call the frame a free-floating or computed frame and it is still suited for observation, visualization, and measurement but cannot be used to apply forces. Because material frames are by far the most common and useful frames encountered in multibody systems, the derived class with the simple name Frame is used to represent them.

Given numerical values in a Context for the associated multibody system, every frame has a location and orientation (collectively, pose) in space that can be obtained through this base class. Most frames will also move based on the multibody system's configuration, or on general runtime computations, so may have meaningful spatial velocity and acceleration – that will always be the case for material frames during a dynamic simulation. Such kinematic quantities must always be measured with respect to some other specified frame. The only frame we can be sure exists is the World frame W, so pose and motion with respect to W are always available. Utilities are provided for calculating frame motion with respect to other frames. Derived frame objects will have additional properties. For example, material frames have an associated Body.

Summarizing, FrameBase serves as an abstraction for a general frame object; it doesn't store any values itself. As always in Drake, runtime values are obtained from a Context object. FrameBase provides an interface through which the pose of a frame may be obtained from a given Context. Classes derived from FrameBase are used to represent more specific types of frames, most importantly whether a frame is associated with a material point of a body.

Template Parameters
TThe scalar type. Must be a valid Eigen scalar.

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