#include <cmath>
#include <vector>
#include <limits>
#include <algorithm>
#include <complex>
#include <coverage_3d_arm_navigation/openrave_ik.h>
#include <stdexcept>
#include <sstream>
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
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) |
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 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 | 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__ |
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 55 generated on 2012-02-02 15:10:56.448139 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 45 of file ik_pr2_rightarm.cpp.
Definition at line 58 of file ik_pr2_rightarm.cpp.
#define IKFAST_ALIGNED16 | ( | x | ) | x __attribute((aligned(16))) |
Definition at line 55 of file ik_pr2_rightarm.cpp.
#define IKFAST_API |
Definition at line 76 of file ik_pr2_rightarm.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 48 of file ik_pr2_rightarm.cpp.
#define IKFAST_ATAN2_MAGTHRESH ((IKReal)2e-6) |
Definition at line 183 of file ik_pr2_rightarm.cpp.
#define IKFAST_SINCOS_THRESH ((IKReal)0.000001) |
Definition at line 178 of file ik_pr2_rightarm.cpp.
#define IKFAST_SOLUTION_THRESH ((IKReal)1e-6) |
Definition at line 188 of file ik_pr2_rightarm.cpp.
Definition at line 59 of file ik_pr2_rightarm.cpp.
Definition at line 60 of file ik_pr2_rightarm.cpp.
typedef double IKReal |
Definition at line 98 of file ik_pr2_rightarm.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 void fk | ( | 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 289 of file ik_pr2_rightarm.cpp.
IKFAST_API int* getFreeParameters | ( | ) |
Definition at line 375 of file ik_pr2_rightarm.cpp.
IKFAST_API const char* getIKFastVersion | ( | ) |
Definition at line 3591 of file ik_pr2_rightarm.cpp.
IKFAST_API int getIKRealSize | ( | ) |
Definition at line 378 of file ik_pr2_rightarm.cpp.
IKFAST_API int getIKType | ( | ) |
Definition at line 380 of file ik_pr2_rightarm.cpp.
IKFAST_API const char* getKinematicsHash | ( | ) |
Definition at line 3589 of file ik_pr2_rightarm.cpp.
IKFAST_API int getNumFreeParameters | ( | ) |
Definition at line 374 of file ik_pr2_rightarm.cpp.
IKFAST_API int getNumJoints | ( | ) |
Definition at line 376 of file ik_pr2_rightarm.cpp.
IKFAST_API bool ik | ( | const IKReal * | eetrans, |
const IKReal * | eerot, | ||
const IKReal * | pfree, | ||
std::vector< IKSolution > & | vsolutions | ||
) |
solves the inverse kinematics equations.
pfree | is an array specifying the free joints of the chain. |
Definition at line 3584 of file ik_pr2_rightarm.cpp.
Definition at line 167 of file ik_pr2_rightarm.cpp.
double IKabs | ( | double | f | ) | [inline] |
Definition at line 168 of file ik_pr2_rightarm.cpp.
Definition at line 224 of file ik_pr2_rightarm.cpp.
double IKacos | ( | double | f | ) | [inline] |
Definition at line 231 of file ik_pr2_rightarm.cpp.
Definition at line 191 of file ik_pr2_rightarm.cpp.
double IKasin | ( | double | f | ) | [inline] |
Definition at line 198 of file ik_pr2_rightarm.cpp.
double IKatan2 | ( | double | fy, |
double | fx | ||
) | [inline] |
Definition at line 256 of file ik_pr2_rightarm.cpp.
Definition at line 240 of file ik_pr2_rightarm.cpp.
double IKcos | ( | double | f | ) | [inline] |
Definition at line 241 of file ik_pr2_rightarm.cpp.
Definition at line 216 of file ik_pr2_rightarm.cpp.
Definition at line 173 of file ik_pr2_rightarm.cpp.
double IKlog | ( | double | f | ) | [inline] |
Definition at line 174 of file ik_pr2_rightarm.cpp.
Definition at line 267 of file ik_pr2_rightarm.cpp.
double IKsign | ( | double | f | ) | [inline] |
Definition at line 277 of file ik_pr2_rightarm.cpp.
Definition at line 238 of file ik_pr2_rightarm.cpp.
double IKsin | ( | double | f | ) | [inline] |
Definition at line 239 of file ik_pr2_rightarm.cpp.
Definition at line 170 of file ik_pr2_rightarm.cpp.
double IKsqr | ( | double | f | ) | [inline] |
Definition at line 171 of file ik_pr2_rightarm.cpp.
Definition at line 244 of file ik_pr2_rightarm.cpp.
double IKsqrt | ( | double | f | ) | [inline] |
Definition at line 245 of file ik_pr2_rightarm.cpp.
Definition at line 242 of file ik_pr2_rightarm.cpp.
double IKtan | ( | double | f | ) | [inline] |
Definition at line 243 of file ik_pr2_rightarm.cpp.
int main | ( | int | argc, |
char ** | argv | ||
) |
Definition at line 3603 of file ik_pr2_rightarm.cpp.
void zgetrf_ | ( | const int * | m, |
const int * | n, | ||
std::complex< double > * | a, | ||
const int * | lda, | ||
int * | ipiv, | ||
int * | info | ||
) |