Skip to content

Commit

Permalink
Merge branch 'master' into planning-progress-exception
Browse files Browse the repository at this point in the history
  • Loading branch information
tomsilver authored Nov 21, 2023
2 parents 83762f9 + 5c029fc commit 90df730
Show file tree
Hide file tree
Showing 6 changed files with 20 additions and 6 deletions.
2 changes: 2 additions & 0 deletions .coveragerc
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ omit =
predicators/envs/kitchen.py
predicators/perception/kitchen_perceiver.py
predicators/ground_truth_models/kitchen/**
# Currently disabled due to flakiness in the SME dependency.
predicators/approaches/sme_pg3_analogy_approach.py

[report]
# Regexes for lines to exclude from consideration
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## Repository Description

This codebase implements a framework for *bilevel planning with learned neuro-symbolic relational abstractions*, as described in [this paper](https://arxiv.org/abs/2203.09634). Several features are concurrently under active development. **Please contact <[email protected]> and <ronuchit@mit.edu> before attempting to use it for your own research.** In particular, this codebase aims to ultimately provide an integrated system for learning the ingredients of search-then-sample bilevel planning with learned abstractions. That includes: options, predicates, operators, and samplers.
This codebase implements a framework for *bilevel planning with learned neuro-symbolic relational abstractions*, as described in [this paper](https://arxiv.org/abs/2203.09634). Several features are concurrently under active development. **Please contact <[email protected]> or <njk@mit.edu> before attempting to use it for your own research.** In particular, this codebase aims to ultimately provide an integrated system for learning the ingredients of search-then-sample bilevel planning with learned abstractions. That includes: options, predicates, operators, and samplers.

### Code Structure

Expand Down
3 changes: 2 additions & 1 deletion predicators/planning.py
Original file line number Diff line number Diff line change
Expand Up @@ -1060,7 +1060,8 @@ def fd_plan_from_sas_file(
metrics: Metrics = defaultdict(float)
num_nodes_expanded = re.findall(r"Expanded (\d+) state", output)
num_nodes_created = re.findall(r"Evaluated (\d+) state", output)
assert len(num_nodes_expanded) == 1
if len(num_nodes_expanded) != 1:
raise PlanningFailure(f"Plan not found with FD! Error: {output}")
assert len(num_nodes_created) == 1
metrics["num_nodes_expanded"] = float(num_nodes_expanded[0])
metrics["num_nodes_created"] = float(num_nodes_created[0])
Expand Down
1 change: 1 addition & 0 deletions tests/approaches/test_oracle_approach.py
Original file line number Diff line number Diff line change
Expand Up @@ -754,6 +754,7 @@ def simulate(self, state, action):
return self._transition_stack(state, x, y, z)

env = _ExternalBlocksEnv()
assert env.get_name() == "external_blocks"

# Create external options by modifying blocks options.
options = set()
Expand Down
10 changes: 8 additions & 2 deletions tests/approaches/test_pg3_analogy_approach.py
Original file line number Diff line number Diff line change
Expand Up @@ -145,8 +145,14 @@ def test_pg3_analogy_approach():
)"""


def test_find_env_analogies():
"""Tests for _find_env_analogies()."""
def _disabled_test_find_env_analogies(): # pragma: no cover
"""Tests for _find_env_analogies().
NOTE: this test is currently disabled because of sudden flakiness in the
SME depedency, despite no changes for months. Since we're not actively
using this code, we're just disabling it, but leaving it here in case we
do want to resurrect the code in the future.
"""
# Test for gripper -> ferry.
base_env = create_new_env("pddl_gripper_procedural_tasks")
base_nsrts = get_gt_nsrts(base_env.get_name(), base_env.predicates,
Expand Down
8 changes: 6 additions & 2 deletions tests/envs/test_pybullet_cover.py
Original file line number Diff line number Diff line change
Expand Up @@ -166,8 +166,12 @@ def test_pybullet_cover_step(env):
assert abs(state.get(block, "pose") - 0.75) < 0.01


def test_pybullet_cover_pick_workspace_bounds(env):
"""Tests for picking at workspace bounds in PyBulletCoverEnv."""
def _disabled_test_pybullet_cover_pick_workspace_bounds(
env): # pragma: no cover
"""Tests for picking at workspace bounds in PyBulletCoverEnv.
This is currently disabled due to nondeterminism issues in IK.
"""
block = Object("block0", env.block_type)
robot = env.robot
workspace_x, workspace_z = env.workspace_dimensions
Expand Down

0 comments on commit 90df730

Please sign in to comment.