Draft
Conversation
…nvergence stepping
## Summary Add IK feasibility heuristic to A* planner with multi-demo collection ## Detailed description - **What was the reason for the change?** The A* symbolic planner in `droid_v3_tabletop_pick_and_place` only used Euclidean distance as its heuristic, with no awareness of whether the robot could actually reach grasp/place poses. This led to wasted sim time executing doomed pick-and-place sequences on kinematically infeasible layouts. There was also no support for collecting multiple successful demos in a loop. - **What has been changed?** - Added `ik_utils.py` with standalone `check_ik_feasibility()` and `get_current_joint_config()` functions that wrap cuRobo's IK solver with user-controllable position/rotation thresholds and seed chaining. Kept outside the IsaacLab submodule so changes can be committed directly to Arena. - Modified the A* planner in `plan_pick_order()` to evaluate IK as a sequential kinematic chain (home → grasp(1) → place(1) → grasp(2) → ...), seeding each IK solve from the previous solution. Orderings with IK failures are penalized so A* prefers feasible sequences. Now returns `(order, total_ik_penalty)`. - Added a demo collection loop to the run script (`--num_demos`, `--max_attempts`). Layouts with any IK penalty are skipped immediately and re-randomized, avoiding ~30s of wasted sim time per infeasible layout. - Added `--ik_pos_threshold` and `--ik_rot_threshold` CLI args to control IK feasibility sensitivity. - **What is the impact of this change?** The planner now filters out unreachable layouts before execution (~1s IK check vs 30s+ failed sim run), making multi-demo data collection practical. The A* produces pick orderings that are guaranteed IK-feasible when such an ordering exists. Users can tune feasibility sensitivity via CLI thresholds and collect N successful demos with a single command.
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.
Summary
Experimental project
Detailed description