OpenRAL
AI & ML interests
AI, Robotics
Recent Activity
OpenRAL
An open-source operating layer for embodied AI, OpenRAL unifies fast policies, slow reasoning, and classical control into one typed, traceable, safety-first runtime for deployable robot agents.
A VLA model alone can't run on your robot. It needs a camera pipeline, an observation normaliser, an action de-normaliser, a safety wrapper, a replanning layer when it fails, and a way to log everything for later fine-tuning. OpenRAL is that infrastructure.
- Typed runtime: eight well-defined layers connected by Pydantic v2 contracts. No magic globals, no hidden retries.
- rSkill format: Hub repos containing weights, a
rskill.yamlmanifest, quantisation hints, latency budgets, and reproducibleeval/. Install like a model. - Dual-system planning: a fast visuomotor policy (S1, 30–200 Hz) and a slow LLM planner (S2) emitting typed tool-calls. Replanning is bounded and explicit.
- Safety kernel: deny-by-default, Python proposes, C++ disposes.
ROSSafetyViolationis never silently caught.
Get started
# Install (no clone needed)
curl -fsSL https://raw.githubusercontent.com/OpenRAL/openral/master/scripts/install.sh | bash
openral doctor
# Browse and install a skill
openral rskill list
openral rskill install OpenRAL/rskill-smolvla-libero
# Run a simulated rollout
just sim-libero
# Deploy to hardware
openral deploy run --config deployments/so100_pickplace.yaml
Architecture
What's in this organization
| Type | What | Count |
|---|---|---|
rskill-* models | VLA policy rSkills: VLA weights + ROS-wrapped action skill + manifest + eval | 20 |
rskill-* models | ROS-action rSkills (kind: ros_action): classical motion planners (MoveIt MoveGroup, Nav2) the reasoner dispatches like any other skill | 4 |
rskill-* models | Perception detector rSkills (kind: detector): RT-DETR + OmDet-Turbo + LocateAnything → ObjectsMetadata | 5 |
rskill-* models | Scene-understanding VLM rSkill (kind: vlm): drives the reasoner's read-only query_scene tool | 1 |
rskill-* models | Reward / progress-monitor rSkill (kind: reward): robotic reward model run parallel to a VLA; drives the reasoner's read-only query_task_progress tool | 1 |
dataset-* | LeRobotDataset v3 demonstration datasets | growing |
Policy rSkills
Each rSkill is a self-contained Hub repo: rskill.yaml manifest, model.safetensors weights, eval/ results, and a model card with runnable examples. Install with openral rskill install OpenRAL/rskill-<name>. The table below shows a representative subset of the 20 VLA policy rSkills; classical motion planners ship as separate ros_action rSkills (see below).
| rSkill | Backbone | Target robot | License |
|---|---|---|---|
rskill-smolvla-libero |
SmolVLA | Franka Panda | Apache-2.0 |
rskill-smolvla-metaworld |
SmolVLA | Rethink Sawyer | Apache-2.0 |
rskill-smolvla-maniskill-franka |
SmolVLA × ManiSkill3 | Franka Panda | Apache-2.0 |
rskill-xvla-libero |
xVLA (Florence-2) | Franka Panda | Apache-2.0 |
rskill-act-libero |
ACT | Franka Panda | Apache-2.0 |
rskill-act-aloha |
ACT | ALOHA bimanual | MIT |
rskill-act-aloha-insertion |
ACT (peg insertion) | ALOHA bimanual | MIT |
rskill-diffusion-pusht |
Diffusion Policy | PushT 2-D | Apache-2.0 |
rskill-molmoact2-libero-nf4 |
MolmoAct2 NF4 (~5.5 B) | Franka Panda | Apache-2.0 |
rskill-molmoact2-so101-nf4 |
MolmoAct2 NF4 | SO-101 | Apache-2.0 |
rskill-pi05-libero-nf4 |
π0.5 NF4 | Franka Panda | Research (weights non-Apache) |
rskill-pi05-robocasa365-human300-nf4 |
π0.5 NF4 | Panda Mobile | Research (weights) |
rskill-rldx1-ft-libero-nf4 |
RLDX-1 fine-tuned | Franka Panda | RLWRLD non-commercial |
rskill-rldx1-ft-gr1-nf4 |
RLDX-1 (GR1 bimanual) | Fourier GR1 | RLWRLD non-commercial |
rskill-rldx1-ft-simpler-widowx-nf4 |
RLDX-1 (SimplerEnv) | WidowX | RLWRLD non-commercial |
rskill-gr00t-n17-libero |
GR00T N1.7 | Franka Panda | NVIDIA Open Model |
rskill-openvla-oft-simpler-widowx-nf4 |
OpenVLA-OFT NF4 (RLinf PPO, ManiSkill3) | WidowX | MIT |
ROS-action rSkills
kind: ros_action. Classical motion planners packaged as rSkills, so the S2 reasoner dispatches a MoveIt or Nav2 motion exactly like a learned policy (this is the "VLA and classical controllers" thesis). No weights; they wrap a ROS 2 action server.
| rSkill | Planner | What it does | License |
|---|---|---|---|
rskill-moveit-eef-pose |
MoveIt MoveGroup | Collision-free motion to a 6-DOF Cartesian end-effector pose (e.g. a pre-grasp) | Apache-2.0 |
rskill-moveit-joints |
MoveIt MoveGroup | Collision-free motion to a target joint configuration (e.g. a policy's in-distribution start pose) | Apache-2.0 |
rskill-moveit-look-at |
MoveIt MoveGroup | Aim a wrist-mounted camera at a 3-D point so a later perception query / grasp sees the object framed | Apache-2.0 |
rskill-nav2-navigate-to-pose |
Nav2 NavigateToPose | Drive a mobile base to an absolute (map) or relative (base_link) goal pose |
Apache-2.0 |
Perception detector rSkills
kind: detector. Emit ObjectsMetadata (2D detections lifted to 3D via depth) rather than an Action. Plug directly into the openral deploy graph and fold into World State.
| rSkill | Backbone | Notes | License |
|---|---|---|---|
rskill-rtdetr-coco-r18 |
RT-DETR R18 | Lightweight ONNX | Apache-2.0 |
rskill-rtdetr-v2-r50vd |
RT-DETR v2 R50vd | Higher accuracy | Apache-2.0 |
rskill-omdet-turbo-indoor |
OmDet-Turbo (Swin-tiny) | Real-time open-vocab; ~230-class indoor vocabulary, unprompted background producer | Apache-2.0 |
rskill-omdet-turbo-locator |
OmDet-Turbo (Swin-tiny) | On-demand locate_in_view: lightweight in-process "find X" |
Apache-2.0 |
rskill-locateanything-3b-nf4 |
LocateAnything-3B | Open vocabulary (out-of-process NF4 sidecar) | NVIDIA non-commercial |
Scene-understanding VLM rSkill
kind: vlm. A scene VLM that answers open-ended questions about the current view. It powers the S2 reasoner's read-only query_scene tool for task-progress / success verification ("did the grasp succeed?"); it holds no actuation authority (ADR-0047). Runs out-of-process in an NF4 sidecar served by scene_vlm_node.
| rSkill | Backbone | Notes | License |
|---|---|---|---|
rskill-qwen35-4b-nf4 |
Qwen3.5-4B NF4 (~2.5 GB) | Reasoner query_scene tool · role s2 |
Apache-2.0 |
Reward-monitor rSkill
kind: reward. A robotic reward / progress-monitor model that runs in parallel with a VLA and scores the live rollout, emitting per-frame normalised progress (0–1) and success probability. It powers the S2 reasoner's read-only query_task_progress tool ("is the task succeeding right now?"); advisory, never on the control path (ADR-0057). Runs out-of-process in an NF4 sidecar served by reward_monitor_node; the pre-quantized checkpoint is meta-loaded directly as 4-bit.
| rSkill | Backbone | Notes | License |
|---|---|---|---|
rskill-robometer-4b-nf4 |
Robometer-4B / Qwen3-VL-4B NF4 (~3.3 GB) | Reasoner query_task_progress tool · role s2 · fits 8 GB alongside a small VLA |
Apache-2.0 |
Free for any use
Research-permissive weights (check upstream terms)
Non-commercial: requires OPENRAL_ACCEPT_NONCOMMERCIAL=1
rSkill manifest format
# rskills/smolvla-libero/rskill.yaml (excerpt)
name: "OpenRAL/rskill-smolvla-libero"
version: "0.1.0"
license: "apache-2.0"
role: "s1"
embodiment_tags: ["franka_panda"]
sensors_required:
- modality: "rgb"
vla_feature_key: "observation.images.camera1"
latency_budget_ms: 120
quantization: null
Supported robots
Hardware + sim
Sim: HW bring-up in progress
Sim (eval only)
Benchmarks
12 benchmark scenes across LIBERO, MetaWorld, ManiSkill3, SimplerEnv, RoboCasa, gym-aloha, and gym-pusht. Every rSkill ships reproducible eval/<benchmark>.json you can regenerate locally:
openral benchmark run \
--suite libero_spatial \
--vla smolvla:rskill://OpenRAL/rskill-smolvla-libero
openral benchmark report
Observability & data flywheel
Every skill execution is an OpenTelemetry span: weights revision pinned, camera frames captured, LLM prompts logged. Traces replay as LeRobotDataset v3 rows, closing the loop from deployment back to training data.
openral dashboard # OTLP receiver at :4318, live trace viewer
License
Everything in this organization is Apache-2.0. The entire codebase ships under the same permissive license.
rSkill weights are governed by their own upstream licenses (Apache-2.0 / MIT / research-permissive / RLWRLD non-commercial). The loader surfaces each weight's posture at install time. This is third-party license lineage for models OpenRAL does not own; it does not affect the Apache-2.0 license of OpenRAL's own code.