Robotics
LeRobot
Safetensors
act
omx
data-augmentation

OMX ์ƒ์ž ์˜ฎ๊ธฐ๊ธฐ ยท ACT (์ƒ์ž ๋ฐ”๊พธ๊ธฐ ๋ฐ์ดํ„ฐ ์ฆ๊ฐ• + ๊ทธ๋ฆฌํผ ์ „๋ฅ˜) ์‹คํ–‰ ๋ฒˆ๋“ค

Sungah/omx_1024_test_jihyeok_success์˜ ์‹ค์ œ ์‹œ์—ฐ ์˜์ƒ์—์„œ ์ƒ์ž ์™ธํ˜•๋งŒ ๋‹ค๋ฅธ ์ƒ์ž๋กœ ๋ฐ”๊ฟ” ๊ทธ๋ฆฐ ํ•ฉ์„ฑ ๋ฐ์ดํ„ฐ๋กœ ํ•™์Šตํ•œ ACT ๋ชจ๋ธ๊ณผ, ํ˜„์žฅ PC์—์„œ OMX ๋กœ๋ด‡์œผ๋กœ ๋ฐ”๋กœ ์ถ”๋ก ํ•˜๊ธฐ ์œ„ํ•œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋‹ด์•˜์Šต๋‹ˆ๋‹ค. "๋ฐ์ดํ„ฐ๋ฅผ ๋งŒ๋“ค์–ด ์“ฐ๋ฉด ํšจ๊ณผ๊ฐ€ ์žˆ๋Š”๊ฐ€?"๋ฅผ ํ™•์ธํ•˜๋Š” ์‹คํ—˜์šฉ ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค.

๋“ค์–ด ์žˆ๋Š” ๋ชจ๋ธ

ํด๋” ํ•™์Šต๋Ÿ‰ step
models/act_boxaug_grip_ep05 5 epoch 88,655 step
models/act_boxaug_grip_ep10 10 epoch 177,310 step
models/act_boxaug_grip_ep15 15 epoch 265,965 step
  • lerobot 0.6.1 ยท ACT ยท ์ฒ˜์Œ๋ถ€ํ„ฐ ํ•™์Šต(์ด๋ฏธ์ง€ ์ธ์ฝ”๋”๋งŒ ImageNet ResNet18) ยท batch 16 ยท 1 epoch = 17,731 step
  • ์ž…๋ ฅ: ์นด๋ฉ”๋ผ top(์œ„์ชฝ) ยท wrist(์†๋ชฉ) 640ร—480 + ์ƒํƒœ 7๊ฐœ = ๊ด€์ ˆ 6๊ฐœ + ๊ทธ๋ฆฌํผ ์ „๋ฅ˜(Present_Current ์›๋ž˜ ๊ฐ’, mA) ยท 30fps
  • ๋กœ๋ด‡ ํƒ€์ž…์€ ROBOT_TYPE=auto(๊ธฐ๋ณธ)๊ฐ€ ๋ชจ๋ธ์„ ๋ณด๊ณ  omx_follower_grip์œผ๋กœ ์ž๋™์œผ๋กœ ๋งž์ถฅ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌํผ ์ „๋ฅ˜๋Š” omx_grip_robot.py๊ฐ€ ๋งค ์Šคํ… ์ฝ์–ด ๋„ฃ์Šต๋‹ˆ๋‹ค.
  • ์ฒดํฌํฌ์ธํŠธ๊ฐ€ ์ถ”๊ฐ€๋˜๋ฉด ์ด ์ €์žฅ์†Œ์— ์ด์–ด์„œ ์˜ฌ๋ผ๊ฐ‘๋‹ˆ๋‹ค.

ํ•™์Šต ๋ฐ์ดํ„ฐ (์ฆ๊ฐ•)

