Skip to content

Commit 1222aa5

Browse files
committed
Makes no sense to solve for tool angle with 3 joints, solution only valid on curve defined by first joint angle
1 parent 8f797b1 commit 1222aa5

2 files changed

Lines changed: 2 additions & 26 deletions

File tree

src/FABRIK2D.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -278,7 +278,7 @@ uint8_t Fabrik2D::solve2(
278278
}
279279

280280
uint8_t Fabrik2D::solve(float x, float y, float toolAngle, int lengths[]) {
281-
return solve2(x, y, 0, toolAngle, 0, lengths);
281+
return 0; // Makes no sense to solve this, remove in the future
282282
}
283283

284284
uint8_t Fabrik2D::solve(
@@ -287,7 +287,7 @@ uint8_t Fabrik2D::solve(
287287
float grippingOffset,
288288
int lengths[]
289289
) {
290-
return solve2(x, y, 0, toolAngle, grippingOffset, lengths);
290+
return 0; // Makes no sense to solve this, remove in the future
291291
}
292292

293293
uint8_t Fabrik2D::solve2(float x, float y, float z, int lengths[]) {

test/unit_tests.cpp

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -146,30 +146,6 @@ unittest(test_solve)
146146
assertEqualFloat(100, fabrik2D_3_2DOF.getX(2), fabrik2D_3_2DOF.getTolerance());
147147
assertEqualFloat(100, fabrik2D_3_2DOF.getY(2), fabrik2D_3_2DOF.getTolerance());
148148

149-
// Solve 3 joints, 3DOF
150-
fprintf(stderr, "Solve 3 joints, 3DOF\n");
151-
Fabrik2D fabrik2D_3_3DOF(3, lengths_3_joints, 10);
152-
success = fabrik2D_3_3DOF.solve(341, 141, 0, lengths_3_joints);
153-
assertEqual(1, success);
154-
155-
assertEqualFloat(341, fabrik2D_3_3DOF.getX(3), fabrik2D_3_3DOF.getTolerance());
156-
assertEqualFloat(141, fabrik2D_3_3DOF.getY(3), fabrik2D_3_3DOF.getTolerance());
157-
158-
assertEqualFloat(141, fabrik2D_3_3DOF.getX(2), fabrik2D_3_3DOF.getTolerance());
159-
assertEqualFloat(141, fabrik2D_3_3DOF.getY(2), fabrik2D_3_3DOF.getTolerance());
160-
161-
// Solve 3 joints, 3DOF, Gripping offset
162-
fprintf(stderr, "Solve 3 joints, 3DOF, Gripping offset\n");
163-
Fabrik2D fabrik2D_3_3DOF_GO(3, lengths_3_joints, 1);
164-
success = fabrik2D_3_3DOF_GO.solve(150, 50, -HALF_PI, 10, lengths_3_joints);
165-
assertEqual(1, success);
166-
167-
assertEqualFloat(150, fabrik2D_3_3DOF_GO.getX(3), fabrik2D_3_3DOF_GO.getTolerance());
168-
assertEqualFloat(60, fabrik2D_3_3DOF_GO.getY(3), fabrik2D_3_3DOF_GO.getTolerance());
169-
170-
assertEqualFloat(150, fabrik2D_3_3DOF_GO.getX(2), fabrik2D_3_3DOF_GO.getTolerance());
171-
assertEqualFloat(260, fabrik2D_3_3DOF_GO.getY(2), fabrik2D_3_3DOF_GO.getTolerance());
172-
173149
// Solve 4 joints, 3DOF
174150
fprintf(stderr, "Solve 4 joints, 3DOF\n");
175151
Fabrik2D fabrik2D_4_3DOF(4, lengths_4_joints, 1);

0 commit comments

Comments
 (0)