flowchart LR
A[Goal pose q*] --> P[Planner pi_plan]
O[Object state estimate] --> P
F[Skill feedback] --> P
Pr[Proprioception] --> P
P -->|"axis (one-hot)"| S[Skill pi_skill - frozen]
P -->|"residual a_res"| Sum[+]
S -->|"a_skill"| Sum
Sum -->|"a_t = a_skill + a_res"| R[Robot Hand]
R --> Pr
R --> O
S --> F
๐From Simple to Complex Skills ๋ฆฌ๋ทฐ
Haozhi Qi, Brent Yi, Mike Lambeta, Yi Ma, Roberto Calandra, Jitendra Malik
- ๐ค In-hand object reorientation ์์ ์ ์ํด, ๋ณธ ๋ ผ๋ฌธ์ ๋ฏธ๋ฆฌ ํ์ต๋ ์ ์์ค skill๋ค์ ์ฌ์ฌ์ฉํ๋ ๊ณ์ธต์ ์ ์ฑ (hierarchical policy)์ ์ ์ํ์ฌ sim-to-real gap๊ณผ ํ์ต ํจ์จ์ฑ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํฉ๋๋ค.
- ๐ฆพ ๋ํ, ์์คํ ์ ์ผ๋ฐํ ๊ฐ๋ฅํ ๊ฐ์ฒด ์์ธ ์ถ์ ๊ธฐ(generalizable object pose estimator)๋ฅผ ๋์ ํ๋ฉฐ, ์ด๋ ์ ์์ค skill ์ ์ฑ ์ ํผ๋๋ฐฑ๊ณผ ์์ฌ ๋์(residual action)์ ํ์ฉํ์ฌ ๋ณต์กํ ์กฐ์ ํ๊ฒฝ์์ ์ ํํ ์์ธ ์ถ์ ์ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค.
- โจ ์คํ ๊ฒฐ๊ณผ, ์ ์๋ ์ ๊ทผ ๋ฐฉ์์ scratch๋ถํฐ ํ์ตํ๋ baseline๋ณด๋ค ๋ ๋น ๋ฅด๊ฒ ์๋ ดํ๊ณ ๋์ ์ฑ๋ฅ์ ๋ณด์ด๋ฉฐ, ๋ค์ํ ๊ฐ์ฒด์ ๋ํ ํ์ค ์ธ๊ณ sim-to-real transfer์์ ๊ฐ๋ ฅํ ๊ฒฌ๊ณ ํจ๊ณผ ์ผ๋ฐํ ๋ฅ๋ ฅ์ ์ ์ฆํ์ต๋๋ค.
๐ Ping Review
๐ Ping โ A light tap on the surface. Get the gist in seconds.
์ด ๋ ผ๋ฌธ์ ๋ก๋ด์ In-Hand Object Reorientation์ด๋ผ๋ ๋ณต์กํ ์์ ์ ์ํํ๊ธฐ ์ํด ๊ธฐ์กด์ ํ์ต๋(pre-trained) ์ ์์ค(low-level) ์คํฌ์ ์ฌ์ฌ์ฉํ๋ ๊ณ์ธต์ ์ ์ฑ (hierarchical policy) ์์คํ ์ ์ ์ํฉ๋๋ค. ์๋ฎฌ๋ ์ด์ ์์ ์ ์ฑ ์ ํ์ตํ๊ณ ์ค์ ์ธ๊ณ๋ก ์ ์ด(transfer)ํ๋ ๊ฒ์ด dexterous manipulation์์ ์ ๋งํ ์ ๊ทผ ๋ฐฉ์์ด์ง๋ง, ๊ฐ ์๋ก์ด ์์ ์ ๋ํด sim-to-real gap์ ๋ฉ์ฐ๋ ๋ฐ์๋ reward engineering, hyperparameter tuning, system identification๊ณผ ๊ฐ์ ์๋นํ ์ธ๊ฐ์ ๋ ธ๋ ฅ์ด ํ์ํฉ๋๋ค. ๋ณธ ์ฐ๊ตฌ๋ ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๊ณ์ธต์ ์ ๊ทผ ๋ฐฉ์์ ์ฌ์ฉํฉ๋๋ค.
ํต์ฌ ๋ฐฉ๋ฒ๋ก (Core Methodology):
๋ณธ ์์คํ ์ ๋ ๊ฐ์ง ์ฃผ์ ๊ตฌ์ฑ ์์๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค: Planner Policy (\pi_{plan})์ Skill Policy (\pi_{skill}).
- Skill Policy (\pi_{skill}):
- ์ด๊ฒ์ ๋ฏธ๋ฆฌ ํ์ต๋ ์ ์์ค ์คํฌ๋ก, In-Hand Object Rotation ์ ์ฑ [6]์ ๊ธฐ๋ฐํฉ๋๋ค. ํน์ ํ์ ์ถ k์ ๋ํด ๊ฐ์ฒด๋ฅผ ํ์ ์ํค๋ ๋ฐฉ๋ฒ์ ํ์ตํฉ๋๋ค.
- \pi_{skill}์ ์ ๋ ฅ o_{skill_t}๋ ๋ก๋ด์ ๊ณ ์ ์์ฉ์ฑ(proprioception) ์ ๋ณด (๊ด์ ์์น \theta_{t-T:t} ๋ฐ ๋ช ๋ น๋ ๊ด์ ๋ชฉํ a_{skill_{t-T-1:t-1}})์ RGB-D ์นด๋ฉ๋ผ์์ ์ป์ ๊น์ด ์ด๋ฏธ์ง(depth image) ์๋ฒ ๋ฉ d_{t-T:t}๋ฅผ ํฌํจํ๋ ์๊ฐ์ ์ํ์ค(temporal sequence)์ ๋๋ค (์ฌ๊ธฐ์ T=30 ํ์์คํ ์ ๊ธฐ๋ก์ ์ฌ์ฉ).
- \pi_{skill}์ ๋ก๋ด์ ๋ํ ์์ ๊ด์ ์์น ๋ชฉํ(raw joint position targets) a_{skill_t}๋ฅผ ์ถ๋ ฅํ๋ฉฐ, ์ถ๊ฐ์ ์ผ๋ก ๊ฐ์ฒด์ ๋ฌผ๋ฆฌ์ ์์ฑ๊ณผ ํํ๋ฅผ ๋ํ๋ด๋ ํน์ง ๋ฒกํฐ z_t๋ฅผ ์ถ๋ ฅํฉ๋๋ค. ์ด z_t๋ ๊ณ ์์ค(high-level) ์ ์ฑ ์ ๋ํ ํผ๋๋ฐฑ์ผ๋ก ์ฌ์ฉ๋ฉ๋๋ค. z_t๋ ์๊ฐ ์ ๋ณด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ฐ์ฒด์ ๊ธฐํํ์ ์ ๋ณด๋ฅผ ์ธ์ฝ๋ฉํฉ๋๋ค.
- Planner Policy (\pi_{plan}):
- ์ด๊ฒ์ ๊ณ ์์ค ์ ์ฑ ์ผ๋ก, a_{plan_t} = \pi_{plan}(o_{plan_t}, q_{goal_t}, z_t)์ ๊ฐ์ด ์ ์๋ฉ๋๋ค.
- \pi_{plan}์ ์
๋ ฅ o_{plan_t}๋ ๋ค์๊ณผ ๊ฐ์ ์ ๋ณด๋ฅผ ํฌํจํฉ๋๋ค:
- ๊ฐ์ฒด์ ์ํ ์ํ์ค s_{t-5:t} (3D ์์น p_t ๋ฐ ๋จ์ ์ฟผํฐ๋์ธ(unit quaternion) q_t๋ก ํํ๋ ๋ฐฉํฅ).
- ๊ฐ์ฒด์ ๋ชฉํ ๋ฐฉํฅ ์ฌ์ด์ ์๋์ ๋ณํ \zeta_{t-5:t} = \Delta(q_t, q_{goal_t}) = q_{goal_t} \cdot \bar{q}_t.
- ์ด์ ํ์์คํ ์ planner action a_{plan_{t-6:t-1}}.
- ๊ฐ์ฅ ์ค์ํ ๊ฒ์, ์ ์์ค ์คํฌ ์ ์ฑ ์ธ \pi_{skill}์์ ์ ๊ณตํ๋ ํผ๋๋ฐฑ z_t์ ๋๋ค. ์ด๋ \pi_{plan}์ด ์ ์์ค ์คํฌ์ ๋ฐ์์ ์ธ์งํ๊ณ ์ค๋ฅ๋ฅผ ์์ ํ๋ ๋ฐ ๋์์ ์ค๋๋ค.
- \pi_{plan}์ 3๊ณ์ธต MLP(Multi-Layer Perceptron) ๋คํธ์ํฌ๋ฅผ ์ฌ์ฉํ๋ฉฐ, ELU(Exponential Linear Unit) ํ์ฑํ ํจ์๋ฅผ ๊ฐ์ง๋๋ค.
- \pi_{plan}์ ์ถ๋ ฅ์ 7์ฐจ์ ๋ฒ์ฃผํ ๋ถํฌ(categorical distribution)๋ก, ์ฌ์ฏ ๊ฐ์ ์ ๊ท ํ์ ์ถ (\pm x, \pm y, \pm z) ์ค ํ๋์ ์ถ๊ฐ์ ์ธ STOP ๋ช ๋ น์ ํด๋นํฉ๋๋ค. ์ฟผํฐ๋์ธ์ ๋คํธ์ํฌ ์ ๋ ฅ ์ 6D representations์ผ๋ก ๋ณํ๋ฉ๋๋ค.
- Residual Actions (a_{rest}): \pi_{plan}์ ์ ํ๋ ํ์ ์ถ ์ธ์, ์ ์์ค ์คํฌ์ ์ถ๋ ฅ์ ๋ณด์์ ์ธ ์์ฌ ๋์(residual action) a_{rest}๋ฅผ ์ถ๋ ฅํฉ๋๋ค. ์ต์ข ์ ์ผ๋ก ๋ก๋ด์๊ฒ ์ ๋ฌ๋๋ ๋์์ a_t = a_{rest} + a_{skill_t}์ ๋๋ค. ์ด a_{rest}๋ planner policy๊ฐ low-level skill์ ํ๊ณ๋ฅผ ๋ณด์ํ๊ณ ์ถ๊ฐ์ ์ธ ์ค๋ฅ ๋ณด์ ์ ์ํํ ์ ์๋๋ก ํฉ๋๋ค.
ํ์ต ๋ฐ ๋ณด์:
- \pi_{plan}์ ์๋ฎฌ๋ ์ดํฐ์์ ์ ๊ณต๋๋ ground-truth ๊ฐ์ฒด ์ํ q_t๋ฅผ ์ฌ์ฉํ์ฌ ํ์ต๋ฉ๋๋ค.
- ๋ณด์ ํจ์๋ r = 1/(d(q_t, q_{goal_t}) + \epsilon) + \lambda_s \mathbb{1}(Success)๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ์ฌ๊ธฐ์ d(q_t, q_{goal_t})๋ ํ์ ๊ฑฐ๋ฆฌ ๋ณด์์ด๋ฉฐ, \mathbb{1}(Success)๋ ์ฑ๊ณต ๋ณด๋์ค์ ๋๋ค. ๊ธฐ์กด ์ฐ๊ตฌ์ ๋นํด ๋ณด์ ํจ์๊ฐ ํจ์ฌ ๋จ์ํ๋ฉฐ, ์ด๋ ์ ์์ค ์คํฌ์ด ์ด๋ฏธ ์ ํ๋๋์ด ์๊ธฐ ๋๋ฌธ์ ๊ฐ๋ฅํฉ๋๋ค.
Generalizable State Estimator:
- ์ค์ ์ธ๊ณ๋ก ์ ์ฑ ์ ์ ์ดํ๊ธฐ ์ํด, ์์คํ ์ ๊ฐ๊ฑดํ ๊ฐ์ฒด ์์ธ ์ถ์ ๊ธฐ(pose estimator)๋ฅผ ํ์๋ก ํฉ๋๋ค.
- ์ ์๋ ์์ธ ์ถ์ ๊ธฐ๋ ์ ๊ฒฝ๋ง \phi๋ก ๊ตฌํ๋ ์ฌ๊ท์ ์ํ ์ถ์ ๊ธฐ(recursive state estimator)์ ๋๋ค.
- ์ ๋ ฅ์ ๊ณ ์ ์์ฉ์ฑ, ๋์, ์ ์ด ์ค๋ฅ, ์ ์์ค ์คํฌ ํผ๋๋ฐฑ(z_t), ๊ทธ๋ฆฌ๊ณ ์ด์ ์ ์ถ์ ๋ ๊ฐ์ฒด ์ํ ์ํ์ค์ ๋๋ค.
- \phi๋ ๋ค์ ํ์์คํ ์ ๊ฐ์ฒด ์ํ \hat{s}_t๋ฅผ ์ถ๋ ฅํฉ๋๋ค.
- ์ด ์ถ์ ๊ธฐ๋ Transformer ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํ๋ฉฐ, ํน์ง ์ํ์ค f_t = [q_t, a_{t-1}, q_t - a_{t-1}, \hat{s}_{t-1}, z_t]๋ฅผ ์ ๋ ฅ์ผ๋ก ๋ฐ์ \hat{s}_t๋ฅผ ์์ธกํฉ๋๋ค.
- ํ์ต์ ์๋ฎฌ๋ ์ด์ ์์ \pi_{plan}์ ์ฌ์ฉํ์ฌ ๋กค์์(rollout)ํ๋ฉฐ, ์์ธก๋ ์ฟผํฐ๋์ธ๊ณผ ground-truth ์ฟผํฐ๋์ธ ์ฌ์ด์ ํ์ ๊ฑฐ๋ฆฌ๊ฐ 0.8 ๋ผ๋์์ ์ด๊ณผํ๊ฑฐ๋ ์์ธก๋ ๊ฐ์ฒด ์์น๊ฐ 3cm ์ด์ ๋ฒ์ด๋๋ฉด ์ํผ์๋๋ฅผ ๋ฆฌ์ ํ๋ ๋ฐฉ์์ผ๋ก \ell_2 distance๋ฅผ ์ต์ํํฉ๋๋ค.
์คํ ๋ฐ ๊ฒฐ๊ณผ:
- ์ ์ฑ ํ์ต ์ฑ๋ฅ: ์ ์์ค ์คํฌ์ ์ฌ์ฉํ ๊ณ์ธต์ ์ ์ฑ ์ ํ์ต์์ scratch๋ถํฐ ํ์ตํ๋ baseline ์ ์ฑ ๋ณด๋ค 8๋ฐฐ ๋ ๋น ๋ฅด๊ฒ ์๋ ดํ๋ฉฐ, ๋ ๋์ ์ฑ๊ณต๋ฅ ์ ๋ฌ์ฑํฉ๋๋ค. ํนํ ๊ฐ์ฒด ์ํ ์ ๋ณด์ ๋ ธ์ด์ฆ๊ฐ ์ฆ๊ฐํ ์๋ก baseline์ ๋ถ์์ ํด์ง๊ณ ์๋ ด์ ์คํจํ๋ ๋ฐ๋ฉด, ์ ์๋ ๋ฐฉ๋ฒ์ ์์ ์ ์ธ ์ฑ๋ฅ์ ์ ์งํฉ๋๋ค. ์ด๋ ๋ฏธ๋ฆฌ ํ์ต๋ ๋ชจ๋ธ์ด ํ์ ๊ณต๊ฐ์ ๊ตฌ์กฐํํ๊ณ ์๋ฏธ ์๋ ๋ฌด์์ ํ๋์ ์ค์ฌ์ฃผ๊ธฐ ๋๋ฌธ์ ๋๋ค.
- Out-of-Distribution Robustness: ์ ์๋ ์ ์ฑ ์ ๊ด์ธก ๋ ธ์ด์ฆ, ๋ฌผ๋ฆฌ์ ๋ฌด์์ํ(physical randomizations), ๊ฐ์ฒด ํํ ๋ณํ์ ๊ฐ์ out-of-distribution ์๋๋ฆฌ์ค์์ baseline๋ณด๋ค ํจ์ฌ ๊ฐ๊ฑดํจ์ ๋ณด์ฌ์ค๋๋ค.
- Generalizable State Estimation: ํ์ต๋ ์์ธ ์ถ์ ๊ธฐ๋ฅผ ์ฌ์ฉํ์ฌ, ์๋ฎฌ๋ ์ด์ ์์ ์์ธก๋ ๊ฐ์ฒด ์ํ๋ฅผ ๋ฐํ์ผ๋ก ์ค์ ์ธ๊ณ์ ์ ์ฑ ์ ์ฑ๊ณต์ ์ผ๋ก ์ ์ดํฉ๋๋ค. ์ ์๋ ๋ฐฉ๋ฒ์ baseline๋ณด๋ค policy smoothness์ energy metrics์์ ์ฐ์ํ ์ฑ๋ฅ์ ๋ณด์ฌ, ๋ ์์ ์ ์ธ ๊ฐ์ฒด ์กฐ์์ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค.
- Ablation Experiments:
- Residual Actions ๋ฐ Low-Level Skill Feedback: ์ด ๋ ์์๊ฐ ์์ผ๋ฉด ์ฑ๋ฅ์ด ํฌ๊ฒ ์ ํ๋ฉ๋๋ค. Residual actions๋ ๋ฏธ์ธํ ์ค๋ฅ ๋ณด์ ์ ์ ๊ณตํ๊ณ , z_t๋ฅผ ํตํ ์ ์์ค ์คํฌ ํผ๋๋ฐฑ์ \pi_{plan}์ด low-level skill์ ๋ด๋ถ ์ํ์ ๊ฐ์ฒด ์์ฑ์ ์ดํดํ๋ ๋ฐ ํ์์ ์์ ์ ์ฆํฉ๋๋ค.
- Planner Policy Inputs: ์ฟผํฐ๋์ธ ์ฐจ์ด๋ง ์ฌ์ฉํ๋ ๊ฒ๋ถํฐ ์์ํ์ฌ, ๊ฐ์ฒด ์์น, ๊ด์ธก ๊ธฐ๋ก, ์ด์ planner actions, ๊ทธ๋ฆฌ๊ณ ๊ณ ์ ์์ฉ์ฑ ์ ๋ณด๋ฅผ ์์ฐจ์ ์ผ๋ก ์ถ๊ฐํ๋ฉด์ ์ ์ฑ ์ฑ๋ฅ์ด ์ ์ง์ ์ผ๋ก ํฅ์๋จ์ ๋ณด์ฌ์ค๋๋ค. ์ด๋ planner์ ์ ์์ค ์คํฌ ์ ์ฑ ๊ฐ์ closed-loop feedback์ ์ค์์ฑ์ ๊ฐ์กฐํฉ๋๋ค.
- ์ค์ ์ธ๊ณ ์คํ: Allegro Hand ๋ก๋ด์ ์ฌ์ฉํ์ฌ ํ๋ จ ๋ฐ์ดํฐ์ ์์๋ (out-of-distribution) 6๊ฐ์ง ๋ค์ํ ์ค์ ๊ฐ์ฒด์ ๋ํด ์ฑ๊ณต์ ์ธ in-hand reorientation์ ์์ฐํ์ต๋๋ค. ํนํ ์์ ํ๋ธ์ ๊ฐ์ ์กฐ์ํ๊ธฐ ์ด๋ ค์ด ๊ฐ์ฒด์๋ ์ ์ผ๋ฐํ๋๋ ๋ชจ์ต์ ๋ณด์ฌ์ฃผ์์ต๋๋ค.
๊ฒฐ๋ก ๋ฐ ํ๊ณ:
๋ณธ ์ฐ๊ตฌ๋ ๋ฏธ๋ฆฌ ํ์ต๋ ์ ์์ค ์คํฌ์ ํ์ฉํ์ฌ in-hand object reorientation์ ์ํ ๊ณ์ธต์ ์ ์ฑ ์ ๊ตฌ์ถํ๊ณ , ๊ฐ๊ฑดํ๊ณ ์ผ๋ฐํ ๊ฐ๋ฅํ ์ํ ์ถ์ ๊ธฐ๋ฅผ ํ์ตํจ์ผ๋ก์จ, ํ๋ จ ํจ์จ์ฑ, ๊ฐ๊ฑด์ฑ, ์ผ๋ฐํ ๊ฐ๋ฅ์ฑ์ ํฌ๊ฒ ํฅ์์ํฌ ์ ์์์ ์ ์ฆํ์ต๋๋ค. ํ๊ณ์ ์ผ๋ก๋ ์ ์์ค ์ ์ฑ ์ ํจ๊ณผ์ฑ์ ์์กดํ๋ฉฐ, ์๊ฐ๋ฝ๊ณผ ๊ฐ์ฒด ์ฌ์ด์ ๋ฏธ๋๋ฌ์ง(slipping)์ด ๋ฐ์ํ์ง ์๋๋ค๋ ๊ฐ์ ์ด ์์ต๋๋ค. ๋ํ, ํ์ฌ ์์ธ ์ถ์ ์ค์ฐจ๊ฐ ์๊ฐ์ ๋ฐ๋ผ ๋์ ๋ ์ ์์ต๋๋ค. ํฅํ ์ฐ๊ตฌ๋ก๋ ์ด๊ฐ ์ผ์(tactile sensing)๋ฅผ ํตํฉํ๊ณ ์๊ฐ(vision)๊ณผ ์ด๊ฐ(touch)์ ๊ฒฐํฉํ์ฌ ์ ํํ๊ณ ์ฅ๊ธฐ์ ์ธ ์์ธ ์ถ์ ์ ๊ฐ๋ฅํ๊ฒ ํ๋ ๋ฐฉํฅ์ ์ ์ํฉ๋๋ค.
๐ Ring Review
๐ Ring โ An idea that echoes. Grasp the core and its value.
๋ค์ด๊ฐ๋ฉฐ: ์ โ๋ค์โ ์์ ์ฌ๋ฐฐํฅ์ธ๊ฐ
์์ ํ์ (in-hand rotation)์ ํ๋ฆฐ ์ค ์์๋ค. 2022๋ HORA๊ฐ z์ถ ํ์ ์ ์๋๋ง์ผ๋ก ํ๊ณ , 2023๋ RotateIt์ด ์์ ์ถ์ผ๋ก ํ์ฅํ๋ฉด์, ๋ค์ถ ํ์ ์์ฒด๋ ๋ ์ด์ ๋ฏธํด๊ฒฐ ๋ฌธ์ ์ฒ๋ผ ๋ณด์ด์ง ์์๋ค. ๊ทธ๋ฐ๋ฐ ๊ฐ์ ๊ทธ๋ฃน(Qi et al., Berkeley/Meta)์ด 2025๋ ์ ๋ ๋ค๋ฅธ ๋ ผ๋ฌธ์ ๋ด๋์๋ค. ์ ๋ชฉ์ ใFrom Simple to Complex Skills: The Case of In-Hand Object Reorientationใ. ํ์ (rotation)์ด ์๋ ์ฌ๋ฐฐํฅ(reorientation), ์ฆ ๋ชฉํ ์์ธ(target pose)์ ๋๋ฌํ๋ ๋ฌธ์ ๋ค.
์ธ๋ป ๋ณด๋ฉด ์์ ์ฐจ์ด ๊ฐ์ง๋ง, ์ค์ ์ฐจ์ด๋ ํฌ๋ค. โ๊ณ์ ๋๋ฆฌ๊ธฐโ์ โ์ ํด์ง ๊ฐ๋์ ๋ฉ์ถ๊ธฐโ๋ RL ์ ์ฅ์์ ๋ณด๋ฉด ๊ฑฐ์ ๋ค๋ฅธ ๋ฌธ์ ๋ค. ์ ์๋ ํ์ ์๋(angular velocity)์ ๋น๋กํ ๋ณด์์ผ๋ก ๋์์ด ๋๊ฒ ๋๋ฉด ๋์ง๋ง, ํ์๋ โ์ด๋๊น์ง ๋๋ ธ๋์งโ๋ฅผ ์์์ผ ํ๊ณ , ์ด๋ ์๊ฐ ๋ฉ์ถฐ์ผ ํ๋ฉฐ, ์๋ชป ๋๋ฆฌ๋ฉด ๋๋๋ ค์ผ ํ๋ค. ์์์์ ์ผ์ด๋๋ ์ผ์ โ์ ํํโ ์์์ผ ํ๋ ๊ฒ์ด๋ค.
์ด ๋ ผ๋ฌธ์ด ํฅ๋ฏธ๋ก์ด ์ด์ ๋ ๋ต์ ํ์ด๊ฐ๋ ๋ฐฉ์์ด ์ฐ์ํ๊ธฐ ๋๋ฌธ์ด๋ค. ์ด๋ฏธ ์ ํ๋ฆฐ ๋จ์ ์คํฌ(์ถ๋ณ ํ์ ์ ์ฑ )์ ๊ทธ๋๋ก ๋๊ณ , ๊ทธ ์์ ์์ ํ๋๋๋ฅผ ์น์ด ๋ณต์กํ ์์ ์ ๋ง๋ ๋ค. ๋ณด์ ์์ง๋์ด๋ง๊ณผ ๋๋ฉ์ธ ๋๋คํ, ์์คํ ์๋ณ์ ์ ์์ ๋ง๋ค ์ฒ์๋ถํฐ ๋ค์ ๊น์์ผ ํ๋ ๊ธฐ์กด sim-to-real ์ํฌํ๋ก์ ์ธ๊ฑด๋น ๋ฌธ์ ๋ฅผ ์ ๋ฉด์ผ๋ก ๋ค์ด๋ฐ๋ ์ ์ด๋ค.
์ ์์ค ์คํฌ(์ถ๋ณ in-hand rotation)์ ๋๊ฒฐ์์ผ ๋๊ณ , ๊ทธ ์์ (1) ์ด๋ ์ถ์ผ๋ก ๋๋ฆด์ง ๊ณ ๋ฅด๋ ํ๋๋, (2) ์์ฐจ ๋ณด์ ํ๋์ ๋ํ๋ ์์ฐจ ์ ์ฑ , (3) ์์ธ๋ฅผ ์ถ์ ํ๋ ์ํ ์ถ์ ๊ธฐ, ์ด ์ธ ๊ฐ์ง๋ง ์๋ก ํ์ตํ๋ค.
๋ฌธ์ ์ค์ : ํ์ ๊ณผ ์ฌ๋ฐฐํฅ์ ๋ฏธ๋ฌํ์ง๋ง ๊ฒฐ์ ์ ์ธ ์ฐจ์ด
์์ ํ์ ์์ ์ ๋ค์๊ณผ ๊ฐ์ด ์ด๋ค.
\max_\pi \; \mathbb{E}\left[\sum_{t=0}^T r_{\text{rot}}(s_t, a_t)\right], \quad r_{\text{rot}} = \omega_{\text{obj}} \cdot \hat{k}
์ฌ๊ธฐ์ \hat{k}๋ ๋ชฉํ ํ์ ์ถ, \omega_{\text{obj}}๋ ๋ฌผ์ฒด์ ๊ฐ์๋๋ค. ์ฆ โ๋ชฉํ ์ถ ๋ฐฉํฅ์ผ๋ก ๋ ๋นจ๋ฆฌ ๋์๋ก ์ข๋คโ๋ ๋จ์ํ ๋ณด์์ด๋ค. ๋(termination)์ด ์๋ค.
์ฌ๋ฐฐํฅ์ ๋ค๋ฅด๋ค. ์์ ์์ธ q_0์์ ๋ชฉํ ์์ธ q^*๊น์ง ๊ฐ์ผ ํ๋ค.
r_{\text{reorient}} = -\,\angle(q_t, q^*) + \mathbb{1}[\angle(q_t, q^*) < \epsilon] \cdot R_{\text{success}}
์ฟผํฐ๋์ธ ๊ฑฐ๋ฆฌ(angular distance)์ ์ฑ๊ณต ๋ณด๋์ค, ๋ ํญ์ผ๋ก ๋๋ธ๋ค. ๋ฌธ์ ๋ RL์ด \angle(q_t, q^*)๋ฅผ ํ์ต ์ ํธ๋ก ๋ฐ๊ธฐ์๋ ๋๋ฌด sparseํ๊ณ , ๋ ํฐ ๋ฌธ์ ๋ ์์์์ ๋ฌผ์ฒด๊ฐ ์ด๋ป๊ฒ ๋์ฌ ์๋์ง ์ค์ธ๊ณ์์ ๋ชจ๋ฅธ๋ค๋ ์ ์ด๋ค. ์๋ฎฌ๋ ์ด์ ์์๋ ๋ฌผ๋ฆฌ ์์ง์ด ์์ธ๋ฅผ ๊ณต์ง๋ก ์๋ ค์ฃผ์ง๋ง, ์ค์ ์์ ์๊ฐ๋ฝ ๊ด์ ์ธ์ฝ๋๋ฐ์ ์๋ค. ์นด๋ฉ๋ผ๊ฐ ์์ด๋ ์๊ฐ๋ฝ์ ๊ฐ๋ ค์ง๋ค(occlusion).
์ด๊ฒ ๋จ์ํ RL ๋ฌธ์ ๊ฐ ์๋ ์ด์ ๋ค. ํ๋ ์ ์ฑ ๊ณผ ์ธ์(perception)์ ๋์์ ํ์ด์ผ ํ๋ค.
ํต์ฌ ์์ด๋์ด: ๋จ์ ์คํฌ ์์ ์์ ํ๋๋ ํ ์ฅ
์ ์๋ค์ ์ ๊ทผ์ ํ ๋ง๋๋ก โ์ด๋ฏธ ๊ฐ์ง ๊ฑธ ๋ค์ ์ง์ง ๋ง์(donโt reinvent the wheel)โ๋ค.
์ ๊ทธ๋ฆผ์ด ์์คํ ์ ๋ถ๋ค. ๊ฐ ๋ธ๋ก์ ์ฐจ๋ก๋ก ํ์ด ๋ณธ๋ค.
์ ์์ค ์คํฌ \pi_{\text{skill}}: RotateIt์ ๊ทธ๋๋ก ๊ฐ์ ธ์จ๋ค
๊ธฐ๋ฐ์ RotateIt(Qi et al., CoRL 2023). ์ ๋ ฅ์ ๋ค์๊ณผ ๊ฐ์ด ๊ตฌ์ฑ๋๋ค.
- ๋ก๋ด ๊ด์ ์์น q_{\text{robot},t}
- ์ง์ ๋ช ๋ น ๊ด์ ํ๊ฒ a_{t-1}
- ์๋ฐ๋ฅ ์์ depth ์ด๋ฏธ์ง(๊ฒฝ๋ CNN์ผ๋ก ์ธ์ฝ๋ฉ)
- ํ์ ์ถ ๋ช ๋ น \hat{k} (one-hot ๋๋ unit vector)
์ด ์ ๋ ฅ์ Transformer๋ก ์ฒ๋ฆฌํด ๋จ์ผ ๋ฒกํฐ๋ก ์์ถํ๊ณ , ๋ ๊ฐ๋์ ํค๋๋ฅผ ๋จ๋ค.
- ์ ์ฑ ํค๋: ๊ด์ ํ๊ฒ ์ถ๋ ฅ a_{\text{skill}}
- ๋ฌผ์ฑ ์์ธก ํค๋: ๋ฌผ์ฒด์ ๋ฌผ๋ฆฌ์ ์์ฑ(์ง๋, ๋ง์ฐฐ, ํ์ ๋ฑ) ์์ธก
์ฌ๊ธฐ๊ฐ ํต์ฌ ํธ๋ฆญ์ด๋ค. ๋ฌผ์ฑ ์์ธก ํค๋๋ ํ์ต์๋ง ์ฐ๋ ๋ณด์กฐ ์์ค์ด ์๋๋ผ, ์ถ๋ก ์ ํ๋๋์๊ฒ โ๋ด๊ฐ ๋ง์ง๊ณ ์๋ ๋ฌผ์ฒด๊ฐ ์ด๋ค ๋์ธ์งโ๋ฅผ ์๋ ค์ฃผ๋ ํผ๋๋ฐฑ ์ ํธ๋ค. ์ผ๋ฐ์ ์ธ hierarchical RL์ ์ ์์ค์ด โ์ ๋๋์งโ ์ ๋๋ง ์๋ก ๋ณด๋ด์ง๋ง, ์ฌ๊ธฐ๋ ์ ์์ค์ด ์์ ์ด ๋ง์ง๋ ๋์์ ํํ(representation)์ ์๋ก ํ๋ ค๋ณด๋ธ๋ค.
์ ์์ค ์คํฌ์ ์ ๋ง๋ ์๊ฐ๋ฝ ๋์ ๊ฐ๊ฐ ๋ด๋ฐ์ด๋ผ๊ณ ์๊ฐํ๋ฉด ๋๋ค. ๊ทธ ๋ด๋ฐ์ โ์ง๊ธ ๋๋ฆฌ๊ณ ์๋ ๊ฒโ์ ์ ์ฒด๋ฅผ ์ด๋ ดํ์ด ์๋ค. ๊ตณ์ด ์์ชฝ ๋๊ฐ ์ฒ์๋ถํฐ ๋ค์ ์ถ์ ํ ํ์๊ฐ ์๋ค.
ํ๋๋ \pi_{\text{plan}}: ์ถ์ ๊ณ ๋ฅด๊ณ ๋ฏธ์ธ ๋ณด์ ์ ๋ํ๋ค
ํ๋๋์ ์ ๋ ฅ์ ๋ค์๊ณผ ๊ฐ๋ค.
- ์ถ์ ๋ ๋ฌผ์ฒด ์์ธ \hat{p}_t, \hat{q}_t
- ๋ชฉํ ์์ธ q^*, ๋๋ ์๋ ํ์ \Delta q = q^* \otimes \hat{q}_t^{-1}
- ์ ์์ค ์คํฌ์ ํผ๋๋ฐฑ(๋ฌผ์ฑ ์์ธก ์๋ฒ ๋ฉ)
- ๊ณ ์ ๊ฐ๊ฐ q_{\text{robot},t}
์ถ๋ ฅ์ ๋ ๊ฐ๋ค.
- ํ์ ์ถ ๋ช ๋ น \hat{k}_t: 6๊ฐ ํ๋ณด ์ถ(ยฑx, ยฑy, ยฑz) ์ค ํ๋๋ฅผ one-hot์ผ๋ก ์ ํ
- ์์ฐจ ํ๋ a_{\text{res},t}: ๊ด์ ๊ณต๊ฐ์ ์์ ๋ณด์
์ต์ข ํ๋์ ๋จ์ํ ํฉ์ด๋ค.
a_t = \pi_{\text{skill}}(o_t, \hat{k}_t) + \alpha \cdot a_{\text{res},t}
\alpha๋ ์์ฐจ์ ํฌ๊ธฐ๋ฅผ ์ ํํ๋ ์ค์ผ์ผ๋ง์ด๋ค. ์ด ํฉ์ฐ ๊ตฌ์กฐ๋ ์ด์ cascaded compositional residual learning(Kumar et al.)์ ์ ํต์ ๋ฐ๋ฅธ๋ค.
๊ณ์ธต์ RL์ ๊ณ ์ ์ ์คํจ ํจํด์ ์ ์์ค ์คํฌ์ด ๊นจ์ง ๋ ์์์ ์์ ์ธ ๋ฐฉ๋ฒ์ด ์๋ค๋ ๊ฒ์ด๋ค. ์ ์์ค์ด โ์ฅ๊ณ ๋๋ฆฌ๊ธฐโ๋ผ๊ณ ๊ฐ์ ํ๋๋ฐ ์ค์ ๋ก๋ ๋ฏธ๋๋ฌ์ ธ ๋จ์ด์ง๋ ์ค์ด๋ผ๋ฉด, ์๊ฐ โ๋ค์ ๋๋ คโ๋ผ๊ณ ๋ช ๋ นํด ๋ด์ผ ์๋ฏธ๊ฐ ์๋ค. ์์ฐจ ํ๋์ ์ด ๋จ์ ์ ๋ฉ์ด๋ค. ์๊ฐ ์ ์์ค์๊ฒ ๋ช ๋ น์ ๋ด๋ฆด ๋ฟ ์๋๋ผ, ์ง์ ์๊ฐ๋ฝ ๊ด์ ์ ์ด์ง ์์ง์ผ ๊ถํ๋ ๊ฐ์ง๋ค. ๊ณ์ธต์ ๋๋ ์์ ํ ๊ฒฉ๋ฆฌํ์ง ์๋๋ค.
๋ณด์์ ๋จ์ํ
๋ณด์์ ์์์ ๋ณธ ๋ ํญ๋ฟ์ด๋ค.
r_t = -\angle(\hat{q}_t, q^*) + \mathbb{1}[\angle(\hat{q}_t, q^*) < \epsilon]\,R_{\text{success}}
์ด๊ฒ ๊ฐ๋ฅํ ์ด์ ๋ ์ ์์ค ์คํฌ์ด ์ด๋ฏธ ๊ฐ๊ฑดํ๊ธฐ ๋๋ฌธ์ด๋ค. ๋จ์ด๋จ๋ฆผ ํ๋ํฐ, ์๊ฐ๋ฝ ์ถฉ๋ ํ๋ํฐ, ํ๋ ์ ๊ทํ, ํ ํฌ ํ๋ํฐ ๊ฐ์ ๋ถ๊ฐ ํญ์ ์ผ์ผ์ด ํ๋ํ ํ์๊ฐ ์๋ค. ๋จ์ด๋จ๋ฆผ์ ์ ์์ค์ด ์์์ ๋ฐฉ์งํ๊ณ , ํ๋ ๋ถ๋๋ฌ์์ ์ฌ์ ํ์ต๋ ์ ์ฑ ์ prior์ ์ด๋ฏธ ๋ค์ด ์๋ค. ์ ๋ณด์์ โ์ด๋๋ก ๊ฐ์ผ ํ๋์งโ๋ง ๋งํด์ฃผ๋ฉด ๋๋ค.
์ด๊ฒ ๋ ผ๋ฌธ ์ ๋ชฉ์ ํจ์๋ค. ๋ณต์กํ ์์ ์ ๋ณด์์ ๋จ์ํํ๋ ๊ฐ์ฅ ์ข์ ๋ฐฉ๋ฒ์, ๋จ์ ์์ ์ ์ ์ฑ ์ ์ ๋ง๋ค์ด ๋๊ณ ๊ทธ๊ฒ์ ์์ ์ ์์ํ๋ ๊ฒ์ด๋ค.
์์ธ ์ถ์ ๊ธฐ: ์๊ฐ๋ฝ๋ง์ผ๋ก ์์์ ๋ฌผ์ฒด๋ฅผ ๋ณธ๋ค
์ฌ๊ธฐ๊ฐ ์ด ๋ ผ๋ฌธ์์ ๊ฐ์ฅ ์๋ฆฌํ ๋ถ๋ถ์ด๋ผ๊ณ ์๊ฐํ๋ค. ์ค์ธ๊ณ ๋ฐฐํฌ์ ๊ฐ์ฅ ํฐ ๋ฒฝ์ด ์ธ์์ด๋ผ๋ ์ ์ ์ ๋ฉด์ผ๋ก ์ธ์ ํ๊ณ , ์๊ฐ์ด ์๋ ๊ณ ์ ๊ฐ๊ฐ + ์คํฌ ๋ด๋ถ ์ ํธ๋ก ์์ธ๋ฅผ ์ถ์ ํ๋ ๋ณ๋ ๋คํธ์ํฌ๋ฅผ ๋ง๋ ๋ค.
์ถ์ ๊ธฐ ์ ๋ ฅ
์ถ์ ๊ธฐ g_\phi๋ ์๊ฐ์ ๋ฐ๋ผ ์์ธ๋ฅผ ๊ฐฑ์ ํ๋ ์ฌ๊ท(recurrent) ๊ตฌ์กฐ๋ก, ์ ๋ ฅ์ ๋ค์์ด๋ค.
- ๊ณ ์ ๊ฐ๊ฐ q_{\text{robot},t}
- ์ง์ ํ๋ a_{t-1}
- ์ ์ด ์ค์ฐจ e_t = a_{t-1} - q_{\text{robot},t} (๋ช ๋ นํ ๊ด์ ํ๊ฒ๊ณผ ์ค์ ๋๋ฌ ์์น์ ์ฐจ์ด)
- ์ ์์ค ์คํฌ์ ์๋ฒ ๋ฉ z_t = \pi_{\text{skill}}(\cdot)์ ์ค๊ฐ ํํ
- ์ง์ ์์ธ ์ถ์ \hat{q}_{t-1}, \hat{p}_{t-1}
์ถ๋ ฅ์ (\hat{p}_t, \hat{q}_t), ์ฆ ๋ฌผ์ฒด์ 3D ์์น์ ๋จ์ ์ฟผํฐ๋์ธ ๋ฐฉํฅ์ด๋ค.
์๊ฐ๋ฝ์ด ์ด๋ค ๊ด์ ํ๊ฒ์ ๋ช ๋ น๋ฐ์๋๋ฐ ๊ฑฐ๊ธฐ๊น์ง ๋ชป ๊ฐ๋ค๋ฉด, ๋ฌด์ธ๊ฐ๊ฐ ๋ง๊ณ ์๋ค. ๊ทธ โ๋ฌด์ธ๊ฐโ๊ฐ ๋ฌผ์ฒด๋ค. ์ ์ด ์ค์ฐจ์ ์๊ณ์ด์ ์ฌ์ค์ ์๋ฌต์ ์ด๊ฐ์ด๋ค. ๋ณ๋์ ์ด๊ฐ ์ผ์ ์์ด๋, ๋ช ๋ น๊ณผ ์ค์ ์ ๊ฐญ์ด ์ ์ด ์ ๋ณด๋ฅผ ํ๋ ค๋ณด๋ธ๋ค. HORA์ rapid motor adaptation๋ ๋น์ทํ ํต์ฐฐ์ ์ผ๋ค.
ํ์ต ์ ๋ต
์ถ์ ๊ธฐ๋ ์๋ฎฌ๋ ์ด์ ์์ GT ์์ธ๋ฅผ ๊ฐ๋ ์ ํธ๋ก ์ฌ์ฉํด ํ์ตํ๋ค. ์์ค์ ๋ค์๊ณผ ๊ฐ๋ค.
\mathcal{L}_{\text{pose}} = \|p_t - \hat{p}_t\|_2^2 + d_{\text{quat}}(q_t, \hat{q}_t)
์ฌ๊ธฐ์ d_{\text{quat}}์ ์ฟผํฐ๋์ธ ๊ฑฐ๋ฆฌ(์: 1 - |q \cdot \hat{q}|). ํ์ต ์ ๋ค์ํ ๋ฌผ์ฒด, ๋ง์ฐฐ, ์ง๋์ผ๋ก ๋๋ฉ์ธ ๋๋คํ๋ฅผ ์ํํด ์ผ๋ฐํ๋ฅผ ์ ๋ํ๋ค. ์ ์ฑ ํ์ต๊ณผ๋ ๋ถ๋ฆฌ๋์ด, ๋ณ๋๋ก ์๋ฎฌ๋ ์ด์ ์์ ์ฌ์ ํ์ต๋ ๋ค์ ์ ์ฑ ํ์ต์ freeze๋ ์ํ๋ก ๋ค์ด๊ฐ๋ค.
์์ฌ ์ฝ๋
# Pseudocode for one timestep at deployment
def step(t, q_robot, prev_action, hand_state):
# 1. Estimate object pose
e_t = prev_action - q_robot # control error
z_t = skill_embedding(q_robot, prev_action, depth=None)
pose_t = pose_estimator(prev_pose, q_robot, prev_action, e_t, z_t)
# 2. Planner decides axis + residual
axis_logits, a_res = planner(pose_t, goal_pose, z_t, q_robot)
axis = one_hot_argmax(axis_logits) # 6 candidates (+/- x,y,z)
# 3. Low-level skill produces base action
a_skill = skill_policy(q_robot, prev_action, axis)
# 4. Combine
a_t = a_skill + alpha * a_res
# 5. Send to PD controller
send_joint_targets(a_t)
return a_t, pose_t์ด ์์ฌ ์ฝ๋ ํ ์ฅ์ด ์ ์ฒด ์์คํ ์ ์๊ฐ ํ ์คํ ์ด๋ค. ๊น์ด ์นด๋ฉ๋ผ๊ฐ ์๋ฎฌ๋ ์ด์ ์์๋ง ์ฌ์ฉ๋๊ฑฐ๋, ์ธ๋ถ RGB-D๋ก ์ด๊ธฐํ ๋จ๊ณ์๋ง ์ฐ์ด๋ ์์ผ๋ก ์ด์ฉ๋๋ค.
์์คํ ๊ตฌ์กฐ ํ๋์ ๋ณด๊ธฐ
flowchart TB
subgraph Inputs["Inputs (per timestep)"]
Q[q_robot]
A_prev[a_t-1]
E[error e_t = a_t-1 - q_robot]
end
subgraph PoseEst["Pose Estimator (RNN)"]
EST[g_phi]
end
subgraph Skill["Low-level Skill - FROZEN"]
TF[Transformer encoder]
H1[Action head a_skill]
H2[Property head z_t]
end
subgraph Planner["High-level Planner"]
MLP[MLP / RNN]
AXIS[axis one-hot]
RES[residual a_res]
end
Inputs --> EST
EST --> POSE[pose_t]
Q --> TF
A_prev --> TF
AXIS --> TF
TF --> H1
TF --> H2
POSE --> MLP
GOAL[goal q*] --> MLP
H2 --> MLP
Q --> MLP
MLP --> AXIS
MLP --> RES
H1 --> SUM[Sum]
RES --> SUM
SUM --> OUT[a_t]
pi_skill์ ํ์ต์ด ๋๋ ๋ค์์๋ freeze๋์ด ๊ทธ๋๋์ธํธ๊ฐ ํ๋ฅด์ง ์๋๋ค. pi_plan๊ณผ g_phi๋ง ์ ์์
๋ง๋ค ํ์ตํ๋ค. ์ด๊ฒ sample efficiency๋ฅผ ๋์ด์ฌ๋ฆฌ๋ ํต์ฌ์ด๋ค.
์คํ: ๋ฌด์์ ๋ฌป๊ณ , ๋ฌด์์ด ๋ต์ธ๊ฐ
์คํ ์ค์
| ํญ๋ชฉ | ๊ฐ |
|---|---|
| ํ๋์จ์ด | 4-finger ๋ค์ง ํธ๋ (Allegro Hand) + RGB-D ์นด๋ฉ๋ผ |
| ์๋ฎฌ๋ ์ดํฐ | IsaacGym (HORA/RotateIt ๊ณ์ด๊ณผ ๋์ผ) |
| ํ์ต ์๊ณ ๋ฆฌ์ฆ | PPO (high-level planner), pose estimator๋ supervised |
| ํ๊ฐ ๋ฌผ์ฒด | ํ์ต ๋ถํฌ ๋ด + ๋ถํฌ ์ธ(OOD) ํ์, ๋์นญ/๋ฌดํ ์ค์ฒ ํฌํจ |
| ๋น๊ต๊ตฐ | from-scratch RL, no-residual, no-feedback |
ํต์ฌ ๋น๊ต: ์ฒ์๋ถํฐ ํ์ต vs ๊ณ์ธต์
๋ ผ๋ฌธ์ด ์ ๋์ ์ผ๋ก ๋ฌป๋ ์ฒซ ๋ฒ์งธ ์ง๋ฌธ์ ๋จ์ํ๋ค. โ๊ตณ์ด ๊ณ์ธต ๊ตฌ์กฐ๋ฅผ ์จ์ผ ํ๋?โ
๋ต์ ๋ช ํํ๋ค. ์ฒ์๋ถํฐ ํ์ตํ ์ ์ฑ ์ OOD ๋ฌผ์ฒด์ ๋ ธ์ด์ฆ ์กฐ๊ฑด์์ ๋ฌด๋์ง์ง๋ง, ๊ณ์ธต์ ์ ์ฑ ์ ํ์ต ๋ถํฌ๋ฅผ ๋ฒ์ด๋ ํ์๊ณผ ๋ง์ฐฐ ์กฐ๊ฑด์์๋ ์ฑ๊ณต๋ฅ ์ ์ ์งํ๋ค. ํ์ต ๊ณก์ ์์ผ๋ก๋ ๊ณ์ธต์ ์ ์ฑ ์ ํจ์ฌ ๋น ๋ฅด๊ฒ ์๋ ดํ๋ค. ์ฌ์ ํ์ต๋ ์คํฌ์ด ํ์ ๊ณต๊ฐ์ ํฌ๊ฒ ์ค์ฌ ์ฃผ๊ธฐ ๋๋ฌธ์ด๋ค.
โ์ ํ์ต๋ ์ ์์ค ์คํฌ์ ์ผ์ข ์ prior๋ก ์๋ํ๋ค.โ ์์ชฝ ์ ์ฑ ์ ํ์์ด ์๋ฏธ ์๋ ํ๋ ๋ถํฌ ์์์๋ง ์ด๋ค์ง๋ค. ๋จ์ด๋จ๋ฆฌ๊ธฐ, ์๊ฐ๋ฝ์ด ์ํค๊ธฐ, ๋ฌด์๋ฏธํ ๊ด์ ๋จ๋ฆผ ๊ฐ์ ์คํจ ๋ชจ๋๋ฅผ ์๋์ผ๋ก ํํผํ๋ค.
์์ฐจ ํ๋์ ํจ๊ณผ
residual์ ์ ๊ฑฐํ ablation์์ ์ฑ๊ณต๋ฅ ์ด ํฐ ํญ์ผ๋ก ๋จ์ด์ง๋ค. ์ ์์ค ์คํฌ์ ํ๊ท ์ ์ผ๋ก ์ข์ง๋ง ๋ชจ๋ ์์ธ ์ ํ์์ ์๋ฒฝํ์ง๋ ์๋ค. ์์ฐจ๋ ๊ทธ ๊ฐญ์ ๋ฉ์ด๋ค. ํนํ โ๊ฑฐ์ ๋ค ๋๋๋ฐ ๋ง์ง๋ง 5๋๊ฐ ๋ถ์กฑํโ ์ํฉ์์ ๊ฒฐ์ ์ ์ด๋ค.
์์ธ ์ถ์ ๊ธฐ์ ์ผ๋ฐํ
์ถ์ ๊ธฐ๋ ํ์ต์ ์ฐ์ง ์์ ์ ๊ท ๋ฌผ์ฒด(์ฝ๋ผ๋ฆฌ ์ธํ, ๋จ์ ํ๋ธ, ๋ผ์ง์ ๊ธํต ๋ฑ)์ ๋ํด์๋ ์ฌ์ฉ ๊ฐ๋ฅํ ์์ธ ์ถ์ ์ ๋ด๋๋๋ค. ๋ฌดํ ์ค์ฒ/๋์นญ ๋ฌผ์ฒด์ ๊ฐํ๋ค๋ ์ ์ด ์๊ฐ ๊ธฐ๋ฐ ์์ธ ์ถ์ ๋๋น ์ฐจ๋ณ์ ์ด๋ค. ์๊ฐ์ผ๋ก๋ ๋์นญ ํ๋ธ์ 6๊ฐ ๋ฉด์ ๊ตฌ๋ถํ ์ ์์ง๋ง, ์๊ฐ๋ฝ์ ์ ์ด ์ํ์ค๋ ๋น๋์นญ์ด๊ธฐ ๋๋ฌธ์ด๋ค.
์ค์ธ๊ณ ์ ์ด
๋ชฉํ ์์ธ์ ๋๋ฌํ๋ ๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ด ๋จ์ถ๋์๊ณ , ๋จ์ผ ์ถ์ผ๋ก ๋๋ฌ ๊ฐ๋ฅํ ๋ชฉํ๋ฟ ์๋๋ผ ๋ ๊ฐ์ ์คํฌ ์ ํ์ด ํ์ํ ๋ชฉํ(์: -90ยฐ z ํ 90ยฐ y)๋ ์ฑ๊ณต์ํจ๋ค. ์์ ๊ฒฐ๊ณผ(dexhier.github.io)์์ ์ฌ๊ณผ, ์๊ธฐ๋ฅ, ํ ๋์ค๊ณต, ์ฝ๋ผ๋ฆฌ, ํ๋ธ ๋ฑ์ ์ฌ๋ฐฐํฅ์ด ํ์ธ๋๋ค.
๋นํ์ ๊ณ ์ฐฐ: ๋ฌด์์ด ๊ฐํ๊ณ ๋ฌด์์ด ์ฝํ๊ฐ
๊ฐ์
(1) ์์คํ ์ ์ฐ์ํจ ๋ณด์์ ๋ ํญ์ผ๋ก ์ค์๋ค. ์ ์์ ๋ง๋ค ์์ผ๋ก ๊น๋ ๋ณด์ ์์ง๋์ด๋ง์ ์์ด๋ค. ์ด๊ฒ ์ค๋ฌด์ ์ ์ฅ์์ ๊ฐ์ฅ ํฐ ๊ฐ์น๋ค. ๋๋ฉ์ธ ๋๋คํ๋ ์ ์์ค ํ์ต ๋จ๊ณ์์ ๋๋ฌ๊ธฐ ๋๋ฌธ์, ์ ๋ชฉํ ์์ธ๋ฅผ ์ถ๊ฐํ ๋ ์์คํ ์๋ณ์ ๋ค์ ํ ํ์๊ฐ ์๋ค.
(2) ์ธ์๊ณผ ํ๋์ ๋ถ๋ฆฌ (๊ทธ๋ฌ๋ ์ ์ ํ ๊ฒฐํฉ) ์์ธ ์ถ์ ๊ธฐ๋ ๋ณ๋๋ก ํ์ต๋์ด ์ ์ฑ ํ์ต๊ณผ ์ ์ฐ๋๋ค. ๊ทธ๋ฌ๋ ์ถ์ ๊ธฐ๊ฐ ์ฌ์ฉํ๋ ์ ํธ(์ ์์ค ์คํฌ์ ๋ด๋ถ ์๋ฒ ๋ฉ)๋ ์ ์ฑ ๊ณผ ๊ณต์ ๋์ด ์๋ค. ์์ ํ ๋ชจ๋ํ๋, ์์ ํ end-to-end๋ ์๋ ์ค๊ฐ ์ง์ ์ ์ ์ฐพ์๋ค.
(3) ์์ฐจ ๋ณด์ ์ ๊น๋ํ ํตํฉ ๊ณ์ธต์ RL์ ์์ํ ์ฝ์ ์ธ โ์ ์์ค ์คํจ ์ ์๊ฐ ๋ฌด๋ ฅํจโ ๋ฌธ์ ๋ฅผ ์์ฐจ ํ๋์ผ๋ก ํด๊ฒฐํ๋ค. ๊ตฌํ ๋น์ฉ์ด ๋ฎ์ผ๋ฉด์ ํจ๊ณผ๋ ํฌ๋ค.
(4) ๋ฌดํ ์ค์ฒ / ๋์นญ ๋ฌผ์ฒด ์ฒ๋ฆฌ ์๊ฐ๋ง์ผ๋ก๋ ์์ธ๋ฅผ ๋ชจํธํ๊ฒ ๋ง๋๋ ๊ฒฝ์ฐ(matte ํ๋ธ, ๊ท ์ง ํ๋ฉด ๊ณต)์๋ ๋์ํ๋ค. ์ฐ์ ์์ฉ ์ธก๋ฉด์์ ์๋ฏธ ์๋ค. ๋ถํ ์ ๋ ฌ, ์กฐ๋ฆฝ ์ ํํ ๋ง์ฃผ์น๋ ์กฐ๊ฑด์ด๊ธฐ ๋๋ฌธ์ด๋ค.
์ฝ์ ๊ณผ ์๋ฌธ
(1) ์ถ ํ๋ณด์ ์ด์ฐํ ํ๋๋๊ฐ ยฑx, ยฑy, ยฑz 6๊ฐ ์ถ ์ค ํ๋๋ฅผ ๊ณ ๋ฅธ๋ค. ์์ ์ถ ํ์ ์ด ํ์ํ ์์ธ(์: ๋๊ฐ์ ์ถ์ผ๋ก 60ยฐ ํ์ )๋ ๋์ธ ๋ฒ์ ์ถ ์ ํ์ผ๋ก ๊ทผ์ฌํด์ผ ํ๋ค. ์ด๋ก ์ ์ผ๋ก๋ ์์ฐจ๊ฐ ๋ณด์ ํ๋ค์ง๋ง, ์์ฐจ์ ํฌ๊ธฐ๊ฐ ์์ผ๋ฉด ์ ๋ฐ๋๊ฐ ๋จ์ด์ง๊ณ , ํฌ๋ฉด ์ ์์ค ์คํฌ์ prior๊ฐ ๊นจ์ง๋ค. ์ฐ์ ์ถ ์ ํ(continuous axis)์ผ๋ก ํ์ฅํ๋ ๊ฒ์ด ์์ฐ์ค๋ฌ์ด ๋ค์ ๋จ๊ณ๋ค.
(2) ์์ธ ์ถ์ ๊ธฐ์ ์๋ฎฌ๋ ์ด์ ์์กด์ฑ ์ถ์ ๊ธฐ๋ ์๋ฎฌ๋ ์ด์ ์์ GT ์์ธ๋ก ํ์ต๋๋ค. sim-to-real์์ ์ถ์ ๊ธฐ ์์ฒด์ drift๊ฐ ๋์ ๋ ์ ์๊ณ , ๋ ผ๋ฌธ์ด ์ ๋์ ์ผ๋ก ์ถ์ ์ค์ฐจ์ ์๊ฐ ๋์ ์ ์ผ๋ง๋ ๊น์ด ๋ถ์ํ๋์ง๋ ์ ํ์ ์ด๋ค. ์๊ฐ๋ฝ์ ๋ง์ฐฐ ๊ณ์๊ฐ ์ค์ธ๊ณ์ ์๋ฎฌ๋ ์ด์ ์์ ๋ค๋ฅด๋ฉด, ์ ์ด ์ค์ฐจ์ ๋ถํฌ๊ฐ ์ด๊ธ๋๊ณ , ์ถ์ ๊ธฐ๊ฐ ์๋ชป๋ ์์ธ๋ฅผ ์์ ์๊ฒ ๋ณด๊ณ ํ๋ ์คํจ ๋ชจ๋๊ฐ ๊ฐ๋ฅํ๋ค.
(3) ์ด๊ฐ ์ผ์์ ๋ถ์ฌ HORA / RotateIt ๊ณ์ด์ ์๋์ ์ผ๋ก ์ด๊ฐ ์ผ์ ์์ด ๊ณ ์ ๊ฐ๊ฐ๋ง ์ด๋ค. ๊น๋ํ์ง๋ง, AnyRotate(Yang et al., CoRL 2024)๋ GelSight ํตํฉ ์ฐ๊ตฌ๋ค์ ๋ช ์์ ์ด๊ฐ์ด ๋ ๊ฐ๊ฑดํ ๊ฒฐ๊ณผ๋ฅผ ๋ธ๋ค. ์ด ๋ ผ๋ฌธ๋ ๋ช ์์ ์ด๊ฐ์ ๋์ ํ๋ฉด ์ถ์ ๊ธฐ์ ์ผ๋ฐํ๊ฐ ๋ ์ข์์ง ์ฌ์ง๊ฐ ์ถฉ๋ถํ๋ค. ๋ค๋ง ๊ทธ๋ฌ๋ฉด ์๋ฎฌ๋ ์ด์ ๋น์ฉ์ด ํญ์ฆํ๋ค(TACTO, Taxim ํตํฉ ํ์).
(4) ์์ ์ผ๋ฐํ์ ๋ฒ์ ์ ์์ค์ด โ์ถ๋ณ ํ์ โ์ผ๋ก ๊ณ ์ ๋์ด ์๋ค๋ ์ ์ด ๊ฐ์ ์ด์ง๋ง ๋์์ ์ ์ฝ์ด๋ค. ๋๊ตฌ ์ฌ์ฉ, ์ฝ์ , ๋์ง๊ธฐ์ฒ๋ผ ํ์ ์ธ์ ๋ค๋ฅธ ์คํฌ์ด ํ์ํ ์์ ์ผ๋ก ์ด๋ป๊ฒ ํ์ฅ๋ ์ง๋ ๋ฏธํด๊ฒฐ์ด๋ค. ์ ์์ค ์คํฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ด๋ป๊ฒ ๊ตฌ์ฑํ๋๋๊ฐ ๋ค์ ๋ผ์ด๋์ ํต์ฌ ์ง๋ฌธ์ด ๋ ๊ฒ์ด๋ค.
(5) ํ๊ฐ์ ํญ ์์์ผ๋ก ๋ณด์ฌ์ค ๊ฒฐ๊ณผ๋ ์ธ์์ ์ด์ง๋ง, ์ ๋์ ์ฑ๊ณต๋ฅ ํต๊ณ๊ฐ ๊ฐ์ฒด ๋ค์์ฑ๊ณผ ๋ชฉํ ์์ธ ๋ค์์ฑ ์ ์ถ์์ ์ถฉ๋ถํ ๋๊ฒ ๋ณด๊ณ ๋์๋์ง๋ ์ถ๊ฐ ๊ฒ์ฆ์ด ํ์ํ๋ค(ํนํ ๋ ๊ฐ ์ด์ ์คํฌ ์ ํ์ด ํ์ํ ์ผ์ด์ค).
๊ด๋ จ ์ฐ๊ตฌ ์ง๋
flowchart LR
HORA["HORA (CoRL '22)<br/>z-axis only<br/>proprioception"] --> RotateIt["RotateIt (CoRL '23)<br/>multi-axis<br/>vision+touch"]
RotateIt --> FSC["From Simple to Complex (2025)<br/>reorientation<br/>hierarchical + pose est."]
VD["Visual Dexterity (Sci.Rob. '23)<br/>D'Claw, full SO(3)<br/>depth only"] -.contrast.-> FSC
AR["AnyRotate (CoRL '24)<br/>4-finger, gravity-invariant<br/>fingertip touch"] -.contrast.-> FSC
OAI["OpenAI Cube/Rubik's<br/>('18, '19)<br/>Shadow Hand, RL"] -.predecessor.-> HORA
FSC --> Future["Open directions:<br/>continuous axis,<br/>tactile fusion,<br/>tool use"]
| ๋ ผ๋ฌธ | ํธ๋ | ์์ | ์ธ์ | ๋ณด์ ๋ณต์ก๋ |
|---|---|---|---|---|
| HORA (2022) | Allegro | z์ถ ์ฐ์ ํ์ | ๊ณ ์ ๊ฐ๊ฐ | ์ค๊ฐ |
| RotateIt (2023) | Allegro | ๋ค์ถ ์ฐ์ ํ์ | ๋น์ +์ด๊ฐ | ์ค๊ฐ |
| Visual Dexterity (2023) | DโClaw | full SO(3) ์ฌ๋ฐฐํฅ | depth | ๋์ (๋คํญ) |
| AnyRotate (2024) | 4-finger | ์์ ์ถ, ์์ ์ ๋ฐฉํฅ | fingertip touch | ์ค๊ฐ |
| ๋ณธ ๋ ผ๋ฌธ (2025) | Allegro | ๋ชฉํ ์์ธ ์ฌ๋ฐฐํฅ | ๊ณ ์ ๊ฐ๊ฐ + ์ถ์ ๊ธฐ | ๋ฎ์ (2ํญ) |
ํต์ฌ ๋น๊ต๋ Visual Dexterity์์ ๋์กฐ๋ค. Visual Dexterity๋ ๋จ์ผ ์ ์ฑ ์ผ๋ก full SO(3) ์ฌ๋ฐฐํฅ์ ๋๋ธ๋ค(end-to-end + ์ ๊ตํ ๋ณด์). ๋ณธ ๋ ผ๋ฌธ์ ๋ณด์์ ๋จ์ํ ๋์ ๊ณ์ธต ๊ตฌ์กฐ๋ฅผ ๋์ ํ๋ค. ๋ ๋ค ๊ฐ์ ๋ชฉ์ ์ง(์์ ์์ธ ์ฌ๋ฐฐํฅ)์ ๋ค๋ฅธ ๊ธธ๋ก ๋๋ฌํ๋ค. ์ด๋ ๊ธธ์ด โ์ณ๋คโ๊ธฐ๋ณด๋ค ์ด๋ ๊ธธ์ด ์ ์์ ์ผ๋ก ํ์ฅ๋ ๋ ์ถ๊ฐ ๋น์ฉ์ด ์ ์๊ฐ์ ์ง๋ฌธ์ด๋ค. ๋ณธ ๋ ผ๋ฌธ ์ชฝ ๋ต์ด โlow-level skill์ ํ ๋ฒ ์ ๋ง๋ค์ด ๋๋ฉด ๊ทธ ๋ค์์ ์ธ๋คโ์ด๊ณ , ์ด ๋ต์ด ์ฐ์ ํ์ฅ์๋ ๋ ๋งค๋ ฅ์ ์ด๋ค.
์ค๋ฌด ๊ด์ ์์ ๊ฐ์ ธ๊ฐ ๋งํ ํต์ฐฐ
Allegro Hand ๊ธฐ๋ฐ ์ฐ๊ตฌ๋ฅผ ํ๋ ์ ์ฅ์์ ์ด ๋ ผ๋ฌธ์ ์์ฌ์ ์ ์ ๋ฆฌํ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
- ์ ์์ค ์คํฌ์ ๋ค์ ๋ง๋ค์ง ๋ง๊ณ ์ฌ์ฌ์ฉํ๋ค. ์ด๋ฏธ ํ์ต๋ RotateIt ์ ์ฑ ์ freezeํด์ ์ ์์ ์ prior๋ก ์ฐ๋ ์ ๊ทผ์ ๋น์ฉ ๋๋น ํจ๊ณผ๊ฐ ๋งค์ฐ ํฌ๋ค. ํนํ ์์ฒด ํ์ต ์ธํ๋ผ ๋น์ฉ์ด ํฐ ์ํฉ์์ ๊ฒฐ์ ์ ์ด๋ค.
- ๋ณด์ ๋ณต์ก๋์ sim-to-real ๋น์ฉ์ ๋น๋กํ๋ค. ๋ณด์ ํญ์ ๋๋ฆด์๋ก ์๋ฎฌ๋ ์ด์ ํ๋ ์ฌ์ดํด์ด ๊ธธ์ด์ง๊ณ ์ค์ธ๊ณ ์ ์ด๋ ์ด๋ ค์์ง๋ค. ๊ณ์ธต ๊ตฌ์กฐ๋ ๋ณด์ ๋จ์ํ์ ๋๊ตฌ๋ค.
- ์์ธ ์ถ์ ์์ ๊ณ ์ ๊ฐ๊ฐ + ์ ์ด ์ค์ฐจ ์ ํธ์ ์๋ ฅ. ์นด๋ฉ๋ผ๊ฐ ๊ฐ๋ ค์ง๋ ์์ ์์ ์์, ๋ช ๋ น-์ค์ ๊ฐญ ์๊ณ์ด์ ๊ฑฐ์ ๊ณต์ง๋ก ์ป๋ ๊ฐ๋ ฅํ ์ ํธ๋ค. ๋ช ์์ ์ด๊ฐ ์ผ์ ๋์ ์ ์ ์ด ์ ํธ๋ฅผ ๋จผ์ ๋๊น์ง ์ง๋ด๋ ๊ฒ์ด ํฉ๋ฆฌ์ ์ด๋ค.
- ์์ฐจ ํ๋์ hierarchical RL์ ๋จ์ ์ ๋ฉ์ฐ๋ ๋ณดํธ์ ์ฒ๋ฐฉ. ๋๋ฉ์ธ์ ์ฎ๊ฒจ๋ ๊ฑฐ์ ๊ทธ๋๋ก ์ธ ์ ์๋ค. locomotion, manipulation ์ด๋ ์ชฝ์ด๋ .
- ๋ฌดํ ์ค์ฒ/๋์นญ ๋ฌผ์ฒด์ ๊ฐํ๋ค๋ ์ ์ ์ฐ์ ์ ์ผ๋ก ์ค์ํ๋ค. ์ค์ ๋ถํ ์ ๋ ฌ, ์กฐ๋ฆฝ ์์ ์ ๊ฐ์ฒด๋ ํ ์ค์ฒ๊ฐ ๊ฑฐ์ ์๊ณ ๋์นญ์ฑ์ด ๋๋ค. ์๊ฐ only ์ ๊ทผ์ ์ฝ์ ์ด ๋ช ํํ ๋ ธ์ถ๋๋ ์ง์ ์ด๋ฉฐ, ์ฌ๊ธฐ๊ฐ ๋ณธ ๋ ผ๋ฌธ์ด ์ฐจ๋ณํ๋๋ ์์ญ์ด๋ค.
๋ง๋ฌด๋ฆฌ
์ด ๋ ผ๋ฌธ์ด ๋ณด์ฌ์ฃผ๋ ๊ฑด ์๋ก์ด ์๊ณ ๋ฆฌ์ฆ์ด๋ผ๊ธฐ๋ณด๋ค ์๋ก์ด ์์ ๋ถํด ๋ฐฉ์์ด๋ค. ํ์ ์ ์ฑ ์ ๋ค์ ํ์ตํ์ง ์๋๋ค. ๋ณด์์ ์ ๊ตํ๊ฒ ๊น์ง ์๋๋ค. ์ด๊ฐ ์ผ์๋ฅผ ์ถ๊ฐํ์ง ์๋๋ค. ๋์ ์ด๋ฏธ ๊ฐ์ง ๊ฒ์ ์๋ฆฌํ๊ฒ ์ฌ๋ฐฐ์นํ๋ค. ๊ณ์ธต, ์์ฐจ, ์์ธ ์ถ์ ๊ธฐ, ์ด ์ธ ๊ฐ์ง ๋ถํ์ ์กฐํฉ์ด ๊ทธ ๊ฒฐ๊ณผ๋ค.
๊ฐ์ฅ ์ธ์์ ์ธ ๋ถ๋ถ์ ์์ธ ์ถ์ ๊ธฐ๋ค. ์นด๋ฉ๋ผ ์์ด, ์ด๊ฐ ์ผ์ ์์ด, ๋จ์ง ์๊ฐ๋ฝ ๊ด์ ์ ๋ช ๋ น๊ณผ ์ค์ ์ ์ฐจ์ด๋ง์ผ๋ก ์์ ๋ฌผ์ฒด์ ์์ธ๋ฅผ ์ถ์ ํ๋ค๋ ๋ฐ์์ ์ง๊ด์ ์ด๋ฉด์ ๊ฐ๋ ฅํ๋ค. ๋ก๋ด์ด ์๊ธฐ ๋ชธ์ ํ๊ณ(์ค์ฐจ)๋ฅผ ์ธ๋ถ ์ธ๊ณ์ ์ ๋ณด๋ก ๋ณํํ๋ค๋ ์ ์์, ์ด ์ถ์ ๊ธฐ๋ ๋จ์ํ ์์ง๋์ด๋ง์ด ์๋๋ผ ์์ ์ธ์๋ก ์ ์์ด๋์ด๋ฅผ ๋ด๊ณ ์๋ค.
๋ค์ ๋จ๊ณ๋ ๋ช ํํ๋ค. ์ฐ์ ์ถ ์ ํ, ๋ ๋ค์ํ ์ ์์ค ์คํฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ(์ฅ๊ธฐ, ์ฌ๋ผ์ด๋ฉ, ๋์ง๊ธฐ), ๋ช ์์ ์ด๊ฐ ํตํฉ. ๊ทธ๋ฆฌ๊ณ ๊ฐ์ฅ ์ค์ํ๊ฒ๋, โํ์ โ ๋๋จธ์ ์์ ์ผ๋ก ๊ฐ์ ๋ถํด ํจํด์ด ํ์ฅ๋๋์ง๋ฅผ ๋ณด์ด๋ ์ผ์ด๋ค. ๊ทธ๊ฒ ๊ฐ๋ฅํ๋ค๋ฉด, dexterous manipulation์์ ์ ์์ ์ sim-to-real ๋น์ฉ์ด ํ ์๋ฆฟ์๋ก ๋จ์ด์ง๋ ์๋๊ฐ ์ค๊ณ ์๋ ์ ์ด๋ค.