feat(manipulation): select grasp proposal backend through module config - #4032
Open
TomCC7 wants to merge 4 commits into
Open
feat(manipulation): select grasp proposal backend through module config#4032TomCC7 wants to merge 4 commits into
TomCC7 wants to merge 4 commits into
Conversation
❌ 7 Tests Failed:
View the full list of 7 ❄️ flaky test(s)
To view more test analytics, go to the Test Analytics Dashboard |
TomCC7
marked this pull request as ready for review
September 10, 2026 19:48
TomCC7
requested review from
Dreamsorcerer,
aclauer,
leshy,
mustafab0,
paul-nechifor and
spomichter
as code owners
September 10, 2026 19:48
Contributor
|
This file contains hidden or 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
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.
Contribution path
Focused refactor following the agreed backend-selection plan; no tracking issue.
Problem
The xArm perception blueprints hardcode the heuristic grasp provider. Selecting GraspGenX requires changing module composition even though the CLI already supports module-config overrides.
Solution
Introduce one GraspProposalModule with a backend selector and separate GraspGenX settings. The xArm blueprints default to heuristic proposals and supply gripper geometry and the TCP transform from XARM_GRASPGENX_CONFIG in the existing xArm config.py. Switching to GraspGenX requires one CLI flag. No additional JSON file is required.
Move the existing algorithms into ordinary backend implementations and remove the old provider modules. Preserve ranked TCP proposals, initialize only the selected backend in a dedicated worker, and report GraspGenX failures without fallback. Update the generated registry and document configuration and proposal inspection.
The gripper profile is derived from MuJoCo finger-pad geometry and link_tcp. Physical calibration and the real blueprint's camera TF and hardware coordinator remain separate work. Pick-and-place still generates a fresh candidate set and attempts its first candidate.
How to Test
If another DimOS instance is running on the default discovery address, select a distinct address with the global --zenoh-scout-addr option to isolate this run.
Validation completed:
AI assistance
Implemented and tested with OpenAI Codex (GPT-6), following the user-reviewed plan.
Checklist