-
Notifications
You must be signed in to change notification settings - Fork 21
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Add approximate solution joint jump threshold parameter #42
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This seems good if it is useful in your testing. Let me know when you'd like me to cut a release.
I see the ci failures and will fix those for you separately. |
I think I just fixed it, was just testing this branch on an older version of Not sure if I want to merge this yet, so let's hang on until I take this out of draft? When I'm back from vacation I may want to spend a little more time chasing down the root cause instead of slapping yet another parameter on this, if possible. Specifically, I'm not entirely sure why the position/orientation thresholds passed when the arm was clearly teleporting a large distance, and why the joint angle check is even needed. |
I took a closer look and everything seems in order... I even checked the thread-safeness of the forward kinematics function thinking maybe something was off there? This might just be a necessary parameter because approx. solutions with the global solver can really make the arm teleport to a redundant solution. |
I finally found what's going on. It's actually nothing to do with When MoveIt servo is near a singularity, the Jacobian based twist computation puts the target pose to really weird places. When using a local solver like the built-in one in Servo, KDL, or even So... not to brag or anything, but anyways, adding in this extra "distance from initial joint config" parameter helps protect against these big jumps when the end effector is where it was commanded, but that just happens to be really far from the robot's current state. |
We have seen some joint jumps when using
pick_ik
with MoveIt Servo, where approximate solutions are enabled.This seems to me like a workaround to a deeper bug that we haven't yet found, so keeping in draft for now.