43 return sqrt(pow(pose1.position.x - pose2.position.x, 2)
44 + pow(pose1.position.y - pose2.position.y, 2)
45 + pow(pose1.position.z - pose2.position.z, 2));
50 rotation1.normalize();
52 rotation2.normalize();
53 return rotation1.angularDistance(rotation2);
57 const double position_threshold,
const double orientation_rad_threshold) {
64 return position_threshold > distance_position;
69 return orientation_rad_threshold > distance_orientation_rad;
static void resetInstance()
bool checkOrientationsAreApproxEquale(const geometry_msgs::Pose &pose1, const geometry_msgs::Pose &pose2, const double orientation_rad_threshold)
static boost::shared_ptr< PoseHelper > getInstance()
double calcDistancePositionEucl(const geometry_msgs::Pose &pose1, const geometry_msgs::Pose &pose2)
static boost::shared_ptr< PoseHelper > instance_ptr_
Eigen::Quaterniond convertPoseQuatToQuat(const geometry_msgs::Pose &pose)
bool checkPositionsAreApproxEquale(const geometry_msgs::Pose &pose1, const geometry_msgs::Pose &pose2, const double position_threshold)
bool checkPosesAreApproxEquale(const geometry_msgs::Pose &pose1, const geometry_msgs::Pose &pose2, const double position_threshold, const double orientation_rad_threshold)
boost::shared_ptr< PoseHelper > PoseHelperPtr
double calcAngularDistanceInRad(const geometry_msgs::Pose &pose1, const geometry_msgs::Pose &pose2)