-
Notifications
You must be signed in to change notification settings - Fork 493
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
gigantic speed up to move group interface #1865
gigantic speed up to move group interface #1865
Conversation
Codecov ReportBase: 50.43% // Head: 50.42% // Decreases project coverage by
Additional details and impacted files@@ Coverage Diff @@
## main #1865 +/- ##
==========================================
- Coverage 50.43% 50.42% -0.00%
==========================================
Files 374 374
Lines 31335 31335
==========================================
- Hits 15801 15799 -2
- Misses 15534 15536 +2
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. ☔ View full report at Codecov. |
(cherry picked from commit 0642ef0) # Conflicts: # moveit_ros/planning_interface/move_group_interface/src/move_group_interface.cpp
(cherry picked from commit 0642ef0)
Thanks guys, if anyone has any other tricks to speed up planning times- I'd love to know! |
I am noticing however with multiple robots that there is a bug somewhere with these actions. Independent of the timeout, but the timeout alleviates it a little bit. For dual robot, the done flag claims it plans both and completes it however only the first robot in the group executes the trajectory while the second robot stays put. Seems to be a bug. I started tracking it but if someone has an idea I'd love to hear your thoughts as I investigate as I am super new with the codebase. I posted in discord's bug's channel about it. Would love a second opinion. |
@ros-planning/moveit-maintainers, why does this code use busy waiting??? There are condition variables for this purpose... |
@azalutsky I did not see a performance increase even after this PR. I was expecting it would increase the performance but did not happen. Did you manage to find any other tricks to decrease planning time for humble? |
If you use move group interface, when you call plan the action has this 100ms latency. |
@azalutsky I am using Move group interface. I actually applied this fix too and it did not change anything. I am getting around 600ms planning time which does not make sense to me at all. For the same setup, I am getting less than 100ms in moveit ROS1 |
Is it possible you're not using moveit2 via source? Did you perhaps install moveit2 through apt-get or didn't colcon build with making sure that the package was built by source? I believe foxy requires some additional output. 600ms is almost guarantee that this change didn't go through from your source -> binary. |
I built it from source and ros2 pkg prefix shows my workspace. For the reference, I am using moveit humble, (2.5.4) |
I find another issue stating that foxy has better performance than humble when it comes to planning times, but I could not test it on my system since I have too many dependencies for humble, I can not change it to foxy easily |
@azalutsky you were right. Somehow, there is a package collision even if ros2 pkg prefix shows the right package. After applying the fix manually, planning time reduced from 600 ms to 170ms. |
Description
This speedup removes the 100ms delay during a planning time, which increases planning times by a substantial amount.
For example, my 2 robot arms without this takes 600ms+ to plan. By reducing this sleep to 1ms the plans are then in the 150ms range.
Please explain the changes you made, including a reference to the related issue if applicable
Checklist