-
Notifications
You must be signed in to change notification settings - Fork 7
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
Add unit tests for motion plan cache #28
Merged
methylDragon
merged 13 commits into
ch3/plan-cache-code-review-fixes
from
ch3/plan-cache-tests
Nov 27, 2023
Merged
Add unit tests for motion plan cache #28
methylDragon
merged 13 commits into
ch3/plan-cache-code-review-fixes
from
ch3/plan-cache-tests
Nov 27, 2023
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Signed-off-by: methylDragon <[email protected]>
Signed-off-by: methylDragon <[email protected]>
Signed-off-by: methylDragon <[email protected]>
methylDragon
force-pushed
the
ch3/plan-cache-tests
branch
2 times, most recently
from
November 22, 2023 03:38
488df63
to
fdf594c
Compare
Signed-off-by: methylDragon <[email protected]>
methylDragon
force-pushed
the
ch3/plan-cache-tests
branch
from
November 22, 2023 23:05
fdf594c
to
237fb50
Compare
Signed-off-by: methylDragon <[email protected]>
methylDragon
force-pushed
the
ch3/plan-cache-tests
branch
from
November 23, 2023 04:00
ed5ddfb
to
c461fd7
Compare
methylDragon
changed the title
(WIP) Add unit tests for motion plan cache
Add unit tests for motion plan cache
Nov 23, 2023
methylDragon
force-pushed
the
ch3/plan-cache-tests
branch
from
November 23, 2023 04:18
81d5d6b
to
5458b01
Compare
Signed-off-by: methylDragon <[email protected]>
methylDragon
force-pushed
the
ch3/plan-cache-tests
branch
from
November 23, 2023 04:26
5458b01
to
bcbb978
Compare
koonpeng
requested changes
Nov 23, 2023
Still looking at the test contents. |
Signed-off-by: methylDragon <[email protected]>
Signed-off-by: methylDragon <[email protected]>
koonpeng
requested changes
Nov 24, 2023
Signed-off-by: methylDragon <[email protected]>
Signed-off-by: methylDragon <[email protected]>
Signed-off-by: methylDragon <[email protected]>
methylDragon
force-pushed
the
ch3/plan-cache-tests
branch
from
November 26, 2023 05:35
a235d20
to
841a7ca
Compare
Signed-off-by: methylDragon <[email protected]>
koonpeng
approved these changes
Nov 27, 2023
* Add force_cache_mode_execute_read_only Signed-off-by: methylDragon <[email protected]> * Add force_cache_mode_execute_read_only input port Signed-off-by: methylDragon <[email protected]> --------- Signed-off-by: methylDragon <[email protected]>
methylDragon
merged commit Nov 27, 2023
1af731b
into
ch3/plan-cache-code-review-fixes
1 of 2 checks passed
methylDragon
added a commit
that referenced
this pull request
Nov 27, 2023
* Remove query appending macro Signed-off-by: methylDragon <[email protected]> * Default to warehouse_ros plugin if warehouse plugin isn't set Signed-off-by: methylDragon <[email protected]> * Return and use init result Signed-off-by: methylDragon <[email protected]> * Add todo for catching exceptions Signed-off-by: methylDragon <[email protected]> * Implement plan fetching with configurable key Signed-off-by: methylDragon <[email protected]> * Add comments for exact match tolerance Signed-off-by: methylDragon <[email protected]> * Slightly refactor put plan Signed-off-by: methylDragon <[email protected]> * Rename overwrite to delete_worse_plans Signed-off-by: methylDragon <[email protected]> * Split out motion plan cache into its own library Signed-off-by: methylDragon <[email protected]> * Sort constraints for reduced cardinality Signed-off-by: methylDragon <[email protected]> * Rename util function Signed-off-by: methylDragon <[email protected]> * Add todo for is_diff Signed-off-by: methylDragon <[email protected]> * Add unit tests for motion plan cache (#28) * Add count methods Signed-off-by: methylDragon <[email protected]> * Enable shared from this for cache class Signed-off-by: methylDragon <[email protected]> * Add unit test build rules Signed-off-by: methylDragon <[email protected]> * Add tests for motion plan cache (but not cartesian) Signed-off-by: methylDragon <[email protected]> * Fix bugs in cartesian caching Signed-off-by: methylDragon <[email protected]> * Add tests for cartesian plan cache Signed-off-by: methylDragon <[email protected]> * Exit if a test fails Signed-off-by: methylDragon <[email protected]> * Remove gtest import Signed-off-by: methylDragon <[email protected]> * Remove enable_shared_from_this Signed-off-by: methylDragon <[email protected]> * Only check for failure Signed-off-by: methylDragon <[email protected]> * Test half in-tolerance Signed-off-by: methylDragon <[email protected]> * Test different robot cache Signed-off-by: methylDragon <[email protected]> * Add force_cache_mode_execute_read_only (#29) * Add force_cache_mode_execute_read_only Signed-off-by: methylDragon <[email protected]> * Add force_cache_mode_execute_read_only input port Signed-off-by: methylDragon <[email protected]> --------- Signed-off-by: methylDragon <[email protected]> --------- Signed-off-by: methylDragon <[email protected]> --------- Signed-off-by: methylDragon <[email protected]>
Yadunund
pushed a commit
that referenced
this pull request
Dec 4, 2023
* Add cartesian plan caching interfaces Signed-off-by: methylDragon <[email protected]> * Add construct_get_cartesian_plan_request Signed-off-by: methylDragon <[email protected]> * Add goal query and metadata Signed-off-by: methylDragon <[email protected]> * Add start query and metadata Signed-off-by: methylDragon <[email protected]> * Implement top level cache ops Signed-off-by: methylDragon <[email protected]> * Use motion plan cache for cartesian plans Signed-off-by: methylDragon <[email protected]> * Allow mismatched plan frames since we coerce anyway Signed-off-by: methylDragon <[email protected]> * Fix move bug Signed-off-by: methylDragon <[email protected]> * Plan cache code review fixes (sans unit tests) (#26) * Remove query appending macro Signed-off-by: methylDragon <[email protected]> * Default to warehouse_ros plugin if warehouse plugin isn't set Signed-off-by: methylDragon <[email protected]> * Return and use init result Signed-off-by: methylDragon <[email protected]> * Add todo for catching exceptions Signed-off-by: methylDragon <[email protected]> * Implement plan fetching with configurable key Signed-off-by: methylDragon <[email protected]> * Add comments for exact match tolerance Signed-off-by: methylDragon <[email protected]> * Slightly refactor put plan Signed-off-by: methylDragon <[email protected]> * Rename overwrite to delete_worse_plans Signed-off-by: methylDragon <[email protected]> * Split out motion plan cache into its own library Signed-off-by: methylDragon <[email protected]> * Sort constraints for reduced cardinality Signed-off-by: methylDragon <[email protected]> * Rename util function Signed-off-by: methylDragon <[email protected]> * Add todo for is_diff Signed-off-by: methylDragon <[email protected]> * Add unit tests for motion plan cache (#28) * Add count methods Signed-off-by: methylDragon <[email protected]> * Enable shared from this for cache class Signed-off-by: methylDragon <[email protected]> * Add unit test build rules Signed-off-by: methylDragon <[email protected]> * Add tests for motion plan cache (but not cartesian) Signed-off-by: methylDragon <[email protected]> * Fix bugs in cartesian caching Signed-off-by: methylDragon <[email protected]> * Add tests for cartesian plan cache Signed-off-by: methylDragon <[email protected]> * Exit if a test fails Signed-off-by: methylDragon <[email protected]> * Remove gtest import Signed-off-by: methylDragon <[email protected]> * Remove enable_shared_from_this Signed-off-by: methylDragon <[email protected]> * Only check for failure Signed-off-by: methylDragon <[email protected]> * Test half in-tolerance Signed-off-by: methylDragon <[email protected]> * Test different robot cache Signed-off-by: methylDragon <[email protected]> * Add force_cache_mode_execute_read_only (#29) * Add force_cache_mode_execute_read_only Signed-off-by: methylDragon <[email protected]> * Add force_cache_mode_execute_read_only input port Signed-off-by: methylDragon <[email protected]> --------- Signed-off-by: methylDragon <[email protected]> --------- Signed-off-by: methylDragon <[email protected]> --------- Signed-off-by: methylDragon <[email protected]> --------- Signed-off-by: methylDragon <[email protected]>
Yadunund
pushed a commit
that referenced
this pull request
Jan 22, 2024
* Add motion plan cache Signed-off-by: methylDragon <[email protected]> * Switch to snake case for function names Signed-off-by: methylDragon <[email protected]> * Print cache fetch time and key plans on planned execution time Signed-off-by: methylDragon <[email protected]> * Add overwrite_worse_plans param Signed-off-by: methylDragon <[email protected]> * Fix plan fetching printout and don't recache fetched plans Signed-off-by: methylDragon <[email protected]> * Update only use cached plans parameter name Signed-off-by: methylDragon <[email protected]> * Add copyright headers and motion_planner namespace Signed-off-by: methylDragon <[email protected]> * Make motion_plan_cache a unique_ptr instead of shared_ptr Signed-off-by: methylDragon <[email protected]> * Set numerical precision Signed-off-by: methylDragon <[email protected]> * Use enum for planner database mode Signed-off-by: methylDragon <[email protected]> * Rename cache methods to prepare for cartesian caching Signed-off-by: methylDragon <[email protected]> * Add very important warning to cache class Signed-off-by: methylDragon <[email protected]> * Fix access after move bug Signed-off-by: methylDragon <[email protected]> * Remove internal cache node Signed-off-by: methylDragon <[email protected]> * Implement cartesian plan cache (#18) * Add cartesian plan caching interfaces Signed-off-by: methylDragon <[email protected]> * Add construct_get_cartesian_plan_request Signed-off-by: methylDragon <[email protected]> * Add goal query and metadata Signed-off-by: methylDragon <[email protected]> * Add start query and metadata Signed-off-by: methylDragon <[email protected]> * Implement top level cache ops Signed-off-by: methylDragon <[email protected]> * Use motion plan cache for cartesian plans Signed-off-by: methylDragon <[email protected]> * Allow mismatched plan frames since we coerce anyway Signed-off-by: methylDragon <[email protected]> * Fix move bug Signed-off-by: methylDragon <[email protected]> * Plan cache code review fixes (sans unit tests) (#26) * Remove query appending macro Signed-off-by: methylDragon <[email protected]> * Default to warehouse_ros plugin if warehouse plugin isn't set Signed-off-by: methylDragon <[email protected]> * Return and use init result Signed-off-by: methylDragon <[email protected]> * Add todo for catching exceptions Signed-off-by: methylDragon <[email protected]> * Implement plan fetching with configurable key Signed-off-by: methylDragon <[email protected]> * Add comments for exact match tolerance Signed-off-by: methylDragon <[email protected]> * Slightly refactor put plan Signed-off-by: methylDragon <[email protected]> * Rename overwrite to delete_worse_plans Signed-off-by: methylDragon <[email protected]> * Split out motion plan cache into its own library Signed-off-by: methylDragon <[email protected]> * Sort constraints for reduced cardinality Signed-off-by: methylDragon <[email protected]> * Rename util function Signed-off-by: methylDragon <[email protected]> * Add todo for is_diff Signed-off-by: methylDragon <[email protected]> * Add unit tests for motion plan cache (#28) * Add count methods Signed-off-by: methylDragon <[email protected]> * Enable shared from this for cache class Signed-off-by: methylDragon <[email protected]> * Add unit test build rules Signed-off-by: methylDragon <[email protected]> * Add tests for motion plan cache (but not cartesian) Signed-off-by: methylDragon <[email protected]> * Fix bugs in cartesian caching Signed-off-by: methylDragon <[email protected]> * Add tests for cartesian plan cache Signed-off-by: methylDragon <[email protected]> * Exit if a test fails Signed-off-by: methylDragon <[email protected]> * Remove gtest import Signed-off-by: methylDragon <[email protected]> * Remove enable_shared_from_this Signed-off-by: methylDragon <[email protected]> * Only check for failure Signed-off-by: methylDragon <[email protected]> * Test half in-tolerance Signed-off-by: methylDragon <[email protected]> * Test different robot cache Signed-off-by: methylDragon <[email protected]> * Add force_cache_mode_execute_read_only (#29) * Add force_cache_mode_execute_read_only Signed-off-by: methylDragon <[email protected]> * Add force_cache_mode_execute_read_only input port Signed-off-by: methylDragon <[email protected]> --------- Signed-off-by: methylDragon <[email protected]> --------- Signed-off-by: methylDragon <[email protected]> --------- Signed-off-by: methylDragon <[email protected]> --------- Signed-off-by: methylDragon <[email protected]> * Fix nullptr dereference Signed-off-by: methylDragon <[email protected]> * Fix and add motion planner server tests (#30) * Fix and add motion planner server tests Signed-off-by: methylDragon <[email protected]> * Add test deps Signed-off-by: methylDragon <[email protected]> * Add motion planner server test to CI Signed-off-by: methylDragon <[email protected]> --------- Signed-off-by: methylDragon <[email protected]> --------- Signed-off-by: methylDragon <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Built on top of #26 (and all its parents)
Adds comprehensive tests for motion and cartesian plan caching.
The testing uncovered some small bugs which are also fixed in this PR.
Run tests using:
Notes
I apologize in advance for the way I'm doing the testing. Since we need move_group to run, we need launch tests. I tried to make it as neat as possible.
Also I figured using robot descriptions in MoveIt would be best.
Not much way around it if we want easy assertions to bubble up if tests fail.