๊ตฌ๋ถ„ ์—ํ”ผ์†Œ๋“œ ํ”„๋ ˆ์ž„
์›๋ณธ ์‹œ์—ฐ 0~9 (ํ•˜ํŠธ ์ƒ์ž A๋ฅผ B ์œ„์—์„œ ์ง‘์–ด ์˜ฎ๊ธฐ๊ณ , B๋ฅผ ๊ทธ ์œ„์— ์Œ“์Œ) 10 10,787
ํ•ฉ์„ฑ โ€” 0~9์—์„œ ๋‘ ์ƒ์ž๋ฅผ ๋‹ค๋ฅธ ์ƒ์ž๋กœ ๋ฐ”๊ฟˆ (24๊ฐ€์ง€ ์กฐํ•ฉ ร— 10) 240 258,888
ํ•ฉ์„ฑ โ€” ์‹œ์—ฐ 10~14(๋ถ„ํ™ ์ ๋ฌด๋Šฌ ์ƒ์ž 1๊ฐœ)์—์„œ ์ƒ์ž๋ฅผ AยทBยทW ๋“ฑ์œผ๋กœ ๋ฐ”๊ฟˆ 20 14,020
ํ•ฉ๊ณ„ 270 283,695
  • ๋กœ๋ด‡ ๋™์ž‘(actionยท๊ด€์ ˆยท๊ทธ๋ฆฌํผ ์ „๋ฅ˜)์€ ์›๋ณธ ๊ทธ๋Œ€๋กœ์ด๊ณ , ๋‘ ์นด๋ฉ”๋ผ ์˜์ƒ ์† ์ƒ์ž์˜ ๊ฒ‰๋ชจ์Šต๋งŒ ๋ฐ”๋€๋‹ˆ๋‹ค.
  • ์ƒ์ž: ํ•˜ํŠธ ์ƒ์ž AยทB, ๋ถ„ํ™ ์ ๋ฌด๋Šฌ ์ƒ์ž("love you", ์‚ฌ์ง„ยท์˜์ƒ ๋‘ ๊ฐ€์ง€ ๋ฌด๋Šฌ), ํฐ "FOR YOU" ์ƒ์ž W(๊ฒ€์ • ๋ชธํ†ต).
  • ๋ถ„ํ™ ์ ๋ฌด๋Šฌ ์ƒ์ž์˜ ์‹ค์ œ ์‹œ์—ฐ 5๊ฐœ(10~14)๋Š” ํ•™์Šต์—์„œ ๋บ์Šต๋‹ˆ๋‹ค(ํ…Œ์ŠคํŠธ์šฉ). ๋‹ค๋งŒ ๊ฐ™์€ ๋™์ž‘๊ณผ ๊ฐ™์€ ์ƒ์ž ๋ฌด๋Šฌ๊ฐ€ ํ•ฉ์„ฑ๋ณธ์œผ๋กœ ํ•™์Šต์— ๋“ค์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์‹ค๋ฌผ ๋กœ๋ด‡ ์„ฑ๊ณต๋ฅ ์€ ์•„์ง ์ธก์ • ์ „์ž…๋‹ˆ๋‹ค. ์ฒดํฌํฌ์ธํŠธ๋ณ„๋กœ ๋กœ๋ด‡์—์„œ ๋น„๊ตํ•ด ๋ณด์„ธ์š”.

๋น ๋ฅธ ์‹œ์ž‘

hf download Sungah/omx_1024_boxaug_act --local-dir omx_1024_boxaug_act
cd omx_1024_boxaug_act && chmod +x run.sh run_native.sh

A. ์„ค์น˜๋œ lerobot์œผ๋กœ ์‹คํ–‰ (Docker ์—†์ด)

lerobot(0.6 ์ด์ƒ ๊ถŒ์žฅ)์ด ์„ค์น˜๋œ ํ™˜๊ฒฝ์„ ์ผ  ๋’ค:

./run_native.sh check          # ๋ฒ„์ „ ํ™•์ธ, ๋ชจ๋ธ ๋กœ๋”ฉ ํ™•์ธ, ์บ˜๋ฆฌ๋ธŒ๋ ˆ์ด์…˜ ๋ชฉ๋ก
./run_native.sh find-port      # โ†’ config.env ์˜ ROBOT_PORT
./run_native.sh find-cameras   # โ†’ config.env ์˜ FRONT_CAM(์œ„์ชฝ), WRIST_CAM(์†๋ชฉ)
./run_native.sh calibrate      # ์บ˜๋ฆฌ๋ธŒ๋ ˆ์ด์…˜์ด ์—†์„ ๋•Œ๋งŒ
./run_native.sh rollout

