PoseModelStateSpace: Reintroduce Cartesian interpolation#3655
PoseModelStateSpace: Reintroduce Cartesian interpolation#3655rhaschke merged 4 commits intomoveit:masterfrom
Conversation
|
@LeroyR: Can you please test this for your grasping pipeline? |
|
Codecov ReportAttention: Patch coverage is
❗ Your organization needs to install the Codecov GitHub app to enable full functionality. Additional details and impacted files@@ Coverage Diff @@
## master #3655 +/- ##
==========================================
+ Coverage 47.15% 47.23% +0.09%
==========================================
Files 603 604 +1
Lines 58999 59291 +292
Branches 6969 7039 +70
==========================================
+ Hits 27814 28001 +187
- Misses 30773 30872 +99
- Partials 412 418 +6 ☔ View full report in Codecov by Sentry. |
996088c to
17353f2
Compare
|
Having dropped "jump testing", I observed jumps in trajectory again. So, I reintroduced it. The problem with Cartesian interpolation in principle remains, which is a dilemma of the current design:
I tried seeding IK from the
Most Cartesian interpolation approaches yield jumps. Seeding from start state even results in invalid trajectories - having collisions. (Why the hell?) The most smooth approach results from middle seeding + jump testing. However, I'm afraid we cannot fully reject jumps. |
I tested it for @LeroyR. Since our robot is used in a study, I tried it out in a simulation. With this pull request the planning is stuck and seems to be calculating indefinitely (I stopped after waiting ~15 minutes). The searchPositionIK in the kinematic solver is being called repeatedly as can be seen in the moveit_kinematics debug logs. This does not always happen but still very often. This is already the case with the first commit in the PR. |
|
In principle, this PR should use Cartesian interpolation like before #3615.
Did you test the final commit too? |
|
Maybe we should make the interpolation mode configurable via a ROS parameter? |
We didn't had this issues before and we changed no parameters.
Yes, and the problem remains. |
|
Please try then the last commit before #3615. I think you have misconfigured your IK solver somehow. |
Just tried it, seems to work fine with the same configuration. Using other configurations for the IK solver as well as the default one does not solve the issue. |
|
This is weird. Could you give f126e35 a final try? This uses the same old Cartesian interpolation but disables jump checking, which might reject too many states. Seeing calls to |
Unfortunately, the issue remains. |
|
I'm going to merge this. In the current state |




I noticed that #3615 resulted in planning timeouts for code that previously worked. I had to drastically increase the timeout or relax the path constraints to make it work again.
Obviously, using joint-space interpolation much more often results in rejection of tight path constraints than Cartesian interpolation did.
Reintroducing Cartesian interpolation, it turns out that this wasn't really the culprit. Only measuring distances in Cartesian space was.