File size: 2,744 Bytes
b0356b6 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 | # rSkill manifest — find-object (kind: playbook)
#
# A symbolic S2 *decision procedure* the Reasoner reads (not a neural policy):
# locate a named object, falling back to bounded commonsense active search and
# finally human handoff. Composes existing read-only + actuating reasoner tools;
# carries no weights and never actuates directly (every motion it triggers is an
# ExecuteRskill → Action chunk → C++ safety kernel).
schema_version: "0.1"
name: "OpenRAL/rskill-playbook-find_object"
version: "0.1.0"
license: "apache-2.0"
role: "s2"
kind: "playbook"
# Embodiment-agnostic — a playbook is gated by capabilities_required, not by a
# specific embodiment. Declared explicitly with the "any" wildcard (never an
# empty list, which the manifest validator rejects).
embodiment_tags: ["any"]
# Real RobotCapabilities flag: locating an object requires a camera. The loader's
# capability gate (openral_rskill.loader.check_capability_flags) raises
# ROSCapabilityMismatch on any robot that does not declare `has_vision: true`,
# or on an unknown flag name — so only real capability fields belong here. The
# navigation / container-opening the SOP performs is gated at runtime by the
# composed tools' own requirements, not by this playbook's flags.
capabilities_required:
has_vision: true
# A playbook actuates nothing itself.
actuators_required: []
# Required field; pinned to 1 like the perception kinds (no Action rows).
chunk_size: 1
# S2 planning budget (~0.2 Hz tick). CI enforces on the reference host.
latency_budget:
per_chunk_ms: 5000.0
description: >
S2 decision procedure: locate a named object, falling back to bounded
commonsense active search and finally human handoff. Composes recall_object,
resolve_place, locate_in_view and NAVIGATE/OPEN skills.
# RSkillAction.PLAN — registry/discovery metadata only (a playbook is role s2,
# never an ExecuteSkill dispatch verb).
actions:
- "plan"
objects:
- "open-vocabulary object"
scenes:
- "kitchen"
- "indoor"
# Provenance citation (a playbook has no weights / upstream model repo, so a
# citation is still required for publish-readiness — CLAUDE.md §6.4). The
# The authoring decision record is private (OpenRAL/management); this points at
# the public stub that explains where it lives.
paper_url: "https://github.com/OpenRAL/openral/blob/master/docs/decisions.md"
# The playbook decision-procedure contract.
playbook:
trigger: "the goal names a physical object whose location is not given"
body_uri: "./PLAYBOOK.md"
composes_tools:
- "recall_object"
- "resolve_place"
- "locate_in_view"
- "execute_rskill"
- "memory_search"
done_predicate: "the target object is confirmed in view at a known pose"
max_steps: 12
|