Drake
WeldMobilizer< T > Class Template Referencefinal

This mobilizer fixes the relative pose X_FM of an outboard frame M in an inboard frame F as if "welding" them together at this fixed relative pose. More...

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

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

Public Member Functions

 WeldMobilizer (const Frame< T > &inboard_frame_F, const Frame< T > &outboard_frame_M, const Isometry3< double > &X_FM)
 Constructor for a WeldMobilizer between the inboard_frame_F and outboard_frame_M. More...
 
const Isometry3< double > & get_X_FM () const
 
void set_zero_state (const systems::Context< T > &context, systems::State< T > *state) const final
 This override is a no-op for this mobilizer since it has no state associated with it. More...
 
Isometry3< T > CalcAcrossMobilizerTransform (const MultibodyTreeContext< T > &context) const final
 Computes the across-mobilizer transform X_FM, which for this mobilizer is independent of the state stored in context. More...
 
SpatialVelocity< T > CalcAcrossMobilizerSpatialVelocity (const MultibodyTreeContext< T > &context, const Eigen::Ref< const VectorX< T >> &v) const final
 Computes the across-mobilizer velocity V_FM which for this mobilizer is always zero since the outboard frame M is fixed to the inboard frame F. More...
 
SpatialAcceleration< T > CalcAcrossMobilizerSpatialAcceleration (const MultibodyTreeContext< T > &context, const Eigen::Ref< const VectorX< T >> &vdot) const final
 Computes the across-mobilizer acceleration A_FM which for this mobilizer is always zero since the outboard frame M is fixed to the inboard frame F. More...
 
void ProjectSpatialForce (const MultibodyTreeContext< T > &context, const SpatialForce< T > &F_Mo_F, Eigen::Ref< VectorX< T >> tau) const final
 Since this mobilizer has no generalized velocities associated with it, this override is a no-op. More...
 
void MapVelocityToQDot (const MultibodyTreeContext< T > &context, const Eigen::Ref< const VectorX< T >> &v, EigenPtr< VectorX< T >> qdot) const final
 This override is a no-op since this mobilizer has no generalized velocities associated with it. More...
 
void MapQDotToVelocity (const MultibodyTreeContext< T > &context, const Eigen::Ref< const VectorX< T >> &qdot, EigenPtr< VectorX< T >> v) const final
 This override is a no-op since this mobilizer has no generalized velocities associated with it. More...
 
Does not allow copy, move, or assignment
 WeldMobilizer (const WeldMobilizer &)=delete
 
WeldMobilizeroperator= (const WeldMobilizer &)=delete
 
 WeldMobilizer (WeldMobilizer &&)=delete
 
WeldMobilizeroperator= (WeldMobilizer &&)=delete
 
- Public Member Functions inherited from MobilizerImpl< T, 0, 0 >
 MobilizerImpl (const Frame< T > &inboard_frame, const Frame< T > &outboard_frame)
 As with Mobilizer this the only constructor available for this base class. More...
 
int num_positions () const final
 Returns the number of generalized coordinates granted by this mobilizer. More...
 
int num_velocities () const final
 Returns the number of generalized velocities granted by this mobilizer. More...
 
std::unique_ptr< internal::BodyNode< T > > CreateBodyNode (const internal::BodyNode< T > *parent_node, const Body< T > *body, const Mobilizer< T > *mobilizer) const final
 For MultibodyTree internal use only. More...
 
 MobilizerImpl (const MobilizerImpl &)=delete
 
 MobilizerImpl (MobilizerImpl &&)=delete
 
MobilizerImploperator= (const MobilizerImpl &)=delete
 
MobilizerImploperator= (MobilizerImpl &&)=delete
 
- Public Member Functions inherited from Mobilizer< T >
 Mobilizer (const Frame< T > &inboard_frame, const Frame< T > &outboard_frame)
 The minimum amount of information that we need to define a Mobilizer is the knowledge of the inboard and outboard frames it connects. More...
 
const Frame< T > & inboard_frame () const
 Returns a constant reference to the inboard frame. More...
 
const Frame< T > & outboard_frame () const
 Returns a constant reference to the outboard frame. More...
 
const Body< T > & inboard_body () const
 Returns a constant reference to the body associated with this mobilizer's inboard frame. More...
 
const Body< T > & outboard_body () const
 Returns a constant reference to the body associated with this mobilizer's outboard frame. More...
 
const MobilizerTopologyget_topology () const
 Returns the topology information for this mobilizer. More...
 
Eigen::VectorBlock< const Eigen::Ref< const VectorX< T > > > get_positions_from_array (const Eigen::Ref< const VectorX< T >> &q_array) const
 Returns a const Eigen expression of the vector of generalized positions for this mobilizer from a vector q_array of generalized positions for the entire MultibodyTree model. More...
 
Eigen::VectorBlock< Eigen::Ref< VectorX< T > > > get_mutable_positions_from_array (EigenPtr< VectorX< T >> q_array) const
 Mutable version of get_positions_from_array(). More...
 
