flowchart TD
subgraph RL["๊ฐํํ์ต ์ ์ฑ
(RL Policy)"]
OBS["๊ด์ธก (State Observation)"] --> POLICY["์ ๊ฒฝ๋ง ์ ์ฑ
ฯ(s)"]
POLICY --> ACTION["ํ๋ ์ถ๋ ฅ (Force Space)"]
end
subgraph FABRIC["Geometric Fabric Layer"]
GEOM["๊ธฐํํ์ ํญ e_h"] --> FABRIC_ACC["Fabric ๊ฐ์๋ qฬ_f"]
ENERGY["์๋์งํ ฮฑ_L"] --> FABRIC_ACC
POT["ํฌํ
์
/๊ฐ์ โฯ, B"] --> FABRIC_ACC
DAMP["๊ธฐํํ์ ๊ฐ์ ฮฒ"] --> FABRIC_ACC
ACTION --> |"์ ์ฑ
forcing"| FABRIC_ACC
end
subgraph ROBOT["์ค์ ๋ก๋ด (Allegro Hand)"]
FABRIC_ACC --> |"์ญ๋์ญํ + PD ๋ณด์"| TORQUE["๊ด์ ํ ํฌ ฯ"]
TORQUE --> HAND["16-DOF Allegro Hand"]
HAND --> |"์ํ ํผ๋๋ฐฑ"| OBS
end
style RL fill:#e8f4f8,stroke:#2196F3
style FABRIC fill:#fff3e0,stroke:#FF9800
style ROBOT fill:#e8f5e9,stroke:#4CAF50
๐Geometric Fabrics ๋ฆฌ๋ทฐ
๐ Ping. ๐ Ring. โ๏ธ Dig. A tiered review series: quick look, key ideas, deep dive.
- Paper Link
- Project: Related with Dextreme
- Code
- ๐ค ์ด ์ฐ๊ตฌ๋ Reinforcement Learning(RL) ์ ์ฑ ์ด ๋ณต์กํ ๋ก๋ด ์ญํ์ ์ง์ ์์ฉํ ๋ ๋ฐ์ํ๋ ์ ์ด ๋ฐ ์์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด โGeometric Fabricsโ๋ฅผ ์์ ํ ์๋ด ๋งค๊ฐ์ฒด๋ก ์ ์ํฉ๋๋ค.
- ๐ ๏ธ ์ ์๋ ํ๋ ์์ํฌ๋ ๋ก๋ด์ ์ค์ ์ญํ์ ์ธ๊ณต์ ์ธ 2์ฐจ ์ญํ(โbehavioral dynamicsโ)๊ณผ ๊ฒฐํฉํ์ฌ, ๋ณด์ ์์ง๋์ด๋ง์ ๋จ์ํํ๊ณ ๋์ฑ ๋ถ๋๋ฝ๊ณ ์์ ํ ํ๋์ ๊ฐ๋ฅํ๊ฒ ํ๋ ์๋ก์ด ์ก์ ๊ณต๊ฐ์ ์ ๊ณตํฉ๋๋ค.
- ๐ ๊ณ ์ฑ๋ฅ in-hand cube reorientation ์์ ์ ์ ์ฉ๋ Fabric-Guided Policy(FGP)๋ ๊ธฐ์กด ์ต์ฒจ๋จ DeXtreme ๋ชจ๋ธ๋ณด๋ค ๋์ ์ฑ๋ฅ(CS ๋ฐ RPM)๊ณผ ํ์ ํ ๋ฎ์ ์ก์ ๋ ธ์ด์ฆ๋ฅผ ๋ฌ์ฑํ์ฌ sim2real ์ ์ด์ ํจ๊ณผ๋ฅผ ์ ์ฆํ์ต๋๋ค.

๐ Ping Review
๐ Ping โ A light tap on the surface. Get the gist in seconds.
๋ณธ ๋ ผ๋ฌธ์ ๋ก๋ด ์ ์ฑ (policy)์ด ๋ณต์กํ 2์ฐจ ์ญํ(second order dynamics)์ ์ข ์๋์ด ํ๋(action)์ด ๊ฒฐ๊ณผ ์ํ์ ์ฝํ๋ ๋ฌธ์ ๋ฅผ ๋ค๋ฃน๋๋ค. ํนํ Reinforcement Learning (RL) ํ๊ฒฝ์์ ์ ์ฑ ์ ๋ฐฉ๋ํ ๊ฒฝํ๊ณผ ๋ณต์กํ ๋ณด์ ํจ์๋ฅผ ํตํด ์ด๋ฌํ ๋ณต์กํ ์ํธ์์ฉ์ ํด๋ ํ์ฌ ์์ ์ ์ํํด์ผ ํฉ๋๋ค. ๊ธฐ์กด์ Operational Space Control (OSC) ๋๋ joint PD control๊ณผ ๊ฐ์ ์ ์ด๊ธฐ๋ ์ฃผ๋ก ํ์คํฌ(task) ๋๋ ์กฐ์ธํธ ๊ณต๊ฐ(joint space)์์ ์ง์ ์ด๋(straight-line motion)์ ์ ๋ํ์ง๋ง, ๋ก๋ด์ด ๋ณด์ฌ์ผ ํ ํ๋ถํ๊ณ ๋น์ ํ์ ์ธ ๋์์ ์ ๋๋ก ํฌ์ฐฉํ์ง ๋ชปํ์ต๋๋ค. ๋ํ, RL ์ ์ฑ ์ ์ข ์ข bang-bang actions๋ฅผ ์ ๋ฐํ์ฌ ๋ก๋ด ํ๋์จ์ด์ ์์์ ์ค ์ ์์ต๋๋ค.
๋ณธ ์ฐ๊ตฌ๋ ์ด๋ฌํ ํ๊ณ๋ฅผ ๊ทน๋ณตํ๊ธฐ ์ํด โGeometric Fabricsโ๋ผ๋ ์๋ก์ด ์ ์ด ํ๋ ์์ํฌ๋ฅผ ์ ์ํฉ๋๋ค. ์ด๋ ์ธ๊ณต์ ์ธ 2์ฐจ ๋์ญํ(artificial second order dynamics)์ ํตํด ๋ก๋ด์ โuncontrolled dynamicsโ๋ฅผ ๋ณํ์์ผ โbehavioral dynamicsโ๋ฅผ ํ์ฑํฉ๋๋ค. ์ด โbehavioral dynamicsโ๋ RL ์ ์ฑ ์ ํ๋ จ์ํค๊ธฐ ์ํ ์๋กญ๊ณ ์์ ํ ์ ๋์ ํ๋ ๊ณต๊ฐ(action space)์ ์ ๊ณตํฉ๋๋ค. ์ด๋ RL ์ ์ฑ ์ bang-bang-like action๋ ์ค์ ๋ก๋ด์ ๋ํด ์์ ํ๊ฒ ๋ง๋ค๊ณ , ๋ณด์ ์ค๊ณ(reward engineering)๋ฅผ ๋จ์ํํ๋ฉฐ, ๊ณ ์ฑ๋ฅ ์ ์ฑ ์ ์์ฐจ์ ์ผ๋ก ๊ตฌ์ฑํ๋ ๋ฐ ๊ธฐ์ฌํฉ๋๋ค.
ํต์ฌ ๋ฐฉ๋ฒ๋ก : Behavioral Dynamics๋ฅผ ์ํ Geometric Fabrics
์ ์ํ๋ ํ๋ ์์ํฌ๋ ๋ก๋ด์ ์ค์ 2์ฐจ ๋์ญํ์ ์ธ๊ณต์ ์ธ 2์ฐจ ๋์ญํ ์์คํ ์ ํตํด ์ฌ๊ตฌ์ฑํฉ๋๋ค. ์ด ์ธ๊ณต ๋์ญํ์ [20]์์ ์ ์๋ Geometric Fabrics์ ์์ ์ ์ธ ์๋ธํด๋์ค๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค.
- Geometric Fabric์ ๊ธฐ๋ณธ ๋์ญํ: Fabric์ ๋์ญํ์ ๋ค์ ๋ฐฉ์ ์์ผ๋ก ํํ๋ฉ๋๋ค: \ddot{q}_f = e_h(q_f, \dot{q}_f) + \alpha_L L(q_f, \dot{q}_f) \dot{q}_f - M_f^{-1}(q_f, \dot{q}_f) \partial \psi (q_f) + B(q_f, \dot{q}_f) \dot{q}_f - \beta(q_f, \dot{q}_f) \dot{q}_f \quad (1) ์ฌ๊ธฐ์ q_f, \dot{q}_f, \ddot{q}_f \in \mathbb{R}^n๋ ๊ฐ๊ฐ fabric์ ์์น, ์๋, ๊ฐ์๋๋ฅผ ๋ํ๋
๋๋ค.
- M_f \in \mathbb{R}^{n \times n}๋ ์์ ์ ๋ถํธ(positive-definite) system metric (์ง๋)์ ๋๋ค.
- e_h \in \mathbb{R}^n๋ ์๋(velocity)์ ๋ํด 2์ฐจ ๋์ฐจ(homogeneous of degree 2, HD2)์ธ fabric ํญ์ผ๋ก, ๊ณต๊ฐ์ ํตํ ๊ธฐํํ์ ๊ฒฝ๋ก(geometric paths)๋ฅผ ์์ฑํฉ๋๋ค.
- \alpha_L \in \mathbb{R}์ energization coefficient๋ก, fabric์ด ํน์ ์๋์ง L์ ์ ์งํ๋๋ก ํฉ๋๋ค.
- \partial \psi \in \mathbb{R}^n๋ ํฌํ ์ ํจ์(potential function)์ ๊ธฐ์ธ๊ธฐ์ด๊ณ , B \in \mathbb{R}^{n \times n}๋ ์์ ๋ฐ์ ๋ถํธ(positive semi-definite) damping matrix์ด๋ฉฐ, ์ด๋ค์ ์์คํ ๊ฐ์๋๋ฅผ ์ถ๊ฐ์ ์ผ๋ก ๊ต๋ํ์ฌ ์ ์ฝ ์กฐ๊ฑด(constraints)์ ๋ถ๊ณผํ๋ ๋ฐ ์ฌ์ฉ๋ ์ ์์ต๋๋ค.
- \beta \in \mathbb{R}^+๋ fabric์ ๊ธฐํํ์ ๊ตฌ์กฐ๋ฅผ ๋ณด์กดํ๊ณ ์์คํ ์ ์์ ํํ๋ ์ถ๊ฐ damping scalar์ ๋๋ค.
- Behavioral Dynamics: ์ (1)์ fabric ๋์ญํ์ ๋ค์๊ณผ ๊ฐ์ด ๊ฐ๊ฒฐํ๊ฒ ๋ค์ ์ธ ์ ์์ต๋๋ค: M_f (q_f, \dot{q}_f) \ddot{q}_f + f_f (q_f, \dot{q}_f) = 0 \quad (2) ์ฌ๊ธฐ์ f_f \in \mathbb{R}^n๋ ์ธ๊ณต์ ์ธ ํ(artificial force)์ ๋๋ค. ์ด fabric ๋์ญํ์ ๋ก๋ด์ ์ค์ ๋์ญํ์ ๋ค์๊ณผ ๊ฐ์ด ์ฐ๊ฒฐ๋ฉ๋๋ค: M(q)\ddot{q} + f(q, \dot{q}) = \tau(q, \dot{q}, q_f, \dot{q}_f, \ddot{q}_f) \quad (3) ์ฌ๊ธฐ์ q, \dot{q}, \ddot{q} \in \mathbb{R}^n๋ ์ค์ ๋ก๋ด์ ์์น, ์๋, ๊ฐ์๋์ด๋ฉฐ, M \in \mathbb{R}^{n \times n}๊ณผ f \in \mathbb{R}^n๋ ์ค์ ๋ก๋ด์ ์ง๋ ๋ฐ ํ(์ ์ด, ์์ฌ๋ ฅ/์ฝ๋ฆฌ์ฌ๋ฆฌ, ๋ง์ฐฐ, ์ค๋ ฅ ํฌํจ)์ ๋๋ค. \tau๋ torque control law๋ก, ์ธ๊ณต ๋์ญํ๊ณผ ์ค์ ๋์ญํ์ ์ฐ๊ฒฐํฉ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก torque control law๋ joint-level proportional-derivative (PD) controller์ inverse dynamics compensation์ ํฌํจํ๋ฉฐ, ์ด๋ ||q_f - q|| \le \epsilon_1 ๋ฐ || \dot{q}_f - \dot{q}|| \le \epsilon_2๋ฅผ ๋ณด์ฅํ์ฌ ๋ก๋ด์ด fabric์ ์์ง์์ ์ถ์ ํ๋๋ก ํฉ๋๋ค. ์ด๋ impedance control ๋ฐ admittance control ๊ฐ๋ ๊ณผ ์ ์ฌํ๊ฒ, fabric ์ํ์ ์ค์ ์ํ์ ๋ถ๋ฆฌ(separation)๋ฅผ ํตํด ์ ์ด๋ ฅ(contact forces)์ ์ ๋ํ๊ณ ์ ์ดํ ์ ์๊ฒ ํฉ๋๋ค.
- RL ์ ์ฑ ์ ์์ฉ ๊ณต๊ฐ: RL ์ ์ฑ \pi(\cdot)์ fabric์ driving force๋ฅผ ๊ฐํ์ฌ action a๋ฅผ ์์ฑํฉ๋๋ค: M_f (q_f, \dot{q}_f) \ddot{q}_f + f_f (q_f, \dot{q}_f) + f_\pi(a) = 0 \quad (4) ์ฌ๊ธฐ์ f_\pi(a)๋ fabric์ ์์ฉํ๋ driving force๋ก ํด์๋ฉ๋๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก fabric ์ํ(q_f, \dot{q}_f)์ ์๊ฐ ๋ณํ๋ fabric ์์ฒด์ ์ ์ฑ ์ด ์์ฑํ๋ ์ ์ด๋ ฅ์ ํจ์๊ฐ ๋ฉ๋๋ค. RL ์ ์ฑ ์ ์ด driving force๋ฅผ ํตํด fabric์ ํ๋์ ์ ๋ํ๋ฉฐ, ์ด๋ ๋ค์ ์ค์ ๋ก๋ด์ ํ๋์ผ๋ก ๋ณํ๋ฉ๋๋ค.
- ๊ฐ์๋ ๋ฐ ์ ํฌ(Jerk) ์ฒ๋ฆฌ:
๋ก๋ด ์ ์ด๊ธฐ๋ ์ผ๋ฐ์ ์ผ๋ก ์ก์ถ์์ดํฐ ๋ณดํธ๋ฅผ ์ํด q_f์ ์ถฉ๋ถํ ๋ถ๋๋ฌ์(smoothness)์ ์๊ตฌํ๋ฉฐ, ์ด๋ ๊ฐ์๋(acceleration) ๋ฐ ์ ํฌ(jerk) ์ ์ฝ์ผ๋ก ์ด์ด์ง๋๋ค. ๋ณธ ํ๋ ์์ํฌ๋ ๋ค์ quadratic program์ ํตํด ์ด๋ฅผ ์ฒ๋ฆฌํฉ๋๋ค: L = \frac{1}{2} (\ddot{q}_f - \ddot{q})^T M_f (\ddot{q}_f - \ddot{q}) + \alpha_2 \ddot{q}_f^T M_f \ddot{q}_f \quad (5) ์ฌ๊ธฐ์ \alpha \in \mathbb{R}^+๋ M_f๋ฅผ ๊ณ ๋ คํ์ฌ ||\ddot{q}|| \to 0์ ํจ๊ณผ์ ์ผ๋ก ์ ๊ทํํฉ๋๋ค. ํ์ํ ํด(closed-form solution)๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค: (M_f + \alpha I)\ddot{q}_f + f_f = 0 \quad (6) \ddot{q}_f์ ๋ํด ํ๋ฉด \ddot{q}_f = -(M_f + \alpha I)^{-1} f_f๊ฐ ๋๋ฉฐ, \alpha \to \infty์ผ ๋ ||\ddot{q}_f|| \to 0์ด๋ฏ๋ก, ๊ฐ์๋๋ฅผ ์์๋ก ์๊ฒ ๋ง๋ค ์ ์์ต๋๋ค. ์ด๋ ๊ฐ ์กฐ์ธํธ์ ๊ฐ์๋ ํ๊ณ | \ddot{q}_{f,i} | \le \ddot{q}_i๋ฅผ ๋ง์กฑํ๋๋ก ๋จ์ผ \alpha๋ฅผ ์ฐพ์ ์ ์์์ ์๋ฏธํฉ๋๋ค.
์ ํฌ ํ๊ณ(jerk limits)๋ฅผ ์์ฉํ๊ธฐ ์ํด ๋ค์๊ณผ ๊ฐ์ ์๊ฐ ์ด์ฐํ๋ ์ ํฌ ๋ชจ๋ธ์ ์ฌ์ฉํฉ๋๋ค: \dddot{q}_f^t = \frac{\ddot{q}_f^{t+1} - \ddot{q}_f^t}{\Delta t} \quad (7) ๊ฐ์ฅ ํฐ ์ ํฌ๋ ๋ค์ ๊ฐ์๋๊ฐ ์ต๋์ด๊ณ ์ด์ ๊ฐ์๋๊ฐ ์ต์์ผ ๋ ๋ฐ์ํ๋ฉฐ: \dddot{q}_f^t = \frac{2\ddot{q}}{\Delta t} \quad (8) ๋ฐ๋ผ์, ์ ํฌ๊ฐ ํน์ ํ๊ณ \dddot{q}๋ฅผ ์ด๊ณผํ์ง ์์์ผ ํ๋ค๋ฉด: \frac{2\ddot{q}}{\Delta t} \le \dddot{q} \quad (9) ์ด๋ก๋ถํฐ ์๋์ ๊ฐ์๋ ํ๊ณ์ ์ ํฌ ํ๊ณ๋ฅผ ๋ชจ๋ ์กด์คํ๋ ๋จ์ผ ๊ฐ์๋ ํ๊ณ \ddot{q}๋ฅผ ๊ณ์ฐํ ์ ์์ต๋๋ค: \ddot{q} = \min \left( \ddot{q}_{\text{original}}, \frac{\Delta t \dddot{q}}{2\ddot{q}_{\text{target}}} \right) \quad (10) ์ด ์๋ก์ด \ddot{q}๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ์๋์ ์ ํฌ ์ ์ฝ์ด ์ ์ง๋๋๋ก ํ๋ ๊ธฐ์กด์ ๋ฐฉ์์ ์คํํฉ๋๋ค.
๋ค์ง ๋ก๋ด ์์ ํ๋ธ ์ฌ๋ฐฐ์น(Reorientation) ์ ์ฉ
์ ์ํ๋ ํ๋ ์์ํฌ๋ 16๊ฐ์ ์ก์ถ์์ดํฐ๋ฅผ ๊ฐ์ง 4์ง Allegro Hand v4๋ฅผ ์ฌ์ฉํ์ฌ in-hand cube reorientation ๋ฌธ์ ์ ์ ์ฉ๋์์ต๋๋ค.
- Fabric ์ค๊ณ:
- Attraction: ํ๋ธ์ ์๊ฐ๋ฝ ๋(fingertip) ์ ์ด์ ์ ๋ํ๊ธฐ ์ํด fingertip ๊ณต๊ฐ์, ๊ทธ๋ฆฌ๊ณ ํ๋ธ๋ฅผ ๊ฐ์ธ๋ ์๊ฐ๋ฝ ๋ง๋ฆผ์ ์ ๋ํ๊ธฐ ์ํด configuration ๊ณต๊ฐ์ geometric attractor๋ฅผ ๊ตฌ์ฑํฉ๋๋ค.
- Repulsion: ๋ก๋ด ์์ ์กฐ์ธํธ ํ๊ณ(joint limits)๋ฅผ ์ค์ํ๊ธฐ ์ํด ์์ ๋ฐ ํ์ ์กฐ์ธํธ ํ๊ณ ํ์คํฌ ๊ณต๊ฐ์ ๋ฐ๋ฐ๋ ฅ(repulsion forcing) ํญ์ ๋์ ํฉ๋๋ค. ์ด๋ ๋ฐฐ๋ฆฌ์ด ๋ฉํธ๋ฆญ(barrier metric)์ ํตํด ๊ตฌํ๋ฉ๋๋ค.
- Energization: fabric ์์ฒด์ ์๋์ง ์์ ์ฑ์ ๋ณด์ฅํ๊ธฐ ์ํด energization coefficient \alpha_L์ ๊ณ์ฐํฉ๋๋ค.
- Geometrically-Consistent Damping: ์ต์ข damping ํญ \beta๋ ํ๋ จ ์ค์๋ ํ์(exploration)์ ์ฉ์ดํ๊ฒ ํ๊ธฐ ์ํด ์์ ์์๋ก ์ค์ ๋๊ณ , ๋ฐฐํฌ ์์๋ sim2real ์ ํ์ ๊ฐํํ๊ธฐ ์ํด ๋ค์ํ ์์ค์ผ๋ก ํ ์คํธ๋ฉ๋๋ค.
- Action Space: RL ์ ์ฑ ์ action์ concatenation๋ fingertip ๊ณต๊ฐ์์ ํ์ผ๋ก ๋ณํ๋ฉ๋๋ค (a \in \mathbb{R}^{12}). ์ด ํ์ f_\pi(a) = \gamma J^T(q_f) \text{clamp}(a, -1, 1) ํํ๋ก fabric์ ์ ๋ฌ๋ฉ๋๋ค.
- Reinforcement Learning ์ค์ : ๊ธฐ์กด DeXtreme [8]๊ณผ ๋์ผํ ๋ณด์ ํญ๊ณผ ๊ฐ์ค์น๋ฅผ ์ฌ์ฉํ์ง๋ง, fabric layer๊ฐ ๋ถ๋๋ฝ๊ณ ์์ ํ ์์ง์์ ๋ณด์ฅํ๋ฏ๋ก action, action delta, joint velocity ํ๋ํฐ๋ฅผ ์์ ํ ์ ๊ฑฐํ์ฌ ๋ณด์ ์ค๊ณ๋ฅผ ๋จ์ํํฉ๋๋ค. RL ํ๋ จ์๋ PPO๊ฐ ์ฌ์ฉ๋์์ผ๋ฉฐ, Automatic Domain Randomization (ADR)๋ ์ ์ฉ๋์์ต๋๋ค. ํ๋ จ ์ค ํ๋ธ์ ๋ํ ์์ ํ wrench disturbance๋ฅผ ์ ์ฉํ์ฌ sim2real ๊ฒฉ์ฐจ๋ฅผ ์ค์ด๊ณ ์ ์ฑ ์ด prehensile-lock์ ๋ ์์ฃผ ํ๋ฆฝํ๋๋ก ์ ๋ํ์ต๋๋ค.
์คํ ๊ฒฐ๊ณผ ๋ฐ ๋ถ์
FGP (Fabric-Guided Policy)์ DeXtreme ์ ์ฑ ์ ๋น๊ตํ ๊ฒฐ๊ณผ, FGP๋ DeXtreme ์ ์ฑ ๋ณด๋ค ํ๋ จ ์๋๋ ๋๋ ธ์ผ๋ (๋ ๋ถ๋๋ฌ์ด ์ ์ฑ ํ์ต์ด ์ด๋ ค์), ์ต์ข entropy ์์ค์ ๋ ๋ฎ์์ต๋๋ค.
์ค์ ํ๊ฒฝ ์ฑ๋ฅ ์งํ์ธ consecutive success (CS)์ rotations per minute (RPM)๋ฅผ ํตํด ํ๊ฐ๋์์ต๋๋ค.
- CS ์ฑ๋ฅ: FGP๋ \beta=40์ผ ๋ ํ๊ท 94.1์ CS๋ฅผ ๊ธฐ๋กํ๋ฉฐ ์ด์ DeXtreme ๋ชจ๋ธ ๋๋น 3๋ฐฐ ์ด์์ ์ฑ๋ฅ ํฅ์์ ๋ณด์์ต๋๋ค. DeXtreme (new)์ ๋ช๋ช ๋งค์ฐ ๋์ ๋ฐ์ผ๋ก ํ๊ท CS๋ ๋์์ง๋ง(244.6), ์ค์๊ฐ(median)์ FGP๊ฐ ๋ ๋์์ต๋๋ค (85.5 vs 70).
- RPM ์ฑ๋ฅ: FGP๋ ๋ชจ๋ DeXtreme ์ ์ฑ ๋ณด๋ค RPM ์ฑ๋ฅ์ด ํ์ ํ ์ฐ์ํ์ต๋๋ค. \beta ๊ฐ์ด ๋์์ง์๋ก FGP์ RPM์ด ๋์ฑ ์ ๋ฐํด์ง๋ ๊ฒฝํฅ์ ๋ณด์์ต๋๋ค.
- Action Noise Rejection: FGP๋ 5 Hz ์ด์์์ ์คํํธ๋ผ ์งํญ(spectral amplitudes)์ด ๊ฑฐ์ 0์ ๊ฐ๊น์ action noise๊ฐ ํ์ ํ ์ ์์ต๋๋ค. ์ด๋ DeXtreme ์ ์ฑ ์ด ์๋นํ low-pass filtering์๋ ๋ถ๊ตฌํ๊ณ 5 Hz ์ด์์ ๋ ธ์ด์ฆ๋ฅผ ํฌํจํ๋ ๊ฒ๊ณผ ๋์กฐ์ ์ ๋๋ค. ์ด๋ FGP๊ฐ ํ๋์จ์ด ๋ง๋ชจ๋ฅผ ์ค์ด๊ณ ๋ก๋ด์ ์๋ช ์ ์ฐ์ฅํ๋ ๋ฐ ์ค์ํ ์ด์ ์ ๊ฐ์ง์ ์์ฌํฉ๋๋ค.
๊ฒฐ๋ก
๋ณธ ์ฐ๊ตฌ๋ RL ์ ์ฑ , ์ธ๊ณต ๋์ญํ ์์คํ (geometric fabrics), ๊ทธ๋ฆฌ๊ณ ์ค์ ์์คํ ๋์ญํ์ ๊ณ๋จ์์ผ๋ก ์ฐ๊ฒฐํ๋ ์๋ก์ด ํจ๋ฌ๋ค์์ ์ ์ํฉ๋๋ค. ํนํ, ๊ณ ์ฑ๋ฅ geometric fabrics๋ฅผ ํ์ฉํ์ฌ dexterous, high DoA ๋ก๋ด ์์ cube reorientation ์์ ์์ state-of-the-art ์ฑ๋ฅ์ ๋ฌ์ฑํ์ต๋๋ค. Fabric layer๋ ๋ณด์ ์ค๊ณ๋ฅผ ๋จ์ํํ๊ณ , ๋ณธ์ง์ ์ธ ์์ ์ฑ์ ์ ๊ณตํ๋ฉฐ, action noise๋ฅผ ํฌ๊ฒ ์ค์ฌ ํ๋์จ์ด์ ์๋ช ์ ์ฐ์ฅํ๋ ๋ฑ RL ์ ์ฑ ์ ์๋นํ ์ด์ ์ ์ ๊ณตํฉ๋๋ค. FGP๋ RL ํ๋ จ ์๋๊ฐ ๋๋ ค์ง ์ ์์ง๋ง, ์ด๋ ๋ ๋ถ๋๋ฌ์ด ์ ์ฑ ์ด ๊ฐ์ง๋ ์ผ๋ฐ์ ์ธ ํน์ฑ์ผ๋ก ๋ถ์๋ฉ๋๋ค.
ํฅํ ์ฐ๊ตฌ๋ ์ด ์ ๊ทผ ๋ฐฉ์์ ๋ค์ํ ๋ก๋ด ํ๋ซํผ, ๋ค์ํ ์์ , ๊ทธ๋ฆฌ๊ณ ๋ค์ํ fabric ์ค๊ณ์ ์ ์ฉํ๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค. ๋ํ, ์ ์ฑ ์ฑ๋ฅ์ ๊ทน๋ํํ๊ธฐ ์ํ ๋ค๋ฅธ ์ต์ ํ ๋ฐ ๊ณํ ๋ฐฉ๋ฒ๋ ๊ณ ๋ ค๋ ๊ฒ์ ๋๋ค.
๐ Ring Review
๐ Ring โ An idea that echoes. Grasp the core and its value.
๋ก๋ด ํ์๊ฒ โ์ ์ปต์ ์ก์โ๋ผ๊ณ ๋ช ๋ นํ๋ค๊ณ ์๊ฐํด๋ณด์. ๊ฐ์ฅ ๋จ์ํ ์ ๊ทผ์ ํ์ฌ ์์น์์ ๋ชฉํ๊น์ง ์ง์ (straightline)์ผ๋ก ์ด๋ํ๋ ๊ฒ์ด๋ค. Joint PD ์ ์ด๋ Operational Space Control(OSC)์ด๋ , ๋๋ถ๋ถ์ ์ ํต์ ์ปจํธ๋กค๋ฌ๋ ๋ณธ์ง์ ์ผ๋ก ์ด๋ฐ ์ง์ ์ด๋์ ์์ฑํ๋ค. ๋ฌธ์ ๋ ํ์ค ์ธ๊ณ๊ฐ ์ง์ ์ผ๋ก ํด๊ฒฐ๋์ง ์๋๋ค๋ ๊ฒ์ด๋ค. ์ฅ์ ๋ฌผ์ ํผํด์ผ ํ๊ณ , ๊ด์ ํ๊ณ๋ฅผ ์กด์คํด์ผ ํ๋ฉฐ, ์๊ฐ๋ฝ ๋์ด ๋ฌผ์ฒด ํ๋ฉด์ ๋ฐ๋ผ ๋ฏธ๋๋ฌ์ง๋ฏ ์์ง์ฌ์ผ ํ๋ค. ์ด ๋ชจ๋ ๋น์ ํ(nonlinear) ํ๋์ ๋ถ๋ด์ด ๊ณ ์ค๋ํ ๊ฐํํ์ต(RL) ์์ด์ ํธ์๊ฒ ์ ๊ฐ๋๋ค.
Karl Van Wyk, Ankur Handa, Viktor Makoviychuk ๋ฑ NVIDIA ์ฐ๊ตฌํ์ ICRA 2024์์ ๋ฐํํ ์ด ๋ ผ๋ฌธ์์ ๊ทผ๋ณธ์ ์ธ ์ง๋ฌธ์ ๋์ง๋ค: โRL ์ ์ฑ ์ด ์๋ํ๋ ๊ธฐ๋ฐ ๋์ญํ ์์ฒด๋ฅผ ๋ ๋๋ํ๊ฒ ๋ง๋ค๋ฉด ์ด๋จ๊น?โ ๊ทธ๋ค์ ๋ต์ด ๋ฐ๋ก Geometric Fabrics๋ฅผ ํ์ฉํ Fabric-Guided Policy (FGP) ํ๋ ์์ํฌ๋ค.
ํต์ฌ ์์ด๋์ด๋ฅผ ๋น์ ํ์๋ฉด ์ด๋ ๋ค. RL ์์ด์ ํธ๊ฐ ๋น ์ข ์ด ์์์ ์ฒ์๋ถํฐ ๊ธ์จ๋ฅผ ์ฐ๋ ๋์ , ์ด๋ฏธ ์ฐํ์ด ์์ฐ์ค๋ฝ๊ฒ ํ๋ฌ๊ฐ๋ ๋ฐฉํฅ์ด ๊ทธ๋ ค์ง ์๋ด์ ์ด ์๋ ์ข ์ด ์์์ ๊ธ์ ์ฐ๊ฒ ํ๋ ๊ฒ์ด๋ค. ์ด ์๋ด์ ์ด ๋ฐ๋ก geometric fabric์ด๊ณ , ์์ด์ ํธ๋ ์ด ํ๋ฆ์ ๋ฐ๋ฅด๋ฉด์ ํ์ํ ๋๋ง ๋ฐฉํฅ์ ์์ ํ๋ฉด ๋๋ค.
์ด ๋ ผ๋ฌธ์ด ํด๊ฒฐํ๋ ค๋ ๋ฌธ์
์ ํต์ ์ธ RL ๊ธฐ๋ฐ ๋ก๋ด ์ ์ด ํ์ดํ๋ผ์ธ์๋ ์ธ ๊ฐ์ง ๊ตฌ์กฐ์ ๋ฌธ์ ๊ฐ ์๋ค:
์ฒซ์งธ, ํ๋ ๊ณต๊ฐ์ ๋น์ฝํจ. ์ ์ฑ ์ด OSC๋ joint PD ์ปจํธ๋กค๋ฌ์ ๋ชฉํ ์์น๋ฅผ ์ ๋ฌํ๋ฉด, ์ปจํธ๋กค๋ฌ๋ ๊ทธ ๋ชฉํ๋ฅผ ํฅํด ์ง์ ์ด๋์ ์์ฑํ๋ค. ํ์ง๋ง dexterous manipulation์ฒ๋ผ ๋ณต์กํ ํ์คํฌ์์ ํ์ํ ํ๋ถํ ๋น์ ํ ํ๋์ ์ด ์ง์ ๋์์ผ๋ก ํํํ ์ ์๋ค.
๋์งธ, ์์ ์ฑ์ ๋ถ์ฌ. RL ์ ์ฑ ์ ๋ณธ์ง์ ์ผ๋ก bang-bang ์ ์ด, ์ฆ ์ต๋ยท์ต์๊ฐ์ ์ค๊ฐ๋ ๊ธ๊ฒฉํ ํ๋์ ์ ํธํ๋ ๊ฒฝํฅ์ด ์๋ค. ์ด๋ ์๋ฎฌ๋ ์ด์ ์์๋ ๋ฌธ์ ๊ฐ ์์ง๋ง, ์ค์ ๋ก๋ด์ ๋ชจํฐ์ ๊ตฌ๋๊ณ์ ์ฌ๊ฐํ ์์์ ์ด๋ํ๋ค. ๊ธฐ์กด์๋ low-pass filter๋ก ๊ณ ์ฃผํ ์ฑ๋ถ์ ์ต์ ํ์ง๋ง, ์ด๋ ๊ด์ ์ ์ฝ์ ๋ช ์์ ์ผ๋ก ์ฒ๋ฆฌํ์ง ๋ชปํ๊ณ ์ ์ฑ ์ ๋ฐ์์ฑ์ ๋จ์ด๋จ๋ฆฐ๋ค.
์ ์งธ, ๋ณด์ ์ค๊ณ์ ๋ณต์ก์ฑ. ์์ด์ ํธ๊ฐ ๋ชจ๋ ํ๋ โ ์๊ฐ๋ฝ์ ์์ชฝ์ผ๋ก ๊ตฌ๋ถ๋ฆฌ๊ธฐ, ๊ด์ ํ๊ณ ์กด์ค, ์๋์ผ๋ก ๋ฌผ์ฒด ์ ์ดํ๊ธฐ โ ์ ๋ณด์ ํจ์๋ก๋ถํฐ ํ์ตํด์ผ ํ๋ฏ๋ก, ๋ณด์ ์์ง๋์ด๋ง์ด ๊ทน๋๋ก ๋ณต์กํด์ง๋ค.
๋ฐฉ๋ฒ: Geometric Fabrics์ Behavioral Dynamics
Geometric Fabrics๋ ๋ฌด์์ธ๊ฐ?
Geometric Fabrics์ ์ด๋ก ์ ๊ธฐ์ด๋ Nathan Ratliff์ ์ผ๋ จ์ ์ฐ๊ตฌ์์ ๋น๋กฏ๋๋ค. ํต์ฌ ๊ฐ๋ ์ ๋จ๊ณ์ ์ผ๋ก ํ์ด๋ณด์.
๊ณ ์ ์ญํ์์ ์ ์์ ์ด๋์ 2์ฐจ ๋ฏธ๋ถ๋ฐฉ์ ์์ผ๋ก ๊ธฐ์ ๋๋ค: M\ddot{q} + f(q, \dot{q}) = 0. ์ฌ๊ธฐ์ M์ ์ง๋ ํ๋ ฌ, f๋ ์ฝ๋ฆฌ์ฌ๋ฆฌ์คยท์์ฌ๋ ฅยท์ค๋ ฅ ๋ฑ์ ํฌํจํ๋ ํญ์ด๋ค. ์ด ๋ฐฉ์ ์์ด ์ ์ํ๋ ๊ฒ์ configuration space ์์ ๊ฒฝ๋ก(path)๋ค.
Geometric fabric์ ์ด ๊ณ ์ ์ญํ์ ์ผ๋ฐํํ ๊ฒ์ด๋ค. ํต์ฌ์ ์ธ ์ฐจ์ด์ ์ ๋ ๊ฐ์ง๋ค:
๋ฉํธ๋ฆญ์ด ์๋์๋ ์์กดํ๋ค. ๊ณ ์ ์ญํ์ ์ง๋ ํ๋ ฌ M(q)๋ ์์น์๋ง ์์กดํ์ง๋ง, geometric fabric์ ๋ฉํธ๋ฆญ M_f(q_f, \dot{q}_f)๋ ์์น์ ์๋ ๋ชจ๋์ ์์กดํ๋ค. ์ด๊ฒ์ Riemannian ๊ธฐํํ์์ Finsler ๊ธฐํํ์ผ๋ก์ ํ์ฅ์ ํด๋นํ๋ค.
์๋ ๋ ๋ฆฝ์ (speed-invariant) ๊ฒฝ๋ก๋ฅผ ์์ฑํ๋ค. Fabric์ด ๋ง๋๋ ๊ฒฝ๋ก๋ ์์คํ ์ด ์ผ๋ง๋ ๋นจ๋ฆฌ ์์ง์ด๋์ง์ ๊ด๊ณ์์ด ๋์ผํ ํํ๋ฅผ ์ ์งํ๋ค. ์ด๊ฒ์ ๊ฒฝ๋ก์ โ๋ชจ์โ๊ณผ โ์๋โ๋ฅผ ๋ถ๋ฆฌํด์ ์ค๊ณํ ์ ์๊ฒ ํด์ฃผ๋ ๊ฐ๋ ฅํ ์ฑ์ง์ด๋ค.
์ง๊ด์ ์ผ๋ก ๋งํ๋ฉด, geometric fabric์ configuration space ์์ ๊น๋ฆฐ โํ๋ฆ์ ์ฅ(flow field)โ์ด๋ค. ์ด ํ๋ฆ์ ๋ก๋ด์ด ๋ฐ๋์งํ ๋ฐฉํฅ์ผ๋ก ์์ฐ์ค๋ฝ๊ฒ ์์ง์ด๋๋ก ์ ๋ํ๋, ์ธ๋ถ ํ(forcing)์ด ๊ฐํด์ง๋ฉด ๊ทธ ๋ฐฉํฅ์ผ๋ก ๋ฒ์ด๋ ์ ์๊ฒ ํ๋ค. ๋ง์น ๊ฐ๋ฌผ์ ํ๋ฆ์ฒ๋ผ โ ๋ฐฐ๋ฅผ ๋์ฐ๋ฉด ๋ฌผ์ด์ ๋ฐ๋ผ ๊ฐ์ง๋ง, ๋ ธ๋ฅผ ์ ์ผ๋ฉด ํ๋ฆ์์ ๋ฒ์ด๋ ์ ์๋ค.
์ํ์ ๊ณต์ํ: Forcing Energized Fabrics
๋ ผ๋ฌธ์์ ์ฌ์ฉํ๋ fabric์ ๋ค์๊ณผ ๊ฐ์ ์์ ์ ์ธ 2์ฐจ ๋์ญํ ์์คํ ์ด๋ค:
\ddot{q}_f = \underbrace{e_h(q_f, \dot{q}_f)}_{\text{๊ธฐํํ์ ํญ}} + \underbrace{\alpha_L(q_f, \dot{q}_f) \dot{q}_f}_{\text{์๋์ง ์กฐ์ }} - \underbrace{M_f^{-1}(q_f, \dot{q}_f)\left(\nabla\psi(q_f) + B(q_f, \dot{q}_f)\dot{q}_f\right)}_{\text{ํฌํ ์ + ๊ฐ์ (forcing)}} - \underbrace{\beta(q_f, \dot{q}_f) \dot{q}_f}_{\text{๊ธฐํํ์ ๊ฐ์ }}
๊ฐ ํญ์ ์ญํ ์ ํ๋์ฉ ์ดํด๋ณด์:
| ๊ธฐํธ | ์ญํ | ์ง๊ด์ ์๋ฏธ |
|---|---|---|
| q_f, \dot{q}_f, \ddot{q}_f | Fabric์ ์์น, ์๋, ๊ฐ์๋ | ๊ฐ์ ๋ก๋ด์ ์ํ |
| e_h(q_f, \dot{q}_f) | ๊ธฐํํ์ ๊ฐ์๋ (geodesic term) | โ๊ณต๊ฐ์ ๊ณก๋ฅ ์ ์ํ ์์ฐ์ค๋ฌ์ด ๋ฐฉํฅ ์ ํโ |
| \alpha_L \dot{q}_f | ์๋์งํ ๊ณ์ | โ์์คํ ์ ์๋์ง๋ฅผ ์ฃผ์ /ํก์ํ์ฌ ์๋ ์กฐ์ โ |
| M_f^{-1}\nabla\psi | ํฌํ ์ ํจ์์ ๊ทธ๋๋์ธํธ | โ๋ชฉํ๋ฅผ ํฅํ ์ธ๋ ฅ, ์ฅ์ ๋ฌผ๋ก๋ถํฐ์ ์ฒ๋ ฅโ |
| B\dot{q}_f | ๊ฐ์ ํญ | โํฌํ ์ ์ฃผ๋ณ์์์ ์ง๋ ์ต์ โ |
| \beta \dot{q}_f | ๊ธฐํํ์ ์ผ๋ก ์ผ๊ด๋ ๊ฐ์ | โfabric ์์ฒด์ ์๋์ง ์์ฐโ |
์ฌ๊ธฐ์ ์ค์ํ ์ด๋ก ์ ๋ณด์ฅ์ด ์๋ค. Ratliff et al. (2020)์ Theorem IV.1์ ์ํด, ์ด ํํ์ fabric์ ์ ๊ทผ์ ์ผ๋ก ์์ (asymptotically stable)ํ๋ค. ์ฆ, ํฌํ ์ ํจ์ \psi๋ฅผ ์ต์ํํ๋ฉด์๋ ์์คํ ์ด ๋ฐ์ฐํ์ง ์๋๋ค๋ ๊ฒ์ด ์ํ์ ์ผ๋ก ์ฆ๋ช ๋์ด ์๋ค.
Behavioral Dynamics: ๊ฐ์๊ณผ ํ์ค์ ๊ฒฐํฉ
์ด์ ํต์ฌ์ ์ธ ์์ด๋์ด๊ฐ ๋ฑ์ฅํ๋ค. Geometric fabric์ ๊ฐ์์ ๋์ญํ์ด๋ค. ์ค์ ๋ก๋ด์ ์์ ์ ๋ฌผ๋ฆฌ์ ๋์ญํ์ ๊ฐ์ง๊ณ ์๋ค:
M(q)\ddot{q} + f(q, \dot{q}) = \tau
์ฌ๊ธฐ์ M(q)๋ ์ค์ ๊ด์ฑ ํ๋ ฌ, f๋ ์ฝ๋ฆฌ์ฌ๋ฆฌ์ค/์ค๋ ฅ ํญ, \tau๋ ๊ด์ ํ ํฌ๋ค.
Behavioral dynamics๋ ์ด ๋ ์ธ๊ณ๋ฅผ ์ฐ๊ฒฐํ๋ค. Fabric์ด ์์ฑํ ๊ฐ์๋ \ddot{q}_f๋ฅผ ๋ฐ๋ผ๊ฐ๋๋ก ์ค์ ๋ก๋ด์ ํ ํฌ๋ฅผ ๊ณ์ฐํ๋ ๊ฒ์ด๋ค:
\tau = M(q)\ddot{q}_f + f(q, \dot{q})
์ด๊ฒ์ ๋ณธ์ง์ ์ผ๋ก ์ญ๋์ญํ(inverse dynamics) ๊ธฐ๋ฐ ์ ์ด์ ์ ์ฌํ์ง๋ง, ๋ชฉํ๊ฐ ๋จ์ํ ์์น๋ ๊ถค์ ์ด ์๋๋ผ fabric์ด ์ง์ํ๋ ๊ฐ์๋๋ผ๋ ์ ์ด ๋ค๋ฅด๋ค. ์ค์ ๊ตฌํ์์๋ fabric ์ํ (q_f, \dot{q}_f)์ ์ค์ ๋ก๋ด ์ํ (q, \dot{q})๊ฐ ํญ์ ์ผ์นํ์ง ์์ผ๋ฏ๋ก, PD ๋ณด์ ํญ์ด ์ถ๊ฐ๋๋ค:
\tau = M(q)\ddot{q}_f + f(q, \dot{q}) + K_p(q_f - q) + K_d(\dot{q}_f - \dot{q})
RL ์ ์ฑ ์ ์ญํ : Force Space์์์ ํ๋
์ด์ RL ์ ์ฑ ์ ์ด๋์ ๊ฐ์ ํ๋๊ฐ? ์ ์ฑ ์ fabric์ ํ(force)์ ๊ฐํ๋ค. ์ํ์ ์ผ๋ก ํํํ๋ฉด, ์ ์ฑ ์ ์ถ๋ ฅ \pi(s)๋ fabric์ ํฌํ ์ ํจ์์ ์ถ๊ฐ๋๋ forcing term์ด ๋๋ค:
\ddot{q}_f = [\text{fabric terms}] + M_f^{-1} \cdot F_{\text{policy}}
์ด๊ฒ์ด ์ ํ๋ช ์ ์ธ์ง ์๊ฐํด๋ณด์. ๊ธฐ์กด RL ์ ์ฑ ์ด โ๊ด์ ์ ์ด ์์น๋ก ์ด๋์์ผโ๋ผ๊ณ ์ง์ ๋ช ๋ นํ๋ค๋ฉด, FGP์์๋ โํ์ฌ fabric์ ํ๋ฆ์ ์ด๋ฐ ๋ฐฉํฅ์ผ๋ก ํ์ ๊ฐํดโ๋ผ๊ณ ์ง์ํ๋ค. Fabric์ด ์ด๋ฏธ ์์ ํ๊ณ ๋ฐ๋์งํ ํ๋์ ์ธ์ฝ๋ฉํ๊ณ ์์ผ๋ฏ๋ก:
- ์ ์ฑ ์ด ์๋ฌด๋ฐ ํ๋๋ ํ์ง ์์ผ๋ฉด(zero action), ๋ก๋ด์ fabric์ ๊ธฐ๋ณธ ํ๋์ ๋ฐ๋ฅธ๋ค
- ์ ์ฑ ์ด ๊ทน๋จ์ ์ธ ํ๋์ ์ถ๋ ฅํด๋, fabric์ ๊ตฌ์กฐ๊ฐ ๊ด์ ํ๊ณ, ๊ฐ์๋ ์ ์ฝ ๋ฑ์ ์๋์ผ๋ก ๋ณด์ฅํ๋ค
- ๊ฒฐ๊ณผ์ ์ผ๋ก bang-bang ์คํ์ผ์ ์ ์ฑ ํ๋์ด ์ค์ ๋ก๋ด์์๋ ์์ ํ๊ฒ ์คํ๋๋ค
์๋ ๋ค์ด์ด๊ทธ๋จ์ ์ ์ฒด ์์คํ ์ ํ๋ฆ์ ๋ณด์ฌ์ค๋ค.
๊ธฐ์กด ์ ์ด ํ๋ ์์ํฌ์์ ๋น๊ต
์ด ์์ ์์ ์์ฐ์ค๋ฌ์ด ์ง๋ฌธ์ด ์๊ธด๋ค: โOSC๋ impedance control๊ณผ ๋ญ๊ฐ ๋ค๋ฅธ๊ฐ?โ ํต์ฌ์ ์ธ ์ฐจ์ด๋ฅผ ์ ๋ฆฌํ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค:
graph LR
subgraph TRAD["์ ํต์ RL + ์ปจํธ๋กค๋ฌ"]
P1["RL ์ ์ฑ
"] -->|"๋ชฉํ ์์น/์๋"| C1["OSC / Joint PD"]
C1 -->|"์ง์ ์ด๋ ์์ฑ"| R1["๋ก๋ด"]
end
subgraph FGP_ARCH["FGP (Fabric-Guided Policy)"]
P2["RL ์ ์ฑ
"] -->|"ํ (Force)"| F2["Geometric Fabric"]
F2 -->|"๋น์ ํ ํ๋ + ์ ์ฝ ๋ณด์ฅ"| C2["ํ ํฌ ์ปจํธ๋กค๋ฌ"]
C2 --> R2["๋ก๋ด"]
end
style TRAD fill:#ffebee,stroke:#f44336
style FGP_ARCH fill:#e8f5e9,stroke:#4CAF50
| ํน์ฑ | OSC / Joint PD | Dynamic Movement Primitives | Geometric Fabrics |
|---|---|---|---|
| ์์ฑํ๋ ์ด๋ | ์ง์ (ํ์คํฌ/๊ด์ ๊ณต๊ฐ) | ํ์ต๋ ๊ถค์ | ๋น์ ํ ๊ธฐํํ์ ๊ฒฝ๋ก |
| ์์ ์ฑ ๋ณด์ฅ | ์กฐ๊ฑด๋ถ | ํน์ ์กฐ๊ฑดํ | ์ํ์ ์ผ๋ก ์ฆ๋ช ๋จ |
| ์ ์ฝ ์ฒ๋ฆฌ | ๋ณ๋ ํ์ | ๋ณ๋ ํ์ | ๋ด์ฌ์ (๊ด์ ํ๊ณ, ๊ฐ์๋, ์ ํฌ) |
| ํ๋ ํ๋ถ์ฑ | ๋ฎ์ | ์ค๊ฐ | ๋์ |
| RL๊ณผ์ ๊ฒฐํฉ | ํ๋ ๊ณต๊ฐ = ๋ชฉํ ์์น | ๋งค๊ฐ๋ณ์ ํ์ต | ํ๋ ๊ณต๊ฐ = ํ ๊ณต๊ฐ |
| ์ค๊ณ ์๊ฐ | ์ ๋ถ | ๋ฐ๋ชจ ํ์ | ์ ์๊ฐ (๊ทธ๋ฌ๋ RL ํ์ต ๋น์ฉ ์ ๊ฐ) |
์ ์ฉ: In-Hand Cube Reorientation
Allegro Hand๋ฅผ ์ํ Fabric ์ค๊ณ
๋ ผ๋ฌธ์ ์ด ํ๋ ์์ํฌ๋ฅผ 16์์ ๋(4๊ฐ ์๊ฐ๋ฝ ร 4 ๊ด์ ) Allegro Hand V4๋ฅผ ์ด์ฉํ in-hand cube reorientation ํ์คํฌ์ ์ ์ฉํ๋ค. ์ด ํ์คํฌ๋ ์๋ฐ๋ฅ ์์ ๋์ธ ํ๋ธ๋ฅผ ๋จ์ด๋จ๋ฆฌ์ง ์๊ณ ๋ชฉํ ์์ธ๋ก ํ์ ์ํค๋ ๊ฒ์ด๋ค.
Fabric ์ค๊ณ๋ ๋ค์๊ณผ ๊ฐ์ ํต์ฌ ์ปดํฌ๋ํธ๋ก ๊ตฌ์ฑ๋๋ค:
์ธ๋ ฅ (Attraction)
๊ฐ ์๊ฐ๋ฝ ๋์ด ํ๋ธ ํ๋ฉด์ ํฅํด ๋๋ฆฌ๋๋ก ์ค๊ณํ๋ค. ์ธ๋ ฅ์ ํฌ๊ธฐ๋ ์๋๊ณผ ํ๋ธ ์ฌ์ด์ ๊ฑฐ๋ฆฌ์ ๋ฐ๋ผ ๊ฒฐ์ ๋๋ฉฐ, ํฌํ ์ ํจ์ \psi์ ๋ฉํธ๋ฆญ M_f์ ์กฐํฉ์ผ๋ก ํํ๋๋ค. ์ด ์ค๊ณ์ ์ง๊ด์ ๋ช ํํ๋ค: ์๊ฐ๋ฝ์ด ๋ฌผ์ฒด์ ์ ์ดํ๊ณ ์์ด์ผ ์กฐ์์ด ๊ฐ๋ฅํ๋ฏ๋ก, fabric ์์ฒด๊ฐ โ์๊ฐ๋ฝ ๋์ ํ๋ธ ์ชฝ์ผ๋ก ์ด๋์ํค๋โ ๊ธฐ๋ณธ ๊ฒฝํฅ์ฑ์ ๊ฐ์ง๋ค.
๋ํ ์์ชฝ์ผ๋ก ๊ตฌ๋ถ๋ฆฌ๋(inward curling) ๊ฒฝํฅ์ฑ๋ ์ธ์ฝ๋ฉ๋์ด ์๋ค. ์ด๋ ์๊ฐ๋ฝ์ด ํด์ง ์ํ๋ณด๋ค ๊ตฌ๋ถ๋ฆฐ ์ํ์์ ๋ฌผ์ฒด๋ฅผ ๋ ์์ ์ ์ผ๋ก ์ก์ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
์ฒ๋ ฅ (Repulsion)
๊ด์ ์์น ํ๊ณ์ ๊ฐ๊น์์ง๋ฉด ์ฒ๋ ฅ์ด ๋ฐ์ํ๋ค. ์ด๋ ๊ด์ ์ด ๋ฌผ๋ฆฌ์ ํ๊ณ๋ฅผ ๋์ง ์๋๋ก ํ๋ ์ํํธ ๋ฐฐ๋ฆฌ์ด ์ญํ ์ ํ๋ฉฐ, ๋ช ์์ ์ธ ํด๋จํ(clamping) ์์ด๋ ์์ ํ ์ด๋ ๋ฒ์๋ฅผ ์ ์งํ๋ค.
์๋์งํ (Energization)
์๋์งํ ๊ณ์ \alpha_L์ fabric์ ์ ์ฒด ์๋์ง ์์ค์ ์กฐ์ ํ๋ค. ๋ ผ๋ฌธ์์๋ ์ด๋ฅผ ๋งค๊ฐ๋ณ์ \beta (๋ ผ๋ฌธ์์๋ ์ด๊ฒ์ด ์๋์งํ์ ๊ด๋ จ๋ ์ฃผ์ ํ์ดํผํ๋ผ๋ฏธํฐ)๋ก ์ ์ดํ๋ฉฐ, ์ด ๊ฐ์ด ํด์๋ก fabric์ด ๋ โ์ ๊ทน์ ์ผ๋กโ ํ๋ํ๋ค.
๊ฐ์๋ยท์ ํฌ ์ ์ฝ (Acceleration and Jerk Handling)
์ด๊ฒ์ด ์ค์ ํ๋์จ์ด ๋ฐฐ์น์์ ๊ฐ์ฅ ์ค์ํ ๋ถ๋ถ์ด๋ค. ๋ ผ๋ฌธ์ ๊ฐ์๋์ ์ ํฌ ์ ์ฝ์ ๋ซํ ํํ(closed-form)์ ์ด์ฐจ ํ๋ก๊ทธ๋๋ฐ(QP) ์๋ฃจ์ ์ผ๋ก ์ฒ๋ฆฌํ๋ค. ์ด๋ ๋ณ๋์ low-pass filtering ์์ด๋ ๋ชจํฐ์ ์์ ํ ๋ช ๋ น์ ์์ฑํ ์ ์๊ฒ ํ๋ค.
๊ธฐ์กด DeXtreme ๊ฐ์ ์์คํ ์ ์ ์ฑ ์ถ๋ ฅ์ ๋ฌด๊ฑฐ์ด low-pass filter๋ฅผ ์ ์ฉํด์ผ ํ๋๋ฐ, ์ด๋ ๋ฐ์์ฑ์ ๋จ์ด๋จ๋ฆฌ๊ณ ๊ทธ๋๋ ๊ณ ์ฃผํ ์ฑ๋ถ์ด ์์ ํ ์ ๊ฑฐ๋์ง ์๋ ๋ฌธ์ ๊ฐ ์์๋ค. FGP๋ fabric ์์ค์์ ์ ์ฝ์ ์ง์ ์ฒ๋ฆฌํ๋ฏ๋ก ํํฐ๊ฐ ๋ถํ์ํ๋ค.
ํ๋ ๊ณต๊ฐ (Action Space)
RL ์ ์ฑ ์ ํ๋ ๊ณต๊ฐ์ fabric์ ๊ฐํด์ง๋ ํ(force)์ด๋ค. ์ ์ฑ ์ ๊ฐ ์๊ฐ๋ฝ์ fabric ์ํ์ ๋ํด ํ ๋ฒกํฐ๋ฅผ ์ถ๋ ฅํ๊ณ , ์ด ํ์ด fabric์ ๊ธฐ๋ณธ ๋์ญํ์ ๋ํด์ ธ ์ต์ข ํ๋์ ๊ฒฐ์ ํ๋ค. ์ ์ฑ ์ด ์๋ฒกํฐ๋ฅผ ์ถ๋ ฅํ๋ฉด fabric์ ๊ธฐ๋ณธ ํ๋๋ง ์คํ๋๋ค.
๊ฐํํ์ต ์ค์
์๋ฎฌ๋ ์ด์ ํ๊ฒฝ
- ์๋ฎฌ๋ ์ดํฐ: NVIDIA Isaac Gym (GPU ๊ธฐ๋ฐ ๋๊ท๋ชจ ๋ณ๋ ฌ ์๋ฎฌ๋ ์ด์ )
- ๋ณ๋ ฌ ํ๊ฒฝ ์: ์์ฒ ๊ฐ (๋ ผ๋ฌธ์์๋ ๊ตฌ์ฒด์ ์๋ฅผ DeXtreme ์ค์ ๊ณผ ์ ์ฌํ๊ฒ ์ด์ฉ)
- RL ์๊ณ ๋ฆฌ์ฆ: PPO (Proximal Policy Optimization)
- ์ ์ฑ ๋คํธ์ํฌ: MLP (Multi-Layer Perceptron)
ํ๋ธ ๊ต๋ ๋ ์น (Cube Disturbance Wrench)
Sim-to-real transfer์ ํต์ฌ ๊ธฐ๋ฒ์ผ๋ก, ๋ ผ๋ฌธ์ ํ์ต ์ค ํ๋ธ์ ์ ์ฒด ๋ ์น(wrench) โ ํ๊ณผ ํ ํฌ ๋ชจ๋ โ ๋ฅผ ๋ฌด์์๋ก ๊ฐํ๋ค. ์ด๋ ์๋ฎฌ๋ ์ด์ ๊ณผ ํ์ค ์ฌ์ด์ ๋ฌผ๋ฆฌ์ ์ฐจ์ด(๋ง์ฐฐ ๊ณ์, ์ ์ด ์ญํ ๋ฑ)์ ๋ํ ์ ์ฑ ์ ๊ฐ๊ฑด์ฑ์ ํฌ๊ฒ ํฅ์์ํจ๋ค.
๋ณด์ ํจ์ ๋จ์ํ
FGP์ ๊ฐ์ฅ ํฐ ์ค์ฉ์ ์ฅ์ ์ค ํ๋๊ฐ ์ฌ๊ธฐ์ ์๋ค. Fabric์ด ์ด๋ฏธ ๋ค์์ ์ธ์ฝ๋ฉํ๊ณ ์์ผ๋ฏ๋ก:
- ์๊ฐ๋ฝ ๋์ ํ๋ธ ์ ์ด ์ ๋
- ์์ชฝ์ผ๋ก ๊ตฌ๋ถ๋ฆฌ๋ ์์ธ
- ๊ด์ ํ๊ณ ์ค์
- ๊ฐ์๋/์ ํฌ ์ ์ฝ
๋ณด์ ํจ์์์ ์ด๋ค์ ๋ณ๋๋ก ์ค๊ณํ ํ์๊ฐ ์๋ค. ๋ ผ๋ฌธ์ ํํ์ ๋น๋ฆฌ๋ฉด: โ๊ฒฝํ ๋ง์ ์ค๋ฌด์๊ฐ ์ ์ ํ ์ํํธ์จ์ด ํด๋ง์ ์ฌ์ฉํ๋ฉด ์ ์๊ฐ ๋ด์ fabric์ ์ค๊ณํ๊ณ ํ๋ํ ์ ์์ผ๋ฉฐ, ์ด๋ ๋ณต์กํ ๋ณด์ ํจ์๋ฅผ ๋ฐ๋ณต ์์ ํ๊ณ ๊ธด RL ํ์ต์ ๋ฐ๋ณตํ๋ ๊ฒ๋ณด๋ค ํจ์ฌ ๋น ๋ฅด๋ค.โ
์์น ์ ๋ถ (Numerical Integration)
Fabric์ ์ํ๋ ์๋ฎฌ๋ ์ด์ ์ ๋ฌผ๋ฆฌ ์์ง๊ณผ ๋ ๋ฆฝ์ ์ผ๋ก ์์น ์ ๋ถ๋๋ค. ์ด๋ fabric์ด ์๋ฎฌ๋ ์ดํฐ์ ๋ฌผ๋ฆฌ์ ๋ณ๊ฐ์ โ๊ฐ์ ์ธ๊ณโ๋ฅผ ์ ์งํ๋ฉด์, ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ์ค์ ๋ก๋ด ์ ์ด์ ๋ฐ์ํ๋ ๊ตฌ์กฐ๋ฅผ ๊ฐ๋ฅํ๊ฒ ํ๋ค.
์คํ: ๊ฒฐ๊ณผ์ ๋ถ์
์ฑ๋ฅ ์งํ
๋ ผ๋ฌธ์ ๋ ๊ฐ์ง ์ฃผ์ ์งํ๋ฅผ ์ฌ์ฉํ๋ค:
- Consecutive Successes (CS): ํ๋ธ๋ฅผ ๋จ์ด๋จ๋ฆฌ์ง ์๊ณ ์ฐ์์ผ๋ก ๋ชฉํ ์์ธ์ ๋๋ฌํ ํ์. ๊ฐ ๋ชฉํ ์์ธ์ 0.4 ๋ผ๋์ ์ด๋ด๋ก ๋๋ฌํ๋ฉด ์ฑ๊ณต์ผ๋ก ๊ฐ์ฃผํ๊ณ ์๋ก์ด ๋ชฉํ๊ฐ ์ฃผ์ด์ง๋ค.
- Rotations Per Minute (RPM): ๋ถ๋น ํ์ ์. ์ ์ฑ ์ ์กฐ์ ์๋๋ฅผ ๋ํ๋ธ๋ค.
์ฃผ์ ๊ฒฐ๊ณผ
ฮฒ ํ๋ผ๋ฏธํฐ์ ๋ฐ๋ฅธ ์ฑ๋ฅ
\beta๋ ์๋์งํ ๊ณ์๋ก, fabric์ด ์ผ๋ง๋ ์ ๊ทน์ ์ผ๋ก ํ๋ํ๋์ง๋ฅผ ์ ์ดํ๋ค. ๋ ผ๋ฌธ์ \beta = \{2.5, 10, 20, 30, 40, 50\}์ ๋ํด ์คํํ๋ค.
| ์ค์ | ํ๊ท CS | ์ค์๊ฐ CS | RPM | ํน์ง |
|---|---|---|---|---|
| FGP ฮฒ=2.5 | ๋ฎ์ | - | ๋ฎ์ | Fabric ์ํฅ ์ฝํจ, ์ ์ฑ ์์ ๋ ๋์ |
| FGP ฮฒ=10 | ์ค๊ฐ | - | ์ค๊ฐ | |
| FGP ฮฒ=20 | ๋์ | - | ๋์ | |
| FGP ฮฒ=30 | ๋งค์ฐ ๋์ | - | ๋งค์ฐ ๋์ | |
| FGP ฮฒ=40 | ์ต๊ณ | ์ต๊ณ | ์ต๊ณ | ์ต์ ์ค์ |
| FGP ฮฒ=50 | ๋์ | - | ๋์ | ์ง๋์น fabric ์ง๋ฐฐ |
์ต์ \beta=40 ์ค์ ์์ FGP๋ ๋จ์ผ ์คํ์์ 186 CS๋ฅผ ๋ฌ์ฑํ๋ค. ์ด๋ ํ๋ธ๊ฐ ๋จ์ด์ง์ง ์๊ณ 186๋ฒ ์ฐ์์ผ๋ก ๋ชฉํ ์์ธ์ ๋๋ฌํ๋ค๋ ์๋ฏธ๋ค.
DeXtreme๊ณผ์ ๋น๊ต
| ์งํ | FGP (ฮฒ=40) | DeXtreme (new) | ๋น๊ณ |
|---|---|---|---|
| ํ๊ท CS | ์ฝ 3๋ฐฐ ์ด์ | ๊ธฐ์ค์ | FGP๊ฐ ์๋์ ์ผ๋ก ์ฐ์ |
| ์ค์๊ฐ CS | ์ ์ฌ~์ฝ๊ฐ ๋ฎ์ | ์ฝ๊ฐ ๋์ | DeXtreme์ ์ต์ ๋ฒ์ ์์ ์ค์๊ฐ ์ฝ๊ฐ ์ฐ์ธ |
| ์ต๋ CS | 186 | 670 | DeXtreme์ ์ต๋ ๋จ์ผ ์คํ์ด ๋ ๊ธธ์ง๋ง, FGP์ ์ผ๊ด์ฑ์ด ๋์ |
| RPM | ์ต๊ณ | ๋ณดํต | FGP๊ฐ ๊ฐ์ฅ ๋น ๋ฅด๊ณ ์ผ๊ด์ ์ธ ํ์ ์๋ |
| ํ๋ ์ค๋ฌด์ค๋์ค | 5Hz ์ด์ ๊ฑฐ์ 0 | 5Hz ์ด์ ์ฑ๋ถ ์กด์ฌ | FGP์ ์คํํธ๋ผ์ด ๊ทน์ ์ผ๋ก ๊นจ๋ |
| Low-pass filter | ๋ถํ์ | ํ์ | ํ๋์จ์ด ์์ ์ฑ์ ๊ทผ๋ณธ์ ์ฐจ์ด |
ํต์ฌ ๊ฒฐ๊ณผ๋ฅผ ์ ๋ฆฌํ๋ฉด:
- ํ๊ท CS ๊ธฐ์ค์ผ๋ก FGP๊ฐ ์ด์ SOTA ๋๋น 3๋ฐฐ ์ด์ ์ฑ๋ฅ ํฅ์์ ๋ณด์๋ค.
- RPM์ด ๊ฐ์ฅ ๋๊ณ ์ผ๊ด์ ์ด์ด์, ์ ์ฑ ์ ์กฐ์ ์๋๊ฐ ๋น ๋ฅด๊ณ ์์ ์ ์ด๋ค.
- ์คํํธ๋ผ ๋ถ์์์ FGP์ ํ๋ ๋ ธ์ด์ฆ๊ฐ ๊ทน์ ์ผ๋ก ๋ฎ๋ค. 5Hz ์ด์์ ์ฃผํ์ ์ฑ๋ถ์ด ๊ฑฐ์ 0์ ๊ฐ๊น์ด ๋ฐ๋ฉด, DeXtreme์ heavy low-pass filtering์๋ ๋ถ๊ตฌํ๊ณ ๊ณ ์ฃผํ ์ฑ๋ถ์ด ๋จ์์๋ค.
ํ๋ ์ค๋ฌด์ค๋์ค์ ์๋ฏธ
์ด ๊ฒฐ๊ณผ์ ์ค์ฉ์ ์๋ฏธ๋ ๋งค์ฐ ํฌ๋ค. ์คํํธ๋ผ์ด ๊นจ๋ํ๋ค๋ ๊ฒ์:
- ๋ชจํฐ์ ๊ฐํด์ง๋ ์คํธ๋ ์ค๊ฐ ๊ทน์ ์ผ๋ก ์ค์ด๋ ๋ค โ ํ๋์จ์ด ์๋ช ์ฐ์ฅ
- ๋ณ๋์ ํํฐ๋ง์ด ๋ถํ์ํ๋ค โ ์์คํ ๋ณต์ก๋ ๊ฐ์, ์ง์ฐ(latency) ๊ฐ์
- ์ ์ฑ ์ด ๋ ์์ธก ๊ฐ๋ฅํ๊ฒ ํ๋ํ๋ค โ ์์ ์ฑ๊ณผ ์ ๋ขฐ์ฑ ํฅ์
์ด๊ฒ์ ๋จ์ํ โ์ซ์๊ฐ ์ข๋คโ๋ฅผ ๋์ด์, ์ฐ์ ์์ค(industrial-grade)์ ์ ์ฑ ๋ฐฐํฌ๋ฅผ ํ์ค์ ์ผ๋ก ๊ฐ๋ฅํ๊ฒ ํ๋ ํต์ฌ ํน์ฑ์ด๋ค.
Sim-to-Real Transfer
๋ ผ๋ฌธ์ ์๋ฎฌ๋ ์ด์ ์์ ํ์ตํ ์ ์ฑ ์ ์ค์ Allegro Hand V4์ ์ฑ๊ณต์ ์ผ๋ก ์ ์ด(transfer)ํ๋ค. ์ค์ ๋ก๋ด์์์ ํต์ฌ ๊ด์ฐฐ:
- FGP๋ ์ธ๋ถ ๊ต๋(ํ๋ธ๋ฅผ ์๊ฐ๋ฝ์ผ๋ก ๋ฐ์ด๋ด๋ ๋ฑ)์ ๋ํด ๊ฐ๊ฑดํ ๋ณต์ ํ๋์ ๋ณด์๋ค.
- \beta๊ฐ ๋์์๋ก fabric์ โ์ ๋ ํ๋โ์ด ๊ฐํด์ ธ, ๊ต๋์ผ๋ก๋ถํฐ์ ๋ณต์์ด ๋ ๋น ๋ฅด๊ณ ์์ ์ ์ด์๋ค.
- Low-pass filter ์์ด๋ ๋ชจํฐ์ ์์ ํ ๋ช ๋ น์ด ์์ฑ๋์๋ค.
๋นํ์ ๊ณ ์ฐฐ
๊ฐ์
1. ์ด๋ก ๊ณผ ์ค์ฉ์ ์ฐ์ํ ๊ฒฐํฉ
์ด ๋ ผ๋ฌธ์ ๊ฐ์ฅ ํฐ ๋ฏธ๋์ geometric fabrics๋ผ๋ ์ํ์ ์ผ๋ก ์๋ฐํ ์ด๋ก ์ ์ค์ SOTA ์ฑ๋ฅ์ผ๋ก ์ฐ๊ฒฐํ๋ค๋ ์ ์ด๋ค. ๋ง์ ์ด๋ก ์ ํ๋ ์์ํฌ๊ฐ ๋จ์ํ ํ์คํฌ์์๋ง ๊ฒ์ฆ๋๋ ๋ฐ๋ฉด, ์ด ๋ ผ๋ฌธ์ 16-DOF hand์ contact-rich manipulation์ด๋ผ๋ ๊ฐ์ฅ ๋์ ์ ์ธ ํ์คํฌ์์ SOTA๋ฅผ ๋ฌ์ฑํ๋ค.
2. ๊ตฌ์กฐ์ ์์ ์ฑ ๋ณด์ฅ
RL ์ ์ฑ ์ ์์ ์ฑ์ ์ฌํ์ (post-hoc)์ด ์๋ ๊ตฌ์กฐ์ (structural)์ผ๋ก ๋ณด์ฅํ๋ค. Low-pass filter๊ฐ โ๋์ ํ๋์ ์ฌํ์ ์ ๋ฆฌโํ๋ ์ ๊ทผ์ด๋ผ๋ฉด, geometric fabric์ โ์ฒ์๋ถํฐ ๋์ ํ๋์ด ๋ฐ์ํ๊ธฐ ์ด๋ ค์ด ๊ตฌ์กฐโ๋ฅผ ๋ง๋ ๋ค. ์ด ์ฐจ์ด๋ ๊ทผ๋ณธ์ ์ด๋ค.
3. ๋ณด์ ์์ง๋์ด๋ง์ ๋จ์ํ
Fabric์ด ํ๋์ ๊ธฐ๋ณธ ํน์ฑ์ ์ธ์ฝ๋ฉํ๋ฏ๋ก, ๋ณด์ ํจ์๋ โ๋ฌด์์ ๋ฌ์ฑํ ๊ฒ์ธ๊ฐโ์๋ง ์ง์คํ ์ ์๋ค. ์ด๋ RL์ ์ค๋ฌด์ ์ด๋ ค์์ ํฌ๊ฒ ๊ฒฝ๊ฐ์ํจ๋ค.
4. Composability (์กฐํฉ ๊ฐ๋ฅ์ฑ)
Geometric fabrics์ ์ค์ํ ์ด๋ก ์ ์ฑ์ง์ pullback๊ณผ combination ์ฐ์ฐ์ ๋ํด ๋ซํ์๋ค๋ ๊ฒ์ด๋ค. ์ด๋ ๋ณต์กํ ํ๋์ ๋ ๋จ์ํ ์ปดํฌ๋ํธ์ ์กฐํฉ์ผ๋ก ๊ตฌ์ถํ ์ ์๊ฒ ํด์ฃผ๋ฉฐ, transform tree ์์์ ์์ฐ์ค๋ฝ๊ฒ ๋์ํ๋ค.
5. ๊ณ ์ฃผํ ๋ ธ์ด์ฆ ์ ๊ฑฐ
Low-pass filter ์์ด ํ๋ ์ค๋ฌด์ค๋์ค๋ฅผ ๋ฌ์ฑํ๋ ๊ฒ์ ํ๋์จ์ด ๋ฐฐํฌ์ ํจ๋ฌ๋ค์ ์ ํ์ด๋ค. ํํฐ ์์ด ์์ ํ ํ๋์ ๋ณด์ฅํ๋ค๋ ๊ฒ์ latency๋ฅผ ์ค์ด๋ฉด์๋ ์์ ์ฑ์ ํ๋ณดํ ์ ์๋ค๋ ์๋ฏธ๋ค.
์ฝ์ ๋ฐ ํ๊ณ
1. Fabric ์ค๊ณ์ ์ ๋ฌธ์ฑ ์๊ตฌ
๋ ผ๋ฌธ์ โ๊ฒฝํ ๋ง์ ์ค๋ฌด์๊ฐ ์ ์๊ฐ ๋ด์ ์ค๊ณํ ์ ์๋คโ๊ณ ์ธ๊ธํ์ง๋ง, ์ด๋ geometric fabrics ์ด๋ก ์ ๋ํ ์๋นํ ์ดํด๋ฅผ ์ ์ ํ๋ค. Finsler ๊ธฐํํ, spectral semi-sprays ๋ฑ ๋น๊ต์ ๋น์ฃผ๋ฅ์ ์ธ ์ํ ๋ฐฐ๊ฒฝ์ด ํ์ํ๋ฉฐ, ์ด๋ ์ผ๋ฐ ๋ก๋ณดํฑ์ค ์ฐ๊ตฌ์์๊ฒ ์ง์ ์ฅ๋ฒฝ์ด ๋ ์ ์๋ค. RL์ ๋ณด์ ์ค๊ณ๊ฐ โ์ด๋ ต์ง๋ง ์ง๊ด์ โ์ด๋ผ๋ฉด, fabric ์ค๊ณ๋ โ์ด๋ก ์ ์ผ๋ก ๊ฐ๋ ฅํ์ง๋ง ์ง์ ์ฅ๋ฒฝ์ด ๋๋ค.โ
2. ๋ฌผ์ฒด ๊ธฐํํ ์ผ๋ฐํ์ ๋ถ์ฌ
๋ ผ๋ฌธ์ ๋ช ์์ ์ผ๋ก ์ธ์ ํ๋ค: โ์ฐ๋ฆฌ๋ ๋ฌผ์ฒด ๊ธฐํํ ์ ๋ฐ์ ๊ฑธ์น ์ผ๋ฐํ์๋ ์ด์ ์ ๋์ง ์์๋ค.โ ์คํ์ ์ค์ง ํ๋ธ ํ๋์ ๋ํด์๋ง ์ํ๋์๋ค. ๋ค์ํ ๋ฌผ์ฒด ํ์์ ๋ํด fabric์ ์ด๋ป๊ฒ ์ ์์ํฌ ์ ์๋์ง๋ ์ด๋ฆฐ ์ง๋ฌธ์ผ๋ก ๋จ์ ์๋ค. ์ต๊ทผ ํ์ ์ฐ๊ตฌ์ธ DextrAH-RGB (2024)๊ฐ ์ด ๋ฐฉํฅ์ ํ์ํ๊ธฐ ์์ํ์ง๋ง, ์ฌ์ ํ ์ด๊ธฐ ๋จ๊ณ๋ค.
3. Task-Specific Fabric Design
ํ์ฌ fabric์ in-hand cube reorientation์ด๋ผ๋ ํน์ ํ์คํฌ์ ๋ง์ถค ์ค๊ณ๋์๋ค. ๋ค๋ฅธ ํ์คํฌ(์: tool use, bimanual manipulation, deformable object manipulation)์ ์ ์ฉํ๋ ค๋ฉด fabric์ ์ฒ์๋ถํฐ ์๋ก ์ค๊ณํด์ผ ํ๋ค. ๋ฒ์ฉ์ ์ธ โfoundation fabricโ์ ๊ฐ๋ ์ ์์ง ์กด์ฌํ์ง ์๋๋ค.
4. ฮฒ ํ์ดํผํ๋ผ๋ฏธํฐ์ ๋ํ ๋ฏผ๊ฐ๋
\beta ๊ฐ์ ๋ฐ๋ผ ์ฑ๋ฅ์ด ์๋นํ ๋ฌ๋ผ์ง๋ฉฐ, ์ต์ ๊ฐ์ ์ฐพ๊ธฐ ์ํด ์ฌ๋ฌ ์คํ์ด ํ์ํ๋ค. ์ด๋ fabric ์ค๊ณ์์์ ๋ ๋ค๋ฅธ ํ๋ ์ถ์ ์ถ๊ฐํ๋ค. ๋ค๋ง \beta์ ๋ฒ์๊ฐ ๋น๊ต์ ๋์ ์์ญ์์ ์ข์ ์ฑ๋ฅ์ ๋ณด์ฌ์ฃผ๋ฏ๋ก, ์ด๊ฒ์ด ์น๋ช ์ ์ธ ๋ฌธ์ ๋ ์๋๋ค.
5. ์๋ฎฌ๋ ์ด์ ์์กด์ฑ
๋๊ท๋ชจ ๋ณ๋ ฌ ์๋ฎฌ๋ ์ด์ (Isaac Gym)๊ณผ GPU ์์์ ๋ํ ์์กด๋๊ฐ ๋๋ค. ์ด๋ DeXtreme๊ณผ ๊ณต์ ํ๋ ํ๊ณ์ด์ง๋ง, fabric layer์ ์ถ๊ฐ๊ฐ ์๋ฎฌ๋ ์ด์ ๋ณต์ก๋๋ฅผ ๋ ๋์ผ ์ ์๋ค. Fabric์ ์์น ์ ๋ถ์ด ๋ฌผ๋ฆฌ ์์ง๊ณผ ๋ ๋ฆฝ์ ์ผ๋ก ์ํ๋๋ฏ๋ก, ์ ํํ ๋๊ธฐํ์ ์์น ์์ ์ฑ์ ์ฃผ์๊ฐ ํ์ํ๋ค.
๊ด๋ จ ์ฐ๊ตฌ์์ ๋น๊ต
์์น์ ๋งฅ๋ฝ
์ด ๋ ผ๋ฌธ์ ์ฌ๋ฌ ์ฐ๊ตฌ ํ๋ฆ์ ๊ต์ฐจ์ ์ ์์นํ๋ค:
ํต์ฌ ๋น๊ต
vs. RMPflow
Geometric fabrics์ ์ง์ ์ ์ธ ์ ์กฐ๊ฐ RMPflow(Cheng et al., 2018)๋ค. RMPflow๋ ์ฌ๋ฌ ํ์คํฌ ๊ณต๊ฐ์์์ ์ ์ฑ ์ ๊ธฐํํ์ ์ผ๋ก ์ผ๊ด๋๊ฒ ๊ฒฐํฉํ๋ ํ๋ ์์ํฌ๋ฅผ ์ ์ํ๋ค. Geometric fabrics๋ ์ด๋ฅผ Finsler ๊ธฐํํ์ผ๋ก ์ผ๋ฐํํ๊ณ ์์ ์ฑ ๋ณด์ฅ์ ์ถ๊ฐํ ๊ฒ์ด๋ค. RMPflow๊ฐ โ์ค์ฉ์ ์ด์ง๋ง ์ด๋ก ์ ๋ณด์ฅ์ด ๋ถ์กฑโํ๋ค๋ฉด, geometric fabrics๋ โ์ค์ฉ์ ์ด๋ฉด์ ์ด๋ก ์ ์ผ๋ก๋ ๊ฒฌ๊ณ ํ๋ค.โ
vs. OpenAI / DeXtreme
OpenAI์ Shadow Hand ํ๋ก์ ํธ์ DeXtreme์ end-to-end RL๋ก dexterous manipulation์ ๋ฌ์ฑํ ์ ๊ตฌ์ ์ฐ๊ตฌ๋ค. ๊ทธ๋ฌ๋ ์ด๋ค์ ์ ์ฑ ์ด ์ง์ ๊ด์ ๋ชฉํ๋ฅผ ์ถ๋ ฅํ๋ ๊ตฌ์กฐ๋ก, ํ๋์ ์์ ์ฑ์ ์ ์ ์ผ๋ก low-pass filtering๊ณผ ๋ณด์ ์ ๊ทํ์ ์์กดํ๋ค. FGP๋ ์ด ๊ตฌ์กฐ์ fabric layer๋ฅผ ์ถ๊ฐํ์ฌ ์์ ์ฑ๊ณผ ์ฑ๋ฅ์ ๋์์ ํฅ์์์ผฐ๋ค.
vs. Residual Policy Learning
์์ฐจ ์ ์ฑ ํ์ต์ ๊ธฐ์กด ์ปจํธ๋กค๋ฌ์ ์ถ๋ ฅ์ ํ์ต๋ ๋ณด์ ์ ๋ํ๋ ์ ๊ทผ์ด๋ค. FGP์ ์ ์ฌํ ์ ์ ์ ๊ณต์ ํ์ง๋ง, fabric์ด ์ ๊ณตํ๋ ๊ธฐํํ์ ๊ตฌ์กฐ์ ์์ ์ฑ ๋ณด์ฅ์ด ์๋ค๋ ์ ์์ ๊ทผ๋ณธ์ ์ผ๋ก ๋ค๋ฅด๋ค.
vs. TamedPUMA
์ต๊ทผ ์ฐ๊ตฌ์ธ TamedPUMA๋ ๋ชจ๋ฐฉ ํ์ต(IL)๊ณผ geometric fabrics๋ฅผ ๊ฒฐํฉํ๋ค. FGP๊ฐ RL์ ์ฌ์ฉํ๋ ๋ฐ๋ฉด, TamedPUMA๋ IL๋ก ์ ์ฑ ์ ํ์ตํ๊ณ fabric์ผ๋ก ์ถฉ๋ ํํผ์ ๊ด์ ํ๊ณ๋ฅผ ๋ณด์ฅํ๋ค. ๋ ์ฐ๊ตฌ ๋ชจ๋ fabric์ ์์ ํ ์ ๋ ์ญํ ์ ํ์ฉํ์ง๋ง, ์ ๊ทผ ๋ฐฉ์์ด ๋ค๋ฅด๋ฉฐ ์ํธ๋ณด์์ ์ด๋ค.
vs. DextrAH-RGB
FGP์ ์ง์ ์ ์ธ ํ์ ์ฐ๊ตฌ๋ก, RGB ์ ๋ ฅ ๊ธฐ๋ฐ ๋น์ ์ ์ฑ ๊ณผ fabric์ ๊ฒฐํฉํ๋ค. FGP์์ ๋ชจ์ ์บก์ฒ๋ก ํ๋ธ ์์ธ๋ฅผ ์ถ์ ํ๋ค๋ฉด, DextrAH-RGB๋ ์คํ ๋ ์ค ์นด๋ฉ๋ผ๋ก๋ถํฐ end-to-end๋ก grasping์ ์ํํ๋ค. ์ด๋ fabric ํ๋ ์์ํฌ์ ํ์ฅ์ฑ์ ๋ณด์ฌ์ฃผ๋ ์ค์ํ ํ์ ์ฐ๊ตฌ๋ค.
์ค๋ฌด์ ์์ฌ์ : Allegro Hand ์ฐ๊ตฌ์๋ฅผ ์ํ ๋ ธํธ
Allegro Hand V4๋ก ์ฐ๊ตฌํ๋ ์ค๋ฌด์์๊ฒ ์ด ๋ ผ๋ฌธ์ด ์ฃผ๋ ๊ตฌ์ฒด์ ์ธ ์์ฌ์ ์ ์ ๋ฆฌํ๋ค:
๊ด์ ํ๊ณ ์ฒ๋ฆฌ: Fabric์ ์ฒ๋ ฅ ํญ์ ํ์ฉํ๋ฉด ๊ด์ ํ๊ณ๋ฅผ ์ํํธํ๊ฒ ์ฒ๋ฆฌํ ์ ์๋ค. ์ด๋ ํ๋ ํด๋จํ๋ณด๋ค ๋์ญํ์ ์ผ๋ก ์์ฐ์ค๋ฝ๊ณ , ํนํ ๋น ๋ฅธ ์์ง์์์ ๊ฐ์์ค๋ฌ์ด ๋ถ์ฐ์์ ํผํ ์ ์๋ค.
ํ ํฌ ์ ์ด ๋ชจ๋ ํ์ฉ: FGP๋ ํ ํฌ ์ ์ด(torque control)๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ค. Allegro Hand์ ์์น ์ ์ด ๋ชจ๋ ๋์ ํ ํฌ ์ ์ด ๋ชจ๋๋ฅผ ์ฌ์ฉํ๋ฉด, fabric์ ์ด์ ์ ์จ์ ํ ํ์ฉํ ์ ์๋ค.
๊ฐ์๋/์ ํฌ ์ ์ฝ์ closed-form ์ฒ๋ฆฌ: ๋ชจํฐ ๋ณดํธ๋ฅผ ์ํ ์ ์ฝ์ ๋ซํ ํํ์ QP๋ก ์ฒ๋ฆฌํ๋ ์ ๊ทผ์, ๋ค๋ฅธ ํ์คํฌ์๋ ๋ฐ๋ก ์ ์ฉํ ์ ์๋ ์ค์ฉ์ ์ธ ๊ธฐ๋ฒ์ด๋ค.
Disturbance wrench for sim-to-real: ํ๋ธ์ ๋ฌด์์ ๋ ์น๋ฅผ ๊ฐํ๋ ๊ธฐ๋ฒ์ contact-rich manipulation์ sim-to-real gap์ ์ค์ด๋ ํจ๊ณผ์ ์ธ ๋ฐฉ๋ฒ์ด๋ค.
Fabric ์ค๊ณ์ ์ฌ์ฌ์ฉ ๊ฐ๋ฅ์ฑ: ๊ด์ ํ๊ณ ํํผ, ์๊ฐ๋ฝ ์ปฌ๋ง ๋ฑ์ fabric ์ปดํฌ๋ํธ๋ ํ๋ธ reorientation๋ฟ ์๋๋ผ ๋ค๋ฅธ in-hand manipulation ํ์คํฌ์์๋ ์ฌ์ฌ์ฉํ ์ ์์ ๊ฐ๋ฅ์ฑ์ด ๋๋ค.
ํฅํ ์ฐ๊ตฌ ๋ฐฉํฅ
๋ ผ๋ฌธ ์ ์๋ค์ด ์ ์ํ ํฅํ ๋ฐฉํฅ๊ณผ ํ์๊ฐ ์ ์ํ๋ ์ถ๊ฐ์ ์ธ ๋ฐฉํฅ:
- ๋ค์ํ ๋ก๋ด ํ๋ซํผ์ผ๋ก์ ํ์ฅ: Allegro Hand ์ธ์ ๋ค๋ฅธ robotic hand (LEAP, Shadow Hand, humanoid hand)์ ์ ์ฉ
- ๋ค์ํ ํ์คํฌ๋ก์ ํ์ฅ: In-hand manipulation ์ธ์ ๋๊ตฌ ์ฌ์ฉ, ์์ ์กฐ์, ์ ์ฐ ๋ฌผ์ฒด ์กฐ์ ๋ฑ
- Fabric ์ค๊ณ ์๋ํ: ํ์ฌ ์๋์ผ๋ก ์ค๊ณํ๋ fabric์ ์๋์ผ๋ก ํ์ตํ๊ฑฐ๋ ์ต์ ํํ๋ ๋ฐฉ๋ฒ
- Foundation Fabric: ๋ค์ํ ํ์คํฌ์ ๋ฒ์ฉ์ ์ผ๋ก ์ ์ฉ ๊ฐ๋ฅํ ๊ธฐ๋ณธ fabric์ ๊ฐ๋ฐ
- VLA ๋ชจ๋ธ๊ณผ์ ๊ฒฐํฉ: Vision-Language-Action ๋ชจ๋ธ์ ์ถ๋ ฅ์ fabric์ forcing์ผ๋ก ํ์ฉํ๋ ํ์ด๋ธ๋ฆฌ๋ ์ํคํ ์ฒ
- Locomotion๊ณผ whole-body control๋ก์ ํ์ฅ: ๋ณดํ ๋ก๋ด์ด๋ ํด๋จธ๋ ธ์ด๋์ ์ ์ ์ ์ด์ fabric ์ ์ฉ (์ด๋ฏธ Kinodynamic Fabrics ๋ฑ ์ด๊ธฐ ์๋๊ฐ ์์)
์์ฝ ๋ฐ ๊ฒฐ๋ก
์ด ๋ ผ๋ฌธ์ ๋ก๋ด ๊ฐํํ์ต์ ๊ตฌ์กฐ์ ํ๊ณ๋ฅผ ๊ทผ๋ณธ์ ์ผ๋ก ์ฌ๊ณ ํ ์ฐ๊ตฌ๋ค. ํต์ฌ ํต์ฐฐ์ ๋จ์ํ์ง๋ง ๊ฐ๋ ฅํ๋ค: RL ์ ์ฑ ์ด ์๋ํ๋ ๋์ญํ์ ๊ธฐ๋ฐ ์์ฒด๋ฅผ ๊ธฐํํ์ ์ผ๋ก ํ๋ถํ๊ณ ์์ ํ๊ฒ ๋ง๋ค๋ฉด, ์ ์ฑ ํ์ต์ด ๋ ์ฌ์์ง๊ณ ๊ฒฐ๊ณผ๊ฐ ๋ ์์ ํ๋ฉฐ ์ฑ๋ฅ์ด ๋ ๋๋ค.
- ๋ฌธ์ : ๊ธฐ์กด RL ์ ์ฑ ์ ๋จ์ํ ์ปจํธ๋กค๋ฌ(OSC, PD) ์์์ ์๋ํ์ฌ, ๋ชจ๋ ๋น์ ํ ํ๋์ ์ง์ ํ์ตํด์ผ ํ๋ฉฐ ๊ฒฐ๊ณผ๊ฐ ์์ ํ์ง ์๋ค.
- ํด๋ฒ: Geometric fabrics๋ก ์ ์๋ ์ธ๊ณต ๋์ญํ์ RL๊ณผ ์ค์ ๋ก๋ด ์ฌ์ด์ ์ฝ์ ํ์ฌ, ์์ ํ๊ณ ์ ๋์ ์ธ ํ๋ ๊ธฐ๋ฐ ์์์ ์ ์ฑ ์ ํ์ตํ๋ค.
- ๊ฒฐ๊ณผ: Allegro Hand์ in-hand cube reorientation์์ ์ด์ SOTA ๋๋น ํ๊ท CS 3๋ฐฐ ์ด์ ํฅ์, 5Hz ์ด์ ํ๋ ๋ ธ์ด์ฆ ๊ฑฐ์ ์ ๊ฑฐ, low-pass filter ๋ถํ์.
์ด ํ๋ ์์ํฌ๊ฐ ๋ก๋ด๊ณตํ ์ปค๋ฎค๋ํฐ์ ์ฃผ๋ ๋ฉ์์ง๋ ๋ถ๋ช ํ๋ค: โ๋ ๋๋ํ ์ ์ฑ ์ ํ์ตํ๊ธฐ ์ ์, ์ ์ฑ ์ด ์๋ํ๋ ํ ์ ์์ฒด๋ฅผ ๋ ๋น์ฅํ๊ฒ ๋ง๋ค๋ผ.โ Geometric fabrics๋ ๊ทธ ๋น์ฅํ ํ ์์ ์ ๊ณตํ๋ ์ํ์ ์ผ๋ก ์๋ฐํ๋ฉด์๋ ์ค์ฉ์ ์ธ ๋๊ตฌ๋ค.
โ๏ธ Dig Review
โ๏ธ Dig โ Go deep, uncover the layers. Dive into technical detail.
1. ์๋ก : โ์ ์ฑ ์ด ๋ชจ๋ ๊ฑธ ๋ฐฐ์ฐ๊ฒ ๋์ง ๋ง์โ โ ์์ /๊ตฌ์กฐ๋ฅผ ๋์ญํ ๋ ์ด์ด๋ก ์ฎ๊ธฐ๊ธฐ
๋ก๋ด์์ RL์ด ์ด๋ ค์ด ์ด์ ๋ ๋จ์ํ โ์ํ-ํ๋ ๊ณต๊ฐ์ด ํฌ๋คโ๊ฐ ์๋๋๋ค. ์ค์ ๋ก ์ ์ฑ ์ด ์๋ํด์ผ ํ๋ ๊ฑด 2์ฐจ(Second-order) ๋์ญํ(๊ด์ฑ, ์ฝ๋ฆฌ์ฌ๋ฆฌ, ์ ์ด, ๋ง์ฐฐ, ์ค๋ ฅ ๋ฑ)์ด๊ณ , ์ด ๋์ญํ์ ํ๋(action)์ด ์ํ(state)๋ฅผ ์ด๋ป๊ฒ ๋ฐ๊พธ๋์ง๋ฅผ ๋ณต์กํ๊ฒ ๊ผฌ์๋์ต๋๋ค. ๋ ผ๋ฌธ์ ์ด ์ ์ ์ ๋ฉด์ผ๋ก ์ง์ต๋๋ค: RL ์ ์ฑ ์ ๋ฐฉ๋ํ ๊ฒฝํ๊ณผ ๋ณต์กํ ๋ณด์ ์ค๊ณ๋ฅผ ํตํด ์ด ์ฝํ์ ํ์ด์ผ ํ๋ฉฐ, ๊ทธ ๊ฒฐ๊ณผ ์ ์ฑ ์ด ๊ณง์ bang-bang(๊ธ๊ฒฉํ) ํ๋์ ๋ด๊ณ ํ๋์จ์ด์ ํด๋กญ๋ค๋ ๋ฌธ์ ๋ก ์ด์ด์ง๋ค๊ณ ์. ๊ธฐ์กด์ ํํ ๊ตฌ์กฐ๋ ์ด๋ ์ต๋๋ค.
- ์ ์ฑ ์ด ์กฐ์ธํธ ๋ชฉํ๊ฐ/๋ชฉํ์๋๋ฅผ ๋ด๊ณ
- ์๋์ชฝ์์ PD(๋๋ OSC) ์ปจํธ๋กค๋ฌ๊ฐ ์ง์ (์ ํ)์ ์ธ โ๋ชฉํ ์ถ์ข โ ๋์์ ์ํ
ํ์ง๋ง ์กฐ์ธํธ ๊ณต๊ฐ/์์ ๊ณต๊ฐ์์์ ์ง์ ์ถ์ข ์ ๋ก๋ด์ด ์ค์ ๋ก ํ์๋ก ํ๋ ํ๋ถํ ๋น์ ํ ํ๋(์: ์ฅ์ ๋ฌผ ์ฃผ๋ณ์ ์์ฐ์ค๋ฝ๊ฒ ๋์๊ฐ๊ธฐ, ์กฐ์ธํธ๋ฆฌ๋ฐ ํํผ, ์ ์ด์ ์ ์งํ๋ฉฐ ์กฐ์ํ๊ธฐ)์ ๊ฑฐ์ ๋ด์ง ๋ชปํฉ๋๋ค. ๊ทธ๋ฌ๋ฉด ๊ทธ โ๋น์ ํ์ฑโ์ ์ ๋ถ RL์ด ๋ณด์์ผ๋ก ํ์ตํด์ผ ํ๊ณ , ๋ณด์ ์ค๊ณ ๋์ด๋์ ์์ ๋ฌธ์ ๋ ํญ๋ฐํฉ๋๋ค. ์ด ๋ ผ๋ฌธ์ ํต์ฌ ์ ์์ ํ ๋ฌธ์ฅ์ผ๋ก ์์ฝํ๋ฉด:
์ ์ฑ ์ด ๋ฐฐ์์ผ ํ ๊ฒ์ ์ค์ด์.
๊ทธ ๋ฐฉ๋ฒ์ผ๋ก ๊ธฐํํ์ Fabrics๊ฐ ๋ง๋ค์ด๋ด๋ โํ๋ ๋์ญํ(behavioral dynamics)โ์ ์ ์ฑ ์๋์ ๊น์,
์ ์ฑ ์ ๊ทธ ์์์ ์์ ํ๊ณ ์ ๋๋(action-space๊ฐ ๋ฐ๋) ์ ์ด๋ง ํ์ตํ๊ฒ ํ์.
2. ๋ฐฉ๋ฒ: Geometric Fabrics โ Behavioral Dynamics โ Fabric-Guided Policy(FGP)
2.1 ํฐ ๊ทธ๋ฆผ(์ํคํ ์ฒ)
์ด ๋ ผ๋ฌธ์ โ์ค์ ๋ก๋ด ๋์ญํโ ์์ โ์ธ๊ณต(artificial) 2์ฐจ ๋์ญํโ์ ์น์ด ์์ต๋๋ค. ๊ทธ ์ธ๊ณต ๋์ญํ์ด ๋ฐ๋ก (forced, energized) geometric fabric์ด๊ณ , ์ด ์กฐํฉ์ด behavioral dynamics์ ๋๋ค. ์๋๋ ๋ ผ๋ฌธ ๊ตฌ์กฐ๋ฅผ ์ ์ด ๊ด์ ์์ ์ฌ์ ๋ฆฌํ ๋ค์ด์ด๊ทธ๋จ์ ๋๋ค.
flowchart TB
subgraph Policy["RL Policy ฯ(a|o)"]
O[Observations o_t] --> A[Actions a_t]
end
subgraph FabricLayer["Geometric Fabric / Behavioral Dynamics"]
A --> Fdrive["Driving force f_ฯ(q, qdot, a)"]
Fdrive --> FabricDyn["Artificial 2nd-order dynamics: qฬ_f = h(q_f, qฬ_f) + ..."]
FabricDyn --> Qdes["Target/desired states (e.g., q_des or task-space force)"]
end
subgraph LowLevel["Low-level torque control"]
Qdes --> Tau["ฯ = ID(q,qฬ,qฬ_des)+ PD tracking"]
end
subgraph RealRobot["Real robot dynamics"]
Tau --> Plant["M(q)qฬ + C(q,qฬ) + g(q) + contacts = ฯ"]
Plant --> O
end
ํต์ฌ์ ์ ์ฑ ์ด ๊ณง๋ฐ๋ก ฯ(ํ ํฌ)๋ q_des(๋ชฉํ๊ฐ)๋ฅผ โ๊ทธ๋๋กโ ๋ด๋ ๋์ , fabric์ด๋ผ๋ โ๊ฐ์ด๋ ๋์ญํโ์ ๋ฐ์ด์ฃผ๋ ์ ๋ ฅ(์: force-like action)์ ๋ด๊ณ , ๊ทธ ๊ฒฐ๊ณผ๊ฐ ์์ ํ๊ณ ์๋ฏธ ์๋ ๊ถค์ /ํ๋์ ๋ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ๋ง๋ค์ด์ค๋ค๋ ์ ์ ๋๋ค.
2.2 (์์) Forcing Energized Fabric: ์ โ๊ธฐํํ์ (geometric)โ์ด๊ณ ์ ์์ ์ ์ธ๊ฐ?
๋ ผ๋ฌธ์ fabric์ โ์์ ์ฑ์ด ๋ณด์ฅ๋๋(Provably stable) 2์ฐจ ์์คํ ์ ํน์ subclassโ๋ก ๋ก๋๋ค.์ ํํ ์์ ํ๊ธฐ๋ HTML์์ ์์์ด ์ผ๋ถ ์๋ต๋์ด ๋ณด์ด์ง๋ง, ๋ ผ๋ฌธ ํ ์คํธ๊ฐ ๋งํ๋ ๊ตฌ์ฑ์์๋ ๋ถ๋ช ํฉ๋๋ค:
- ์ํ: (\mathbf{q}, \dot{\mathbf{q}}, \ddot{\mathbf{q}})
- system metric \mathbf{M}(\cdot): โ์ง๋/์ฐ์ ์์โ ์ญํ (positive definite)
- fabric term: ์๋์ ๋ํด HD2(homogeneous degree-2)๋ก ๋ง๋ค์ด ๊ฒฝ๋ก๊ฐ ์๋์ ๋ถ๋ณ(speed-invariant)์ธ โ๊ธฐํํ์ ๊ฒฝ๋กโ๋ฅผ ๋ง๋ค๋๋ก ์ค๊ณ
- potential \psi(\mathbf{q})์ gradient, damping matrix \mathbf{B}, ๊ทธ๋ฆฌ๊ณ ๊ธฐํ๋ฅผ ๋ณด์กดํ๋ ์ค์นผ๋ผ damping(๋ ผ๋ฌธ์์ ๋ณ๋ scalar๋ก ์ธ๊ธ)
- energization coefficient \alpha: ์๋์ง ์์ ์ฑ ์ ์ง(energy stable)
์ง๊ด์ ์ผ๋ก ๋งํ๋ฉด:
- \mathbf{M}์ด โ์ด ๊ณต๊ฐ์์ ์ด๋ค ๋ฐฉํฅ์ด ์ค์ํ๊ฐ(=๊ฐ์ค์น/์ฐ์ ์์)โ๋ฅผ ์ ํ๊ณ ,
- fabric(HD2)์ด โ๊ธฐ๋ณธ์ ์ผ๋ก ๋ฐ๋ฅด๊ณ ์ถ์ ๊ธธ(road network of paths)โ์ ๋ง๋ค๋ฉฐ,
- \nabla\psi, \mathbf{B}, scalar damping์ โ์ ์ฝ/์์ /๊ฐ์ โ๋ฅผ ๊ฑธ์ด์ฃผ๊ณ ,
- energization์ โ์๋์ง ๊ด์ ์์ ์์คํ ์ด ํญ์ฃผํ์ง ์๋๋กโ ๊ท ํ์ ์ก์ต๋๋ค.
์ด โroad networkโ ๋น์ ๋ fabrics ์ด๋ก ๋ ผ๋ฌธ(2309.07368)์ด ์ง์ ์ ์ผ๋ก ๊ฐ์กฐํ๋ ํต์ฌ ์ง๊ด์ ๋๋ค: ๊ธฐํํ์ fabric์ ์๋ ๋ถ๋ณ์ โ๊ธธ๋ง(road network)โ์ ๋ง๋ค๊ณ , ์ ์ฑ ์ ๊ทธ ์์์ ์๋๋ฅผ ์กฐ์ ํ๊ณ ๊ธธ์ ๊ฐ์ํ๋ฉฐ ๋ชฉํ๋ฅผ ๋ฌ์ฑํ๋ค.
2.3 (์์) Behavioral Dynamics: ์ธ๊ณต ๋์ญํ๊ณผ ์ค์ ๋์ญํ์ ๊ฒฐํฉ
๋ ผ๋ฌธ์ ์ธ๊ณต fabric ๋์ญํ์ โ์ธ๊ณต forceโ๋ก ๋ค์ ์ฐ๊ณ , ์ด๋ฅผ ์ค์ ๋ก๋ด ๋์ญํ๊ณผ ํ ํฌ ์ ์ด๋ฒ์ผ๋ก ์ฐ๊ฒฐํฉ๋๋ค. (๋ ผ๋ฌธ II-B, II-C) ๊ฐ๋ ์ ์ ๋ฆฌํ๋ฉด:
์ธ๊ณต ๋์ญํ(=fabric)์ \ddot{\mathbf{q}}_f = \text{(fabric dynamics)} + \text{(policy๊ฐ ์ฃผ๋ driving force)} ์ฒ๋ผ ๋ณผ ์ ์์ต๋๋ค. ๋ ผ๋ฌธ์ ์ด๋ฅผ โartificial forceโ ํํ๋ก compact rewrite ๊ฐ๋ฅํ๋ค๊ณ ๋งํฉ๋๋ค.
์ค์ ๋ก๋ด ๋์ญํ์ \mathbf{M}(\mathbf{q})\ddot{\mathbf{q}} + \mathbf{f}(\mathbf{q},\dot{\mathbf{q}}) = \boldsymbol{\tau} ๋ฅ์ ํํ(์ ์ด/๋ง์ฐฐ/์ฝ๋ฆฌ์ฌ๋ฆฌ/์ค๋ ฅ ํฌํจ)๋ก ์๊ฐํ ์ ์๊ณ , ๋ ผ๋ฌธ์ \mathbf{M}๊ณผ \mathbf{f}๋ฅผ ๋ช ์์ ์ผ๋ก ์ธ๊ธํฉ๋๋ค.
๋์ ์๋ ๊ฑด ํ ํฌ ์ ์ด๋ฒ \boldsymbol{\tau}(\cdot)์ ๋๋ค. ๋ ผ๋ฌธ์ ์ค๋ฌด์ ์ผ๋ก ํํ ํํ์ธ
- inverse dynamics compensation + joint PD tracking ๋ฅผ ์ฃผ๋ก ์ฌ์ฉํ๋ค๊ณ ๋งํฉ๋๋ค. ์ด ๊ฒฝ์ฐ ์์ ๊ณต๊ฐ์์ \mathbf{q}\approx \mathbf{q}_f๋ฅผ ๊ฐํ๊ฒ ๋ง๋ค ์ ์๊ณ , ์ ์ด ์์๋ fabric state์ real state์ โ๋ถ๋ฆฌโ๊ฐ ์ ์ด๋ ฅ์ ์ ๋ํ๊ฒ ๋ฉ๋๋ค(์ํผ๋์ค/์ด๋๋ฏธํด์ค์ ์ ์ฌํ ๋ฐ์). ์ด ์ฐ๊ฒฐ์ ๋ก๋ด ์ ์ด ๊ด์ ์์ ์์ฃผ ์ค์ํ๋ฐ์. ์ ์ฑ ์ด ์ง์ ์ ์ด๋ ฅ์ โ๋ชจ๋ธ๋งโํด์ ๋ง์ถ๋ ๋์ , fabric/PD ๊ณ์ธต์ด ๋ง๋ค์ด๋ด๋ โ๋ถ๋ฆฌโ๋ก ์ ์ด์ด ์์ฐ์ค๋ฝ๊ฒ ๋ฐ์ํ๋๋ก ์ค๊ณํ๋ฉด, ์ ์ฑ ์ ๊ทธ ์์์ ์กฐ์์ ํ์ตํ๊ธฐ ์ฌ์์ง๋๋ค.
2.4 (ํต์ฌ) Policy Action Space์ ์ฌ์ ์: โ์กฐ์ธํธ ๋ชฉํโ ๋์ โfingertip-space force๋ฅผ ๋ฐ์ด๋ผโ
๋ ผ๋ฌธ์ ๊ตฌํ ํํธ(Allegro Hand cube reorientation)์์ ๊ฐ์ฅ ์ธ์์ ์ธ ์ค๊ณ๋ action space์ ๋๋ค.
RL action a_t๋ฅผ ๋ฐ๋ก ์กฐ์ธํธ ๋ชฉํ๋ก ์ฐ์ง ์๊ณ ,
์๋(fingertip) ๊ณต๊ฐ์ force๋ก ๋ณํํ ๋ค,
Jacobian์ผ๋ก configuration/root๋ก pull-back ํด์ fabric์ ์ฃผ์ ํฉ๋๋ค. ๋ ผ๋ฌธ ํํ์ ์์ฝํ๋ฉด:
action์ [-1,1] ๊ฐ์ ๋ฒ์๋ก clamp ํ scaleํด์ fingertip-space force๋ฅผ ๋ง๋ค๊ณ ,
์ด๋ฅผ Jacobian์ผ๋ก ๋ฃจํธ๋ก ๋์ด์ fabric forcing ํญ์ ๋ฃ๋๋ค. ์ด๊ฒ ์ ์ค์ํ๊ฐ?
์ ์ฑ ์ด ์ง์ โ์กฐ์ธํธ ๊ฐ๋ ๊ถค์ โ์ ๋ฏธ์ธํ๊ฒ ์ค๊ณํ์ง ์์๋ ๋ฉ๋๋ค.
์ ์ฑ ์ โ์ด๋ ์๋์ ์ด๋ค ๋ฐฉํฅ์ผ๋ก ์ผ๋ง๋ ๋ฐ์งโ๋ง ๋์ถฉ bang-bang๋ก ๋ด๋,
fabric์ด ๊ธฐ๋ณธ ๊ฒฝ๋ก/์ ์ฝ ํํผ/๊ฐ์ ๋ฅผ ๊น์์ฃผ๊ธฐ ๋๋ฌธ์,
๊ฒฐ๊ณผ ํ๋์ ์์ ํ๊ณ ๋งค๋ํ(ํน์ ์ ์ด๋ ๊ณ ์ฃผํ ๋ ธ์ด์ฆ๊ฐ ์ต์ ๋) ๋ฐฉํฅ์ผ๋ก ์ ๋๋ฉ๋๋ค. ์ค์ ๋ก ๋ ผ๋ฌธ์ โraw RL actions๋ bang-bang์ธ๋ฐ๋, ๊ฒฐ๊ณผ ํ๊น ์กฐ์ธํธ ์ ํธ๋ 5Hz ์ด์์์ ๊ฑฐ์ 0์ ๊ฐ๊น๋คโ๋ ์คํํธ๋ผ ๋ถ์์ ๋ณด์ฌ์ค๋๋ค.
2.5 (์์) ๊ฐ์๋/์ ํฌ ์ ํ์ QP๋ก ๋ค๋ฃจ๋ ๋ฐฉ๋ฒ(๋ซํํ ํด ํฌํจ)
์ค๋ก๋ด์์ ์์ฃผ ๋ฌด์๋๋ค๊ฐ ํฐ ์ฌ๊ณ ๋ก ๋์์ค๋ ์ ์ฝ์ด:
- joint acceleration limit
- joint jerk limit
๋ ผ๋ฌธ์ ์ด๋ฅผ fabric/ํ ํฌ๋ฒ์น ์ค๊ณ์ ์์ฐ์ค๋ฝ๊ฒ ํฌํจ์ํค๋ ๊ฐ๋จํ QP๋ฅผ ์ ์ํฉ๋๋ค. ํต์ฌ ์์ด๋์ด:
์ํ๋ \ddot{\mathbf{q}} (๋๋ \ddot{\mathbf{q}}_f)๊ฐ ๋์์ ๋,
์ด๋ฅผ ๊ทธ๋๋ก ์ฐ์ง ๋ง๊ณ ,
โ์ค์ผ์ผ์ ์ค์ด๋โ ํํ๋ก ์ ํ์ ๋ง์กฑ์ํค๋๋ก \eta ๊ฐ์ ์ค์นผ๋ผ๋ฅผ ํธ๋ ์์ ๋๋ค. ๋ ผ๋ฌธ ํ ์คํธ์ ๋ฐ๋ฅด๋ฉด:
QP๋ฅผ ์ธ์ฐ๋ฉด closed-form solution์ด ์๊ณ , \eta \to \infty์ผ ๋ \ddot{\mathbf{q}}\to 0๋ก ๋ง๋ค ์ ์์ด์,
๊ฐ์๋๋ฅผ ์ํ๋ ๋งํผ ์๊ฒ ๋ง๋ค ์ ์๋ค๊ณ ์ฃผ์ฅํฉ๋๋ค. ๋ํ ์ ํฌ ์ ํ์ ์ด์ฐํ๋ jerk ๋ชจ๋ธ๋ก๋ถํฐ โ๊ฐ๋ฅํ ์ต๋ jerkโ๋ฅผ ๊ณ์ฐํด ๊ฐ์๋ ์ ํ์ ๋ ๋ณด์์ ์ผ๋ก ์ฌ์ค์ ํ๋ ๋ฐฉ์์ผ๋ก ๋ค๋ฃน๋๋ค. #### ์์ฌ์ฝ๋(์ค๋ฌด ์ ์ฉํ)
Given desired acceleration qdd_des (from fabric / policy)
Given accel_limit qdd_max and jerk_limit j_max
Given last acceleration qdd_prev
# 1) jerk -> effective accel limit (paper's discretized bound idea)
qdd_max_eff = min(qdd_max, (j_max * dt)/2 ) # ์ง๊ด: jerk ์ ํ์ด ๋นก์ธ๋ฉด accel๋ ์ค์ฌ์ผ ํจ
# 2) Solve scaling QP (closed-form in paper)
# choose scalar eta >= 0 so that ||qdd(eta)||_inf <= qdd_max_eff
eta = find_min_eta_satisfying_limit(qdd_des, qdd_max_eff)
qdd_safe = qdd_des / (1 + eta) # ์ง๊ด์ ํํ(๋
ผ๋ฌธ์ closed-form๋ก ์ ๋๋จ)
return qdd_safe์ฃผ์: ์ ์์ ์ ํํ ๋ซํํ ํํ์ ๋ ผ๋ฌธ ์์(5~10)์ ์ข ์์ด์ง๋ง, โ์ค์นผ๋ผ ํ๋๋ก ์ ์ฒด ๊ฐ์๋ ํฌ๊ธฐ๋ฅผ ์กฐ์ ํ์ฌ ์ ์ฝ์ ๋ง์กฑโ์ํค๋ ๊ตฌ์กฐ๊ฐ ์์ง์ ๋๋ค.
2.6 Fabrics ์ค๊ณ(Allegro Hand): Attraction / Repulsion / Energization / Geometric Damping
๋ ผ๋ฌธ์ cube reorientation์ ์ํด fabric์ ๊ตฌ์ฑํ๋ ์์๋ฅผ ๋ถํดํด ์ค๋ช ํฉ๋๋ค. (1) Attraction: โ์ ์ด๊ณผ ์ผ์ด์ง(caging)๋ฅผ ๊ธฐ๋ณธ๊ฐ์ผ๋กโ
- ์๋์ด ํ๋ธ ์ค์ฌ์ ํฅํด โ๋๋ฆฌ๊ฒโ ํ์ฌ ์ ์ด์ ์ ๋
- ์๊ฐ๋ฝ ๊ด์ ์ด โ์์ผ๋ก ๋ง๋ฆฐ(curl)โ ์์ธ๋ฅผ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ๋ง๋ค์ด ์ผ์ด์ง ํจ๊ณผ ์ ๊ณต ์ด ์ค๊ณ๋ RL์๊ฒ โ์ ์ด ์ ์ง/ํ์ ๊ฐ์ธ๊ธฐโ ๊ฐ์ ์กฐ์์ ๊ธฐ๋ฐ์ ๋ณด์ ์์ด๋ ๊น์์ฃผ๋ ์ญํ ์ ํฉ๋๋ค.
(2) Repulsion: โ์กฐ์ธํธ ๋ฆฌ๋ฐ์ barrier metric์ผ๋กโ
- upper/lower joint limit task space๋ฅผ ๋๊ณ
- metric์ ๋๊ฐ ์ฑ๋ถ์ด ๋ฆฌ๋ฐ์ ๊ฐ๊น์์ง์๋ก ์ปค์ง๋ barrier ํํ๊ฐ ๋๊ฒ ์ค๊ณ
- acceleration ํญ๋ โ๋ฆฌ๋ฐ์์ ๋ฉ์ด์ง๊ฒโ ์์ ๋ฐฉํฅ์ผ๋ก ์๋ํ๋๋ก ๋ ์ฌ๊ธฐ์ ์ค์ํ ํฌ์ธํธ๋ โ์ ์ฝ์ penalty๋ก๋ง ๋ฃ๋ ๊ฒ ์๋๋ผโ ๋์ญํ์ metric/๊ฐ์๋ ๊ตฌ์กฐ๋ก ํธ์ ํด๋ฒ๋ฆฐ๋ค๋ ์ ์ ๋๋ค.
(3) Energization: โfabric ์์ฒด์ ์๋์ง ์์ ์ฑโ
energization coefficient๋ ๊ธฐ์กด ์ด๋ก (Optimization/Geometric fabrics)์์ ์ ์๋ ์ ๋ฆฌ(Theorem ๊ธฐ๋ฐ)๋ก ๊ณ์ฐํด, fabric์ด energy stableํ๋๋ก ๋ณด์ฅํฉ๋๋ค. (4) Geometrically-consistent damping: โ๊ฒฝ๋ก๋ ์ ์ง, ์๋๋ง ๋ฆ์ถ๊ธฐโ
๋ ผ๋ฌธ์ damping์ ํ๋ จ ์ ์๊ฒ ๋์ด ํํ์ ๋๊ณ , ๋ฐฐํฌ ์ ์ฌ๋ฌ ๊ฐ์ ์คํํฉ๋๋ค. ํนํ damping์ ํค์ฐ๋ฉด
- ๊ฒฝ๋ก(์๊ฐ๋ฝ ๊ฒฝ๋ก)๋ ์๋์ ์ผ๋ก ์ ์ง๋๋ฉด์
- ์๋๋ง ๋๋ ค์ง๋ โ๊ธฐํ ์ผ๊ดโ ๊ฐ์ ๊ฐ ๋์ด sim2real์ ์ ๋ฆฌํ๋ค๊ณ ๋ณด๊ณ ํฉ๋๋ค.
3. ์คํ: Allegro Hand ํ๋ธ ์ฌ์งํฅ(in-hand reorientation) โ ํ์ต ์๋/์ฑ๋ฅ/ํ๋์จ์ด ์นํ์ฑ
3.1 ์คํ ์ ์ ๊ฐ์
- ํ๋ซํผ: 16-actuator, 4-finger Allegro Hand v4
- ๋ฌธ์ : ์ ์์์ ํ๋ธ์ orientation์ ์ง์์ ์ผ๋ก ํ์ (reorientation)
- ์ธ์: vision-based cube pose estimation (๊ธฐ์กด DeXtreme ์ ์ ๊ณผ ์ ์ฌ) ๋ ผ๋ฌธ์ ๋น๊ต ๋์์ผ๋ก DeXtreme ๊ณ์ด(๊ธฐ์กด SOTA ๋ผ์ธ)์ ๋๊ณ , fabric-guided policy(FGP)์ ํ์ต/์ค๋ก๋ด ์ฑ๋ฅ/์ก์ ๋ ธ์ด์ฆ๋ฅผ ๋น๊ตํฉ๋๋ค.
3.2 ํ์ต ๊ด์ฐฐ: FGP๋ ๋ โ๋งค๋ํจ์ ํ์ตโํ๊ธฐ ์ด๋ ต์ง๋ง, ๊ฐ๋ฅํ๋ค
๋ ผ๋ฌธ Table I ์์ง:
DeXtreme (new)๋ ํน์ ์ํธ๋กํผ ์์ค(์: -0.5 npd)์ ๋๋ฌํ๋ ์๊ฐ์ด ๋ ๋น ๋ฅธ ๊ฒฝํฅ
FGP๋ ๋ ๋ฎ์ entropy(๋ โ๊ฒฐ์ ์ /๋งค๋ํโ ๋ฐฉํฅ)๋ก ๊ฐ๋ ๊ฒฝํฅ์ด ๋ณด์ด์ง๋ง, ํ์ต์ด ๋ ์ค๋ ๊ฑธ๋ฆด ์ ์์
๊ฒฐ๋ก ์ ์ผ๋ก โ๊ณ ์ฑ๋ฅ FGP๋ ์ฝ 1์ฃผ ์ ๋ ํ์ต์ผ๋ก ๊ฐ๋ฅโ ์ฌ๊ธฐ์ ์ค์ํ ํด์์:
FGP๋ action space๊ฐ force-like์ด๊ณ ์๋์์ ๋์ญํ์ด ํ๋์ โ์ ๋ฆฌโํด์ฃผ๊ธฐ ๋๋ฌธ์,
์ ์ฑ ์ ์ฅ์์ ํํ(exploration)๊ณผ ์ฑ๋ฅ ์ฌ์ด์ trade-off๊ฐ ๋ค๋ฅด๊ฒ ๋ํ๋ ์ ์์ต๋๋ค.
์ฆ, โ์ ์ฑ ์ด ๋ bang-bang๋ก ํํํด๋ ์์ /๊ฒฝ๋ก๊ฐ ์ ์งโ๋์ง๋ง,
๊ทธ bang-bang๊ฐ ์์ ํ ์ฌ๋ผ์ง๋ ๋ฐฉํฅ์ผ๋ก ์ต์ ํํ๋ ๊ฑด ๋ ๋ณ๊ฐ์ ๋ฌธ์ (์ํธ๋กํผ, smoothness ๋ฑ)์ ๋๋ค.
3.3 ์ค๋ก๋ด ์ฑ๋ฅ: CS(์ฐ์ ์ฑ๊ณต) / RPM(์๋) / ๊ณ ์ฃผํ ๋ ธ์ด์ฆ ์ต์
๋ ผ๋ฌธ์ ์ธ ์งํ๋ฅผ ๋ด ๋๋ค. * CS (consecutive success): ์ฐ์ ์ฑ๊ณต ํ์ ์ * RPM (rotations per minute): ์ฑ๊ณต ์๋ * Action noise rejection: 5Hz ์ด์ ์ฑ๋ถ ์ต์ (FFT๋ก ๋ถ์)
(A) CS / RPM: damping ๊ฐ์ ๋ฐ๋ฅธ ํธ๋ ์ด๋์คํ
Table II์์ FGP๋ damping ๊ฐ์ ๋ฐ๊ฟ๊ฐ๋ฉฐ ์ฑ๋ฅ์ ๋ณด๊ณ ํฉ๋๋ค. ํต์ฌ ๋ฌธ์ฅ:
- FGP๋ damping ์ฆ๊ฐ์ ๋ฐ๋ผ CS๊ฐ ์ด๋ ์ง์ ๊น์ง ์ข์์ง๋ค(์: ํน์ ๊ฐ๊น์ง), ์ดํ ๊ณผ๋ํ๋ฉด ์ ํ
- RPM์ DeXtreme๋ณด๋ค FGP๊ฐ ์ ๋ฐ์ ์ผ๋ก ์ฐ์, ์์ damping์ ์๊ฐ๋ฝ ์์ง์์ด ๋น ๋ฅด์ง๋ง ์๋ฌ๊ฐ ๋์ด RPM์ด ๊ผญ ๊ฐ์ ๋์ง ์์
- โ์ ๊ตํจ(meticulous)โ์ด ์ฆ๊ฐํ๋ฉด precision๊ณผ CS๊ฐ ๊ฐ์ ์ด๋ฅผ ํ ์ค๋ก ์์ฝํ๋ฉด:
FGP๋ โ๊ฒฝ๋ก๋ ์ ์งํ ์ฑ ์๋๋ง ์กฐ์ โํ๋ damping knob๋ก sim2real ์ฑ๋ฅ์ ํ๋ํ ์ ์๋ค. (B) ๊ณ ์ฃผํ ๋ ธ์ด์ฆ ์ต์ : โbang-bang action์ธ๋ฐ๋ ํ๋์จ์ด ์นํ์ โ
๋ ผ๋ฌธ์ด ๋งค์ฐ ๊ฐํ๊ฒ ์ฃผ์ฅํ๋ ํฌ์ธํธ์ ๋๋ค.
DeXtreme๋ ๊ฐํ low-pass filtering์ ์จ๋ 5Hz ์ด์ ์ฑ๋ถ์ด ๋จ๋๋ฐ,
FGP๋ 5Hz ์ด์ ์คํํธ๋ผ ์งํญ์ด ๊ฑฐ์ 0์ ๊ฐ๊น๋ค
ํฅ๋ฏธ๋กญ๊ฒ๋, FGP์ raw RL action์ bang-bang์ผ ์ ์๋๋ฐ๋ ์ต์ข ์กฐ์ธํธ ํ๊น ์ ํธ๋ ๊นจ๋ํ๋ค ์ด๊ฒ ์๋ฏธํ๋ ๋ฐ๋ ์ค๋ฌด์ ์ผ๋ก ํฝ๋๋ค.
โ์ ์ฑ ์ถ๋ ฅ์ ํ์ฒ๋ฆฌ ํํฐ(EMA/LPF)๋ฅผ ๋์ง๋์ง ๋ถ์ด๋ ๋ฐฉ์โ์
- ํํ์ ๋ฐฉํดํ๊ณ
- ์๋ต์ฑ์ ๋จ์ด๋จ๋ฆฌ๋ฉฐ
- ๊ทธ๋๋ ์์ ํ ์์ ์ ๋ณด์ฅํ์ง ๋ชปํฉ๋๋ค.
๋ฐ๋ฉด FGP๋ โ๊ตฌ์กฐ์ ์ผ๋กโ ๋ ธ์ด์ฆ๊ฐ ์์์ ์๋๋ก ์ ๋ฌ๋๋ ๊ฒ์ ์ฝํ(attenuation)์์ผ, ํ๋์จ์ด ์ ์ง๋น(๋ง๋ชจ/์๋ฆฌ) ๊ด์ ์ ์ค์ฉ์ฑ์ ์ ๋ฉด์ ๋ด์ธ์๋๋ค.
3.4 ๋ ผ๋ฌธ ๊ทธ๋ฆผ(ํ ์คํธ ์ค๋ช ): Fig.1 FFT ์คํํธ๋ผ
๋ ผ๋ฌธ Fig.1์ FGP์ DeXtreme์ target joint angles(๋๋ ์ ์ฌ ํ๊น ์ ํธ)๋ฅผ FFT๋ก ๋ณธ ๊ทธ๋ฆผ์ ๋๋ค.
- FGP: 2Hz ์ดํ์ ์๋์ง๊ฐ ๋ชฐ๋ฆฌ๊ณ , 5Hz ์ด์์ ๊ฑฐ์ 0
- DeXtreme: 5Hz ์ด์ ์ฑ๋ถ์ด ์๋์ ์ผ๋ก ํฌ๊ฒ ๋จ์ > ํด์: FGP๋ โ์ ์ฑ ์ด ๊ฑฐ์น ๊ฒ ๋๋๋ ค๋(fast switching) fabric+ํ ํฌ ๊ณ์ธต์ด ์ด๋ฅผ ๊ธฐ๊ณ์ ์ผ๋ก ์ ๋โํ์ฌ, ๊ณ ์ฃผํ๊ฐ ๊ด์ ๋ชฉํ๋ก ๋ฒ์ญ๋๋ ๊ฑธ ๋ง์์ค๋ค.
4. ๋นํ์ ๊ณ ์ฐฐ: ๊ฐ์ /์ฝ์ /ํ๊ณ
4.1 ๊ฐ์ 1 โ ์์ ์ โ๋ณด์/ํจ๋ํฐโ๊ฐ ์๋๋ผ โ๋์ญํโ์ผ๋ก ์ฎ๊ธด๋ค
์ด ๋ ผ๋ฌธ์ ๊ฐ์ฅ ํฐ ๋ฏธ๋์ ์์ ์ RL์ reward shaping์์ ๋์ด๋ด๋ ค ์ ์ด/๋์ญํ ๊ณ์ธต์ผ๋ก ๋ด์ฅํ๋ค๋ ์ ์ ๋๋ค.
- ์กฐ์ธํธ ๋ฆฌ๋ฐ: barrier metric + repulsion acceleration* ์๋์ง ์์ ์ฑ: energization ๊ธฐ๋ฐ ์์ ์ฑ* jerk/accel: QP ๊ธฐ๋ฐ ์ ํ(๋ซํํ ํด) ์ด๋ฐ ๊ฒ๋ค์ ๋ณด์์ โ์กฐ์ธํธ ๋ฆฌ๋ฐ ํจ๋ํฐโ, โ๊ฐ์๋ ํจ๋ํฐโ๋ก ๋ฃ๋ ๊ฒ๊ณผ ์ง์ ์ผ๋ก ๋ค๋ฆ ๋๋ค. ํจ๋ํฐ๋ ํ์ต ์ค ์๋ฐ์ โ๋ ํ๊ฒโ ๋ง๋ค ๋ฟ์ด์ง๋ง, ๋์ญํ ๋ด์ฅ์ ํ๋์ด ๊ทธ์ชฝ์ผ๋ก ์ ๋ฒ์ญ๋์ง ์๊ฒ ๋ง๋ญ๋๋ค.
4.2 ๊ฐ์ 2 โ action space ์ฌ์ค๊ณ์ ํ๊ดด๋ ฅ: โํ์ผ๋ก ๋ฐ๊ณ , ๋๋จธ์ง๋ ๊ธธ์ด ํด๊ฒฐโ
FGP์์ policy action์ fingertip-space force๋ก ๋๋ ์ค๊ณ๋, ์ ์ด ๊ด์ ์์ ๋งํ๋ฉด:
- RL์ด ํด์ผ ํ ์ผ: โ์ด๋๋ฅผ ์ด๋ค ๋ฐฉํฅ์ผ๋ก ๋ฐ๊น?โ
- RL์ด ์ ํด๋ ๋๋ ์ผ: โ์กฐ์ธํธ ๊ถค์ ์ ์ด๋ป๊ฒ ๋งค๋ํ๊ฒ ๋ง๋ค๊น?โ, โ๋ฆฌ๋ฐ์ ์ด๋ป๊ฒ ํํผํ ๊น?โ, โ์ ์ด์ ์ด๋ป๊ฒ ์ ์งํ ๊น?โ
์ด ๋ถ์ ์ด ์ฑ๋ฅ๋ฟ ์๋๋ผ โ์ ์ฑ ์ด์/์ฌ์ฌ์ฉโ ์ธก๋ฉด์๋ ์ ์ฌ๋ ฅ์ด ํฝ๋๋ค. ๋์ผํ fabric ์์์๋ ์ ์ฑ ์ด ๋น๊ต์ ์ผ๊ด๋ ์๋ฏธ๋ฅผ ๊ฐ๊ฒ ๋๋๊น์(โ์ด ํ์ ์ฃผ๋ฉด ์ด๋ ๊ฒ ๋ฐ์ํ๋คโ).
4.3 ๊ฐ์ 3 โ sim2real ํ๋ ๋ ธ๋ธ๊ฐ ๋ช ํํด์ง๋ค(damping)
๋ ผ๋ฌธ์ด ๋ณด์ฌ์ค damping knob๋ ์ค๋ฌด์ ์ธ โ๋๋ฒ๊น ๊ฐ๋ฅ์ฑโ์ ํฌ๊ฒ ์ฌ๋ฆฝ๋๋ค.
- ๋ฐฐํฌ ์ damping์ ์ฌ๋ฆฌ๋ฉด ์๋๋ ์ค์ง๋ง ๊ฒฝ๋ก๋ ์ ์ง โ ์์ ์ , ์ ๊ตํจ ์ฆ๊ฐ โ sim2real ๊ฐ์ ๊ฐ๋ฅ ๊ธฐ์กด end-to-end RL์ โ์ ์ค๋ก๋ด์์ ํ๋ค๋ฆฌ๋์งโ๋ฅผ ํ์ ํ๊ธฐ ์ด๋ ค์ด๋ฐ, FGP๋ ์ต์ํ โ์๋๋ฅผ ์ค์ฌ ๋์ญํ/์ง์ฐ/๋ฏธ๋ชจ๋ธ ํจ๊ณผ๋ฅผ ์ํโํ๋ ์ถ์ด ๋ถ๋ช ํฉ๋๋ค.
4.4 ์ฝ์ 1 โ fabric ์ค๊ณ๋ ๊ฒฐ๊ตญ โ์ฌ๋์ ์ผโ์ด ๋๋ค (์ค๊ณ ๋ณต์ก์ฑ/์ด์์ฑ)
๋ ผ๋ฌธ ๊ตฌํ์ ๋งค์ฐ ์๋ฆฌํ์ง๋ง, ๋์์ ์ง๋ฌธ์ ๋จ๊น๋๋ค:
- fingertip attractor ๋ชฉํ๋ฅผ ์ด๋ป๊ฒ ๋ ๊ฒ์ธ๊ฐ?
- curled posture target์ ์ด๋ป๊ฒ ์ ํ ๊ฒ์ธ๊ฐ?
- barrier metric์ shape/๊ฒ์ธ์ ์ด๋ป๊ฒ ํ๋ํ ๊ฒ์ธ๊ฐ?
- energization/metric ํฉ์ฑ์ ์ด๋ค ์๋ฆฌ๋ก ์์ ์ฑ์ ์ ์งํ๋๊ฐ?
์ฆ, ์ข์ fabric์ ๋ง๋๋ ์ผ์ด ๋ ํ๋์ โ์ปจํธ๋กค ์์ง๋์ด๋งโ์ด ๋ฉ๋๋ค. ์ด๊ฑด ์ฅ์ ์ด๊ธฐ๋ ํ์ง๋ง(๊ตฌ์กฐ/ํด์ ๊ฐ๋ฅ), โ๋๋ฉ์ธ ํ์ฅโ์์ ๋น์ฉ์ผ ์ ์์ต๋๋ค.
์ด๋ ์ฐธ๊ณ ์ฐ๊ตฌ(2309.07368)๊ฐ ์ ์ํ๋ ๋ฐฉํฅ์ โfabrics๋ฅผ prior๋ก ๋ณด๊ณ , ์ด๋ฅผ ๋ ์ผ๋ฐ์ ์ด๊ณ ์ ์ฉํ๊ธฐ ์ฌ์ด ํํ๋ก ์ด๋ก ํโํ๋ ๊ฒ์ด๊ณ , ์ด ๋ ผ๋ฌธ์ ๊ทธ ํ์ RL์ ๊ฐํ๊ฒ ์ ๋ชฉํฉ๋๋ค.
4.5 ์ฝ์ 2 โ ๋ณด์ฅ ๋ฒ์์ ํ์ค: โpolicy driving forceโ๋ ์ด๋ก ์ ์ผ๋ก๋ ๋ถ์์ ํ ๊ฐ๋ฅ
๋ ผ๋ฌธ์ policy๊ฐ ์ฃผ๋ driving force๊ฐ ์์น์ ์ผ๋ก๋ ์ธ๊ณต ๋์ญํ์ destabilizeํ ์ ์์์ ์ธ์ ํฉ๋๋ค. ๋ค๋ง ์ค๋ฌด์ ์ผ๋ก ์ถฉ๋ถํ damping๊ณผ ์๋์ง ์บกํ(์ด๋ก ์ ์ผ๋ก ๊ฐ๋ฅํ ๋ฐฉ๋ฒ)์ ํตํด ์์ ์ฑ์ ์ ์งํ ์ ์๋ค๊ณ ๋งํฉ๋๋ค. ์ฆ, โ์์ ํ ์์ ๋ณด์ฅโ์ ์ฃผ์ฅํ๊ธฐ๋ณด๋ค๋,
โfabrics ์์ฒด๊ฐ ์์ ์ ์ธ ๋ฏธ๋์์ด๊ณ policy๋ ๊ทธ ์์์ ์์ง์ด๋ฉฐ ์ ์ ํ ์ค๊ณ(๊ฐ์ /์๋์ง ์บก ๋ฑ)๋ก ์ํ์ ์ค์ธ๋คโ ๋ผ๋ ํฌ์ง์ ์ด ๋ ์ ํํฉ๋๋ค.
5. ๊ด๋ จ ์ฐ๊ตฌ์์ ๋น๊ต: RMP(1801) โ๏ธ Fabrics(2309) โ๏ธ FGP(2405)
5.1 RMP (arXiv:1801.02854): โ๋ชจ์ ์ ์ฑ + ๋ฆฌ๋ง ๋ฉํธ๋ฆญโ์ ์กฐํฉ/๋ณํ/ํฉ์ฑ
RMP๋ ๋ค์์ ํต์ฌ์ผ๋ก ํฉ๋๋ค.
๊ฐ ์์ ๊ณต๊ฐ(task space)์์ ๊ฐ์๋์ฅ(2์ฐจ ์ ์ฑ )๊ณผ ๋ฉํธ๋ฆญ(์ค์ ๋ฐฉํฅ/๊ฐ์ค์น)์ ์ ์ํ๊ณ ,
์ด๋ฅผ ๊ธฐํํ์ ์ผ๋ก ์ผ๊ด๋๊ฒ(์ขํ ๋ณํ/ํธ์ํฌ์๋/ํ๋ฐฑ) ํฉ์ฑํ์ฌ
์ต์ข configuration-space ์ ์ฑ ์ ์ป๋ ํ๋ ์์ํฌ ์ด ๋ ผ๋ฌธ(2405)์ RMP๋ฅผ ์ง์ โ์ฐธ๊ณ ํ๋ ์์ํฌโ๋ก ์ธ๊ธํ๋ฉด์, RMP๊ฐ fabrics๋ฅผ ํฌํจํ ์ ์๋ ๋ ๋์ ๊ฐ๋ ์์ ์์ฌํฉ๋๋ค(ํ ์คํธ์์ RMP๊ฐ broadํ๊ณ fabrics๊ฐ special subclass๋ผ๋ ์ทจ์ง). ์ฐจ์ด์ (์ค๋ฌด ๊ฐ๊ฐ)
RMP๋ โ๋ชจ๋ํ ์ ์ฑ ํฉ์ฑโ์ด ์ค์ฌ์ด๊ณ ,
2405๋ โ๊ทธ ๊ตฌ์กฐ๋ฅผ RL ์ ์ฑ ํ์ต์ action space/์์ ๋ฏธ๋์์ผ๋ก ์ฌ์ฉโํ๋ ๋ฐ ์ด์ ์ ๋ก๋๋ค.
์ฆ, RMP๊ฐ โ์ ์ด ๊ตฌ์กฐโ๋ผ๋ฉด, FGP๋ โRL ํ์ต์ ๋ฐํ(๋ฏธ๋์)โ์ผ๋ก ํ ๋จ๊ณ ๋ ๋ด๋ ค๊ฐ ์์ต๋๋ค.
5.2 Fabrics ์ด๋ก (arXiv:2309.07368): โ์์ ํ ๋ฏธ๋์(road network) ์์์ ์ ์ฑ ์ด ํญํดํ๋คโ
2309๋ fabrics๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ์ ๋ฉด ์ ์ํฉ๋๋ค:
- fabric์ ์๋์ง๋ฅผ ๋ณด์กดํ๋(๋ณด์กด์ ) ์์จ 2์ฐจ ๋ฏธ๋ถ๋ฐฉ์ ์์ผ๋ก์,
- ์ ์ฑ ์ค๊ณ๋ฅผ ์ํ ๊ทผ๋ณธ์ ์ผ๋ก ์์ ์ ์ธ ๋ฏธ๋์์ ํ์ฑํ๊ณ ,
- geometric fabric์ ์๋ ๋ถ๋ณ ๊ฒฝ๋ก๋ง(road network)์ ์ ๊ณตํ์ฌ ์ ์ฑ ์ โ์๋ ์กฐ์ /๊ฒฝ๋ก ์ ํโ๋ง ํ๋ฉด ๋๋ค.
2405๋ ์ด ์ด๋ก ์ โRL์์ ์ค์ ๋ก ์ฑ๋ฅ์ ๋์ด์ฌ๋ฆฌ๋ ์ํคํ ์ฒโ๋ก ๊ตฌํํ๊ณ ,
- ์์ /์ ์ฝ/๊ฐ์ ๋ฅผ fabric์ ๋ด์ฅํ๊ณ
- ์ ์ฑ ์ force-like action์ผ๋ก ๊ทธ ๋ฏธ๋์์ โํญํดโํ๊ฒ ํ์ต๋๋ค.
5.3 ์ด ๋ ผ๋ฌธ(2405)์ ๊ณ ์ ๊ธฐ์ฌ๋ฅผ ํ ๋ฌธ์ฅ์ผ๋ก
Fabrics์ ์์ ํ ๊ธฐํํ์ ๋ฏธ๋์์, RL ์ ์ฑ ์ action space ์ฌ์ค๊ณ์ ํ๋์จ์ด ์ ์ฝ(๊ฐ์๋/์ ํฌ)๊น์ง ํฌํจํ โํ์ต์ฉ ์ ์ด ์คํโ์ผ๋ก ๊ตฌ์ฒดํํ์ฌ, ์ค๋ก๋ด ์ฑ๋ฅ๊ณผ ํ๋์จ์ด ์นํ์ฑ(๊ณ ์ฃผํ ์ต์ )์ ๋์์ ๋ณด์ฌ์คฌ๋ค.
6. ์์ฝ ๋ฐ ๊ฒฐ๋ก : ๋ก๋ด RL ์ ์ด์์ โ์์ โ์ ๋ค๋ฃจ๋ ๋ ํ์ค์ ์ธ ๋ฐฉ๋ฒ
์ด ๋ ผ๋ฌธ์ด ๋์ง๋ ๋ฉ์์ง๋ ๊ฝค ์ค๋ฌด์ ์ ๋๋ค.
RL ์ ์ฑ ์ด bang-bang๋ก ๋์ค์ง ์๊ฒ โ์ ๊ทํ/ํํฐ๋งโ์ผ๋ก ๋๋ฌ ๋ด๋ ๋ฐฉ์์ ํ๊ณ๊ฐ ์๋ค.* ๋์ , ์ ์ฑ ์ด ์ฌ๋ผํ๋ ๋ฐ๋ฅ(=๋์ญํ)์ ๋ฐ๊พธ๋ฉด,
- policy๋ ๋ ๋จ์ํ ์ ํ๋ง ํ์ตํ๊ณ
- ์์ /์ ์ฝ/๋ถ๋๋ฌ์์ ๊ตฌ์กฐ์ ์ผ๋ก ํ๋ณดํ ์ ์๋ค.* geometric fabrics๋ ๊ทธ ๋ฐ๋ฅ์ โ๊ธฐํํ์ ์ผ๋ก ์ง๊ด์ ์ธ road networkโ๋ก ์ ๊ณตํ๊ณ , ์ ์ฑ ์ ์ด๋ฅผ ํญํดํ๋ค.
(๋ถ๋ก) ํ ์ฅ ์์ฝ ํ
| ํญ๋ชฉ | ๊ธฐ์กด ํํ RL ์ ์ด | Fabric-Guided Policy (์ด ๋ ผ๋ฌธ) |
|---|---|---|
| ์ ์ฑ ์ถ๋ ฅ | ์กฐ์ธํธ ๋ชฉํ/ํ ํฌ(์ง์ ) | fingertip-space force-like driving โ fabric์ ์ฃผ์ |
| ์์ /์ ์ฝ | reward penalty/ํํฐ/ํด๋ฆฌํ | barrier metric/repulsion/energization/QP ๋ฑ ๊ตฌ์กฐ ๋ด์ฅ |
| ๊ณ ์ฃผํ ๋ ธ์ด์ฆ | ํํฐ๋ก ์ต์ ํด๋ ์์กด ๊ฐ๋ฅ | 5Hz ์ด์ ๊ฑฐ์ 0์ ๊ฐ๊น์ด ์คํํธ๋ผ(์คํ) |
| sim2real ํ๋ | ๋ถํฌ๋ช (์์ธ ํ์ ์ด๋ ค์) | geometric damping์ผ๋ก ์๋๋ง ์กฐ์ (๊ฒฝ๋ก ์ ์ง) |
| ์ฒ ํ | โ์ ์ฑ ์ด ๋ค ๋ฐฐ์ด๋คโ | โ์ ์ฑ ์ ํญํด๋ง, ๋ฐ๋ฅ์ด ๊ธธ์ ๋ง๋ ๋คโ |