Classes | Defines | Functions
ric_ik.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 ric_ik.cpp:

Go to the source code of this file.

Classes

struct  CheckValue< T >
class  IKSolver

Defines

#define __PRETTY_FUNCTION__   __func__
#define IK2PI   ((IkReal)6.28318530717959)
#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_ATAN2_MAGTHRESH   ((IkReal)2e-6)
#define IKFAST_COMPILE_ASSERT(x)   extern int __dummy[(int)x]
#define IKFAST_EVALCOND_THRESH   ((IkReal)0.00001)
#define IKFAST_HAS_LIBRARY
#define IKFAST_SINCOS_THRESH   ((IkReal)2e-6)
#define IKFAST_SOLUTION_THRESH   ((IkReal)1e-6)
#define IKPI   ((IkReal)3.14159265358979)
#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==0x10000048)
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)

Define Documentation

#define __PRETTY_FUNCTION__   __func__

Definition at line 46 of file ric_ik.cpp.

#define IK2PI   ((IkReal)6.28318530717959)

Definition at line 59 of file ric_ik.cpp.

#define IKFAST_ALIGNED16 (   x)    x __attribute((aligned(16)))

Definition at line 56 of file ric_ik.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 49 of file ric_ik.cpp.

#define IKFAST_ATAN2_MAGTHRESH   ((IkReal)2e-6)

Definition at line 107 of file ric_ik.cpp.

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

Definition at line 25 of file ric_ik.cpp.

#define IKFAST_EVALCOND_THRESH   ((IkReal)0.00001)

Definition at line 117 of file ric_ik.cpp.

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 0x10000048 generated on 2015-09-07 13:08:09.486990 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 20 of file ric_ik.cpp.

#define IKFAST_SINCOS_THRESH   ((IkReal)2e-6)

Definition at line 102 of file ric_ik.cpp.

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

Definition at line 112 of file ric_ik.cpp.

#define IKPI   ((IkReal)3.14159265358979)

Definition at line 60 of file ric_ik.cpp.

#define IKPI_2   ((IkReal)1.57079632679490)

Definition at line 61 of file ric_ik.cpp.


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 299 of file ric_ik.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 14387 of file ric_ik.cpp.

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

Definition at line 14392 of file ric_ik.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 345 of file ric_ik.cpp.

IKFAST_API const char* GetIkFastVersion ( )

Definition at line 14399 of file ric_ik.cpp.

IKFAST_API int GetIkRealSize ( )

Definition at line 348 of file ric_ik.cpp.

IKFAST_API int GetIkType ( )

Definition at line 350 of file ric_ik.cpp.

IKFAST_API const char* GetKinematicsHash ( )

Definition at line 14397 of file ric_ik.cpp.

IKFAST_API int GetNumFreeParameters ( )

Definition at line 344 of file ric_ik.cpp.

IKFAST_API int GetNumJoints ( )

Definition at line 346 of file ric_ik.cpp.

float IKabs ( float  f) [inline]

Definition at line 91 of file ric_ik.cpp.

double IKabs ( double  f) [inline]

Definition at line 92 of file ric_ik.cpp.

float IKacos ( float  f) [inline]

Definition at line 154 of file ric_ik.cpp.

double IKacos ( double  f) [inline]

Definition at line 161 of file ric_ik.cpp.

float IKasin ( float  f) [inline]

Definition at line 121 of file ric_ik.cpp.

double IKasin ( double  f) [inline]

Definition at line 128 of file ric_ik.cpp.

float IKatan2 ( float  fy,
float  fx 
) [inline]

Definition at line 179 of file ric_ik.cpp.

double IKatan2 ( double  fy,
double  fx 
) [inline]

Definition at line 192 of file ric_ik.cpp.

float IKatan2Simple ( float  fy,
float  fx 
) [inline]

Definition at line 176 of file ric_ik.cpp.

double IKatan2Simple ( double  fy,
double  fx 
) [inline]

Definition at line 189 of file ric_ik.cpp.

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

Definition at line 211 of file ric_ik.cpp.

float IKcos ( float  f) [inline]

Definition at line 170 of file ric_ik.cpp.

double IKcos ( double  f) [inline]

Definition at line 171 of file ric_ik.cpp.

IKFAST_COMPILE_ASSERT ( IKFAST_VERSION  = =0x10000048)
float IKfmod ( float  x,
float  y 
) [inline]

Definition at line 137 of file ric_ik.cpp.

double IKfmod ( double  x,
double  y 
) [inline]

Definition at line 146 of file ric_ik.cpp.

float IKlog ( float  f) [inline]

Definition at line 97 of file ric_ik.cpp.

double IKlog ( double  f) [inline]

Definition at line 98 of file ric_ik.cpp.

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

Definition at line 246 of file ric_ik.cpp.

float IKsign ( float  f) [inline]

Definition at line 225 of file ric_ik.cpp.

double IKsign ( double  f) [inline]

Definition at line 235 of file ric_ik.cpp.

float IKsin ( float  f) [inline]

Definition at line 168 of file ric_ik.cpp.

double IKsin ( double  f) [inline]

Definition at line 169 of file ric_ik.cpp.

float IKsqr ( float  f) [inline]

Definition at line 94 of file ric_ik.cpp.

double IKsqr ( double  f) [inline]

Definition at line 95 of file ric_ik.cpp.

float IKsqrt ( float  f) [inline]

Definition at line 174 of file ric_ik.cpp.

double IKsqrt ( double  f) [inline]

Definition at line 175 of file ric_ik.cpp.

float IKtan ( float  f) [inline]

Definition at line 172 of file ric_ik.cpp.

double IKtan ( double  f) [inline]

Definition at line 173 of file ric_ik.cpp.

int main ( int  argc,
char **  argv 
)

Definition at line 14411 of file ric_ik.cpp.

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


ric_description
Author(s): RoboTiCan
autogenerated on Fri May 20 2016 03:48:38