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: