Go to the documentation of this file.00001 #include <gtest/gtest.h>
00002 #include "robodyn_controllers/GainCalculator.h"
00003
00004 class GainCalculatorTest : public ::testing::Test
00005 {
00006 protected:
00007 virtual void SetUp()
00008 {
00009 }
00010
00011 virtual void TearDown()
00012 {
00013 }
00014
00015 JointGainsData jg;
00016 };
00017
00018 TEST_F(GainCalculatorTest, CalculateGainsTest)
00019 {
00020 jg.naturalFreq = 1.0;
00021 jg.dampingRatio = 1.0;
00022 jg.mass = 2.0;
00023 jg.maxK = 300.0;
00024 jg.maxD = 100.0;
00025 jg.minD = 0.0;
00026
00027 GainCalculator::CalculateGains(jg);
00028 EXPECT_EQ(2.0, jg.stiffness);
00029 EXPECT_EQ(4.0, jg.damping);
00030
00031 jg.naturalFreq = 3.0;
00032
00033 GainCalculator::CalculateGains(jg);
00034 EXPECT_EQ(18.0, jg.stiffness);
00035 EXPECT_EQ(12.0, jg.damping);
00036
00037 jg.maxK = 8.0;
00038
00039 GainCalculator::CalculateGains(jg);
00040 EXPECT_EQ(8.0, jg.stiffness);
00041 EXPECT_EQ(8.0, jg.damping);
00042
00043 jg.maxD = 6.0;
00044
00045 GainCalculator::CalculateGains(jg);
00046 EXPECT_EQ(4.5, jg.stiffness);
00047 EXPECT_EQ(6.0, jg.damping);
00048
00049 jg.minD = 7.0;
00050
00051 GainCalculator::CalculateGains(jg);
00052 EXPECT_EQ(6.125, jg.stiffness);
00053 EXPECT_EQ(7.0, jg.damping);
00054
00055 }
00056
00057 int main(int argc, char** argv)
00058 {
00059 ::testing::InitGoogleTest(&argc, argv);
00060 return RUN_ALL_TESTS();
00061 }
00062