moveit2
The MoveIt Motion Planning Framework for ROS 2.
Loading...
Searching...
No Matches
Classes | Functions
unittest_trajectory_generator_circ.cpp File Reference
#include <memory>
#include <gtest/gtest.h>
#include <moveit/kinematic_constraints/utils.h>
#include <moveit/robot_model/robot_model.h>
#include <moveit/robot_model_loader/robot_model_loader.h>
#include <moveit/robot_state/conversions.h>
#include <tf2_eigen/tf2_eigen.hpp>
#include <tf2_geometry_msgs/tf2_geometry_msgs.hpp>
#include <pilz_industrial_motion_planner/joint_limits_aggregator.h>
#include <pilz_industrial_motion_planner/trajectory_generator_circ.h>
#include <pilz_industrial_motion_planner_testutils/command_types_typedef.h>
#include <pilz_industrial_motion_planner_testutils/xml_testdata_loader.h>
#include "test_utils.h"
#include <rclcpp/rclcpp.hpp>
Include dependency graph for unittest_trajectory_generator_circ.cpp:

Go to the source code of this file.

Classes

class  TrajectoryGeneratorCIRCTest
 

Functions

 TEST_F (TrajectoryGeneratorCIRCTest, TestExceptionErrorCodeMapping)
 Checks that each derived MoveItErrorCodeException contains the correct error code.
 
 TEST_F (TrajectoryGeneratorCIRCTest, nonZeroStartVelocity)
 test invalid motion plan request with non zero start velocity
 
 TEST_F (TrajectoryGeneratorCIRCTest, ValidCommand)
 
 TEST_F (TrajectoryGeneratorCIRCTest, velScaleToHigh)
 Generate invalid circ with to high vel scaling.
 
 TEST_F (TrajectoryGeneratorCIRCTest, accScaleToHigh)
 Generate invalid circ with to high acc scaling.
 
 TEST_F (TrajectoryGeneratorCIRCTest, samePointsWithCenter)
 Use three points (with center) with a really small distance between to trigger a internal throw from KDL.
 
 TEST_F (TrajectoryGeneratorCIRCTest, samePointsWithInterim)
 Use three points (with interim) with a really small distance between.
 
 TEST_F (TrajectoryGeneratorCIRCTest, emptyAux)
 test invalid motion plan request with no aux point defined
 
 TEST_F (TrajectoryGeneratorCIRCTest, invalidAuxName)
 test invalid motion plan request with no aux name defined
 
 TEST_F (TrajectoryGeneratorCIRCTest, invalidAuxLinkName)
 test invalid motion plan request with invalid link name in the auxiliary point
 
 TEST_F (TrajectoryGeneratorCIRCTest, invalidCenter)
 test the circ planner with invalid center point
 
 TEST_F (TrajectoryGeneratorCIRCTest, colinearCenter)
 test the circ planner with colinear start/goal/center position
 
 TEST_F (TrajectoryGeneratorCIRCTest, colinearInterim)
 test the circ planner with colinear start/goal/interim position
 
 TEST_F (TrajectoryGeneratorCIRCTest, colinearCenterDueToInterim)
 test the circ planner with half circle with interim point
 
 TEST_F (TrajectoryGeneratorCIRCTest, colinearCenterAndInterim)
 test the circ planner with colinear start/center/interim positions
 
 TEST_F (TrajectoryGeneratorCIRCTest, interimLarger180Degree)
 test the circ planner with a circ path where the angle between goal and interim is larger than 180 degree
 
 TEST_F (TrajectoryGeneratorCIRCTest, centerPointJointGoal)
 test the circ planner with center point and joint goal
 
 TEST_F (TrajectoryGeneratorCIRCTest, InvalidAdditionalPrimitivePose)
 A valid circ request contains a helping point (interim or center), in this test a additional point is defined as an invalid test case.
 
 TEST_F (TrajectoryGeneratorCIRCTest, InvalidExtraJointConstraint)
 Joint Goals are expected to match the start state in number and joint_names Here an additional joint constraints is "falsely" defined to check for the error.
 
 TEST_F (TrajectoryGeneratorCIRCTest, CenterPointPoseGoal)
 test the circ planner with center point and pose goal
 
 TEST_F (TrajectoryGeneratorCIRCTest, CenterPointPoseGoalFrameIdPositionConstraints)
 Set a frame id only on the position constraints.
 
 TEST_F (TrajectoryGeneratorCIRCTest, CenterPointPoseGoalFrameIdOrientationConstraints)
 Set a frame id only on the orientation constraints.
 
 TEST_F (TrajectoryGeneratorCIRCTest, CenterPointPoseGoalFrameIdBothConstraints)
 Set a frame_id on both position and orientation constraints.
 
 TEST_F (TrajectoryGeneratorCIRCTest, InterimPointJointGoal)
 test the circ planner with interim point with joint goal
 
 TEST_F (TrajectoryGeneratorCIRCTest, InterimPointJointGoalStartVelNearZero)
 test the circ planner with interim point with joint goal and a close to zero velocity of the start state
 
 TEST_F (TrajectoryGeneratorCIRCTest, InterimPointPoseGoal)
 test the circ planner with interim point with pose goal
 
