@@ -108,3 +108,39 @@ TEST(TestSteeringOdometry, ackermann_back_kin_right)
108
108
EXPECT_GT (std::abs (cmd1[0 ]), std::abs (cmd1[1 ])); // abs right (inner) > abs left (outer)
109
109
EXPECT_LT (cmd1[0 ], 0 );
110
110
}
111
+
112
+ TEST (TestSteeringOdometry, bicycle_odometry)
113
+ {
114
+ steering_odometry::SteeringOdometry odom (1 );
115
+ odom.set_wheel_params (1 ., 1 ., 1 .);
116
+ odom.set_odometry_type (steering_odometry::BICYCLE_CONFIG);
117
+ ASSERT_TRUE (odom.update_from_velocity (1 ., .1 , .1 ));
118
+ EXPECT_NEAR (odom.get_linear (), 1.0 , 1e-3 );
119
+ EXPECT_NEAR (odom.get_angular (), .1 , 1e-3 );
120
+ EXPECT_NEAR (odom.get_x (), .1 , 1e-3 );
121
+ EXPECT_NEAR (odom.get_heading (), .01 , 1e-3 );
122
+ }
123
+
124
+ TEST (TestSteeringOdometry, tricycle_odometry)
125
+ {
126
+ steering_odometry::SteeringOdometry odom (1 );
127
+ odom.set_wheel_params (1 ., 1 ., 1 .);
128
+ odom.set_odometry_type (steering_odometry::TRICYCLE_CONFIG);
129
+ ASSERT_TRUE (odom.update_from_velocity (1 ., 1 ., .1 , .1 ));
130
+ EXPECT_NEAR (odom.get_linear (), 1.0 , 1e-3 );
131
+ EXPECT_NEAR (odom.get_angular (), .1 , 1e-3 );
132
+ EXPECT_NEAR (odom.get_x (), .1 , 1e-3 );
133
+ EXPECT_NEAR (odom.get_heading (), .01 , 1e-3 );
134
+ }
135
+
136
+ TEST (TestSteeringOdometry, ackermann_odometry)
137
+ {
138
+ steering_odometry::SteeringOdometry odom (1 );
139
+ odom.set_wheel_params (1 ., 1 ., 1 .);
140
+ odom.set_odometry_type (steering_odometry::ACKERMANN_CONFIG);
141
+ ASSERT_TRUE (odom.update_from_velocity (1 ., 1 ., .1 , .1 , .1 ));
142
+ EXPECT_NEAR (odom.get_linear (), 1.0 , 1e-3 );
143
+ EXPECT_NEAR (odom.get_angular (), .1 , 1e-3 );
144
+ EXPECT_NEAR (odom.get_x (), .1 , 1e-3 );
145
+ EXPECT_NEAR (odom.get_heading (), .01 , 1e-3 );
146
+ }
0 commit comments