@@ -40,104 +40,74 @@ TEST_F(EuclideanToWheelTest, test_target_wheel_speeds_zero)
4040// velocity, and vise-versa.
4141TEST_F (EuclideanToWheelTest, test_target_wheel_speeds_positive_x)
4242{
43- // Test +x/forward
43+ // Test +x/right
4444 target_euclidean_velocity = {1 , 0 , 0 };
4545 calculated_wheel_speeds =
4646 euclidean_to_four_wheel.getWheelVelocity (target_euclidean_velocity);
4747
48- // Right wheels must be - velocity, left wheels must be + velocity.
48+ // Front wheels must be - velocity, back wheels must be + velocity.
4949 EXPECT_LT (calculated_wheel_speeds[FRONT_RIGHT_WHEEL_SPACE_INDEX], 0 );
50- EXPECT_GT (calculated_wheel_speeds[FRONT_LEFT_WHEEL_SPACE_INDEX], 0 );
50+ EXPECT_LT (calculated_wheel_speeds[FRONT_LEFT_WHEEL_SPACE_INDEX], 0 );
5151 EXPECT_GT (calculated_wheel_speeds[BACK_LEFT_WHEEL_SPACE_INDEX], 0 );
52- EXPECT_LT (calculated_wheel_speeds[BACK_RIGHT_WHEEL_SPACE_INDEX], 0 );
53-
54-
55- // Right wheels must have same velocity magnitude as left wheels, but opposite sign.
56- EXPECT_DOUBLE_EQ (calculated_wheel_speeds[FRONT_RIGHT_WHEEL_SPACE_INDEX],
57- -calculated_wheel_speeds[FRONT_LEFT_WHEEL_SPACE_INDEX]);
58- EXPECT_DOUBLE_EQ (calculated_wheel_speeds[BACK_LEFT_WHEEL_SPACE_INDEX],
59- -calculated_wheel_speeds[BACK_RIGHT_WHEEL_SPACE_INDEX]);
52+ EXPECT_GT (calculated_wheel_speeds[BACK_RIGHT_WHEEL_SPACE_INDEX], 0 );
6053}
6154
6255TEST_F (EuclideanToWheelTest, test_target_wheel_speeds_negative_x)
6356{
64- // Test -x/backward
57+ // Test -x/left
6558 target_euclidean_velocity = {-1 , 0 , 0 };
6659 calculated_wheel_speeds =
6760 euclidean_to_four_wheel.getWheelVelocity (target_euclidean_velocity);
6861
69- // Right wheels must be + velocity, left wheels must be - velocity.
62+ // Front wheels must be + velocity, back wheels must be - velocity.
7063 EXPECT_GT (calculated_wheel_speeds[FRONT_RIGHT_WHEEL_SPACE_INDEX], 0 );
71- EXPECT_LT (calculated_wheel_speeds[FRONT_LEFT_WHEEL_SPACE_INDEX], 0 );
64+ EXPECT_GT (calculated_wheel_speeds[FRONT_LEFT_WHEEL_SPACE_INDEX], 0 );
7265 EXPECT_LT (calculated_wheel_speeds[BACK_LEFT_WHEEL_SPACE_INDEX], 0 );
73- EXPECT_GT (calculated_wheel_speeds[BACK_RIGHT_WHEEL_SPACE_INDEX], 0 );
74-
75- // Right wheels must have same velocity magnitude as left wheels, but opposite sign.
76- EXPECT_DOUBLE_EQ (calculated_wheel_speeds[FRONT_RIGHT_WHEEL_SPACE_INDEX],
77- -calculated_wheel_speeds[FRONT_LEFT_WHEEL_SPACE_INDEX]);
78- EXPECT_DOUBLE_EQ (calculated_wheel_speeds[BACK_LEFT_WHEEL_SPACE_INDEX],
79- -calculated_wheel_speeds[BACK_RIGHT_WHEEL_SPACE_INDEX]);
66+ EXPECT_LT (calculated_wheel_speeds[BACK_RIGHT_WHEEL_SPACE_INDEX], 0 );
8067}
8168
8269TEST_F (EuclideanToWheelTest, test_target_wheel_speeds_positive_y)
8370{
84- // Test +y/left
71+ // Test +y/forwards
8572 target_euclidean_velocity = {0 , 1 , 0 };
8673 calculated_wheel_speeds =
8774 euclidean_to_four_wheel.getWheelVelocity (target_euclidean_velocity);
8875
89- // Back wheels must be + velocity, front wheels must be - velocity.
90- EXPECT_LT (calculated_wheel_speeds[FRONT_RIGHT_WHEEL_SPACE_INDEX], 0 );
76+ // Right wheels must be + velocity, Left wheels must be - velocity.
77+ EXPECT_GT (calculated_wheel_speeds[FRONT_RIGHT_WHEEL_SPACE_INDEX], 0 );
9178 EXPECT_LT (calculated_wheel_speeds[FRONT_LEFT_WHEEL_SPACE_INDEX], 0 );
92- EXPECT_GT (calculated_wheel_speeds[BACK_LEFT_WHEEL_SPACE_INDEX], 0 );
79+ EXPECT_LT (calculated_wheel_speeds[BACK_LEFT_WHEEL_SPACE_INDEX], 0 );
9380 EXPECT_GT (calculated_wheel_speeds[BACK_RIGHT_WHEEL_SPACE_INDEX], 0 );
81+
82+ // Right wheels must have same velocity magnitude as left wheels, but opposite sign.
83+ EXPECT_DOUBLE_EQ (calculated_wheel_speeds[FRONT_RIGHT_WHEEL_SPACE_INDEX],
84+ -calculated_wheel_speeds[FRONT_LEFT_WHEEL_SPACE_INDEX]);
85+ EXPECT_DOUBLE_EQ (calculated_wheel_speeds[BACK_LEFT_WHEEL_SPACE_INDEX],
86+ -calculated_wheel_speeds[BACK_RIGHT_WHEEL_SPACE_INDEX]);
9487}
9588
9689TEST_F (EuclideanToWheelTest, test_target_wheel_speeds_negative_y)
9790{
98- // Test -y/right
91+ // Test -y/backwards
9992 target_euclidean_velocity = {0 , -1 , 0 };
10093 calculated_wheel_speeds =
10194 euclidean_to_four_wheel.getWheelVelocity (target_euclidean_velocity);
10295
103- // Back wheels must be - velocity, front wheels must be + velocity.
104- EXPECT_GT (calculated_wheel_speeds[FRONT_RIGHT_WHEEL_SPACE_INDEX], 0 );
105- EXPECT_GT (calculated_wheel_speeds[FRONT_LEFT_WHEEL_SPACE_INDEX], 0 );
106- EXPECT_LT (calculated_wheel_speeds[BACK_LEFT_WHEEL_SPACE_INDEX], 0 );
107- EXPECT_LT (calculated_wheel_speeds[BACK_RIGHT_WHEEL_SPACE_INDEX], 0 );
108- }
109-
110- TEST_F (EuclideanToWheelTest, test_target_wheel_speeds_positive_w_sign)
111- {
112- // Test w / counter-clockwise
113- target_euclidean_velocity = {0 , 0 , 1 };
114- calculated_wheel_speeds =
115- euclidean_to_four_wheel.getWheelVelocity (target_euclidean_velocity);
116-
11796 // Right wheels must be + velocity, Left wheels must be - velocity.
11897 EXPECT_LT (calculated_wheel_speeds[FRONT_RIGHT_WHEEL_SPACE_INDEX], 0 );
119- EXPECT_LT (calculated_wheel_speeds[FRONT_LEFT_WHEEL_SPACE_INDEX], 0 );
120- EXPECT_LT (calculated_wheel_speeds[BACK_LEFT_WHEEL_SPACE_INDEX], 0 );
121- EXPECT_LT (calculated_wheel_speeds[BACK_RIGHT_WHEEL_SPACE_INDEX], 0 );
122- }
123-
124- TEST_F (EuclideanToWheelTest, test_target_wheel_speeds_negative_w_sign)
125- {
126- // Test w / clockwise
127- target_euclidean_velocity = {0 , 0 , -1 };
128- calculated_wheel_speeds =
129- euclidean_to_four_wheel.getWheelVelocity (target_euclidean_velocity);
130-
131- // Right wheels must be + velocity, Left wheels must be - velocity.
132- EXPECT_GT (calculated_wheel_speeds[FRONT_RIGHT_WHEEL_SPACE_INDEX], 0 );
13398 EXPECT_GT (calculated_wheel_speeds[FRONT_LEFT_WHEEL_SPACE_INDEX], 0 );
13499 EXPECT_GT (calculated_wheel_speeds[BACK_LEFT_WHEEL_SPACE_INDEX], 0 );
135- EXPECT_GT (calculated_wheel_speeds[BACK_RIGHT_WHEEL_SPACE_INDEX], 0 );
100+ EXPECT_LT (calculated_wheel_speeds[BACK_RIGHT_WHEEL_SPACE_INDEX], 0 );
101+
102+ // Right wheels must have same velocity magnitude as left wheels, but opposite sign.
103+ EXPECT_DOUBLE_EQ (calculated_wheel_speeds[FRONT_RIGHT_WHEEL_SPACE_INDEX],
104+ -calculated_wheel_speeds[FRONT_LEFT_WHEEL_SPACE_INDEX]);
105+ EXPECT_DOUBLE_EQ (calculated_wheel_speeds[BACK_LEFT_WHEEL_SPACE_INDEX],
106+ -calculated_wheel_speeds[BACK_RIGHT_WHEEL_SPACE_INDEX]);
136107}
137108
138- // #ifdef DEBUG_WHEEL
139- #if CHECK_VERSION(2026)
140- TEST_F (EuclideanToWheelTest, test_target_wheel_speeds_positive_w_magnitude)
109+ #ifdef DEBUG_WHEEL
110+ TEST_F (EuclideanToWheelTest, test_target_wheel_speeds_positive_w)
141111{
142112 // Test +w/counter-clockwise
143113 target_euclidean_velocity = {0 , 0 , 1 };
@@ -146,23 +116,20 @@ TEST_F(EuclideanToWheelTest, test_target_wheel_speeds_positive_w_magnitude)
146116
147117 // Because the wheels are offset, their speed at 1 rad/s equals their
148118 // exact physical lever arm (in meters), NOT the nominal robot_radius.
119+ // Based on the physical offsets, the lever arm evaluates to 0.0746 meters.
120+ double expected_lever_arm = 0.0746 ;
149121
150- // i have no idea what it's yapping about above but i ignored it lol
151-
152- // Based on the physical offsets, the lever arm evaluates to 0.0749 meters.
153- double expected_lever_arm = 0.0749 ;
154-
155- EXPECT_NEAR (std::abs (calculated_wheel_speeds[FRONT_RIGHT_WHEEL_SPACE_INDEX]),
122+ EXPECT_NEAR (calculated_wheel_speeds[FRONT_RIGHT_WHEEL_SPACE_INDEX],
156123 expected_lever_arm, 0.001 );
157- EXPECT_NEAR (std::abs ( calculated_wheel_speeds[FRONT_LEFT_WHEEL_SPACE_INDEX]) , expected_lever_arm,
124+ EXPECT_NEAR (calculated_wheel_speeds[FRONT_LEFT_WHEEL_SPACE_INDEX], expected_lever_arm,
158125 0.001 );
159- EXPECT_NEAR (std::abs ( calculated_wheel_speeds[BACK_LEFT_WHEEL_SPACE_INDEX]) , expected_lever_arm,
126+ EXPECT_NEAR (calculated_wheel_speeds[BACK_LEFT_WHEEL_SPACE_INDEX], expected_lever_arm,
160127 0.001 );
161- EXPECT_NEAR (std::abs ( calculated_wheel_speeds[BACK_RIGHT_WHEEL_SPACE_INDEX]) , expected_lever_arm,
128+ EXPECT_NEAR (calculated_wheel_speeds[BACK_RIGHT_WHEEL_SPACE_INDEX], expected_lever_arm,
162129 0.001 );
163130}
164131
165- TEST_F (EuclideanToWheelTest, test_target_wheel_speeds_negative_w_magnitude )
132+ TEST_F (EuclideanToWheelTest, test_target_wheel_speeds_negative_w )
166133{
167134 // Test -w/clockwise
168135 target_euclidean_velocity = {0 , 0 , -1 };
@@ -171,20 +138,20 @@ TEST_F(EuclideanToWheelTest, test_target_wheel_speeds_negative_w_magnitude)
171138
172139 // Because the wheels are offset, their speed at -1 rad/s equals their
173140 // exact physical lever arm (in meters) multiplied by the negative velocity.
174- double expected_lever_arm = 0.0749 ;
141+ double expected_lever_arm = - 0.0746 ;
175142
176- EXPECT_NEAR (std::abs ( calculated_wheel_speeds[FRONT_RIGHT_WHEEL_SPACE_INDEX]) ,
143+ EXPECT_NEAR (calculated_wheel_speeds[FRONT_RIGHT_WHEEL_SPACE_INDEX],
177144 expected_lever_arm, 0.001 );
178- EXPECT_NEAR (std::abs ( calculated_wheel_speeds[FRONT_LEFT_WHEEL_SPACE_INDEX]) , expected_lever_arm,
145+ EXPECT_NEAR (calculated_wheel_speeds[FRONT_LEFT_WHEEL_SPACE_INDEX], expected_lever_arm,
179146 0.001 );
180- EXPECT_NEAR (std::abs ( calculated_wheel_speeds[BACK_LEFT_WHEEL_SPACE_INDEX]) , expected_lever_arm,
147+ EXPECT_NEAR (calculated_wheel_speeds[BACK_LEFT_WHEEL_SPACE_INDEX], expected_lever_arm,
181148 0.001 );
182- EXPECT_NEAR (std::abs ( calculated_wheel_speeds[BACK_RIGHT_WHEEL_SPACE_INDEX]) , expected_lever_arm,
149+ EXPECT_NEAR (calculated_wheel_speeds[BACK_RIGHT_WHEEL_SPACE_INDEX], expected_lever_arm,
183150 0.001 );
184151}
185152#else
186153
187- TEST_F (EuclideanToWheelTest, test_target_wheel_speeds_positive_w_magnitude )
154+ TEST_F (EuclideanToWheelTest, test_target_wheel_speeds_positive_w )
188155{
189156 // Test +w/counter-clockwise
190157 target_euclidean_velocity = {0 , 0 , 1 };
@@ -202,7 +169,7 @@ TEST_F(EuclideanToWheelTest, test_target_wheel_speeds_positive_w_magnitude)
202169}
203170
204171
205- TEST_F (EuclideanToWheelTest, test_target_wheel_speeds_negative_w_magnitude )
172+ TEST_F (EuclideanToWheelTest, test_target_wheel_speeds_negative_w )
206173{
207174 // Test -w/clockwise
208175 target_euclidean_velocity = {0 , 0 , -1 };
0 commit comments