generate_motion_plan.h
Go to the documentation of this file.
1 //
2 // Created by yijiangh on 7/8/17.
3 //
4 
5 #ifndef CHOREO_PROCESS_PLANNING_GENERATE_MOTION_PLAN_H
6 #define CHOREO_PROCESS_PLANNING_GENERATE_MOTION_PLAN_H
7 
8 #include <descartes_core/robot_model.h>
10 
11 #include <choreo_msgs/UnitProcessPlan.h>
12 #include <choreo_msgs/ElementCandidatePoses.h>
13 #include <choreo_msgs/WireFrameCollisionObject.h>
14 #include <choreo_msgs/AssemblySequencePickNPlace.h>
15 #include <moveit_msgs/CollisionObject.h>
16 
18 {
19 // retraction planning for spatial extrusion
20 // not used in picknplace
21 void retractionPlanning(descartes_core::RobotModelPtr model,
22  const std::vector <planning_scene::PlanningScenePtr> &planning_scenes_approach,
23  const std::vector <planning_scene::PlanningScenePtr> &planning_scenes_depart,
24  const std::vector <descartes_planner::ConstrainedSegment> &segs,
25  std::vector <choreo_msgs::UnitProcessPlan> &plans);
26 
27 // TODO: need overload for picknplace (as the task sequence alternating pattern is different)
28 void transitionPlanning(std::vector <choreo_msgs::UnitProcessPlan> &plans,
29  moveit::core::RobotModelConstPtr moveit_model,
30  ros::ServiceClient &planning_scene_diff_client,
31  const std::string &move_group_name,
32  const std::vector<double> &start_state,
33  std::vector <planning_scene::PlanningScenePtr> &planning_scenes);
34 
35 void adjustTrajectoryTiming(std::vector <choreo_msgs::UnitProcessPlan> &plans,
36  const std::vector <std::string> &joint_names,
37  const std::string world_frame);
38 
39 void appendTCPPoseToPlans(const descartes_core::RobotModelPtr model,
40  const std::vector <planning_scene::PlanningScenePtr> &planning_scenes_shrinked,
41  const std::vector <planning_scene::PlanningScenePtr> &planning_scenes_full,
42  std::vector <choreo_msgs::UnitProcessPlan> &plans);
43 
44 // overload for spatial extrusion planning request
45 bool generateMotionPlan(const std::string world_frame,
46  const bool use_saved_graph,
47  const std::string &saved_graph_file_name,
48  const double clt_rrt_unit_process_timeout,
49  const double clt_rrt_timeout,
50  const std::string &move_group_name,
51  const std::vector<double> &start_state,
52  const std::vector<choreo_msgs::ElementCandidatePoses> &task_seq,
53  const std::vector<choreo_msgs::WireFrameCollisionObject> &wf_collision_objs,
54  std::vector<descartes_planner::ConstrainedSegment> &segs,
55  descartes_core::RobotModelPtr model,
56  moveit::core::RobotModelConstPtr moveit_model,
57  ros::ServiceClient &planning_scene_diff_client,
58  std::vector <choreo_msgs::UnitProcessPlan> &plans);
59 
60 // TODO: add ConstrainedSegmentPickNPlace here
61 // overload for picknplace planning request
62 bool generateMotionPlan(const std::string world_frame,
63  const bool use_saved_graph,
64  const std::string &saved_graph_file_name,
65  const double clt_rrt_unit_process_timeout,
66  const double clt_rrt_timeout,
67  const double& linear_vel,
68  const double& linear_disc,
69  const std::string &move_group_name,
70  const std::vector<double> &start_state,
71  const choreo_msgs::AssemblySequencePickNPlace& as_pnp,
72  descartes_core::RobotModelPtr model,
73  moveit::core::RobotModelConstPtr moveit_model,
74  ros::ServiceClient &planning_scene_diff_client,
75  std::vector <choreo_msgs::UnitProcessPlan> &plans);
76 
77 }
78 
79 #endif //CHOREO_PROCESS_PLANNING_GENERATE_MOTION_PLAN_H
void adjustTrajectoryTiming(std::vector< choreo_msgs::UnitProcessPlan > &plans, const std::vector< std::string > &joint_names, const std::string world_frame)
void transitionPlanning(std::vector< choreo_msgs::UnitProcessPlan > &plans, moveit::core::RobotModelConstPtr moveit_model, ros::ServiceClient &planning_scene_diff_client, const std::string &move_group_name, const std::vector< double > &start_state, std::vector< planning_scene::PlanningScenePtr > &planning_scenes)
void retractionPlanning(descartes_core::RobotModelPtr model, const std::vector< planning_scene::PlanningScenePtr > &planning_scenes_approach, const std::vector< planning_scene::PlanningScenePtr > &planning_scenes_depart, const std::vector< descartes_planner::ConstrainedSegment > &segs, std::vector< choreo_msgs::UnitProcessPlan > &plans)
void appendTCPPoseToPlans(const descartes_core::RobotModelPtr model, const std::vector< planning_scene::PlanningScenePtr > &planning_scenes_shrinked, const std::vector< planning_scene::PlanningScenePtr > &planning_scenes_full, std::vector< choreo_msgs::UnitProcessPlan > &plans)
bool generateMotionPlan(const std::string world_frame, const bool use_saved_graph, const std::string &saved_graph_file_name, const double clt_rrt_unit_process_timeout, const double clt_rrt_timeout, const std::string &move_group_name, const std::vector< double > &start_state, const std::vector< choreo_msgs::ElementCandidatePoses > &task_seq, const std::vector< choreo_msgs::WireFrameCollisionObject > &wf_collision_objs, std::vector< descartes_planner::ConstrainedSegment > &segs, descartes_core::RobotModelPtr model, moveit::core::RobotModelConstPtr moveit_model, ros::ServiceClient &planning_scene_diff_client, std::vector< choreo_msgs::UnitProcessPlan > &plans)


choreo_process_planning
Author(s): Yijiang Huang
autogenerated on Thu Jul 18 2019 03:59:02