1 #ifndef TESSERACT_COLLISION_COLLISION_OCTOMAP_OCTOMAP_UNIT_HPP
2 #define TESSERACT_COLLISION_COLLISION_OCTOMAP_OCTOMAP_UNIT_HPP
25 std::string path = locator.
locateResource(
"package://tesseract_support/meshes/box_2m.bt")->getFilePath();
26 auto ot = std::make_shared<octomap::OcTree>(path);
29 Eigen::Isometry3d octomap_pose;
30 octomap_pose.setIdentity();
31 octomap_pose.translation() = Eigen::Vector3d(1.1, 0, 0);
35 obj1_shapes.push_back(dense_octomap);
36 obj1_poses.push_back(octomap_pose);
38 checker.addCollisionObject(
"octomap1_link", 0, obj1_shapes, obj1_poses);
43 auto ot_b = std::make_shared<octomap::OcTree>(path);
46 Eigen::Isometry3d octomap_pose_b;
47 octomap_pose_b.setIdentity();
48 octomap_pose_b.translation() = Eigen::Vector3d(-1.1, 0, 0);
52 obj2_shapes.push_back(dense_octomap_b);
53 obj2_poses.push_back(octomap_pose_b);
55 checker.addCollisionObject(
"octomap2_link", 0, obj2_shapes, obj2_poses);
57 EXPECT_TRUE(checker.getCollisionObjects().size() == 2);
58 const auto& co = checker.getCollisionObjects();
59 for (std::size_t i = 0; i < co.size(); ++i)
61 EXPECT_TRUE(checker.getCollisionObjectGeometries(co[i]).size() == 1);
62 EXPECT_TRUE(checker.getCollisionObjectGeometriesTransforms(co[i]).size() == 1);
63 const auto& cgt = checker.getCollisionObjectGeometriesTransforms(co[i]);
80 std::vector<std::string> active_links{
"octomap1_link",
"octomap2_link" };
83 EXPECT_TRUE(tesseract_common::isIdentical<std::string>(active_links, check_active_links,
false));
92 location[
"octomap1_link"] = Eigen::Isometry3d::Identity();
93 location[
"octomap2_link"] = Eigen::Isometry3d::Identity();
104 for (
const auto& cr : result_vector)
115 std::vector<std::string> active_links{
"octomap1_link" };
118 EXPECT_TRUE(tesseract_common::isIdentical<std::string>(active_links, check_active_links,
false));
127 location[
"octomap2_link"] = Eigen::Isometry3d::Identity();
131 Eigen::Isometry3d start_pos, end_pos;
132 start_pos = Eigen::Isometry3d::Identity();
133 end_pos = Eigen::Isometry3d::Identity();
134 start_pos.translation() = Eigen::Vector3d(0, -2.0, 0);
135 end_pos.translation() = Eigen::Vector3d(0, 2.0, 0);
146 for (
const auto& cr : result_vector)
155 detail::addCollisionObjects<ContinuousContactManager>(checker);
158 detail::addCollisionObjects<ContinuousContactManager>(checker);
168 inline void runTest(DiscreteContactManager& checker)
170 detail::addCollisionObjects<DiscreteContactManager>(checker);
173 detail::addCollisionObjects<DiscreteContactManager>(checker);
184 #endif // TESSERACT_COLLISION_COLLISION_OCTOMAP_OCTOMAP_UNIT_HPP