Container class that stores the underlying joint representation. Can represent basic joints within the plane, such as fixed (rigid attachment), float (free-flying in SE(2)), translate (free translation in R^2), prismatic (extension along the X-axis), and revolute (rotation).  
 More...
#include <joint.h>
 | 
 | 
|   | Joint (const std::string &name, Type type, const Eigen::VectorXd &lower, const Eigen::VectorXd &upper) | 
|   | Constructor. Takes in name of joint (the frame this joint is associated with, normally) and the joint type to create underlying structures.  More...
  | 
|   | 
|   | Joint (const Joint &)=delete | 
|   | 
|   | Joint (Joint &&)=delete | 
|   | 
 | 
| void  | enforceBounds (Eigen::Ref< Eigen::VectorXd > q) const | 
|   | Enforces joint limits on a joint configuration.  More...
  | 
|   | 
| void  | setRandom (Eigen::Ref< Eigen::VectorXd > q) const | 
|   | sets the Joint at a random state respecting the limits.  More...
  | 
|   | 
| bool  | inBounds (const Eigen::Ref< const Eigen::VectorXd > &q) const | 
|   | Checks if joint limits are satisfied for a joint configuration.  More...
  | 
|   | 
| double  | distance (const Eigen::Ref< const Eigen::VectorXd > &a, const Eigen::Ref< const Eigen::VectorXd > &b) const | 
|   | Measures distance between two joint configurations.  More...
  | 
|   | 
| void  | interpolate (const Eigen::Ref< const Eigen::VectorXd > &from, const Eigen::Ref< const Eigen::VectorXd > &to, double t, Eigen::Ref< Eigen::VectorXd > state) const | 
|   | Interpolate between two joint configurations.  More...
  | 
|   | 
| std::pair< Eigen::VectorXd, Eigen::VectorXd >  | getBounds () const | 
|   | Get the bounds for this joint. For continuous joints, [-pi, pi] is returned.  More...
  | 
|   | 
 | 
| std::string  | printDebug () const | 
|   | Print debug information about this frame.  More...
  | 
|   | 
 | 
| const unsigned int  | top_ | 
|   | Top index for internal computations.  More...
  | 
|   | 
Container class that stores the underlying joint representation. Can represent basic joints within the plane, such as fixed (rigid attachment), float (free-flying in SE(2)), translate (free translation in R^2), prismatic (extension along the X-axis), and revolute (rotation). 
Definition at line 31 of file joint.h.
 
◆ Type
Type of joint. 
| Enumerator | 
|---|
| FIXED  | Fixed joint, just a rigid transformation.  
 | 
| FLOAT  | Floating joint, free movement in SE(2). Uses Euclidean metric.  
 | 
| FLYING  | Floating joint, free movement in SE(2). Continuous rotation, uses SE(2) metric.  
 | 
| TRANSLATE  | Translating joint, free X- and Y-axis movement.  
 | 
| PRISMATIC  | Prismatic joint, extends along X-axis.  
 | 
| REVOLUTE  | Revolute joint, rotates. Uses Euclidean metric.  
 | 
| CONTINUOUS  | Revolute joint, rotates. Continuous rotation, uses SO(2) metric.  
 | 
