Robotics
LeRobot
Safetensors
smolvla
so101
vla
pick-and-place

so101_pick_place_pen_smolvla

A SmolVLA vision-language-action policy fine-tuned with LeRobot for a pick-and-place pen task on the SO-101 robot arm.

์ด ๋ชจ๋ธ์€ SO-101 ๋กœ๋ด‡ ํŒ”์—์„œ ํŽœ ์ง‘์–ด ์˜ฎ๊ธฐ๊ธฐ(pick-and-place) ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋„๋ก LeRobot์œผ๋กœ ํŒŒ์ธํŠœ๋‹ํ•œ SmolVLA ๋น„์ „-์–ธ์–ด-์•ก์…˜ ์ •์ฑ…์ž…๋‹ˆ๋‹ค.

Model Details / ๋ชจ๋ธ ์ •๋ณด

  • Policy / ์ •์ฑ…: SmolVLA (fine-tuned from lerobot/smolvla_base)
  • Robot / ๋กœ๋ด‡: SO-101 follower arm
  • Task / ์ž‘์—…: Pick and place a pen / ํŽœ ์ง‘์–ด ์˜ฎ๊ธฐ๊ธฐ
  • Dataset / ๋ฐ์ดํ„ฐ์…‹: nota-gmbh/pick_and_place_pen_so101
  • Episodes / ์—ํ”ผ์†Œ๋“œ: 53

Training / ํ•™์Šต

  • Steps: 40,000
  • Hardware: Multi-GPU
  • Batch size: 64
  • Base model: lerobot/smolvla_base

During data collection, the camera frames were captured keeping a consistent width-to-height aspect ratio across episodes for visual consistency.

๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ ์‹œ, ์—ํ”ผ์†Œ๋“œ ์ „๋ฐ˜์— ๊ฑธ์ณ ์นด๋ฉ”๋ผ ํ”„๋ ˆ์ž„์˜ ๊ฐ€๋กœ:์„ธ๋กœ ๋น„์œจ์„ ๋™์ผํ•˜๊ฒŒ ์œ ์ง€ํ•˜๋ ค๊ณ  ๋…ธ๋ ฅํ–ˆ์Šต๋‹ˆ๋‹ค.

export NCCL_P2P_DISABLE="1"
export NCCL_IB_DISABLE="1"
export HF_USER="~~"
export TASK_NAME="pick_and_place"

accelerate launch --multi_gpu --num_processes=4 \
  $(which lerobot-train) \
  --policy.path=lerobot/smolvla_base \
  --dataset.repo_id=Dangni/pick_and_place_so101_pen \
  --dataset.video_backend=pyav \
  --dataset.image_transforms.enable=true \
  --dataset.image_transforms.max_num_transforms=3 \
  --dataset.image_transforms.random_order=true \
  --batch_size=16 \
  --num_workers=1 \
  --steps=100000 \
  --output_dir=outputs/train/so101/smolvla/pick_and_place_$(date +%Y%m%d_%H%M%S) \
  --job_name=smolvla_yellow \
  --policy.device=cuda \
  --policy.freeze_vision_encoder=true \
  --policy.train_expert_only=true \
  --policy.push_to_hub=false\
  --policy.repo_id=Dangni/pick_and_place_yellow_smolvla \
  --rename_map='{"observation.images.fixed": "observation.images.camera1", "observation.images.handy": "observation.images.camera2"}' \
  --save_freq=5000 \
  --wandb.enable=true

Optimizer / ์˜ตํ‹ฐ๋งˆ์ด์ €

Item / ํ•ญ๋ชฉ Value / ๊ฐ’ Note / ์„ค๋ช…
Optimizer AdamW decoupled_weight_decay=True
Initial LR 1.0e-04 Learning rate at the start of training / ํ•™์Šต ์‹œ์ž‘ LR
LR (latest logged) 3.2594e-05 LR at the logged step (scheduled decay) / ์Šค์ผ€์ค„๋Ÿฌ ์ ์šฉ ํ›„ LR
Betas (0.9, 0.95) 1st / 2nd moment coefficients
Epsilon 1e-08 Numerical stability constant
Weight Decay 1e-10 Very small L2 regularization

Note: The learning rate decays over training via the scheduler, so 3.2594e-05 reflects a logged intermediate step rather than the final value. ์ฐธ๊ณ : LR์€ ์Šค์ผ€์ค„๋Ÿฌ์— ์˜ํ•ด ํ•™์Šต ์ค‘ ๊ฐ์†Œํ•˜๋ฉฐ, 3.2594e-05๋Š” ๋กœ๊น…๋œ ์ค‘๊ฐ„ ์Šคํ…์˜ ๊ฐ’์ž…๋‹ˆ๋‹ค.

Usage / ์‚ฌ์šฉ๋ฒ•

lerobot-rollout `
  --strategy.type=base `
  --policy.path=Dangni/pick_and_place_smolvla_so101_040000 `
  --policy.n_action_steps=50 `
  --robot.type=so101_follower `
  --robot.port=COM3 `
  --robot.id=follower_arm `
  --robot.cameras='{fixed: {type: opencv, index_or_path: 1, width: 640, height: 480, fps: 30}, handy: {type: opencv, index_or_path: 0, width: 1920, height: 1080, fps: 30}}' `
  --rename_map='{"observation.images.fixed": "observation.images.camera1", "observation.images.handy": "observation.images.camera2"}' `
  --task="Pick the pen and place it inside the yellow border" `
  --duration=500

Limitations / ํ•œ๊ณ„

  • Trained on a single pick-and-place pen task with 53 episodes; performance is limited to this task and the data-collection setup.
  • Camera resolution and viewpoint should match the training setup for reliable inference.
  • ๋‹จ์ผ ํŽœ ์ง‘๊ธฐ ์ž‘์—…, 53๊ฐœ ์—ํ”ผ์†Œ๋“œ๋กœ ํ•™์Šต๋˜์–ด ํ•ด๋‹น ์ž‘์—…๊ณผ ์ˆ˜์ง‘ ํ™˜๊ฒฝ์— ํ•œ์ •๋ฉ๋‹ˆ๋‹ค.
  • ์ถ”๋ก  ์‹œ ์นด๋ฉ”๋ผ ํ•ด์ƒ๋„ยท์‹œ์ ์„ ํ•™์Šต ํ™˜๊ฒฝ๊ณผ ๋™์ผํ•˜๊ฒŒ ๋งž์ถฐ์•ผ ์•ˆ์ •์ ์œผ๋กœ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.

Links / ๋งํฌ

Downloads last month
125
Safetensors
Model size
0.5B params
Tensor type
F32
ยท
BF16
ยท
Video Preview
loading

Model tree for nota-gmbh/so101_pick_place_pen_smolvla

Finetuned
(7644)
this model
Finetunes
1 model

Dataset used to train nota-gmbh/so101_pick_place_pen_smolvla