6
6
#include < visualization_msgs/InteractiveMarker.h>
7
7
#include < tf2/LinearMath/Transform.h>
8
8
#include < tf2/LinearMath/Quaternion.h>
9
+ #include < Eigen/Eigen>
10
+ #include < eigen_conversions/eigen_msg.h>
9
11
10
12
#include < moveit/move_group_interface/move_group.h>
13
+ #include < moveit/robot_state/robot_state.h>
11
14
12
15
#include < moveit/robot_model_loader/robot_model_loader.h>
13
16
#include < moveit/robot_model/robot_model.h>
14
17
#include < moveit/robot_model/joint_model_group.h>
18
+ #include < moveit/robot_model/link_model.h>
15
19
16
- #include < moveit/robot_state/robot_state.h>
17
20
18
21
typedef std::multimap<std::vector<double >,geometry_msgs::Pose> BasePoseJoint;
19
22
@@ -24,17 +27,33 @@ class CreateMarker{
24
27
25
28
bool makeArmMarker (BasePoseJoint baseJoints, std::vector<visualization_msgs::InteractiveMarker>& iMarkers, bool show_unreachable_models); // visualizing robot model with joint solutions
26
29
bool makeRobotMarker (BasePoseJoint baseJoints, std::vector<visualization_msgs::InteractiveMarker>& iMarkers, bool show_unreachable_models); // visualizing robot model with joint solutions
27
- bool checkForEE ();
30
+ bool checkEndEffector ();
31
+
32
+
28
33
29
34
30
35
31
36
private:
32
37
38
+ void discardUnreachableModels (BasePoseJoint& baseJoints);
39
+ void makeIntMarkers (BasePoseJoint& basePJoints, bool arm_only, std::vector<visualization_msgs::InteractiveMarker> &iMarkers);
40
+ void updateRobotState (const std::vector<double >& joint_soln, moveit::core::RobotStatePtr robot_state);
41
+ void getFullLinkNames (std::vector<std::string>& full_link_names, bool arm_only);
42
+ void getArmLinks (std::vector<std::string>& arm_links);
43
+ void getEELinks (std::vector<std::string>& ee_links);
44
+ void makeIntMarkerControl (const geometry_msgs::Pose& base_pose, const std::vector<double >& joint_soln,bool arm_only, bool is_reachable, visualization_msgs::InteractiveMarkerControl& robotModelControl);
45
+ void createInteractiveMarker (const geometry_msgs::Pose& base_pose, const std::vector<double >& joint_soln,
46
+ const int & num, bool arm_only, bool is_reachable,visualization_msgs::InteractiveMarker& iMarker);
47
+
48
+ void updateMarkers (const geometry_msgs::Pose& base_pose, bool is_reachable, Eigen::Affine3d tf_first_link_to_root, visualization_msgs::MarkerArray& markers);
49
+
50
+
51
+
33
52
std::string group_name_;
34
53
ros::AsyncSpinner spinner;
35
54
boost::scoped_ptr<moveit::planning_interface::MoveGroup> group_;
36
- // Robot model cons pointer
37
- moveit::core::RobotModelConstPtr robot_model_;
55
+ std::string parent_link;
56
+ moveit::core::RobotModelConstPtr robot_model_; // Robot model const pointer
38
57
};
39
58
40
59
#endif // CREATE_MARKER_H
0 commit comments