task_sequence_processor.h
Go to the documentation of this file.
1 //
2 // Created by yijiangh on 6/25/17.
3 //
4 
5 #ifndef FRAMEFAB_TASK_SEQUENCE_PROCESSOR
6 #define FRAMEFAB_TASK_SEQUENCE_PROCESSOR
7 
8 #include <choreo_msgs/ModelInputParameters.h>
9 #include <choreo_msgs/TaskSequenceInputParameters.h>
10 #include <choreo_msgs/ElementCandidatePoses.h>
11 
12 #include <choreo_msgs/AssemblySequencePickNPlace.h>
13 
14 #include <moveit_msgs/CollisionObject.h>
15 
17 
19 {
20 
22 {
23  typedef std::vector<choreo_msgs::ElementCandidatePoses> ElementCandidatePosesArray;
24 
25  public:
28 
29  // data setting
30  void setParams(choreo_msgs::ModelInputParameters model_params,
31  choreo_msgs::TaskSequenceInputParameters task_sequence_params,
32  std::string world_frame);
33 
34  // TODO: this can be used as a helper function, we don't need to wrap a class around it
35  // Note: this function enforces the existence for all the stl files by asserting the file existence.
36  bool parseAssemblySequencePickNPlace(const choreo_msgs::ModelInputParameters& model_params,
37  const choreo_msgs::TaskSequenceInputParameters& task_sequence_params,
38  const std::string& world_frame_,
39  choreo_msgs::AssemblySequencePickNPlace& as_pnp);
40 
41  // DEPRECATED
42  // parson json file into path arrays (unit process)
43  bool createCandidatePoses();
45 
46  const std::vector<choreo_task_sequence_processing_utils::UnitProcess>& getCandidatePoses() const { return path_array_; }
47  const std::vector<moveit_msgs::CollisionObject>& getEnvCollisionObjs() const { return env_collision_objs_; }
48 
49  protected:
51  Eigen::Vector3d st_pt, Eigen::Vector3d end_pt,
52  std::vector<Eigen::Vector3d> feasible_orients,
53  std::string type_str,
54  double element_diameter,
55  double shrink_length);
56 
57  void setTransfVec(const Eigen::Vector3d& ref_pt, const Eigen::Vector3d& base_center_pt, const double& scale)
58  {
59  transf_vec_ = (ref_pt - base_center_pt) * scale;
60  }
61  // END DEPRECATED
62 
63  private:
64  // params
65  choreo_msgs::ModelInputParameters model_input_params_;
66  choreo_msgs::TaskSequenceInputParameters path_input_params_;
67  std::string world_frame_;
68 
69  std::vector<choreo_task_sequence_processing_utils::UnitProcess> path_array_;
70  std::vector<moveit_msgs::CollisionObject> env_collision_objs_;
71 
72  double unit_scale_;
75  Eigen::Vector3d ref_pt_;
76  Eigen::Vector3d transf_vec_;
77 
78  bool verbose_;
79 };
80 }
81 #endif //FRAMEFAB_TASK_SEQUENCE_PROCESSOR
void setParams(choreo_msgs::ModelInputParameters model_params, choreo_msgs::TaskSequenceInputParameters task_sequence_params, std::string world_frame)
std::vector< choreo_task_sequence_processing_utils::UnitProcess > path_array_
const std::vector< choreo_task_sequence_processing_utils::UnitProcess > & getCandidatePoses() const
const std::vector< moveit_msgs::CollisionObject > & getEnvCollisionObjs() const
void setTransfVec(const Eigen::Vector3d &ref_pt, const Eigen::Vector3d &base_center_pt, const double &scale)
unsigned int index
bool parseAssemblySequencePickNPlace(const choreo_msgs::ModelInputParameters &model_params, const choreo_msgs::TaskSequenceInputParameters &task_sequence_params, const std::string &world_frame_, choreo_msgs::AssemblySequencePickNPlace &as_pnp)
choreo_task_sequence_processing_utils::UnitProcess createScaledUnitProcess(int index, int wireframe_id, Eigen::Vector3d st_pt, Eigen::Vector3d end_pt, std::vector< Eigen::Vector3d > feasible_orients, std::string type_str, double element_diameter, double shrink_length)
choreo_msgs::TaskSequenceInputParameters path_input_params_
std::vector< choreo_msgs::ElementCandidatePoses > ElementCandidatePosesArray
std::vector< moveit_msgs::CollisionObject > env_collision_objs_


choreo_task_sequence_processor
Author(s): Yijiang Huang
autogenerated on Thu Jul 18 2019 03:59:29