Simple Implementation accompanying the Robotics: Science and Systems (RSS) 2026 paper Hypothesis-driven Model Expansion under Uncertainty for Open-World Robot Planning (paper).
HUME performs task planning with incomplete world models. Knowledge gaps are represented as hypotheses, incorporated into a symbolic model, evaluated through planning and execution, and revised using grounded feedback.This release contains two simulation domains:
- Block Processing World: symbolic manipulation with latent processor effects.
- Mobile Manipulation World (Simulation): household navigation and manipulation in AI2-THOR/ProcTHOR.
This release excludes the real-robot and appliance-operation components because of the substantial systems engineering effort involved. However, most implementation details are provided in the appendix of our paper.
For questions about the real-robot system or potential collaborations, please contact anxingxiao@gmail.com.
HUME requires Python 3.8 or later. Python environments and dependencies are managed with uv:
curl -LsSf https://astral.sh/uv/install.sh | sh
uv sync --all-extrasThe lockfile records the complete Python environment for both domains. Run Python commands through uv run; manual virtual-environment activation is unnecessary.
Symbolic variants require Fast Downward. On Ubuntu, install its build prerequisites and run the provided installer:
sudo apt-get install build-essential cmake git
bash scripts/install_fast_downward.sh
export HUME_FAST_DOWNWARD="$PWD/.tools/fast-downward/fast-downward.py"The installer clones and compiles Fast Downward under .tools/, which is excluded from version control. A different destination may be supplied as its first argument.
Model-backed variants require OPENAI_API_KEY. AI2-THOR and ProcTHOR are installed by uv sync --all-extras; mobile experiments also require a compatible graphics environment.
uv run pytest -qThe focused test suite includes two representative planner cases per domain and solver regression tests. It does not run the complete experiment sweeps.
The five configurations are llm_nh_nv, llm_h_nv, llm_h_v, pddl_h_nv, and pddl_h_v.
A complete experimental sweep for one domain incurs approximately US$100 in API charges.
# Block Processing World
uv run python -m experiments.block_processing.run \
--planner_type pddl_h_v --model_index normal
# Mobile Manipulation World
uv run python -m experiments.mobile_manipulation.run \
--planner_type pddl_h_v --model_index normal --start 1For bounded runs, add --limit N --output-tag TAG; interrupted runs support --resume. Traces, aggregate tables, and figures are written under runs/ and results/. Both directories are excluded from version control.
Generate figures from local experiment outputs with:
uv run python -m experiments.block_processing.plot_results
uv run python -m experiments.mobile_manipulation.plot_results@inproceedings{xiao2026hypothesis,
title = {Hypothesis-driven Model Expansion under Uncertainty for Open-World Robot Planning},
author = {Xiao, Anxing and Zhang, Hanbo and Hu, Tianrun and Hsu, David},
booktitle = {Robotics: Science and Systems (RSS)},
year = {2026}
}This project is released under the MIT License.
