28 #include <gtest/gtest.h>
39 TEST(TesseractKinematicsUnit, IKFastInvKin7DOF)
42 Eigen::Isometry3d pose;
44 pose.translation()[0] = 0.223;
45 pose.translation()[1] = 0.354;
46 pose.translation()[2] = 0.5;
48 Eigen::VectorXd seed = Eigen::VectorXd::Zero(7);
53 std::string base_link_name =
"link_0";
54 std::string tip_link_name =
"ikfast_tcp_link";
55 std::vector<std::string> joint_names{
"joint_1",
"joint_2",
"joint_3",
"joint_4",
"joint_5",
"joint_6",
"joint_7" };
57 KDLFwdKinChain fwd_kin(*scene_graph, base_link_name, tip_link_name);
59 std::vector<std::vector<double>> free_joint_states = { { -2.0 }, { -1.0 }, { 0.0 }, { 1.0 }, { 2.0 } };
61 auto iiwa_inv_kin = std::make_shared<IKFastInvKin>(
65 EXPECT_EQ(iiwa_inv_kin->numJoints(), 7);
66 EXPECT_EQ(iiwa_inv_kin->getBaseLinkName(), base_link_name);
67 EXPECT_EQ(iiwa_inv_kin->getWorkingFrame(), base_link_name);
68 EXPECT_EQ(iiwa_inv_kin->getTipLinkNames().size(), 1);
69 EXPECT_EQ(iiwa_inv_kin->getTipLinkNames()[0], tip_link_name);
70 EXPECT_EQ(iiwa_inv_kin->getJointNames(), joint_names);
72 runInvKinTest(*iiwa_inv_kin, fwd_kin, pose, tip_link_name, seed);
76 EXPECT_TRUE(iiwa_inv_kin2 !=
nullptr);
78 EXPECT_EQ(iiwa_inv_kin2->numJoints(), 7);
79 EXPECT_EQ(iiwa_inv_kin2->getBaseLinkName(), base_link_name);
80 EXPECT_EQ(iiwa_inv_kin2->getWorkingFrame(), base_link_name);
81 EXPECT_EQ(iiwa_inv_kin2->getTipLinkNames().size(), 1);
82 EXPECT_EQ(iiwa_inv_kin2->getTipLinkNames()[0], tip_link_name);
83 EXPECT_EQ(iiwa_inv_kin2->getJointNames(), joint_names);
85 runInvKinTest(*iiwa_inv_kin2, fwd_kin, pose, tip_link_name, seed);
88 int main(
int argc,
char** argv)
90 testing::InitGoogleTest(&argc, argv);
92 return RUN_ALL_TESTS();