Eigen::VectorBlock< const Eigen::Ref< const VectorX< T > > > get_velocities_from_array (const Eigen::Ref< const VectorX< T >> &v_array) const
 Returns a const Eigen expression of the vector of generalized velocities for this mobilizer from a vector v_array of generalized velocities for the entire MultibodyTree model. More...
 
Eigen::VectorBlock< Eigen::Ref< VectorX< T > > > get_mutable_velocities_from_array (EigenPtr< VectorX< T >> v_array) const
 Mutable version of get_velocities_from_array(). More...
 
Eigen::VectorBlock< const Eigen::Ref< const VectorX< T > > > get_accelerations_from_array (const Eigen::Ref< const VectorX< T >> &vdot_array) const
 Returns a const Eigen expression of the vector of generalized accelerations for this mobilizer from a vector vdot_array of generalized accelerations for the entire MultibodyTree model. More...
 
Eigen::VectorBlock< Eigen::Ref< VectorX< T > > > get_mutable_accelerations_from_array (EigenPtr< VectorX< T >> vdot_array) const
 Mutable version of get_accelerations_from_array(). More...
 
Eigen::VectorBlock< const Eigen::Ref< const VectorX< T > > > get_generalized_forces_from_array (const Eigen::Ref< const VectorX< T >> &tau_array) const
 Returns a const Eigen expression of the vector of generalized forces for this mobilizer from a vector of generalized forces for the entire MultibodyTree model. More...
 
Eigen::VectorBlock< Eigen::Ref< VectorX< T > > > get_mutable_generalized_forces_from_array (EigenPtr< VectorX< T >> tau_array) const
 Mutable version of get_generalized_forces_from_array(). More...
 
template<typename ToScalar >
std::unique_ptr< Mobilizer< ToScalar > > CloneToScalar (const MultibodyTree< ToScalar > &cloned_tree) const
 NVI to DoCloneToScalar() templated on the scalar type of the new clone to be created. More...
 
 Mobilizer (const Mobilizer &)=delete
 
Mobilizeroperator= (const Mobilizer &)=delete
 
 Mobilizer (Mobilizer &&)=delete
 
Mobilizeroperator= (Mobilizer &&)=delete
 
void set_zero_configuration (systems::Context< T > *context) const
 Sets the state stored in context to a zero configuration as defined by set_zero_state(). More...
 

Protected Member Functions

std::unique_ptr< Mobilizer< double > > DoCloneToScalar (const MultibodyTree< double > &tree_clone) const final
 Clones this Mobilizer (templated on T) to a mobilizer templated on double. More...
 
std::unique_ptr< Mobilizer< AutoDiffXd > > DoCloneToScalar (const MultibodyTree< AutoDiffXd > &tree_clone) const final
 Clones this Mobilizer (templated on T) to a mobilizer templated on AutoDiffXd. More...
 
- Protected Member Functions inherited from MobilizerImpl< T, 0, 0 >
MultibodyTreeContext< T > & GetMutableMultibodyTreeContextOrThrow (systems::Context< T > *context) const
 Helper method to retrieve a mutable pointer to the MultibodyTreeContext object referenced by context. More...
 
void set_default_zero_state (const systems::Context< T > &context, systems::State< T > *state) const
 Helper to set state to a default zero state with all generalized positions and generalized velocities related to this mobilizer to zero. More...
 
Eigen::VectorBlock< const VectorX< T >, kNqget_positions (const MultibodyTreeContext< T > &context) const
 Helper to return a const fixed-size Eigen::VectorBlock referencing the segment in the state vector corresponding to this mobilizer's state. More...
 
Eigen::VectorBlock< VectorX< T >, kNqget_mutable_positions (MultibodyTreeContext< T > *context) const
 Helper to return a mutable fixed-size Eigen::VectorBlock referencing the segment in the state vector corresponding to this mobilizer's state. More...
 
Eigen::VectorBlock< VectorX< T >, kNqget_mutable_positions (const systems::Context< T > &context, systems::State< T > *state) const
 Helper variant to return a const fixed-size Eigen::VectorBlock referencing the segment in the state corresponding to this mobilizer's generalized positions. More...
 
Eigen::VectorBlock< VectorX< T > > get_mutable_state_vector (const systems::Context< T > &context, systems::State< T > *state) const
 Returns a mutable reference to the state vector stored in state as an Eigen::VectorBlock<VectorX<T>>. More...
 
Eigen::VectorBlock< VectorX< T >, kNvget_mutable_velocities (const systems::Context< T > &context, systems::State< T > *state) const
 Helper variant to return a const fixed-size Eigen::VectorBlock referencing the segment in the state corresponding to this mobilizer's generalized velocities. More...
 
Eigen::VectorBlock< VectorX< T >, kNvget_mutable_velocities (MultibodyTreeContext< T > *context) const
 Helper to return a mutable fixed-size Eigen::VectorBlock referencing the segment in the state vector corresponding to this mobilizer's state. More...
 
Eigen::VectorBlock< const VectorX< T >, kNvget_velocities (const MultibodyTreeContext< T > &context) const
 Helper to return a const fixed-size Eigen::VectorBlock referencing the segment in the state vector corresponding to this mobilizer's state. More...
 
Methods to make a clone templated on different scalar types.

