Classes | Macros | Functions
turtlebot_arm_arm_ikfast_solver.cpp File Reference
#include "ikfast.h"
#include <cmath>
#include <vector>
#include <limits>
#include <algorithm>
#include <complex>
#include <stdexcept>
#include <sstream>
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
Include dependency graph for turtlebot_arm_arm_ikfast_solver.cpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  CheckValue< T >
 
class  IKSolver
 

Macros

#define __PRETTY_FUNCTION__   __func__
 
#define __PRETTY_FUNCTION__   __func__
 
#define IK2PI   ((IkReal)6.28318530717959)
 
#define IK2PI   ((IkReal)6.28318530717959)
 
#define IKFAST_ALIGNED16(x)   x __attribute((aligned(16)))
 
#define IKFAST_ALIGNED16(x)   x __attribute((aligned(16)))
 
#define IKFAST_ASSERT(b)   { if( !(b) ) { std::stringstream ss; ss << "ikfast exception: " << __FILE__ << ":" << __LINE__ << ": " <<__PRETTY_FUNCTION__ << ": Assertion '" << #b << "' failed"; throw std::runtime_error(ss.str()); } }
 
#define IKFAST_ASSERT(b)   { if( !(b) ) { std::stringstream ss; ss << "ikfast exception: " << __FILE__ << ":" << __LINE__ << ": " <<__PRETTY_FUNCTION__ << ": Assertion '" << #b << "' failed"; throw std::runtime_error(ss.str()); } }
 
#define IKFAST_ATAN2_MAGTHRESH   ((IkReal)1e-7)
 
#define IKFAST_ATAN2_MAGTHRESH   ((IkReal)1e-7)
 
#define IKFAST_COMPILE_ASSERT(x)   extern int __dummy[(int)x]
 
#define IKFAST_COMPILE_ASSERT(x)   extern int __dummy[(int)x]
 
#define IKFAST_EVALCOND_THRESH   ((IkReal)0.00001)
 
#define IKFAST_EVALCOND_THRESH   ((IkReal)0.00001)
 
#define IKFAST_HAS_LIBRARY
 
#define IKFAST_HAS_LIBRARY
 
#define IKFAST_SINCOS_THRESH   ((IkReal)1e-7)
 
#define IKFAST_SINCOS_THRESH   ((IkReal)1e-7)
 
#define IKFAST_SOLUTION_THRESH   ((IkReal)1e-6)
 
#define IKFAST_SOLUTION_THRESH   ((IkReal)1e-6)
 
#define IKPI   ((IkReal)3.14159265358979)
 
#define IKPI   ((IkReal)3.14159265358979)
 
#define IKPI_2   ((IkReal)1.57079632679490)
 
#define IKPI_2   ((IkReal)1.57079632679490)
 

Functions

IKFAST_API void ComputeFk (const IkReal *j, IkReal *eetrans, IkReal *eerot)
 
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 *pOpenRAVEManip)
 
void dgeev_ (const char *jobvl, const char *jobvr, const int *n, double *a, const int *lda, double *wr, double *wi, double *vl, const int *ldvl, double *vr, const int *ldvr, double *work, const int *lwork, int *info)
 
void dgesv_ (const int *n, const int *nrhs, double *a, const int *lda, int *ipiv, double *b, const int *ldb, int *info)
 
void dgetrf_ (const int *m, const int *n, double *a, const int *lda, int *ipiv, int *info)
 
void dgetri_ (const int *n, const double *a, const int *lda, int *ipiv, double *work, const int *lwork, int *info)
 
void dgetrs_ (const char *trans, const int *n, const int *nrhs, double *a, const int *lda, int *ipiv, double *b, const int *ldb, int *info)
 
IKFAST_API int * GetFreeParameters ()
 
IKFAST_API const char * GetIkFastVersion ()
 
IKFAST_API int GetIkRealSize ()
 
IKFAST_API int GetIkType ()
 
