moveit2
The MoveIt Motion Planning Framework for ROS 2.
Loading...
Searching...
No Matches
prbt_manipulator Namespace Reference

Classes

struct  LimitObeyingSol
struct  CheckValue
class  IKSolver
class  IKFastKinematicsPlugin

Enumerations

enum  IkParameterizationType {
  IKP_None = 0 , IKP_Transform6D = 0x67000001 , IKP_Rotation3D = 0x34000002 , IKP_Translation3D = 0x33000003 ,
  IKP_Direction3D = 0x23000004 , IKP_Ray4D = 0x46000005 , IKP_Lookat3D = 0x23000006 , IKP_TranslationDirection5D = 0x56000007 ,
  IKP_TranslationXY2D = 0x22000008 , IKP_TranslationXYOrientation3D = 0x33000009 , IKP_TranslationLocalGlobal6D = 0x3600000a , IKP_TranslationXAxisAngle4D = 0x4400000b ,
  IKP_TranslationYAxisAngle4D = 0x4400000c , IKP_TranslationZAxisAngle4D = 0x4400000d , IKP_TranslationXAxisAngleZNorm4D = 0x4400000e , IKP_TranslationYAxisAngleXNorm4D = 0x4400000f ,
  IKP_TranslationZAxisAngleYNorm4D = 0x44000010 , IKP_NumberOfParameterizations = 16 , IKP_VelocityDataBit , IKP_Transform6DVelocity = IKP_Transform6D | IKP_VelocityDataBit ,
  IKP_Rotation3DVelocity = IKP_Rotation3D | IKP_VelocityDataBit , IKP_Translation3DVelocity = IKP_Translation3D | IKP_VelocityDataBit , IKP_Direction3DVelocity = IKP_Direction3D | IKP_VelocityDataBit , IKP_Ray4DVelocity = IKP_Ray4D | IKP_VelocityDataBit ,
  IKP_Lookat3DVelocity = IKP_Lookat3D | IKP_VelocityDataBit , IKP_TranslationDirection5DVelocity = IKP_TranslationDirection5D | IKP_VelocityDataBit , IKP_TranslationXY2DVelocity = IKP_TranslationXY2D | IKP_VelocityDataBit , IKP_TranslationXYOrientation3DVelocity = IKP_TranslationXYOrientation3D | IKP_VelocityDataBit ,
  IKP_TranslationLocalGlobal6DVelocity = IKP_TranslationLocalGlobal6D | IKP_VelocityDataBit , IKP_TranslationXAxisAngle4DVelocity = IKP_TranslationXAxisAngle4D | IKP_VelocityDataBit , IKP_TranslationYAxisAngle4DVelocity = IKP_TranslationYAxisAngle4D | IKP_VelocityDataBit , IKP_TranslationZAxisAngle4DVelocity = IKP_TranslationZAxisAngle4D | IKP_VelocityDataBit ,
  IKP_TranslationXAxisAngleZNorm4DVelocity = IKP_TranslationXAxisAngleZNorm4D | IKP_VelocityDataBit , IKP_TranslationYAxisAngleXNorm4DVelocity = IKP_TranslationYAxisAngleXNorm4D | IKP_VelocityDataBit , IKP_TranslationZAxisAngleYNorm4DVelocity = IKP_TranslationZAxisAngleYNorm4D | IKP_VelocityDataBit , IKP_UniqueIdMask = 0x0000ffff ,
  IKP_CustomDataBit = 0x00010000
}
 The types of inverse kinematics parameterizations supported. More...

Functions

