AdrianLlopart commited on
Commit
f99025c
Β·
verified Β·
1 Parent(s): f543f5e

docs: HF model card for OpenRAL/rskill-playbook-stage_for_manipulation v0.1.0

Browse files
Files changed (1) hide show
  1. README.md +101 -0
README.md ADDED
@@ -0,0 +1,101 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ language:
3
+ - en
4
+ license: apache-2.0
5
+ pipeline_tag: robotics
6
+ tags:
7
+ - OpenRAL
8
+ - rskill
9
+ - any
10
+ inference: false
11
+ ---
12
+
13
+ # rskill-playbook-stage_for_manipulation
14
+
15
+ A `kind: playbook` rSkill: a symbolic S2 **decision procedure** the
16
+ Reasoner reads, not a neural policy. It carries no weights β€” the authored
17
+ [`PLAYBOOK.md`](./PLAYBOOK.md) *is* its runtime.
18
+
19
+ ## What this skill does
20
+
21
+ Moves the robot into a manipulation skill's declared pre-grasp / `starting_pose`
22
+ and **verifies** it before the manipulation policy runs, reducing grasp failures
23
+ caused by a bad initial pose. It reads the target skill's `starting_pose`,
24
+ optionally navigates a mobile base so the target sits inside the arm's workspace,
25
+ drives the arm to the pre-grasp through the collision-aware MoveGroup approach
26
+ skill, confirms the pose with `query_scene`, and only then hands
27
+ control back. Concrete walkthrough: the black-bowl example in
28
+ [`PLAYBOOK.md`](./PLAYBOOK.md).
29
+
30
+ ## How it works
31
+
32
+ This playbook is **content, not code**. When installed, the reasoner injects
33
+ `PLAYBOOK.md` into its system prompt and follows the SOP, composing tools it
34
+ already has (`resolve_place`, `execute_rskill`, `query_scene`, `memory_write`). It
35
+ is `role: s2` and is **never** dispatched through `ExecuteSkill`. Every motion it
36
+ triggers is an `execute_rskill` β†’ Action chunk β†’ C++ safety kernel β€” the playbook
37
+ holds no actuation authority (CLAUDE.md Β§1.1).
38
+
39
+ ### Observation β†’ action contract
40
+
41
+ None. A playbook emits no `Action` chunks and requires no actuators
42
+ (`actuators_required: []`, `chunk_size: 1`). Its "output" is the sequence of
43
+ tool calls the reasoner makes while following the SOP, bounded by
44
+ `playbook.max_steps`.
45
+
46
+ ## How it was authored / Upstream provenance
47
+
48
+ N/A β€” a playbook is **hand-authored**, not trained: it has no weights and no
49
+ upstream model. Its provenance is the authoring decision record
50
+ (also linked via `paper_url`). To change behaviour, edit `PLAYBOOK.md` and bump
51
+ `version`.
52
+
53
+ ## Supported robots
54
+
55
+ Embodiment-agnostic β€” declares the explicit wildcard `embodiment_tags: ["any"]`
56
+ (never an empty list). Gated by `capabilities_required`
57
+ (`has_vision: true` β€” a real `RobotCapabilities` flag): the loader filters it out
58
+ on robots without a camera (the pre-grasp verification needs vision). Arm motion /
59
+ navigation are gated at runtime by the composed tools, not by this playbook's
60
+ flags.
61
+
62
+ ## Sensors required
63
+
64
+ None directly. The tools it composes declare their own sensor needs.
65
+
66
+ ## Manifest summary
67
+
68
+ - `kind: playbook`, `role: s2`, `actions: [plan]`, `chunk_size: 1`.
69
+ - `playbook.trigger`: a manipulation skill declares a starting_pose / pre-grasp the robot is not currently in.
70
+ - `playbook.done_predicate`: the robot is in the skill's declared pre-grasp / starting pose, verified, and ready to dispatch the manipulation.
71
+ - `playbook.max_steps`: 8.
72
+
73
+ ## Quick start
74
+
75
+ ```python
76
+ from openral_core.schemas import RSkillManifest
77
+
78
+ m = RSkillManifest.from_yaml("rskills/stage-for-manipulation/rskill.yaml")
79
+ assert m.kind == "playbook" and m.playbook is not None
80
+ print(m.playbook.trigger)
81
+ ```
82
+
83
+ ## Reproduction
84
+
85
+ Packaging-only: the manifest + SOP are validated by
86
+ `tests/unit/test_playbook_rskill_manifest.py`. There is no benchmark number to
87
+ reproduce; the playbook's behaviour is exercised by the reasoner integration
88
+ tests in later phases.
89
+
90
+ ## Evaluation
91
+
92
+ N/A β€” no `eval/*.json`; a playbook produces no benchmarkable policy output.
93
+
94
+ ## License
95
+
96
+ - **Code / content:** Apache-2.0.
97
+ - **Weights:** none.
98
+
99
+ ## See also
100
+
101
+ - [`PLAYBOOK.md`](./PLAYBOOK.md) β€” the decision procedure itself.