AI & ML interests

None defined yet.

Recent Activity

rliskovskis  updated a Space 4 days ago
group05-vcr/README
rliskovskis  published a Space 4 days ago
group05-vcr/README
rliskovskis  published a model 4 days ago
group05-vcr/05-vcr-salami-smolvla-v5
View all activity

Organization Card

group05-vcr · Robotics Pizza Hack 2026

A robot arm that puts cheese and salami on a pizza, learned from human demonstrations. Team group05 (VCR) · Robotics Pizza Hackathon, 2026.

We teach an ElRobot arm (7 joints + gripper, driven by NormaCore Station) two skills by imitation learning: put cheese on pizza (scoop cheese from a bowl, sprinkle it over the pizza) and place salami on pizza (pick one slice from a tray, place it on the pizza). Humans teleoperate a leader arm; we record what the follower arm, two cameras and the joints do, and train policies that reproduce the movement.

Models

Start with 05-vcr-salami-smolvla-v7 for salami (our latest, and the most decent on the real robot) and 05-vcr-cheese-smolvla-v1 for cheese.

Model Task sentence Trained on Notes
05-vcr-salami-smolvla-v7 ⭐ place salami on pizza 33 episodes (SV11–SV14), tails trimmed, pauses cut, image augmentation SmolVLA, 10k steps. Our latest salami model and the one that works most decently on the real robot of everything we tested. Recommended.
05-vcr-salami-smolvla-v2 place salami on pizza same 33 episodes, tails not trimmed, no pause cutting, no augmentation SmolVLA (NormaCore trainer), 15k steps. Our earlier baseline; the first model that worked decently.
05-vcr-salami-pi05-v1 place salami on pizza 44 episodes (SV11–SV19), LeRobot format π0.5 (LeRobot), 15k steps. Runs on a remote GPU; in our test it reached over the tray, closed the gripper next to the slice (missed), moved to the pizza, released and returned home. Built on PaliGemma: Gemma terms of use apply.
05-vcr-cheese-smolvla-v1 ⭐ put cheese on pizza 35 episodes (CV7, CV8), tails trimmed, augmentation SmolVLA, 10k steps. Tests on the robot: works okay-ish too

Every model takes two 224×224 camera pictures (image 0 = table camera, image 1 = arm/gripper camera), the 8 joint positions (normalised 0–1) and the task sentence, and returns a chunk of 50 target joint positions (10 Hz = 5 s).

Datasets

Dataset Content
05-vcr-salami-v2-trim 44 salami episodes, 10,632 frames, tails trimmed to 1 s (parquet from the NormaCore dataset generator)
05-vcr-salami-v2-lerobot the same 44 episodes in LeRobot format (used for π0.5)
05-vcr-salami-new33-trim the first 33 salami episodes (SV11–SV14)
05-vcr-salami-new33-nopause the same 33 episodes with pauses of 0.4 s or more cut to 0.2 s
05-vcr-cheese-v1-trim 35 cheese episodes, 6,547 frames, tails trimmed

Common format: 10 Hz, two JPEG cameras (224×224, table first, arm second), 8 joints (position_norm = state, goal_norm = action), one task sentence per episode. All datasets share one calibration (including the gripper range 1327–2769) and the same rest pose, so a cheese stage and a salami stage can follow each other.

What we learned (honest results)

  • Data quality mattered more than model choice. We found and removed mixed calibrations, glitchy frames, long still tails (59% of the frames near the rest pose were "do nothing"), and episodes that wait 10–15 s before moving.
  • Starting from the exact rest pose is hard: the picture is identical whether the demo said "wait" or "go", so models flip or freeze. Starting from a ready pose above the tray works far better; our runner moves the arm there first.
  • Cutting the pauses out of the demonstrations helped: v7 (same 33 episodes as v2, but with the still tails trimmed, the pauses cut to 0.2 s and image augmentation) is the most decent model we tested on the robot.
  • Open problems: grab precision (few salami positions in the data) and hesitation above the food.
  • Image augmentation lowered the loss on held-out episodes (0.95 vs 1.12 on 4 held-out episodes). We also tested Cosmos 3 Nano (video generation): it keeps motion with edge control, but generating all episodes was too slow for the time we had.

How we run it

Training: NormaCore SmolVLA trainer (and LeRobot for π0.5) on a Nebius GPU. Inference: a small GPU server (FastAPI) holds the models and answers "picture + joints + sentence → next 50 target positions" in about 0.2 s; a runner next to the robot sends the Station frames to it and plays the targets with safety limits (clamped steps, stop on network errors, hand-over from a scripted ready pose).

Team