float IKabs (float f)
double IKabs (double f)
float IKsqr (float f)
double IKsqr (double f)
float IKlog (float f)
double IKlog (double f)
float IKasin (float f)
double IKasin (double f)
float IKfmod (float x, float y)
double IKfmod (double x, double y)
float IKacos (float f)
double IKacos (double f)
float IKsin (float f)
double IKsin (double f)
float IKcos (float f)
double IKcos (double f)
float IKtan (float f)
double IKtan (double f)
float IKsqrt (float f)
double IKsqrt (double f)
float IKatan2Simple (float fy, float fx)
float IKatan2 (float fy, float fx)
double IKatan2Simple (double fy, double fx)
double IKatan2 (double fy, double fx)
template<typename T>
CheckValue< T > IKatan2WithCheck (T fy, T fx, T)
float IKsign (float f)
double IKsign (double f)
template<typename T>
CheckValue< T > IKPowWithIntegerCheck (T f, int n)
IKFAST_API void ComputeFk (const IkReal *j, IkReal *eetrans, IkReal *eerot)
IKFAST_API int GetNumFreeParameters ()
IKFAST_API int * GetFreeParameters ()
IKFAST_API int GetNumJoints ()
IKFAST_API int GetIkRealSize ()
IKFAST_API int GetIkType ()
IKFAST_API bool ComputeIk (const IkReal *eetrans, const IkReal *eerot, const IkReal *pfree, IkSolutionListBase< IkReal > &solutions)
IKFAST_API bool ComputeIk2 (const IkReal *eetrans, const IkReal *eerot, const IkReal *pfree, IkSolutionListBase< IkReal > &solutions, void *)
IKFAST_API const char * GetKinematicsHash ()
IKFAST_API const char * GetIkFastVersion ()

Enumeration Type Documentation

◆ IkParameterizationType

The types of inverse kinematics parameterizations supported.

The minimum degree of freedoms required is set in the upper 4 bits of each type. The number of values used to represent the parameterization ( >= dof ) is the next 4 bits. The lower bits contain a unique id of the type.

Enumerator
IKP_None 
IKP_Transform6D 

end effector reaches desired 6D transformation

IKP_Rotation3D 

end effector reaches desired 3D rotation

IKP_Translation3D 

end effector origin reaches desired 3D translation

IKP_Direction3D 

direction on end effector coordinate system reaches desired direction

IKP_Ray4D 

ray on end effector coordinate system reaches desired global ray

IKP_Lookat3D 

direction on end effector coordinate system points to desired 3D position

IKP_TranslationDirection5D 

end effector origin and direction reaches desired 3D translation and

IKP_TranslationXY2D 

2D translation along XY plane

direction. Can be thought of as Ray IK where the origin of the ray must coincide.

IKP_TranslationXYOrientation3D 

2D translation along XY plane and 1D rotation around Z axis. The

IKP_TranslationLocalGlobal6D 

local point on end effector origin reaches desired 3D global point

offset of the rotation is measured starting at +X, so at +X is it 0, at +Y it is pi/2.

IKP_TranslationXAxisAngle4D 

end effector origin reaches desired 3D translation, manipulator

IKP_TranslationYAxisAngle4D 

direction makes a specific angle with x-axis like a cone, angle is from 0-pi. Axes defined in the manipulator base link's coordinate system) end effector origin reaches desired 3D translation, manipulator

IKP_TranslationZAxisAngle4D 

direction makes a specific angle with y-axis like a cone, angle is from 0-pi. Axes defined in the manipulator base link's coordinate system) end effector origin reaches desired 3D translation, manipulator

IKP_TranslationXAxisAngleZNorm4D 

direction makes a specific angle with z-axis like a cone, angle is from 0-pi. Axes are defined in the manipulator base link's coordinate system. end effector origin reaches desired 3D translation, manipulator

IKP_TranslationYAxisAngleXNorm4D 

