moveit2
The MoveIt Motion Planning Framework for ROS 2.
|
#include "ikfast.h"
#include <cmath>
#include <vector>
#include <limits>
#include <algorithm>
#include <complex>
#include <stdexcept>
#include <sstream>
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
Go to the source code of this file.
Classes | |
struct | CheckValue< T > |
class | IKSolver |
Macros | |
#define | IKFAST_HAS_LIBRARY |
#define | __PRETTY_FUNCTION__ __func__ |
#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_ALIGNED16(x) x __attribute((aligned(16))) |
#define | IK2PI ((IkReal)6.28318530717959) |
#define | IKPI ((IkReal)3.14159265358979) |
#define | IKPI_2 ((IkReal)1.57079632679490) |
#define | IKFAST_SINCOS_THRESH ((IkReal)1e-7) |
#define | IKFAST_ATAN2_MAGTHRESH ((IkReal)1e-7) |
#define | IKFAST_SOLUTION_THRESH ((IkReal)1e-6) |
#define | IKFAST_EVALCOND_THRESH ((IkReal)0.00001) |
Functions | |
float | IKabs (float f) |
double | IKabs (double f) |
float | IKsqr (float f) |
double | IKsqr (double f) |
float | IKlog (float f) |
double | IKlog (double f) |
float | IKasin (float f) |
double | IKasin (double f) |
float | IKfmod (float x, float y) |
double | IKfmod (double x, double y) |
float | IKacos (float f) |
double | IKacos (double f) |
float | IKsin (float f) |
double | IKsin (double f) |
float | IKcos (float f) |
double | IKcos (double f) |
float | IKtan (float f) |
double | IKtan (double f) |
float | IKsqrt (float f) |
double | IKsqrt (double f) |
float | IKatan2Simple (float fy, float fx) |
float | IKatan2 (float fy, float fx) |
double | IKatan2Simple (double fy, double fx) |
double | IKatan2 (double fy, double fx) |
template<typename T > | |
CheckValue< T > | IKatan2WithCheck (T fy, T fx, T) |
float | IKsign (float f) |
double | IKsign (double f) |
template<typename T > | |
CheckValue< T > | IKPowWithIntegerCheck (T f, int n) |
IKFAST_API void | ComputeFk (const IkReal *j, IkReal *eetrans, IkReal *eerot) |
IKFAST_API int | GetNumFreeParameters () |
IKFAST_API int * | GetFreeParameters () |
IKFAST_API int | GetNumJoints () |
IKFAST_API int | GetIkRealSize () |
IKFAST_API int | GetIkType () |
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 *) |
IKFAST_API const char * | GetKinematicsHash () |
IKFAST_API const char * | GetIkFastVersion () |
int | main (int argc, char **argv) |
#define __PRETTY_FUNCTION__ __func__ |
Definition at line 49 of file prbt_manipulator_ikfast_solver.cpp.
#define IK2PI ((IkReal)6.28318530717959) |
Definition at line 62 of file prbt_manipulator_ikfast_solver.cpp.
#define IKFAST_ALIGNED16 | ( | x | ) | x __attribute((aligned(16))) |
Definition at line 59 of file prbt_manipulator_ikfast_solver.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 52 of file prbt_manipulator_ikfast_solver.cpp.
#define IKFAST_ATAN2_MAGTHRESH ((IkReal)1e-7) |
Definition at line 100 of file prbt_manipulator_ikfast_solver.cpp.
#define IKFAST_EVALCOND_THRESH ((IkReal)0.00001) |
Definition at line 110 of file prbt_manipulator_ikfast_solver.cpp.
#define IKFAST_HAS_LIBRARY |
Modifications by Pilz GmbH & Co. KG Copyright (c) 2018 Pilz GmbH & Co. KG
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 0x1000004a generated on 2018-02-13 15:06:40.059924 Generated using solver transform6d 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 24 of file prbt_manipulator_ikfast_solver.cpp.
#define IKFAST_SINCOS_THRESH ((IkReal)1e-7) |
Definition at line 95 of file prbt_manipulator_ikfast_solver.cpp.
#define IKFAST_SOLUTION_THRESH ((IkReal)1e-6) |
Definition at line 105 of file prbt_manipulator_ikfast_solver.cpp.
#define IKPI ((IkReal)3.14159265358979) |
Definition at line 63 of file prbt_manipulator_ikfast_solver.cpp.
#define IKPI_2 ((IkReal)1.57079632679490) |
Definition at line 64 of file prbt_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 292 of file prbt_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 20053 of file prbt_manipulator_ikfast_solver.cpp.
IKFAST_API bool ComputeIk2 | ( | const IkReal * | eetrans, |
const IkReal * | eerot, | ||
const IkReal * | pfree, | ||
IkSolutionListBase< IkReal > & | solutions, | ||
void * | |||
) |
Definition at line 20058 of file prbt_manipulator_ikfast_solver.cpp.
IKFAST_API int * GetFreeParameters | ( | ) |
Definition at line 358 of file prbt_manipulator_ikfast_solver.cpp.
IKFAST_API const char * GetIkFastVersion | ( | ) |
Definition at line 20065 of file prbt_manipulator_ikfast_solver.cpp.
IKFAST_API int GetIkRealSize | ( | ) |
Definition at line 361 of file prbt_manipulator_ikfast_solver.cpp.
IKFAST_API int GetIkType | ( | ) |
Definition at line 363 of file prbt_manipulator_ikfast_solver.cpp.
IKFAST_API const char * GetKinematicsHash | ( | ) |
Definition at line 20063 of file prbt_manipulator_ikfast_solver.cpp.
IKFAST_API int GetNumFreeParameters | ( | ) |
Definition at line 357 of file prbt_manipulator_ikfast_solver.cpp.
IKFAST_API int GetNumJoints | ( | ) |
Definition at line 359 of file prbt_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 85 of file prbt_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 84 of file prbt_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 154 of file prbt_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 147 of file prbt_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 121 of file prbt_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 114 of file prbt_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 185 of file prbt_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 172 of file prbt_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 182 of file prbt_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 169 of file prbt_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 204 of file prbt_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 164 of file prbt_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 163 of file prbt_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 139 of file prbt_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 130 of file prbt_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 91 of file prbt_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 90 of file prbt_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 239 of file prbt_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 228 of file prbt_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 218 of file prbt_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 162 of file prbt_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 161 of file prbt_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 88 of file prbt_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 87 of file prbt_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 168 of file prbt_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 167 of file prbt_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 166 of file prbt_manipulator_ikfast_solver.cpp.
|
inline |
Definition at line 165 of file prbt_manipulator_ikfast_solver.cpp.
int main | ( | int | argc, |
char ** | argv | ||
) |
Definition at line 20077 of file prbt_manipulator_ikfast_solver.cpp.