int main (int argc, char **argv)
 

Function Documentation

◆ main()

int main ( int  argc,
char **  argv 
)

Definition at line 737 of file unittest_trajectory_generator_circ.cpp.

◆ TEST_F() [1/26]

TEST_F ( TrajectoryGeneratorCIRCTest  ,
accScaleToHigh   
)

Generate invalid circ with to high acc scaling.

Definition at line 313 of file unittest_trajectory_generator_circ.cpp.

◆ TEST_F() [2/26]

TEST_F ( TrajectoryGeneratorCIRCTest  ,
centerPointJointGoal   
)

test the circ planner with center point and joint goal

Definition at line 561 of file unittest_trajectory_generator_circ.cpp.

◆ TEST_F() [3/26]

TEST_F ( TrajectoryGeneratorCIRCTest  ,
CenterPointPoseGoal   
)

test the circ planner with center point and pose goal

Definition at line 623 of file unittest_trajectory_generator_circ.cpp.

◆ TEST_F() [4/26]

TEST_F ( TrajectoryGeneratorCIRCTest  ,
CenterPointPoseGoalFrameIdBothConstraints   
)

Set a frame_id on both position and orientation constraints.

Definition at line 671 of file unittest_trajectory_generator_circ.cpp.

◆ TEST_F() [5/26]

TEST_F ( TrajectoryGeneratorCIRCTest  ,
CenterPointPoseGoalFrameIdOrientationConstraints   
)

Set a frame id only on the orientation constraints.

Definition at line 655 of file unittest_trajectory_generator_circ.cpp.

◆ TEST_F() [6/26]

TEST_F ( TrajectoryGeneratorCIRCTest  ,
CenterPointPoseGoalFrameIdPositionConstraints   
)

Set a frame id only on the position constraints.

Definition at line 638 of file unittest_trajectory_generator_circ.cpp.

◆ TEST_F() [7/26]

TEST_F ( TrajectoryGeneratorCIRCTest  ,
colinearCenter   
)

test the circ planner with colinear start/goal/center position

Expected: Planning should fail since the path is not uniquely defined.

Definition at line 436 of file unittest_trajectory_generator_circ.cpp.

◆ TEST_F() [8/26]

TEST_F ( TrajectoryGeneratorCIRCTest  ,
colinearCenterAndInterim   
)

test the circ planner with colinear start/center/interim positions

The request contains start/interim/goal such that start, center (not explicitly given) and interim are colinear. In case the interim is used as auxiliary point for KDL::Path_Circle this should fail.

Expected: Planning should successfully return.

Definition at line 500 of file unittest_trajectory_generator_circ.cpp.

◆ TEST_F() [9/26]

TEST_F ( TrajectoryGeneratorCIRCTest  ,
colinearCenterDueToInterim   
)

test the circ planner with half circle with interim point

The request contains start/interim/goal such that start, center (not explicitly given) and goal are colinear

Expected: Planning should successfully return.

Definition at line 480 of file unittest_trajectory_generator_circ.cpp.

◆ TEST_F() [10/26]

TEST_F ( TrajectoryGeneratorCIRCTest  ,
colinearInterim   
)

test the circ planner with colinear start/goal/interim position

Expected: Planning should fail. These positions do not even represent a circle.

Definition at line 457 of file unittest_trajectory_generator_circ.cpp.

◆ TEST_F() [11/26]

TEST_F ( TrajectoryGeneratorCIRCTest  ,
emptyAux   
)

test invalid motion plan request with no aux point defined

Definition at line 371 of file unittest_trajectory_generator_circ.cpp.

