#include <opw_kinematics/opw_macros.h>
#include "ikfast.h"
#include <cmath>
#include <vector>
#include <limits>
#include <complex>
#include <stdexcept>
#include <iostream>
#include <cstddef>
#include <memory>
#include <stdio.h>
#include <stdlib.h>
Go to the source code of this file.
Classes | |
class | IKSolver |
Macros | |
#define | __PRETTY_FUNCTION__ __func__ |
#define | IK2PI ((IkReal)6.28318530717959) |
#define | IKFAST_ALIGNED16(x) x __attribute((aligned(16))) |
#define | IKFAST_ASSERT(b) |
#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 () |
const IKFAST_API char * | GetIkFastVersion () |
IKFAST_API int | GetIkRealSize () |
IKFAST_API int | GetIkType () |
const IKFAST_API char * | GetKinematicsHash () |
IKFAST_API int | GetNumFreeParameters () |
IKFAST_API int | GetNumJoints () |
double | IKabs (double f) |
float | IKabs (float f) |
double | IKacos (double f) |
float | IKacos (float f) |
double | IKasin (double f) |
float | IKasin (float f) |
double | IKatan2 (double fy, double fx) |
float | IKatan2 (float fy, float fx) |
double | IKcos (double f) |
float | IKcos (float f) |
IKFAST_COMPILE_ASSERT (IKFAST_VERSION==61) | |
double | IKfmod (double x, double y) |
float | IKfmod (float x, float y) |
double | IKlog (double f) |
float | IKlog (float f) |
double | IKsign (double f) |
float | IKsign (float f) |
double | IKsin (double f) |
float | IKsin (float f) |
double | IKsqr (double f) |
float | IKsqr (float f) |
double | IKsqrt (double f) |
float | IKsqrt (float f) |
double | IKtan (double f) |
float | IKtan (float 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__ |
Definition at line 51 of file abb_irb2400_manipulator_ikfast_solver.cpp.
#define IK2PI ((IkReal)6.28318530717959) |
Definition at line 73 of file abb_irb2400_manipulator_ikfast_solver.cpp.
#define IKFAST_ALIGNED16 | ( | x | ) | x __attribute((aligned(16))) |
Definition at line 70 of file abb_irb2400_manipulator_ikfast_solver.cpp.
#define IKFAST_ASSERT | ( | b | ) |
Definition at line 54 of file abb_irb2400_manipulator_ikfast_solver.cpp.
#define IKFAST_ATAN2_MAGTHRESH ((IkReal)2e-6) |
Definition at line 137 of file abb_irb2400_manipulator_ikfast_solver.cpp.
#define IKFAST_COMPILE_ASSERT | ( | x | ) | extern int __dummy[(int)(x)] |
Definition at line 27 of file abb_irb2400_manipulator_ikfast_solver.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 2015-05-22 14:09:58.982511 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 22 of file abb_irb2400_manipulator_ikfast_solver.cpp.
#define IKFAST_SINCOS_THRESH ((IkReal)0.000001) |
Definition at line 132 of file abb_irb2400_manipulator_ikfast_solver.cpp.
#define IKFAST_SOLUTION_THRESH ((IkReal)1e-6) |
Definition at line 142 of file abb_irb2400_manipulator_ikfast_solver.cpp.
#define IKFAST_STRINGIZE | ( | s | ) | IKFAST_STRINGIZE2(s) |
Definition at line 36 of file abb_irb2400_manipulator_ikfast_solver.cpp.
#define IKFAST_STRINGIZE2 | ( | s | ) | #s |
Definition at line 35 of file abb_irb2400_manipulator_ikfast_solver.cpp.
#define IKPI ((IkReal)3.14159265358979) |
Definition at line 74 of file abb_irb2400_manipulator_ikfast_solver.cpp.
#define IKPI_2 ((IkReal)1.57079632679490) |
Definition at line 75 of file abb_irb2400_manipulator_ikfast_solver.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 279 of file abb_irb2400_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 3205 of file abb_irb2400_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 375 of file abb_irb2400_manipulator_ikfast_solver.cpp.
const IKFAST_API char* GetIkFastVersion | ( | ) |
Definition at line 3216 of file abb_irb2400_manipulator_ikfast_solver.cpp.
IKFAST_API int GetIkRealSize | ( | ) |
Definition at line 378 of file abb_irb2400_manipulator_ikfast_solver.cpp.
IKFAST_API int GetIkType | ( | ) |
Definition at line 380 of file abb_irb2400_manipulator_ikfast_solver.cpp.
const IKFAST_API char* GetKinematicsHash | ( | ) |
Definition at line 3211 of file abb_irb2400_manipulator_ikfast_solver.cpp.
IKFAST_API int GetNumFreeParameters | ( | ) |
Definition at line 374 of file abb_irb2400_manipulator_ikfast_solver.cpp.
IKFAST_API int GetNumJoints | ( | ) |
Definition at line 376 of file abb_irb2400_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 122 of file abb_irb2400_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 121 of file abb_irb2400_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 196 of file abb_irb2400_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 186 of file abb_irb2400_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 155 of file abb_irb2400_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 145 of file abb_irb2400_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 237 of file abb_irb2400_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 224 of file abb_irb2400_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 209 of file abb_irb2400_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 208 of file abb_irb2400_manipulator_ikfast_solver.cpp.
IKFAST_COMPILE_ASSERT | ( | IKFAST_VERSION | = =61 | ) |
|
inline |
Definition at line 177 of file abb_irb2400_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 167 of file abb_irb2400_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 128 of file abb_irb2400_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 127 of file abb_irb2400_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 264 of file abb_irb2400_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 251 of file abb_irb2400_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 207 of file abb_irb2400_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 206 of file abb_irb2400_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 125 of file abb_irb2400_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 124 of file abb_irb2400_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 218 of file abb_irb2400_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 212 of file abb_irb2400_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 211 of file abb_irb2400_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 210 of file abb_irb2400_manipulator_ikfast_solver.cpp.
int main | ( | int | argc, |
char ** | argv | ||
) |
Definition at line 3228 of file abb_irb2400_manipulator_ikfast_solver.cpp.
void zgetrf_ | ( | const int * | m, |
const int * | n, | ||
std::complex< double > * | a, | ||
const int * | lda, | ||
int * | ipiv, | ||
int * | info | ||
) |