RobWorkProject
Classes | Public Types | Public Member Functions | Protected Member Functions | List of all members
PrismaticJoint Class Reference

Prismatic joints. More...

#include <PrismaticJoint.hpp>

Inherits Joint.

Public Types

typedef rw::common::Ptr< PrismaticJointPtr
 smart pointer type to this class
 
- Public Types inherited from Joint
typedef rw::common::Ptr< JointPtr
 smart pointer type to this class
 
- Public Types inherited from Frame
typedef rw::common::Ptr< FramePtr
 Smart pointer type for a Frame object.
 
typedef rw::common::Ptr< const FrameCPtr
 Smart pointer type for a constant Frame object.
 
typedef common::ConcatVectorIterator< Frameiterator
 Forward iterator for frames.
 
typedef common::ConstConcatVectorIterator< Frameconst_iterator
 Forward iterator for const frames.
 
typedef std::pair< iterator, iteratoriterator_pair
 Pair of iterators.
 
typedef std::pair< const_iterator, const_iteratorconst_iterator_pair
 Pair of const iterators.
 

Public Member Functions

 PrismaticJoint (const std::string &name, const math::Transform3D<> &transform)
 Constructs PrismaticJoint. More...
 
virtual ~PrismaticJoint ()
 destructor
 
void multiplyJointTransform (const math::Transform3D<> &parent, const math::Q &q, math::Transform3D<> &result) const
 Post-multiply the transform of the joint to the parent transform. More...
 
math::Transform3D getJointTransform (double q) const
 The transform of the joint relative to its parent. More...
 
math::Transform3D getTransform (double q) const
 The transform of the joint relative to its parent. More...
 
rw::math::Transform3D getFixedTransform () const
 get the fixed transform from parent to this joint More...
 
void setFixedTransform (const rw::math::Transform3D<> &t3d)
 change the transform from parent to joint base. More...
 
math::Transform3D getJointTransform (const rw::kinematics::State &state) const
 get the isolated joint transformation which is purely dependent on q. More...
 
void getJacobian (size_t row, size_t col, const math::Transform3D<> &joint, const math::Transform3D<> &tcp, const kinematics::State &state, math::Jacobian &jacobian) const
 
virtual void setJointMapping (rw::math::Function1Diff<>::Ptr function)
 set the function to be used in transforming from the state q to the actual q needed. More...
 
virtual void removeJointMapping ()
 removes mapping of joint values More...
 
- Public Member Functions inherited from Joint
virtual ~Joint ()
 Virtual destructor.
 
void setBounds (const std::pair< const math::Q, const math::Q > &bounds)
 Sets joint bounds. More...
 
const std::pair< math::Q, math::Q > & getBounds () const
 Gets joint bounds. More...
 
void setMaxVelocity (const math::Q &maxVelocity)
 Sets max velocity of joint. More...
 
const math::QgetMaxVelocity () const
 Gets max velocity of joint. More...
 
void setMaxAcceleration (const math::Q &maxAcceleration)
 Sets max acceleration of joint. More...
 
const math::QgetMaxAcceleration () const
 Gets max acceleration of joint. More...
 
void setActive (bool isActive)
 set the active state of the joint More...
 
bool isActive () const
 a joint is active if its motorized/controlled in some fasion. passive or non-active joints are typically used in parrallel robots. More...
 
- Public Member Functions inherited from Frame
virtual ~Frame ()
 Destructor for the frame.
 
void multiplyTransform (const math::Transform3D<> &parent, const State &state, math::Transform3D<> &result) const
 Post-multiply the transform of the frame to the parent transform. More...
 
math::Transform3D getTransform (const State &state) const
 The transform of the frame relative to its parent. More...
 
const common::PropertyMapgetPropertyMap () const
 Miscellaneous properties of the frame. More...
 
common::PropertyMapgetPropertyMap ()
 Miscellaneous properties of the frame. More...
 
int getDOF () const
 The number of degrees of freedom (dof) of the frame. More...
 
const FramegetParent () const
 The parent of the frame or NULL if the frame is a DAF.
 
FramegetParent ()
 The parent of the frame or NULL if the frame is a DAF.
 
FramegetParent (const State &state)
 Returns the parent of the frame. More...
 
const FramegetParent (const State &state) const
 Returns the parent of the frame. More...
 
const FramegetDafParent (const State &state) const
 The dynamically attached parent or NULL if the frame is not a DAF.
 
FramegetDafParent (const State &state)
 The dynamically attached parent or NULL if the frame is not a DAF. More...
 
const_iterator_pair getChildren () const
 Iterator pair for the fixed children of the frame.
 
iterator_pair getChildren ()
 Iterator pair for the fixed children of the frame. More...
 
const_iterator_pair getChildren (const State &state) const
 Iterator pair for all children of the frame.
 
iterator_pair getChildren (const State &state)
 Iterator pair for all children of the frame.
 
const_iterator_pair getDafChildren (const State &state) const
 Iterator pair for the dynamically attached children of the frame.
 
iterator_pair getDafChildren (const State &state)
 Iterator pair for the dynamically attached children of the frame. More...
 
void attachTo (Frame *parent, State &state)
 Move a frame within the tree. More...
 
bool isDAF ()
 Test if this frame is a Dynamically Attachable Frame. More...
 
rw::math::Transform3D wTf (const rw::kinematics::State &state) const
 Get the transform relative to world. More...
 
rw::math::Transform3D fTf (const Frame *to, const rw::kinematics::State &state) const
 Get the transform of other frame relative to this frame. More...
 
