se2ez
se2ez::Frame Class Reference

Representation of a single frame (possibly with a joint) in a kinematic tree. More...

#include <frame.h>

Public Member Functions

Constructors
 Frame (const std::string &name, const Eigen::Isometry2d &tip, const std::vector< GeometryPtr > &geometry={})
 Constuctor. Builds a fixed frame at the desired location. More...
 
 Frame (const std::string &name, const Eigen::Vector3d &tip, const std::vector< GeometryPtr > &geometry)
 Constuctor. Builds a fixed frame at the desired location. More...
 
 Frame (const std::string &name, const Eigen::Isometry2d &tip, const Joint::Type &type, const Eigen::VectorXd &lower={}, const Eigen::VectorXd &upper={}, const std::vector< GeometryPtr > &geometry={})
 Constuctor. Builds the segments that compose a frame along with its internal joints. More...
 
 Frame (const std::string &name, const Eigen::Vector3d &tip, const Joint::Type &type, const Eigen::VectorXd &lower={}, const Eigen::VectorXd &upper={}, const std::vector< GeometryPtr > &geometry={})
 Constuctor. Builds the segments that compose a frame along with its internal joints. More...
 
 Frame (const std::string &name, const Eigen::Isometry2d &tip, const Joint::Type &type, const double lower, const double upper, const std::vector< GeometryPtr > &geometry={})
 Constuctor. Builds the segments that compose a frame along with its internal joints. More...
 
 Frame (const std::string &name, const Eigen::Vector3d &tip, const Joint::Type &type, const double lower, const double upper, const std::vector< GeometryPtr > &geometry={})
 Constuctor. Builds the segments that compose a frame along with its internal joints. More...
 
 Frame (const Frame &)=delete
 
 Frame (Frame &&)=delete
 
Getters and Setters
const std::stringgetName () const
 Get the name of this frame. More...
 
const std::vector< KDL::Segment > & getSegments () const
 Get the segments that compose this frame. More...
 
const std::vector< GeometryPtr > & getGeometry () const
 Get the geometries attached to this frame. More...
 
const JointgetJoint () const
 Get the joint within this frame. More...
 
const Eigen::Isometry2d & getTip () const
 Get the tip of this frame. More...
 
Geometric and Configuration Operations
Eigen::Isometry2d getPose (const Eigen::Ref< const Eigen::VectorXd > &q) const
 Gets the pose of this frame (respect to the root) given a configuration q (for this frame only, e.g., for the floating joint a three dimensional vector) More...
 
void getGeometryPoses (const Eigen::Isometry2d &pose, tf::EigenVector< Eigen::Isometry2d > &poses) const
 Get the poses of each of the attached geometry frames (in order). More...
 
Informative
std::string printDebug () const
 Print debug information about this frame. More...
 

Static Public Member Functions

static SE2EZ_EIGEN_CLASS FramePtr getRoot ()
 

Private Attributes

Frame Properties
const std::string name_
 Name of the frame. More...
 
const Eigen::Isometry2d tip_
 The transform after joint transformation to the tip of the frame. More...
 
const Joint joint_
 The joint associated with the frame. More...
 
const std::vector< GeometryPtrgeometry_
 Geometry attached to this frame (at the tip). More...
 
const std::vector< KDL::Segment > segments_
 Underlying segments that compose this frame. More...
 

Detailed Description

Representation of a single frame (possibly with a joint) in a kinematic tree.

Definition at line 36 of file frame.h.

Constructor & Destructor Documentation

◆ Frame() [1/8]

Frame::Frame ( const std::string name,
const Eigen::Isometry2d &  tip,
const std::vector< GeometryPtr > &  geometry = {} 
)

Constuctor. Builds a fixed frame at the desired location.

Parameters
[in]nameName of frame.
[in]tipTransform to apply after joint transform to reach the tip of the frame.
[in]geometryAll attached geometry to this frame.

Definition at line 15 of file frame.cpp.

◆ Frame() [2/8]

Frame::Frame ( const std::string name,
const Eigen::Vector3d &  tip,
const std::vector< GeometryPtr > &  geometry 
)

Constuctor. Builds a fixed frame at the desired location.

Parameters
[in]nameName of frame.
[in]tipTransform to apply after joint transform to reach the tip of the frame.
[in]geometryAll attached geometry to this frame.

Definition at line 20 of file frame.cpp.

◆ Frame() [3/8]

Frame::Frame ( const std::string name,
const Eigen::Isometry2d &  tip,
const Joint::Type type,
const Eigen::VectorXd &  lower = {},
const Eigen::VectorXd &  upper = {},
const std::vector< GeometryPtr > &  geometry = {} 
)

Constuctor. Builds the segments that compose a frame along with its internal joints.

Parameters
[in]nameName of frame.
[in]tipTransform to apply after joint transform to reach the tip of the frame.
[in]typeJoint type of frame.
[in]upperUpper limits of frame joint.
[in]lowerLower limits of frame joint.
[in]geometryAll attached geometry to this frame.

