flowchart TB
subgraph SIM["Stage 0: Simulation (ManiSkill)"]
A["PPO Training<br/>MIDI-based reward"]
A --> B["Best ฯ_sim selection<br/>via validation F1"]
B --> C["Open-loop trajectory ฯ_sim"]
end
subgraph REAL["Stage 1: Structured Refinement (real, heuristic)"]
C --> D["Execute on hardware"]
D --> E["Compare pressed vs target keys"]
E --> F["Adjust lateral joints<br/>iteratively"]
F --> G["Refined trajectory ฯ*_sim"]
end
subgraph RES["Stage 2: Residual RL (real, learned)"]
G --> H["Residual policy ฯ_res<br/>on top of ฯ*_sim"]
H --> I["TD3 with guided noise"]
I --> J["HandelBot policy"]
end
J --> K["10 Hz policy<br/>โ PyRoki IK safety layer<br/>โ 80 Hz hand commands"]
๐HandelBot ๋ฆฌ๋ทฐ
- ๐น HandelBot์ sim-to-real gap์ผ๋ก ์ธํด ์ ๋ฐํ ์ค์ ํ๊ฒฝ dexterity๊ฐ ์ด๋ ค์ด bimanual piano playing์ ์ํ ์ต์ด์ ํ์ต ๊ธฐ๋ฐ ์์คํ ์ ๋๋ค.
- โจ ์ด ์์คํ ์ ์๋ฎฌ๋ ์ด์ ์ผ๋ก ํ๋ จ๋ ์ ์ฑ ์ real-world data๋ก ๋น ๋ฅด๊ฒ ์ ์์ํค๊ธฐ ์ํด, ๋จผ์ structured trajectory refinement๋ก ๊ณต๊ฐ ์ ๋ ฌ์ ์์ ํ๊ณ ์ด์ด์ residual reinforcement learning์ผ๋ก ๋ฏธ์ธํ corrective action์ ํ์ตํ๋ 2๋จ๊ณ ํ์ดํ๋ผ์ธ์ ์ฌ์ฉํฉ๋๋ค.
- โ HandelBot์ 5๊ณก์ ๋ค์ํ ๊ณก์์ ์ฑ๊ณต์ ์ธ real-world execution์ ๋ฌ์ฑํ๋ฉฐ, ๋จ 30๋ถ ๋ฏธ๋ง์ ๋ฌผ๋ฆฌ์ ์ํธ์์ฉ ๋ฐ์ดํฐ๋ง์ผ๋ก ์ง์ ์ ์ธ ์๋ฎฌ๋ ์ด์ ๋ฐฐํฌ๋ณด๋ค 1.8๋ฐฐ ๋ฐ์ด๋ ์ฑ๋ฅ์ ์ ์ฆํ์ต๋๋ค.
๐ Ping Review
๐ Ping โ A light tap on the surface. Get the gist in seconds.
HandelBot ๋ ผ๋ฌธ์ ๋ค์ง(multi-fingered) ๋ก๋ด ์์ ์ด์ฉํ ์ ๊ตํ ํ์ค ์ธ๊ณ ํผ์๋ ธ ์ฐ์ฃผ๋ผ๋ ๋์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ํ๋ ์์ํฌ๋ฅผ ์ ์ํฉ๋๋ค. ์ด ์์ ์ ์๋ฎฌ๋ ์ด์ ์์ ํ๋ จ๋ ์ ์ฑ (\pi_{sim})์ด ๋ฐ๋ฆฌ๋ฏธํฐ ๊ท๋ชจ์ ์ ๋ฐ๋๋ฅผ ์๊ตฌํ๋ ํ์คํฌ์์ ํ์ค ์ธ๊ณ๋ก ์ง์ ๋ฐฐํฌ๋ ๋ ๋ฐ์ํ๋ ์ฌ-ํฌ-๋ฆฌ์ผ(sim-to-real) ๊ฐญ์ผ๋ก ์ธํ ์คํจ๋ฅผ ๊ทน๋ณตํ๋ ๋ฐ ์ค์ ์ ๋ก๋๋ค.
I. ์๋ก ๋ฐ ๋ฐฐ๊ฒฝ
๊ธฐ์กด์ ๋ก๋ด ํผ์๋ ธ ์ฐ์ฃผ ์์คํ ์ ์ ์ฉ ํ๋์จ์ด์ ์์์ ์ผ๋ก ์ ์ด๋๋ ์ปจํธ๋กค๋ฌ์ ์์กดํ์ต๋๋ค. ์ต๊ทผ์ ํ์ต ๊ธฐ๋ฐ ์ ๊ทผ ๋ฐฉ์์ ๋ฒ์ฉ ๋ก๋ด ํ๋์จ์ด๋ฅผ ์ฌ์ฉํ์ฌ ์๋ฎฌ๋ ์ด์ ์์ ์ธ์์ ์ธ dexterous ํผ์๋ ธ ์ฐ์ฃผ๋ฅผ ๋ฌ์ฑํ์ง๋ง, ํ์ค ์ธ๊ณ๋ก์ ์ฌ-ํฌ-๋ฆฌ์ผ ์ ์ก์ ์ฌ์ ํ ๋ฏธ๊ฐ์ฒ ๋ถ์ผ์์ต๋๋ค. HandelBot์ ์ด๋ฌํ ๊ฐ๊ทน์ ๋ฉ์ฐ๋ฉฐ, ํนํ ์์(bimanual) ํผ์๋ ธ ์ฐ์ฃผ์ ์ด์ ์ ๋ง์ถฅ๋๋ค. ์ด ์์คํ ์ ์๋ฎฌ๋ ์ด์ ์์์ ๊ฐ๋ ฅํ ์ฌ์ ํ๋ จ(pretraining)๊ณผ ํ์ค ์ธ๊ณ์์์ residual reinforcement learning์ ๊ฒฐํฉํ์ฌ ๋ณต์กํ ์์ ํผ์๋ ธ ์ฐ์ฃผ๋ฅผ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค.
II. HandelBot ํต์ฌ ๋ฐฉ๋ฒ๋ก
HandelBot์ ์๋ฎฌ๋ ์ด์ ํ๋ จ๋ ์ ์ฑ ์ ํ์ค ์ธ๊ณ ํผ์๋ ธ ์ฐ์ฃผ์ ์ ์ฉํ๊ธฐ ์ํด ๋ ๋จ๊ณ์ ํ๋ก์ธ์ค๋ฅผ ๋ฐ๋ฆ ๋๋ค.
A. ์๋ฎฌ๋ ์ด์ ์์์ ๊ฐํ ํ์ต (RL in Simulation)
์ฒซ ๋ฒ์งธ ๋จ๊ณ๋ ์๋ฎฌ๋ ์ด์ ํ๊ฒฝ์์ ํต์ฌ ํผ์๋ ธ ์ฐ์ฃผ ๋์์ ํ์ตํ๋ ๊ฒ์ ๋๋ค.
- ๋ณด์ ์ค๊ณ (Reward Design):
RoboPianist[1]์ ์ค๊ณ๋ฅผ ๋ฐ๋ฅด๋ฉฐ, ๋ชฉํ ๋ ธํธ๋ฅผ ์ฐ์ฃผํ๋ ๊ฒ์ ๋ํ key press reward, ์ฌ๋ฐ๋ฅธ ๊ฑด๋ฐ ๊ทผ์ฒ์ ์๋ ๊ฒ์ ๋ํ dense fingering reward, ๊ทธ๋ฆฌ๊ณ energy penalty๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. Appendix์์๋Key Press reward๊ฐ 0.7 \cdot \left(\frac{1}{K}\sum_{i} g(||k^s_i - 1||^2)\right) + 0.3 \cdot (1 - \mathbf{1}_{\{\text{false positive}\}})์ ๊ฐ์ด ๋ณํ๋์ด, ์๋ชป๋ ํค๋ฅผ ๋๋ฅด๋ ๊ฒ์ด ๊ฑฐ์ ๋ถ๊ฐํผํ ํ์ค ํ๊ฒฝ์ ํน์ฑ์ ๋ฐ์ํ์ต๋๋ค. - ๊ด์ธก ๋ฐ ํ๋ ๊ณต๊ฐ (Observations and Actions): ๋ก๋ด ๊ณ ์ ์์ฉ์ฑ(proprioception), ํ์ฌ ํผ์๋ ธ ํ์ฑํ, ๋ชฉํ ํผ์๋ ธ ํ์ฑํ, ํ์ฑํ๋ ์๊ฐ๋ฝ ๋ฑ์ด ๊ด์ธก ๊ณต๊ฐ์ ํฌํจ๋ฉ๋๋ค. ํ๋ ๊ณต๊ฐ์ delta joint positions์ผ๋ก, ๋ก๋ด ์์ ์ ์์ค ์ ์ด ๋ช ๋ น์ ๋ํ๋ ๋๋ค. ํนํ Tesollo DG-5F ์์ ๊ฒฝ์ฐ, ๋ง์ง๋ง joint angle์ 1 ๋ผ๋์์ผ๋ก ๊ณ ์ ํ์ฌ action space๋ฅผ ์ค์ด๊ณ ์๊ฐ๋ฝ ๋์ผ๋ก ๊ฑด๋ฐ์ ๋๋ฅด๋๋ก ์ ๋ํฉ๋๋ค. ์๋ชฉ ๊ถค์ (wrist trajectory)์ ์ ๋ณด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์คํฌ๋ฆฝํธ๋๋ฉฐ, ์ฌ๋ฌ ๋ ธํธ๊ฐ ๋์์ ๋ฐ์ํ ๊ฒฝ์ฐ ํ๊ท Y ์์น์ ์ต์ X ์์น๋ฅผ ์ฌ์ฉํ์ฌ ์ง๊ณ๋ฉ๋๋ค.
- ์ ์ฑ ํ์ต: ๋น ๋ฅด๊ณ ๋ณ๋ ฌ์ ์ธ ๋กค์์๊ณผ dense reward ์ ํธ๋ฅผ ํ์ฉํ์ฌ PPO [68] ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ์ ์ฑ \pi_{sim}์ ํ๋ จํฉ๋๋ค. ์ด \pi_{sim}์ ์๋ฎฌ๋ ์ด์ ์์ ๊ฐ๋ ฅํ ์ฑ๋ฅ์ ๋ณด์ด์ง๋ง, ํ์ค ์ธ๊ณ์์๋ ์ปจํธ๋กค๋ฌ ๋ฐ ํผ์๋ ธ ๊ฑด๋ฐ ๋๋ฅด๊ธฐ dynamics์ ๋ถ์ผ์น๋ก ์ธํด ์ฑ๋ฅ ์ ํ๊ฐ ๋ฐ์ํฉ๋๋ค.
B. ์ ์ฑ ์ ์ (Policy Refinement)
Residual RL์ ์คํํ๊ธฐ ์ ์, ํ์ค ์ธ๊ณ์์ ๊ฒฝ๋ํ๋ ์ ์ฑ ์ ์ ์ ์ฐจ๋ฅผ ์ ์ฉํฉ๋๋ค. ์ด๋ ์๋ฎฌ๋ ์ด์ ์์ ํ๋ จ๋ \pi_{sim}์ผ๋ก๋ถํฐ ์ป์ ์ด๊ธฐ ๊ฐ๋ฐฉ ๋ฃจํ ๊ถค์ \tau^0 = (s^0_0, ..., s^0_T)๋ฅผ ์์ ํ์ฌ \tau^* = (s^*_0, ..., s^*_T)๋ฅผ ์์ฑํ๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค.
- ์ธก๋ฉด ์กฐ์ธํธ ๋ณด์ (Lateral Joint Correction): ๋๋ฉ์ธ ์ง์(๊ฑด๋ฐ ๊ธฐํํ, ์์ kinematics)์ ํ์ฉํ์ฌ ์ผ๊ด๋ ์ธก๋ฉด ํธํฅ(lateral biases)๊ณผ ์ ์ด ์ค์ ๋ ฌ(contact misalignments)์ ์์ ํฉ๋๋ค.
- \pi_{sim}์ ํ์ค ๋ก๋ด์์ ๊ฐ๋ฐฉ ๋ฃจํ(open-loop) ๋ฐฉ์์ผ๋ก ์คํํ๊ณ , ๊ฐ ์๊ฐ ๋จ๊ณ t์์ (i) ๋ชฉํ ๋ ธํธ ๋ฐ ํด๋น ์๊ฐ๋ฝ, (ii) ์ค์ ๋ก ๋๋ฆฐ ๊ฑด๋ฐ ์ธํธ K_{press_t}๋ฅผ ๊ธฐ๋กํฉ๋๋ค.
- ๊ฐ ์๊ฐ๋ฝ์ ๋ํด ๋ชฉํ์ ๊ฐ์ฅ ๊ฐ๊น์ด ๋๋ฆฐ ๊ฑด๋ฐ k_{press_t}๋ฅผ ์๋ณํฉ๋๋ค. ๋ง์ฝ k_{press_t}๊ฐ ๋ชฉํ k_{target_t}์ ๋ค๋ฅด๋ค๋ฉด, ๋ฐฉํฅ์ฑ ์ค์ฐจ(signed directional error)๋ฅผ ๊ณ์ฐํฉ๋๋ค: \Delta_t = \begin{cases} +\delta & \text{if } k_{press_t} < k_{target_t} \\ -\delta & \text{if } k_{press_t} > k_{target_t} \\ 0 & \text{otherwise} \end{cases} ์ฌ๊ธฐ์ \delta๋ ์ธก๋ฉด ์๊ฐ๋ฝ ์กฐ์ธํธ ์กฐ์ ๋์ ์ ์ดํ๋ step size์ ๋๋ค.
- ๋ฐ๋ณต์ ์ ๋ฐ์ดํธ (Iterative Updates): ์ด ๋ณด์ ์ ์ฐจ๋ ๊ถค์ ์คํ๊ณผ ์ ๋ฐ์ดํธ๋ฅผ ๋ฒ๊ฐ์ ๊ฐ๋ฉฐ ๋ฐ๋ณต์ ์ผ๋ก ์ ์ฉ๋ฉ๋๋ค. \delta๋ ์ด๊ธฐ์๋ ํฐ ๊ฐ์ผ๋ก ์ค์ ํ๊ณ , ๋งค ๋ฐ๋ณต๋ง๋ค ์ ์ง์ ์ผ๋ก ๊ฐ์(annealing)์์ผ ์ง๋์ ํผํ๊ณ ๋ถ๋๋ฌ์ด ์๋ ด์ ๋์ต๋๋ค. ์ธ์ ์๊ฐ๋ฝ์ 0.3\Delta_t์ ๊ฐ์ ์์ ๋ณด์ ํญ์ ์ถ๊ฐํ์ฌ ๊ณต๊ฐ์ ๋ถ๋ฆฌ(spatial separation)๋ฅผ ์ฅ๋ คํฉ๋๋ค. ์ฌ๋ฌ ๊ฑด๋ฐ์ด ๋๋ฆด ๊ฒฝ์ฐ, ์ผ์ชฝ์ ํ์ฑ ์๊ฐ๋ฝ์ ๋ฎ์ ์์ ๊ฑด๋ฐ์ ๋๋ฅด๊ณ , ์ค๋ฅธ์ชฝ์ ํ์ฑ ์๊ฐ๋ฝ์ ๋์ ์์ ๊ฑด๋ฐ์ ๋๋ฅธ๋ค๊ณ ๊ฐ์ ํฉ๋๋ค.
- ์ฒญํฌ ๋จ์ ์
๋ฐ์ดํธ (Chunked Updates): ์
๋ฐ์ดํธ๋ ๋งค ์๊ฐ ๋จ๊ณ๊ฐ ์๋, ๊ธธ์ด K์ temporal chunks ๋จ์๋ก ์ํ๋ฉ๋๋ค. ์ด๋ ๋์์ ๋ถ๋๋ฌ์์ ์ํด, ์๊ฐ๋ฝ ๋ ์ค์ฐจ๋ฅผ t+K+L๊น์ง ๊ณ ๋ คํ์ฌ anticipatory spatial adjustments๋ฅผ ์ด์งํฉ๋๋ค.
$\Delta_{chunk_t}$๋ ๋ค์๊ณผ ๊ฐ์ด ๊ณ์ฐ๋ฉ๋๋ค: \Delta_{chunk_t} = \frac{1}{K+L} \sum_{j=t}^{t+K+L} \Delta_j ์ด ๋ฐ๋ณต ๊ณผ์ ์ ๋์์, ๊ฐ์ฅ ์ข์ F1 ์ ์๋ฅผ ๊ฐ์ง ๊ถค์ ์ ์ ์ ๋ ๊ถค์ (\tau^*)์ผ๋ก ์ ์ฅํฉ๋๋ค.
C. ํ์ค ์ธ๊ณ ์์ฐจ ๊ฐํ ํ์ต (Real-World Residual Reinforcement Learning)
์ ์ฑ ์ ์ ๋จ๊ณ์์ ์ป์ ๊ฐ๋ฐฉ ๋ฃจํ ๊ถค์ s^*_0, ..., s^*_T๋ฅผ ๋ฏธ์ธ ์กฐ์ ํ๊ธฐ ์ํด residual reinforcement learning ํ๋ ์์ํฌ๋ฅผ ์ฑํํฉ๋๋ค.
- ์์ฐจ ์ ์ฑ ๊ณต์ํ (Residual Policy Formulation): ์์ฐจ ์ ์ฑ \pi_{res}๋ ๊ธฐ๋ณธ ํ๋์ ๋ํ ๋ถ๊ฐ์ ์ธ ๋ณด์ (additive correction)์ ์ถ๋ ฅํฉ๋๋ค: \hat{s}_{t+1} = \pi_{res}(o_t) + s^*_{t+1} ์ฌ๊ธฐ์ o_t๋ ์๊ฐ t์ ํ์ค ์ธ๊ณ ๊ด์ธก๊ฐ์ด๊ณ , s^*_{t+1}์ ๊ฐ๋ฐฉ ๋ฃจํ ๊ถค์ ์ ๋ค์ ์ํ๋ฅผ ๋ํ๋ ๋๋ค. \pi_{res}์ ์ถ๋ ฅ์ ์์ ์ญ๋(perturbations)์ผ๋ก ์ ํ๋์ด ๋ ์์ ํ ํ์๊ณผ ๋น ๋ฅธ ํ์ต์ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค.
- ์์ฐจ RL ๋ชฉํ (Residual RL Objective): ํ์ค ์ธ๊ณ์์๋ ํผ์๋ ธ์ MIDI ์ถ๋ ฅ์์ ํ์๋ key press reward ์ ํธ๋ง ์ฌ์ฉํฉ๋๋ค (์๋ฎฌ๋ ์ด์ ์์ ์ฌ์ฉ๋ ๊ฒ๊ณผ ๋์ผ). \pi_{res}๋ ํ์ค ์ธ๊ณ dynamics ํ์์ ๊ธฐ๋ ๋ณด์์ ์ต๋ํํ๋๋ก ๊ฐํ ํ์ต์ ํตํด ํ๋ จ๋ฉ๋๋ค.
- ์ ๋ ์ก์ (Guided Noise): TD3 [65] ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๋ฉฐ, ์ํ๋ง๋ ํ๋์ ์ก์ ํญ์ ์ถ๊ฐํฉ๋๋ค. ํนํ, ์ ์ฑ
์ ์ ์์ ์ฌ์ฉ๋ ์ธก๋ฉด ์กฐ์ ์ ๋ชจํฐ๋ธ๋ก, ์ก์
$\epsilon \sim \mathcal{N}(0,1)$์ ๋ฐฉํฅ์ ์ฌ๋ฐ๋ฅธ ์ธก๋ฉด ์์ง์์ ๋ฐฉํฅ์ผ๋ก ์ ๋ํฉ๋๋ค. ํ๋ฅ Pr(\text{guided noise}) = 0.5๋ก, ํด๋น ์ธก๋ฉด ์กฐ์ธํธ์ ์ก์ ๋ถํธ๊ฐ \Delta_t์ ๋์ผํ ๋ถํธ๊ฐ ๋๋๋ก ๋ณ๊ฒฝํ์ฌ$\hat{\epsilon}$์ ์์ฑํฉ๋๋ค. ์ต์ข ํ๋์ a = \mu_\theta(o) + \text{clip}(\hat{\epsilon}, -0.5, 0.5)๊ฐ ๋ฉ๋๋ค. ์ด๋ ํ์์ ์ฌ๋ฐ๋ฅธ ๊ฑด๋ฐ์ ๋๋ฅด๋ ๋ฐฉํฅ์ผ๋ก ์ ๋ํ๋ ๊ฒฝ๋ ํด๋ฆฌ์คํฑ์ ๋๋ค.
III. ์คํ ๊ฒฐ๊ณผ
HandelBot์ 5๊ฐ์ ๋ค์ํ ๊ณก(Twinkle Twinkle, Ode to Joy, Hot Cross Buns, Fur Elise, Prelude in C)์ ๋ํด ์์ ๋ก๋ด ์์คํ ์ผ๋ก ํ๊ฐ๋์์ต๋๋ค.
- ํ๋์จ์ด ์ค์ : Tesollo DG-5F ์๊ณผ Franka Emika Panda ์ ๋ฐ FR3 ์์ ์ฌ์ฉํฉ๋๋ค. MIDI ํค๋ณด๋๋ฅผ ํตํด ์ด๋ค ๋ ธํธ๊ฐ ๋๋ ธ๋์ง ๊ฐ์งํ์ฌ ๋ณด์ ๊ณ์ฐ์ ํ์ฉํฉ๋๋ค.
- ์์ ๋ฐ ๋ฐฐํฌ: PyRoki [67]๋ฅผ ์ฌ์ฉํ์ฌ ์์ ๋ ์ด์ด๋ฅผ ์ถ๊ฐํ๊ณ , ์ ์ฑ ํ๋์ 10Hz์์ ์์ฑ๋ ํ 80Hz๋ก ์ ํ ๋ณด๊ฐ๋ฉ๋๋ค. ์์ Polymetis ์ปจํธ๋กค๋ฌ๋ฅผ ์ฌ์ฉํ์ฌ 100Hz๋ก ์ ์ด๋ฉ๋๋ค.
- ์ฃผ์ ๊ฒฐ๊ณผ (Fig. 4): HandelBot์ ๋ชจ๋ ํ๊ฐ๋ ์์
์์ ์ผ๊ด์ ์ผ๋ก ๊ฐ์ฅ ๋์ F1 ์ ์๋ฅผ ๋ฌ์ฑํ์ต๋๋ค. ์๋ฎฌ๋ ์ด์
๋ฐ์ดํฐ๋ง ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ(์: \pi_{sim}(CL) ๋ฐ \pi_{sim})์ ์ฌ-ํฌ-๋ฆฌ์ผ ๊ฐญ์ผ๋ก ์ธํด ์ฑ๋ฅ์ด ํ์ ํ ๋ฎ์์ต๋๋ค.
policy refinement๋ ์๊ฐ๋ฝ ๋๋ฆ์ ์ฌ๋ฐ๋ฅธ ๋ชฉํ ํค์ ์ง์ ์ ๋ ฌํ๋ ๋ฐ ํจ๊ณผ์ ์ด๋ฉฐ,residual RL์ ์ค๋ฅ๋ฅผ ํด๊ฒฐํ๊ณ ๋ฌผ๋ฆฌ์ dynamics์ ์ ์ํ์ฌ ์ฑ๋ฅ์ ํฌ๊ฒ ํฅ์์์ผฐ์ต๋๋ค. - ์์ฐจ RL์ ์ค์์ฑ (Table I, II): ์ด๊ธฐํ๋ ๊ถค์ (refined trajectory > \pi_{sim} > no initialization) ์์ residual RL์ ํ์ตํ๋ ๊ฒ์ด ๋ ๋์ F1 ์ ์๋ก ์ด์ด์ง๋ค๋ ๊ฒ์ ๋ณด์ฌ์ฃผ์์ต๋๋ค. ์ด๋ ์ ์ ๋ ์ ์ฑ
์ด ํ์ ๊ณต๊ฐ์ ์ค์ฌ ๋ ์์ ์ ์ด๊ณ ํจ์จ์ ์ธ ํ๋ จ์ผ๋ก ์ด์ด์ง๋ค๋ ๊ฐ์ค์ ๋ท๋ฐ์นจํฉ๋๋ค. RL discount factor \gamma๊ฐ ๋ฎ์ผ๋ฉด F1 ์ ์๊ฐ ๋ฎ์์ง๊ณ ์์ง์์ด ๋ถ๊ท์นํด์ง๋๋ค.
guided noise๋ default ์ค์ (Pr(\text{guided noise}) = 0.5)์ดPr(guided noise) = 0๊ณผ ์ ์ฌํ์ง๋ง, ํญ์guided noise๋ฅผ ์ํ๋งํ๋ ๊ฒ์ ์ฑ๋ฅ ์ ํ๋ก ์ด์ด์ก๋๋ฐ, ์ด๋ ์๊ฐ๋ฝ ํ์์ด ํธํฅ๋์ด ์ต์ ์ด ์๋ ๋ฐ์ดํฐ๋ก๋ถํฐ์ ํ์ต์ ๋ฐฉํดํ๊ธฐ ๋๋ฌธ์ผ๋ก ์ถ์ ๋ฉ๋๋ค. - ํ์ ๋ฃจํ Sim-to-Real (Table I): ํ์ด๋ธ๋ฆฌ๋ ์คํ(hybrid execution)์ ์๋ฎฌ๋ ์ด์ ํ๊ฒฝ์ ํ์ค ํ๊ฒฝ๊ณผ ๋ณ๋ ฌ๋ก ์คํํ์ฌ ์๋ฎฌ๋ ์ด์ ๊ด์ธก์ ์ฌ์ฉํจ์ผ๋ก์จ ์ฌ-ํฌ-๋ฆฌ์ผ ๊ฐญ์ ์ํํ๋ ๋ฐฉ์์ ๋๋ค. ํ์ด๋ธ๋ฆฌ๋ ์คํ์ด ์ง์ ์ ์ก๋ณด๋ค ๊ฐ์ ์ ๋ณด์์ง๋ง, ํ์ค ์ธ๊ณ ๋ฐ์ดํฐ๋ฅผ ํ์ฉํ๋ HandelBot ๋ฐ ๋ค๋ฅธ ๋ฐฉ๋ฒ๋ค๊ณผ๋ ์ฌ์ ํ ์ฑ๋ฅ ์ฐจ์ด๊ฐ ์ปธ์ต๋๋ค.
IV. ๊ฒฐ๋ก ๋ฐ ํ๊ณ
HandelBot์ ์๋ฎฌ๋ ์ด์ ์์์ ๊ฐํ ํ์ต, ์ ์ฑ ์ ์ , ๊ทธ๋ฆฌ๊ณ ์์ฐจ ๊ฐํ ํ์ต์ ํตํด ๋ก๋ด ํผ์๋ ธ ์ฐ์ฃผ์ ๊ทน๋์ ์ ๋ฐ๋ ์๊ตฌ ์ฌํญ์ ํด๊ฒฐํฉ๋๋ค. ์ด ๋ฐฉ๋ฒ์ ์ทจ์ฝํ๊ณ ๋ถ์์ ํ ์๋ฎฌ๋ ์ด์ ์ ์ฑ ์ ๋จ 30๋ถ์ด๋ผ๋ ์ ์ ์์ ํ์ค ์ธ๊ณ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ์ฌ ํจ์ฌ ๊ฒฌ๊ณ ํ ํผ์๋ ธ ์ฐ์ฃผ ๋ก๋ด์ผ๋ก ๋ณํํ ์ ์์์ ๋ณด์ฌ์ค๋๋ค.
ํ๊ณ์ :
- HandelBot์ ์คํฌ๋ฆฝํธ๋ end-effector ์์ง์๊ณผ ๊ณ ์ ๋ orientation์ ์์กดํ์ฌ ๋งค๋ฒ ์๋ ํ๋์ด ํ์ํฉ๋๋ค. End-effector ์์ง์์ ๋ํ residual RL์ ์ด ๋ฌธ์ ๋ฅผ ์ค์ผ ์ ์์ ๊ฒ์ ๋๋ค.
- ์ด๋ฌํ ์ ์ฝ์ผ๋ก ์ธํด ์์ง์๊ฐ๋ฝ๊ณผ ์๋ผ์๊ฐ๋ฝ์ ์ฌ์ฉ์ด ์ด๋ ค์์ ธ ๋น๊ต์ ๊ฐ๋จํ ๊ณก์ผ๋ก๋ง ํ๊ฐ๊ฐ ์ด๋ฃจ์ด์ก์ต๋๋ค. ํฅํ ์์ ์์๋ ๋ ๋ณต์กํ ๊ณก์ ์ํด ํ์ ๋๋ ํ์ต๋ ์์ง์์ ํ์ํ ์ ์์ต๋๋ค.
- ์ ์ฑ ์ ์ ๋จ๊ณ๋ ์ธ๊ฐ์ด ๊ฐ์ด๋ํ๋ ํด๋ฆฌ์คํฑ์ ์์กดํฉ๋๋ค. ์ด๋ ํผ์๋ ธ ์ฐ์ฃผ์๋ ์ ํฉํ์ง๋ง, ๋ค๋ฅธ ํ์คํฌ์๋ ์ง์ ์ ์ฉํ๊ธฐ ์ด๋ ค์ธ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋น์ -์ธ์ด ๋ชจ๋ธ(vision-language models)๊ณผ ๊ฐ์ ๋๊ท๋ชจ ๋ชจ๋ธ์ ํตํด ๋ค๋ฅธ ํ์คํฌ์์๋ ์ ์ฑ ์ ์ ๊ฐ ๊ฐ๋ฅํ ์ ์์ต๋๋ค.
๐ Ring Review
๐ Ring โ An idea that echoes. Grasp the core and its value.
ํ ์ค ์์ฝ
์๋ฎฌ๋ ์ด์ ์์ ์ ํ์ต๋ ์ ์ฑ ์ ๊ทธ๋๋ก ์ค๋ก๋ด์ ์ฌ๋ฆฌ๋ฉด ์๊ฐ๋ฝ์ด ์ ๊ฑด๋ฐ์ ์น๋ค. HandelBot์ 30๋ถ์ง๋ฆฌ ์ค์ธ๊ณ ๋ฐ์ดํฐ๋ฅผ ๋ ๋จ๊ณ(ํด๋ฆฌ์คํฑ ์ธก๋ฉด ๊ด์ ๋ณด์ + Residual TD3)๋ก ํ์ฉํด ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ค. F1 ์ ์๊ฐ ์ง์ sim-to-real ๋๋น ์ฝ 1.8๋ฐฐ ํฅ์๋๊ณ , Tesollo DG-5F ์์ + Franka ๋ ๋ ๊ตฌ์ฑ์ผ๋ก 5๊ณก(Twinkle Twinkle, Ode to Joy, Hot Cross Buns, Prelude in C, Fur Elise)์ ์ฐ์ฃผํ๋ค. โ๋น์ผ RL์ ์๋ฎฌ์ ๋งก๊ธฐ๊ณ , ๋น์ผ ์ค์ธ๊ณ ๋ฐ์ดํฐ๋ ์ ํํ ํ์ํ ๊ณณ์๋ง ์ด๋คโ๋ผ๋ ์ฌ๊ณ ๊ฐ ํต์ฌ์ด๋ค.
์ ํผ์๋ ธ ์ฐ์ฃผ๊ฐ ๊ทธ๋ ๊ฒ ์ด๋ ค์ด๊ฐ
ํผ์๋ ธ ํ ๊ฑด๋ฐ์ ํญ์ ์ฝ 23mm ์ ๋๋ค. ๊ฑฐ๊ธฐ์ ํฐ ๊ฑด๋ฐ๊ณผ ๊ฒ์ ๊ฑด๋ฐ์ด ์์ฌ ์๊ณ , ์๊ฐ๋ฝ์ ๋ค์ฏ ๊ฐ์ฉ ๋ ์์ผ๋ก ๋ฐ๋ก ์์ง์ฌ์ผ ํ๋ค. ์ด๊ฒ ๋ฌด์์ ์๋ฏธํ๋๋ (๋ก๋ด ์ ์ฅ์์) ๋ค์ ์ธ ๊ฐ์ง ๋์ ์ ์ฝ์ด๋ค.
์ฒซ์งธ, ๊ณต๊ฐ ์ ๋ฐ๋. ์๋์ด 1cm๋ง ์์ผ๋ก ํ๋ฌ๋ ์ ๊ฑด๋ฐ์ด ๋๋ฆฐ๋ค. ์ ๋ต์ด C์ธ๋ฐ D๋ฅผ ๋๋ฅด๋ฉด ์ ์๋ ๊ทธ๋ฅ 0์ด๋ค. ๋์งธ, ์๊ฐ ์ ๋ฐ๋. ์์ ์ ๋ฐ์๋ค. 100ms ๋ฆ์ผ๋ฉด ์ฒญ๊ฐ์ ์ผ๋ก ๋ค๋ฅธ ์์ ์ด ๋๋ค. ์ ์งธ, ์์ ํ์. ๋ฒ ์ด์ค ๋ผ์ธ์ ์น๋ ์ผ์๊ณผ ๋ฉ๋ก๋๋ฅผ ์น๋ ์ค๋ฅธ์์ด ๋ ๋ฆฝ์ ์ผ๋ก, ๊ทธ๋ฌ๋ ๋๊ธฐํ๋์ด ์์ง์ฌ์ผ ํ๋ค. ์ฌ๊ธฐ์ ๋ํด, ์๊ฐ๋ฝ์ด ๊ฑด๋ฐ์ ๋๋ฅด๋ ๊น์ด๊น์ง ์ ํํ ๋ง์ถฐ์ผ MIDI๊ฐ โ์ด ์์ด ๋๋ ธ๋คโ๋ผ๊ณ ํ์ ํ๋ค.
๋ก๋ด๊ณตํ์์ ์ด ์ ๋ ์ ๋ฐ๋๊ฐ ๋์์ ์๊ตฌ๋๋ ๊ณผ์ ๋ ํ์น ์๋ค. ํ๋ธ ํ์ ๊ฐ์ in-hand manipulation์ ์์น ์ค์ฐจ์ ๋น๊ต์ ๊ด๋ํ๋ค. ๋ฐํ ์๋ ๋ชป์ ์ก์ ๋นผ๋ ์์ ์ ์๊ฐ์ ๋๊ฐํ๋ค. ํผ์๋ ธ๋ ๋ ๋ค ๋นก๋นกํ๋ค. ๊ฑฐ๊ธฐ๋ค ์๊ฐ๋ฝ ๋ค์ฏ ๊ฐ์ ๋ ๋ฆฝ ์ ์ด๊ฐ ํ์ํ๋, low-dim ํ๋ธ ํ์ ๋ณด๋ค ์ฐจ์์ด ํจ์ฌ ๋๋ค.
์ ์๋ค์ด ์ฌ์ฉํ Tesollo DG-5F ํธ๋๋ ์ธ๊ฐ ์๋ณด๋ค ๋ช ๋ฐฑํ ํฌ๋ค(์ด๊ฒ ๋ ผ๋ฌธ์์ ์ง์ ์ธ๊ธ๋๋ ์ด๋ ค์์ด๋ค). ํฐ ์์ผ๋ก ์ข์ ๊ฑด๋ฐ ์์ ๋ค์ฏ ์๊ฐ๋ฝ์ ํด๋๋ฉด, ์ ์๊ฐ๋ฝ์ด ์ ๊ฑด๋ฐ์ ๋ฟ๊ธฐ ์ง์ ์ํ๊ฐ ์์ฃผ ๋ง๋ค์ด์ง๋ค. ์ฌ๋๋ ์์ด ํฌ๋ฉด ์ ์์ ์๋ชป ๋๋ฅด๋๋ฐ, ๋ก๋ด์ ๊ทธ๊ฒ ๋งค๋ฒ ์ผ๊ด๋ ํธํฅ(systematic bias)์ผ๋ก ๋ํ๋๋ค. ์ด ๊ด์ฐฐ์ด HandelBot์ Stage 1 ์ค๊ณ ๋๊ธฐ๋ค.
ํต์ฌ ํต์ฐฐ: ์ค์ธ๊ณ 30๋ถ์ด ์๋ฎฌ๋ ์ด์ 100์๊ฐ์ ์ด๊ธด๋ค
๋ ผ๋ฌธ์ด ๋์ง๋ ๋ฉ์์ง๋ฅผ ํ ๋ฌธ์ฅ์ผ๋ก ์์ถํ๋ฉด ์ด๋ ๋ค. ์ ๋ฐ dexterous task์์๋ ์๋ฎฌ๋ ์ดํฐ๋ฅผ ์๋ฌด๋ฆฌ ์ ๋ง๋ค์ด๋ ์์ฌ sim-to-real gap์ด ๋จ๊ณ , ๊ทธ gap์ ์๋์ ์ค์ธ๊ณ ๋ฐ์ดํฐ๋ก๋ง ๋ซํ๋ค. ๊ทธ๋ฐ๋ฐ ๊ทธ ์๋์ ์ด๋ป๊ฒ ํจ์จ์ ์ผ๋ก ์ธ ๊ฒ์ด๋๊ฐ ์ง์ง ๋ฌธ์ ๋ค.
์ธ ๊ฐ์ง ์ ํ์ง๊ฐ ์๋ค. (a) ์ฒ์๋ถํฐ ์ค์ธ๊ณ์์ RL์ ๋๋ฆฐ๋ค(์ํ ํจ์จ ๋์ฐ, ์๊ฐยทํ๋์จ์ด ๋ง๋ชจ ํผ). (b) ์๋ฎฌ๋ ์ด์ ์์ ์๋ฒฝํ ์ ์ฑ ์ ํ์ตํ๊ณ ๋๋ฉ์ธ ๋๋คํ๋ก robustํ๊ฒ ๋ง๋ ๋ค(๊ณ ์ฐจ์ ์ ๋ฐ task์์๋ ํ๊ณ๊ฐ ๋ช ํ). (c) ์๋ฎฌ๋ ์ด์ ์ ์ฑ ์ ์๋๋ก ์ผ๊ณ , ์ค์ธ๊ณ ๋ฐ์ดํฐ๋ก ์์ฐจ๋ง ํ์ตํ๋ค(์ํ ํจ์จ ์ข์, ๊ทธ๋ฌ๋ ์์ฐจ RL์ด ๊ทธ ์์ฒด๋ก ๊น๋ค๋ก์).
HandelBot์ (c)๋ฅผ ํํ๋, ์์ฐจ ํ์ต ์ ์ โํด๋ฆฌ์คํฑ์ผ๋ก ๋ซ์ ์ ์๋ gap์ ํด๋ฆฌ์คํฑ์ผ๋ก ๋ซ์โ๋ผ๋ ํ ๋จ๊ณ๋ฅผ ๋ผ์ ๋ฃ๋๋ค. ์๊ฐ๋ฝ์ด ์ผ๊ด๋๊ฒ ์ผ์ชฝ์ผ๋ก 1cm ์น์ฐ์ณ ์๋ค๋ฉด, RL์ด ๊ทธ๊ฑธ ๋ฐ๊ฒฌํ๊ธฐ ์ ์ ์ฌ๋์ด โ์์ผ๋ก 1cm ์ฎ๊ฒจ๋ผโ๋ผ๊ณ ์ง์ ์ง์ํ ์ ์์ง ์๋๋๋ ๋ฐ์์ด๋ค. ์ฌ๋์ ์ฌ์ ์ง์(ํค๋ณด๋ ๊ธฐํ + ์๊ฐ๋ฝ ์ด๋ํ)์ด ์ ์ฉ๋๋ ๊ณณ์๋ ํ์ต์ ์ฐ์ง ์๋๋ค. ํ์ต์ ์ ๋ง ํ์ต์ด ํ์ํ ๊ณณ์๋ง ์ด๋ค.
์์คํ ๊ฐ์
์ ์ฒด ํ์ดํ๋ผ์ธ์ ์ธ ๋จ๊ณ๋ก ๊น๋ํ๊ฒ ๋ถ๋ฆฌ๋๋ค. Stage 0์ ์๋ฎฌ๋ ์ด์ ์์ ๊ฐ๋ฅํ ํ ์ข์ ๋ฒ ์ด์ค ์ ์ฑ ์ ๋ง๋ ๋ค. Stage 1์ ๊ทธ ์ ์ฑ ์ ๊ฒฐ์ ๋ก ์ roll-out์ ์ค์ธ๊ณ์์ ๋๋ ค์, ๋น๋๊ฐ๋ ์๊ฐ๋ฝ์ ์ธก๋ฉด ๊ด์ (lateral joint)์ ํด๋ฆฌ์คํฑ์ผ๋ก ๋ณด์ ํ๋ค. Stage 2๋ ์ ์ ๋ ๊ถค์ ์์ ์์ฐจ RL์ ํ์ตํด, Stage 1์ด ๋ชป ์ก์ ๋ฏธ์ธ ๋ณด์ ์ ์๋์ผ๋ก ํ์ตํ๋ค.
Stage 0: ์๋ฎฌ๋ ์ด์ ์ ์ฑ ํ์ต
Stage 0์ ๊ฒฐ๊ณผ๋ฌผ์ ๋ ๊ฐ์ง๋ค. ์ ์ฑ
\pi_{sim}, ๊ทธ๋ฆฌ๊ณ ๊ทธ ์ ์ฑ
์ผ๋ก๋ถํฐ ์ถ์ถํ open-loop ๊ถค์ \tau_{sim}. ์๋ฎฌ๋ ์ดํฐ๋ ManiSkill์ ์ด๋ค(๋ณ๋ ฌ ๊ฐ์ + GPU ์นํ). ํ์ต ์๊ณ ๋ฆฌ์ฆ์ PPO(๊ณต๊ฐ๋ ์ฝ๋ ํ์ผ๋ช
์ด piano_ppo_fast.py๋ค).
์ฌ๊ธฐ์ ํฅ๋ฏธ๋ก์ด ๋์์ธ ์ ํ์ด ๋ ๊ฐ ์๋ค. ํ๋๋, ํ์ต๋ stochastic policy ์์ฒด๊ฐ ์๋๋ผ, ๊ทธ ์ ์ฑ ์ผ๋ก ์๋ฎฌ์์ ๋ง๋ open-loop ๊ถค์ ์ ์ค์ธ๊ณ๋ก ๊ฐ์ ธ๊ฐ๋ค๋ ์ ์ด๋ค. ์ฆ ์ค์ธ๊ณ ๋จ๊ณ์์ โ๊ด์ธก์ ๋ณด๊ณ ํ๋์ ๊ฒฐ์ โํ๋ ๊ฒ ์๋๋ผ, ์๊ฐ ์ธ๋ฑ์ค t๋ฅผ ๋ณด๊ณ ๋ฏธ๋ฆฌ ์ ํด์ง ๊ด์ ๊ฐ์ ๋ฐ๋ผ๊ฐ๋ค. ๋ค๋ฅธ ํ๋๋, ํ์ต๋ ์ ์ฑ ์ค์์ ์๋ฎฌ๋ ์ด์ ๊ฒ์ฆ F1์ด ๊ฐ์ฅ ๋์ trajectory ๋จ ํ๋๋ฅผ ์ ํํด sim-to-real ์ถ๋ฐ์ ์ผ๋ก ์ผ๋๋ค๋ ์ ์ด๋ค. ์ฆ โํต๊ณ์ ์ผ๋ก ์ข์ ์ ์ฑ โ์ด ์๋๋ผ โํ ๋ฒ ์ ์น ์ฐ์ฃผโ๋ฅผ ๊ทธ๋๋ก ๋ค๊ณ ๋๊ฐ๋ค.
์ด ์ ํ์ ์ค์ฉ์ ์ด๋ค. ํผ์๋ ธ ์ฐ์ฃผ๋ ์์ ํ ๊ณก์ด๋ผ๋ ์ ํด์ง ์ํ์ค๋ฅผ ๋ฐ๋ผ๊ฐ๋ ์ผ์ด๋ผ closed-loop ๊ด์ธก์ด ๊ตณ์ด ํ์ ์์ ์ ์๋ค. ๋ RL์ด ์๋๋ณ๋ก ๋ค์ญ๋ ์ญํ ๊ณก์ ์น๋ค๋ ์ ์ ๊ฐ์ํ๋ฉด, ๊ฐ์ฅ ์ ์น ํ ๊ณก์ ๊ณจ๋ผ ๋ค๋ฌ๋ ํธ์ด ์์ ์ ์ด๋ค. ๋จ์ ์ ํ๊ฒฝ ์ธ๋(์: ํค๋ณด๋๊ฐ ์ด์ง ์์ง์)์ ์ฝํ๋ค๋ ๊ฒ์ธ๋ฐ, ์ด๋ ์์คํ ์ด piano๋ฅผ ๊ณ ์ ๋ง์ดํ ์ผ๋ก ๊ฐ์ ํ๊ธฐ ๋๋ฌธ์ ํฐ ๋ฌธ์ ๊ฐ ์๋๋ค.
๊ณก๋ณ horizon์ ๋ค์๊ณผ ๊ฐ์ด ์ค์ ๋๋ค(๊ณต๊ฐ ์ฝ๋ ๊ธฐ์ค).
| Song | Horizon (steps) |
|---|---|
| Twinkle Twinkle | 160 |
| Ode to Joy | 330 |
| Hot Cross Buns | 160 |
| Prelude in C | 330 |
| Fur Elise | 320 |
ํ์ต ๋ณด์์ ํค๋ณด๋์ MIDI ์ถ๋ ฅ์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ค. ๋งค ์คํ ์์ ๋๋ฅธ ์ ์งํฉ๊ณผ ์ ๋ณด๊ฐ ์๊ตฌํ๋ ์ ์งํฉ์ ๋น๊ตํด F1 ํํ์ ์ ์๋ฅผ ๊ณ์ฐํ๋ค. ์ง๊ด์ ์ผ๋ก๋, ๋ง๋ ํค๋ฅผ ๋๋ฅด๋ฉด +, ํ๋ฆฐ ํค๋ฅผ ๋๋ฅด๋ฉด -, ๋๋ฌ์ผ ํ๋๋ฐ ์ ๋๋ฅด๋ฉด -. ์ด ์ ํธ๊ฐ denseํ๊ฒ ๋ค์ด์ค๋ฏ๋ก RL์ด ํ์ตํ๊ธฐ ์ข๋ค.
Stage 1: ๊ตฌ์กฐํ๋ ์ ์ฑ ์ ์ (ํด๋ฆฌ์คํฑ ์ธก๋ฉด ๊ด์ ๋ณด์ )
Stage 1์ ํฅ๋ฏธ๋กญ๋ค. ํ์ต์ด ์๋๋ค. ์ฌ๋์ด ์์ผ๋ก ์ง ๊ท์น์ด๋ค. ๊ทธ๋ฐ๋ฐ ํจ๊ณผ๊ฐ ํฌ๋ค.
๊ธฐ๋ณธ ์์ด๋์ด๋ ์ด๋ ๋ค. Tesollo ์๊ฐ๋ฝ์ ์์๋๋ก ๊ตฝํ๋ ๊ด์ ๊ณผ, ์์ผ๋ก ํ๋๋ ๊ด์ (lateral joint)์ ๋์์ ๊ฐ๋๋ค. ์๊ฐ๋ฝ์ด ๋ชฉํ ๊ฑด๋ฐ ์์์ ๋น๋๊ฐ ๋, ๊ทธ ๋น๋๊ฐ์ ๋๋ถ๋ถ โ์์ผ๋ก ์ผ๋ง๋ ์น์ฐ์ณค๋๋โ์ ๋ฌธ์ ๋ค. ์๋ก ๋ค๋ฆฌ๋ ์ ๋๋ ์๋ฎฌ๋ ์ด์ ์์๋ ๋น๊ต์ ์ ๋ง๋ค. ์ ๋ฐฉํฅ๋ง ์์คํ ์ ์ผ๋ก ์ด๊ธ๋๋ค.
๊ทธ๋์ ์๊ณ ๋ฆฌ์ฆ์ ํ ์๊ฐ๋ฝ์ด ์ด๋ค timestep์ ์ด๋ ๊ฑด๋ฐ์ ์ณ์ผ ํ๋์ง๋ฅผ ์ ์ํ์์, ์ค์ธ๊ณ roll-out ๊ฒฐ๊ณผ๋ฅผ ๋ณด๊ณ ์ธก๋ฉด ๊ด์ ๋ง ๋ฐ๋ณต์ ์ผ๋ก ์ฎ๊ธด๋ค. ์์ฌ ์ฝ๋๋ก ํํํ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
Algorithm: Iterative Lateral Joint Refinement
Input: open-loop trajectory tau (joint targets over time)
target MIDI sequence M (target key per finger per timestep)
finger-to-lateral-joint mapping L
step size delta, iterations N
Output: refined trajectory tau_star
for iter = 1 to N do
pressed <- execute_real(tau) # roll out on hardware
for each timestep t in tau do
for each finger f do
k_target <- M[t][f]
k_actual <- pressed[t][f]
if k_actual is not k_target then
dir <- sign(key_x(k_target) - key_x(k_actual))
tau[t][L[f]] <- tau[t][L[f]] + dir * delta
end
end
end
end
return tau as tau_star
์ด ์ ์ฐจ์ ๋ฏธ๋์ ๋ช ํํ๋ค. ์ฒซ์งธ, ์ค์ธ๊ณ์์ RL์ ํ ๋ฒ๋ ๋๋ฆฌ์ง ์๊ณ , ๋จ์ํ ๊ฒฐ์ ๋ก ์ ๋ณด์ ์ผ๋ก ํฐ spatial bias๋ฅผ ์ ๊ฑฐํ๋ค. ๋์งธ, ๋ณด์ ๋ฐฉํฅ์ด ๋ช ํํ ๋ฌผ๋ฆฌ์ ์๋ฏธ(ํค๋ณด๋ x์ถ)๋ฅผ ๊ฐ๊ธฐ ๋๋ฌธ์ unstableํ ํ์ต ์ ํธ๊ฐ ๋ผ์ด๋ค์ง ์๋๋ค. ์ ์งธ, ์ ํด์ง ํ์ ์์ ์๋ ดํ๋ค.
๋ฌผ๋ก ํ๊ณ๋ ์๋ค. ๋ ผ๋ฌธ์ด ์ง์ ์ธ์ ํ๋ค. (1) ์ธก๋ฉด ๊ด์ ๋ง ๋ง์ง๋ฏ๋ก, โ๊ทธ ์๊ฐ๋ฝ์ด ์์ ์ ๋ฟ์์ ๋ชป ์น ๊ฒฝ์ฐโ๋ ๋ชป ๊ณ ์น๋ค. (2) โ์ด๋ ์๊ฐ๋ฝ์ด ์ด๋ ํค๋ฅผ ์น๋คโ๋ผ๋ ์๊ฐ๋ฝ-ํค ํ ๋น์ด ์ ํํ๋ค๋ ๊ฐ์ ์ ์์กดํ๋ค. ์ค์ ๋ก๋ ์๋ฎฌ๋ ์ด์ ์ ์ฑ ์ด ์ ์๊ฐ๋ฝ์ผ๋ก ์น ๊ฒ ๋ ์์ฐ์ค๋ฌ์ธ ์๋ ์๋ค. (3) Z์ถ(๋๋ฆ ๊น์ด)์ด๋ ๊ตฝํ ๊ฐ๋ ๊ฐ์ ๋ค๋ฅธ ์์ ๋๋ ๋ง์ง์ง ์๋๋ค.
์ด๋ฐ ํ๊ณ๋ค์ด ๊ณง Stage 2์ ์กด์ฌ ์ด์ ๋ค.
Stage 2: Residual RL with TD3 (๊ฐ์ด๋๋ ๋ ธ์ด์ฆ)
Stage 1 ๊ฒฐ๊ณผ \tau^*_{sim}์ด ์ ๋ฒ ์ด์ค๋ผ์ธ์ด๋ค. ์ด ๋ฒ ์ด์ค๋ผ์ธ ์์ ์์ฐจ ์ ์ฑ \pi_{res}๋ฅผ ํ์ตํ๋ค. ์ฆ ์ค์ ๋ก๋ด ๋ช ๋ น์ ๋ค์๊ณผ ๊ฐ๋ค.
a_t = a^*_{sim}(t) + \pi_{res}(s_t)
์ฌ๊ธฐ์ a^*_{sim}(t)๋ ์ ์ ๋ ๊ถค์ ์ ์๊ฐ ์ธ๋ฑ์ค์์ ๋์ค๋ nominal action์ด๊ณ , \pi_{res}๋ ์ํ s_t๋ฅผ ์ ๋ ฅ์ผ๋ก ๋ฐ์ ๋ณด์ ๋์ ์ถ๋ ฅํ๋ค. ์ด ์์ฐจ ํ์ต์ด ๊ฐ๋ ์ฅ์ ์ ๋ ๊ฐ์ง๋ค. ์ฒซ์งธ, ํ์(exploration)์ด ์์ ํ๋ค. ๋ฒ ์ด์ค๊ฐ ์ด๋ฏธ ๊ฑฐ์ ๋ง๋ ๋์์ด๋ฏ๋ก, ์์ฐจ๊ฐ ์์ ๋ฒ์๋ง ํ๋ค๋ฉด ๋๋ค. ๋์งธ, ๋ณด์ ์ ํธ์ ๋ณ๋์ฑ์ด ๋ฎ๋ค. ๋ฒ ์ด์ค๋ผ์ธ ์์ฒด๋ก๋ ์ผ์ ์์ค์ ์์ ์น๋ฏ๋ก, ์์ฐจ์ ์์ ๋ณํ๊ฐ F1์ ์์ ๋ณํ๋ก ์ผ๊ด๋๊ฒ ๋งคํ๋๋ค.
์ ์๋ค์ ์์ฐจ ํ์ต์ TD3(Twin Delayed DDPG)๋ฅผ ์ด๋ค. ๊ฒฐ์ ๋ก ์ ์ ์ฑ ์ ๋ ธ์ด์ฆ๋ฅผ ๋ํ๋ ๋ฐฉ์์ด๋ผ, off-policy๋ก ์ค์ธ๊ณ ์ํ์ ๋ชจ์ผ๋ฉด์๋ ์์ ์ ์ผ๋ก ํ์ต๋๋ค. ์ฌ๊ธฐ๊น์ง๋ ํ์ค์ด๋ค.
์ง์ง ๊น๋ํ ๋ํ ์ผ์ ์ด ๋ถ๋ถ์ด๋ค. TD3๋ ํ์์ ์ํด ์ก์ ์ ๊ฐ์ฐ์์ ๋ ธ์ด์ฆ \epsilon \sim \mathcal{N}(0, I)๋ฅผ ๋ํ๋ค. ์ผ๋ฐ TD3๋ผ๋ฉด ์ด ๋ ธ์ด์ฆ๋ ๋ฑ๋ฐฉ์ฑ(isotropic), ์ฆ ๋ชจ๋ ๋ฐฉํฅ์ผ๋ก ๋๊ฐ์ด ํ๋ ๋ค. ํ์ง๋ง ์ ์๋ค์ โ๋ ธ์ด์ฆ ๋ถํธ๋ ์ฌ์ค์ ๊ฐ์ด๋ํ ์ ์๋คโ๋ผ๊ณ ๋ณธ๋ค. Stage 1์์ ์ฌ์ฉํ ์ธก๋ฉด ๋ณด์ ๋ฐฉํฅ์ด ๊ทธ ๊ฐ์ด๋๋ค.
๊ตฌ์ฒด์ ์ผ๋ก, ํ๋ฅ \Pr(\text{guided noise}) = 0.5๋ก ๋ ธ์ด์ฆ์ ๋ถํธ๋ฅผ ์ธก๋ฉด ๋ณด์ ์์ ์ ํ ์ฌ๋ฐ๋ฅธ ๋ฐฉํฅ๊ณผ ์ผ์นํ๋๋ก ๋ค์ง๋๋ค.
\hat{\epsilon}_i = \begin{cases} \mathrm{sign}(d_i) \cdot |\epsilon_i| & \text{with prob. } 0.5 \\ \epsilon_i & \text{otherwise} \end{cases}
๋จ, \|\hat{\epsilon}\|_2 = \|\epsilon\|_2 ์ฆ ํฌ๊ธฐ๋ ๊ทธ๋๋ก ์ ์งํ๊ณ ๋ถํธ๋ง ๋ฐ๊พผ๋ค(์ฌ๋ฐ๋ฅธ lateral joint ์ธ๋ฑ์ค์์๋ง). ์ผ์ข ์ โ๋ฐฉํฅ ํธํฅ(directional bias)โ์ ๊ฐ์ง ํ์์ด๋ค. ๋ฌด์์ ํ๋๋ ๊ฒ ์๋๋ผ, ์๊ฐ๋ฝ์ด ์ ๊ฑด๋ฐ์ ๋๋ฌด ์น์ฐ์ณ ์์ผ๋ฉด ๋ ์์ฃผ โ์ฌ๋ฐ๋ฅธ ๋ฐฉํฅ์ผ๋กโ ํ๋ค๊ฒ ํ๋ค.
์ด๊ฒ ์ ์ค์ํ๋. ํ์ค TD3๋ก 30๋ถ ์์ ์๋ฏธ ์๋ ์์ฐจ๋ฅผ ํ์ตํ๊ธฐ๋ ์ด๋ ต๋ค. 500-1000๋ฒ ์ ๋์ roll-out ์์์ ์ ๋ฐ ์๊ฐ๋ฝ ๋ณด์ ์ ์ก์๋ด์ผ ํ๊ธฐ ๋๋ฌธ์ด๋ค. ๊ฐ์ด๋๋ ๋ ธ์ด์ฆ๋ ํ์์ ์ ๋ฐ์ ์ฌ๋์ด ์๋ ค์ฃผ๋ ๋ฐฉํฅ์ ์ ๋ ฌ์์ผ, ์ํ ํจ์จ์ ํฌ๊ฒ ๋์ด์ฌ๋ฆฐ๋ค. Residual RL ๋ฌธํ(์: Johannink et al., Davchev et al.)์ด ๋ณด์ฌ ์จ ํจํด(prior๋ฅผ ์ด๋ป๊ฒ๋ ํ์์ ์ฃผ์ ํ๋ฉด ์ด๊ธด๋ค)์ ๋ช ํํ๊ฒ ํ์ฉํ ์ฌ๋ก๋ค.
flowchart LR
A["Nominal action<br/>a*_sim(t)"] --> S["+"]
B["Residual policy<br/>ฯ_res(s_t)"] --> S
C["Gaussian noise<br/>ฮต ~ N(0,I)"] --> N["Sign flip<br/>(prob 0.5)"]
D["Lateral direction<br/>d_i from refinement"] --> N
N --> S
S --> E["Final action a_t<br/>โ robot"]
ํ๋์จ์ด ์ค์ ๊ณผ ์์ ๊ณ์ธต
๋ ผ๋ฌธ Figure 2๊ฐ ๋ณด์ฌ์ฃผ๋ ํ๋์จ์ด ๊ตฌ์ฑ์ ๋ค์๊ณผ ๊ฐ๋ค.
- ๋ฒ ์ด์ค: ๋ ๋์ Franka ์(Panda + FR3)
- ์๋ ์ดํํฐ: ๋ ๊ฐ์ Tesollo DG-5F dexterous hand(์๊ฐ๋ฝ 5๊ฐ์ฉ, ์ฌ๋ ์๋ณด๋ค ํผ)
- ํ๊ฒฝ: MIDI ์ถ๋ ฅ์ด ๊ฐ๋ฅํ ๋์งํธ ํค๋ณด๋
- ๊ฐ์ง: ํค๋ณด๋์ MIDI๋ฅผ ๋ณด์ ์ ํธ๋ก ์ฌ์ฉ
์ฌ๊ธฐ์ ๋น์ ์ผ์๋ ์ด๊ฐ ์ผ์๊ฐ ๋ช ์์ ์ผ๋ก ๋ค์ด๊ฐ์ง ์๋๋ค๋ ์ ์ด (๋ค๋ฅธ ์ ๋ฐ manipulation ์ฐ๊ตฌ๋ค๊ณผ ๋น๊ตํ๋ฉด) ๋ค๋ฅด๋ค. ๋ณด์์ด ํ๊ฒฝ์์ ์ง์ ์ธก์ ๊ฐ๋ฅํ ํํ(MIDI)๋ก ๋จ์ด์ง๋ฏ๋ก, ground truth๊ฐ ๊นจ๋ํ๋ค. RoboPianist์ ์๋ฎฌ ๋ณด์ ์ ํธ์ ๊ฑฐ์ ๋ํ(ๅๅฝข)์ธ ์ ์ด๋ค.
์์ ๊ณ์ธต๋ ์ ์ฑ์ค๋ฝ๋ค. ์๋ฎฌ์์ ํ์ต๋ ๊ด์ ๋ชฉํ๋ฅผ ๊ทธ๋๋ก ์ค๋ก๋ด์ ๋ด๋ฆฌ๋ฉด ์๊ธฐ ์ถฉ๋์ด๋ ๊ฑด๋ฐ ํ๋ฉด์ ๋ซ๋ ๋์์ด ์๊ธด๋ค. ๊ทธ๋์ ์ ์๋ค์ PyRoki๋ฅผ ์จ์ IK๋ฅผ ์ ์ฝ ์ต์ ํ๋ก ํผ๋ค. ์๊ธฐ ์ถฉ๋ ํ๋ํฐ + piano surface๋ฅผ ํ๋ฉด ์ ์ฝ์ผ๋ก ๊ทผ์ฌํ ๋น์นจํฌ ํ๋ํฐ๋ฅผ ํจ๊ป ๋๋ค. ์ ์ฑ ์ถ๋ ฅ์ 10Hz๋ก ๋์ค๊ณ , ์์ ๋ด๋ ค๊ฐ๋ ๋ช ๋ น์ 80Hz๋ก ์ ํ ๋ณด๊ฐ๋์ด ๋ถ๋๋ฝ๊ฒ ํ๋ฅธ๋ค. ์๋ฎฌ๊ณผ ์ค์ธ๊ณ์ control rate๋ฅผ ๋ค๋ฅด๊ฒ ๊ฐ์ ธ๊ฐ๋ ๊ฑด sim-to-real์์ ํํ ํธ๋ฆญ์ด๋ค.
JungYeon์ด ์งํ ์ค์ธ IsaacGymโIsaacLab ๋ง์ด๊ทธ๋ ์ด์ ์์ ๊ณผ ์ฐ๊ฒฐ์ง์ด ๋ณด๋ฉด, ManiSkill ๊ธฐ๋ฐ ํ์ต + ๋ณ๋ IK/safety layer๋ผ๋ ๋ถ๋ฆฌ ์ค๊ณ๋ ์ต์ํ ๊ตฌ์กฐ๋ค. ์ฐจ์ด๋ผ๋ฉด HandelBot์ piano๋ผ๋ ์ ์ ํ๊ฒฝ ์ ์ฝ(ํ๋ฉด ํค๋ณด๋ + ๊ณ ์ mount)์ด ๊ฐํด์, safety layer๋ฅผ โself-collision + planar contactโ๋ก ๋จ์ํํ ์ ์์๋ค๋ ์ ์ด๋ค. Allegro Hand๋ก ์ผ๋ฐ manipulation์ ํธ๋ ๊ฒฝ์ฐ์๋ contact ๋ชจ๋ธ์ด ํจ์ฌ ๋ณต์กํด์ง๋ค.
์คํ ๊ฒฐ๊ณผ
ํ๊ฐ๊ณก์ ๋ค์ฏ ๊ณก์ด๋ค. Twinkle Twinkle Little Star, Ode to Joy, Hot Cross Buns, Bach์ Prelude in C, Beethoven์ Fur Elise. ๋์ด๋๊ฐ ์ ์ธต์ ์ผ๋ก ์ฆ๊ฐํ๋ค. ๋ง์ง๋ง ๋ ๊ณก, ํนํ Fur Elise๋ ์ผ์์ ํฐ ์ ํ(๋ค๋ฅธ ๊ฑด๋ฐ ๊ตฐ์ผ๋ก์ ์ด๋)๊ฐ ์ฆ์์, ์ ์ ์๊ฐ๋ฝ ํ ๋น ๊ฐ์ ์ด ๊นจ์ง๊ธฐ ์ฝ๋ค.
ํ๊ฐ ์งํ๋ F1 ร100. F1์ ์ ์์ ์ฌ๋ฐ๋ฅธ ์์ ๋๋ฅธ ๋น์จ(recall)๊ณผ, ๋๋ฅธ ์ ์ค ์ฌ๋ฐ๋ฅธ ์์ ๋น์จ(precision)์ ๊ฒฐํฉํ ๊ฐ์ด๋ค. ์์ ์ ๋ฐ ํ๊ฐ์ ์ ํฉํ ์งํ๋ค.
๋น๊ต baseline์ ์ด 5์ข ์ด๋ค(๋ ผ๋ฌธ Figure 3 ๋ฐ Table I ๊ธฐ์ค).
- HandelBot (Ours): Stage 0 + Stage 1 + Stage 2 ์ ๋ถ
- HandelBot w/o ResRL: Stage 0 + Stage 1๋ง(ํด๋ฆฌ์คํฑ ๋ณด์ ๊น์ง)
- ฯ_sim (closed-loop): ํ์ต๋ stochastic policy๋ฅผ ๊ทธ๋๋ก ์ค๋ก๋ด์ ๋ฐฐํฌ
- ฯ_sim (open-loop): ์๋ฎฌ๋ ์ด์ trajectory๋ฅผ ๊ทธ๋๋ก ์คํ
- RL from Scratch: ์ค์ธ๊ณ์์ ์ฒ์๋ถํฐ ํ์ต
- Hybrid execution: ์ค์ธ๊ณ ์คํ ์ค proprioception์ parallel sim์์ ๊ฐ์ ธ์ค๋ ๋ณํ
๊ฒฐ๊ณผ์ ํฐ ๊ทธ๋ฆผ์ ๋ค์๊ณผ ๊ฐ๋ค.
- HandelBot์ด ๋ชจ๋ ๊ณก์์ ๊ฐ์ฅ ๋์ F1์ ๊ธฐ๋กํ๋ค.
- ์ง์ sim-to-real(ฯ_sim)์ ๋ชจ๋ ๊ณก์์ ํฐ ํญ์ผ๋ก ๋ค์ง๋ค. ํ๊ท ์ ์ผ๋ก HandelBot์ ๊ทธ 1.8๋ฐฐ ์์ค์ F1์ ๋ธ๋ค.
- Stage 1๋ง ์ ์ฉํ ๋ฒ์ (HandelBot w/o ResRL)๋ ฯ_sim๋ณด๋ค ๋ช ํํ ์ข๋ค. ์ฆ ํด๋ฆฌ์คํฑ ์ธก๋ฉด ๋ณด์ ๋ง์ผ๋ก๋ ํฐ ๋ถ๋ถ์ spatial gap์ ์ก๋๋ค.
- RL from Scratch๋ 30๋ถ budget์ผ๋ก๋ ๊ฑฐ์ ์๋ฏธ ์๋ ๊ฒฐ๊ณผ๋ฅผ ๋ชป ๋ธ๋ค. ๋ฒ ์ด์ค ์์ด๋ ํ์ ๊ณต๊ฐ์ด ๋๋ฌด ํฌ๋ค.
Table 1 (์์ฝ). F1 ร100 (๋์์๋ก ์ข์, 5๊ณก ํ๊ท ๊ธฐ์ค์ ์ ์ฑ ๋น๊ต)
| Method | Use real data | Real-world budget | Avg F1 (qualitative) |
|---|---|---|---|
| ฯ_sim (open/closed-loop) | No | 0 | Lowest |
| RL from Scratch | Yes | 30 min | Lowest among learned |
| HandelBot w/o ResRL | Yes | 30 min | Mid (clear gain over ฯ_sim) |
| HandelBot (Ours) | Yes | 30 min | Highest, ~1.8ร over ฯ_sim |
๋ ผ๋ฌธ์ด ์ด๋ธ๋ ์ด์ ์์ ๊ฐ์กฐํ๋ ๋ ๊ฐ์ง ๋ฉ์์ง๊ฐ ์๋ค. ํ๋, Stage 1 ๋จ๋ ์ผ๋ก๋ ํฐ ์ด๋์ด์ง๋ง, ๊ทธ ์ด๋์ โ์ธก๋ฉด ๊ด์ โ์ด๋ผ๋ ์ข์ ์์ ๋์์๋ง ์จ๋ค. ๊ทธ๋์ missed press(์์ ๋ชป ๋๋ฅธ ๊ฒฝ์ฐ)๋ ์๊ฐ๋ฝ ํ ๋น ์ค๋ฅ๋ ๋ชป ์ก๋๋ค. ๋, Stage 2๊ฐ ๊ทธ๊ฑธ ๋ณด์ํ๋ค. Stage 2๋ฅผ ๋ํ๋ฉด ๋๋ถ๋ถ์ ๊ณก์์ F1์ด ์ถ๊ฐ๋ก ์ค๋ฅธ๋ค. ์ฆ ๋ ๋จ๊ณ๋ cumulativeํ๋ค.
flowchart LR
A["Direct sim-to-real<br/>(ฯ_sim)"] -->|"+Stage 1<br/>lateral fix"| B["+Spatial alignment<br/>gain"]
B -->|"+Stage 2<br/>residual TD3"| C["+Missed presses<br/>+timing<br/>+assignment errors"]
C --> D["HandelBot<br/>~1.8x F1"]
๋ํ ์ผ ๋ถ์: Note Press ์๊ฐํ
๋ ผ๋ฌธ์ ํ figure(์นํ์ด์ง์์๋ ๋์ผํ๊ฒ ์ ๊ณต๋๋ โnote pressโ ๊ทธ๋ฆผ)๋ ์ ๋ ์งํ๋ฅผ ๋์ด ์ด๋์ ์คํจ๊ฐ ์ผ์ด๋๋์ง๋ฅผ ์๊ฐ์ ์ผ๋ก ๋ณด์ฌ์ค๋ค. ๊ฐ๋ก์ถ์ ๊ณก์ timestep, ์ธ๋ก์ถ์ ๊ฐ ๋ ธํธ(์๋จ ์ ๋ฐ์ ์ค๋ฅธ์, ํ๋จ ์ ๋ฐ์ ์ผ์). ๊ฐ ์ ์ ๋๋ฅธ ์์ ์ ์์ผ๋ก ๋ถ๋ฅ๋๋ค. ๋ง๊ฒ ๋๋ฆ(correct), ์๋ชป ๋๋ฆ(incorrect), ๋์นจ(missed).
ํฅ๋ฏธ๋ก์ด ํจํด์ ๋ค์๊ณผ ๊ฐ๋ค.
- ์ฌ์ด ๊ณก(Twinkle Twinkle, Ode to Joy)์์๋ ์ ๋ค์ด ๊ฑฐ์ ๋ชจ๋ โcorrectโ ์์ผ๋ก ์ฑ์์ง๋ค. ๊ฐ๋ ์๋ชป๋ ์์ด ๋ผ์ง๋ง ํฐ ๋๋ฝ์ ์๋ค.
- Fur Elise์์๋ ์ผ์(์๋์ชฝ ์ ๋ฐ)์์ missed/incorrect๊ฐ ๋๋๋ผ์ง๋ค. ์ผ์์ด ๋ฒ ์ด์ค ์๊ณผ ํ์ ์ฌ์ด๋ฅผ ํฌ๊ฒ ์ ํํ๋ ๊ตฌ๊ฐ์์ ์๊ฐ๋ฝ์ด ๋ฐ๋ผ๊ฐ์ง ๋ชปํ๋ค.
- Prelude in C๋ ์ข ๋ค๋ฅธ ์์์ด๋ค. ์ ์์ฒด๋ ๋น๊ต์ ์ฒ์ฒํ ํ๋ฅด์ง๋ง ์์์ด ๋์์ ์ฌ๋ฌ ์์ ์ง์ด์ผ ํ๋ ๊ตฌ๊ฐ์ด ๋ง์์ โ๋์ ์ ํ๋โ๊ฐ ์ฝ์ ์ด๋ค.
๋ ๋ค๋ฅธ ํ์ต ๊ณก์ ์๊ฐํ(Twinkle Twinkle 5๊ฐ evaluation trajectory)๋ Residual RL์ ์๋์ ๋ณด์ฌ์ค๋ค. ์ด๋ฐ์๋ ์ผ์์์ ์ฌ๋ฌ ํค๋ฅผ ๋์น๋๋ฐ, ์ค์ธ๊ณ interaction์ด ์์ด๋ฉด์ ์์ฐจ ์ ์ฑ ์ด ๊ทธ ๋๋ฝ์ ์ ์ง์ ์ผ๋ก ๋ฉ์ด๋ค. โ์ด๋์ ๋ง๊ฐ์ง๋์งโ๋ฅผ ์ง์ ๋ณด์ฌ์ฃผ๋ ์ด๋ฐ ๋๋ฒ๊น ์ฉ ์๊ฐํ๋ dexterous manipulation ๋ ผ๋ฌธ์์ ์ ๋ง ์ ์ฉํ ์๋ฃ๋ค.
๊ด๋ จ ์ฐ๊ตฌ์์ ๋น๊ต
์ด ๋ถ์ผ์ ์ขํ๊ณ๋ฅผ ์ก๊ธฐ ์ํด ์ฃผ์ ๊ด๋ จ ์ฐ๊ตฌ๋ฅผ ์ ๋ฆฌํด ๋ณด์.
RoboPianist (Zakka et al., 2023). ์๋ฎฌ๋ ์ด์ ์ ์ฉ ํผ์๋ ธ ์ฐ์ฃผ ๋ฒค์น๋งํฌ. ๋ ๊ฐ์ Shadow Hand๋ก 150๊ณก์ ์น๋ค. ๊ทธ๋ฌ๋ ์ค์ธ๊ณ ์คํ ๊ฒฐ๊ณผ๋ ์๋ค. HandelBot์ ์ ํํ ๊ทธ missing piece(real-world execution)๋ฅผ ์ฑ์ฐ๋ ์์ ์ด๋ค.
Towards Learning to Play Piano with Dexterous Hands and Touch (Xu et al., 2022). TACTO ๊ธฐ๋ฐ ์๋ฎฌ์์ Allegro Hand + DIGIT ์ด๊ฐ ์ผ์๋ก ํผ์๋ ธ๋ฅผ ์น ์ด๊ธฐ ์์ . ๋จ์ ์์ฃผ์ด๊ณ ์ญ์ ์๋ฎฌ์ด๋ค. JungYeon์ด ๊ด์ฌ์ ๊ฐ๊ณ ์๋ TACTO์ ์ง์ ์ฐ๊ฒฐ๋๋ ์ ํ ์ฐ๊ตฌ๋ค. HandelBot์ ์ด๊ฐ ์ผ์ ์์ด MIDI ๋ณด์๋ง์ผ๋ก ์งํํ๋ค๋ ์ ์์ ๋ ๋จ์ํ sensing์ด์ง๋ง, ๊ทธ๋งํผ ๋ณด์ ์ ํธ๊ฐ ๊นจ๋ํ๋ค.
FurElise (2024, motion capture-based). ์ฌ๋์ ํผ์๋ ธ ์ฐ์ฃผ๋ฅผ motion capture๋ก ์ก๊ณ , diffusion + ๊ฐํํ์ต์ผ๋ก ์ ๋์์ ํฉ์ฑํ๋ค. ์ค๋ก๋ด์ด ์๋๋ผ ์๋ฎฌ์์์ physics-based character animation์ด๋ค. HandelBot๊ณผ๋ ๊ฒฐ์ด ๋ค๋ฅด์ง๋ง, โ์ฌ๋ ๋ฐ์ดํฐ โ ํ์ตโ์ด๋ผ๋ ๋ค๋ฅธ ํจ๋ฌ๋ค์์ ๋ณด์ฌ์ค๋ค.
Residual RL ๊ณ๋ณด. Johannink et al. 2019, Davchev et al. 2022 ๋ฑ์ด ์์ฐจ ํ์ต์ ์ํ์ด๋ค. ์๋ฎฌ prior + ์ค์ธ๊ณ residual์ ์ ๋ฐ manipulation์์ ๊ฑฐ์ ํ์ค ๋ ์ํผ๋ค. HandelBot์ ์ฌ๊ธฐ์ โ์์ฐจ๋ฅผ ํ์ตํ๊ธฐ ์ ์, ํ ๋ฒ ๋ ๊ฒฐ์ ๋ก ์ ํด๋ฆฌ์คํฑ์ผ๋ก ๋ฏธ๋ฆฌ ์ ๋ ฌํ๋คโ๋ผ๋ ํ ๋จ๊ณ๋ฅผ ์ถ๊ฐํ๋ค. ์ด ์ถ๊ฐ ๋จ๊ณ๊ฐ 30๋ถ์ด๋ผ๋ ์งง์ budget์ ๊ฐ๋ฅํ๊ฒ ๋ง๋ ๋ค.
HORA ๊ณ์ด (in-hand rotation). Sim-to-real๋ก in-hand rotation์ ์ฑ๊ณต์ํจ ๋ผ์ธ์ ์ด๋ค. ์ ์ฑ ์ด closed-loop๋ก proprioception์ ๋ณด๋ฉด์ ์ ์ํ๋ค. HandelBot์ ์ ๋ฐ๋๋ค. ์ ์ฑ ์ open-loop, ์์ฐจ๋ง closed-loop. ์ด ์ฐจ์ด๋ task์ ๋ณธ์ง ๋๋ฌธ์ด๋ค. HORA๋ ์ธ๋์ด ํฐ ํ๊ฒฝ(๊ณต์ด ๊ตด๋ฌ๋จ์ด์ง ์ ์๋ ์๋ฐ๋ฅ)์ด๋ผ closed-loop์ด ํ์๋ค. ํผ์๋ ธ๋ ์ธ๋์ด ๊ฑฐ์ ์๋ ์ ์ ํ๊ฒฝ์ด๋ผ open-loop์ด ํตํ๋ค.
์ ์ฒด ๊ทธ๋ฆผ์์ HandelBot์ ๋ ์์ฑ์ ๋ช ํํ๋ค. (1) ์์ dexterous ํผ์๋ ธ ์ฐ์ฃผ๋ฅผ ์ค๋ก๋ด์์ ์ฑ๊ณต์ํจ ์ฒซ ํ์ต ๊ธฐ๋ฐ ์์คํ . (2) 30๋ถ์ด๋ผ๋ ๋งค์ฐ ์งง์ ์ค์ธ๊ณ budget. (3) ํด๋ฆฌ์คํฑ๊ณผ ํ์ต์ ๋ช ํํ ์ญํ ๋ถ๋ด(spatial bias๋ ํด๋ฆฌ์คํฑ, ๊ทธ ์ธ๋ RL).
๋นํ์ ๊ณ ์ฐฐ
๊ฐ์
๋ฌธ์ ๋ถํด์ ๋ช ๋ฃ์ฑ. โ์๋ฎฌ๋ ์ด์ ์์ ํ์ตํ ์ ์ฑ ์ ์คํจ๊ฐ ์ด๋์ ์ค๋๊ฐโ๋ฅผ ์ธก๋ฉด ํธํฅ, missed press, ์๊ฐ๋ฝ ํ ๋น ์ค๋ฅ๋ก ๋ช ํํ ๋ถํดํ๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฐ๊ฐ์ ๋ค๋ฅธ ๋๊ตฌ(ํด๋ฆฌ์คํฑ, residual RL)๋ฅผ ํ ๋นํ๋ค. ํ์ต์ด ๋ง๋ฅ์ด๋ผ๋ ์์ ์ค๊ณ๊ฐ ์๋๋ผ, ํ์ต์ด ํ์ํ ๊ณณ์๋ง ํ์ต์ ์ด๋ค. ์ด๋ฐ ๋ชจ๋์ฑ์ ์ค๋ฌด์์ ๋๋ฒ๊น ์ ์ฝ๊ฒ ๋ง๋ ๋ค.
์ํ ํจ์จ. 30๋ถ์ ์ ๋ง ์งง๋ค. ์ผ๋ฐ์ ์ผ๋ก dexterous manipulation์ ์ค์ธ๊ณ RL์ ์ ์๊ฐ์์ ์์ญ ์๊ฐ์ ์๊ตฌํ๋ค. ์๋ฎฌ๋ ์ด์ prior + ํด๋ฆฌ์คํฑ ์ ๋ ฌ + guided exploration์ด ํจ๊ป ์์ฉํ ๊ฒฐ๊ณผ๋ค.
๋ณด์ ์ ํธ์ ๊นจ๋ํจ. MIDI ์ถ๋ ฅ์ ๋ ธ์ด์ฆ ์๋ ground truth๋ค. ํค๊ฐ ๋๋ ธ๋์ง ์ ๋๋ ธ๋์ง๋ ๋ชจํธํ์ง ์๋ค. ์ด ์ ์ด ์์ฐจ RL์ ์์ ์ ์ผ๋ก ๋ง๋ ๋ค. ์ผ๋ฐ manipulation์์๋ ๋ณด์ ์ ์ ์์ฒด๊ฐ ์ด๋ ค์ด๋ฐ, ํผ์๋ ธ๋ environment๊ฐ ๋ณด์์ ์ ๊ณตํ๋ค๋ ์ ์ด ํฐ ์์ฐ์ด๋ค.
Guided noise ์์ด๋์ด. Stage 1์์ ์ป์ ๋ณด์ ๋ฐฉํฅ์ Stage 2์ ํ์ ๋ ธ์ด์ฆ์ ๋ถํธ๋ก ์ฃผ์ ํ๋ ๋ฐฉ์์ ๋จ์ํ์ง๋ง ์๋ฆฌํ๋ค. Prior๋ฅผ ์ ์ฑ ์ด๊ธฐํ์๋ง ์ฐ๋ ๊ฒ ์๋๋ผ ํ์ ์์ฒด์ ์ฃผ์ ํ๋ค๋ ๋ฐ์์, ๋ค๋ฅธ ์ ๋ฐ manipulation ๊ณผ์ ์๋ ์ฎ๊ธธ ๊ฐ์น๊ฐ ์๋ค.
์ฝ์ ๊ณผ ํ๊ณ
Open-loop trajectory์ ๋ํ ์์กด. Stage 0์ ์ถ๋ ฅ์ด stochastic policy๊ฐ ์๋๋ผ ํ ๋ฒ ์ ์น open-loop ๊ถค์ ์ด๋ค. ์ด๊ฑด piano์ฒ๋ผ ์ ํด์ง ์ํ์ค๋ฅผ ๋ฐ๋ผ๊ฐ๋ task์๋ ์ ๋ง์ง๋ง, perturbation์ด ๋ค์ด์ค๋ ์ผ๋ฐ manipulation์๋ ์ ์ฉ์ด ์ด๋ ต๋ค. ํค๋ณด๋ ์์น๊ฐ ์ด์ง ํ๋ค๋ฆฌ๋ฉด ์์คํ ์ด ๋ฌด๋์ง ์ ์๋ค.
์๊ฐ๋ฝ-ํค ํ ๋น์ ์ฌ์ ์ง์. Stage 1 ํด๋ฆฌ์คํฑ์ โ์ด timestep์ ์ด ์๊ฐ๋ฝ์ด ์ด ํค๋ฅผ ์น๋คโ๋ ๋งคํ์ด ์ ํํ๋ค๊ณ ๊ฐ์ ํ๋ค. ๊ทธ๋ฌ๋ ์๋ฎฌ๋ ์ด์ ์ ์ฑ ์ด ์ธ๊ฐ์ด ์์ํ ์๊ฐ๋ฝ์ด ์๋ ๋ค๋ฅธ ์๊ฐ๋ฝ์ผ๋ก ์น ์๋ ์๋ค. ์ด ๊ฐ์ ์ด ๊นจ์ง ๋ Stage 1์ ์๋ชป๋ ๋ฐฉํฅ์ผ๋ก ๋ณด์ ํ ์ํ์ด ์๋ค(๋ ผ๋ฌธ๋ ์ด ์ ์ ์ธ์ ํ๋ค).
์ธก๋ฉด ๊ด์ ๋ง ๋ณด์ . Z์ถ(๋๋ฆ ๊น์ด), ๊ตฝํ ๊ฐ๋, ์๋ชฉ ํ์ ๊ฐ์ ๋ค๋ฅธ ์์ ๋๋ ํด๋ฆฌ์คํฑ์ด ์ ๋ง์ง๋ค. ๋ง์ฝ sim-to-real gap์ด ์ธก๋ฉด์ด ์๋ ๋ค๋ฅธ ์์ ๋์์ ํฌ๊ฒ ๋ํ๋๋ฉด Stage 1์ ์ด๋์ด ์ค์ด๋ ๋ค. ๋ค๋ฅธ task๋ก ์ผ๋ฐํํ ๋๋ โ์ด๋ ์์ ๋๊ฐ systematic bias์ ์ฃผ๋ฒ์ธ๊ฐโ๋ฅผ ๋จผ์ ์๋ณํด์ผ ํ๋ค.
์ด๊ฐ ์ ๋ณด ๋ฏธ์ฌ์ฉ. DIGIT/GelSight ๊ฐ์ ์ด๊ฐ ์ผ์๋ฅผ ์ ์ด๋ค. MIDI๊ฐ ๋ณด์์ผ๋ก ์ถฉ๋ถํ๊ธฐ์ ํ์ต์ ๊ฐ๋ฅํ์ง๋ง, ํค๋ฅผ ๋๋ ๋๋ฐ ๋ฟ๊ธฐ ์ ์ธ ์ํ๋ ๋ฏธ์ธํ ํ ์กฐ์ ๊ฐ์ ์ ๋ณด๋ ๋ชป ํ์ฉํ๋ค. ํํ๋ ฅ(expressivity)์ด ๊ฒฐ์ฌ๋๋ค๋ ๋ป์ด๋ค. ์ฌ๋ ํผ์๋์คํธ๊ฐ ๊ฐ์ฝ์ ์กฐ์ ํ๋ ๊ฒ ๊ฐ์ ํํ์ ์ด ์์คํ ๋ฒ์ ๋ฐ์ด๋ค.
ํ ๊ณก๋น ํ์ต. ๊ณก๋ง๋ค ๋ณ๋ ํ์ต์ด ํ์ํ๋ค. RoboPianist ์์ ๋ถํฐ ์ด ํ๊ณ๋ ์ ์๋ ค์ ธ ์์ง๋ง, HandelBot๋ ๊ฐ์ ํ๊ณ๋ฅผ ๊ณต์ ํ๋ค. ํ ์ ์ฑ ์ผ๋ก ์๋ก์ด ๊ณก์ zero-shot์ผ๋ก ์น๋ ์ผ๋ฐํ๋ ๋ณธ ๋ ผ๋ฌธ ๋ฒ์ ๋ฐ์ด๋ค.
ํ๊ฐ ๊ณก์ ๋์ด๋. 5๊ณก ์ค Fur Elise๋ฅผ ์ ์ธํ๋ฉด ๋น๊ต์ ์ฌ์ด ๊ณก๋ค์ด๋ค. ์ง์ง ๋์ (์: ๋น ๋ฅธ ํธ๋ฆด, ์ฅํ๋ธ ์ ํ๊ฐ ๋ง์ Liszt ๋ฅ)์์ ์ด ํ์ดํ๋ผ์ธ์ด ๊ฒฌ๋๋์ง๋ ์คํ๋์ง ์์๋ค.
ํ๋์จ์ด์ ์ฌ์ด์ฆ ๋ฏธ์ค๋งค์น. Tesollo DG-5F๊ฐ ์ธ๊ฐ ์๋ณด๋ค ํฌ๋ค๋ ์ ์ ์ ์งํ ์ด๋ ค์์ด์ง๋ง, ๋์์ โ์ด ์์คํ ์ ์ด ์์ ๋ง์ถฐ์ง ๊ฒฐ๊ณผโ์์ ์๋ฏธํ๋ค. ๋ ์์ dexterous hand(์: LEAP Hand, Allegro)๋ก์ transfer๋ ๋ณ๋ ์์ ์ด๋ค.
๋ชจ๋ baseline์ด ๋์ผํ๊ฒ ๊ฐํ์ง๋ ์์. RL from scratch๊ฐ 30๋ถ์ผ๋ก ํ์ต๋๊ธฐ๋ฅผ ๊ธฐ๋ํ๋ ๊ฑด ๋ค์ ๋ฐํ ๋น๊ต๋ค. ์ง์ง ์๋ฏธ ์๋ ๋น๊ต๋ (a) ๋ ์ ๊ตํ domain randomization์ ์ ์ฉํ sim policy, (b) DAgger ๊ฐ์ ๋ค๋ฅธ sim-to-real ์ ์๋ฒ๊ณผ์ ๋น๊ต๋ค.
์์ฌ์ : ๋ค๋ฅธ ์ ๋ฐ dexterous ๊ณผ์ ๋ก์ ์ ์ด ๊ฐ๋ฅ์ฑ
JungYeon์ ์ฐ๊ตฌ ์์ญ(in-hand manipulation, sim-to-real transfer, Allegro Hand)๊ณผ ์ฐ๊ฒฐ์ง์ด ๋ณด๋ฉด, HandelBot์ ๋ ์ํผ๊ฐ ๊ฐ์ ธ์ฌ ์ ์๋ ์์ฌ์ ์ ๋ค์๊ณผ ๊ฐ๋ค.
Systematic bias๋ฅผ ๋จผ์ ๋ถ๋ฆฌํ๋ผ. ์๋ฎฌ์์ ์ค์ธ๊ณ๋ก ์ฎ๊ธธ ๋ ๊ฐ์ฅ ๋จผ์ ๋ํ๋๋ ์คํจ๋ ๋ณดํต โ๊ฒฐ์ ๋ก ์ ์ด๊ณ ์ผ๊ด๋โ ์ข ๋ฅ๋ค. ์ฆ ๋งค๋ฒ ๊ฐ์ ๋ฐฉํฅ์ผ๋ก ๋น๋๊ฐ๋ค. ์ด๋ฐ ์ข ๋ฅ์ ์ค๋ฅ์๋ RL์ด ๊ณผ์์ด๋ค. ํ๋ ์์ ๋์ ๋ํ ํด๋ฆฌ์คํฑ ๋ณด์ ์ด ๋ ๋น ๋ฅด๊ณ ์์ ์ ์ด๋ค. HORA ๊ณ์ด์ in-hand rotation ์์ ์์๋, ์๊ฐ๋ฝ ๊ตฝํ ๊ฒ์ธ์ด๋ ์๋ฐ๋ฅ ๊ฐ๋ ๊ฐ์ systematic offset์ ์ฌ์ ๋ณด์ ํ ๋ค ์์ฐจ๋ฅผ ํ์ตํ๋ฉด budget์ด ์ค์ด๋ ๋ค๋ ๊ด์ฐฐ์ด ์ข ์ข ๋ณด๊ณ ๋๋ค.
Open-loop์ ๋๋ ค์ ๋ง๋ผ(์ ์ task์ ํํด). ๋ชจ๋ task๊ฐ closed-loop ์ ์ฑ ์ ์๊ตฌํ๋ ๊ฑด ์๋๋ค. ํ๊ฒฝ์ด ์ ์ ์ด๊ณ ์ํ์ค๊ฐ ๊ณ ์ ๋์ด ์๋ค๋ฉด, open-loop trajectory + residual feedback์ด ์ถฉ๋ถํ ์ ๋ฐํ๋ค. Allegro Hand๋ก ์ ํด์ง ๋๊ตฌ ์ฌ์ฉ ์ํ์ค๋ฅผ ํธ๋ ๊ฒฝ์ฐ(์: ์นด๋ ๋ค์ง๊ธฐ ๊ฐ์ deterministic skill)์ ์ด ํจํด์ด ์ ํจํ ์ ์๋ค.
Guided noise๋ ๋ค๋ฅธ ๊ณณ์๋ ์ฎ๊ธธ ๋งํ๋ค. ์์ฐจ RL์์ ํ์ ๋ ธ์ด์ฆ์ ๋ถํธ๋ฅผ prior๋ก ๊ฐ์ด๋ํ๋ ๊ธฐ๋ฒ์ piano์ ํนํ๋ ๊ฒ ์๋๋ค. Sim-to-real gap์ ์ผ๊ด๋ ๋ฐฉํฅ์ฑ์ด ์๋ ค์ ธ ์๋ค๋ฉด, ๊ทธ ๋ฐฉํฅ์ผ๋ก ๋ ธ์ด์ฆ๋ฅผ ํธํฅ์ํค๋ ๊ฒ๋ง์ผ๋ก๋ ์ํ ํจ์จ์ด ํฌ๊ฒ ๊ฐ์ ๋๋ค. JungYeon์ด ์งํํ friction modeling ๋๋ PD gain ๋ถ์ ์์ ์์ ๋์ถ๋ โ์ด๋ ๋ฐฉํฅ์ผ๋ก ๋ณด์ ํด์ผ ํ๋คโ๋ ์ฌ์ ์ง์์, ์์ฐจ RL์ ํ์ ๋ถํฌ์ ์ฃผ์ ํ๋ ์์ฉ์ ์์ํ ์ ์๋ค.
ManiSkill์ ์ค์ฉ์ฑ. HandelBot์ด ManiSkill์ ์ด ๊ฒ์ ๊ฐ๋ณ๊ฒ ๋ณด์ ๋๊ธธ ๋ถ๋ถ์ด ์๋๋ค. SAPIEN/ManiSkill์ IsaacGym/Lab ๋๋น ์ง์ ์ฅ๋ฒฝ์ด ๋ฎ๊ณ , ๊ณก๋ณ 100-300 step ์ ๋์ ์งง์ horizon RL์ ๋น ๋ฅด๊ฒ ๋๋ฆฌ๊ธฐ์ ์ ํฉํ๋ค. JungYeon์ด Physical AI ๊ฐ์๋ฅผ ManiSkill3๋ก ์ค๊ณํ ๋ฐฉํฅ์ฑ๊ณผ๋ ์ผ์นํ๋ค.
๋ณด์์ด ๊นจ๋ํ ๋๋ฉ์ธ๋ถํฐ ์์ํ๋ผ. Dexterous manipulation์์ ๊ฐ์ฅ ์ด๋ ค์ด ๋ถ๋ถ ์ค ํ๋๋ ๋ณด์ ์ ์๋ค. ํผ์๋ ธ๋ MIDI๋ผ๋ ๊ฒฐ์ ๋ก ์ ๋ณด์ ์ฑ๋์ด ์๋ค. ์ด๋ฐ ๋ณด์์ด โํ๊ฒฝ ๊ทธ ์์ฒด์์โ ๋์ค๋ task๋ ํ์น ์์ ์ด(luck)์ด์ง๋ง, ๋น์ทํ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง task(์: ํคํจ๋ ์ ๋ ฅ, ์ค์์น ์กฐ์, ํ๋ฌ ์ ๋ฐ ์กฐ์)๋ ์๋ค. ์ฒ์๋ถํฐ ์ด๋ ค์ด ๋ณด์ ์ ์(์ด๊ฐ + ์๊ฐ + ์์ธ ๊ฒฐํฉ)๋ฅผ ์๋ํ๊ธฐ๋ณด๋ค, ์ด๋ฐ โํ๊ฒฝ์ด ๋ณด์์ ์๋ ค์ฃผ๋โ task๋ฅผ ๋ฐํ์ผ๋ก ์ผ๋ ๊ฒ ํฉ๋ฆฌ์ ์ด๋ค.
์์ฝ ๋ฐ ๊ฒฐ๋ก
HandelBot์ piano playing์ด๋ผ๋ ์ ๋ฐ ์์ dexterous task์ ๋ํด โ์๋ฎฌ๋ ์ด์ ํ์ต + 30๋ถ์ ๊ตฌ์กฐํ๋ ์ค์ธ๊ณ ์ ์โ์ด๋ผ๋ ๊น๋ํ ์ฒ๋ฐฉ์ ์ ์ํ๋ค. ์ง์ sim-to-real๋ก๋ 1.8๋ฐฐ ์ฐจ์ด๋ก ์ง๋ค. ๊ทธ ์ฐจ์ด๋ฅผ ๋ฉ์ฐ๋ 30๋ถ์ ์ฌ์ฉ ๋ฐฉ์์ด ์๋ฆฌํ๋ค. ์ ๋ฐ์ ์ฌ๋์ด ์ง ํด๋ฆฌ์คํฑ(์ธก๋ฉด ๊ด์ ๋ณด์ ), ์ ๋ฐ์ residual TD3(๊ฐ์ด๋๋ ๋ ธ์ด์ฆ ํฌํจ)์ ํ ๋นํ๋ค.
์ด ์์ ์ ๊ฐ์ฅ ํฐ ๊ธฐ์ฌ๋ ๊ฒฐ๊ณผ ์์ฒด๊ฐ ์๋๋ผ ๋ถํด์ ๋ฐฉ๋ฒ์ด๋ค. โ์๋ฎฌ-์ค์ธ๊ณ ๊ฐ๊ทน์ ํ๊บผ๋ฒ์ RL๋ก ๋ซ์ง ๋ง๊ณ , ๊ฒฐ์ ๋ก ์ ๋ณด์ ์ผ๋ก ๋ซ์ ์ ์๋ ๋ถ๋ถ๊ณผ ํ์ต์ผ๋ก ๋ซ์์ผ ํ๋ ๋ถ๋ถ์ ๋ถ๋ฆฌํ๋ผโ๋ผ๋ ๋ฉ์์ง๊ฐ ๋ช ํํ๋ค. ์ด ๋ฉ์์ง๋ piano๋ฅผ ๋์ด ๋ค๋ฅธ ์ ๋ฐ manipulation ๊ณผ์ ๋ก ์ฎ๊ธธ ์ ์๋ค.
ํ๊ณ๋ ์ ์งํ๋ค. Open-loop ์์กด, ์๊ฐ๋ฝ-ํค ํ ๋น ๊ฐ์ , ์ด๊ฐ ์ ๋ณด ๋ถ์ฌ, ํ ๊ณก๋น ํ์ต. ์ด ํ๊ณ๋ค์ ํ์ ์ฐ๊ตฌ์ ์์ฐ์ค๋ฌ์ด ์ถ๋ฐ์ ์ด๋ค. ๊ณก ์ฌ์ด ์ผ๋ฐํ, ์ด๊ฐ ํตํฉ, ๋ค์ํ dexterous hand๋ก์ transfer ๋ฑ.
์ค์ฉ ๊ด์ ์์ ๊ฐ์ฅ ๊ฐ์ ธ๊ฐ ๊ฐ์น๊ฐ ์๋ ๋ํ ์ผ ์ธ ๊ฐ์ง๋ (1) ์๋ฎฌ ์ ์ฑ ์์ best trajectory ํ ๊ฐ๋ฅผ ๋ฝ์ open-loop ๋ฒ ์ด์ค๋ก ์ฐ๋ ๋จ์์ฑ, (2) ์ธก๋ฉด ๊ด์ ๋ง ๊ณจ๋ผ ํด๋ฆฌ์คํฑ์ผ๋ก ์ ๋ ฌํ๋ narrow but effective intervention, (3) TD3 ํ์ ๋ ธ์ด์ฆ์ ๋ถํธ์ prior๋ฅผ ์ฃผ์ ํ๋ guided noise ๊ธฐ๋ฒ์ด๋ค. ์ ๋ค ๋ค๋ฅธ dexterous manipulation ํ์ดํ๋ผ์ธ์ ์ฎ๊ฒจ ์คํํ ๋งํ ๊ฐ๋ฒผ์ด ๊ฐ์ ์ด๋ค.
๋ง์ง๋ง์ผ๋ก, ์ด ๋ ผ๋ฌธ์ด ๋์ง๋ ๋ ํฐ ์ง๋ฌธ์ ์ด๊ฑฐ๋ค. โRL์ ๋ณด์ ์ ํธ๊ฐ ํ๊ฒฝ์์ ์ง์ ์ ๊ณต๋๋ ์ ๋ฐ task๋ ๋ ์ด๋ ์๋๊ฐ?โ ํคํจ๋, ์ค์์น ํจ๋, ํ๋ฌ, ๋ฒํผ ์ํ์ค, ์ํ ์ ๋ ฅ. ์ฌ์ค ์ฐ๋ฆฌ ์ฃผ๋ณ์ ๊ฝค ๋ง๋ค. HandelBot์ด ๋ณด์ฌ์ค ๋ ์ํผ๋ ๊ทธ๋ฐ ๋ชจ๋ ๊ณณ์ ์ ์ฉ๋ ์ ์ฌ๋ ฅ์ด ์๋ค. ์ด์ฉ๋ฉด ์ฐจ์ธ๋ dexterous task ๋ฒค์น๋งํฌ์ ํํ๋ โํ๊ฒฝ์ด ๊ณง reward ์ฑ๋์ธโ ์ผ์ ์ ๋ฐ ์กฐ์๋ค์ ๋ชจ์์ผ์ง ๋ชจ๋ฅธ๋ค.
์ฐธ๊ณ ๋ฌธํ ๋ฐ ์๋ฃ
- ๋ ผ๋ฌธ: Xie, A., Qi, H., Sadigh, D. (2026). HandelBot: Real-World Piano Playing via Fast Adaptation of Dexterous Robot Policies. arXiv:2603.12243.
- ํ๋ก์ ํธ ํ์ด์ง: https://amberxie88.github.io/handelbot/
- ์ฝ๋: https://github.com/amberxie88/handelbot
- ๊ด๋ จ: RoboPianist (Zakka et al., 2023), Towards Learning to Play Piano with Dexterous Hands and Touch (Xu et al., 2022), FurElise (2024)