MCPcopy Index your code
hub / github.com/Learning-and-Intelligent-Systems/proc3s

github.com/Learning-and-Intelligent-Systems/proc3s @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
630 symbols 1,628 edges 17 files 37 documented · 6%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

PRoC3S

Open-source code-release for paper "Trust the PRoC3S: Solving Long-Horizon Robotics Problems with LLMs and Constraint Satisfaction".

Please reach out to Aidan Curtis (curtisa@csail.mit.edu) and Nishanth Kumar (njk@csail.mit.edu) with any questions!

Setup

conda create -n "proc3s" python=3.10
conda activate proc3s
python -m pip install -e .

Add your OpenAI Key

echo "OPENAI_KEY='<YOUR-KEY-HERE>'" > .env

Example commands

The main run file is eval_policy.py. Running a particular domain involves simply creating a config file in the vtamp/config directory and running eval_policy.py using the --config-dir . and --config_name flags.

Here are a few example commands to give you an idea:

# Our approach on a task with goal "draw a rectangle that encloses two obstacles".
python eval_policy.py --config-dir . --config-name=proc3s_draw_star.yaml

# Code as Policies on a RAVENS task with goal "Put three blocks in a line flat on the table"
python eval_policy.py --config-dir=. --config-name=cap_draw_star.yaml

# LLM^3 on a RAVENS task with goal "Put three blocks in a line flat on the table"
python eval_policy.py --config-dir=. --config-name=llm3_draw_star.yaml

To reproduce full paper experiments, see the experiments config folder here

To turn on caching for llm responses, use the +policy.use_cache=true flag. e.g.:

python eval_policy.py --config-dir=. --config-name=ours_raven.yaml +policy.use_cache=true

Finally, to visualize constraint checking, use the vis_debug=true flag. e.g.:

python eval_policy.py --config-dir=. --config-name=ours_raven.yaml vis_debug=true ++render=True

Core symbols most depended-on inside this repo

multiply
called by 15
vtamp/environments/pb_utils.py
get_log_dir
called by 13
vtamp/utils.py
Pose
called by 12
vtamp/environments/pb_utils.py
multiply
called by 11
vtamp/environments/raven/env.py
get_joint_info
called by 10
vtamp/environments/pb_utils.py
from_pbu
called by 10
vtamp/environments/raven_ycb/env.py
update
called by 9
vtamp/environments/utils.py
multiply
called by 9
vtamp/environments/raven_ycb/env.py

Shape

Function 338
Method 215
Class 77

Languages

Python100%

Modules by API surface

vtamp/environments/pb_utils.py344 symbols
vtamp/environments/raven_ycb/env.py64 symbols
vtamp/environments/raven/env.py53 symbols
vtamp/environments/turtle/env.py39 symbols
vtamp/environments/raven/tasks.py38 symbols
vtamp/environments/raven_ycb/tasks.py20 symbols
vtamp/environments/utils.py19 symbols
vtamp/policies/utils.py13 symbols
vtamp/utils.py10 symbols
vtamp/perception/utils.py9 symbols
vtamp/policies/ours/policy.py6 symbols
eval_policy.py6 symbols

For agents

$ claude mcp add proc3s \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact