flowchart TD
subgraph SIM ["๐ฅ๏ธ ์๋ฎฌ๋ ์ด์
(Isaac Gym)"]
A[์ ์ฐจ์ ๋๊ตฌ ํ๋ฆฌ๋ฏธํฐ๋ธ ์์ฑ\nProcedurally Generated Primitives] --> B[๋๋ค ๋ชฉํ ํฌ์ฆ ์ํ๋ง\nRandom Goal Pose Sampling]
B --> C[RL ์ ์ฑ
ํ์ต\nLSTM Policy Training]
C --> D[ํ์ต๋ ๋ฒ์ฉ ์ ์ฑ
\nGeneral-Purpose RL Policy]
end
subgraph REAL ["๐ค ์ค์ธ๊ณ ๋ฐฐํฌ (Real World)"]
E[์ธ๊ฐ ๋น๋์ค ์์ฐ\nHuman Video Demo] --> F[FoundationPose\n6D ๋ชฉํ ํฌ์ฆ ์ถ์ถ]
G[์ค์ ๋๊ตฌ\nReal Tool] --> H[SAM 3D\n๋ฉ์ฌ + ํ์ง ๋ฐ์ด๋ฉ๋ฐ์ค ์ถ์ถ]
F --> I[๋ชฉํ ํฌ์ฆ ์ํ์ค]
H --> J[๋๊ตฌ 6D ํฌ์ฆ ํธ๋ํน]
end
D -->|Zero-Shot ์ ์ด| K[์ค์๊ฐ ์ ์ฑ
์ถ๋ก ]
I --> K
J --> K
K --> L[29-DoF ๊ด์ ์์น ํ๊ฒ ์ถ๋ ฅ]
L --> M[๋๊ตฌ ๊ณผ์ ์ํ ์๋ฃ]
style SIM fill:#e8f4f8,stroke:#2196F3
style REAL fill:#f0f8e8,stroke:#4CAF50
๐SimToolReal ๋ฆฌ๋ทฐ
- ๐ SimToolReal์ ์๋ฎฌ๋ ์ด์ ์์ ์์ฑ๋ ๋๊ตฌ primitive์ ๋ฌด์์ ๋ชฉํ pose๋ฅผ ์ฌ์ฉํ์ฌ ํ๋์ object-centric RL ์ ์ฑ ์ ํ๋ จํ์ฌ zero-shot์ผ๋ก ์ค์ ์ธ๊ณ์ ๋ค์ํ ๋๊ตฌ ์กฐ์ ์์ ์ ์ํํ ์ ์๋๋ก ํฉ๋๋ค.
- ๐ฆพ ์ด ํ๋ ์์ํฌ๋ ๋๊ตฌ ์ฌ์ฉ์ ๋ชฉํ pose ์ํ์ค๋ฅผ ํตํ ์กฐ์์ผ๋ก ์ ์ํ๋ฉฐ, vision foundation model ๊ธฐ๋ฐ์ perception pipeline์ ํตํด ์ธ๊ฐ ์์ฐ ๋น๋์ค์์ ์ป์ ๋ชฉํ ๊ถค์ ์ ์ถ์ ํ์ฌ novelํ ๋๊ตฌ์ ์์ ์ ์ผ๋ฐํ๋ฉ๋๋ค.
- ๐ DexToolBench ๋ฒค์น๋งํฌ์์ SimToolReal์ ๊ธฐ์กด retargeting ๋ฐ fixed-grasp ๋ฐฉ๋ฒ๋ณด๋ค 37% ํฅ์๋ ์ฑ๋ฅ์ ๋ณด์ฌ์ฃผ๋ฉฐ, specialist ์ ์ฑ ๊ณผ ์ ์ฌํ ๊ฒฐ๊ณผ๋ฅผ ๋ฌ์ฑํ์ฌ dexterousํ ๋๊ตฌ ์ฌ์ฉ์ ํจ๊ณผ์ ์ธ zero-shot transfer ๋ฅ๋ ฅ์ ์ ์ฆํฉ๋๋ค.
๐ Ping Review
๐ Ping โ A light tap on the surface. Get the gist in seconds.
SimToolReal์ ๋ก๋ด์ dexterousํ ๋๊ตฌ ์กฐ์์ ์ํ object-centric ์ ์ฑ ์ sim-to-real ๋ฐฉ์์ผ๋ก ํ์ตํ๋ ํ๋ ์์ํฌ์ ๋๋ค. ์ด ์ฐ๊ตฌ๋ ๋จ์ผ์ ์ผ๋ฐ ๋ชฉ์ (general-purpose) RL ์ ์ฑ ์ ์๋ฎฌ๋ ์ด์ ์์ ํ๋ จํ๊ณ ์ด๋ฅผ ์ค์ ์ธ๊ณ์ ์๋ก์ด ๋๊ตฌ์ ์์ ์ zero-shot์ผ๋ก ์ ์ด์ํค๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค.
ํต์ฌ ํต์ฐฐ (Core Insight)
SimToolReal์ dexterousํ ๋๊ตฌ ์ฌ์ฉ์ โ๋๊ตฌ๋ฅผ ์ผ๋ จ์ ๋ชฉํ ์์ธ(goal poses)๋ฅผ ํตํด ์กฐ์ํ๋ ๊ฒโ์ผ๋ก ์ฌ์ ์ํฉ๋๋ค. ์ด๋ ๋ณต์กํ ๋๊ตฌ ์ฌ์ฉ ์์ ์ ๋จ์ผํ ๋ชฉํ ๋๋ฌ(goal-reaching) RL ๋ฌธ์ ๋ก ๋จ์ํํฉ๋๋ค. ์ ์ฑ ์ ์๋ฎฌ๋ ์ด์ ์์ ์ ์ฐจ์ ์ผ๋ก ์์ฑ๋ ๋ค์ํ tool-like primitive object๋ค์ ์์์ ๋ชฉํ ์์ธ(random goal poses)๋ก ์กฐ์ํ๋๋ก ํ๋ จ๋ฉ๋๋ค. ์ด๋ฌํ ํ๋ จ ๋ชฉํ๋ ์์ ์ ์ธ grasping๊ณผ in-hand reorientation๊ณผ ๊ฐ์ ๋๊ตฌ ์ฌ์ฉ์ ํ์์ ์ธ dexterousํ ๊ธฐ์ ๋ค์ ์ ๋ํฉ๋๋ค. ํ ์คํธ ์์๋ ์ด ์ ์ฑ ์ด ์ธ๊ฐ ์์ฐ ๋น๋์ค์์ ์ถ์ถ๋ ๋๊ตฌ ๊ถค์ (trajectory)์ ์์ฐจ์ ์ผ๋ก ์ถ์ ํ๋ ๋ฐ ์ฌ์ฉ๋์ด, ์์ ๋ณ ํ๋ จ ์์ด ๋ค์ํ ๋๊ตฌ ์กฐ์์ zero-shot์ผ๋ก ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค.
ํ๋ จ ๋ฐฉ๋ฒ๋ก (Training Methodology)
ํ๊ฒฝ ์ค์ (Environment Setup)
- ์ ์ฐจ์ ๋๊ตฌ ์์ฑ (Procedural Tool Generation): ์๋ฎฌ๋ ์ด์
์์๋ ์ค์ ๋๊ตฌ์ ๋ค์์ฑ์ ํฌ๊ดํ๊ธฐ ์ํด ์ ์ฐจ์ ์ผ๋ก tool-like primitive object๋ค์ ์์ฑํฉ๋๋ค. ๊ฐ ๋๊ตฌ๋ handle๊ณผ head์ ์กฐํฉ์ผ๋ก ๊ตฌ์ฑ๋๋ฉฐ, ์ด๋ค์ ๊ธฐํํ์ ํํ(cuboids ๋๋ capsules)์ ๋ฐ๋(handle์ ๋ฎ์ ๋ฐ๋ \rho_{\text{low}} \sim U[300, 600] \text{ kg/m}^3, head๋ ๋์ ๋ฐ๋ \rho_{\text{high}} \sim U[300, 2000] \text{ kg/m}^3)๊ฐ ๋ฌด์์๋ก ์ํ๋ง๋ฉ๋๋ค. ์ด๋ ๋ค์ํ ๋ฌด๊ฒ ์ค์ฌ(center-of-mass)๊ณผ ํ์ ๊ด์ฑ(rotational inertia)์ ๊ฐ์ง ๋๊ตฌ๋ฅผ ์์ฑํ์ฌ ์ ์ฑ
์ด ๋ค์ํ ๋ฌผ๋ฆฌ์ ํน์ฑ์ ์ ์ํ๋๋ก ์ ๋ํฉ๋๋ค.
- Handle dimensions: length \in [5, 30] cm; width/height/diameter \in [1, 4] cm.
- Head dimensions: length \in [1, 15] cm; width/height/diameter \in [0.5, 12] cm.
- ์ด๊ธฐํ (Initialization): ๊ฐ ์ํผ์๋ ์์ ์, ๋ฌด์์๋ก ์ ํ๋ ๊ฐ์ฒด๊ฐ ํ ์ด๋ธ ์์ ๋ฌด์์ ์์ธ๋ก ๋ฐฐ์น๋๊ณ , ๋ก๋ด์ ๋ฌด์์ ๊ด์ ๊ตฌ์ฑ์ผ๋ก ์ด๊ธฐํ๋ฉ๋๋ค.
- ๋ชฉํ ์ํ๋ง (Goal Sampling): ์ฒซ ๋ฒ์งธ ๋ชฉํ๋ ๋ก๋ด์ reachable workspace ๋ด์์ ๋ฌด์์๋ก ์ํ๋ง๋์ด ๋์ ๋ฒ์์ ๊ฐ์ฒด ์์ธ์ ํฐ ์ฌ๋ฐฐ์น๋ฅผ ํ์ตํ๋๋ก ํฉ๋๋ค. ์ดํ์ ๋ชฉํ๋ค์ ์ด์ ๋ชฉํ์ ๊ฐ๊น๊ฒ ์ํ๋ง๋์ด ๋ถ๋๋ฌ์ด ๊ถค์ (trajectory-like motion)์ ์ ๋ํฉ๋๋ค.
- ์ ์ฐจ์ ๋๊ตฌ ์์ฑ (Procedural Tool Generation): ์๋ฎฌ๋ ์ด์
์์๋ ์ค์ ๋๊ตฌ์ ๋ค์์ฑ์ ํฌ๊ดํ๊ธฐ ์ํด ์ ์ฐจ์ ์ผ๋ก tool-like primitive object๋ค์ ์์ฑํฉ๋๋ค. ๊ฐ ๋๊ตฌ๋ handle๊ณผ head์ ์กฐํฉ์ผ๋ก ๊ตฌ์ฑ๋๋ฉฐ, ์ด๋ค์ ๊ธฐํํ์ ํํ(cuboids ๋๋ capsules)์ ๋ฐ๋(handle์ ๋ฎ์ ๋ฐ๋ \rho_{\text{low}} \sim U[300, 600] \text{ kg/m}^3, head๋ ๋์ ๋ฐ๋ \rho_{\text{high}} \sim U[300, 2000] \text{ kg/m}^3)๊ฐ ๋ฌด์์๋ก ์ํ๋ง๋ฉ๋๋ค. ์ด๋ ๋ค์ํ ๋ฌด๊ฒ ์ค์ฌ(center-of-mass)๊ณผ ํ์ ๊ด์ฑ(rotational inertia)์ ๊ฐ์ง ๋๊ตฌ๋ฅผ ์์ฑํ์ฌ ์ ์ฑ
์ด ๋ค์ํ ๋ฌผ๋ฆฌ์ ํน์ฑ์ ์ ์ํ๋๋ก ์ ๋ํฉ๋๋ค.
๋ณด์ ํจ์ (Reward Function)
์ด ๋ณด์ r์ ์ธ ๊ฐ์ง ์ฃผ์ ๊ตฌ์ฑ ์์๋ก ์ด๋ฃจ์ด์ง๋๋ค: r = r_{\text{smooth}} + r_{\text{grasp}} + I_{\text{grasped}}r_{\text{goal}}
๋ถ๋๋ฌ์ ๋ณด์ (r_{\text{smooth}}): ๊ด์ ์๋(joint velocities)์ L_1 norm์ ๋ฒ์น์ ๋ถ๊ณผํ์ฌ ๋ถ๋๋ฌ์ด ๋์์ ์ฅ๋ คํฉ๋๋ค. r_{\text{smooth}} = -\lambda_{\text{arm}}\|\dot{q}_{\text{arm}}\|_1 - \lambda_{\text{hand}}\|\dot{q}_{\text{hand}}\|_1 ์ฌ๊ธฐ์ \dot{q}_{\text{arm}}๊ณผ \dot{q}_{\text{hand}}๋ ๊ฐ๊ฐ 7-DoF arm๊ณผ 22-DoF hand์ ํ์ฌ ์๋์ ๋๋ค.
๊ทธ๋ฉ ๋ณด์ (r_{\text{grasp}}): ์ค๋ฆฝ ์์ธ์์ ์์ ์ ์ธ ๊ทธ๋ฉ์ผ๋ก์ ์ ํ์ ๋์ต๋๋ค. r_{\text{grasp}} = r_{\text{approach}} + (1 - I_{\text{grasped}})r_{\text{lift}}
- r_{\text{approach}}: ๋ก๋ด ์๊ณผ ๊ฐ์ฒด ์ฌ์ด์ ๊ฑฐ๋ฆฌ๋ฅผ ์ค์ด๋ ๊ฒ์ ์ฅ๋ คํฉ๋๋ค. r_{\text{approach}} = \lambda_{\text{approach}} \max(\bar{d}^*_{\text{ft}} - \bar{d}_{\text{ft}}, 0) \bar{d}_{\text{ft}}๋ fingertip๊ณผ ๊ฐ์ฒด ์ฌ์ด์ ํ์ฌ ํ๊ท ๊ฑฐ๋ฆฌ์ด๋ฉฐ, \bar{d}^*_{\text{ft}}๋ ์ํผ์๋์์ ๋ฌ์ฑ๋ ์ต์ ํ๊ท ๊ฑฐ๋ฆฌ์ ๋๋ค.
- r_{\text{lift}}: ๊ฐ์ฒด๋ฅผ ๋ค์ด ์ฌ๋ฆฌ๋ ๊ฒ์ ์ฅ๋ คํฉ๋๋ค. r_{\text{lift}} = \lambda_{\text{lift}} \max(z - z_{\text{init}}, 0) + I[z \ge z_{\text{lifted}}]B_{\text{lifted}} z๋ ๊ฐ์ฒด์ ์์ง ์์น, z_{\text{init}}๋ ์ด๊ธฐ ์์ง ์์น, z_{\text{lifted}}๋ ๋ค์ด ์ฌ๋ฆผ ์๊ณ๊ฐ, B_{\text{lifted}}๋ ๋ณด๋์ค์ ๋๋ค. I_{\text{grasped}}๋ z \ge z_{\text{lifted}}์ผ ๋ true๊ฐ ๋ฉ๋๋ค.
๋ชฉํ ์์ธ ๋ณด์ (r_{\text{goal}}): I_{\text{grasped}} = 1์ด ๋๋ฉด ์ง๋ฐฐ์ ์ธ ๋ณด์ ํญ์ด ๋ฉ๋๋ค. r_{\text{goal}} = \max(d^* - d(o_t, g), 0) + B_{\text{succ}} I[d(o_t, g) < \epsilon]
- ๋ฐ๋ ์๋ ์งํ ํญ: ํ์ฌ ๊ฐ์ฒด ์์ธ o_t์ ๋ชฉํ ์์ธ g ์ฌ์ด์ ๊ฑฐ๋ฆฌ d(o_t, g)๋ฅผ ์ต์ํํฉ๋๋ค. d^*๋ ํ์ฌ ๋ชฉํ์ ๋ํด ๋ฌ์ฑ๋ ์ต์ ๊ฑฐ๋ฆฌ๋ฅผ ์ถ์ ํ๋ stateful ๋ณ์์ ๋๋ค.
- ํฌ์ํ ์ฑ๊ณต ๋ณด๋์ค (B_{\text{succ}}): d(o_t, g) < \epsilon์ผ ๋ ์ฃผ์ด์ง๋ฉฐ, ์๋ก์ด ๋ชฉํ๊ฐ ์ํ๋ง๋ฉ๋๋ค.
- Keypoint Distance Formulation: ๊ฐ์ฒด ์์ธ ๊ฑฐ๋ฆฌ d(o_t, g)๋ D=4๊ฐ์ ๊ฐ์ฒด ํ๋ ์ keypoint๋ฅผ ์ฌ์ฉํ์ฌ ์ธก์ ๋ฉ๋๋ค: d(o_t, g) = \max_i \|o_{t,i} - g_i\|. ์ฌ๊ธฐ์ o_{t,i}์ g_i๋ ํ์ฌ ๋ฐ ๋ชฉํ ์์ธ์ i-๋ฒ์งธ keypoint์ world-frame ์์น๋ฅผ ๋ํ๋ ๋๋ค. Keypoint๋ค์ ๊ณ ์ ๋ ์ค์ผ์ผ s_{\text{rew}} = [0.14, 0.03, 0.03] (๋ฏธํฐ)์ ์ฌ์ฉํ์ฌ ์ ์๋ฉ๋๋ค. s_{\text{rewx}} > s_{\text{rewy}}, s_{\text{rewz}}๋ก ์ค์ ํ์ฌ ๊ธด ๋๊ตฌ์ pitch ๋ฐ yaw ์ค์ฐจ์ ๋ ๋ฏผ๊ฐํ๊ฒ ๋ฐ์ํ๋๋ก ํฉ๋๋ค.
Object-Centric ์ ์ฑ ์ ๋ ฅ (Object-Centric Policy Inputs)
์ ์ฑ ์ ํ์ฌ ๋๊ตฌ์ 6D ์์ธ์ graspable region์ ๋ํ coarseํ 3D bounding box(๊ฐ์ฒด ํ๋ ์์์์ ์ค์ฌ + ํ์ฅ)๋ง ์ ๋ ฅ์ผ๋ก ๋ฐ์ต๋๋ค. ์ด ์ถ์ํ๋ sim-to-real visual gap์ ํจ๊ณผ์ ์ผ๋ก ์ฐํํ๊ณ zero-shot ์ ์ด๋ฅผ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค. LSTM backbone์ ์ฌ์ฉํ์ฌ ์ํธ์์ฉ ์ด๋ ฅ์ ํตํฉํ๊ณ ์ง์ ๊ด์ฐฐ๋์ง ์๋ ์ ์ฌ์ ์ธ ๋ฌผ๋ฆฌ์ ๋ฐ ๊ธฐํํ์ ํน์ฑ์ ์๋ฌต์ ์ผ๋ก ์ถ๋ก ํฉ๋๋ค. ์ ์ฑ ์ ๊ด์ฐฐ keypoint๋ ๊ฐ์ฒด์ grasp bounding box ํฌ๊ธฐ s \in \mathbb{R}^3 (๊ธธ์ด, ๋๋น, ๋์ด)๋ฅผ ์ฌ์ฉํ์ฌ ์ ์๋์ด, ์ ์ฑ ์ด ํน์ ๋๊ตฌ ๊ธฐํํ์ ์กฐ๊ฑดํ๋ฉ๋๋ค.
RL ํ๋ จ ์ธ๋ถ ์ฌํญ (RL Training Details)
- SAPG (Split and Aggregate Policy Gradients): PPO์ ๋ณํ์ธ SAPG๋ฅผ ์ฌ์ฉํ์ฌ ํ๋ จํฉ๋๋ค. SAPG๋ ์ ์ฑ ์ ์ง๋จ(population)์ ์ ์งํ๊ณ ๊ทธ๋ค์ collective experience๋ฅผ ์ฌ์ฉํ์ฌ ๋ฆฌ๋ ์ ์ฑ ์ ์ ๋ฐ์ดํธํ์ฌ ํ์ ๋ค์์ฑ์ ์ด์งํ๊ณ ๋๊ท๋ชจ ๋ณ๋ ฌ ์๋ฎฌ๋ ์ด์ ์์์ ํ์ ๋ณ๋ชฉ ํ์์ ์ํํฉ๋๋ค.
- Domain Randomization: sim-to-real ์ ์ด๋ฅผ ๋๊ธฐ ์ํด observation delays, action-execution latency, ๊ฐ์ฒด ์์ธ ์ถ์ ์ ๋ ธ์ด์ฆ ๋ฐ ์ง์ฐ, grasp-region bounding box ๊ต๋, ๊ฐ์ฒด์ ๋ํ ๋ฌด์์ ํ ๋ฐ ํ ํฌ ๊ต๋ ๋ฑ์ ์ ์ฉํฉ๋๋ค.
- Asymmetric Critic: Actor๋ ํ ์คํธ ์ ์ฌ์ฉ ๊ฐ๋ฅํ ์ต์ํ์ ๊ฐ์ฒด ํํ๋ง์ ๋ฐ์ง๋ง, Critic์ ์๋ฎฌ๋ ์ด์ ์ privileged states(ground-truth ์๋, ๋ณด์ ์ ํธ, stateful progress features, ๋ ธ์ด์ฆ๊ฐ ์๊ณ ์ง์ฐ๋์ง ์์ ๊ฐ์ฒด ์์ธ)์ ์ ๊ทผํ์ฌ ๊ฐ์น ํจ์(value function) ์ถ์ ์ ๊ฐ์ ํ๊ณ ํ๋ จ์ ์์ ํํฉ๋๋ค.
- Action Space: 29 DoF ๋ก๋ด(7-DoF KUKA iiwa arm ๋ฐ 22-DoF Sharpa hand)์ ๊ด์ ์์น ๋ชฉํ(joint position targets)๋ฅผ ์ถ๋ ฅํฉ๋๋ค. Arm์ ์ด์ ๋ชฉํ๋ก๋ถํฐ์ ์๋ ๋ณ์(delta)๋ก, Hand๋ ๊ด์ ํ๊ณ ๋ด์ ์ ๋ ๋ชฉํ๋ก ํด์๋ฉ๋๋ค. ๋ ๊ฒฝ์ฐ ๋ชจ๋ EMA ํํฐ๊ฐ ์ ์ฉ๋ฉ๋๋ค.
์ค์ธ๊ณ ๋ฐฐํฌ (Real-World Deployment)
- ์ธ๊ฐ ๋น๋์ค ์ฒ๋ฆฌ (Human Video Processing)
- Metric-Scale Mesh ๋ฐ Grasp Bounding Box ํ๋: ์ฒซ RGB-D ํ๋ ์์์ SAM 3D [16] (์บก์ฒ๋ ๊น์ด ๋งต์ ์ฌ์ฉํ์ฌ metric accuracy๋ฅผ ๋ณด์ฅํ๋๋ก ์์ ๋จ)๋ฅผ ํตํด ๊ฐ์ฒด์ metric-scale 3D mesh๋ฅผ ์ฌ๊ตฌ์ฑํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ SAM 2 [65]๋ฅผ ์ฌ์ฉํ์ฌ ์๋๋ ๊ทธ๋ฉ ์์ญ์ ์ธ๊ทธ๋จผํธํํ๊ณ , ์ด๋ฅผ coarseํ 3D bounding box๋ก ๋ณํํ์ฌ ์ ์ฑ ์ ๋ ฅ์ ์ผ๋ถ๋ก ์ ๊ณตํฉ๋๋ค. ๋ฐ์ด๋ฉ ๋ฐ์ค๋ ํธ๋ค์ ์ค์ฌ์ ๋๊ณ x์ถ์ด ํธ๋ค์ ์ฃผ ์ถ์ ๋ฐ๋ผ ๋จธ๋ฆฌ ์ชฝ์ผ๋ก ํฅํ๋๋ก ์ ๋ ฌ๋ฉ๋๋ค.
- 6D ๊ฐ์ฒด ์์ธ ๊ถค์ ์ถ์ถ: FoundationPose [80]๋ฅผ ์ฌ์ฉํ์ฌ RGB-D ๋น๋์ค์์ 6D ๊ฐ์ฒด ์์ธ ๊ถค์ ์ ์ถ์ถํฉ๋๋ค. ์ด ๊ถค์ ์ 3Hz๋ก ๋ค์ด์ํ๋ง๋๊ณ , ๊ฐ์ฒด๊ฐ ํ ์ด๋ธ์์ ๋ค์ด ์ฌ๋ ค์ง๋(lift-off) ์๊ฐ๋ถํฐ ์์๋๋๋ก ์ ์ ๋จ๊ณ๊ฐ ์๋ผ๋ด์ด์ง๋๋ค (z_{\text{thresh}}=10\text{cm}).
- ์ถ๋ก ์๊ฐ ๊ฐ์ฒด ์ถ์ (Inference-time Object Tracking) ์ถ๋ก ์์๋ FoundationPose [80]๋ฅผ ์ฌ์ฉํ์ฌ ์ 3์ ์์ ์นด๋ฉ๋ผ์์ RGB-D ๊ด์ฐฐ์ ํตํด ํ์ฌ 6D ๊ฐ์ฒด ์์ธ๋ฅผ 30Hz๋ก ์ถ์ ํฉ๋๋ค. ์ ์ฑ ์ proprioception, ํ์ฌ ๊ฐ์ฒด ์์ธ, ๊ณ ์ ๋ grasp-region bounding box, ๊ทธ๋ฆฌ๊ณ ์์ฐ ๊ถค์ ์์ ๊ฐ์ ธ์จ ํ์ฌ ๋ชฉํ ์์ธ์ ๋ฐ๋ผ ์กฐ๊ฑดํ๋ฉ๋๋ค. ๊ฐ์ฒด ์์ธ๊ฐ ๋ชฉํ ์์ธ์ ์ถฉ๋ถํ ๊ฐ๊น์์ง๋ฉด(d(o_t, g) < \epsilon) ๋ชฉํ๊ฐ ๋ค์์ผ๋ก ์ ํ๋ฉ๋๋ค.
DexToolBench
์ด ์ฐ๊ตฌ๋ ๋์ ์ ์ธ ๋๊ตฌ ์ฌ์ฉ ์์ ์ ํฌํจํ๋ ์ค์ธ๊ณ dexterous ์กฐ์ ๋ฒค์น๋งํฌ์ธ DexToolBench๋ฅผ ์๊ฐํฉ๋๋ค. 24๊ฐ์ ์ผ์์ ์ธ ๋๊ตฌ ์ฌ์ฉ ์์ , 6๊ฐ์ง ๋ฒ์ฃผ์ 12๊ฐ ๊ณ ์ ํ ๊ฐ์ฒด ์ธ์คํด์ค๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ๊ฐ ์์ ์ RGB-D ์ธ๊ฐ ๋น๋์ค ์์ฐ๊ณผ ์์ ์ด๋ฃน๋๋ค. ํ๊ฐ๋ Task Progress (์์ฐ๋ ๋ชฉํ ์์ธ ์ค ์ฑ๊ณต์ ์ผ๋ก ์ถ์ ๋ ๋น์จ, \epsilon = 2\text{cm})๋ก ์ธก์ ๋ฉ๋๋ค.
์คํ ๊ฒฐ๊ณผ (Experimental Results)
- Zero-Shot Real-World Tool-Use: SimToolReal์ 120ํ ์ด์์ ์ค์ ๋กค์์์ ํตํด 24๊ฐ ์์ , 12๊ฐ ๊ฐ์ฒด ์ธ์คํด์ค, 6๊ฐ ๋๊ตฌ ๋ฒ์ฃผ์ ๊ฑธ์ณ ๊ฐ๋ ฅํ zero-shot ์ผ๋ฐํ ์ฑ๋ฅ์ ์ ์ฆํ์ต๋๋ค. ํนํ in-hand rotation์ด ๋ ํ์ํ ์์ (eraser, marker)์์ ๋์ Task Progress๋ฅผ ๋ณด์์ต๋๋ค. ์ฃผ์ ์คํจ ๋ชจ๋๋ ์์ธ ์ถ์ ์์ค(43.7%), ๊ฐ์ฒด ๋จ์ด๋จ๋ฆผ(34.5%), ๋ถ์์ ํ in-hand rotation์ผ๋ก ์ธํ ๋ชฉํ ์์ธ ๋๋ฌ ์คํจ(18.2%)์์ต๋๋ค.
- Retargeting ๋ฐ Fixed Grasp Baseline๊ณผ์ ๋น๊ต: SimToolReal์ ๊ณ ์ ๋ ๊ทธ๋ฉ์ด๋ Kinematic Retargeting ๊ธฐ๋ฐ์ ์ด์ ๋ฐฉ๋ฒ๋ค์ 37% ๋ฅ๊ฐํ๋ฉฐ, dexterousํ in-hand object rotation์ ํตํด ๋ณต์กํ ์์ ์ ์ฑ๊ณต์ ์ผ๋ก ์ํํ์ต๋๋ค. Kinematic Retargeting์ ์ ์ด ์ํธ์์ฉ์ ๊ณ ๋ คํ์ง ์์ ๊ทธ๋ฉ์ ์คํจํ๊ณ , Fixed Grasp๋ in-hand rotation์ด ํ์ํ ์์ ์์ ๋ก๋ด ํ์ด ํ ์ด๋ธ๊ณผ ์ถฉ๋ํ๋ ๋ฑ์ ํ๊ณ๋ฅผ ๋ณด์์ต๋๋ค.
- Specialist RL ์ ์ฑ ๊ณผ์ ๋น๊ต: ์๋ฎฌ๋ ์ด์ ์์ SimToolReal์ ํน์ ๊ฐ์ฒด์ ๊ถค์ ์ ๋ํด ํ๋ จ๋ specialist ์ ์ฑ ๊ณผ ์ ์ฌํ ์ฑ๋ฅ์ ๋ณด์์ง๋ง, specialist ์ ์ฑ ์ ํ๋ จ ์กฐ๊ฑด์์ ๋ฒ์ด๋ ๊ฒฝ์ฐ(์๋ก์ด ๊ถค์ ๋๋ ๊ฐ์ฒด) ์ฑ๋ฅ์ด ํฌ๊ฒ ์ ํ๋๋ ๊ณผ์ ํฉ(overfitting) ๊ฒฝํฅ์ ๋ณด์์ต๋๋ค. ๋ฐ๋ฉด SimToolReal์ ๊ฐ์ฒด์ ๊ถค์ ๋ณํ ๋ชจ๋์ ๋ํด ๊ฐํ zero-shot ์ฑ๋ฅ์ ์ ์งํ์ต๋๋ค.
- ํ๋ จ ๋ชฉํ์ ์ผ๋ฐํ ์์ธก ๋ฅ๋ ฅ: ์ ์ฐจ์ ์ผ๋ก ์์ฑ๋ primitive object๋ค์์ ์์์ ๋ชฉํ ์์ธ์ ๋๋ฌํ๋ ํ๋ จ ๋ชฉํ์ ๋ณด์ ์ฆ๊ฐ๊ฐ DexToolBench ์์ ์์์ Task Progress ํฅ์๊ณผ ๊ฐํ ์๊ด๊ด๊ณ๋ฅผ ๋ณด์์ต๋๋ค. ์ด๋ ํ๋ จ ๋ชฉํ๊ฐ ์ค์ ๋๊ตฌ ์ฌ์ฉ์ ์ผ๋ฐํ๋ฅผ ์์ธกํ๋ ์ ๋ขฐํ ์ ์๋ ์งํ์์ ์์ฌํฉ๋๋ค.
- RL ํ๋ จ ablation: SAPG์ Asymmetric Critic์ ์ฑ๋ฅ ๊ทน๋ํ์ ํ์์ ์ธ ์์๋ก ํ์ธ๋์์ต๋๋ค. PPO ๋๋ ํ์ค critic์ ์ฌ์ฉํ ๊ฒฝ์ฐ ํ์ต ์ฑ๋ฅ์ด ํฌ๊ฒ ๋จ์ด์ก์ต๋๋ค.
๋ ผ์ ๋ฐ ํ๊ณ (Discussion and Limitations)
SimToolReal์ zero-shot dexterous ๋๊ตฌ ์กฐ์์ ๋ํ ๊ฐ๋ ฅํ ํ๋ ์์ํฌ๋ฅผ ์ ๊ณตํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ด ์ ๊ทผ ๋ฐฉ์์ ๊ณ ๊ฐ๋ ์ํธ์์ฉ์์ ๊ธฐ๋ฅ์ ์์ ์๋ฃ๋ฅผ ๋ณด์ฅํ์ง ์์ผ๋ฉฐ, ๊ฐ์ฒด ์์ธ ๋ชฉํ๋ง์ผ๋ก๋ ํ๊ฒฝ์ ์ธ์ํ์ง ๋ชปํ์ฌ ๋ณต์กํ ํ๊ฒฝ์์์ ์ถฉ๋ ๊ฐ๋ฅ์ฑ์ด ์์ต๋๋ค. ๋ํ, ํ์ฌ๋ ๋๊ตฌ๋ฅผ ๊ฐ์ฒด๋ก ๊ฐ์ ํ๋ฉฐ, ๊ณ ์์ค์ ๋ชฉํ ๊ถค์ ์ด ๊ณ ์ ๋์ด ๋์ ์ผ๋ก ์ฌ๊ณํ๋์ง ์๋๋ค๋ ํ๊ณ๊ฐ ์์ต๋๋ค.
๐ Ring Review
๐ Ring โ An idea that echoes. Grasp the core and its value.
ํ ์ค ์์ฝ: ๋๊ตฌ ์กฐ์(Tool Manipulation)์ด๋ผ๋ ์ด๋ ต๊ณ ๋ค์ํ ๋ฌธ์ ๋ฅผ โ์์์ ๋ฌผ์ฒด๋ฅผ ๋ชฉํ ํฌ์ฆ๊น์ง ์ด๋์ํค๋ ๋จ์ผ ๊ณผ์ โ๋ก ํ์ํ์ฌ, ๋จ ํ๋์ RL ์ ์ฑ ๋ง์ผ๋ก ์ค์ ์ธ๊ณ์ ๋ค์ํ ๋๊ตฌ๋ฅผ Zero-Shot์ผ๋ก ๋ค๋ฃจ๋ ๋ฐ ์ฑ๊ณตํ๋ค.
1. ์๋ก : ์ ๋๊ตฌ ์กฐ์์ ์์ง๋ ์ด๋ ค์ด๊ฐ?
์ธ๊ฐ์ด ๋๊ตฌ๋ฅผ ์ฌ์ฉํ๋ ๋ชจ์ต์ ์ ๊น ์์ํด ๋ณด์. ๋ง์น๋ฅผ ์ง์ด ์ฌ๋ฆด ๋ ์ฐ๋ฆฌ๋ ์์ก์ด์ ์์ ๋ถ๋ถ์ ์ก๊ณ , ์ ์์์ ๋ฌต์งํ ๋ถ๋ถ์ด ์๋ก ๊ฐ๋๋ก ํ์ ์ํจ ๋ค, ๊ฐํ ์ถฉ๊ฒฉ์ ๊ฐํด๋ ๋จ์ด๋จ๋ฆฌ์ง ์๋๋ค. ์ด ๋์ ์์๋ ์ธ ๊ฐ์ง ๊ทผ๋ณธ์ ์ธ ๋์ ์ด ์จ์ด ์๋ค.
์์ ๋ฌผ์ฒด ํ์ง (Thin Object Grasping): ํ ์ด๋ธ ์์ ๋์ด ๋ง์ปค ํ, ๋ถ, ๋๋ผ์ด๋ฒ์ ์์ก์ด๋ ๋๊ป๊ฐ ์ mm์ ๋ถ๊ณผํ๋ค. ์ผ๋ฐ์ ์ธ ๊ทธ๋ฆฌํผ ํ์ง ์๊ณ ๋ฆฌ์ฆ์ด ์ผ๋ง๋ ํ๋ค์ดํ๋์ง ์ง๊ด์ ์ผ๋ก ๋๊ปด์ง ๊ฒ์ด๋ค.
์ ์ ์ฌ๋ฐฐ์น (In-Hand Reorientation): ์ก์ ๋ค ๋๊ตฌ๋ฅผ ๊ธฐ๋ฅ์ ์ธ ์์ธ๋ก ๋๋ ค์ผ ํ๋ค. ์ด๋ ๋จ์ ํ์ง๋ฅผ ๋์ด ๋ค์ง ํธ๋(Dexterous Hand)๋ง์ด ํ ์ ์๋ ์ ๊ตํ ์กฐ์์ ์๊ตฌํ๋ค.
๊ฐ์ ์ ์ํธ์์ฉ (Forceful Interaction): ๋ชป ๋ฐ๊ธฐ๋ ์ง์ฐ๊ฐ๋ก ์ง์ฐ๊ธฐ๋ ํ๊ฒฝ๊ณผ ๊ฐํ ์ ์ด์ด ๋ฐ์ํ๋ค. ํ์ง ์ํ๋ฅผ ์์ง ์์ผ๋ฉด์ ํ์ ์ ๋ฌํด์ผ ํ๋ค.
๊ธฐ์กด ์ ๊ทผ๋ฒ์ ํ๊ณ
์ด ๋ฌธ์ ์ ์ ๊ทผํ๋ ๋ฐฉ๋ฒ์ ํฌ๊ฒ ๋ ๊ฐ๋์๋ค.
๋ชจ๋ฐฉ ํ์ต(Imitation Learning) ๊ธฐ๋ฐ: ์ธ๊ฐ์ด ํ ๋ ์คํผ๋ ์ด์ ์ผ๋ก ์์ฐ ๋ฐ์ดํฐ๋ฅผ ๋ชจ์ ๋ค ์ด๋ฅผ ํ์ตํ๋ค. ACT, Diffusion Policy, RT-2 ๊ฐ์ ๋ฐฉ๋ฒ๋ค์ด ์ฌ๊ธฐ ์ํ๋ค. ๋ฌธ์ ๋ ์๊ณ ํ๋ ๋ฌผ์ฒด๋ฅผ ์ก๋ ์์ฐ ๋ฐ์ดํฐ๋ฅผ ์์งํ๋ ๊ฒ ์์ฒด๊ฐ ๊ทน๋๋ก ์ด๋ ต๋ค๋ ๊ฒ์ด๋ค. ๋ง์ปค ํ ์๋ฃจ๋ฅผ ์ง์ด ๋๋ผ์ด๋ฒ๋ก ์ฐ๋ ์์ธ๋ก ๋๋ฆฌ๋ ๋์์ 50ํ ์ด์ ์์ฐํ๋ ๊ฒ์ ์์ํด ๋ณด๋ผ.
Sim-to-Real RL ๊ธฐ๋ฐ: ์๋ฎฌ๋ ์ดํฐ์์ ๊ฐํํ์ต์ผ๋ก ์ ์ฑ ์ ํ์ตํ๊ณ ํ์ค์ ์ ์ฉํ๋ค. OpenAI Dactyl์ด ๋ํ์ ์ด๋ค. ๊ทธ๋ฌ๋ ๊ธฐ์กด ์ ๊ทผ๋ฒ๋ค์ ๊ฐ ๊ฐ์ฒด์ ๊ณผ์ ๋ณ๋ก ๋ณ๋์ ์๋ฎฌ๋ ์ด์ ๋ชจ๋ธ๋ง๊ณผ ๋ณด์ ํจ์ ์ค๊ณ๊ฐ ํ์ํ๋ค. ์ ๋๊ตฌ๊ฐ ์ถ๊ฐ๋ ๋๋ง๋ค ์ฒ์๋ถํฐ ๋ค์ ์์ํด์ผ ํ๋ค๋ ์๋ฏธ๋ค.
์ด ๋ ผ๋ฌธ, SimToolReal์ ์ด ์์ชฝ ๋ฌธ์ ๋ฅผ ๋์์ ํด๊ฒฐํ๋ ์ฐ์ํ ํด๋ฒ์ ์ ์ํ๋ค.
2. ํต์ฌ ์์ด๋์ด: ๋ฌธ์ ๋ฅผ ๋ค์ ์ ์ํ๋ผ
๋ ผ๋ฌธ์ ๊ฐ์ฅ ๊ฐ๋ ฅํ ๊ธฐ์ฌ๋ ๋ฌธ์ ์ ์์ ์ ํ์ด๋ค.
โ๋๊ตฌ ์กฐ์ = ๋๊ตฌ๋ฅผ ์ผ๋ จ์ ๋ชฉํ ํฌ์ฆ(goal pose sequence)๋ก ์ด๋์ํค๋ ๊ฒโ
์ด ์ ์๋ ์ผํ ๋จ์ํด ๋ณด์ด์ง๋ง ์์ฒญ๋ ํจ์๋ฅผ ๋ด๊ณ ์๋ค.
- ๋ง์น์ง = {์์ก์ด ์ก๊ธฐ ํฌ์ฆ, ์๋ก ๋ค๊ธฐ ํฌ์ฆ, ์๋๋ก ๋ด๋ ค์น๊ธฐ ํฌ์ฆ} ๋ก ํํ ๊ฐ๋ฅ
- ๋ถ์ง = {๋ถ ์ก๊ธฐ ํฌ์ฆ, ์บ๋ฒ์ค ์ ๊ทผ ํฌ์ฆ, ์ข์ฐ ์ด๋ ํฌ์ฆ๋ค} ๋ก ํํ ๊ฐ๋ฅ
- ๋๋ผ์ด๋ฒ ์กฐ์ด๊ธฐ = {์ก๊ธฐ ํฌ์ฆ, ํ์ ํฌ์ฆ๋ค} ๋ก ํํ ๊ฐ๋ฅ
๋ชจ๋ ๋๊ตฌ ๊ณผ์ ๊ฐ ๋์ผํ ์ถ์์ ํํโโ๋ค์ ๋ชฉํ ํฌ์ฆ๋ก ์ด๋ํ๋ผโโ์ผ๋ก ํ์๋๋ค. ๊ทธ๋ ๋ค๋ฉด ์๋ฎฌ๋ ์ด์ ์์ ์ด ๋จ์ผ ๊ณผ์ ๋ง์ ์ ํ์ตํ๋ฉด ๋๋ ๊ฒ์ด๋ค. ๋๊ตฌ๊ฐ ๋ญ์ง, ๊ณผ์ ๊ฐ ๋ญ์ง๋ ์ ํ ๋ชฐ๋ผ๋ ๋๋ค.
์ด๊ฒ์ด Object-Centric์ด๋ผ๋ ์ด๋ฆ์ ์๋ฏธ๋ค. ๋ก๋ด์ ์๊ฐ์ด ์๋ ๋ฌผ์ฒด์ ์๊ฐ์ผ๋ก ์ธ์์ ํํํ๋ฉด, ๋ชจ๋ ๋๊ตฌ ์กฐ์์ด ํ๋์ ๋ณดํธ์ ๋ฌธ์ ๊ฐ ๋๋ค.
3. ๋ฐฉ๋ฒ๋ก ์์ธ ๋ถ์
3.1 ์์คํ ์ํคํ ์ฒ ์ ์ฒด ๊ฐ์
3.2 ์๋ฎฌ๋ ์ด์ ํ๋ จ: ๋ฌด์์ ํ์ตํ ๊ฒ์ธ๊ฐ
์ ์ฐจ์ ๋ฌผ์ฒด ์์ฑ (Procedural Object Generation)
๊ธฐ์กด ์ฐ๊ตฌ๋ค์ ํน์ ๋๊ตฌ(์: ๋ง์น ํ๋, ๋๋ผ์ด๋ฒ ํ๋)๋ฅผ ๋ชจ๋ธ๋งํ๊ณ ๊ทธ์ ๋ง์ถ ํ๊ฒฝ์ ๊ตฌ์ฑํ๋ค. SimToolReal์ ์ด๋ฅผ ์์ ํ ๋ค์ง๋๋ค.
์๋ฐฑ ๊ฐ์ง์ ๊ฐ์ ๋๊ตฌ ํ๋ฆฌ๋ฏธํฐ๋ธ๋ฅผ ์ ์ฐจ์ ์ผ๋ก ์์ฑํ๋ค. ์ด ํ๋ฆฌ๋ฏธํฐ๋ธ๋ค์ ์ค์ ๋๊ตฌ์ ์์ ํ ๋์ผํ ํ์๊ฐ ์๋ค. ์ค์ํ ๊ฒ์ ๋ค์ํ ํํ, ํฌ๊ธฐ, ์ง๋ ๋ถํฌ๋ฅผ ํฌ๊ดํ๋ ๊ฒ์ด๋ค.
์ด๋ฐ ๋ค์์ฑ์ด ์ค์ ๋๊ตฌ๋ก์ ์ผ๋ฐํ๋ฅผ ๊ฐ๋ฅํ๊ฒ ํ๋ค. ๋ง์น ๋ค์ํ ํฌ๊ธฐ์ ๋ธ๋ก์ ์๋ ์ฐ์ต์ ํ ์ฌ๋์ด ์ฒ์ ๋ณด๋ ๋ฌผ๊ฑด๋ ์์ ์ ์๋ ๊ฒ์ฒ๋ผ.
๋ฒ์ฉ ๋ชฉํ: ์์์ ํฌ์ฆ ๋๋ฌ
ํ๋ จ ๊ณผ์ ๋ ๋จ ํ๋๋ค:
\pi^* = \arg\max_\pi \mathbb{E}\left[\sum_t r(s_t, a_t)\right]
์ฌ๊ธฐ์ ๋ณด์์ ํ์ฌ ๋๊ตฌ ํฌ์ฆ์ ๋ชฉํ ํฌ์ฆ ์ฌ์ด์ ๊ฑฐ๋ฆฌ๋ฅผ ์ต์ํํ๋ ๊ฒ์ด๋ค:
r(s_t, a_t) = -\left\|T_{\text{obj}}^{\text{current}} \ominus T_{\text{obj}}^{\text{goal}}\right\|
(\ominus๋ SE(3) ์์์์ ํฌ์ฆ ์ค์ฐจ๋ฅผ ๋ํ๋ธ๋ค)
์ด๋ณด๋ค ๋จ์ํ ์ ์๋ค. ๊ณผ์ ๋ณ ๋ณด์ ์ค๊ณ(task-specific reward shaping)๊ฐ ์ ํ ์๋ค.
์ด ๋จ์ํ ๊ณผ์ ๋ฅผ ์์ฒ ๊ฐ์ ๋ค์ํ ๋ฌผ์ฒด์ ๋ํด ๋ฐ๋ณต ํ์ตํ๋ฉด, ์ ์ฑ ์ ์์ฐ์ค๋ฝ๊ฒ ๋ค์์ ํ์ตํ๋ค: ํ ์ด๋ธ์์ ๋ฌผ์ฒด๋ฅผ ์ง์ด ์ฌ๋ฆฌ๋ ๋ฐฉ๋ฒ, ์ ์์์ ๋ฌผ์ฒด๋ฅผ ์ํ๋ ๋ฐฉํฅ์ผ๋ก ๋๋ฆฌ๋ ๋ฐฉ๋ฒ, ๋ฌผ์ฒด๋ฅผ ์์ ์ ์ผ๋ก ์ก์ ์ํ๋ฅผ ์ ์งํ๋ ๋ฐฉ๋ฒ. ์ด ์ธ ๊ฐ์ง๋ ๋ชจ๋ ๋๊ตฌ ์กฐ์์ ํ์ํ ํต์ฌ ๊ธฐ์ ์ด๋ค. ๋ณด์ ํจ์๊ฐ ๋ช ์์ ์ผ๋ก ์ง์ํ์ง ์์๋ ์์ฐ์ค๋ฝ๊ฒ ์ฐฝ๋ฐ(emerge)ํ๋ค.
3.3 ์ ์ฑ ๋คํธ์ํฌ ๊ตฌ์กฐ
flowchart LR
subgraph OBS ["์
๋ ฅ Observation"]
P["๊ณ ์ ๊ฐ๊ฐ\nProprioception\n๊ด์ ๊ฐ๋ ๋ฐ ์๋"]
O["๋ฌผ์ฒด 6D ํฌ์ฆ\nObject 6D Pose\n์์น + ๋ฐฉํฅ"]
B["ํ์ง ๋ฐ์ด๋ฉ๋ฐ์ค\nGrasp Bounding Box\n3D AABB"]
G["๋ชฉํ ํฌ์ฆ\nGoal Pose\n์์น + ๋ฐฉํฅ"]
end
subgraph NET ["LSTM ์ ์ฑ
๋คํธ์ํฌ"]
L["LSTM Cell\n์๊ฐ์ ๋งฅ๋ฝ ์ ์ง"]
MLP["MLP Head"]
end
subgraph ACT ["์ถ๋ ฅ Action"]
JT["๊ด์ ์์น ํ๊ฒ\n29-DoF\nArm + Dexterous Hand"]
end
P --> L
O --> L
B --> L
G --> L
L --> MLP
MLP --> JT
์ LSTM์ธ๊ฐ? ๋๊ตฌ๋ฅผ ์ง์ด ์ฌ๋ฆฌ๊ณ , ๋๋ฆฌ๊ณ , ์ฌ์ฉํ๋ ๊ณผ์ ์ ์์ฐจ์ ์ด๊ณ ๋งฅ๋ฝ ์์กด์ ์ด๋ค. โ์ง๊ธ ์์ด ์ด๋ค ์ํ์ธ์งโ, โ๋ฐฉ๊ธ ์ด๋ค ๋ฐฉํฅ์ผ๋ก ํ์ ์คฌ๋์งโ๊ฐ ๋ค์ ํ๋์ ์ค์ํ๋ค. LSTM์ ์ด ์๊ฐ์ ๋งฅ๋ฝ์ ๋ด๋ถ ์ํ๋ก ์ ์งํ๋ค.
๊ด์ฐฐ ๊ณต๊ฐ ์ค๊ณ์ ํต์ฌ: Object-Centric Representation
๊ฐ์ฅ ์ค์ํ ์ค๊ณ ๊ฒฐ์ ์ ๊ด์ฐฐ ๊ณต๊ฐ์ ์นด๋ฉ๋ผ ์ด๋ฏธ์ง๋ฅผ ๋ฃ์ง ์๋๋ค๋ ๊ฒ์ด๋ค. ๋์ ์ธ ๊ฐ์ง ์ถ์์ ํํ๋ง ์ฌ์ฉํ๋ค:
Object 6D Pose: ๋๊ตฌ์ ํ์ฌ ์์น์ ๋ฐฉํฅ (SE(3) ์์)Grasp Bounding Box: ์ก์์ผ ํ ๋ถ๋ถ์ ๋ํ๋ด๋ 3D ๋ฐ์ด๋ฉ๋ฐ์ค (์: ๋ง์น์ ์์ก์ด ๋ถ๋ถ)Goal Pose: ๋๊ตฌ๊ฐ ๋๋ฌํด์ผ ํ ๋ค์ ๋ชฉํ ํฌ์ฆ
์ด ์ธ ๊ฐ์ง ์ถ์์ ํํ์ ๋๊ตฌ์ ์ธ๊ด๊ณผ ๋ฌด๊ดํ๋ค. ๋ง์ปค๋ ๋ง์น๋ ๋ถ์ด๋ , ๊ฐ์ ์ ๋ ฅ ๊ณต๊ฐ์ผ๋ก ํํ๋๋ค. ์ด๊ฒ์ด Zero-Shot ์ผ๋ฐํ์ ์ด์ ๋ค.
3.4 ์ค์ธ๊ณ ๋ฐฐํฌ: ์ธ์ ํ์ดํ๋ผ์ธ
์๋ฎฌ๋ ์ด์ ์์ ํ์ต๋ ์ ์ฑ ์ด ์ถ์์ ํํ(6D ํฌ์ฆ + ๋ฐ์ด๋ฉ๋ฐ์ค)์ ์ ๋ ฅ์ผ๋ก ๋ฐ์ผ๋ฏ๋ก, ์ค์ธ๊ณ์์๋ ์ด๋ฅผ ์ ํํ ์ถ์ถํด์ผ ํ๋ค. ์ฌ๊ธฐ์ ๋ ๊ฐ์ง ๋น์ ํ์ด๋ฐ์ด์ ๋ชจ๋ธ์ด ํ์ฉ๋๋ค.
flowchart TD
subgraph OFFLINE ["์คํ๋ผ์ธ ๋ฐฐํฌ ์ 1ํ ์ํ"]
V["์ธ๊ฐ ์์ฐ ๋น๋์ค"] --> FP["FoundationPose\n6D ํฌ์ฆ ์ํ์ค ์ถ์ถ"]
FP --> TRAJ["๋ชฉํ ํฌ์ฆ ๊ถค์ \nGoal Pose Trajectory"]
IMG["๋๊ตฌ RGB-D ์ด๋ฏธ์ง\n์ ์ ์ค์บ"] --> SAM["SAM 3D\n๋ฉ์ฌ ์ฌ๊ตฌ์ฑ + ๋ถํ "]
SAM --> MESH["๋๊ตฌ ๋ฉ์ฌ + ํ์ง ๋ฐ์ด๋ฉ๋ฐ์ค"]
end
subgraph ONLINE ["์จ๋ผ์ธ ์ค์๊ฐ ๋ฃจํ 60Hz"]
CAM["์ค์๊ฐ ์นด๋ฉ๋ผ"] --> FP2["FoundationPose\nํ์ฌ ๋๊ตฌ ํฌ์ฆ ํธ๋ํน"]
MESH --> FP2
FP2 --> POSE_NOW["ํ์ฌ ๋๊ตฌ ํฌ์ฆ"]
TRAJ --> GM["๋ชฉํ ๊ด๋ฆฌ์\nGoal Manager"]
POSE_NOW --> GM
GM --> POLICY["LSTM ์ ์ฑ
\nPolicy Inference"]
MESH --> POLICY
POLICY --> CMD["๊ด์ ์์น ๋ช
๋ น\n60 Hz"]
end
style OFFLINE fill:#fff3e0,stroke:#FF9800
style ONLINE fill:#e8f5e9,stroke:#4CAF50
SAM 3D: Meta์ Segment Anything Model์ 3D๋ก ํ์ฅํ ๊ฒ์ผ๋ก, RGB-D ์ด๋ฏธ์ง์์ ๋๊ตฌ์ 3D ๋ฉ์ฌ๋ฅผ ์ฌ๊ตฌ์ฑํ๊ณ ํ์ง ๊ฐ๋ฅํ ์์ญ(์์ก์ด)์ 3D ๋ฐ์ด๋ฉ๋ฐ์ค๋ก ๋ถํ ํ๋ค. ์ด ๊ณผ์ ์ ๋ฐฐํฌ ์ ํ ๋ฒ๋ง ์ํํ๋ค.
FoundationPose: NVIDIA์ ๋ฒ์ฉ 6D ํฌ์ฆ ์ถ์ ๋ฐ ํธ๋ํน ๋ชจ๋ธ์ด๋ค. ๋๊ตฌ์ ๋ฉ์ฌ๊ฐ ์ฃผ์ด์ง๋ฉด ์ค์๊ฐ์ผ๋ก 6D ํฌ์ฆ๋ฅผ ์ถ์ ํ๋ค. ์ด๋ฅผ ๋ ์ฉ๋๋ก ์ฌ์ฉํ๋ค: ์ธ๊ฐ ์์ฐ ๋น๋์ค์์ ๋ชฉํ ํฌ์ฆ ์ํ์ค ์ถ์ถ, ๊ทธ๋ฆฌ๊ณ ์ค์๊ฐ์ผ๋ก ํ์ฌ ๋๊ตฌ ํฌ์ฆ ํธ๋ํน.
๋ชฉํ ๊ด๋ฆฌ ๋ก์ง: ํ์ฌ ํฌ์ฆ๊ฐ ๋ชฉํ ํฌ์ฆ์ ์ถฉ๋ถํ ๊ทผ์ ํ๋ฉด (\epsilon-tolerance ์ด๋ด), ๋ค์ ๋ชฉํ ํฌ์ฆ๋ก ์๋ ์ ์งํ๋ค. ์ด๋ฅผ ํตํด ์์ฐ ๊ถค์ ์ ๋จ๊ณ๋ณ๋ก ์ถ์ ํ๋ค.
3.5 ๋ชฉํ ๊ด๋ฆฌ(Goal Management)์ ์์ฌ์ฝ๋
# ์์ฌ์ฝ๋: ๋ชฉํ ๊ด๋ฆฌ ๋ก์ง (Pseudocode)
def goal_manager(current_pose, goal_trajectory, epsilon_pos=0.05, epsilon_rot=0.1):
"""
current_pose: SE(3) โ ํ์ฌ ๋๊ตฌ ํฌ์ฆ
goal_trajectory: List[SE(3)] โ ๋ชฉํ ํฌ์ฆ ์ํ์ค (์ธ๊ฐ ๋น๋์ค์์ ์ถ์ถ)
epsilon_pos: float โ ์์น ๋๋ฌ ์๊ณ๊ฐ (๋ฏธํฐ)
epsilon_rot: float โ ๋ฐฉํฅ ๋๋ฌ ์๊ณ๊ฐ (๋ผ๋์)
"""
current_goal_idx = 0
while current_goal_idx < len(goal_trajectory):
goal_pose = goal_trajectory[current_goal_idx]
# ์์น ์ค์ฐจ
pos_error = norm(current_pose.translation - goal_pose.translation)
# ํ์ ์ค์ฐจ (SO(3) ์ธก์ง ๊ฑฐ๋ฆฌ)
rot_error = geodesic_distance(current_pose.rotation, goal_pose.rotation)
if pos_error < epsilon_pos and rot_error < epsilon_rot:
# ํ์ฌ ๋ชฉํ ๋ฌ์ฑ โ ๋ค์ ๋ชฉํ๋ก ์ ์ง
current_goal_idx += 1
yield goal_pose # ํ์ฌ ๋ชฉํ๋ฅผ ์ ์ฑ
์ ์ ๋ฌ์ด ๋จ์ํ ๋ก์ง์ด ์ค์ ๋ก ์ ์๋ํ๋ค๋ ๊ฒ์ด ํฅ๋ฏธ๋กญ๋ค. ์ ์ฑ ์ด ๊ฐ ์ค๊ฐ ๋ชฉํ๋ฅผ ๋ฌ์ฑํ๋ ๋ฅ๋ ฅ๋ง ์์ผ๋ฉด, ๋ณต์กํ ๋๊ตฌ ๊ณผ์ ์ ์ฒด๋ฅผ ์๋์ผ๋ก ์ํํ ์ ์๋ค.
3.6 DexToolBench: ํ๊ฐ ๋ฒค์น๋งํฌ
SimToolReal์ ๋จ์ํ ๋ฐฉ๋ฒ๋ก ์ ์ ์ํ๋ ๋ฐ ๊ทธ์น์ง ์๊ณ , DexToolBench๋ผ๋ ์๋ก์ด ๋ฒค์น๋งํฌ๋ฅผ ํจ๊ป ๊ณต๊ฐํ๋ค.
| ๊ตฌ๋ถ | ๋ด์ฉ |
|---|---|
| ๋๊ตฌ ์นดํ ๊ณ ๋ฆฌ | 6์ข (๋ถ, ์ฃผ๊ฑฑ, ๋๋ผ์ด๋ฒ, ๋ง์ปค, ์ง์ฐ๊ฐ, ๋ง์น) |
| ๊ฐ์ฒด ์ธ์คํด์ค | 12๊ฐ (์นดํ ๊ณ ๋ฆฌ๋น 2๊ฐ) |
| ๊ณผ์ ์ | 24๊ฐ (์ธ์คํด์ค๋น 2๊ฐ) |
| ์ค์ธ๊ณ ๋กค์์ | 120ํ |
| ํ๊ฐ ๋ฐฉ์ | Zero-Shot (ํ๋ จ์ ์ฌ์ฉ๋ ๊ฐ์ฒด/๊ณผ์ ์์) |
| ๊ณต๊ฐ ์ฌ๋ถ | ์ฝ๋, ์์ , ํ๋ จ ์คํฌ๋ฆฝํธ ์ ์ฒด ๊ณต๊ฐ |
์ค์ํ ์ ์ ๋ชจ๋ ํ๊ฐ๊ฐ ์ง์ ํ Zero-Shot์ด๋ผ๋ ๊ฒ์ด๋ค. ํ๋ จ ์๋ฎฌ๋ ์ด์ ์์๋ ์ด 12๊ฐ ์ค์ ๋๊ตฌ ์ค ์ด๋ ๊ฒ๋, 24๊ฐ ๊ณผ์ ์ค ์ด๋ ๊ฒ๋ ์ฌ์ฉ๋์ง ์์๋ค.
4. ์คํ ๋ฐ ๊ฒฐ๊ณผ
4.1 ๋น๊ต ๋์ (Baselines)
๋ ผ๋ฌธ์ SimToolReal์ ์ธ ๊ฐ์ง ๋ฐฉ๋ฒ๊ณผ ๋น๊ตํ๋ค.
โ Fixed Grasp + Motion Planning: ๋ฏธ๋ฆฌ ์ ์๋ ๊ณ ์ ํ์ง ํฌ์ฆ๋ก ๋๊ตฌ๋ฅผ ์ก๊ณ , ๋ชจ์ ํ๋๋์ผ๋ก ๊ณผ์ ๋ฅผ ์ํํ๋ค. ๋๊ตฌ์ ๊ธฐํํ์ด ์๋ฒฝํ ์๋ ค์ ธ์ผ ํ๋ฉฐ ์ ์ฐ์ฑ์ด ์๋ค.
โก Kinematic Retargeting: ์ธ๊ฐ ์ ๋์์ ๋ก๋ด ์์ผ๋ก ์ด๋ํ์ ์ผ๋ก ๋ณํํ๋ค. ๋ฌผ๋ฆฌ์ ์ํธ์์ฉ ์์ด ๋จ์ ํฌ์ฆ ๋ณต์ฌ(pose copying)์ด๋ฏ๋ก ํ์ง๋ ฅ ๋ถ์กฑ ๋ฌธ์ ๊ฐ ์๋ค.
โข Specialist RL Policy: ๊ฐ ๋๊ตฌ์ ๊ณผ์ ๋ณ๋ก ๋ณ๋๋ก ํ๋ จ๋ RL ์ ์ฑ . ์ด๊ฒ์ด ์ฌ์ค์ ์ค๋ผํด(oracle)์ ํด๋นํ๋ค โ ํ๋ จ ๋ ํด๋น ๋๊ตฌ๋ฅผ ๋ดค๊ธฐ ๋๋ฌธ์ด๋ค.
4.2 ์ ๋์ ๊ฒฐ๊ณผ
| ๋ฐฉ๋ฒ | Task Progress | ๋น๊ณ |
|---|---|---|
| Fixed Grasp | ๊ธฐ์ค ๋๋น ๋ฎ์ | ๋๊ตฌ/๊ณผ์ ๋ณ ์์ง๋์ด๋ง ํ์ |
| Retargeting | ๊ธฐ์ค ๋๋น ๋ฎ์ | ๋ฌผ๋ฆฌ์ ํ์ง๋ ฅ ์ฝํจ |
| SimToolReal | +37% (vs ์ ๋ ๋ฐฉ๋ฒ) | Zero-Shot, ํ๋ จ ์ ํด๋น ๋๊ตฌ ๋ฏธ์ฌ์ฉ |
| Specialist RL | ~SimToolReal ์์ค | ํ๋ จ ์ ํด๋น ๋๊ตฌ ์ง์ ์ฌ์ฉ |
๊ฐ์ฅ ์ฃผ๋ชฉํ ๊ฒฐ๊ณผ๋ Specialist RL๊ณผ ๋๋ฑํ ์ฑ๋ฅ์ด๋ค. ์คํ์ ๋ฆฌ์คํธ๋ ํด๋น ๋๊ตฌ๋ฅผ ์๋ฎฌ๋ ์ด์ ์์ ์ง์ ๋ดค์์๋, ์ ๋๊ตฌ๋ฅผ ์ ํ ๋ณธ ์ ์๋ SimToolReal์ด ๋น์ทํ ์ฑ๋ฅ์ ๋ธ๋ค.
4.3 ๋๊ตฌ ์นดํ ๊ณ ๋ฆฌ๋ณ ๋์ด๋ ๋ถ์
graph LR
subgraph HARD ["๊ณ ๋์ด๋ ์นดํ
๊ณ ๋ฆฌ"]
M["๋ง์ปค Marker"]
B["๋ถ Brush"]
end
subgraph MED ["์ค๊ฐ ๋์ด๋"]
S["์ฃผ๊ฑฑ Spatula"]
E["์ง์ฐ๊ฐ Eraser"]
end
subgraph EASY ["์๋์ ์ผ๋ก ์ฌ์ด ์นดํ
๊ณ ๋ฆฌ"]
H["๋ง์น Hammer"]
D["๋๋ผ์ด๋ฒ Screwdriver"]
end
M -.->|"์๊ณ ๊ฐ๋ฒผ์ โ ํ์ง ๋์ด๋ ๋์"| HARD
B -.->|"์ ์ฐํ ๋ โ ํฌ์ฆ ๋ถํ์ค์ฑ"| HARD
H -.->|"๋ฌด๊ฒ์ค์ฌ ๋ช
ํ, ๊ตต์ ์์ก์ด"| EASY
D -.->|"์ํตํ ๋์นญ"| EASY
๋ถ๊ณผ ๋ง์ปค๋ ์๊ณ ๊ฐ๋ฒผ์ ํ์ง ์์ฒด๊ฐ ์ด๋ ต๋ค. ๋ง์น๋ ๋ฌด๊ฒ์ค์ฌ์ด ๋ช ํํ๊ณ ์์ก์ด๊ฐ ๊ตต์ด ์๋์ ์ผ๋ก ์ฝ๋ค. ์ด๋ ์ง๊ด๊ณผ ์ ํํ ์ผ์นํ๋ค.
4.4 ์คํจ ๋ชจ๋ ๋ถ์
๋ ผ๋ฌธ์ ์คํจ ์์ธ์ ์์งํ๊ฒ ๋ถ๋ฅํ๋ค. ์ธ ๊ฐ์ง ์ฃผ์ ์์ธ์ผ๋ก๋ ์ด๊ธฐ ์ง์ด ์ฌ๋ฆฌ๊ธฐ์์ ์๊ฐ๋ฝ์ด ๋๊ตฌ ์๋๋ก ๋ค์ด๊ฐ์ง ๋ชปํ๋ ํ์ง ์คํจ, FoundationPose๊ฐ ๋น ๋ฅธ ์์ง์ ์ค ํธ๋ํน์ ์๋ ํฌ์ฆ ์ถ์ ์ค๋ฅ, ๊ทธ๋ฆฌ๊ณ ๋ชฉํ ๋ฐฉํฅ์ผ๋ก ๋๋ฆฌ๋ค ๋๊ตฌ๋ฅผ ๋จ์ด๋จ๋ฆฌ๋ ์ ๋ด ์ฌ๋ฐฐ์น ์คํจ๊ฐ ์๋ค.
ํฅ๋ฏธ๋ก์ด ์ ์ ๊ฐํ ํ๋ณต ํ๋(recovery behavior)์ด ๊ด์ฐฐ๋๋ค๋ ๊ฒ์ด๋ค. ๋๊ตฌ๋ฅผ ์ ์ ๋์ณค๋ค๊ฐ ๋ค์ ์ง์ด ๊ณผ์ ๋ฅผ ์์ํ๋ ์ฅ๋ฉด์ด ํฌ์ฐฉ๋์๋ค. ์ด๋ RL ํ๋ จ์ ์์ฐ์ค๋ฌ์ด ์ฐ๋ฌผ์ด๋ค โ ์๋ฎฌ๋ ์ด์ ์์ ๋ค์ํ ์คํจ ์ํฉ์ ๊ฒฝํํ๊ธฐ ๋๋ฌธ์ด๋ค.
5. ๊ธฐ์ ์ ์ฌ์ธต ๋ถ์
5.1 ์ ์ด๋ฏธ์ง๊ฐ ์๋ ํฌ์ฆ ํํ์ธ๊ฐ?
์ด๊ฒ์ ์ฌ์ค ์ค์ํ ์ค๊ณ ์ ํ์ด๋ค. ์ต๊ทผ์ VLA(Vision-Language-Action) ํธ๋ ๋๋ ์์ ์ด๋ฏธ์ง๋ฅผ ์ ๋ ฅ์ผ๋ก ์ฌ์ฉํ๋ End-to-End ์ ๊ทผ๋ฒ์ด๋ค. SimToolReal์ ์ ๋ฐ๋ ๋ฐฉํฅ์ ์ ํํ์๊น?
Sim-to-Real Gap์ ๊ด์ ์์ ๋ณด๋ฉด ๋ช ํํด์ง๋ค. ์ด๋ฏธ์ง๋ฅผ ์ ์ฑ ์ ๋ ฅ์ผ๋ก ์ฌ์ฉํ๋ฉด ์๋ฎฌ๋ ์ด์ ์ ์๊ฐ์ ์ธ๊ด(ํ ์ค์ฒ, ์กฐ๋ช , ๊ทธ๋ฆผ์)๊ณผ ํ์ค์ ์ฐจ์ด๊ฐ ์ง์ ์ ์ผ๋ก ์ฑ๋ฅ์ ๋จ์ด๋จ๋ฆฐ๋ค. ๋๋ฉ์ธ ๋๋คํ๋ฅผ ์๋ฌด๋ฆฌ ์ ํด๋ ์ด ๊ฐญ์ ์์ ํ ์์ ๊ธฐ๋ ์ด๋ ต๋ค.
๋ฐ๋ฉด 6D ํฌ์ฆ๋ ์ถ์์ ์ด๊ณ ๋๋ฉ์ธ ๋ถ๋ณ์ ์ด๋ค. ์๋ฎฌ๋ ์ด์ ๊ณผ ํ์ค์์ ๋์ผํ ์๋ฏธ๋ฅผ ๊ฐ์ง๋ค. ์ธ์ ํ์ดํ๋ผ์ธ(SAM 3D + FoundationPose)์ด ์ด ์ถ์ํ๋ฅผ ๋ด๋นํ๊ณ , RL ์ ์ฑ ์ ์์ํ๊ฒ โ์ด๋ป๊ฒ ๋ฌผ์ฒด๋ฅผ ์์ง์ผ ๊ฒ์ธ๊ฐโ๋ง ์ง์คํ๋ค.
์ด๋ ์ธ์๊ณผ ์ ์ด์ ๋ช ํํ ๋ถ๋ฆฌ(Decoupling Perception and Control)์ด๋ฉฐ, ๊ฐ ๋ชจ๋์ด ๋ ๋ฆฝ์ ์ผ๋ก ๊ฐ์ ๋ ์ ์๋ค๋ ์ฅ์ ๋ ์๋ค.
5.2 ์ ์ฐจ์ ์์ฑ์ ๋ค์์ฑ์ด ์ ์ค์ํ๊ฐ
์ ์ฑ ์ด ์ผ๋ฐํํ๋ ค๋ฉด ํ๋ จ ๋ถํฌ๊ฐ ํ ์คํธ ๋ถํฌ๋ฅผ ์ปค๋ฒํด์ผ ํ๋ค.
์ค์ ๋๊ตฌ์ ํน์ฑ ๊ณต๊ฐ์ \mathcal{T}๋ผ ํ๊ณ , ํ๋ จ์ ์ฌ์ฉ๋ ํ๋ฆฌ๋ฏธํฐ๋ธ์ ํน์ฑ ๊ณต๊ฐ์ \mathcal{P}๋ผ ํ๋ฉด:
\text{Zero-Shot Generalization} \propto \text{overlap}(\mathcal{T}, \mathcal{P})
์ ์ฐจ์ ์์ฑ์ผ๋ก \mathcal{P}๋ฅผ ์ถฉ๋ถํ ๋๊ฒ ๋ง๋ค๋ฉด, ์๋ก์ด ์ค์ ๋๊ตฌ๊ฐ \mathcal{P} ์์ ๊ทผ์ฌ์ ์ผ๋ก ์ํ ๊ฐ๋ฅ์ฑ์ด ๋์์ง๋ค. ๋ง์ปค๋ โ์๊ณ ๊ฐ๋ฒผ์ด ์ํตํ ํ๋ฆฌ๋ฏธํฐ๋ธโ์ ์ ์ฌํ๊ณ , ๋ง์น๋ โ๋ฌด๊ฒ๊ณ ํค๋๊ฐ ํฐ ๋น๋์นญ ํ๋ฆฌ๋ฏธํฐ๋ธโ์ ์ ์ฌํ๋ค.
5.3 LSTM vs. Transformer: ์ LSTM์ ์ ํํ๋๊ฐ
์ต๊ทผ RL ์ ์ฑ ๋คํธ์ํฌ๋ก๋ Transformer ์ํคํ ์ฒ๋ ๋ง์ด ์ฌ์ฉ๋๋ค. SimToolReal์ด LSTM์ ์ ํํ ๋ฐ๋ ์ค์ฉ์ ์ด์ ๊ฐ ์๋ค. ๊ณ์ฐ ํจ์จ์ฑ ์ธก๋ฉด์์ LSTM์ 60Hz ์ค์๊ฐ ์ ์ด์ ์ ํฉํ ๋ฎ์ ์ง์ฐ ์๊ฐ์ ์ ๊ณตํ๋ค. ๊ฐ๋ณ ๊ธธ์ด ์ํ์ค ์ฒ๋ฆฌ์์๋ ๋๊ตฌ ์กฐ์ ๊ณผ์ ์ ๊ธธ์ด๊ฐ ๋ค์ํ๋ฐ LSTM์ ์จ๊ฒจ์ง ์ํ(hidden state)๊ฐ ์ด๋ฅผ ์์ฐ์ค๋ฝ๊ฒ ์ฒ๋ฆฌํ๋ค. ๋ํ Isaac Gym ํ๊ฒฝ์์ ์์ฒ ๊ฐ์ ๋ณ๋ ฌ ํ๊ฒฝ์ ๋๋ฆฌ๋ ๊ฒ์ฆ๋ ๊ตฌ์กฐ๋ค.
๋ฌผ๋ก Transformer๊ฐ ๋ ๋์ ์ฅ๊ธฐ ์์กด์ฑ์ ํฌ์ฐฉํ ์ ์๋ค๋ ์ฃผ์ฅ๋ ๊ฐ๋ฅํ๋ค. ์ด๋ ํฅํ ํ๊ตฌํด๋ณผ ๋งํ ๋ฐฉํฅ์ด๋ค.
6. ๊ด๋ จ ์ฐ๊ตฌ์์ ๋น๊ต
6.1 Sim-to-Real RL ๊ณ๋ณด
| ์ฐ๊ตฌ | ๋ฐฉ๋ฒ | ์ผ๋ฐํ ์์ค | ๋น๊ณ |
|---|---|---|---|
| OpenAI Dactyl (2019) | DR + RL | ๋จ์ผ ๋ฌผ์ฒด (๋ฃจ๋น ์ค ํ๋ธ) | ๋๊ท๋ชจ ์์ง๋์ด๋ง |
| HORA (2022) | ์ ์ํ RL | ๋จ์ผ ๋ฌผ์ฒด, ์ฌ๋ฌ ์ค์ | ํ๋ จ ์ ๋ฌผ์ฒด ํ์ |
| AnyGrasp (2023) | ํฌ์ฆ ์ถ์ + ๋ชจ์ | ๋ค์ํ ๋ฌผ์ฒด, ํ์ง๋ง | ์กฐ์ ์์ |
| DexGraspNet (2023) | RL + ์ด๊ฐ | ํ์ง ํนํ | ๋๊ตฌ ์กฐ์ ์์ |
| SimToolReal (2026) | RL + Object-Centric | ๋ค์ํ ๋๊ตฌ, ๋ค์ํ ๊ณผ์ | Zero-Shot |
6.2 Dex4D์์ ๋น๊ต (๋์๊ธฐ ๋ฐํ)
๊ฐ์ ์๊ธฐ์ ๋์จ Dex4D (arXiv:2602.15828)์ ์ง์ ๋น๊ตํ๋ฉด ํฅ๋ฏธ๋กญ๋ค.
graph TD
subgraph STR ["SimToolReal"]
STR1["๋ชฉํ ํํ: SE(3) ํฌ์ฆ"]
STR2["์ธ์: FoundationPose\n6D ํฌ์ฆ ์ถ์ "]
STR3["๋ชฉํ ์ถ์ฒ: ์ธ๊ฐ ์ค์ ๋น๋์ค"]
STR4["ํ๋ จ ๋ฌผ์ฒด: ๋๊ตฌ ํ๋ฆฌ๋ฏธํฐ๋ธ"]
end
subgraph D4D ["Dex4D"]
D4D1["๋ชฉํ ํํ: 3D ํฌ์ธํธ ํธ๋"]
D4D2["์ธ์: 4D ์ฌ๊ตฌ์ฑ\nํฌ์ธํธ ํด๋ผ์ฐ๋ ํธ๋ํน"]
D4D3["๋ชฉํ ์ถ์ฒ: ๋น๋์ค ์์ฑ ๋ชจ๋ธ"]
D4D4["ํ๋ จ ๋ฌผ์ฒด: ์์ฒ ๊ฐ ๋ฒ์ฉ ๋ฌผ์ฒด"]
end
COMP["ํต์ฌ ์ฐจ์ด\nSE(3) ํฌ์ฆ vs. ํฌ์ธํธ ํธ๋\n์ค์ ๋น๋์ค vs. ์์ฑ ๋น๋์ค"]
STR --- COMP
D4D --- COMP
๋ ๋ฐฉ๋ฒ์ ์ฒ ํ์ ์ฐจ์ด๋ ๋ชฉํ ํํ ๋ฐฉ์์ด๋ค. SimToolReal์ SE(3) ํฌ์ฆ๋ ๋ ๊ฐ๊ฒฐํ๊ณ ํด์ ๊ฐ๋ฅํ์ง๋ง, ๋ฌผ์ฒด์ ํํ ๋ณํ๋ ๋ถ๋ถ์ ๊ฐ์์ฑ์ ์ทจ์ฝํ ์ ์๋ค. Dex4D์ ํฌ์ธํธ ํธ๋์ ๋ ํ๋ถํ ํํ ์ ๋ณด๋ฅผ ๋ด์ง๋ง ๋น๋์ค ์์ฑ ๋ชจ๋ธ์ ์์กดํ๋ค.
6.3 ๋ชจ๋ฐฉ ํ์ต ์ ๊ทผ๋ฒ๋ค๊ณผ์ ๋น๊ต
ACT, Diffusion Policy ๊ฐ์ IL ๋ฐฉ๋ฒ๋ค์ ๊ณ ํ์ง ์์ฐ ๋ฐ์ดํฐ๊ฐ ์์ ๋ ๋งค์ฐ ๊ฐ๋ ฅํ๋ค. ๊ทธ๋ฌ๋ SimToolReal์ด ๊ณต๋ตํ๋ ์์ญ์ ๋ฐ๋ก ๊ทธ ๋ฐ์ดํฐ ์์ง์ด ์ด๋ ค์ด ์ํฉ์ด๋ค. ์์ ๋๊ตฌ๋ฅผ ์ง์ด ๋๋ฆฌ๋ ๋์์ ํ ๋ ์คํผ๋ ์ด์ ์์ฐ์ ์์ญ ์๊ฐ์ ์์ ์ ๋ ธ๋ ฅ์ด ํ์ํ๋ค.
SimToolReal์ ์ด ๋ฐ์ดํฐ ์์ง ๋ฌธ์ ๋ฅผ ์๋ฎฌ๋ ์ด์ ์ผ๋ก ์ฐํํ๋ค. ๋จ, ๊ทธ ๋๊ฐ๋ก ์ธ์ ํ์ดํ๋ผ์ธ์ ์ ํ๋์ ์์กดํ๊ฒ ๋๋ค.
7. ๋นํ์ ๊ณ ์ฐฐ: ๊ฐ์ ๊ณผ ํ๊ณ
7.1 ๊ฐ์
์ฐ์ํ ๋ฌธ์ ํ์: ๋ณต์กํ ๋๊ตฌ ์กฐ์์ ๋จ์ผ ๋ชฉํ ๋๋ฌ ๋ฌธ์ ๋ก ํ์ํ ๊ฒ์ ์ด ๋ ผ๋ฌธ์ ๊ฐ์ฅ ๋น๋๋ ๊ธฐ์ฌ๋ค. ์ด ๋จ์ํ๊ฐ Zero-Shot ์ผ๋ฐํ๋ฅผ ๊ฐ๋ฅํ๊ฒ ํ๋ค.
์ง์ ํ Zero-Shot: ๋ง์ ๋ ผ๋ฌธ์ด โzero-shotโ์ ์ฃผ์ฅํ์ง๋ง, ์ค์ ๋ก๋ ํ๋ จ ์ ์ ์ฌํ ๋ฌผ์ฒด๋ฅผ ๋ดค๊ฑฐ๋ ํ์ธํ๋์ด ์๋ค. SimToolReal์ ์ง์ ์ผ๋ก ์๋ก์ด ๋ฌผ์ฒด์ ๊ณผ์ ์ zero-shot์ด๋ค.
์ค์ฉ์ ํ์ดํ๋ผ์ธ: SAM 3D + FoundationPose ์กฐํฉ์ ๊ธฐ์กด ๊ณต๊ฐ ๋ชจ๋ธ์ ํ์ฉํด ์ฌํ ๊ฐ๋ฅํ๋ค. ์ ์ฒด ์ฝ๋์ ์์ ์ด ๊ณต๊ฐ๋์ด ์์ด ์ง์ ์ฌ์ฉ ๊ฐ๋ฅํ๋ค.
์๋ฏธ ์๋ ๋ฒค์น๋งํฌ ๊ธฐ์ฌ: DexToolBench๋ ํฅํ ์ฐ๊ตฌ์ ํ์ค ํ๊ฐ ํ๋ซํผ์ด ๋ ๊ฐ๋ฅ์ฑ์ด ์๋ค.
์คํ์ ๋ฆฌ์คํธ ์์ค์ ์ฑ๋ฅ: Zero-Shot์์๋ ๋ถ๊ตฌํ๊ณ ๊ฐ์ฒด๋ณ ์ ๋ฌธ ์ ์ฑ ๊ณผ ๋๋ฑํ ์ฑ๋ฅ์ ๋ณด์ธ ๊ฒ์ ์ฃผ๋ชฉํ ๋งํ๋ค.
7.2 ํ๊ณ
์ธ์ ํ์ดํ๋ผ์ธ ์์กด์ฑ: ์ ์ฑ ์ ์ฑ๋ฅ์ด ํฌ์ฆ ์ถ์ ์ ์ ํ๋์ ์ง๊ฒฐ๋๋ค. FoundationPose๊ฐ ํธ๋ํน์ ์์ผ๋ฉด ์ ์ฑ ์ด ์๋ชป๋ ๊ด์ธก ๊ธฐ๋ฐ์ผ๋ก ํ๋ํ๋ค. ํนํ ๋น ๋ฅธ ๋ง์น ์ค์ ๊ฐ์ ๋์์์ ์ด ๋ฌธ์ ๊ฐ ๋๋ฌ๋๋ค.
๋จ๋จํ ๋ฌผ์ฒด ํ์ : ๋๊ตฌ๋ฅผ ๋จ๋จํ ๊ฐ์ฒด(rigid body)๋ก ๊ฐ์ ํ๋ค. ๋ถ์ ํธ ๋ถ๋ถ์ด๋ ์ ์ฐํ ์์ก์ด ๋ฑ์ ํ์ฌ ํ๋ ์์ํฌ๋ก ํํํ๊ธฐ ์ด๋ ต๋ค.
๊ธฐ๋ฅ์ ๊ฒฐ๊ณผ(functional outcome) ๋ฏธํ๊ฐ: ๋ ผ๋ฌธ ์ ๋ชฉ๊ณผ ๋์์์ ์ธ์์ ์ด์ง๋ง, ์ค์ ๋ก ๋ชป์ ๋ฐ๊ฑฐ๋ ๋์ฌ๋ฅผ ์กฐ์ด๋ ๊ธฐ๋ฅ์ ๊ฒฐ๊ณผ๋ฅผ ์ฑ๊ณต ์งํ๋ก ํ๊ฐํ์ง๋ ์๋๋ค. Task Progress๋ ๋๊ตฌ๊ฐ ์ฌ๋ฐ๋ฅธ ๊ถค์ ์ ๋ฐ๋ผ๊ฐ๋์ง๋ฅผ ์ธก์ ํ๋ค.
๋ ์ ์กฐ์ ๋ถ์ฌ: ํ์ค์ ๋ง์ ๋๊ตฌ ์ฌ์ฉ์ ํ ์์ผ๋ก ๋ฌผ์ฒด๋ฅผ ๊ณ ์ ํ๊ณ ๋ค๋ฅธ ์์ผ๋ก ๋๊ตฌ๋ฅผ ์ฌ์ฉํ๋ค. ํ์ฌ ํ๋ ์์ํฌ๋ ๋จ์ผ ๋ค์ง ํธ๋์๋ง ์ ์ฉ๋๋ค.
ํฌ์ฆ ํํ์ ํ๊ณ: SE(3) ํฌ์ฆ๋ ๋ฌผ์ฒด ์ ์ฒด์ rigid body ์ํ๋ง ํํํ๋ค. ๋๋ผ์ด๋ฒ๋ฅผ ๋์ฌ์ ๊ฝ๋ ๊ฒ์ฒ๋ผ ๋ฌผ์ฒด ๊ฐ์ ์๋์ ๊ด๊ณ๊ฐ ์ค์ํ ๊ฒฝ์ฐ, ํ์ฌ ํํ๋ง์ผ๋ก๋ ๋ถ์กฑํ ์ ์๋ค.
7.3 ์ฐ๊ตฌ์๋ฅผ ์ํ ํ์ ์ฐ๊ตฌ ๋ฐฉํฅ
์ด ๋ ผ๋ฌธ์ ์ฝ์ผ๋ฉด์ ์์ฐ์ค๋ฝ๊ฒ ๋ ์ค๋ฅด๋ ํ์ ์ฐ๊ตฌ ์ง๋ฌธ๋ค:
ํ์ง ๋ฐ์ด๋ฉ๋ฐ์ค ์๋ ์ถ๋ก : ๋ณต์กํ ํํ์ ๋๊ตฌ์์ โ์ก์ ๋ถ๋ถโ์ ์๋์ผ๋ก ์ถ๋ก ํ๋ ๊ฒ์ ์ฌ์ ํ ์ด๋ ต๋ค. ํ์ฌ๋ SAM 3D + ์๋ ์ ํ์ผ๋ก ๋ณด์ธ๋ค. ์ด๋ฅผ ์ธ์ด ์ง์(language grounding)๋ก ๋์ฒดํ ์ ์์๊น?
๋ชฉํ ๊ถค์ ์์ฑ ์๋ํ: ์ธ๊ฐ ๋น๋์ค ์์ด ํ ์คํธ ๋ช ๋ น์ผ๋ก ๋ชฉํ ๊ถค์ ์ ์์ฑํ ์ ์๋๊ฐ? ์๋ฅผ ๋ค์ด โ๋ง์น๋ก ๋ชป์ ๋ฐ์๋ผโ๋ผ๋ ์ง์๋ก๋ถํฐ ๊ถค์ ์ ์๋ ์์ฑ.
๋ค๋ฅธ ํ๋ซํผ ์ ์ฉ ๊ฐ๋ฅ์ฑ: 29-DoF ์์คํ ์ ์ต์ ํ๋ ์ ์ฑ ์ด Allegro Hand๋ Shadow Hand ๊ฐ์ ๋ค๋ฅธ ๊ตฌ์ฑ์๋ ์ผ๋ฐํ๋๋๊ฐ?
์ด๊ฐ ๊ฐ์ง ํตํฉ: ํฌ์ฆ๋ง์ผ๋ก๋ ํ์ง๋ ฅ์ ์ถฉ๋ถํจ์ ์ ์ ์๋ค. ์ด๊ฐ ์ผ์๋ฅผ ์ถ๊ฐํ๋ฉด ํ์ง ์์ ์ฑ์ด ํฌ๊ฒ ๊ฐ์ ๋ ๊ฒ์ด๋ค.
8. ์์ฝ ๋ฐ ๊ฒฐ๋ก
SimToolReal์ ๋ก๋ด ๋๊ตฌ ์กฐ์ ๋ถ์ผ์ ์ธ ๊ฐ์ง ๊ทผ๋ณธ์ ๊ธฐ์ฌ๋ฅผ ํ๋ค.
์ฒซ์งธ, ๋ฌธ์ ์ ์์ ํ์ : ์์ญ ๊ฐ์ง ๋ค๋ฅธ ๋๊ตฌ์ ๊ณผ์ ๋ฅผ ํ๋์ ํตํฉ๋ ๋ชฉํ ํฌ์ฆ ์ถ์ ๋ฌธ์ ๋ก ํ์ํ๋ค. ์ด ๋จ์ํ๋ ๊ทธ ์์ฒด๋ก ์ค์ํ ํต์ฐฐ์ด๋ค.
๋์งธ, ์ง์ ํ Zero-Shot ์ผ๋ฐํ: ํ๋ จ ๋ ๋ณด์ง ๋ชปํ 12๊ฐ์ง ์ค์ ๋๊ตฌ์ 24๊ฐ์ง ๊ณผ์ ์์ ์คํ์ ๋ฆฌ์คํธ ์์ค์ ์ฑ๋ฅ์ ๋ฌ์ฑํ๋ค.
์ ์งธ, ์ฌํ ๊ฐ๋ฅํ ์ค์ฉ์ ์์คํ : ๊ณต๊ฐ๋ ์ฝ๋, ์์ , DexToolBench ๋ฒค์น๋งํฌ๋ ํ์ ์ฐ๊ตฌ๋ฅผ ์ํ ๊ฒฌ๊ณ ํ ๊ธฐ๋ฐ์ ์ ๊ณตํ๋ค.
์ด ๋ ผ๋ฌธ์ด ํนํ ์๋ฏธ ์๋ ๊ฒ์ ๋จ์ํจ์ด ์ผ๋ฐํ๋ฅผ ์ด๊ธด๋ค๋ ๊ฒ์ ๋ณด์ฌ์ฃผ์๊ธฐ ๋๋ฌธ์ด๋ค. ๋ณต์กํ ๊ณผ์ ๋ณ ์์ง๋์ด๋ง ๋์ , ํ๋์ ๋จ์ํ๊ณ ๋ณดํธ์ ์ธ ๋ชฉํ โ ์์์ ๋ฌผ์ฒด๋ฅผ ์์์ ํฌ์ฆ๋ก ์ด๋ํ๋ผ โ ๊ฐ ๋ค์ํ ์ค์ ๋๊ตฌ ์ฌ์ฉ์ ๊ฐ๋ฅํ๊ฒ ํ๋ค.
๋ฌผ๋ก ์ค์ ๋ชป์ ๋ฐ๊ฑฐ๋ ๋์ฌ๋ฅผ ์กฐ์ด๋ ๊ฒ๊น์ง ๊ฐ๋ ๊ธธ์ ์์ง ๋ฉ๋ค. ํ์ง๋ง SimToolReal์ ๊ทธ ๊ธธ์ ์ค์ํ ์ด์ ํ๋ฅผ ์ธ์ ๋ค. ๋๊ตฌ๋ฅผ ์ง๊ณ ๊ธฐ๋ฅ์ ์์ธ๋ก ๋๋ฆฌ๋ ๊ฒ, ๊ทธ๊ฒ๋ง์ผ๋ก๋ ์ด๋ฏธ ๋ก๋ด ๋๊ตฌ ์กฐ์์ ๊ฐ์ฅ ์ด๋ ค์ด ๊ด๋ฌธ ์ค ํ๋๋ฅผ ํต๊ณผํ ๊ฒ์ด๋ค.
๋ก๋ด๊ณตํ ์ฐ๊ตฌ์๋ก์ ์ด ๋ ผ๋ฌธ์์ ์ป์ด์ผ ํ ๊ฐ์ฅ ํฐ ๊ตํ์ ํ๋๋ค. ์ข์ ์ถ์ํ(abstraction)๋ฅผ ์ฐพ์ผ๋ฉด, ๋๋จธ์ง๋ ๋ฐ๋ผ์จ๋ค.
์ฐธ๊ณ ์ ๋ณด
- ๋ ผ๋ฌธ: arXiv:2602.16863
- ํ๋ก์ ํธ ํ์ด์ง: simtoolreal.github.io
- ์ฝ๋: GitHub: tylerlum/simtoolreal
- ์ ์: Kushal Kedia (Cornell), Tyler Ga Wei Lum (Stanford), Jeannette Bohg (Stanford), C. Karen Liu (Stanford)
- ๋ฐํ์ผ: 2026๋ 2์ 18์ผ (v1), 24์ผ (v2)
ํ์ฉ๋ ์ฃผ์ ์ธ๋ถ ๋ชจ๋ธ
| ๋ชจ๋ธ | ์ฉ๋ | ๋น๊ณ |
|---|---|---|
| FoundationPose (NVIDIA) | 6D ํฌ์ฆ ์ถ์ ๋ฐ ํธ๋ํน | CVPR 2024 |
| SAM 3D (Meta) | 3D ์ธ๊ทธ๋ฉํ ์ด์ + ๋ฉ์ฌ ์ฌ๊ตฌ์ฑ | SAM ๊ธฐ๋ฐ ํ์ฅ |
| Isaac Gym (NVIDIA) | RL ํ๋ จ ํ๊ฒฝ (GPU ๋ณ๋ ฌ) | ์์ฒ ๊ฐ ๋ณ๋ ฌ ํ๊ฒฝ |