IKFAST_API const char * GetKinematicsHash ()
 
IKFAST_API int GetNumFreeParameters ()
 
IKFAST_API int GetNumJoints ()
 
float IKabs (float f)
 
double IKabs (double f)
 
float IKacos (float f)
 
double IKacos (double f)
 
float IKasin (float f)
 
double IKasin (double f)
 
float IKatan2 (float fy, float fx)
 
double IKatan2 (double fy, double fx)
 
float IKatan2Simple (float fy, float fx)
 
double IKatan2Simple (double fy, double fx)
 
template<typename T >
CheckValue< T > IKatan2WithCheck (T fy, T fx, T epsilon)
 
float IKcos (float f)
 
double IKcos (double f)
 
 IKFAST_COMPILE_ASSERT (IKFAST_VERSION==0x1000004a)
 
float IKfmod (float x, float y)
 
double IKfmod (double x, double y)
 
float IKlog (float f)
 
double IKlog (double f)
 
template<typename T >
CheckValue< T > IKPowWithIntegerCheck (T f, int n)
 
float IKsign (float f)
 
double IKsign (double f)
 
float IKsin (float f)
 
double IKsin (double f)
 
float IKsqr (float f)
 
double IKsqr (double f)
 
float IKsqrt (float f)
 
double IKsqrt (double f)
 
float IKtan (float f)
 
double IKtan (double f)
 
int main (int argc, char **argv)
 
void zgetrf_ (const int *m, const int *n, std::complex< double > *a, const int *lda, int *ipiv, int *info)
 

Macro Definition Documentation

#define __PRETTY_FUNCTION__   __func__
#define __PRETTY_FUNCTION__   __func__

Definition at line 47 of file turtlebot_arm_arm_ikfast_solver.cpp.

#define IK2PI   ((IkReal)6.28318530717959)

Definition at line 60 of file turtlebot_arm_arm_ikfast_solver.cpp.

#define IK2PI   ((IkReal)6.28318530717959)
#define IKFAST_ALIGNED16 (   x)    x __attribute((aligned(16)))
#define IKFAST_ALIGNED16 (   x)    x __attribute((aligned(16)))

Definition at line 57 of file turtlebot_arm_arm_ikfast_solver.cpp.

#define IKFAST_ASSERT (   b)    { if( !(b) ) { std::stringstream ss; ss << "ikfast exception: " << __FILE__ << ":" << __LINE__ << ": " <<__PRETTY_FUNCTION__ << ": Assertion '" << #b << "' failed"; throw std::runtime_error(ss.str()); } }

Definition at line 50 of file turtlebot_arm_arm_ikfast_solver.cpp.

#define IKFAST_ASSERT (   b)    { if( !(b) ) { std::stringstream ss; ss << "ikfast exception: " << __FILE__ << ":" << __LINE__ << ": " <<__PRETTY_FUNCTION__ << ": Assertion '" << #b << "' failed"; throw std::runtime_error(ss.str()); } }
#define IKFAST_ATAN2_MAGTHRESH   ((IkReal)1e-7)
#define IKFAST_ATAN2_MAGTHRESH   ((IkReal)1e-7)

Definition at line 108 of file turtlebot_arm_arm_ikfast_solver.cpp.

#define IKFAST_COMPILE_ASSERT (   x)    extern int __dummy[(int)x]
#define IKFAST_COMPILE_ASSERT (   x)    extern int __dummy[(int)x]

Definition at line 26 of file turtlebot_arm_arm_ikfast_solver.cpp.

#define IKFAST_EVALCOND_THRESH   ((IkReal)0.00001)
#define IKFAST_EVALCOND_THRESH   ((IkReal)0.00001)

Definition at line 118 of file turtlebot_arm_arm_ikfast_solver.cpp.

#define IKFAST_HAS_LIBRARY
#define IKFAST_HAS_LIBRARY

autogenerated analytical inverse kinematics code from ikfast program part of OpenRAVE

Author
Rosen Diankov

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

