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::Rhino Class Reference

#include <Rhino.h>

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

Public Types

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

Public Member Functions

 Rhino ()
virtual ~Rhino ()
virtual Kinematicsclone () const
Arm getArm () const
Elbow getElbow () const
bool inversePosition (const ::rl::math::Transform &t,::rl::math::Vector &q, const ::std::size_t &iterations=1000)
void parameters (const ::rl::math::Vector &q, Arm &arm, Elbow &elbow) const
void setArm (const Arm &arm)
void setElbow (const Elbow &elbow)
- 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 isSingular () 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

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 RT wrist.

Member Enumeration Documentation

Enumerator:
ARM_LEFT 
ARM_RIGHT 
Enumerator:
ELBOW_ABOVE 
ELBOW_BELOW 

Constructor & Destructor Documentation

rl::kin::Rhino::Rhino ( )
rl::kin::Rhino::~Rhino ( )
virtual

Member Function Documentation

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

Reimplemented from rl::kin::Kinematics.

template<typename T >
T rl::kin::Rhino::cos ( const T &  x) const
inlineprivate
Rhino::Arm rl::kin::Rhino::getArm ( ) const
Rhino::Elbow rl::kin::Rhino::getElbow ( ) const
bool rl::kin::Rhino::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.

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

Member Data Documentation

Arm rl::kin::Rhino::arm
private
Elbow rl::kin::Rhino::elbow
private

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