Definition at line 38 of file joint.h.
 
 
◆ Joint() [1/3]
      
        
          | Joint::Joint  | 
          ( | 
          const std::string &  | 
          name,  | 
        
        
           | 
           | 
          Type  | 
          type,  | 
        
        
           | 
           | 
          const Eigen::VectorXd &  | 
          lower,  | 
        
        
           | 
           | 
          const Eigen::VectorXd &  | 
          upper  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Constructor. Takes in name of joint (the frame this joint is associated with, normally) and the joint type to create underlying structures. 
- Parameters
 - 
  
    | [in] | name | Name of the joint.  | 
    | [in] | type | Type of the joint.  | 
    | [in] | lower | Lower limits of frame joint.  | 
    | [in] | upper | Upper limits of frame joint.  | 
  
   
Definition at line 31 of file joint.cpp.
 
 
◆ Joint() [2/3]
  
  
      
        
          | se2ez::Joint::Joint  | 
          ( | 
          const Joint &  | 
           | ) | 
           | 
         
       
   | 
  
delete   | 
  
 
 
◆ Joint() [3/3]
  
  
      
        
          | se2ez::Joint::Joint  | 
          ( | 
          Joint &&  | 
           | ) | 
           | 
         
       
   | 
  
delete   | 
  
 
 
◆ distance()
      
        
          | double Joint::distance  | 
          ( | 
          const Eigen::Ref< const Eigen::VectorXd > &  | 
          a,  | 
        
        
           | 
           | 
          const Eigen::Ref< const Eigen::VectorXd > &  | 
          b  | 
        
        
           | 
          ) | 
           |  const | 
        
      
 
Measures distance between two joint configurations. 
- Parameters
 - 
  
    | [in] | a | First configuration.  | 
    | [in] | b | First configuration.  | 
  
   
- Returns
 - Distance between a and b 
 
Definition at line 115 of file joint.cpp.
 
 
◆ enforceBounds()
      
        
          | void Joint::enforceBounds  | 
          ( | 
          Eigen::Ref< Eigen::VectorXd >  | 
          q | ) | 
           const | 
        
      
 
Enforces joint limits on a joint configuration. 
- Parameters
 - 
  
    | [in] | q | Configuration for the joint.  | 
  
   
Definition at line 82 of file joint.cpp.
 
 
◆ getBounds()
      
        
          | std::pair< Eigen::VectorXd, Eigen::VectorXd > Joint::getBounds  | 
          ( | 
           | ) | 
           const | 
        
      
 
Get the bounds for this joint. For continuous joints, [-pi, pi] is returned. 
- Returns
 - A pair of lower and upper bounds for the joint. 
 
Definition at line 149 of file joint.cpp.
 
 
◆ inBounds()
      
        
          | bool Joint::inBounds  | 
          ( | 
          const Eigen::Ref< const Eigen::VectorXd > &  | 
          q | ) | 
           const | 
        
      
 
Checks if joint limits are satisfied for a joint configuration. 
- Parameters
 - 
  
    | [in] | q | Configuration for the joint.  | 
  
   
- Returns
 - True if configuration is within bounds. 
 
Definition at line 103 of file joint.cpp.
 
 
◆ interpolate()
      
        
          | void Joint::interpolate  | 
          ( | 
          const Eigen::Ref< const Eigen::VectorXd > &  | 
          from,  | 
        
        
           | 
           | 
          const Eigen::Ref< const Eigen::VectorXd > &  | 
          to,  | 
        
        
           | 
           | 
          double  | 
          t,  | 
        
        
           | 
           | 
          Eigen::Ref< Eigen::VectorXd >  | 
          state  | 
        
        
           | 
          ) | 
           |  const | 
        
      
 
Interpolate between two joint configurations. 
- Parameters
 - 
  
    | [in] | from | Initial configuration.  | 
    | [in] | to | Destination configuration.  | 
    | [in] | t | Interpolation parameter.  | 
    | [out] | state | Output configuration.  | 
  
   
- Returns
 - Fills state with interpolated parameters. 
 
Definition at line 125 of file joint.cpp.
 
 
◆ printDebug()
Print debug information about this frame. 
- Returns
 - A string of information about the frame. 
 
Definition at line 168 of file joint.cpp.
 
 
◆ setRandom()
      
        
          | void Joint::setRandom  | 
          ( | 
          Eigen::Ref< Eigen::VectorXd >  | 
          q | ) | 
           const | 
        
      
 
sets the Joint at a random state respecting the limits. 
- Parameters
 - 
  
    | [in] | q | Configuration for the joint.  | 
  
   
Definition at line 96 of file joint.cpp.
 
 
◆ stringToType()
Try to convert a string into a joint type. Not case-sensitive. 
- Parameters
 - 
  
    | [in] | joint | String of joint type. See TYPE_STRINGS.  | 
  
   
- Returns
 - The type of joint specified by the string, or an exception on failure. 
 
Definition at line 14 of file joint.cpp.
 
 
◆ typeToString()
Converts a joint type into its string representation. 
- Parameters
 - 
  
    | [in] | type | The type to convert.  | 
  
   
- Returns
 - The joint type as a string. 
 
Definition at line 23 of file joint.cpp.
 
 
◆ continuous
      
        
          | const bool se2ez::Joint::continuous | 
        
      
 
Is this a continuous type joint? 
Definition at line 140 of file joint.h.
 
 
◆ fixed
      
        
          | const bool se2ez::Joint::fixed | 
        
      
 
Is this joint fixed? 
Definition at line 141 of file joint.h.
 
 
◆ joints
Underlying KDL joints. 
Definition at line 139 of file joint.h.
 
 
◆ lower
      
        
          | const Eigen::VectorXd se2ez::Joint::lower | 
        
      
 
Lower limits of this frame's joint value (closed). 
Definition at line 144 of file joint.h.
 
 
      
        
          | const unsigned int se2ez::Joint::n | 
        
      
 
Number of joints. 
Definition at line 142 of file joint.h.
 
 
◆ top_
  
  
      
        
          | const unsigned int se2ez::Joint::top_ | 
         
       
   | 
  
private   | 
  
 
Top index for internal computations. 
Definition at line 148 of file joint.h.
 
 
◆ type
      
        
          | const Type se2ez::Joint::type | 
        
      
 
Type of joint. 
Definition at line 138 of file joint.h.
 
 
◆ TYPE_MAX
  
  
      
        
          | const unsigned int se2ez::Joint::TYPE_MAX = CONTINUOUS | 
         
       
   | 
  
static   | 
  
 
Maximum value a joint type can have. 
Definition at line 49 of file joint.h.
 
 
◆ TYPE_STRINGS
Initial value:= {"fixed",     "float",    "flying",    "translate",
                                           "prismatic", "revolute", "continuous"}
 
String representation of joint type. 
Definition at line 51 of file joint.h.
 
 
◆ upper
      
        
          | const Eigen::VectorXd se2ez::Joint::upper | 
        
      
 
Upper limits of this frame's joint value (closed). 
Definition at line 145 of file joint.h.
 
 
The documentation for this class was generated from the following files:
- /home/zak/code/se2ez_work/include/se2ez/core/joint.h
 
- /home/zak/code/se2ez_work/src/core/joint.cpp