Classes | Defines | Functions
openrave_ik.cpp File Reference
#include <cmath>
#include <vector>
#include <limits>
#include <algorithm>
#include <complex>
#include <coverage_3d_arm_navigation/openrave_ik.h>
#include <stdexcept>
#include <sstream>
#include <stdio.h>
#include <stdlib.h>
Include dependency graph for openrave_ik.cpp:

Go to the source code of this file.

Classes

class  IKSolver

Defines

#define __PRETTY_FUNCTION__   __func__
#define IK2PI   ((IKReal)6.28318530717959)
#define IKFAST_ALIGNED16(x)   x __attribute((aligned(16)))
#define IKFAST_API
#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_SINCOS_THRESH   ((IKReal)0.000001)
#define IKFAST_SOLUTION_THRESH   ((IKReal)1e-6)
#define IKPI   ((IKReal)3.14159265358979)
#define IKPI_2   ((IKReal)1.57079632679490)

Functions

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 void fk (const IKReal *j, IKReal *eetrans, IKReal *eerot)
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 ()
IKFAST_API bool ik (const IKReal *eetrans, const IKReal *eerot, const IKReal *pfree, std::vector< IKSolution > &vsolutions)
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 IKcos (float f)
double IKcos (double f)
float IKfmod (float x, float y)
float IKfmod (double x, double y)
float IKlog (float f)
double IKlog (double f)
float IKsign (float f)
double IKsign (double f)
float IKsin (float f)
double IKsin (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__

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 52 generated on 2012-01-12 11:20:44.667436 To compile with gcc: gcc -lstdc++ ik.cpp To compile without any main function as a shared object: gcc -fPIC -lstdc++ -DIKFAST_NO_MAIN -shared -Wl,-soname,ik.so -o ik.so ik.cpp

Definition at line 41 of file openrave_ik.cpp.

#define IK2PI   ((IKReal)6.28318530717959)

Definition at line 54 of file openrave_ik.cpp.

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

Definition at line 51 of file openrave_ik.cpp.

#define IKFAST_API

Definition at line 72 of file openrave_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 44 of file openrave_ik.cpp.

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

Definition at line 167 of file openrave_ik.cpp.

#define IKFAST_SINCOS_THRESH   ((IKReal)0.000001)

Definition at line 162 of file openrave_ik.cpp.

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

Definition at line 172 of file openrave_ik.cpp.

#define IKPI   ((IKReal)3.14159265358979)

Definition at line 55 of file openrave_ik.cpp.

#define IKPI_2   ((IKReal)1.57079632679490)

Definition at line 56 of file openrave_ik.cpp.


Function Documentation

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 void fk ( 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 273 of file openrave_ik.cpp.

Definition at line 359 of file openrave_ik.cpp.

IKFAST_API const char* getIKFastVersion ( )

Definition at line 3117 of file openrave_ik.cpp.

Definition at line 362 of file openrave_ik.cpp.

Definition at line 364 of file openrave_ik.cpp.

IKFAST_API const char* getKinematicsHash ( )

Definition at line 3115 of file openrave_ik.cpp.

Definition at line 358 of file openrave_ik.cpp.

Definition at line 360 of file openrave_ik.cpp.

IKFAST_API bool ik ( const IKReal eetrans,
const IKReal eerot,
const IKReal pfree,
std::vector< IKSolution > &  vsolutions 
)

solves the inverse kinematics equations.

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

Definition at line 3110 of file openrave_ik.cpp.

float IKabs ( float  f) [inline]

Definition at line 154 of file openrave_ik.cpp.

double IKabs ( double  f) [inline]

Definition at line 155 of file openrave_ik.cpp.

float IKacos ( float  f) [inline]

Definition at line 208 of file openrave_ik.cpp.

double IKacos ( double  f) [inline]

Definition at line 215 of file openrave_ik.cpp.

float IKasin ( float  f) [inline]

Definition at line 175 of file openrave_ik.cpp.

double IKasin ( double  f) [inline]

Definition at line 182 of file openrave_ik.cpp.

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

Definition at line 230 of file openrave_ik.cpp.

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

Definition at line 240 of file openrave_ik.cpp.

float IKcos ( float  f) [inline]

Definition at line 224 of file openrave_ik.cpp.

double IKcos ( double  f) [inline]

Definition at line 225 of file openrave_ik.cpp.

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

Definition at line 191 of file openrave_ik.cpp.

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

Definition at line 200 of file openrave_ik.cpp.

float IKlog ( float  f) [inline]

Definition at line 157 of file openrave_ik.cpp.

double IKlog ( double  f) [inline]

Definition at line 158 of file openrave_ik.cpp.

float IKsign ( float  f) [inline]

Definition at line 251 of file openrave_ik.cpp.

double IKsign ( double  f) [inline]

Definition at line 261 of file openrave_ik.cpp.

float IKsin ( float  f) [inline]

Definition at line 222 of file openrave_ik.cpp.

double IKsin ( double  f) [inline]

Definition at line 223 of file openrave_ik.cpp.

float IKsqrt ( float  f) [inline]

Definition at line 228 of file openrave_ik.cpp.

double IKsqrt ( double  f) [inline]

Definition at line 229 of file openrave_ik.cpp.

float IKtan ( float  f) [inline]

Definition at line 226 of file openrave_ik.cpp.

double IKtan ( double  f) [inline]

Definition at line 227 of file openrave_ik.cpp.

int main ( int  argc,
char **  argv 
)

Definition at line 3129 of file openrave_ik.cpp.

void zgetrf_ ( const int *  m,
const int *  n,
std::complex< double > *  a,
const int *  lda,
int *  ipiv,
int *  info 
)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Properties Friends Defines


coverage_3d_arm_navigation
Author(s): Juergen Hess
autogenerated on Wed Dec 26 2012 15:25:57