40 #include <urdf_parser/urdf_parser.h>
43 #include <boost/filesystem/path.hpp>
54 std::string robot_name =
"pr2";
84 static const std::string SMODEL1 =
"<?xml version=\"1.0\" ?>"
85 "<robot name=\"pr2\">"
86 "<virtual_joint name=\"base_joint\" child_link=\"base_footprint\" "
87 "parent_frame=\"base_footprint\" type=\"planar\"/>"
89 srdf_model->initString(*urdf_model_, SMODEL1);
93 EXPECT_EQ(robot_model1.getModelFrame(),
"base_footprint");
95 static const std::string SMODEL2 =
"<?xml version=\"1.0\" ?>"
96 "<robot name=\"pr2\">"
97 "<virtual_joint name=\"world_joint\" child_link=\"base_footprint\" "
98 "parent_frame=\"odom_combined\" type=\"floating\"/>"
100 srdf_model->initString(*urdf_model_, SMODEL2);
103 ASSERT_TRUE(robot_model2.getRootJoint() !=
nullptr);
104 EXPECT_EQ(robot_model2.getModelFrame(),
"odom_combined");
109 static const std::string SMODEL1 =
"<?xml version=\"1.0\" ?>"
110 "<robot name=\"pr2\">"
111 "<virtual_joint name=\"base_joint\" child_link=\"base_footprint\" "
112 "parent_frame=\"base_footprint\" type=\"planar\"/>"
113 "<group name=\"left_arm_base_tip\">"
114 "<chain base_link=\"monkey_base\" tip_link=\"monkey_tip\"/>"
116 "<group name=\"left_arm_joints\">"
117 "<joint name=\"l_monkey_pan_joint\"/>"
118 "<joint name=\"l_monkey_fles_joint\"/>"
123 srdf_model->initString(*urdf_model_, SMODEL1);
132 static const std::string SMODEL2 =
"<?xml version=\"1.0\" ?>"
133 "<robot name=\"pr2\">"
134 "<virtual_joint name=\"base_joint\" child_link=\"base_footprint\" "
135 "parent_frame=\"base_footprint\" type=\"planar\"/>"
136 "<group name=\"left_arm_base_tip\">"
137 "<chain base_link=\"torso_lift_link\" tip_link=\"l_wrist_roll_link\"/>"
139 "<group name=\"left_arm_joints\">"
140 "<joint name=\"l_shoulder_pan_joint\"/>"
141 "<joint name=\"l_shoulder_lift_joint\"/>"
142 "<joint name=\"l_upper_arm_roll_joint\"/>"
143 "<joint name=\"l_elbow_flex_joint\"/>"
144 "<joint name=\"l_forearm_roll_joint\"/>"
145 "<joint name=\"l_wrist_flex_joint\"/>"
146 "<joint name=\"l_wrist_roll_joint\"/>"
149 srdf_model->initString(*urdf_model_, SMODEL2);
153 left_arm_base_tip_group = robot_model2->getJointModelGroup(
"left_arm_base_tip");
156 left_arm_joints_group = robot_model2->getJointModelGroup(
"left_arm_joints");
165 EXPECT_EQ(robot_model2->getVariableNames().size(), robot_model2->getVariableCount());
167 bool found_shoulder_pan_link =
false;
168 bool found_wrist_roll_link =
false;
171 if (link_model->getName() ==
"l_shoulder_pan_link")
174 found_shoulder_pan_link =
true;
176 if (link_model->getName() ==
"l_wrist_roll_link")
179 found_wrist_roll_link =
true;
181 EXPECT_TRUE(link_model->getName() !=
"torso_lift_link");
188 std::map<std::string, double> jv;
189 jv[
"base_joint/x"] = 0.433;
190 jv[
"base_joint/theta"] = -0.5;
221 EXPECT_TRUE(model->getLinkModel(
"r_gripper_palm_link")->getAssociatedFixedTransforms().size() > 1);
234 std::vector<shapes::ShapeConstPtr>
shapes;
235 EigenSTL::vector_Isometry3d poses;
238 poses.push_back(Eigen::Isometry3d::Identity());
239 std::set<std::string> touch_links;
241 trajectory_msgs::JointTrajectory empty_state;
243 robot_model->getLinkModel(
"r_gripper_palm_link"),
"box",
shapes, poses, touch_links, empty_state);
246 std::vector<const moveit::core::AttachedBody*> attached_bodies_1;
250 std::vector<const moveit::core::AttachedBody*> attached_bodies_2;
256 attached_bodies_1.clear();
261 attached_bodies_2.clear();
266 int main(
int argc,
char** argv)