Go to the documentation of this file.00001 #include <gtest/gtest.h>
00002 #include "robodyn_controllers/DynamicsUtilities.h"
00003 #include <ros/package.h>
00004
00005 class DynamicsUtilitiesTest : public ::testing::Test
00006 {
00007 protected:
00008 virtual void SetUp()
00009 {
00010 }
00011
00012 virtual void TearDown()
00013 {
00014 }
00015
00016 DynamicsUtilities du;
00017 };
00018
00019 TEST_F(DynamicsUtilitiesTest, SumWrenchesTest)
00020 {
00021 std::vector<KDL::Wrench> wrenchVec;
00022
00023 EXPECT_EQ(KDL::Wrench::Zero(), du.SumWrenches(wrenchVec));
00024
00025 KDL::Wrench testWrench(KDL::Vector(1.0, 0.0, 2.0), KDL::Vector(0.0, 3.0, 0.0));
00026 wrenchVec.push_back(testWrench);
00027
00028 EXPECT_EQ(testWrench, du.SumWrenches(wrenchVec));
00029
00030 testWrench.force.x(3.0);
00031 testWrench.torque.z(5.0);
00032 wrenchVec.push_back(testWrench);
00033
00034 EXPECT_EQ(KDL::Wrench(KDL::Vector(4.0, 0.0, 4.0), KDL::Vector(0.0, 6.0, 5.0)), du.SumWrenches(wrenchVec));
00035
00036 }
00037
00038 TEST_F(DynamicsUtilitiesTest, isBaseFrameTest)
00039 {
00040 std::vector<std::string> baseFrames;
00041 std::string frame = "link1";
00042
00043 EXPECT_FALSE(du.isBaseFrame(baseFrames, frame));
00044
00045 baseFrames.push_back("link2");
00046
00047 EXPECT_FALSE(du.isBaseFrame(baseFrames, frame));
00048
00049 baseFrames.push_back(frame);
00050 EXPECT_TRUE(du.isBaseFrame(baseFrames, frame));
00051
00052 }
00053
00054 TEST_F(DynamicsUtilitiesTest, magTest)
00055 {
00056 KDL::Vector vec;
00057
00058 EXPECT_EQ(0.0, du.mag(vec));
00059
00060 vec.x(2.0);
00061 EXPECT_EQ(2.0, du.mag(vec));
00062
00063 vec.y(3.0);
00064 vec.z(4.0);
00065 vec.x(0.0);
00066 EXPECT_EQ(5.0, du.mag(vec));
00067 }
00068
00069 TEST_F(DynamicsUtilitiesTest, MultiplyJacobianTransposeTest)
00070 {
00071 KDL::Jacobian jac(2);
00072 KDL::Wrench wren;
00073 KDL::JntArray tau, test(2);
00074
00075 du.MultiplyJacobianTranspose(jac, wren, tau);
00076 EXPECT_EQ(test, tau);
00077
00078 }
00079
00080
00081 int main(int argc, char** argv)
00082 {
00083 ::testing::InitGoogleTest(&argc, argv);
00084 return RUN_ALL_TESTS();
00085 }