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

Go to the source code of this file.

Classes

class  IKSolution
class  IKSolver
struct  IKSolution::VARIABLE

Defines

#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_API
#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_SINCOS_THRESH   ((IKReal)0.000001)
#define IKPI   ((IKReal)3.14159265358979)
#define IKPI   ((IKReal)3.14159265358979)
#define IKPI_2   ((IKReal)1.57079632679490)
#define IKPI_2   ((IKReal)1.57079632679490)

Typedefs

typedef double IKReal

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 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 45 generated on 2011-09-11 21:53:09.154827 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 ikfast_lwr.cpp.

#define IK2PI   ((IKReal)6.28318530717959)

Definition at line 55 of file lwr_kinematics_plugin.cpp.

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

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 45 generated on 2011-09-11 21:53:09.154827 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 52 of file lwr_kinematics_plugin.cpp.

#define IKFAST_API
#define IKFAST_API

Definition at line 73 of file lwr_kinematics_plugin.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 ikfast_lwr.cpp.

#define IKFAST_SINCOS_THRESH   ((IKReal)0.000001)

Definition at line 142 of file ikfast_lwr.cpp.

#define IKPI   ((IKReal)3.14159265358979)

Definition at line 56 of file lwr_kinematics_plugin.cpp.

#define IKPI   ((IKReal)3.14159265358979)
#define IKPI_2   ((IKReal)1.57079632679490)
#define IKPI_2   ((IKReal)1.57079632679490)

Definition at line 57 of file lwr_kinematics_plugin.cpp.


Typedef Documentation

typedef double IKReal

Definition at line 94 of file ikfast_lwr.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 243 of file ikfast_lwr.cpp.

Definition at line 327 of file ikfast_lwr.cpp.

Definition at line 330 of file ikfast_lwr.cpp.

Definition at line 332 of file ikfast_lwr.cpp.

IKFAST_API const char* getKinematicsHash ( )

Definition at line 1484 of file ikfast_lwr.cpp.

Definition at line 326 of file ikfast_lwr.cpp.

Definition at line 328 of file ikfast_lwr.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 1479 of file ikfast_lwr.cpp.

float IKabs ( float  f) [inline]

Definition at line 135 of file ikfast_lwr.cpp.

double IKabs ( double  f) [inline]

Definition at line 136 of file ikfast_lwr.cpp.

float IKacos ( float  f) [inline]

Definition at line 178 of file ikfast_lwr.cpp.

double IKacos ( double  f) [inline]

Definition at line 185 of file ikfast_lwr.cpp.

float IKasin ( float  f) [inline]

Definition at line 145 of file ikfast_lwr.cpp.

double IKasin ( double  f) [inline]

Definition at line 152 of file ikfast_lwr.cpp.

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

Definition at line 200 of file ikfast_lwr.cpp.

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

Definition at line 210 of file ikfast_lwr.cpp.

float IKcos ( float  f) [inline]

Definition at line 194 of file ikfast_lwr.cpp.

double IKcos ( double  f) [inline]

Definition at line 195 of file ikfast_lwr.cpp.

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

Definition at line 161 of file ikfast_lwr.cpp.

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

Definition at line 170 of file ikfast_lwr.cpp.

float IKlog ( float  f) [inline]

Definition at line 138 of file ikfast_lwr.cpp.

double IKlog ( double  f) [inline]

Definition at line 139 of file ikfast_lwr.cpp.

float IKsign ( float  f) [inline]

Definition at line 221 of file ikfast_lwr.cpp.

double IKsign ( double  f) [inline]

Definition at line 231 of file ikfast_lwr.cpp.

float IKsin ( float  f) [inline]

Definition at line 192 of file ikfast_lwr.cpp.

double IKsin ( double  f) [inline]

Definition at line 193 of file ikfast_lwr.cpp.

float IKsqrt ( float  f) [inline]

Definition at line 198 of file ikfast_lwr.cpp.

double IKsqrt ( double  f) [inline]

Definition at line 199 of file ikfast_lwr.cpp.

float IKtan ( float  f) [inline]

Definition at line 196 of file ikfast_lwr.cpp.

double IKtan ( double  f) [inline]

Definition at line 197 of file ikfast_lwr.cpp.

int main ( int  argc,
char **  argv 
)

Definition at line 1496 of file ikfast_lwr.cpp.

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


lwr_kinematics
Author(s): Konrad Banachowicz
autogenerated on Mon Oct 6 2014 02:00:38