choreo_geometry_conversion_helpers.h
Go to the documentation of this file.
1 #ifndef CHOREO_GEOMETRY_CONVERSION_HELPERS
2 #define CHOREO_GEOMETRY_CONVERSION_HELPERS
3 
4 #include "Eigen/Core"
5 #include "Eigen/Geometry"
6 
7 // msgs
8 #include <geometry_msgs/Point.h>
9 #include <geometry_msgs/Quaternion.h>
10 #include <geometry_msgs/Pose.h>
11 #include <geometry_msgs/Vector3.h>
12 #include <shape_msgs/Mesh.h>
13 #include <moveit_msgs/CollisionObject.h>
14 #include <moveit_msgs/AttachedCollisionObject.h>
15 
17 {
18 
19 // TODO: place holder (not fully developed), do not use this one now!
20 // TODO: should have optional angles input
21 void convertOrientationVectors(const std::vector<geometry_msgs::Vector3>& orients_msg,
22  std::vector<Eigen::Matrix3d>& m_orients);
23 
24 // Rotation representations
25 void planeAxesToEigenMatrix(const Eigen::Vector3d& x_axis, const Eigen::Vector3d& y_axis, const Eigen::Vector3d& z_axis,
26  Eigen::Matrix3d& m);
27 
28 void planeAxesToQuaternionMsg(const Eigen::Vector3d& x_axis, const Eigen::Vector3d& y_axis, const Eigen::Vector3d& z_axis,
29  geometry_msgs::Quaternion& q_msg);
30 
31 // Pose (position + rotation) representations
32 void planeToEigenAffine3d(const Eigen::Vector3d& origin,
33  const Eigen::Vector3d& x_axis, const Eigen::Vector3d& y_axis, const Eigen::Vector3d& z_axis,
34  Eigen::Affine3d& e);
35 
36 void planeToEigenAffine3d(const Eigen::Vector3d& origin, const Eigen::Matrix3d& orientation,
37  Eigen::Affine3d& e);
38 
39 void planeToPoseMsg(const Eigen::Vector3d& origin,
40  const Eigen::Vector3d& x_axis, const Eigen::Vector3d& y_axis, const Eigen::Vector3d& z_axis,
41  geometry_msgs::Pose& p);
42 
43 void planeToPoseMsg(const Eigen::Vector3d& origin, const Eigen::Matrix3d& orientation,
44  geometry_msgs::Pose& p);
45 
46 // import geometry related utils
47 void savedSTLToMeshShapeMsg(const std::string& file_path, const Eigen::Vector3d& scale_vector,
48  shape_msgs::Mesh& mesh);
49 
50 // file path is full path with filename
51 void savedSTLToCollisionObjectMsg(const std::string& file_path,
52  const Eigen::Vector3d& scale_vector,
53  const std::string& frame_id,
54  const geometry_msgs::Pose& p,
55  moveit_msgs::CollisionObject& co,
56  int object_operation = moveit_msgs::CollisionObject::ADD);
57 
58 moveit_msgs::CollisionObject savedSTLToCollisionObjectMsg(const std::string& file_path,
59  const Eigen::Vector3d& scale_vector,
60  const std::string& frame_id,
61  const geometry_msgs::Pose& p,
62  int object_operation = moveit_msgs::CollisionObject::ADD);
63 
64 void savedSTLToCollisionObjectMsg(const std::string& file_path, const Eigen::Vector3d& scale_vector,
65  const std::string& frame_id, const std::string& obj_id,
66  const geometry_msgs::Pose& p,
67  moveit_msgs::CollisionObject& co,
68  int object_operation = moveit_msgs::CollisionObject::ADD);
69 
70 // obj id is the filename
71 moveit_msgs::AttachedCollisionObject savedSTLToAttachedCollisionObjectMsg(const std::string& file_path,
72  const Eigen::Vector3d& scale_vector,
73  const std::string& frame_id,
74  const std::string& link_id,
75  const geometry_msgs::Pose& p,
76  int object_operation = moveit_msgs::CollisionObject::ADD);
77 
78 void savedSTLToAttachedCollisionObjectMsg(const std::string& file_path,
79  const Eigen::Vector3d& scale_vector,
80  const std::string& frame_id,
81  const std::string& link_id,
82  const geometry_msgs::Pose& p,
83  moveit_msgs::AttachedCollisionObject& co,
84  int object_operation = moveit_msgs::CollisionObject::ADD);
85 
86 void savedSTLToAttachedCollisionObjectMsg(const std::string& file_path,
87  const Eigen::Vector3d& scale_vector,
88  const std::string& frame_id,
89  const std::string& link_id,
90  const std::string& obj_id,
91  const geometry_msgs::Pose& p,
92  moveit_msgs::AttachedCollisionObject& co,
93  int object_operation = moveit_msgs::CollisionObject::ADD);
94 }
95 
96 #endif
moveit_msgs::AttachedCollisionObject savedSTLToAttachedCollisionObjectMsg(const std::string &file_path, const Eigen::Vector3d &scale_vector, const std::string &frame_id, const std::string &link_id, const geometry_msgs::Pose &p, int object_operation=moveit_msgs::CollisionObject::ADD)
void convertOrientationVectors(const std::vector< geometry_msgs::Vector3 > &orients_msg, std::vector< Eigen::Matrix3d > &m_orients)
void savedSTLToCollisionObjectMsg(const std::string &file_path, const Eigen::Vector3d &scale_vector, const std::string &frame_id, const geometry_msgs::Pose &p, moveit_msgs::CollisionObject &co, int object_operation=moveit_msgs::CollisionObject::ADD)
void savedSTLToMeshShapeMsg(const std::string &file_path, const Eigen::Vector3d &scale_vector, shape_msgs::Mesh &mesh)
void planeToEigenAffine3d(const Eigen::Vector3d &origin, const Eigen::Vector3d &x_axis, const Eigen::Vector3d &y_axis, const Eigen::Vector3d &z_axis, Eigen::Affine3d &e)
void planeAxesToEigenMatrix(const Eigen::Vector3d &x_axis, const Eigen::Vector3d &y_axis, const Eigen::Vector3d &z_axis, Eigen::Matrix3d &m)
void planeAxesToQuaternionMsg(const Eigen::Vector3d &x_axis, const Eigen::Vector3d &y_axis, const Eigen::Vector3d &z_axis, geometry_msgs::Quaternion &q_msg)
void planeToPoseMsg(const Eigen::Vector3d &origin, const Eigen::Vector3d &x_axis, const Eigen::Vector3d &y_axis, const Eigen::Vector3d &z_axis, geometry_msgs::Pose &p)


choreo_geometry_conversion_helpers
Author(s): Yijiang Huang
autogenerated on Thu Jul 18 2019 03:58:54