B. Docker๋กœ ์‹คํ–‰

./run.sh build      # ์ตœ์ดˆ 1ํšŒ (CPU์šฉ ์ด๋ฏธ์ง€)
./run.sh find-port
./run.sh find-cameras
./run.sh calibrate  # ์ตœ์ดˆ 1ํšŒ
./run.sh rollout

์‹คํ–‰ํ•  ๋•Œ robot: omx_follower_grip์ด ์ถœ๋ ฅ๋˜๋ฉด ๊ทธ๋ฆฌํผ ์ „๋ฅ˜ ๋ชจ๋ธ๋กœ ์‹คํ–‰๋˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ฒดํฌํฌ์ธํŠธ ๋ฐ”๊พธ๊ธฐ

config.env์˜ MODEL๋งŒ ๋ฐ”๊พธ๋ฉด ๋ฉ๋‹ˆ๋‹ค (๊ธฐ๋ณธ: models/act_boxaug_grip_ep15).

MODEL="${MODEL:-models/act_boxaug_grip_ep10}"

ํŒŒ์ผ์„ ๊ณ ์น˜์ง€ ์•Š๊ณ  ์‹คํ–‰ํ•  ๋•Œ๋งŒ ๋ฐ”๊ฟ€ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

MODEL=models/act_boxaug_grip_ep05 ./run_native.sh rollout

์„ค์ • (config.env)

ํ•ญ๋ชฉ ๊ธฐ๋ณธ๊ฐ’ ์„ค๋ช…
MODEL ๊ฐ€์žฅ ๋งŽ์ด ํ•™์Šตํ•œ ์ฒดํฌํฌ์ธํŠธ ์œ„ ํ‘œ์˜ ํด๋”. ์‹คํ–‰ํ•  ๋•Œ MODEL=...์„ ์•ž์— ๋ถ™์ด๋ฉด ๊ทธ ๊ฐ’์ด ์šฐ์„ 
ROBOT_TYPE auto ๋ชจ๋ธ ์ž…๋ ฅ ํฌ๊ธฐ๋กœ ์ž๋™ ์„ ํƒ (์ด ์ €์žฅ์†Œ ๋ชจ๋ธ์€ 7 โ†’ omx_follower_grip)
ROBOT_PORT /dev/ttyACM0 find-port ๊ฒฐ๊ณผ
FRONT_CAM / WRIST_CAM /dev/video0 / /dev/video2 find-cameras ๊ฒฐ๊ณผ (์‚ฌ์ง„์œผ๋กœ ์œ„์ชฝยท์†๋ชฉ ๊ตฌ๋ถ„)
FRONT_CAM_NAME / WRIST_CAM_NAME top / wrist ๋ชจ๋ธ ์ž…๋ ฅ ์ด๋ฆ„. ๋ฐ”๊พธ์ง€ ๋งˆ์„ธ์š”
FPS 30 ํ•™์Šต ๋ฐ์ดํ„ฐ์™€ ๊ฐ™์•„์•ผ ํ•จ
N_ACTION_STEPS 50 ํ•œ ๋ฒˆ ์˜ˆ์ธก ํ›„ ์‹คํ–‰ํ•  ์Šคํ… ์ˆ˜
ENSEMBLE_K / ENSEMBLE_M ๋น„์›€ / 0.01 k์Šคํ…๋งˆ๋‹ค ์˜ˆ์ธกํ•ด ๊ฒน์น˜๋Š” ์˜ˆ์ธก์„ ํ‰๊ท  (๋ถ€๋“œ๋Ÿฝ์ง€๋งŒ ๋ฐ˜์‘์ด ๋А๋ฆผ, GPU ๊ถŒ์žฅ)
MAX_RELATIVE_TARGET 10 ํ•œ ์Šคํ… ์ตœ๋Œ€ ์ด๋™๋Ÿ‰ (์•ˆ์ „์žฅ์น˜). ๋„ˆ๋ฌด ๋А๋ฆฌ๋ฉด ํ‚ค์šฐ๊ฑฐ๋‚˜ ๋น„์›€
DURATION 30 1ํšŒ ์‹คํ–‰ ์‹œ๊ฐ„(์ดˆ). ๋๋‚˜๋ฉด ์‹œ์ž‘ ์ž์„ธ๋กœ ๋Œ์•„๊ฐ
DEVICE cpu NVIDIA GPU๊ฐ€ ์žˆ์œผ๋ฉด cuda

