Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update to use transform error diff function for numerical jacobian #386

Conversation

Levi-Armstrong
Copy link
Contributor

No description provided.

@Levi-Armstrong Levi-Armstrong force-pushed the fix/UpdateUseTransformErrorDiffFunc branch from efa8594 to b921e47 Compare February 10, 2024 03:14
@rjoomen
Copy link
Contributor

rjoomen commented Feb 12, 2024

Want me to test this? What exactly does it solve?

@marrts
Copy link
Contributor

marrts commented Feb 13, 2024

Want me to test this? What exactly does it solve?

I believe this is to address the failing PuzzlePieceCppExampleUnit test in tesseract_planning, which I just tested locally and confirmed it does fix that.

@marrts
Copy link
Contributor

marrts commented Feb 13, 2024

Looks like this is failing the Ubuntu job because it's pointing to the 0.21 tag of tesseract and this calls functions in the latest comment which doesn't have a tag. It's also failing Unstable because of some lingering clang-tidy issues. Nominally this seems good to go though.

@Levi-Armstrong
Copy link
Contributor Author

Levi-Armstrong commented Feb 14, 2024

Want me to test this?

That would be great. This should also fix the IFOPT version for the puzzle piece but I have not tested.

What exactly does it solve?

There is a singularity at PI when computing angle axis which when numerically calculating the jacobian you get invalid results. The fix I had before to address worked for the unit tests but was not correct. The new function in tesseract_common does some additional checks to make sure things are correct before taking the difference to avoid the singularity issue when you want to calculate the difference for numerical jacobian.

@Levi-Armstrong Levi-Armstrong force-pushed the fix/UpdateUseTransformErrorDiffFunc branch from b921e47 to bb6dfbe Compare February 14, 2024 14:48
@rjoomen
Copy link
Contributor

rjoomen commented Feb 14, 2024

I just tested all examples, and pick_and_place_example and puzzle_piece_example are working now, great! Only glass_upright_example does not work anymore, and I could not get it to work, by playing with coefficients etc. It does not produce errors, but simply fails to optimize, it stops at the penalty iteration limit.

Could you look into that maybe?

@marrts
Copy link
Contributor

marrts commented Feb 14, 2024

Only glass_upright_example does not work anymore

glass_upright_example passed on my machine when I ran it. I tried enabling the disabled ifopt test and that one appears to fail, is that what you're referring to?

@rjoomen
Copy link
Contributor

rjoomen commented Feb 14, 2024

Indeed, the ifopt version does not work anymore.

@Levi-Armstrong Levi-Armstrong merged commit 29dd2c4 into tesseract-robotics:master Feb 16, 2024
8 of 10 checks passed
@Levi-Armstrong Levi-Armstrong deleted the fix/UpdateUseTransformErrorDiffFunc branch February 16, 2024 05:53
@rjoomen
Copy link
Contributor

rjoomen commented Feb 16, 2024

Indeed, the ifopt version does not work anymore.

Fixed by #387

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants