-
Notifications
You must be signed in to change notification settings - Fork 287
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
Compute the IK error in the target reference frame rather than its parent #1430
Conversation
My memory from writing this is a bit hazy, so I'd need to think more about it to be certain, but if I remember correctly I think I implemented it like this to accurately represent the formal definition of a task space region. I think the difference in the frame of the target and the frame of the bounds is intentional because you may want to represent the desired end effector orientation independently of the coordinates of the constraint limits. A user could accomplish the effect of this PR by creating two
I think this PR would make us lose this flexibility. That being said, I'd be open to optionally allowing users to explicitly specify a reference frame for the bounds of their Task Space Region. It could be added as a property to the |
Codecov Report
@@ Coverage Diff @@
## master #1430 +/- ##
==========================================
+ Coverage 57.99% 58.01% +0.01%
==========================================
Files 412 412
Lines 29861 29860 -1
==========================================
+ Hits 17319 17324 +5
+ Misses 12542 12536 -6
|
@mxgrey Thanks for the clarification. Reading the paper, I got why the parent of the target is used as the reference of bounds in the code; The parent of the target frame is the reference frame of TSR, denoted as In addition to your suggestion (allowing to explicitly specifying the reference frame), I'd like to add a simpler error method that uses the target frame for the reference frame of bounds as well for the users who are not familiar with the TSR's frame conventions. Then the logic in this PR could be in that error method. |
I have nothing against making it a separate error method, but one option to consider is to instead make a function that still returns a |
All sounds good to me! |
@mxgrey, @jslee02 Thanks for the feedback!
This sounds like a good way to go for backward compatibility and flexibility. I'll update the PR and add tests to capture the cases. |
Closing this PR in favor of #1548 |
This allows for relaxing different axis constraints in the target reference frame using existing error weights, e.g. ignoring rotation about the z vector of the target frame.
Before creating a pull request
clang-format
Before merging a pull request
CHANGELOG.md