Drake
WeldJoint< T > Class Template Referencefinal

This Joint fixes the relative pose between two frames as if "welding" them together. More...

#include <drake/multibody/multibody_tree/joints/weld_joint.h>

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

Public Types

template<typename Scalar >
using Context = systems::Context< Scalar >
 

Public Member Functions

 WeldJoint (const std::string &name, const Frame< T > &parent_frame_P, const Frame< T > &child_frame_C, const Isometry3< double > &X_PC)
 Constructor for a WeldJoint between a parent_frame_P and a child_frame_C so that their relative pose X_PC is fixed as if they were "welded" together. More...
 
const Isometry3< double > & X_PC () const
 Returns the pose X_PC of frame C in P. More...
 
Does not allow copy, move, or assignment
 WeldJoint (const WeldJoint &)=delete
 
WeldJointoperator= (const WeldJoint &)=delete
 
 WeldJoint (WeldJoint &&)=delete
 
WeldJointoperator= (WeldJoint &&)=delete
 
- Public Member Functions inherited from Joint< T >
 Joint (const std::string &name, const Frame< T > &frame_on_parent, const Frame< T > &frame_on_child)
 Creates a joint between two Frame objects which imposes a given kinematic relation between frame F attached on the parent body P and frame M attached on the child body B. More...
 
virtual ~Joint ()
 
const std::string & name () const
 Returns the name of this joint. More...
 
const Body< T > & parent_body () const
 Returns a const reference to the parent body P. More...
 
const Body< T > & child_body () const
 Returns a const reference to the child body B. More...
 
const Frame< T > & frame_on_parent () const
 Returns a const reference to the frame F attached on the parent body P. More...
 
const Frame< T > & frame_on_child () const
 Returns a const reference to the frame M attached on the child body B. More...
 
int num_dofs () const
 Returns the number of degrees of freedom for this joint. More...
 
const T & GetOnePosition (const systems::Context< T > &context) const
 Returns the position coordinate for joints with a single degree of freedom. More...
 
const T & GetOneVelocity (const systems::Context< T > &context) const
 Returns the velocity coordinate for joints with a single degree of freedom. More...
 
void AddInOneForce (const systems::Context< T > &context, int joint_dof, const T &joint_tau, MultibodyForces< T > *forces) const
 Adds into forces a force along the one of the joint's degrees of freedom indicated by index joint_dof. More...
 
void AddInDamping (const systems::Context< T > &context, MultibodyForces< T > *forces) const
 Adds into forces the force due to damping within this joint. More...
 
 Joint (const Joint &)=delete
 
Jointoperator= (const Joint &)=delete
 
 Joint (Joint &&)=delete
 
Jointoperator= (Joint &&)=delete
 

Protected Member Functions

void DoAddInOneForce (const systems::Context< T > &, int, const T &, MultibodyForces< T > *) const override
 Joint<T> override called through public NVI, Joint::AddInForce(). More...
 
- Protected Member Functions inherited from Joint< T >
virtual const T & DoGetOnePosition (const systems::Context< T > &) const
 Implementation to the NVI GetOnePosition() that must only be implemented by those joint subclasses that have a single degree of freedom. More...
 
virtual const T & DoGetOneVelocity (const systems::Context< T > &) const
 Implementation to the NVI GetOneVelocity() that must only be implemented by those joint subclasses that have a single degree of freedom. More...
 
virtual void DoAddInDamping (const systems::Context< T > &, MultibodyForces< T > *) const
 Adds into MultibodyForces the forces due to damping within this joint. More...
 
void DoSetTopology (const MultibodyTreeTopology &)
 
const JointImplementationget_implementation () const
 Returns a const reference to the internal implementation of this joint. More...
 

Friends

template<typename >
class WeldJoint
 
class JointTester
 

Detailed Description

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

This Joint fixes the relative pose between two frames as if "welding" them together.

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.

Member Typedef Documentation

using Context = systems::Context<Scalar>

Constructor & Destructor Documentation

WeldJoint ( const WeldJoint< T > &  )
delete
WeldJoint ( WeldJoint< T > &&  )
delete
WeldJoint ( const std::string &  name,
const Frame< T > &  parent_frame_P,
const Frame< T > &  child_frame_C,
const Isometry3< double > &  X_PC 
)
inline

Constructor for a WeldJoint between a parent_frame_P and a child_frame_C so that their relative pose X_PC is fixed as if they were "welded" together.

Member Function Documentation

void DoAddInOneForce ( const systems::Context< T > &  ,
int  ,
const T &  ,
MultibodyForces< T > *   
) const
inlineoverrideprotectedvirtual

Joint<T> override called through public NVI, Joint::AddInForce().

Since frame P and C are welded together, it is physically not possible to apply forces between them. Therefore this method throws an exception if invoked.

Implements Joint< T >.

Here is the call graph for this function:

WeldJoint& operator= ( WeldJoint< T > &&  )
delete
WeldJoint& operator= ( const WeldJoint< T > &  )
delete
const Isometry3<double>& X_PC ( ) const
inline

Returns the pose X_PC of frame C in P.

Friends And Related Function Documentation

friend class JointTester
friend
friend class WeldJoint
friend

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