์‹คํ–‰ ์†๋„: CPU 8์ฝ”์–ด์—์„œ ์˜ˆ์ธก 1ํšŒ ์•ฝ 0.6~1.0์ดˆ โ†’ CPU๋Š” N_ACTION_STEPS=50 ๊ถŒ์žฅ. GPU๋ฉด N_ACTION_STEPS=10 ์ •๋„๊นŒ์ง€ ์ค„์ด๋ฉด ๋ฐ˜์‘์ด ๋นจ๋ผ์ง‘๋‹ˆ๋‹ค.

ํ˜„์žฅ ์ฒดํฌ๋ฆฌ์ŠคํŠธ

  1. ์นด๋ฉ”๋ผ ์œ„์น˜ยท๊ฐ๋„, ์กฐ๋ช…, ์ƒ์žยทPinky ์œ„์น˜๋ฅผ ๋…นํ™” ๋•Œ์™€ ์ตœ๋Œ€ํ•œ ๋น„์Šทํ•˜๊ฒŒ
  2. ์ฒ˜์Œ์—๋Š” MAX_RELATIVE_TARGET=10์œผ๋กœ ์‹œ์ž‘ํ•˜๊ณ , ๋กœ๋ด‡ ์˜†์—์„œ ์ „์›์„ ๋ฐ”๋กœ ๋Œ ์ˆ˜ ์žˆ๊ฒŒ ์ค€๋น„
  3. ์ƒ์ž ์ข…๋ฅ˜(ํ•˜ํŠธ AยทB, ๋ถ„ํ™ ์ ๋ฌด๋Šฌ, ํฐ W)๋ณ„๋กœ, ์ฒดํฌํฌ์ธํŠธ๋งˆ๋‹ค ๊ฐ™์€ ๋ฐฐ์น˜์—์„œ 10ํšŒ์”ฉ ์‹คํ–‰ํ•ด ์„ฑ๊ณต๋ฅ  ๊ธฐ๋ก

ํŒŒ์ผ

ํŒŒ์ผ ์—ญํ• 
run.sh / run_native.sh Docker / ์„ค์น˜๋œ lerobot ์‹คํ–‰ ์Šคํฌ๋ฆฝํŠธ
config.env ์‹คํ–‰ ์„ค์ •
omx_rollout.py lerobot-rollout ์‹คํ–‰๊ธฐ (+ ์„ ํƒ: k์Šคํ… ์•™์ƒ๋ธ”)
act_ensemble.py k์Šคํ… temporal ensembling
omx_grip_robot.py ๊ทธ๋ฆฌํผ ์ „๋ฅ˜ ๋กœ๋ด‡ ํƒ€์ž… omx_follower_grip (์ด ์ €์žฅ์†Œ ๋ชจ๋ธ ์ „๋ถ€๊ฐ€ ์‚ฌ์šฉ, ์ž๋™ ์„ ํƒ)
fix_model_config.py lerobot 0.4~0.5์—์„œ ๋ชจ๋ธ ์„ค์ • ํ˜ธํ™˜ ์ฒ˜๋ฆฌ
weights/ ResNet18 ๊ฐ€์ค‘์น˜ (์ธํ„ฐ๋„ท ์—†์ด ์‹คํ–‰)
Dockerfile ์‹คํ–‰์šฉ ์ด๋ฏธ์ง€ (lerobot 0.6.1, CPU torch)
Downloads last month

-

Downloads are not tracked for this model. How to track
Video Preview
loading

Dataset used to train Sungah/omx_1024_boxaug_act