Drake
FixedOffsetFrame< T > Class Template Referencefinal

FixedOffsetFrame represents a material frame F whose pose is fixed with respect to a parent material frame P. More...

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

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

Public Member Functions

 FixedOffsetFrame (const std::string &name, const Frame< T > &P, const Isometry3< double > &X_PF)
 Creates a material Frame F whose pose is fixed with respect to its parent material Frame P. More...
 
 FixedOffsetFrame (const Frame< T > &P, const Isometry3< double > &X_PF)
 Creates an unnamed material Frame F. More...
 
 FixedOffsetFrame (const std::string &name, const Body< T > &bodyB, const Isometry3< double > &X_BF)
 Creates a material Frame F whose pose is fixed with respect to the BodyFrame B of the given Body, which serves as F's parent frame. More...
 
 FixedOffsetFrame (const Body< T > &bodyB, const Isometry3< double > &X_BF)
 Creates an unnamed material Frame F. More...
 
Isometry3< TCalcPoseInBodyFrame (const systems::Context< T > &context) const override
 Returns the pose X_BF of this frame F in the body frame B associated with this frame. More...
 
Isometry3< TGetFixedPoseInBodyFrame () const override
 Variant of CalcPoseInBodyFrame() that returns the fixed pose X_BF of this frame F in the body frame B associated with this frame. More...
 
Does not allow copy, move, or assignment
 FixedOffsetFrame (const FixedOffsetFrame &)=delete
 
FixedOffsetFrameoperator= (const FixedOffsetFrame &)=delete
 
 FixedOffsetFrame (FixedOffsetFrame &&)=delete
 
FixedOffsetFrameoperator= (FixedOffsetFrame &&)=delete
 
- Public Member Functions inherited from Frame< T >
const Body< T > & body () const
 Returns a const reference to the body associated to this Frame. More...
 
const std::string & name () const
 Returns the name of this frame. It may be empty if unnamed. More...
 
virtual Isometry3< TCalcOffsetPoseInBody (const systems::Context< T > &context, const Isometry3< T > &X_FQ) const
 Given the offset pose X_FQ of a frame Q in this frame F, this method computes the pose X_BQ of frame Q in the body frame B to which this frame is attached. More...
 
virtual Isometry3< TGetFixedOffsetPoseInBody (const Isometry3< T > &X_FQ) const
 Variant of CalcOffsetPoseInBody() that given the offset pose X_FQ of a frame Q in this frame F, returns the pose X_BQ of frame Q in the body frame B to which this frame is attached. More...
 
template<typename ToScalar >
std::unique_ptr< Frame< ToScalar > > CloneToScalar (const MultibodyTree< ToScalar > &tree_clone) const
 NVI to DoCloneToScalar() templated on the scalar type of the new clone to be created. More...
 
 Frame (const Frame &)=delete
 
Frameoperator= (const Frame &)=delete
 
 Frame (Frame &&)=delete
 
Frameoperator= (Frame &&)=delete
 

Protected Member Functions

Methods to make a clone templated on different scalar types.

These methods provide implementations to the different overrides of Frame::DoCloneToScalar().

The only const argument to these methods is the new MultibodyTree clone under construction, which is required to already own the clone to the parent frame of the frame being cloned.

std::unique_ptr< Frame< double > > DoCloneToScalar (const MultibodyTree< double > &tree_clone) const override
 
std::unique_ptr< Frame< AutoDiffXd > > DoCloneToScalar (const MultibodyTree< AutoDiffXd > &tree_clone) const override
 
- Protected Member Functions inherited from Frame< T >
 Frame (const std::string &name, const Body< T > &body)
 Only derived classes can use this constructor. More...
 
 Frame (const Body< T > &body)
 Overload to permit constructing an unnamed frame. More...
 
- Protected Member Functions inherited from FrameBase< T >
 FrameBase (ModelInstanceIndex model_instance)
 

Detailed Description

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

FixedOffsetFrame represents a material frame F whose pose is fixed with respect to a parent material frame P.

The pose offset is given by a spatial transform X_PF, which is constant after construction. For instance, we could rigidly attach a frame F to move with a rigid body B at a fixed pose X_BF, where B is the BodyFrame associated with body B. Thus, the World frame pose X_WF of a FixedOffsetFrame F depends only on the World frame pose X_WP of its parent P, and the constant pose X_PF, with X_WF=X_WP*X_PF.

For more information about spatial transforms, see Spatial Pose and Transform.

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

Constructor & Destructor Documentation

FixedOffsetFrame ( const FixedOffsetFrame< T > &  )
delete

Here is the caller graph for this function:

FixedOffsetFrame ( FixedOffsetFrame< T > &&  )
delete
FixedOffsetFrame ( const std::string &  name,
const Frame< T > &  P,
const Isometry3< double > &  X_PF 
)

Creates a material Frame F whose pose is fixed with respect to its parent material Frame P.

The pose is given by a spatial transform X_PF; see class documentation for more information.

Parameters
[in]nameThe name of this frame.
[in]PThe frame to which this frame is attached with a fixed pose.
[in]X_PFThe default transform giving the pose of F in P, therefore only the value (as an Isometry3<double>) is provided.
FixedOffsetFrame ( const Frame< T > &  P,
const Isometry3< double > &  X_PF 
)
inline

Creates an unnamed material Frame F.

See overload with name for more information.

Here is the call graph for this function:

FixedOffsetFrame ( const std::string &  name,
const Body< T > &  bodyB,
const Isometry3< double > &  X_BF 
)

Creates a material Frame F whose pose is fixed with respect to the BodyFrame B of the given Body, which serves as F's parent frame.

The pose is given by a spatial transform X_BF; see class documentation for more information.

Parameters
[in]nameThe name of this frame.
[in]bodyBThe body whose BodyFrame B is to be F's parent frame.
[in]X_BFThe transform giving the pose of F in B.

Here is the call graph for this function:

FixedOffsetFrame ( const Body< T > &  bodyB,
const Isometry3< double > &  X_BF 
)
inline

Creates an unnamed material Frame F.

See overload with name for more information.

Member Function Documentation

Isometry3<T> CalcPoseInBodyFrame ( const systems::Context< T > &  context) const
inlineoverridevirtual

Returns the pose X_BF of this frame F in the body frame B associated with this frame.

In particular, if this is the body frame B, this method directly returns the identity transformation.

Implements Frame< T >.

std::unique_ptr< Frame< double > > DoCloneToScalar ( const MultibodyTree< double > &  tree_clone) const
overrideprotectedvirtual
Precondition
The parent frame to this frame already has a clone in tree_clone.

Implements Frame< T >.

Here is the caller graph for this function:

std::unique_ptr< Frame< AutoDiffXd > > DoCloneToScalar ( const MultibodyTree< AutoDiffXd > &  tree_clone) const
overrideprotectedvirtual
Precondition
The parent frame to this frame already has a clone in tree_clone.

Implements Frame< T >.

Isometry3<T> GetFixedPoseInBodyFrame ( ) const
inlineoverridevirtual

Variant of CalcPoseInBodyFrame() that returns the fixed pose X_BF of this frame F in the body frame B associated with this frame.

Throws std::logic_error if called on a Frame that does not have a fixed offset in the body frame.

Reimplemented from Frame< T >.

Here is the call graph for this function:

FixedOffsetFrame& operator= ( const FixedOffsetFrame< T > &  )
delete
FixedOffsetFrame& operator= ( FixedOffsetFrame< T > &&  )
delete

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