ikfast version 0x1000004a generated on 2018-05-19 00:23:16.992561 Generated using solver translationdirection5d To compile with gcc: gcc -lstdc++ ik.cpp To compile without any main function as a shared object (might need -llapack): gcc -fPIC -lstdc++ -DIKFAST_NO_MAIN -DIKFAST_CLIBRARY -shared -Wl,-soname,libik.so -o libik.so ik.cpp

Definition at line 21 of file turtlebot_arm_arm_ikfast_solver.cpp.

#define IKFAST_SINCOS_THRESH   ((IkReal)1e-7)

Definition at line 103 of file turtlebot_arm_arm_ikfast_solver.cpp.

#define IKFAST_SINCOS_THRESH   ((IkReal)1e-7)
#define IKFAST_SOLUTION_THRESH   ((IkReal)1e-6)

Definition at line 113 of file turtlebot_arm_arm_ikfast_solver.cpp.

#define IKFAST_SOLUTION_THRESH   ((IkReal)1e-6)
#define IKPI   ((IkReal)3.14159265358979)
#define IKPI   ((IkReal)3.14159265358979)

Definition at line 61 of file turtlebot_arm_arm_ikfast_solver.cpp.

#define IKPI_2   ((IkReal)1.57079632679490)

Definition at line 62 of file turtlebot_arm_arm_ikfast_solver.cpp.

#define IKPI_2   ((IkReal)1.57079632679490)

Function Documentation

IKFAST_API void 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 300 of file turtlebot_arm_arm_ikfast_solver.cpp.

IKFAST_API bool 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 2068 of file turtlebot_arm_arm_ikfast_solver.cpp.

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

Definition at line 2073 of file turtlebot_arm_arm_ikfast_solver.cpp.

void dgeev_ ( const char *  jobvl,
const char *  jobvr,
const int *  n,
double *  a,
const int *  lda,
double *  wr,
double *  wi,
double *  vl,
const int *  ldvl,
double *  vr,
const int *  ldvr,
double *  work,
const int *  lwork,
int *  info 
)
void dgesv_ ( const int *  n,
const int *  nrhs,
double *  a,
const int *  lda,
int *  ipiv,
double *  b,
const int *  ldb,
int *  info 
)
void dgetrf_ ( const int *  m,
const int *  n,
double *  a,
const int *  lda,
int *  ipiv,
int *  info 
)
void dgetri_ ( const int *  n,
const double *  a,
const int *  lda,
int *  ipiv,
double *  work,
const int *  lwork,
int *  info 
)
void dgetrs_ ( const char *  trans,
const int *  n,
const int *  nrhs,
double *  a,
const int *  lda,
int *  ipiv,
double *  b,
const int *  ldb,
int *  info 
)
IKFAST_API int* GetFreeParameters ( )

Definition at line 339 of file turtlebot_arm_arm_ikfast_solver.cpp.

IKFAST_API const char* GetIkFastVersion ( )

Definition at line 2080 of file turtlebot_arm_arm_ikfast_solver.cpp.

IKFAST_API int GetIkRealSize ( )

Definition at line 342 of file turtlebot_arm_arm_ikfast_solver.cpp.

IKFAST_API int GetIkType ( )

Definition at line 344 of file turtlebot_arm_arm_ikfast_solver.cpp.

IKFAST_API const char* GetKinematicsHash ( )

Definition at line 2078 of file turtlebot_arm_arm_ikfast_solver.cpp.

IKFAST_API int GetNumFreeParameters ( )

Definition at line 338 of file turtlebot_arm_arm_ikfast_solver.cpp.

IKFAST_API int GetNumJoints ( )

Definition at line 340 of file turtlebot_arm_arm_ikfast_solver.cpp.

float IKabs ( float  f)
inline

Definition at line 92 of file turtlebot_arm_arm_ikfast_solver.cpp.

double IKabs ( double  f)
inline

Definition at line 93 of file turtlebot_arm_arm_ikfast_solver.cpp.

