3 #ifndef ROBOWFLEX_BUILDER_
4 #define ROBOWFLEX_BUILDER_
6 #include <moveit/planning_pipeline/planning_pipeline.h>
165 double tolerance = 0.001);
179 const Eigen::Vector3d &tolerances);
196 const Eigen::Quaterniond &orientation,
const Eigen::Vector3d &tolerances,
197 const RobotPose &offset,
const Eigen::Vector3d &axis,
unsigned int n);
211 double depth,
unsigned int n);
245 double tolerance = 0.001);
259 const Eigen::Vector3d &tolerances);
301 const Eigen::Quaterniond &orientation,
const Eigen::Vector3d &tolerances);
321 const Eigen::Quaterniond &orientation,
322 const Eigen::Vector3d &tolerances);
359 const Eigen::Ref<const Eigen::VectorXd> &max);
441 robot_model::JointModelGroup *
jmg_{
nullptr};
#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.
Adds functionality to uniquely ID a specific class as well as the "version" of that class,...
A shared pointer wrapper for robowflex::MotionRequestBuilder.
A helper class to build motion planning requests for a robowflex::Planner.
void addGoalPose(const std::string &ee_name, const std::string &base_name, const RobotPose &pose, double tolerance=0.001)
Add a goal pose for the end-effector ee_name. Generates a sphere with radius tolerance as well as ori...
bool swapStartWithGoal()
Swap the start and goal configurations. This is only possible when a single joint goal is specified,...
void useSceneStateAsStart(const SceneConstPtr &scene)
Use the current scene state for the starting configuration.
bool toYAMLFile(const std::string &file) const
Serialize the motion planning request to a YAML file file.
planning_interface::MotionPlanRequest request_
The build request.
void addGoalFromIKQuery(const Robot::IKQuery &query)
Add an IK query as a goal pose.
void setAllowedPlanningTime(double allowed_planning_time)
Set the allowed planning time in the request.
void clearGoals()
Clears all goals.
robot_model::JointModelGroup * jmg_
void addCylinderSideGrasp(const std::string &ee_name, const std::string &base_name, const RobotPose &pose, const GeometryConstPtr &cylinder, double distance, double depth, unsigned int n)
Adds a set of regions to grasp a cylinder from the side. This function assumes the X-axis of the end-...
moveit_msgs::Constraints & getPathConstraints()
Get a reference to the current path constraints on the motion planning request.
void setNumPlanningAttempts(unsigned int num_planning_attempts)
Set the number of planning attemps in the request.
PlannerConstPtr planner_
The planner to build the request for.
const RobotConstPtr robot_
The robot to build the request for.
MotionRequestBuilderPtr clone() const
Clone this request.
void addPathOrientationConstraint(const std::string &ee_name, const std::string &base_name, const Eigen::Quaterniond &orientation, const Eigen::Vector3d &tolerances)
Set an orientation constraint on the path. Sets the orientation constraint from orientation and XYZ E...
void addPathPoseConstraint(const std::string &ee_name, const std::string &base_name, const RobotPose &pose, const GeometryConstPtr &geometry, const Eigen::Quaterniond &orientation, const Eigen::Vector3d &tolerances)
Set a pose constraint on the path. Sets the position constraint from geometry at a pose pose,...
std::string group_name_
The group to plan for.
bool attachObjectToStart(ScenePtr scene, const std::string &object)
Attach an object to the current request start state. Uses object from scene, and modifies the underly...
static const std::string DEFAULT_CONFIG
Default planner configuration to use.
bool setConfig(const std::string &requested_config)
Set the planning configuration to use for the motion planning request. Attempts to match requested_co...
const std::string & getPlannerConfig() const
Get the planner config.
void setStartConfiguration(const std::vector< double > &joints)
Set the start configuration from a vector joints. All joints are assumed to be specified and in the d...
robot_state::RobotStatePtr getStartConfiguration() const
Get the start state of the request as a robot state.
void setGoalPose(const std::string &ee_name, const std::string &base_name, const RobotPose &pose, double tolerance=0.001)
Set a goal pose for the end-effector ee_name. Generates a sphere with radius tolerance as well as ori...
bool fromYAMLFile(const std::string &file)
Load a planning request from a YAML file file.
const RobotConstPtr & getRobot() const
Get the robot for this request.
const PlannerConstPtr & getPlanner() const
Get the planner for this request.
const std::string & getPlanningGroup() const
Get the planning group.
void precomputeGoalConfigurations(std::size_t n_samples, const ScenePtr &scene, const ConfigurationValidityCallback &callback={})
Override the goals of this motion request with precomputed goal configurations (from the specified re...
bool attachObjectToStartConst(const SceneConstPtr &scene, const std::string &object)
Attach an object to the current request start state. Uses object from scene, but does not modify the ...
void addGoalConfiguration(const std::vector< double > &joints)
Add a goal configuration from a vector joints. All joints are assumed to be specified and in the defa...
void setWorkspaceBounds(const moveit_msgs::WorkspaceParameters &wp)
Sets workspace bounds of the planning request.
void initialize()
Sets defaults.
void setPlanningGroup(const std::string &group_name)
Set the planning group to use for this request builder.
planning_interface::MotionPlanRequest & getRequest()
Get a reference to the currently built motion planning request.
void addGoalRegion(const std::string &ee_name, const std::string &base_name, const RobotPose &pose, const GeometryConstPtr &geometry, const Eigen::Quaterniond &orientation, const Eigen::Vector3d &tolerances)
Add a goal region for an end-effector ee_name. Sets the position constraint from geometry at a pose p...
void addGoalRotaryTile(const std::string &ee_name, const std::string &base_name, const RobotPose &pose, const GeometryConstPtr &geometry, const Eigen::Quaterniond &orientation, const Eigen::Vector3d &tolerances, const RobotPose &offset, const Eigen::Vector3d &axis, unsigned int n)
Tiles some geometry around a pose in base_name for the end-effector ee_name. The geometry is placed a...
void setPlanner(const PlannerConstPtr &planner)
Set the Robowflex planner to use.
void setGoalRegion(const std::string &ee_name, const std::string &base_name, const RobotPose &pose, const GeometryConstPtr &geometry, const Eigen::Quaterniond &orientation, const Eigen::Vector3d &tolerances)
Set a goal region for an end-effector ee_name. Sets the position constraint from geometry at a pose p...
void setGoalConfiguration(const std::vector< double > &joints)
Set the goal configuration from a vector joints. All joints are assumed to be specified and in the de...
void setGoalFromIKQuery(const Robot::IKQuery &query)
Set the goal pose from an IK query.
const planning_interface::MotionPlanRequest & getRequestConst() const
Get a const reference to the currently built motion planning request.
MotionRequestBuilder(const RobotConstPtr &robot)
Constructor.
void addPathPositionConstraint(const std::string &ee_name, const std::string &base_name, const RobotPose &pose, const GeometryConstPtr &geometry)
Set a position constraint on the path. Sets the position constraint from geometry at a pose pose.
robot_state::RobotStatePtr getGoalConfiguration() const
Get the goal state of the request as a robot state.
A const shared pointer wrapper for robowflex::Planner.
A const shared pointer wrapper for robowflex::Robot.
A const shared pointer wrapper for robowflex::Scene.
A shared pointer wrapper for robowflex::Scene.
moveit_msgs::MotionPlanRequest MotionPlanRequest
Functions for loading and animating robots in Blender.
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.
Functions for loading and animating scenes in Blender.
Robot IK Query options. IK queries in Robowflex consist of: a) A position specified by some geometric...
void callback(movegroup::MoveGroupHelper::Action &action)