Robotics Library  0.6.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
rl::kin::Puma Class Reference

#include <Puma.h>

Inheritance diagram for rl::kin::Puma:
Inheritance graph
[legend]
Collaboration diagram for rl::kin::Puma:
Collaboration graph
[legend]

Public Types

enum  Arm { ARM_LEFT = -1, ARM_RIGHT = 1 }
 
enum  Elbow { ELBOW_ABOVE = 1, ELBOW_BELOW = -1 }
 
enum  Wrist { WRIST_FLIP = 1, WRIST_NONFLIP = -1 }
 
- Public Types inherited from rl::kin::Kinematics
enum  Type { TYPE_PRISMATIC, TYPE_REVOLUTE }
 

Public Member Functions

 Puma ()
 
virtual ~Puma ()
 
virtual Kinematicsclone () const
 
Arm getArm () const
 
Elbow getElbow () const
 
Wrist getWrist () const
 
bool inversePosition (const ::rl::math::Transform &t,::rl::math::Vector &q, const ::std::size_t &iterations=1000)
 
bool isSingular () const
 
void parameters (const ::rl::math::Vector &q, Arm &arm, Elbow &elbow, Wrist &wrist) const
 
void setArm (const Arm &arm)
 
void setElbow (const Elbow &elbow)
 
void setWrist (const Wrist &wrist)
 
- Public Member Functions inherited from rl::kin::Kinematics
 Kinematics ()
 
virtual ~Kinematics ()
 
bool areColliding (const ::std::size_t &i, const ::std::size_t &j) const
 
virtual void clip (::rl::math::Vector &q) const
 
virtual ::rl::math::Real distance (const ::rl::math::Vector &q1, const ::rl::math::Vector &q2) const
 
virtual const
::rl::math::Transform
forwardPosition (const ::std::size_t &i=0) const
 
virtual void forwardForce (const ::rl::math::Vector &tau,::rl::math::Vector &f) const
 
virtual void forwardVelocity (const ::rl::math::Vector &qdot,::rl::math::Vector &xdot) const
 
::std::size_t getBodies () const
 
::std::size_t getDof () const
 
const ::rl::math::TransformgetFrame (const ::std::size_t &i) const
 
const ::rl::math::MatrixgetJacobian () const
 
const ::rl::math::MatrixgetJacobianInverse () const
 
::rl::math::Real getManipulabilityMeasure () const
 
::std::string getManufacturer () const
 
::rl::math::Real getMaximum (const ::std::size_t &i) const
 
void getMaximum (::rl::math::Vector &max) const
 
::rl::math::Real getMinimum (const ::std::size_t &i) const
 
void getMinimum (::rl::math::Vector &min) const
 
::std::string getName () const
 
::std::size_t getOperationalDof () const
 
void getPosition (::rl::math::Vector &q) const
 
::rl::math::Real getSpeed (const ::std::size_t &i) const
 
void getSpeed (::rl::math::Vector &speed) const
 
Type getType (const ::std::size_t &i)
 
virtual void interpolate (const ::rl::math::Vector &q1, const ::rl::math::Vector &q2, const ::rl::math::Real &alpha,::rl::math::Vector &q) const
 
virtual void inverseForce (const ::rl::math::Vector &f,::rl::math::Vector &tau) const
 
virtual ::rl::math::Real inverseOfTransformedDistance (const ::rl::math::Real &d) const
 
virtual void inverseVelocity (const ::rl::math::Vector &xdot,::rl::math::Vector &qdot) const
 
bool isColliding (const ::std::size_t &i) const
 
virtual bool isValid (const ::rl::math::Vector &q) const
 
virtual ::rl::math::Real maxDistanceToRectangle (const ::rl::math::Vector &q, const ::rl::math::Vector &min, const ::rl::math::Vector &max) const
 
virtual ::rl::math::Real minDistanceToRectangle (const ::rl::math::Vector &q, const ::rl::math::Vector &min, const ::rl::math::Vector &max) const
 
virtual ::rl::math::Real minDistanceToRectangle (const ::rl::math::Real &q, const ::rl::math::Real &min, const ::rl::math::Real &max, const ::std::size_t &cuttingDimension) const
 
virtual ::rl::math::Real newDistance (const ::rl::math::Real &dist, const ::rl::math::Real &oldOff, const ::rl::math::Real &newOff, const int &cuttingDimension) const
 
void setColliding (const ::std::size_t &i, const bool &doesCollide)
 
void setColliding (const ::std::size_t &i, const ::std::size_t &j, const bool &doCollide)
 
void setPosition (const ::rl::math::Vector &q)
 
virtual void step (const ::rl::math::Vector &q1, const ::rl::math::Vector &qdot,::rl::math::Vector &q2) const
 
::rl::math::Transformtool (const ::std::size_t &i=0)
 
const ::rl::math::Transformtool (const ::std::size_t &i=0) const
 
virtual ::rl::math::Real transformedDistance (const ::rl::math::Real &d) const
 