- Public Member Functions inherited from StateData
virtual ~StateData ()
 destructor
 
int getID () const
 An integer ID for the StateData. More...
 
const std::string & getName () const
 The name of the state data. More...
 
int size () const
 The number of doubles allocated by this StateData in each State object. More...
 
const double * getData (const State &state) const
 An array of length size() containing the values for the state data. More...
 
double * getData (State &state)
 An array of length size() containing the values for the state data. More...
 
void setData (State &state, const double *vals) const
 Assign for state data the size() of values of the array vals. More...
 
bool hasCache () const
 Check is state data includes a cache. More...
 
rw::common::Ptr< StateCachegetCache (const State &state) const
 Get the cache. More...
 
rw::common::Ptr< StateCachegetCache (State &state)
 Get the cache. . More...
 
rw::common::Ptr< StateCachegetDefaultCache ()
 Get default cache. More...
 
void setCache (rw::common::Ptr< StateCache > cache, State &state)
 Set the cache values. More...
 
class StateStructuregetStateStructure ()
 Get the state structure. More...
 
 StateData (int size, const std::string &name)
 A state with size number of doubles in the State vector. More...
 
 StateData (int size, const std::string &name, rw::common::Ptr< StateCache > cache)
 A state with size number of doubles in the State vector. More...
 

Protected Member Functions

void doMultiplyTransform (const math::Transform3D<> &parent, const kinematics::State &state, math::Transform3D<> &result) const
 Subclass implementation of the getTransform() method. More...
 
math::Transform3D doGetTransform (const kinematics::State &state) const
 
- Protected Member Functions inherited from Joint
 Joint (const std::string &name, size_t dof)
 Default constructor for the joint interface. More...
 
 Joint (const std::string &name, size_t dof, size_t stateSize)
 constructor - with the possiblity of adding additional states than the dofs. More...
 
- Protected Member Functions inherited from Frame
 Frame (int dof, const std::string &name)
 A frame with dof number of degrees of freedom. More...
 

Detailed Description

Prismatic joints.

PrismaticJoint implements a prismatic joint for the displacement in the direction of the z-axis of an arbitrary displacement transform.

Constructor & Destructor Documentation

◆ PrismaticJoint()

PrismaticJoint ( const std::string &  name,
const math::Transform3D<> &  transform 
)

Constructs PrismaticJoint.

Parameters
name[in] Name of the joints
transform[in] Static transform of the joint

Member Function Documentation

◆ doGetTransform()

math::Transform3D doGetTransform ( const kinematics::State state) const
protectedvirtual

brief Subclass implementation of the multiplyTransform() method

Implements Frame.

◆ doMultiplyTransform()

void doMultiplyTransform ( const math::Transform3D<> &  parent,
const kinematics::State state,
math::Transform3D<> &  result 
) const
protectedvirtual

Subclass implementation of the getTransform() method.

Implements Frame.

◆ getFixedTransform()

rw::math::Transform3D getFixedTransform ( ) const
virtual

get the fixed transform from parent to this joint

Notice that this does not include the actual rotation of the joint (its state) only its fixed transform.

Returns
fixed part of transform from paretn to joint

Implements Joint.

◆ getJacobian()

void getJacobian ( size_t  row,
size_t  col,
const math::Transform3D<> &  joint,
const math::Transform3D<> &  tcp,
const kinematics::State state,
math::Jacobian jacobian 
) const
virtual

Implements Joint.

◆ getJointTransform() [1/2]

math::Transform3D getJointTransform ( double  q) const

The transform of the joint relative to its parent.

The transform is calculated for the joint values of state.

This method is equivalent to Frame::multiplyTransform except that is operates directly on a joint vector instead of a State.

Parameters
q[in] Joint values for the joint
Returns
The transform of the frame relative to its displacement transform.

◆ getJointTransform() [2/2]

math::Transform3D getJointTransform ( const rw::kinematics::State state) const
virtual

get the isolated joint transformation which is purely dependent on q.

Parameters
state[in] the state from which to extract q
Returns
the joint transformation

Implements Joint.

◆ getTransform()

math::Transform3D getTransform ( double  q) const

The transform of the joint relative to its parent.

The transform is calculated for the joint values of state.

This method is equivalent to Frame::multiplyTransform except that is operates directly on a joint vector instead of a State.

Parameters
q[in] Joint values for the joint
Returns
The transform of the frame relative to its parent transform.

◆ multiplyJointTransform()

void multiplyJointTransform ( const math::Transform3D<> &  parent,
const math::Q q,
math::Transform3D<> &  result 
) const

Post-multiply the transform of the joint to the parent transform.

The transform is calculated for the joint values of q.

This method is equivalent to Frame::multiplyTransform except that is operates directly on a joint vector instead of a State.

Parameters
parent[in] The world transform of the parent frame.
q[in] Joint values for the joint
result[in] The transform of the frame in the world frame.

◆ removeJointMapping()

virtual void removeJointMapping ( )
virtual

removes mapping of joint values

Implements Joint.

◆ setFixedTransform()

void setFixedTransform ( const rw::math::Transform3D<> &  t3d)
virtual

change the transform from parent to joint base.

Parameters
t3d[in] the new transform.

Implements Joint.

◆ setJointMapping()

virtual void setJointMapping ( rw::math::Function1Diff<>::Ptr  function)
virtual

set the function to be used in transforming from the state q to the actual q needed.

This function can be used e.g. by a calibration.

Parameters
function[in] function with first order derivative.

Implements Joint.


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