#include "ikfast.h"
#include <algorithm>
#include <cmath>
#include <complex>
#include <limits>
#include <vector>
#include <iostream>
#include <sstream>
#include <stdexcept>
#include <stdio.h>
#include <stdlib.h>
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) |
#define | IKFAST_ASSERT(b) |
#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==0x10000049) | |
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 __PRETTY_FUNCTION__ __func__ |
#define __PRETTY_FUNCTION__ __func__ |
Definition at line 49 of file motoman_mh5_manipulator_ikfast_solver.cpp.
#define IK2PI ((IkReal)6.28318530717959) |
Definition at line 70 of file motoman_mh5_manipulator_ikfast_solver.cpp.
#define IK2PI ((IkReal)6.28318530717959) |
Definition at line 67 of file motoman_mh5_manipulator_ikfast_solver.cpp.
#define IKFAST_ASSERT | ( | b | ) |
Definition at line 52 of file motoman_mh5_manipulator_ikfast_solver.cpp.
#define IKFAST_ASSERT | ( | b | ) |
#define IKFAST_ATAN2_MAGTHRESH ((IkReal)1e-7) |
#define IKFAST_ATAN2_MAGTHRESH ((IkReal)1e-7) |
Definition at line 128 of file motoman_mh5_manipulator_ikfast_solver.cpp.
Definition at line 28 of file motoman_mh5_manipulator_ikfast_solver.cpp.
#define IKFAST_EVALCOND_THRESH ((IkReal)0.00001) |
#define IKFAST_EVALCOND_THRESH ((IkReal)0.00001) |
Definition at line 139 of file motoman_mh5_manipulator_ikfast_solver.cpp.
#define IKFAST_HAS_LIBRARY |
#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 0x10000049 generated on 2017-06-17 23:28:17.109363 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 23 of file motoman_mh5_manipulator_ikfast_solver.cpp.
#define IKFAST_SINCOS_THRESH ((IkReal)1e-7) |
Definition at line 122 of file motoman_mh5_manipulator_ikfast_solver.cpp.
#define IKFAST_SINCOS_THRESH ((IkReal)1e-7) |
#define IKFAST_SOLUTION_THRESH ((IkReal)1e-6) |
Definition at line 133 of file motoman_mh5_manipulator_ikfast_solver.cpp.
#define IKFAST_SOLUTION_THRESH ((IkReal)1e-6) |
#define IKPI ((IkReal)3.14159265358979) |
#define IKPI ((IkReal)3.14159265358979) |
Definition at line 71 of file motoman_mh5_manipulator_ikfast_solver.cpp.
#define IKPI_2 ((IkReal)1.57079632679490) |
Definition at line 72 of file motoman_mh5_manipulator_ikfast_solver.cpp.
#define IKPI_2 ((IkReal)1.57079632679490) |
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 325 of file motoman_mh5_manipulator_ikfast_solver.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 51449 of file motoman_mh5_manipulator_ikfast_solver.cpp.
IKFAST_API bool ComputeIk2 | ( | const IkReal * | eetrans, |
const IkReal * | eerot, | ||
const IkReal * | pfree, | ||
IkSolutionListBase< IkReal > & | solutions, | ||
void * | pOpenRAVEManip | ||
) |
Definition at line 51456 of file motoman_mh5_manipulator_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 406 of file motoman_mh5_manipulator_ikfast_solver.cpp.
IKFAST_API const char* GetIkFastVersion | ( | ) |
Definition at line 51469 of file motoman_mh5_manipulator_ikfast_solver.cpp.
IKFAST_API int GetIkRealSize | ( | ) |
Definition at line 409 of file motoman_mh5_manipulator_ikfast_solver.cpp.
IKFAST_API int GetIkType | ( | ) |
Definition at line 411 of file motoman_mh5_manipulator_ikfast_solver.cpp.
IKFAST_API const char* GetKinematicsHash | ( | ) |
Definition at line 51464 of file motoman_mh5_manipulator_ikfast_solver.cpp.
IKFAST_API int GetNumFreeParameters | ( | ) |
Definition at line 405 of file motoman_mh5_manipulator_ikfast_solver.cpp.
IKFAST_API int GetNumJoints | ( | ) |
Definition at line 407 of file motoman_mh5_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 110 of file motoman_mh5_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 111 of file motoman_mh5_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 181 of file motoman_mh5_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 192 of file motoman_mh5_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 142 of file motoman_mh5_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 153 of file motoman_mh5_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 220 of file motoman_mh5_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 231 of file motoman_mh5_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 219 of file motoman_mh5_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 230 of file motoman_mh5_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 248 of file motoman_mh5_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 205 of file motoman_mh5_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 206 of file motoman_mh5_manipulator_ikfast_solver.cpp.
IKFAST_COMPILE_ASSERT | ( | IKFAST_VERSION | = =0x10000049 | ) |
|
inline |
Definition at line 166 of file motoman_mh5_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 174 of file motoman_mh5_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 116 of file motoman_mh5_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 117 of file motoman_mh5_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 280 of file motoman_mh5_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 262 of file motoman_mh5_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 271 of file motoman_mh5_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 203 of file motoman_mh5_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 204 of file motoman_mh5_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 113 of file motoman_mh5_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 114 of file motoman_mh5_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 209 of file motoman_mh5_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 214 of file motoman_mh5_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 207 of file motoman_mh5_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 208 of file motoman_mh5_manipulator_ikfast_solver.cpp.
int main | ( | int | argc, |
char ** | argv | ||
) |
Definition at line 51481 of file motoman_mh5_manipulator_ikfast_solver.cpp.
void zgetrf_ | ( | const int * | m, |
const int * | n, | ||
std::complex< double > * | a, | ||
const int * | lda, | ||
int * | ipiv, | ||
int * | info | ||
) |