Robowflex
v0.1
Making MoveIt Easy
|
A simple motion planner that uses interpolation of the end-effector in Cartesian space to find a path. Valid configurations are found using IK. This planner is not complete and typically only works for small movements of the end-effector. More...
#include <planning.h>
Public Member Functions | |
SimpleCartesianPlanner (const RobotPtr &robot, const std::string &name="") | |
Constructor. More... | |
SimpleCartesianPlanner (SimpleCartesianPlanner const &)=delete | |
void | operator= (SimpleCartesianPlanner const &)=delete |
planning_interface::MotionPlanResponse | plan (const robot_state::RobotState &start, const Robot::IKQuery &request) |
Plan a Cartesian motion (interpolation) given a request and a scene from a start configuration. The scene, attempts, and timeout are used from request. More... | |
planning_interface::MotionPlanResponse | plan (const SceneConstPtr &scene, const planning_interface::MotionPlanRequest &request) override |
Plan a motion given a request and a scene. More... | |
void | setMaxStep (double position, double rotation) |
Set the maximum step size allowed by the planner between output waypoints. More... | |
void | setJumpThreshold (double prismatic, double revolute) |
Set the maximum difference in joint configurations allowed by the planner between output waypoints. More... | |
std::vector< std::string > | getPlannerConfigs () const override |
Return all planner configurations offered by this planner. Any of the configurations returned can be set as the planner for a motion planning query sent to plan(). More... | |
Public Member Functions inherited from robowflex::Planner | |
Planner (const RobotPtr &robot, const std::string &name="") | |
Constructor. Takes in a robot description and an optional namespace name. If name is specified, planner parameters are namespaced under the namespace of robot. More... | |
Planner (Planner const &)=delete | |
void | operator= (Planner const &)=delete |
virtual std::map< std::string, ProgressProperty > | getProgressProperties (const SceneConstPtr &scene, const planning_interface::MotionPlanRequest &request) const |
Retrieve the planner progress property map for this planner given a specific request. More... | |
const RobotPtr | getRobot () const |
Return the robot for this planner. More... | |
const std::string & | getName () const |
Get the name of the planner. More... | |
virtual void | preRun (const SceneConstPtr &scene, const planning_interface::MotionPlanRequest &request) |
This function is called before benchmarking. More... | |
Private Attributes | |
double | max_step_pos_ {constants::cart_pos_step_size} |
Max EE step size for position in meters. More... | |
double | max_step_rot_ {constants::cart_rot_step_size} |
Max EE step size for rotation in radians. More... | |
double | jump_threshold_pri_ {constants::cart_pos_jump_tol} |
double | jump_threshold_rev_ {constants::cart_rot_jump_tol} |
Additional Inherited Members | |
Public Types inherited from robowflex::Planner | |
using | ProgressProperty = std::function< std::string()> |
A function that returns the value of a planner property over the course of a run. More... | |
Protected Attributes inherited from robowflex::Planner | |
RobotPtr | robot_ |
The robot to plan for. More... | |
IO::Handler | handler_ |
The parameter handler for the planner. More... | |
const std::string | name_ |
Namespace for the planner. More... | |
A simple motion planner that uses interpolation of the end-effector in Cartesian space to find a path. Valid configurations are found using IK. This planner is not complete and typically only works for small movements of the end-effector.
Definition at line 184 of file robowflex_library/include/robowflex_library/planning.h.
SimpleCartesianPlanner::SimpleCartesianPlanner | ( | const RobotPtr & | robot, |
const std::string & | name = "" |
||
) |
Constructor.
Definition at line 100 of file robowflex_library/src/planning.cpp.
|
delete |
|
overridevirtual |
Return all planner configurations offered by this planner. Any of the configurations returned can be set as the planner for a motion planning query sent to plan().
Implements robowflex::Planner.
Definition at line 244 of file robowflex_library/src/planning.cpp.
|
delete |
planning_interface::MotionPlanResponse SimpleCartesianPlanner::plan | ( | const robot_state::RobotState & | start, |
const Robot::IKQuery & | request | ||
) |
Plan a Cartesian motion (interpolation) given a request and a scene from a start configuration. The scene, attempts, and timeout are used from request.
[in] | start | Starting state. |
[in] | request | The desired end-effector pose. |
Definition at line 146 of file robowflex_library/src/planning.cpp.
|
overridevirtual |
Plan a motion given a request and a scene.
[in] | scene | A planning scene for the same robot_ to compute the plan in. |
[in] | request | The motion planning request to solve. |
Implements robowflex::Planner.
Definition at line 106 of file robowflex_library/src/planning.cpp.
void SimpleCartesianPlanner::setJumpThreshold | ( | double | prismatic, |
double | revolute | ||
) |
Set the maximum difference in joint configurations allowed by the planner between output waypoints.
[in] | prismatic | The new threshold for movement of prismatic joints. |
[in] | revolute | The new threshold for movement of revolute joints. |
Definition at line 238 of file robowflex_library/src/planning.cpp.
void SimpleCartesianPlanner::setMaxStep | ( | double | position, |
double | rotation | ||
) |
Set the maximum step size allowed by the planner between output waypoints.
[in] | position | The new step size for the position of the end-effector. |
[in] | rotation | The new step size for the rotation of the end-effector. |
Definition at line 232 of file robowflex_library/src/planning.cpp.
|
private |
Max jump for prismatic joints in meters.
Definition at line 230 of file robowflex_library/include/robowflex_library/planning.h.
|
private |
Max jump for revolute joints in radians.
Definition at line 232 of file robowflex_library/include/robowflex_library/planning.h.
|
private |
Max EE step size for position in meters.
Definition at line 228 of file robowflex_library/include/robowflex_library/planning.h.
|
private |
Max EE step size for rotation in radians.
Definition at line 229 of file robowflex_library/include/robowflex_library/planning.h.