#include <opw_kinematics/opw_macros.h>
#include <gtest/gtest.h>
#include <array>
#include "ikfast.h"
#include "opw_kinematics/opw_kinematics.h"
#include "opw_kinematics/opw_parameters_examples.h"
Go to the source code of this file.
Classes | |
struct | PoseGenerator |
Typedefs | |
using | Transform = opw_kinematics::Transform< double > |
Functions | |
void | compare (ikfast::IkSolutionList< double > &ikf, std::array< double, 6 *8 > &opw) |
size_t | countValidSolutions (const std::array< double, 6 *8 > &opw) |
bool | findSolInSet (const std::vector< double > &s, const std::array< double, 6 *8 > &opw) |
int | main (int argc, char **argv) |
static double | normalize_angle (double angle) |
normalize More... | |
static double | normalize_angle_positive (double angle) |
normalize_angle_positive More... | |
void | printResults (const std::array< double, 6 *8 > &sols) |
static double | shortest_angular_distance (double from, double to) |
shortest_angular_distance More... | |
void | solveIKFast (const Transform &p, ikfast::IkSolutionList< double > &sols) |
void | solveOPW (const opw_kinematics::Parameters< double > ¶m, const Transform &p, std::array< double, 6 *8 > &sols) |
TEST (ikfast_to_opw, similar_solutions) | |
using Transform = opw_kinematics::Transform<double> |
Definition at line 11 of file abb2400_ikfast_tests.cpp.
void compare | ( | ikfast::IkSolutionList< double > & | ikf, |
std::array< double, 6 *8 > & | opw | ||
) |
Definition at line 163 of file abb2400_ikfast_tests.cpp.
size_t countValidSolutions | ( | const std::array< double, 6 *8 > & | opw | ) |
Definition at line 64 of file abb2400_ikfast_tests.cpp.
bool findSolInSet | ( | const std::vector< double > & | s, |
const std::array< double, 6 *8 > & | opw | ||
) |
Definition at line 130 of file abb2400_ikfast_tests.cpp.
int main | ( | int | argc, |
char ** | argv | ||
) |
Definition at line 219 of file abb2400_ikfast_tests.cpp.
|
inlinestatic |
normalize
Normalizes the angle to be -M_PI circle to +M_PI circle It takes and returns radians.
Definition at line 103 of file abb2400_ikfast_tests.cpp.
|
inlinestatic |
normalize_angle_positive
Normalizes the angle to be 0 to 2*M_PI It takes and returns radians.
Definition at line 90 of file abb2400_ikfast_tests.cpp.
void printResults | ( | const std::array< double, 6 *8 > & | sols | ) |
Definition at line 152 of file abb2400_ikfast_tests.cpp.
|
inlinestatic |
shortest_angular_distance
Given 2 angles, this returns the shortest angular difference. The inputs and ouputs are of course radians.
The result would always be -pi <= result <= pi. Adding the result to "from" will always get you an equivelent angle to "to".
Definition at line 124 of file abb2400_ikfast_tests.cpp.
void solveIKFast | ( | const Transform & | p, |
ikfast::IkSolutionList< double > & | sols | ||
) |
Definition at line 37 of file abb2400_ikfast_tests.cpp.
void solveOPW | ( | const opw_kinematics::Parameters< double > & | param, |
const Transform & | p, | ||
std::array< double, 6 *8 > & | sols | ||
) |
Definition at line 58 of file abb2400_ikfast_tests.cpp.
TEST | ( | ikfast_to_opw | , |
similar_solutions | |||
) |
Definition at line 191 of file abb2400_ikfast_tests.cpp.