#include "ikfast.h"
#include "ros/ros.h"
#include <cmath>
#include <vector>
#include <limits>
#include <algorithm>
#include <complex>
#include <stdio.h>
#include <stdlib.h>
Go to the source code of this file.
Classes | |
class | IKSolver |
Defines | |
#define | IK2PI ((IkReal)6.28318530717959) |
#define | IKFAST_ALIGNED16(x) x __attribute((aligned(16))) |
#define | IKFAST_ASSERT ROS_ASSERT |
#define | IKFAST_ATAN2_MAGTHRESH ((IkReal)2e-6) |
#define | IKFAST_COMPILE_ASSERT(x) extern int __dummy[(int)x] |
#define | IKFAST_HAS_LIBRARY |
#define | IKFAST_SINCOS_THRESH ((IkReal)0.000001) |
#define | IKFAST_SOLUTION_THRESH ((IkReal)1e-6) |
#define | IKFAST_STRINGIZE(s) IKFAST_STRINGIZE2(s) |
#define | IKFAST_STRINGIZE2(s) #s |
#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) |
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 | IKcos (float f) |
double | IKcos (double f) |
IKFAST_COMPILE_ASSERT (IKFAST_VERSION==61) | |
float | IKfmod (float x, float y) |
double | 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 | 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 IK2PI ((IkReal)6.28318530717959) |
Definition at line 63 of file ikfast_lwa.cpp.
#define IKFAST_ALIGNED16 | ( | x | ) | x __attribute((aligned(16))) |
Definition at line 60 of file ikfast_lwa.cpp.
#define IKFAST_ASSERT ROS_ASSERT |
Definition at line 24 of file ikfast_lwa.cpp.
#define IKFAST_ATAN2_MAGTHRESH ((IkReal)2e-6) |
Definition at line 105 of file ikfast_lwa.cpp.
#define IKFAST_COMPILE_ASSERT | ( | x | ) | extern int __dummy[(int)x] |
Definition at line 26 of file ikfast_lwa.cpp.
#define IKFAST_HAS_LIBRARY |
autogenerated analytical inverse kinematics code from ikfast program part of OpenRAVE
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 61 generated on 2012-11-23 19:10:48.288028 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 ikfast_lwa.cpp.
#define IKFAST_SINCOS_THRESH ((IkReal)0.000001) |
Definition at line 100 of file ikfast_lwa.cpp.
#define IKFAST_SOLUTION_THRESH ((IkReal)1e-6) |
Definition at line 110 of file ikfast_lwa.cpp.
#define IKFAST_STRINGIZE | ( | s | ) | IKFAST_STRINGIZE2(s) |
Definition at line 36 of file ikfast_lwa.cpp.
#define IKFAST_STRINGIZE2 | ( | s | ) | #s |
Definition at line 35 of file ikfast_lwa.cpp.
#define IKPI ((IkReal)3.14159265358979) |
Definition at line 64 of file ikfast_lwa.cpp.
#define IKPI_2 ((IkReal)1.57079632679490) |
Definition at line 65 of file ikfast_lwa.cpp.
IKFAST_API void ComputeFk | ( | const IkReal * | j, |
IkReal * | eetrans, | ||
IkReal * | eerot | ||
) |
solves the forward kinematics equations.
pfree | is an array specifying the free joints of the chain. |
Definition at line 211 of file ikfast_lwa.cpp.
IKFAST_API bool ComputeIk | ( | const IkReal * | eetrans, |
const IkReal * | eerot, | ||
const IkReal * | pfree, | ||
IkSolutionListBase< IkReal > & | solutions | ||
) |
solves the inverse kinematics equations.
pfree | is an array specifying the free joints of the chain. |
Definition at line 4394 of file ikfast_lwa.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 297 of file ikfast_lwa.cpp.
IKFAST_API const char* GetIkFastVersion | ( | ) |
Definition at line 4401 of file ikfast_lwa.cpp.
IKFAST_API int GetIkRealSize | ( | ) |
Definition at line 300 of file ikfast_lwa.cpp.
IKFAST_API int GetIkType | ( | ) |
Definition at line 302 of file ikfast_lwa.cpp.
IKFAST_API const char* GetKinematicsHash | ( | ) |
Definition at line 4399 of file ikfast_lwa.cpp.
IKFAST_API int GetNumFreeParameters | ( | ) |
Definition at line 296 of file ikfast_lwa.cpp.
IKFAST_API int GetNumJoints | ( | ) |
Definition at line 298 of file ikfast_lwa.cpp.
float IKabs | ( | float | f | ) | [inline] |
Definition at line 89 of file ikfast_lwa.cpp.
double IKabs | ( | double | f | ) | [inline] |
Definition at line 90 of file ikfast_lwa.cpp.
float IKacos | ( | float | f | ) | [inline] |
Definition at line 146 of file ikfast_lwa.cpp.
double IKacos | ( | double | f | ) | [inline] |
Definition at line 153 of file ikfast_lwa.cpp.
float IKasin | ( | float | f | ) | [inline] |
Definition at line 113 of file ikfast_lwa.cpp.
double IKasin | ( | double | f | ) | [inline] |
Definition at line 120 of file ikfast_lwa.cpp.
float IKatan2 | ( | float | fy, |
float | fx | ||
) | [inline] |
Definition at line 168 of file ikfast_lwa.cpp.
double IKatan2 | ( | double | fy, |
double | fx | ||
) | [inline] |
Definition at line 178 of file ikfast_lwa.cpp.
float IKcos | ( | float | f | ) | [inline] |
Definition at line 162 of file ikfast_lwa.cpp.
double IKcos | ( | double | f | ) | [inline] |
Definition at line 163 of file ikfast_lwa.cpp.
IKFAST_COMPILE_ASSERT | ( | IKFAST_VERSION | = =61 | ) |
float IKfmod | ( | float | x, |
float | y | ||
) | [inline] |
Definition at line 129 of file ikfast_lwa.cpp.
double IKfmod | ( | double | x, |
double | y | ||
) | [inline] |
Definition at line 138 of file ikfast_lwa.cpp.
float IKlog | ( | float | f | ) | [inline] |
Definition at line 95 of file ikfast_lwa.cpp.
double IKlog | ( | double | f | ) | [inline] |
Definition at line 96 of file ikfast_lwa.cpp.
float IKsign | ( | float | f | ) | [inline] |
Definition at line 189 of file ikfast_lwa.cpp.
double IKsign | ( | double | f | ) | [inline] |
Definition at line 199 of file ikfast_lwa.cpp.
float IKsin | ( | float | f | ) | [inline] |
Definition at line 160 of file ikfast_lwa.cpp.
double IKsin | ( | double | f | ) | [inline] |
Definition at line 161 of file ikfast_lwa.cpp.
float IKsqr | ( | float | f | ) | [inline] |
Definition at line 92 of file ikfast_lwa.cpp.
double IKsqr | ( | double | f | ) | [inline] |
Definition at line 93 of file ikfast_lwa.cpp.
float IKsqrt | ( | float | f | ) | [inline] |
Definition at line 166 of file ikfast_lwa.cpp.
double IKsqrt | ( | double | f | ) | [inline] |
Definition at line 167 of file ikfast_lwa.cpp.
float IKtan | ( | float | f | ) | [inline] |
Definition at line 164 of file ikfast_lwa.cpp.
double IKtan | ( | double | f | ) | [inline] |
Definition at line 165 of file ikfast_lwa.cpp.
int main | ( | int | argc, |
char ** | argv | ||
) |
Definition at line 4413 of file ikfast_lwa.cpp.
void zgetrf_ | ( | const int * | m, |
const int * | n, | ||
std::complex< double > * | a, | ||
const int * | lda, | ||
int * | ipiv, | ||
int * | info | ||
) |