direction needs to be orthogonal to z-axis and be rotated at a certain angle starting from the x-axis (defined in the manipulator base link's coordinate system) end effector origin reaches desired 3D translation, manipulator

IKP_TranslationZAxisAngleYNorm4D 

direction needs to be orthogonal to x-axis and be rotated at a certain angle starting from the y-axis (defined in the manipulator base link's coordinate system) end effector origin reaches desired 3D translation, manipulator

IKP_NumberOfParameterizations 

number of parameterizations (does not count IKP_None)

direction needs to be orthogonal to y-axis and be rotated at a certain angle starting from the z-axis (defined in the manipulator base link's coordinate system)

IKP_VelocityDataBit 

bit is set if the data represents the time-derivate velocity of an IkParameterization

IKP_Transform6DVelocity 
IKP_Rotation3DVelocity 
IKP_Translation3DVelocity 
IKP_Direction3DVelocity 
IKP_Ray4DVelocity 
IKP_Lookat3DVelocity 
IKP_TranslationDirection5DVelocity 
IKP_TranslationXY2DVelocity 
IKP_TranslationXYOrientation3DVelocity 
IKP_TranslationLocalGlobal6DVelocity 
IKP_TranslationXAxisAngle4DVelocity 
IKP_TranslationYAxisAngle4DVelocity 
IKP_TranslationZAxisAngle4DVelocity 
IKP_TranslationXAxisAngleZNorm4DVelocity 
IKP_TranslationYAxisAngleXNorm4DVelocity 
IKP_TranslationZAxisAngleYNorm4DVelocity 
IKP_UniqueIdMask 

the mask for the unique ids

IKP_CustomDataBit 

bit is set if the ikparameterization contains custom data, this is only used

Definition at line 83 of file prbt_manipulator_ikfast_moveit_plugin.cpp.

Function Documentation

◆ ComputeFk()

IKFAST_API void prbt_manipulator::ComputeFk ( const IkReal * j,
IkReal * eetrans,
IkReal * eerot )

solves the forward kinematics equations.

Parameters
pfreeis an array specifying the free joints of the chain.

Definition at line 291 of file prbt_manipulator_ikfast_moveit_plugin.cpp.

Here is the caller graph for this function:

◆ ComputeIk()

IKFAST_API bool prbt_manipulator::ComputeIk ( const IkReal * eetrans,
const IkReal * eerot,
const IkReal * pfree,
IkSolutionListBase< IkReal > & solutions )

solves the inverse kinematics equations.

Parameters
pfreeis an array specifying the free joints of the chain.

Definition at line 20052 of file prbt_manipulator_ikfast_moveit_plugin.cpp.

◆ ComputeIk2()

IKFAST_API bool prbt_manipulator::ComputeIk2 ( const IkReal * eetrans,
const IkReal * eerot,
const IkReal * pfree,
IkSolutionListBase< IkReal > & solutions,
void *  )

Definition at line 20057 of file prbt_manipulator_ikfast_moveit_plugin.cpp.

◆ GetFreeParameters()

IKFAST_API int * prbt_manipulator::GetFreeParameters ( )

Definition at line 357 of file prbt_manipulator_ikfast_moveit_plugin.cpp.

◆ GetIkFastVersion()

IKFAST_API const char * prbt_manipulator::GetIkFastVersion ( )

Definition at line 20064 of file prbt_manipulator_ikfast_moveit_plugin.cpp.

◆ GetIkRealSize()

IKFAST_API int prbt_manipulator::GetIkRealSize ( )

Definition at line 360 of file prbt_manipulator_ikfast_moveit_plugin.cpp.

◆ GetIkType()

IKFAST_API int prbt_manipulator::GetIkType ( )

Definition at line 362 of file prbt_manipulator_ikfast_moveit_plugin.cpp.

Here is the caller graph for this function:

◆ GetKinematicsHash()

IKFAST_API const char * prbt_manipulator::GetKinematicsHash ( )

Definition at line 20062 of file prbt_manipulator_ikfast_moveit_plugin.cpp.

◆ GetNumFreeParameters()

IKFAST_API int prbt_manipulator::GetNumFreeParameters ( )

Definition at line 356 of file prbt_manipulator_ikfast_moveit_plugin.cpp.

◆ GetNumJoints()

IKFAST_API int prbt_manipulator::GetNumJoints ( )

Definition at line 358 of file prbt_manipulator_ikfast_moveit_plugin.cpp.

Here is the caller graph for this function:

◆ IKabs() [1/2]

double prbt_manipulator::IKabs ( double f)
inline

Definition at line 84 of file prbt_manipulator_ikfast_moveit_plugin.cpp.

◆ IKabs() [2/2]

float prbt_manipulator::IKabs ( float f)
inline

Definition at line 83 of file prbt_manipulator_ikfast_moveit_plugin.cpp.

◆ IKacos() [1/2]

double prbt_manipulator::IKacos ( double f)
inline

Definition at line 153 of file prbt_manipulator_ikfast_moveit_plugin.cpp.

◆ IKacos() [2/2]

float prbt_manipulator::IKacos ( float f)
inline

Definition at line 146 of file prbt_manipulator_ikfast_moveit_plugin.cpp.

◆ IKasin() [1/2]

double prbt_manipulator::IKasin ( double f)
inline

Definition at line 120 of file prbt_manipulator_ikfast_moveit_plugin.cpp.

◆ IKasin() [2/2]

float prbt_manipulator::IKasin ( float f)
inline

Definition at line 113 of file prbt_manipulator_ikfast_moveit_plugin.cpp.

◆ IKatan2() [1/2]

double prbt_manipulator::IKatan2 ( double fy,
double fx )
inline

Definition at line 184 of file prbt_manipulator_ikfast_moveit_plugin.cpp.

◆ IKatan2() [2/2]

float prbt_manipulator::IKatan2 ( float fy,
float fx )
inline

Definition at line 171 of file prbt_manipulator_ikfast_moveit_plugin.cpp.

◆ IKatan2Simple() [1/2]

double prbt_manipulator::IKatan2Simple ( double fy,
double fx )
inline

Definition at line 181 of file prbt_manipulator_ikfast_moveit_plugin.cpp.

◆ IKatan2Simple() [2/2]

float prbt_manipulator::IKatan2Simple ( float fy,
float fx )
inline

Definition at line 168 of file prbt_manipulator_ikfast_moveit_plugin.cpp.

Here is the call graph for this function:

◆ IKatan2WithCheck()

template<typename T>
CheckValue< T > prbt_manipulator::IKatan2WithCheck ( T fy,
T fx,
T  )
inline

Definition at line 203 of file prbt_manipulator_ikfast_moveit_plugin.cpp.

◆ IKcos() [1/2]

double prbt_manipulator::IKcos ( double f)
inline

Definition at line 163 of file prbt_manipulator_ikfast_moveit_plugin.cpp.

◆ IKcos() [2/2]

float prbt_manipulator::IKcos ( float f)
inline

Definition at line 162 of file prbt_manipulator_ikfast_moveit_plugin.cpp.

◆ IKfmod() [1/2]

double prbt_manipulator::IKfmod ( double x,
double y )
inline

Definition at line 138 of file prbt_manipulator_ikfast_moveit_plugin.cpp.

◆ IKfmod() [2/2]

float prbt_manipulator::IKfmod ( float x,
float y )
inline

Definition at line 129 of file prbt_manipulator_ikfast_moveit_plugin.cpp.

◆ IKlog() [1/2]

double prbt_manipulator::IKlog ( double f)
inline

Definition at line 90 of file prbt_manipulator_ikfast_moveit_plugin.cpp.

◆ IKlog() [2/2]

float prbt_manipulator::IKlog ( float f)
inline

Definition at line 89 of file prbt_manipulator_ikfast_moveit_plugin.cpp.

◆ IKPowWithIntegerCheck()

template<typename T>
CheckValue< T > prbt_manipulator::IKPowWithIntegerCheck ( T f,
int n )
inline

Definition at line 238 of file prbt_manipulator_ikfast_moveit_plugin.cpp.

◆ IKsign() [1/2]

double prbt_manipulator::IKsign ( double f)
inline

Definition at line 227 of file prbt_manipulator_ikfast_moveit_plugin.cpp.

◆ IKsign() [2/2]

float prbt_manipulator::IKsign ( float f)
inline

Definition at line 217 of file prbt_manipulator_ikfast_moveit_plugin.cpp.

◆ IKsin() [1/2]

double prbt_manipulator::IKsin ( double f)
inline

Definition at line 161 of file prbt_manipulator_ikfast_moveit_plugin.cpp.

◆ IKsin() [2/2]

float prbt_manipulator::IKsin ( float f)
inline

Definition at line 160 of file prbt_manipulator_ikfast_moveit_plugin.cpp.

◆ IKsqr() [1/2]

double prbt_manipulator::IKsqr ( double f)
inline

Definition at line 87 of file prbt_manipulator_ikfast_moveit_plugin.cpp.

◆ IKsqr() [2/2]

float prbt_manipulator::IKsqr ( float f)
inline

Definition at line 86 of file prbt_manipulator_ikfast_moveit_plugin.cpp.

◆ IKsqrt() [1/2]

double prbt_manipulator::IKsqrt ( double f)
inline

Definition at line 167 of file prbt_manipulator_ikfast_moveit_plugin.cpp.

◆ IKsqrt() [2/2]

float prbt_manipulator::IKsqrt ( float f)
inline

Definition at line 166 of file prbt_manipulator_ikfast_moveit_plugin.cpp.

◆ IKtan() [1/2]

double prbt_manipulator::IKtan ( double f)
inline

Definition at line 165 of file prbt_manipulator_ikfast_moveit_plugin.cpp.

◆ IKtan() [2/2]

float prbt_manipulator::IKtan ( float f)
inline

Definition at line 164 of file prbt_manipulator_ikfast_moveit_plugin.cpp.