Skip to content

Commit 819dc46

Browse files
committed
robot visualization improved
1 parent 86ea435 commit 819dc46

File tree

9 files changed

+235
-433
lines changed

9 files changed

+235
-433
lines changed

base_placement_plugin/include/base_placement_plugin/create_marker.h

+23-4
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,17 @@
66
#include<visualization_msgs/InteractiveMarker.h>
77
#include<tf2/LinearMath/Transform.h>
88
#include<tf2/LinearMath/Quaternion.h>
9+
#include <Eigen/Eigen>
10+
#include <eigen_conversions/eigen_msg.h>
911

1012
#include<moveit/move_group_interface/move_group.h>
13+
#include<moveit/robot_state/robot_state.h>
1114

1215
#include<moveit/robot_model_loader/robot_model_loader.h>
1316
#include<moveit/robot_model/robot_model.h>
1417
#include<moveit/robot_model/joint_model_group.h>
18+
#include<moveit/robot_model/link_model.h>
1519

16-
#include<moveit/robot_state/robot_state.h>
1720

1821
typedef std::multimap<std::vector<double>,geometry_msgs::Pose> BasePoseJoint;
1922

@@ -24,17 +27,33 @@ class CreateMarker{
2427

2528
bool makeArmMarker(BasePoseJoint baseJoints, std::vector<visualization_msgs::InteractiveMarker>& iMarkers, bool show_unreachable_models); //visualizing robot model with joint solutions
2629
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+
2833

2934

3035

3136
private:
3237

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+
3352
std::string group_name_;
3453
ros::AsyncSpinner spinner;
3554
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
3857
};
3958

4059
#endif // CREATE_MARKER_H

base_placement_plugin/include/base_placement_plugin/place_base.h

+6-1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
#include <pluginlib/class_loader.h>
77
#include <std_msgs/String.h>
8+
#include<base_placement_plugin/create_marker.h>
89

910
#include<moveit/planning_scene_monitor/planning_scene_monitor.h>
1011
#include<moveit/move_group_interface/move_group.h>
@@ -159,7 +160,8 @@ public Q_SLOTS:
159160
double calculateScoreForRobotBase(std::vector<geometry_msgs::Pose>& grasp_poses, std::vector<geometry_msgs::Pose>& base_poses);
160161
double calculateScoreForArmBase(std::vector<geometry_msgs::Pose>& grasp_poses, std::vector<geometry_msgs::Pose>& base_poses);
161162

162-
void loadRobotModel();
163+
bool loadRobotModel();
164+
bool checkforRobotModel();
163165

164166
void getRobotGroups(std::vector<std::string>& groups);
165167

@@ -208,6 +210,9 @@ public Q_SLOTS:
208210

209211
//show unreachable models
210212
bool show_ureach_models_;
213+
214+
215+
CreateMarker* mark_;
211216
};
212217

213218
#endif // PLACE_BASE_H_

base_placement_plugin/launch/base_placement.launch

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0"?>
22
<launch>
33

4-
<arg name = "moveit_pkg" default="ur5_moveit_config"/>
4+
<arg name = "moveit_pkg" default="motoman_moveit_config"/>
55

66
<!--Launch moveit required pkgs for your robot-->
77
<include file="$(find base_placement_plugin)/launch/moveit_pkgs.launch">

0 commit comments

Comments
 (0)