Multi robot plan repair#25
Open
JY-HIM4U wants to merge 1 commit into
Open
Conversation
Collaborator
|
@JY-HIM4U It looks like the branch in the PR has several commits that have been merged in previously -- this makes the diff too hard to review. Can you clean up the history so that this PR has only the net new content being merged? That will make my review process much easier. |
- omniplanner_msgs: optional 'constraints' field on PddlGoalMsg
- dsg_pddl: constraint-aware multi-robot domain, runtime constraint
injection in grounding, ADT4_FD_* env-var overrides for FD search
- omniplanner_ros: plan-repair cache hooks in pddl_planner_ros, new
opt-in executables (omniplanner_repair_node, goal_manager_node)
9f82781 to
9d8af10
Compare
Contributor
Author
|
I did it. Force-pushed multi_robot_plan_repair to drop the previous noisy commits |
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
Adds opt-in plan repair, plan interruption, and runtime constraint injection on top of the existing multi-robot PDDL pipeline.
Existing
omniplanner_nodebehavior is unchanged.All new functionality is isolated behind separate executables:
omniplanner_repair_nodegoal_manager_nodeNew Capabilities
1. Plan Repair
When a new PDDL goal arrives:
This avoids unnecessary planner calls during incremental task updates.
2. Plan Interruption / Preemption
When replanning is required:
plan_id3. Runtime Constraints
Supports dynamic planning constraints at runtime:
(forbidden-poi ...)(forbidden-edge ...)Constraints can be supplied:
Reviewer Note
This branch includes the previously discussed multi-robot PDDL infrastructure as its base.
This PR focuses only on:
The underlying multi-robot planning infrastructure is not the primary change proposed here.
File Changes
omniplanner_msgsmsg/PddlGoalMsg.msgconstraintsstring fieldExample:
dsg_pddldomains/RegionObjectRearrangementDomain_MultiRobot_FD_Explore_Constraints.pddl(forbidden-poi ?p)(forbidden-edge ?a ?b)goto-poifrom using forbidden targets / edgesdsg_pddl_grounding_multirobot.py:initdsg_pddl_planning.pyAdded optional Fast Downward overrides:
ADT4_FD_ALIASADT4_FD_SEARCHADT4_FD_OVERALL_TIME_LIMITDefaults remain unchanged:
omniplanner_rossrc/omniplanner_ros/last_pddl_plans.py{robot_name -> PddlPlan}src/omniplanner_ros/plan_utils.pyNew helper utilities for:
src/omniplanner_ros/omniplanner_repair_node.pyAdds
OmniPlannerRepairRos:~/constraintstopicsrc/omniplanner_ros/goal_manager_node.pyNew interception node for:
Behavior:
src/omniplanner_ros/pddl_planner_ros.pyset_last_plan(...)calls after plan compilationsetup.pyAdded console scripts:
omniplanner_repair_nodegoal_manager_nodeExisting executables remain unchanged:
omniplanner_nodepddl_plan_rviz_viz