AdrianLlopart's picture
chore: publish rSkill OpenRAL/rskill-playbook-find_object v0.1.0
b0356b6 verified
Raw
History Blame Contribute Delete
2.74 kB
# 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