The only const argument to these methods is the new MultibodyTree clone under construction, which is required to already own the clones of the inboard and outboard frames of the mobilizer being cloned.

Additional Inherited Members

- Protected Types inherited from MobilizerImpl< T, 0, 0 >
enum  
 
- Static Protected Member Functions inherited from MobilizerImpl< T, 0, 0 >
static const MultibodyTreeContext< T > & GetMultibodyTreeContextOrThrow (const systems::Context< T > &context)
 Helper method to retrieve a const reference to the MultibodyTreeContext object referenced by context. More...
 

Detailed Description

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

This mobilizer fixes the relative pose X_FM of an outboard frame M in an inboard frame F as if "welding" them together at this fixed relative pose.

Therefore, this mobilizer has no associated state with it.

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

Instantiated templates for the following kinds of T's are provided:

They are already available to link against in the containing library. No other values for T are currently supported.

Constructor & Destructor Documentation

WeldMobilizer ( const WeldMobilizer< T > &  )
delete
WeldMobilizer ( WeldMobilizer< T > &&  )
delete
WeldMobilizer ( const Frame< T > &  inboard_frame_F,
const Frame< T > &  outboard_frame_M,
const Isometry3< double > &  X_FM 
)
inline

Constructor for a WeldMobilizer between the inboard_frame_F and outboard_frame_M.

Parameters
[in]X_FMPose of outboard_frame_M in the inboard_frame_F.

Member Function Documentation

SpatialAcceleration< T > CalcAcrossMobilizerSpatialAcceleration ( const MultibodyTreeContext< T > &  context,
const Eigen::Ref< const VectorX< T >> &  vdot 
) const
finalvirtual

Computes the across-mobilizer acceleration A_FM which for this mobilizer is always zero since the outboard frame M is fixed to the inboard frame F.

Implements Mobilizer< T >.

Here is the call graph for this function:

Here is the caller graph for this function:

SpatialVelocity< T > CalcAcrossMobilizerSpatialVelocity ( const MultibodyTreeContext< T > &  context,
const Eigen::Ref< const VectorX< T >> &  v 
) const
finalvirtual

Computes the across-mobilizer velocity V_FM which for this mobilizer is always zero since the outboard frame M is fixed to the inboard frame F.

Implements Mobilizer< T >.

Here is the call graph for this function:

Here is the caller graph for this function:

Isometry3< T > CalcAcrossMobilizerTransform ( const MultibodyTreeContext< T > &  context) const
finalvirtual

Computes the across-mobilizer transform X_FM, which for this mobilizer is independent of the state stored in context.

Implements Mobilizer< T >.

Here is the caller graph for this function:

std::unique_ptr< Mobilizer< double > > DoCloneToScalar ( const MultibodyTree< double > &  tree_clone) const
finalprotectedvirtual

Clones this Mobilizer (templated on T) to a mobilizer templated on double.

Precondition
Inboard and outboard frames for this mobilizer already have a clone in tree_clone.

Implements Mobilizer< T >.

Here is the caller graph for this function:

std::unique_ptr< Mobilizer< AutoDiffXd > > DoCloneToScalar ( const MultibodyTree< AutoDiffXd > &  tree_clone) const
finalprotectedvirtual

Clones this Mobilizer (templated on T) to a mobilizer templated on AutoDiffXd.

Precondition
Inboard and outboard frames for this mobilizer already have a clone in tree_clone.

Implements Mobilizer< T >.

Here is the call graph for this function:

const Isometry3<double>& get_X_FM ( ) const
inline
Return values
X_FMThe pose of the outboard frame M in the inboard frame F.

Here is the call graph for this function:

void MapQDotToVelocity ( const MultibodyTreeContext< T > &  context,
const Eigen::Ref< const VectorX< T >> &  qdot,
EigenPtr< VectorX< T >>  v 
) const
finalvirtual

This override is a no-op since this mobilizer has no generalized velocities associated with it.

Implements Mobilizer< T >.

Here is the call graph for this function:

Here is the caller graph for this function:

void MapVelocityToQDot ( const MultibodyTreeContext< T > &  context,
const Eigen::Ref< const VectorX< T >> &  v,
EigenPtr< VectorX< T >>  qdot 
) const
finalvirtual

This override is a no-op since this mobilizer has no generalized velocities associated with it.

Implements Mobilizer< T >.

Here is the caller graph for this function:

WeldMobilizer& operator= ( WeldMobilizer< T > &&  )
delete
WeldMobilizer& operator= ( const WeldMobilizer< T > &  )
delete
void ProjectSpatialForce ( const MultibodyTreeContext< T > &  context,
const SpatialForce< T > &  F_Mo_F,
Eigen::Ref< VectorX< T >>  tau 
) const
finalvirtual

Since this mobilizer has no generalized velocities associated with it, this override is a no-op.

Implements Mobilizer< T >.

Here is the caller graph for this function:

void set_zero_state ( const systems::Context< T > &  context,
systems::State< T > *  state 
) const
finalvirtual

This override is a no-op for this mobilizer since it has no state associated with it.

Implements Mobilizer< T >.

Here is the caller graph for this function:


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