Robotics
LeRobot
English
OpenRAL
rskill
smolvla
vision-language-action
franka_panda
vla
maniskill
maniskill3
manipulation
Instructions to use OpenRAL/rskill-smolvla-franka_panda-maniskill3-bf16 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- LeRobot
How to use OpenRAL/rskill-smolvla-franka_panda-maniskill3-bf16 with LeRobot:
# See https://github.com/huggingface/lerobot?tab=readme-ov-file#installation for more details git clone https://github.com/huggingface/lerobot.git cd lerobot pip install -e .[smolvla]
# Launch finetuning on your dataset python lerobot/scripts/train.py \ --policy.path=OpenRAL/rskill-smolvla-franka_panda-maniskill3-bf16 \ --dataset.repo_id=lerobot/svla_so101_pickplace \ --batch_size=64 \ --steps=20000 \ --output_dir=outputs/train/my_smolvla \ --job_name=my_smolvla_training \ --policy.device=cuda \ --wandb.enable=true
# Run the policy using the record function python -m lerobot.record \ --robot.type=so101_follower \ --robot.port=/dev/ttyACM0 \ # <- Use your port --robot.id=my_blue_follower_arm \ # <- Use your robot id --robot.cameras="{ front: {type: opencv, index_or_path: 8, width: 640, height: 480, fps: 30}}" \ # <- Use your cameras --dataset.single_task="Grasp a lego block and put it in the bin." \ # <- Use the same task description you used in your dataset recording --dataset.repo_id=HF_USER/dataset_name \ # <- This will be the dataset name on HF Hub --dataset.episode_time_s=50 \ --dataset.num_episodes=10 \ --policy.path=OpenRAL/rskill-smolvla-franka_panda-maniskill3-bf16 - Notebooks
- Google Colab
- Kaggle
chore: canonical naming migration
Browse files- rskill.yaml +9 -9
rskill.yaml
CHANGED
|
@@ -40,7 +40,7 @@
|
|
| 40 |
# `dataset_uri`'s `meta/episodes_stats.jsonl`), the processor pair was
|
| 41 |
# rebuilt once via `make_pre_post_processors(policy.config,
|
| 42 |
# dataset_stats=...)` and uploaded to THIS rSkill's own HF repo
|
| 43 |
-
# (OpenRAL/rskill-smolvla-
|
| 44 |
# stats match the checkpoint's baked `normalize_inputs` /
|
| 45 |
# `normalize_targets` buffers exactly, so the processors are faithful to
|
| 46 |
# how the model was trained. The fallback path still exists for any
|
|
@@ -48,11 +48,11 @@
|
|
| 48 |
|
| 49 |
# ββ Identity βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 50 |
schema_version: "0.1"
|
| 51 |
-
name: "OpenRAL/rskill-smolvla-
|
| 52 |
version: "0.1.0"
|
| 53 |
license: "apache-2.0"
|
| 54 |
role: "s1"
|
| 55 |
-
kind: "vla" #
|
| 56 |
|
| 57 |
# ββ Policy identity ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 58 |
model_family: "smolvla"
|
|
@@ -77,7 +77,7 @@ sensors_required:
|
|
| 77 |
min_width: 256
|
| 78 |
min_height: 256
|
| 79 |
|
| 80 |
-
# Output side
|
| 81 |
# franka_panda the loader auto-fills n_dof + vla_action_key from
|
| 82 |
# robots/franka_panda/robot.yaml.
|
| 83 |
actuators_required:
|
|
@@ -101,8 +101,8 @@ weights_uri: "hf://Calvert0921/smolvla_franka_liftcube_1000"
|
|
| 101 |
# downloads exactly these files (and their `state_file` siblings) β no 404,
|
| 102 |
# no dataset-stats recompute at load time.
|
| 103 |
processors:
|
| 104 |
-
preprocessor_uri: "hf://OpenRAL/rskill-smolvla-
|
| 105 |
-
postprocessor_uri: "hf://OpenRAL/rskill-smolvla-
|
| 106 |
# Per-checkpoint knobs the processor JSONs don't encode. The model was
|
| 107 |
# trained on raw SAPIEN renders (no 180Β° flip); cameras need an alias
|
| 108 |
# remap from the in-tree scene-side keys (camera1 / camera2) to the
|
|
@@ -130,7 +130,7 @@ latency_budget:
|
|
| 130 |
paper_url: "https://arxiv.org/abs/2506.01844"
|
| 131 |
dataset_uri: "hf://Calvert0921/SmolVLA_LiftCube_Franka_1000"
|
| 132 |
source_repo: "hf://Calvert0921/smolvla_franka_liftcube_1000"
|
| 133 |
-
# Task-data gate
|
| 134 |
# dataset (a ManiSkill2-style "lift the cube to a height" task) which has NO
|
| 135 |
# equivalent env in ManiSkill3 3.0.1 β MS3 ships PickCube-v1 (grasp + place at
|
| 136 |
# a goal + stay static), a different task. Declaring the (MS3-absent) true task
|
|
@@ -152,7 +152,7 @@ description: >
|
|
| 152 |
Runs end-to-end on ManiSkill3 PickCube-v1 with a live SAPIEN viewer
|
| 153 |
via `openral sim run --view`.
|
| 154 |
|
| 155 |
-
#
|
| 156 |
# "lift" is not in the RSkillAction enum; the lift motion is expressed
|
| 157 |
# as a pick (the post-grasp upward motion is implicit in the policy's
|
| 158 |
# closed-loop control).
|
|
@@ -164,7 +164,7 @@ objects:
|
|
| 164 |
scenes:
|
| 165 |
- "tabletop"
|
| 166 |
|
| 167 |
-
#
|
| 168 |
# to bind the LeRobot v3 `action` feature shape).
|
| 169 |
action_contract:
|
| 170 |
dim: 8
|
|
|
|
| 40 |
# `dataset_uri`'s `meta/episodes_stats.jsonl`), the processor pair was
|
| 41 |
# rebuilt once via `make_pre_post_processors(policy.config,
|
| 42 |
# dataset_stats=...)` and uploaded to THIS rSkill's own HF repo
|
| 43 |
+
# (OpenRAL/rskill-smolvla-franka_panda-maniskill3-bf16). The rebuilt normalizer
|
| 44 |
# stats match the checkpoint's baked `normalize_inputs` /
|
| 45 |
# `normalize_targets` buffers exactly, so the processors are faithful to
|
| 46 |
# how the model was trained. The fallback path still exists for any
|
|
|
|
| 48 |
|
| 49 |
# ββ Identity βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 50 |
schema_version: "0.1"
|
| 51 |
+
name: "OpenRAL/rskill-smolvla-franka_panda-maniskill3-bf16"
|
| 52 |
version: "0.1.0"
|
| 53 |
license: "apache-2.0"
|
| 54 |
role: "s1"
|
| 55 |
+
kind: "vla" # rSkill kind discriminator. "vla" = learnable Vision-Language-Action policy.
|
| 56 |
|
| 57 |
# ββ Policy identity ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 58 |
model_family: "smolvla"
|
|
|
|
| 77 |
min_width: 256
|
| 78 |
min_height: 256
|
| 79 |
|
| 80 |
+
# Output side. 7 arm joints + 1 gripper command. For
|
| 81 |
# franka_panda the loader auto-fills n_dof + vla_action_key from
|
| 82 |
# robots/franka_panda/robot.yaml.
|
| 83 |
actuators_required:
|
|
|
|
| 101 |
# downloads exactly these files (and their `state_file` siblings) β no 404,
|
| 102 |
# no dataset-stats recompute at load time.
|
| 103 |
processors:
|
| 104 |
+
preprocessor_uri: "hf://OpenRAL/rskill-smolvla-franka_panda-maniskill3-bf16/policy_preprocessor.json"
|
| 105 |
+
postprocessor_uri: "hf://OpenRAL/rskill-smolvla-franka_panda-maniskill3-bf16/policy_postprocessor.json"
|
| 106 |
# Per-checkpoint knobs the processor JSONs don't encode. The model was
|
| 107 |
# trained on raw SAPIEN renders (no 180Β° flip); cameras need an alias
|
| 108 |
# remap from the in-tree scene-side keys (camera1 / camera2) to the
|
|
|
|
| 130 |
paper_url: "https://arxiv.org/abs/2506.01844"
|
| 131 |
dataset_uri: "hf://Calvert0921/SmolVLA_LiftCube_Franka_1000"
|
| 132 |
source_repo: "hf://Calvert0921/smolvla_franka_liftcube_1000"
|
| 133 |
+
# Task-data gate: this checkpoint was trained on the *LiftCube*
|
| 134 |
# dataset (a ManiSkill2-style "lift the cube to a height" task) which has NO
|
| 135 |
# equivalent env in ManiSkill3 3.0.1 β MS3 ships PickCube-v1 (grasp + place at
|
| 136 |
# a goal + stay static), a different task. Declaring the (MS3-absent) true task
|
|
|
|
| 152 |
Runs end-to-end on ManiSkill3 PickCube-v1 with a live SAPIEN viewer
|
| 153 |
via `openral sim run --view`.
|
| 154 |
|
| 155 |
+
# Action vocabulary surfaced to the reasoner LLM tool palette.
|
| 156 |
# "lift" is not in the RSkillAction enum; the lift motion is expressed
|
| 157 |
# as a pick (the post-grasp upward motion is implicit in the policy's
|
| 158 |
# closed-loop control).
|
|
|
|
| 164 |
scenes:
|
| 165 |
- "tabletop"
|
| 166 |
|
| 167 |
+
# Per-checkpoint action contract (consumed by the dataset bridge
|
| 168 |
# to bind the LeRobot v3 `action` feature shape).
|
| 169 |
action_contract:
|
| 170 |
dim: 8
|