moveit2
The MoveIt Motion Planning Framework for ROS 2.
|
Classes | |
class | PlanResponsesContainer |
A container to thread-safely store multiple MotionPlanResponses. More... | |
Typedefs | |
typedef std::function< bool(const PlanResponsesContainer &plan_responses_container, const std::vector<::planning_interface::MotionPlanRequest > &plan_requests)> | StoppingCriterionFunction |
A stopping criterion callback function for the parallel planning API of planning component. | |
typedef std::function<::planning_interface::MotionPlanResponse(const std::vector<::planning_interface::MotionPlanResponse > &solutions)> | SolutionSelectionFunction |
A solution callback function type for the parallel planning API of planning component. | |
Functions | |
MOVEIT_CLASS_FORWARD (PlanResponsesContainer) | |
::planning_interface::MotionPlanResponse | planWithSinglePipeline (const ::planning_interface::MotionPlanRequest &motion_plan_request, const ::planning_scene::PlanningSceneConstPtr &planning_scene, const std::unordered_map< std::string, planning_pipeline::PlanningPipelinePtr > &planning_pipelines) |
Function to calculate the MotionPlanResponse for a given MotionPlanRequest and a PlanningScene. | |
const std::vector<::planning_interface::MotionPlanResponse > | planWithParallelPipelines (const std::vector<::planning_interface::MotionPlanRequest > &motion_plan_requests, const ::planning_scene::PlanningSceneConstPtr &planning_scene, const std::unordered_map< std::string, planning_pipeline::PlanningPipelinePtr > &planning_pipelines, const StoppingCriterionFunction &stopping_criterion_callback=nullptr, const SolutionSelectionFunction &solution_selection_function=nullptr) |
Function to solve multiple planning problems in parallel threads with multiple planning pipelines at the same time. | |
std::unordered_map< std::string, planning_pipeline::PlanningPipelinePtr > | createPlanningPipelineMap (const std::vector< std::string > &pipeline_names, const moveit::core::RobotModelConstPtr &robot_model, const rclcpp::Node::SharedPtr &node, const std::string ¶meter_namespace=std::string()) |
Utility function to create a map of named planning pipelines. | |
::planning_interface::MotionPlanResponse | getShortestSolution (const std::vector<::planning_interface::MotionPlanResponse > &solutions) |
Function that returns the shortest solution out of a vector of solutions based on robot_trajectory::pathLength(...) | |
bool | stopAtFirstSolution (const PlanResponsesContainer &plan_responses_container, const std::vector<::planning_interface::MotionPlanRequest > &plan_requests) |
A callback function that can be used as a parallel planning stop criterion. It stops parallel planning as soon as any planner finds a solution. | |
rclcpp::Logger | getLogger () |
typedef std::function<::planning_interface::MotionPlanResponse( const std::vector<::planning_interface::MotionPlanResponse>& solutions)> moveit::planning_pipeline_interfaces::SolutionSelectionFunction |
A solution callback function type for the parallel planning API of planning component.
[in] | solutions | Motion plan responses to choose from |
Definition at line 65 of file planning_pipeline_interfaces.hpp.
typedef std::function<bool(const PlanResponsesContainer& plan_responses_container, const std::vector<::planning_interface::MotionPlanRequest>& plan_requests)> moveit::planning_pipeline_interfaces::StoppingCriterionFunction |
A stopping criterion callback function for the parallel planning API of planning component.
[in] | plan_responses_container | Container with responses to be taken into account for the stopping decision |
[in] | plan_requests | Motion plan requests for the parallel planner |
Definition at line 57 of file planning_pipeline_interfaces.hpp.
std::unordered_map< std::string, planning_pipeline::PlanningPipelinePtr > moveit::planning_pipeline_interfaces::createPlanningPipelineMap | ( | const std::vector< std::string > & | pipeline_names, |
const moveit::core::RobotModelConstPtr & | robot_model, | ||
const rclcpp::Node::SharedPtr & | node, | ||
const std::string & | parameter_namespace = std::string() |
||
) |
Utility function to create a map of named planning pipelines.
[in] | pipeline_names | Vector of planning pipeline names to be used. Each name is also the namespace from which the pipeline parameters are loaded |
[in] | robot_model | Robot model used to initialize the pipelines |
[in] | node | Node used to load parameters |
[in] | parameter_namespace | Optional prefix for the pipeline parameter namespace. Empty by default, so only the pipeline name is used as namespace |
Definition at line 172 of file planning_pipeline_interfaces.cpp.
rclcpp::Logger moveit::planning_pipeline_interfaces::getLogger | ( | ) |
Definition at line 47 of file planning_pipeline_interfaces.cpp.
planning_interface::MotionPlanResponse moveit::planning_pipeline_interfaces::getShortestSolution | ( | const std::vector<::planning_interface::MotionPlanResponse > & | solutions | ) |
Function that returns the shortest solution out of a vector of solutions based on robot_trajectory::pathLength(...)
[in] | solutions | Vector of solutions to chose the shortest one from |
Definition at line 44 of file solution_selection_functions.cpp.
moveit::planning_pipeline_interfaces::MOVEIT_CLASS_FORWARD | ( | PlanResponsesContainer | ) |
const std::vector<::planning_interface::MotionPlanResponse > moveit::planning_pipeline_interfaces::planWithParallelPipelines | ( | const std::vector<::planning_interface::MotionPlanRequest > & | motion_plan_requests, |
const ::planning_scene::PlanningSceneConstPtr & | planning_scene, | ||
const std::unordered_map< std::string, planning_pipeline::PlanningPipelinePtr > & | planning_pipelines, | ||
const StoppingCriterionFunction & | stopping_criterion_callback = nullptr , |
||
const SolutionSelectionFunction & | solution_selection_function = nullptr |
||
) |
Function to solve multiple planning problems in parallel threads with multiple planning pipelines at the same time.
[in] | motion_plan_request | Motion planning problems to be solved |
[in] | planning_scene | Planning scene for which the given planning problem needs to be solved |
[in] | planning_pipelines | Pipelines available to solve the problems, if a requested pipeline is not provided the MotionPlanResponse will be FAILURE |
[in] | stopping_criterion_callback | If this function returns true, the planning pipelines that are still running will be terminated and the existing solutions will be evaluated. If no callback is provided, all planning pipelines terminate after the max. planning time defined in the MotionPlanningRequest is reached. |
[in] | solution_selection_function | Function to select a specific solution out of all available solution. If no function is provided, all solutions are returned. |
Definition at line 79 of file planning_pipeline_interfaces.cpp.
planning_interface::MotionPlanResponse moveit::planning_pipeline_interfaces::planWithSinglePipeline | ( | const ::planning_interface::MotionPlanRequest & | motion_plan_request, |
const ::planning_scene::PlanningSceneConstPtr & | planning_scene, | ||
const std::unordered_map< std::string, planning_pipeline::PlanningPipelinePtr > & | planning_pipelines | ||
) |
Function to calculate the MotionPlanResponse for a given MotionPlanRequest and a PlanningScene.
[in] | motion_plan_request | Motion planning problem to be solved |
[in] | planning_scene | Planning scene for which the given planning problem needs to be solved |
[in] | planning_pipelines | Pipelines available to solve the problem, if the requested pipeline is not provided the MotionPlanResponse will be FAILURE |
Definition at line 53 of file planning_pipeline_interfaces.cpp.
bool moveit::planning_pipeline_interfaces::stopAtFirstSolution | ( | const PlanResponsesContainer & | plan_responses_container, |
const std::vector<::planning_interface::MotionPlanRequest > & | plan_requests | ||
) |
A callback function that can be used as a parallel planning stop criterion. It stops parallel planning as soon as any planner finds a solution.
Definition at line 43 of file stopping_criterion_function.cpp.