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

Benchmark parallel planning pipelines #1539

Merged
merged 13 commits into from
Mar 9, 2023

Conversation

sjahr
Copy link
Contributor

@sjahr sjahr commented Aug 26, 2022

Description

Fixes, cleanup and updates benchmarks package + enable benchmarking of parallel planing interface of moveit_cpp. This PR includes only an initial effort for general cleanups, refactorings and improvements of the benchmarks package, since I originally planned to "just add" benchmarking capabilities for parallel planning. Once it is merged, benchmarking is functional again and we can put further effort into it.

Testing

Run the benchmarks with

ros2 launch moveit_ros_benchmarks run_benchmark.launch.py

Once all benchmarks run through, terminate the window.

Afterwards, based a database can be created in the directory where you run the following command:

ros2 run moveit_ros_benchmarks moveit_benchmark_statistics.py /tmp/moveit_benchmarks/*

The results can be visualized with https://plannerarena.org/

If you want to introspect the test database, you use the moveit2_tutorials and run:

ros2 launch moveit2_tutorials persistent_scenes_demo.launch.py

In the Context tab of the RVIZ MotionPlanning window, you can change the path to the host database to the one in the benchmarks package and the scenes can be visualized in the Stored Scenes tab (when the db is successfully loaded).

Checklist

  • Required by CI: Code is auto formatted using clang-format
  • Extend the tutorials / documentation reference
  • Document API changes relevant to the user in the MIGRATION.md notes
  • Create tests, which fail without this PR reference
  • Include a screenshot if changing a GUI
  • While waiting for someone to review your request, please help review another open pull request to support the maintainers

@mergify
Copy link

mergify bot commented Aug 26, 2022

This pull request is in conflict. Could you fix it @sjahr?

@sjahr sjahr changed the title Pr benchmark moveit cpp WIP: Benchmark parallel planning pipelines Aug 26, 2022
@sjahr sjahr force-pushed the pr-benchmark_moveit_cpp branch 2 times, most recently from e9713e3 to 00886ff Compare August 26, 2022 09:51
@codecov
Copy link

codecov bot commented Aug 26, 2022

Codecov Report

Patch coverage has no change and project coverage change: +0.02 🎉

Comparison is base (56f200f) 50.29% compared to head (004e047) 50.31%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1539      +/-   ##
==========================================
+ Coverage   50.29%   50.31%   +0.02%     
==========================================
  Files         374      374              
  Lines       31358    31358              
==========================================
+ Hits        15769    15774       +5     
+ Misses      15589    15584       -5     
Impacted Files Coverage Δ
...e/collision_detection_fcl/src/collision_common.cpp 73.99% <0.00%> (+0.23%) ⬆️
...nning_scene_monitor/src/planning_scene_monitor.cpp 45.69% <0.00%> (+0.44%) ⬆️

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.
📢 Do you have feedback about the report comment? Let us know in this issue.

@mergify
Copy link

mergify bot commented Sep 8, 2022

This pull request is in conflict. Could you fix it @sjahr?

@mergify
Copy link

mergify bot commented Sep 19, 2022

This pull request is in conflict. Could you fix it @sjahr?

1 similar comment
@mergify
Copy link

mergify bot commented Sep 27, 2022

This pull request is in conflict. Could you fix it @sjahr?

@sjahr sjahr force-pushed the pr-benchmark_moveit_cpp branch 2 times, most recently from f25ee38 to fc8e4d8 Compare November 3, 2022 15:25
@mergify
Copy link

mergify bot commented Nov 3, 2022

This pull request is in conflict. Could you fix it @sjahr?

@henningkayser henningkayser marked this pull request as draft November 8, 2022 15:16
@mergify
Copy link

mergify bot commented Nov 21, 2022

This pull request is in conflict. Could you fix it @sjahr?

@mergify
Copy link

mergify bot commented Dec 17, 2022

This pull request is in conflict. Could you fix it @sjahr?

@sjahr sjahr marked this pull request as ready for review January 5, 2023 12:45
@sjahr sjahr changed the title WIP: Benchmark parallel planning pipelines Benchmark parallel planning pipelines Jan 5, 2023
@mergify
Copy link

mergify bot commented Jan 24, 2023

This pull request is in conflict. Could you fix it @sjahr?

@mergify
Copy link

mergify bot commented Feb 14, 2023

This pull request is in conflict. Could you fix it @sjahr?

sjahr added 12 commits March 5, 2023 21:46
Refactor names to make code readable

Use MoveItCpp instead of PlanningPipeline

Update python version in benchmarks script

Remove demo_panda launch file since it also is in moveit_resources

Fix error in demo_panda_predefined_poses.launch.py

Fix uncommented gdb statement

Disable error causing code segments

Fix segfault

Fix formatting

Uncomment non working parts of benchmark_statistics script

Enable two pipelines

Add parallel planning pipeline config

Formatting

Add getParallelPipelineConfigurations()

Evalute parallel planning pipelines

Allow empty planning_pipelines parameter

Make output available in results file

Fixes to enable benchmarking

Fix predefined poses yaml

Remove old launch and yaml files

Add description for Benchmark options and rename parameters

Add warehouse config to MoveIt config

Refactor loadPlanningScene function

Remove outdated demo description

Shutdown after spin()

Add moveit_cpp.yaml for predefined_poses example

Better logging

Formatting + small bug

Fix compiler errors

Additional constructor for MultiPipelinePlanRequestParameters

Fix metrics collection

Track correct parallel planning processing time

Cleanup

Add config and database

Cleanups and fixes

Remove moveit_combine_predefined_poses_benchmark and restructure directory

Cleanup

Benchmark all scenes + AnytimePathShortening

Add start state

Make more robust against potential segfault

Change log level of CHOMP runtime output and change kdl print

Small cleanups

Remove Anytime and simplify + diversify test db

Cleanup and make ready for review

Disable queriesAndPlannersCompatible

Fix clang-tidy

Remove unused function

Remove debug comment

Make planning_scene_storage and object

Pass planning scene correctly and always use moveit_cpp

Update parameters and remove debug comments
@henningkayser henningkayser merged commit 00e10bb into moveit:main Mar 9, 2023
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.

None yet

2 participants