Skip to content

Commit

Permalink
Merge branch 'fix-tests' of dr/dr_kdl into master
Browse files Browse the repository at this point in the history
  • Loading branch information
Mihai Morariu authored and Gogs committed Oct 30, 2017
2 parents 9f52a2d + 08bd410 commit 407852c
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 17 deletions.
7 changes: 5 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -39,10 +39,13 @@ target_link_libraries(${PROJECT_NAME}
)

if (CATKIN_ENABLE_TESTING)
find_package(dr_eigen REQUIRED)
include_directories(SYSTEM ${dr_eigen_INCLUDE_DIRS})

catkin_add_gtest(${PROJECT_NAME}_test_kdl test/kdl.cpp)
catkin_add_gtest(${PROJECT_NAME}_test_eigen test/eigen.cpp)
target_link_libraries(${PROJECT_NAME}_test_kdl ${PROJECT_NAME} ${catkin_LIBRARIES})
target_link_libraries(${PROJECT_NAME}_test_eigen ${PROJECT_NAME} ${catkin_LIBRARIES})
target_link_libraries(${PROJECT_NAME}_test_kdl ${PROJECT_NAME} ${catkin_LIBRARIES} ${dr_eigen_LIBRARIES})
target_link_libraries(${PROJECT_NAME}_test_eigen ${PROJECT_NAME} ${catkin_LIBRARIES} ${dr_eigen_LIBRARIES})
endif()

install(
Expand Down
1 change: 1 addition & 0 deletions package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,5 @@
<depend>kdl_parser</depend>
<depend>orocos_kdl</depend>
<depend>sensor_msgs</depend>
<test_depend>dr_eigen</test_depend>
</package>
2 changes: 1 addition & 1 deletion test/eigen.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ int main(int argc, char * * argv) {
namespace dr {

std::string toString(Eigen::Vector3d const & q) {
return "[" + std::to_string(q.w()) + ", " + std::to_string(q.x()) + ", " + std::to_string(q.y()) + ", " + std::to_string(q.z()) + "]";
return "[" + std::to_string(q.x()) + ", " + std::to_string(q.y()) + ", " + std::to_string(q.z()) + "]";
}

std::string toString(Eigen::Quaterniond const & q) {
Expand Down
24 changes: 10 additions & 14 deletions test/kdl.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -13,30 +13,26 @@ int main(int argc, char * * argv) {

namespace dr {

namespace {
constexpr double pi() { return M_PI; }
}

TEST(KdlTree, pose) {
KdlTree kdl;
kdl.addSegment(KDL::Segment("arm", KDL::Joint("joint", KDL::Joint::RotZ), KDL::Frame(KDL::Rotation::Identity(), KDL::Vector(1, 0, 0))), "root");

ASSERT_TRUE(kdl.pose("root", "arm", {{"joint", 0.0 * pi()}}).isApprox(translate(1, 0, 0) * rotateZ(0.0 * pi())));
ASSERT_TRUE(kdl.pose("root", "arm", {{"joint", 0.5 * pi()}}).isApprox(translate(0, 1, 0) * rotateZ(0.5 * pi())));
ASSERT_TRUE(kdl.pose("root", "arm", {{"joint", 1.0 * pi()}}).isApprox(translate(-1, 0, 0) * rotateZ(1.0 * pi())));
ASSERT_TRUE(kdl.pose("root", "arm", {{"joint", 1.5 * pi()}}).isApprox(translate(0, -1, 0) * rotateZ(1.5 * pi())));
ASSERT_TRUE(kdl.pose("root", "arm", {{"joint", 2.0 * pi()}}).isApprox(translate(1, 0, 0) * rotateZ(0.0 * pi())));
ASSERT_TRUE(kdl.pose("root", "arm", {{"joint", 0.0 * M_PI}}).isApprox(translate(1, 0, 0) * rotateZ(0.0 * M_PI)));
ASSERT_TRUE(kdl.pose("root", "arm", {{"joint", 0.5 * M_PI}}).isApprox(translate(0, 1, 0) * rotateZ(0.5 * M_PI)));
ASSERT_TRUE(kdl.pose("root", "arm", {{"joint", 1.0 * M_PI}}).isApprox(translate(-1, 0, 0) * rotateZ(1.0 * M_PI)));
ASSERT_TRUE(kdl.pose("root", "arm", {{"joint", 1.5 * M_PI}}).isApprox(translate(0, -1, 0) * rotateZ(1.5 * M_PI)));
ASSERT_TRUE(kdl.pose("root", "arm", {{"joint", 2.0 * M_PI}}).isApprox(translate(1, 0, 0) * rotateZ(0.0 * M_PI)));
}

TEST(KdlTree, transform) {
KdlTree kdl;
kdl.addSegment(KDL::Segment("arm", KDL::Joint("joint", KDL::Joint::RotZ), KDL::Frame(KDL::Rotation::Identity(), KDL::Vector(1, 0, 0))), "root");

ASSERT_TRUE(kdl.transform("arm", "root", {{"joint", 0.0 * pi()}}).isApprox(translate(1, 0, 0) * rotateZ(0.0 * pi())));
ASSERT_TRUE(kdl.transform("arm", "root", {{"joint", 0.5 * pi()}}).isApprox(translate(0, 1, 0) * rotateZ(0.5 * pi())));
ASSERT_TRUE(kdl.transform("arm", "root", {{"joint", 1.0 * pi()}}).isApprox(translate(-1, 0, 0) * rotateZ(1.0 * pi())));
ASSERT_TRUE(kdl.transform("arm", "root", {{"joint", 1.5 * pi()}}).isApprox(translate(0, -1, 0) * rotateZ(1.5 * pi())));
ASSERT_TRUE(kdl.transform("arm", "root", {{"joint", 2.0 * pi()}}).isApprox(translate(1, 0, 0) * rotateZ(0.0 * pi())));
ASSERT_TRUE(kdl.transform("arm", "root", {{"joint", 0.0 * M_PI}}).isApprox(translate(1, 0, 0) * rotateZ(0.0 * M_PI)));
ASSERT_TRUE(kdl.transform("arm", "root", {{"joint", 0.5 * M_PI}}).isApprox(translate(0, 1, 0) * rotateZ(0.5 * M_PI)));
ASSERT_TRUE(kdl.transform("arm", "root", {{"joint", 1.0 * M_PI}}).isApprox(translate(-1, 0, 0) * rotateZ(1.0 * M_PI)));
ASSERT_TRUE(kdl.transform("arm", "root", {{"joint", 1.5 * M_PI}}).isApprox(translate(0, -1, 0) * rotateZ(1.5 * M_PI)));
ASSERT_TRUE(kdl.transform("arm", "root", {{"joint", 2.0 * M_PI}}).isApprox(translate(1, 0, 0) * rotateZ(0.0 * M_PI)));
}

}

0 comments on commit 407852c

Please sign in to comment.