# rSkill manifest — RT-DETR COCO detector (kind: detector) # # Packages a PaddlePaddle RT-DETR-L model exported to ONNX for use as # an OpenRAL perception producer. The skill runs on the camera tee and # publishes ObjectsMetadata to /openral/perception/objects. # # This is a pure perception producer: it emits no Action chunks, drives # no actuators, and has no proprioception contract. The runtime # ObjectsDetector (openral_perception) reads the detector block at # configure time to initialise the ONNX session and label map. # # LICENSE: weights are Apache-2.0 (PaddlePaddle RT-DETR public release). schema_version: "0.1" name: "OpenRAL/rskill-rtdetr_coco_r18-any-coco-fp32" version: "0.1.0" license: "apache-2.0" role: "s1" kind: "detector" # Perception producer; emits ObjectsMetadata, no Action # ── Compatibility contract ────────────────────────────────────────────────── # embodiment-agnostic: a perception rSkill (detector/vlm) needs only an RGB # camera, not a specific robot. The rSkill<->robot gate exempts these kinds # (loader._EMBODIMENT_AGNOSTIC_KINDS), so the tag list is empty — # it matches any robot/scene. embodiment_tags: ["any"] # explicit embodiment-agnostic wildcard # The detector reads any RGB camera stream. vla_feature_key is omitted so # the loader accepts any camera key, not just "camera1". sensors_required: - modality: "rgb" min_width: 640 min_height: 480 # Detectors command no actuators. actuators_required: [] # ── Runtime / weights ─────────────────────────────────────────────────────── runtime: "onnx" quantization: dtype: "fp32" backend: "onnx" # RT-DETR-L exported to ONNX. References the in-tree rSkill package. # The loader resolves local:// to the local rskills// directory. weights_uri: "local://rskills/rtdetr-coco-r18" # ── Execution semantics ───────────────────────────────────────────────────── # chunk_size is 1: the detector runs per-frame. The safety supervisor never # sees detector output (no Action chunks), but chunk_size=1 keeps the # execution tick consistent with the camera frame rate. chunk_size: 1 latency_budget: # RT-DETR-L on an NVIDIA GPU is typically 15-30 ms; allow 50 ms budget # to cover CPU fallback on smaller hosts. per_chunk_ms: 50.0 # ── Detector contract ──────────────────────────────────────────────────── # 80 COCO labels (subset shown for readability — full list matches the # 0-indexed COCO category order used by the exported model). detector: # Always-on background producer (publishes ObjectsMetadata to # WorldState; not the on-demand locate_in_view locator). mode: "continuous" labels: - "person" - "bicycle" - "car" - "motorcycle" - "airplane" - "bus" - "train" - "truck" - "boat" - "traffic light" - "fire hydrant" - "stop sign" - "parking meter" - "bench" - "bird" - "cat" - "dog" - "horse" - "sheep" - "cow" - "elephant" - "bear" - "zebra" - "giraffe" - "backpack" - "umbrella" - "handbag" - "tie" - "suitcase" - "frisbee" - "skis" - "snowboard" - "sports ball" - "kite" - "baseball bat" - "baseball glove" - "skateboard" - "surfboard" - "tennis racket" - "bottle" - "wine glass" - "cup" - "fork" - "knife" - "spoon" - "bowl" - "banana" - "apple" - "sandwich" - "orange" - "broccoli" - "carrot" - "hot dog" - "pizza" - "donut" - "cake" - "chair" - "couch" - "potted plant" - "bed" - "dining table" - "toilet" - "tv" - "laptop" - "mouse" - "remote" - "keyboard" - "cell phone" - "microwave" - "oven" - "toaster" - "sink" - "refrigerator" - "book" - "clock" - "vase" - "scissors" - "teddy bear" - "hair drier" - "toothbrush" input_size: [640, 640] score_threshold: 0.7 # ── Provenance ────────────────────────────────────────────────────────────── paper_url: "https://arxiv.org/abs/2304.08069" source_repo: "hf://PekingU/rtdetr_r18vd_coco_o365" description: > RT-DETR-L (Real-Time DEtection TRansformer, large variant) trained on COCO and exported to ONNX. Runs on the camera tee and publishes ObjectsMetadata to /openral/perception/objects. 80 COCO categories. Apache-2.0 weights. Reference latency ~20 ms on GPU, ~45 ms on CPU. This is the detector rSkill kind contract. # Action vocabulary for the reasoner LLM tool palette. # DETECT signals that this skill is a perception producer. actions: - "detect" objects: - "person" - "cup" - "bottle" - "bowl" - "chair" - "table" scenes: - "tabletop" - "kitchen" - "indoor"