|
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>
Inheritance diagram for robowflex::SimpleCartesianPlanner: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.