Classes | Typedefs | Functions | Variables
integrationtest_prbt_ikfast_manipulator_plugin.cpp File Reference
#include <ros/ros.h>
#include <gtest/gtest.h>
#include <pluginlib/class_loader.h>
#include <moveit/kinematics_base/kinematics_base.h>
#include <moveit/robot_model_loader/robot_model_loader.h>
#include <moveit/robot_model/robot_model.h>
Include dependency graph for integrationtest_prbt_ikfast_manipulator_plugin.cpp:

Go to the source code of this file.

Classes

class  PrbtIKFastPluginTest
 Initializes the test of the IKFast plugin. More...
 

Typedefs

typedef pluginlib::ClassLoader< kinematics::KinematicsBaseKinematicsLoader
 
typedef std::vector< double > Vec1D
 
typedef std::vector< Vec1DVec2D
 

Functions

int main (int argc, char **argv)
 
std::ostream & operator<< (std::ostream &os, const geometry_msgs::Pose &pose)
 Overload ostream operator for robot poses. More...
 
std::ostream & operator<< (std::ostream &os, const Vec1D &vec)
 Overload ostream operator for double vectors. More...
 
double singularPoseJointFormula (double joint1)
 Computes joint2 from joint1 such that singular position with px,py=0 is reached. More...
 
 TEST_F (PrbtIKFastPluginTest, testSingularities)
 Tests if the IKFast plugin can solve the IK problem for specific singular poses. More...
 

Variables

static constexpr double DEFAULT_SEARCH_DISCRETIZATION { 0.01 }
 
static const std::string GROUP_PARAM { "group" }
 
static constexpr double IKFAST_TOLERANCE { 0.001 }
 
static const std::string JOINT_NAMES_PARAM { "joint_names" }
 
static const std::string KINEMATICS_BASE_CLASS { "kinematics::KinematicsBase" }
 
static constexpr double L1 { 0.3500 }
 
static constexpr double L2 { 0.3070 }
 
static const std::string MOVEIT_CORE_PACKAGE { "moveit_core" }
 
static constexpr unsigned int NUM_JOINTS { 6 }
 
static const std::string PLUGIN_NAME_PARAM { "ik_plugin_name" }
 
static const std::string ROBOT_DESCRIPTION_PARAM { "robot_description" }
 
static const std::string ROOT_LINK_PARAM { "root_link" }
 
static const std::string TIP_LINK_PARAM { "tip_link" }
 

Typedef Documentation

◆ KinematicsLoader

◆ Vec1D

typedef std::vector<double> Vec1D

◆ Vec2D

typedef std::vector<Vec1D> Vec2D

Function Documentation

◆ main()

int main ( int  argc,
char **  argv 
)

◆ operator<<() [1/2]

std::ostream& operator<< ( std::ostream &  os,
const geometry_msgs::Pose pose 
)

Overload ostream operator for robot poses.

Definition at line 52 of file integrationtest_prbt_ikfast_manipulator_plugin.cpp.

◆ operator<<() [2/2]

std::ostream& operator<< ( std::ostream &  os,
const Vec1D vec 
)

Overload ostream operator for double vectors.

Definition at line 33 of file integrationtest_prbt_ikfast_manipulator_plugin.cpp.

◆ singularPoseJointFormula()

double singularPoseJointFormula ( double  joint1)

Computes joint2 from joint1 such that singular position with px,py=0 is reached.

Definition at line 64 of file integrationtest_prbt_ikfast_manipulator_plugin.cpp.

◆ TEST_F()

TEST_F ( PrbtIKFastPluginTest  ,
testSingularities   
)

Tests if the IKFast plugin can solve the IK problem for specific singular poses.

Test Sequence:

  1. Define a set of test joint angles. Perform the following steps for all data.
  2. Compute pose via forward kinematics.
  3. Solve IK problem.
  4. Compute deviation of solutions to the test joint angles.

Expected Results:

  1. -
  2. One pose is obtained.
  3. At least one solution is obtained.
  4. At least one solution is close to the test joint angles.

Definition at line 145 of file integrationtest_prbt_ikfast_manipulator_plugin.cpp.

Variable Documentation

◆ DEFAULT_SEARCH_DISCRETIZATION

constexpr double DEFAULT_SEARCH_DISCRETIZATION { 0.01 }
staticconstexpr

◆ GROUP_PARAM

const std::string GROUP_PARAM { "group" }
static

◆ IKFAST_TOLERANCE

constexpr double IKFAST_TOLERANCE { 0.001 }
staticconstexpr

◆ JOINT_NAMES_PARAM

const std::string JOINT_NAMES_PARAM { "joint_names" }
static

◆ KINEMATICS_BASE_CLASS

const std::string KINEMATICS_BASE_CLASS { "kinematics::KinematicsBase" }
static

◆ L1

constexpr double L1 { 0.3500 }
staticconstexpr

◆ L2

constexpr double L2 { 0.3070 }
staticconstexpr

◆ MOVEIT_CORE_PACKAGE

const std::string MOVEIT_CORE_PACKAGE { "moveit_core" }
static

◆ NUM_JOINTS

constexpr unsigned int NUM_JOINTS { 6 }
staticconstexpr

◆ PLUGIN_NAME_PARAM

const std::string PLUGIN_NAME_PARAM { "ik_plugin_name" }
static

◆ ROBOT_DESCRIPTION_PARAM

const std::string ROBOT_DESCRIPTION_PARAM { "robot_description" }
static

◆ ROOT_LINK_PARAM

const std::string ROOT_LINK_PARAM { "root_link" }
static

◆ TIP_LINK_PARAM

const std::string TIP_LINK_PARAM { "tip_link" }
static


prbt_moveit_config
Author(s):
autogenerated on Sat Nov 25 2023 03:51:57