◆ TEST_F() [12/26]

TEST_F ( TrajectoryGeneratorCIRCTest  ,
interimLarger180Degree   
)

test the circ planner with a circ path where the angle between goal and interim is larger than 180 degree

The request contains start/interim/goal such that 180 degree < interim angle < goal angle.

Expected: Planning should successfully return.

Definition at line 533 of file unittest_trajectory_generator_circ.cpp.

◆ TEST_F() [13/26]

TEST_F ( TrajectoryGeneratorCIRCTest  ,
InterimPointJointGoal   
)

test the circ planner with interim point with joint goal

Definition at line 690 of file unittest_trajectory_generator_circ.cpp.

◆ TEST_F() [14/26]

TEST_F ( TrajectoryGeneratorCIRCTest  ,
InterimPointJointGoalStartVelNearZero   
)

test the circ planner with interim point with joint goal and a close to zero velocity of the start state

The generator is expected to be robust against a velocity being almost zero.

Definition at line 708 of file unittest_trajectory_generator_circ.cpp.

◆ TEST_F() [15/26]

TEST_F ( TrajectoryGeneratorCIRCTest  ,
InterimPointPoseGoal   
)

test the circ planner with interim point with pose goal

Definition at line 726 of file unittest_trajectory_generator_circ.cpp.

◆ TEST_F() [16/26]

TEST_F ( TrajectoryGeneratorCIRCTest  ,
InvalidAdditionalPrimitivePose   
)

A valid circ request contains a helping point (interim or center), in this test a additional point is defined as an invalid test case.

Definition at line 577 of file unittest_trajectory_generator_circ.cpp.

◆ TEST_F() [17/26]

TEST_F ( TrajectoryGeneratorCIRCTest  ,
invalidAuxLinkName   
)

test invalid motion plan request with invalid link name in the auxiliary point

Definition at line 404 of file unittest_trajectory_generator_circ.cpp.

◆ TEST_F() [18/26]

TEST_F ( TrajectoryGeneratorCIRCTest  ,
invalidAuxName   
)

test invalid motion plan request with no aux name defined

Definition at line 387 of file unittest_trajectory_generator_circ.cpp.

◆ TEST_F() [19/26]

TEST_F ( TrajectoryGeneratorCIRCTest  ,
invalidCenter   
)

test the circ planner with invalid center point

Definition at line 420 of file unittest_trajectory_generator_circ.cpp.

◆ TEST_F() [20/26]

TEST_F ( TrajectoryGeneratorCIRCTest  ,
InvalidExtraJointConstraint   
)

Joint Goals are expected to match the start state in number and joint_names Here an additional joint constraints is "falsely" defined to check for the error.

Definition at line 604 of file unittest_trajectory_generator_circ.cpp.

◆ TEST_F() [21/26]

TEST_F ( TrajectoryGeneratorCIRCTest  ,
nonZeroStartVelocity   
)

test invalid motion plan request with non zero start velocity

Definition at line 276 of file unittest_trajectory_generator_circ.cpp.

◆ TEST_F() [22/26]

TEST_F ( TrajectoryGeneratorCIRCTest  ,
samePointsWithCenter   
)

Use three points (with center) with a really small distance between to trigger a internal throw from KDL.

Definition at line 327 of file unittest_trajectory_generator_circ.cpp.

◆ TEST_F() [23/26]

TEST_F ( TrajectoryGeneratorCIRCTest  ,
samePointsWithInterim   
)

Use three points (with interim) with a really small distance between.

Expected: Planning should fail.

Definition at line 350 of file unittest_trajectory_generator_circ.cpp.

◆ TEST_F() [24/26]

TEST_F ( TrajectoryGeneratorCIRCTest  ,
TestExceptionErrorCodeMapping   
)

Checks that each derived MoveItErrorCodeException contains the correct error code.

Definition at line 220 of file unittest_trajectory_generator_circ.cpp.

◆ TEST_F() [25/26]

TEST_F ( TrajectoryGeneratorCIRCTest  ,
ValidCommand   
)

Definition at line 288 of file unittest_trajectory_generator_circ.cpp.

◆ TEST_F() [26/26]

TEST_F ( TrajectoryGeneratorCIRCTest  ,
velScaleToHigh   
)

Generate invalid circ with to high vel scaling.

Definition at line 300 of file unittest_trajectory_generator_circ.cpp.