Skip to content

Agentic Policy#

One uv subproject per foundation-model stack. The top-level run.sh routes by env id using policy.stack in config/environments/<env>.yaml; per-stack policy backends are built from the same YAML routing fields.

Subproject Envs
gr00t_n15/ — GR00T N1.5 scissor_pick_and_place, assemble_trocar
gr00t_n16/ — GR00T N1.6 locomanip_tray_pick_and_place, locomanip_push_cart
openpi_pi0/ — openpi PI0 ultrasound_liver_scan
workflows/agentic/policy/setup.sh                          # set up every subproject (or pass names to pick)
workflows/agentic/policy/run.sh --list-envs                # show env -> subproject mapping + policy language
workflows/agentic/policy/run.sh --env <env_id> [args...]   # dispatch
workflows/agentic/policy/run.sh --all                      # start every supported policy daemon

Examples#

Start the matching policy daemon for an environment:

workflows/agentic/policy/run.sh --env scissor_pick_and_place
workflows/agentic/policy/run.sh --env locomanip_tray_pick_and_place
workflows/agentic/policy/run.sh --env locomanip_push_cart
workflows/agentic/policy/run.sh --env assemble_trocar
workflows/agentic/policy/run.sh --env ultrasound_liver_scan

Or start every supported policy daemon at once:

workflows/agentic/policy/run.sh --all

Default health ports are configured per env YAML. Policy inference traffic uses per-env Zenoh topics, not TCP inference ports.

For a new env, add routing to its YAML instead of editing policy/run.sh or a stack policy/registry.py:

policy:
  stack: gr00t_n16
  infer_module: policy.template_env.infer.infer  # optional; defaults to policy.<env>.infer.infer
  train_module: policy.template_env.train.train  # optional; defaults to policy.<env>.train.train