Definition at line 25 of file frame.cpp.

◆ Frame() [4/8]

Frame::Frame ( const std::string name,
const Eigen::Vector3d &  tip,
const Joint::Type type,
const Eigen::VectorXd &  lower = {},
const Eigen::VectorXd &  upper = {},
const std::vector< GeometryPtr > &  geometry = {} 
)

Constuctor. Builds the segments that compose a frame along with its internal joints.

Parameters
[in]nameName of frame.
[in]tipTransform to apply after joint transform to reach the tip of the frame.
[in]typeJoint type of frame.
[in]lowerLower limits of frame joint.
[in]upperUpper limits of frame joint.
[in]geometryAll attached geometry to this frame.

Definition at line 43 of file frame.cpp.

◆ Frame() [5/8]

Frame::Frame ( const std::string name,
const Eigen::Isometry2d &  tip,
const Joint::Type type,
const double  lower,
const double  upper,
const std::vector< GeometryPtr > &  geometry = {} 
)

Constuctor. Builds the segments that compose a frame along with its internal joints.

Parameters
[in]nameName of frame.
[in]tipTransform to apply after joint transform to reach the tip of the frame.
[in]typeJoint type of frame.
[in]lowerLower limits of frame joint.
[in]upperUpper limits of frame joint.
[in]geometryAll attached geometry to this frame.

Definition at line 50 of file frame.cpp.

◆ Frame() [6/8]

Frame::Frame ( const std::string name,
const Eigen::Vector3d &  tip,
const Joint::Type type,
const double  lower,
const double  upper,
const std::vector< GeometryPtr > &  geometry = {} 
)

Constuctor. Builds the segments that compose a frame along with its internal joints.

Parameters
[in]nameName of frame.
[in]tipTransform to apply after joint transform to reach the tip of the frame.
[in]typeJoint type of frame.
[in]lowerLower limits of frame joint.
[in]upperUpper limits of frame joint.
[in]geometryAll attached geometry to this frame.

Definition at line 56 of file frame.cpp.

◆ Frame() [7/8]

se2ez::Frame::Frame ( const Frame )
delete

◆ Frame() [8/8]

se2ez::Frame::Frame ( Frame &&  )
delete

Member Function Documentation

◆ getGeometry()

const std::vector< GeometryPtr > & Frame::getGeometry ( ) const

Get the geometries attached to this frame.

Returns
A vector of the attached geometries.

Definition at line 72 of file frame.cpp.

◆ getGeometryPoses()

void Frame::getGeometryPoses ( const Eigen::Isometry2d &  pose,
tf::EigenVector< Eigen::Isometry2d > &  poses 
) const

Get the poses of each of the attached geometry frames (in order).

Parameters
[in]poseThe pose of the frame.
[out]posesGeometry poses.

Definition at line 97 of file frame.cpp.

◆ getJoint()

const Joint & Frame::getJoint ( ) const

Get the joint within this frame.

Returns
The joint within the frame.

Definition at line 77 of file frame.cpp.

◆ getName()

const std::string & Frame::getName ( ) const

Get the name of this frame.

Returns
The name of the frame.

Definition at line 62 of file frame.cpp.

◆ getPose()

Eigen::Isometry2d Frame::getPose ( const Eigen::Ref< const Eigen::VectorXd > &  q) const

Gets the pose of this frame (respect to the root) given a configuration q (for this frame only, e.g., for the floating joint a three dimensional vector)

Parameters
[in]qThe configuration for this frame.
Returns
The pose of this frame.

Definition at line 87 of file frame.cpp.

◆ getRoot()

FramePtr Frame::getRoot ( )
static

Definition at line 9 of file frame.cpp.

◆ getSegments()

const std::vector< KDL::Segment > & Frame::getSegments ( ) const

Get the segments that compose this frame.

Returns
A vector of the underlying segments.

Definition at line 67 of file frame.cpp.

◆ getTip()

const Eigen::Isometry2d & Frame::getTip ( ) const

Get the tip of this frame.

Returns
The tip of this frame.

Definition at line 82 of file frame.cpp.

◆ printDebug()

std::string Frame::printDebug ( ) const

Print debug information about this frame.

Returns
A string of information about the frame.

Definition at line 104 of file frame.cpp.

Member Data Documentation

◆ geometry_

const std::vector<GeometryPtr> se2ez::Frame::geometry_
private

Geometry attached to this frame (at the tip).

Definition at line 178 of file frame.h.

◆ joint_

const Joint se2ez::Frame::joint_
private

The joint associated with the frame.

Definition at line 176 of file frame.h.

◆ name_

const std::string se2ez::Frame::name_
private

Name of the frame.

Definition at line 174 of file frame.h.

◆ segments_

const std::vector<KDL::Segment> se2ez::Frame::segments_
private

Underlying segments that compose this frame.

Definition at line 179 of file frame.h.

◆ tip_

const Eigen::Isometry2d se2ez::Frame::tip_
private

The transform after joint transformation to the tip of the frame.

Definition at line 175 of file frame.h.


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