float IKacos ( float  f)
inline

Definition at line 155 of file turtlebot_arm_arm_ikfast_solver.cpp.

double IKacos ( double  f)
inline

Definition at line 162 of file turtlebot_arm_arm_ikfast_solver.cpp.

float IKasin ( float  f)
inline

Definition at line 122 of file turtlebot_arm_arm_ikfast_solver.cpp.

double IKasin ( double  f)
inline

Definition at line 129 of file turtlebot_arm_arm_ikfast_solver.cpp.

float IKatan2 ( float  fy,
float  fx 
)
inline

Definition at line 180 of file turtlebot_arm_arm_ikfast_solver.cpp.

double IKatan2 ( double  fy,
double  fx 
)
inline

Definition at line 193 of file turtlebot_arm_arm_ikfast_solver.cpp.

float IKatan2Simple ( float  fy,
float  fx 
)
inline

Definition at line 177 of file turtlebot_arm_arm_ikfast_solver.cpp.

double IKatan2Simple ( double  fy,
double  fx 
)
inline

Definition at line 190 of file turtlebot_arm_arm_ikfast_solver.cpp.

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

Definition at line 212 of file turtlebot_arm_arm_ikfast_solver.cpp.

float IKcos ( float  f)
inline

Definition at line 171 of file turtlebot_arm_arm_ikfast_solver.cpp.

double IKcos ( double  f)
inline

Definition at line 172 of file turtlebot_arm_arm_ikfast_solver.cpp.

IKFAST_COMPILE_ASSERT ( IKFAST_VERSION  = =0x1000004a)
float IKfmod ( float  x,
float  y 
)
inline

Definition at line 138 of file turtlebot_arm_arm_ikfast_solver.cpp.

double IKfmod ( double  x,
double  y 
)
inline

Definition at line 147 of file turtlebot_arm_arm_ikfast_solver.cpp.

float IKlog ( float  f)
inline

Definition at line 98 of file turtlebot_arm_arm_ikfast_solver.cpp.

double IKlog ( double  f)
inline

Definition at line 99 of file turtlebot_arm_arm_ikfast_solver.cpp.

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

Definition at line 247 of file turtlebot_arm_arm_ikfast_solver.cpp.

float IKsign ( float  f)
inline

Definition at line 226 of file turtlebot_arm_arm_ikfast_solver.cpp.

double IKsign ( double  f)
inline

Definition at line 236 of file turtlebot_arm_arm_ikfast_solver.cpp.

float IKsin ( float  f)
inline

Definition at line 169 of file turtlebot_arm_arm_ikfast_solver.cpp.

double IKsin ( double  f)
inline

Definition at line 170 of file turtlebot_arm_arm_ikfast_solver.cpp.

float IKsqr ( float  f)
inline

Definition at line 95 of file turtlebot_arm_arm_ikfast_solver.cpp.

double IKsqr ( double  f)
inline

Definition at line 96 of file turtlebot_arm_arm_ikfast_solver.cpp.

float IKsqrt ( float  f)
inline

Definition at line 175 of file turtlebot_arm_arm_ikfast_solver.cpp.

double IKsqrt ( double  f)
inline

Definition at line 176 of file turtlebot_arm_arm_ikfast_solver.cpp.

float IKtan ( float  f)
inline

Definition at line 173 of file turtlebot_arm_arm_ikfast_solver.cpp.

double IKtan ( double  f)
inline

Definition at line 174 of file turtlebot_arm_arm_ikfast_solver.cpp.

int main ( int  argc,
char **  argv 
)

Definition at line 2092 of file turtlebot_arm_arm_ikfast_solver.cpp.

void zgetrf_ ( const int *  m,
const int *  n,
std::complex< double > *  a,
const int *  lda,
int *  ipiv,
int *  info 
)


turtlebot_arm_ikfast_plugin
Author(s):
autogenerated on Fri Feb 7 2020 03:56:27