#include <cmath>
#include <vector>
#include <limits>
#include <algorithm>
#include <complex>
#include <stdexcept>
#include <sstream>
#include <stdio.h>
#include <stdlib.h>
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 __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 45 generated on 2011-12-29 13:28:12.783260 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 sia10d_mesh_manipulator_ikfast_output.cpp.
Definition at line 55 of file sia10d_mesh_manipulator_ikfast_plugin.cpp.
#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
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-12-29 13:28:12.783260 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 sia10d_mesh_manipulator_ikfast_plugin.cpp.
#define IKFAST_API |
#define IKFAST_API |
Definition at line 73 of file sia10d_mesh_manipulator_ikfast_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 sia10d_mesh_manipulator_ikfast_output.cpp.
#define IKFAST_SINCOS_THRESH ((IKReal)0.000001) |
Definition at line 142 of file sia10d_mesh_manipulator_ikfast_output.cpp.
Definition at line 56 of file sia10d_mesh_manipulator_ikfast_plugin.cpp.
Definition at line 57 of file sia10d_mesh_manipulator_ikfast_plugin.cpp.
typedef double IKReal |
Definition at line 94 of file sia10d_mesh_manipulator_ikfast_output.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 243 of file sia10d_mesh_manipulator_ikfast_output.cpp.
IKFAST_API int* getFreeParameters | ( | ) |
Definition at line 335 of file sia10d_mesh_manipulator_ikfast_output.cpp.
IKFAST_API int getIKRealSize | ( | ) |
Definition at line 338 of file sia10d_mesh_manipulator_ikfast_output.cpp.
IKFAST_API int getIKType | ( | ) |
Definition at line 340 of file sia10d_mesh_manipulator_ikfast_output.cpp.
IKFAST_API const char* getKinematicsHash | ( | ) |
Definition at line 2014 of file sia10d_mesh_manipulator_ikfast_output.cpp.
IKFAST_API int getNumFreeParameters | ( | ) |
Definition at line 334 of file sia10d_mesh_manipulator_ikfast_output.cpp.
IKFAST_API int getNumJoints | ( | ) |
Definition at line 336 of file sia10d_mesh_manipulator_ikfast_output.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 2009 of file sia10d_mesh_manipulator_ikfast_output.cpp.
float IKabs | ( | float | f | ) | [inline] |
Definition at line 135 of file sia10d_mesh_manipulator_ikfast_output.cpp.
double IKabs | ( | double | f | ) | [inline] |
Definition at line 136 of file sia10d_mesh_manipulator_ikfast_output.cpp.
float IKacos | ( | float | f | ) | [inline] |
Definition at line 178 of file sia10d_mesh_manipulator_ikfast_output.cpp.
double IKacos | ( | double | f | ) | [inline] |
Definition at line 185 of file sia10d_mesh_manipulator_ikfast_output.cpp.
float IKasin | ( | float | f | ) | [inline] |
Definition at line 145 of file sia10d_mesh_manipulator_ikfast_output.cpp.
double IKasin | ( | double | f | ) | [inline] |
Definition at line 152 of file sia10d_mesh_manipulator_ikfast_output.cpp.
float IKatan2 | ( | float | fy, |
float | fx | ||
) | [inline] |
Definition at line 200 of file sia10d_mesh_manipulator_ikfast_output.cpp.
double IKatan2 | ( | double | fy, |
double | fx | ||
) | [inline] |
Definition at line 210 of file sia10d_mesh_manipulator_ikfast_output.cpp.
float IKcos | ( | float | f | ) | [inline] |
Definition at line 194 of file sia10d_mesh_manipulator_ikfast_output.cpp.
double IKcos | ( | double | f | ) | [inline] |
Definition at line 195 of file sia10d_mesh_manipulator_ikfast_output.cpp.
float IKfmod | ( | float | x, |
float | y | ||
) | [inline] |
Definition at line 161 of file sia10d_mesh_manipulator_ikfast_output.cpp.
float IKfmod | ( | double | x, |
double | y | ||
) | [inline] |
Definition at line 170 of file sia10d_mesh_manipulator_ikfast_output.cpp.
float IKlog | ( | float | f | ) | [inline] |
Definition at line 138 of file sia10d_mesh_manipulator_ikfast_output.cpp.
double IKlog | ( | double | f | ) | [inline] |
Definition at line 139 of file sia10d_mesh_manipulator_ikfast_output.cpp.
float IKsign | ( | float | f | ) | [inline] |
Definition at line 221 of file sia10d_mesh_manipulator_ikfast_output.cpp.
double IKsign | ( | double | f | ) | [inline] |
Definition at line 231 of file sia10d_mesh_manipulator_ikfast_output.cpp.
float IKsin | ( | float | f | ) | [inline] |
Definition at line 192 of file sia10d_mesh_manipulator_ikfast_output.cpp.
double IKsin | ( | double | f | ) | [inline] |
Definition at line 193 of file sia10d_mesh_manipulator_ikfast_output.cpp.
float IKsqrt | ( | float | f | ) | [inline] |
Definition at line 198 of file sia10d_mesh_manipulator_ikfast_output.cpp.
double IKsqrt | ( | double | f | ) | [inline] |
Definition at line 199 of file sia10d_mesh_manipulator_ikfast_output.cpp.
float IKtan | ( | float | f | ) | [inline] |
Definition at line 196 of file sia10d_mesh_manipulator_ikfast_output.cpp.
double IKtan | ( | double | f | ) | [inline] |
Definition at line 197 of file sia10d_mesh_manipulator_ikfast_output.cpp.
int main | ( | int | argc, |
char ** | argv | ||
) |
Definition at line 2026 of file sia10d_mesh_manipulator_ikfast_output.cpp.
void zgetrf_ | ( | const int * | m, |
const int * | n, | ||
std::complex< double > * | a, | ||
const int * | lda, | ||
int * | ipiv, | ||
int * | info | ||
) |