virtual ::rl::math::Real transformedDistance (const ::rl::math::Vector &q1, const ::rl::math::Vector &q2) const
 
virtual void updateFrames ()
 
virtual void updateJacobian ()
 
virtual void updateJacobianInverse (const ::rl::math::Real &lambda=0.0f, const bool &doSvd=true)
 
::rl::math::Transformworld ()
 
const ::rl::math::Transformworld () const
 

Private Member Functions

template<typename T >
atan2 (const T &y, const T &x) const
 
template<typename T >
cos (const T &x) const
 
template<typename T >
sin (const T &x) const
 

Private Attributes

Arm arm
 
Elbow elbow
 
Wrist wrist
 

Additional Inherited Members

- Static Public Member Functions inherited from rl::kin::Kinematics
static Kinematicscreate (const ::std::string &filename)
 
- Protected Types inherited from rl::kin::Kinematics
typedef
::boost::adjacency_list
< ::boost::vecS,::boost::vecS,::boost::bidirectionalS,::boost::shared_ptr
< Frame >,::boost::shared_ptr
< Transform >
,::boost::no_property,::boost::vecS > 
Tree
 
typedef ::boost::graph_traits
< Tree >::edge_descriptor 
Edge
 
typedef ::boost::graph_traits
< Tree >::edge_iterator 
EdgeIterator
 
typedef ::std::pair
< EdgeIterator, EdgeIterator
EdgeIteratorPair
 
typedef ::boost::graph_traits
< Tree >::in_edge_iterator 
InEdgeIterator
 
typedef ::std::pair
< InEdgeIterator,
InEdgeIterator
InEdgeIteratorPair
 
typedef ::boost::graph_traits
< Tree >::out_edge_iterator 
OutEdgeIterator
 
typedef ::std::pair
< OutEdgeIterator,
OutEdgeIterator
OutEdgeIteratorPair
 
typedef ::boost::graph_traits
< Tree >::vertex_descriptor 
Vertex
 
typedef ::boost::graph_traits
< Tree >::vertex_iterator 
VertexIterator
 
typedef ::std::pair
< VertexIterator,
VertexIterator
VertexIteratorPair
 
- Protected Member Functions inherited from rl::kin::Kinematics
void update ()
 
void update (Vertex &u)
 
- Protected Attributes inherited from rl::kin::Kinematics
::std::vector< Element * > elements
 
::std::vector< Frame * > frames
 
::std::vector< Vertexleaves
 
::std::vector< Link * > links
 
::rl::math::Matrix jacobian
 
::rl::math::Matrix jacobianInverse
 
::std::vector< Joint * > joints
 
::std::string manufacturer
 
::std::string name
 
Vertex root
 
::std::vector< Edgetools
 
::std::vector< Transform * > transforms
 
Tree tree
 

Detailed Description

TRR base and TRT wrist.

Member Enumeration Documentation

Enumerator
ARM_LEFT 
ARM_RIGHT 
Enumerator
ELBOW_ABOVE 
ELBOW_BELOW 
Enumerator
WRIST_FLIP 
WRIST_NONFLIP 

Constructor & Destructor Documentation

rl::kin::Puma::Puma ( )
rl::kin::Puma::~Puma ( )
virtual

Member Function Documentation

template<typename T >
T rl::kin::Puma::atan2 ( const T &  y,
const T &  x 
) const
inlineprivate
Kinematics * rl::kin::Puma::clone ( ) const
virtual

Reimplemented from rl::kin::Kinematics.

template<typename T >
T rl::kin::Puma::cos ( const T &  x) const
inlineprivate
Puma::Arm rl::kin::Puma::getArm ( ) const
Puma::Elbow rl::kin::Puma::getElbow ( ) const
Puma::Wrist rl::kin::Puma::getWrist ( ) const
bool rl::kin::Puma::inversePosition ( const ::rl::math::Transform x,
::rl::math::Vector q,
const ::std::size_t &  iterations = 1000 
)
virtual

Calculate inverse position kinematics.

Parameters
xcartesian position
qjoint configuration (initial guess and result)
Side Effects:
setPosition()

updateFrames()

updateJacobian()

updateJacobianInverse()

Reimplemented from rl::kin::Kinematics.

bool rl::kin::Puma::isSingular ( ) const
virtual

Check if current configuration is singular.

Reimplemented from rl::kin::Kinematics.

void rl::kin::Puma::parameters ( const ::rl::math::Vector q,
Arm arm,
Elbow elbow,
Wrist wrist 
) const
void rl::kin::Puma::setArm ( const Arm arm)
void rl::kin::Puma::setElbow ( const Elbow elbow)
void rl::kin::Puma::setWrist ( const Wrist wrist)
template<typename T >
T rl::kin::Puma::sin ( const T &  x) const
inlineprivate

Member Data Documentation

Arm rl::kin::Puma::arm
private
Elbow rl::kin::Puma::elbow
private
Wrist rl::kin::Puma::wrist
private

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