7 #include <Eigen/Geometry>
9 #include <geometry_msgs/Pose.h>
10 #include <geometry_msgs/Quaternion.h>
11 #include <geometry_msgs/Vector3.h>
12 #include <geometry_msgs/TransformStamped.h>
14 #include <moveit_msgs/BoundingVolume.h>
15 #include <moveit_msgs/PositionConstraint.h>
16 #include <moveit_msgs/OrientationConstraint.h>
68 const Eigen::Ref<const Eigen::Vector3d> &rotation);
88 const Eigen::Ref<const Eigen::Vector4d> &rotation);
96 const Eigen::Quaterniond &rotation);
183 const Eigen::Quaterniond &orientation,
184 const Eigen::Vector3d &tolerances);
192 const Eigen::Vector3d &tolerances);
207 const Eigen::Vector3d &axis,
double value);
#define ROBOWFLEX_CLASS_FORWARD(C)
Macro that forward declares a class and defines two shared ptrs types:
A const shared pointer wrapper for robowflex::Geometry.
moveit_msgs::OrientationConstraint getOrientationConstraint(const std::string &ee_name, const std::string &base_name, const Eigen::Quaterniond &orientation, const Eigen::Vector3d &tolerances)
Get an orientation constraint message.
geometry_msgs::Vector3 vectorEigenToMsg(const Eigen::Vector3d &vector)
Converts an Eigen::Vector3d to a vector message.
Eigen::Vector3d vectorMsgToEigen(const geometry_msgs::Vector3 &msg)
Converts a vector message to an Eigen::Vector3d.
double toDegrees(double v)
Convert an angle to degrees.
geometry_msgs::TransformStamped transformEigenToMsg(const std::string &source, const std::string &target, const RobotPose &tf)
Encode a transform as a message.
Eigen::Vector3d samplePositionConstraint(const moveit_msgs::PositionConstraint &pc)
RobotPose poseMsgToEigen(const geometry_msgs::Pose &msg)
Converts a pose message to RobotPose.
RobotPose createPoseQ(double x, double y, double z, double W, double X, double Y, double Z)
Creates a robot pose from a linear component and a Quaternion.
double toRadians(double v)
Convert an angle to radians.
RobotPose createPoseXYZ(double x, double y, double z)
Creates a robot pose from a linear component and zero orientation.
Eigen::Vector3d samplePositionGaussian(const Eigen::Vector3d &stddev)
Sample a position from a gaussian distribution with mean zero and given standard deviation.
Eigen::Quaterniond sampleOrientation(const Eigen::Quaterniond &orientation, const Eigen::Vector3d &tolerances)
Sample an orientation from a given orientation with XYZ Euler angle tolerances.
Eigen::Vector3d pointMsgToEigen(const geometry_msgs::Point &msg)
Converts a point message to an Eigen::Vector3d.
geometry_msgs::Pose poseEigenToMsg(const RobotPose &pose)
Converts an RobotPose to a pose message.
RobotPose samplePoseUniform(const Eigen::Vector3d &pos_bounds, const Eigen::Vector3d &orn_bounds)
Sample a pose within the given position, orientation bounds.
double angleNormalize(double v)
Normalize an angle between -pi to pi.
Eigen::Vector3d samplePositionUniform(const Eigen::Vector3d &bounds)
Sample a position within the given bounds using a uniform distribution.
Eigen::Quaterniond quaternionMsgToEigen(const geometry_msgs::Quaternion &msg)
Converts a quaternion message to Eigen::Quaterniond.
geometry_msgs::Point pointEigenToMsg(const Eigen::Vector3d &vector)
Converts an Eigen::Vector3d to a point message.
Eigen::Quaterniond offsetOrientation(const Eigen::Quaterniond &orientation, const Eigen::Vector3d &axis, double value)
Offset an orientation by a rotation about an axis.
moveit_msgs::BoundingVolume getBoundingVolume(const RobotPose &pose, const GeometryConstPtr &geometry)
Get a bounding volume message for given geometry at a pose.
Eigen::Quaterniond sampleOrientationUniform(const Eigen::Vector3d &tolerances)
Sample an orientation within the XYZ Euler angle tolerances.
RobotPose identity()
Creates the Identity pose.
moveit_msgs::PositionConstraint getPositionConstraint(const std::string &ee_name, const std::string &base_name, const RobotPose &pose, const GeometryConstPtr &geometry)
Get a position constraint message.
RobotPose samplePoseGaussian(const Eigen::Vector3d &pos_stddev, const Eigen::Vector3d &orn_bounds)
Sample a pose with gaussian sampling for the position with given standard deviations and uniform samp...
bool isVecZero(const Eigen::Ref< const Eigen::VectorXd > &v, double tolerance=constants::eps)
Checks if a vector is close to zero.
geometry_msgs::Quaternion quaternionEigenToMsg(const Eigen::Quaterniond &quaternion)
Converts an Eigen::Quaterniond to a quaternion message.
RobotPose transformMsgToEigen(const geometry_msgs::TransformStamped &tf)
Decode a message as a transform.
Eigen::Quaterniond getPoseRotation(const RobotPose &pose)
Get the rotational component of a robot pose.
Main namespace. Contains all library classes and functions.
std::decay< decltype(std::declval< moveit::core::Transforms >().getTransform("")) >::type RobotPose
A pose (point in SE(3)) used in various functions. Defined from what MoveIt! uses.