๐Taccel ๋ฆฌ๋ทฐ
- Taccel์ Vision-based Tactile Sensors(VBTS)๋ฅผ ์ฅ์ฐฉํ ๋ก๋ด์ ์๋ฎฌ๋ ์ด์ ์ฐ๊ตฌ๋ฅผ ์ ํํ๋ ๊ธฐ์กด ๋๊ตฌ๋ค์ ๋นํจ์จ์ฑ๊ณผ ๋ถ์ ํ์ฑ์ ํด๊ฒฐํ๊ธฐ ์ํด ๊ฐ๋ฐ๋ ๊ณ ์ฑ๋ฅ ์๋ฎฌ๋ ์ด์ ํ๋ซํผ์ ๋๋ค.
- ์ด ํ๋ซํผ์ Incremental Potential Contact(IPC)์ Affine Body Dynamics(ABD)๋ฅผ ํตํฉํ์ฌ ์ ํํ ๋ฌผ๋ฆฌ ์๋ฎฌ๋ ์ด์ ๊ณผ ์ฌ์ค์ ์ธ ์ด๊ฐ ์ ํธ ์์ฑ์ ๋ณด์ฅํ๋ฉฐ, ์์ฒ ๊ฐ์ ๋ณ๋ ฌ ํ๊ฒฝ์์ ์ค์๊ฐ ๋๋น ์ต๋ 18๋ฐฐ ๋น ๋ฅธ ์๋๋ฅผ ๋ฌ์ฑํฉ๋๋ค.
- Taccel์ ์ฌ์ฉ์ ์นํ์ ์ธ API๋ฅผ ํตํด ์ ์ฐํ ๋ก๋ด-์ผ์ ๊ตฌ์ฑ์ ์ง์ํ๋ฉฐ, ๋ฌผ์ฒด ์ธ์, ๋ก๋ด ๊ทธ๋ฆฝ, ๊ด์ ํ ๋ฌผ์ฒด ์กฐ์ ๋ฑ ๋ค์ํ ์์ ์์ ์ ๋ฐํ ์๋ฎฌ๋ ์ด์ ๊ณผ ์ฑ๊ณต์ ์ธ sim-to-real ์ ์ด๋ฅผ ์ ์ฆํ์ฌ ์ด๊ฐ ๋ก๋ด ์ฐ๊ตฌ๋ฅผ ๊ฐ์ํํฉ๋๋ค.

Brief Review
Taccel์ Vision-based Tactile Sensors(VBTSs)๋ฅผ ํตํฉํ ๋ก๋ด ์์คํ ์ ์ํ ๊ณ ์ฑ๋ฅ ์๋ฎฌ๋ ์ด์ ํ๋ซํผ์ ๋๋ค. ์ด ํ๋ซํผ์ VBTS์ ๋ณต์กํ ๋ฌผ๋ฆฌ์ ํน์ฑ๊ณผ ์๊ฐ ์ ํธ ์ฒ๋ฆฌ ์๊ตฌ ์ฌํญ์ผ๋ก ์ธํด ๊ธฐ์กด ์๋ฎฌ๋ ์ด์ ๋๊ตฌ๋ค์ด ๊ฒช์๋ ํจ์จ์ฑ ๋ฐ ์ ํ์ฑ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ฌ, ์ด๊ฐ ๋ก๋ด ์ฐ๊ตฌ์ ๊ท๋ชจ์ ๋ฒ์๋ฅผ ํ์ฅํ๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค.
Taccel์ Incremental Potential Contact (IPC)์ Affine Body Dynamics (ABD)๋ฅผ ํตํฉํ์ฌ ๋ก๋ด, ์ด๊ฐ ์ผ์ ๋ฐ ๋ฌผ์ฒด๋ฅผ ์ ํํ๊ณ ์ ๋ก ์๋ ์๋๋ก ๋ชจ๋ธ๋งํฉ๋๋ค. ํนํ ๋จ์ผ H100 GPU์์ ์์ฒ ๊ฐ์ ๋ณ๋ ฌ ํ๊ฒฝ์ ํตํด ์ค์๊ฐ๋ณด๋ค 18๋ฐฐ ๋น ๋ฅธ ์๋ฎฌ๋ ์ด์ ์๋๋ฅผ ๋ฌ์ฑํฉ๋๋ค. ๊ธฐ์กด ์๋ฎฌ๋ ์ดํฐ๋ค์ด ์ค์๊ฐ๋ณด๋ค ๋๋ฆฌ๊ณ ์ ํ๋ ๋ณ๋ ฌํ ๊ธฐ๋ฅ์ ๊ฐ์ก๋ ๊ฒ๊ณผ ๋ฌ๋ฆฌ, Taccel์ ์ฌ์ฉ์ ์นํ์ ์ธ API๋ฅผ ํตํด ์ ์ฐํ ๋ก๋ด-์ผ์ ๊ตฌ์ฑ์ ์ง์ํ๋ฉด์๋ ์ ํํ ๋ฌผ๋ฆฌ ์๋ฎฌ๋ ์ด์ ๊ณผ ์ฌ์ค์ ์ธ ์ด๊ฐ ์ ํธ๋ฅผ ์ ๊ณตํฉ๋๋ค.
ํต์ฌ ๋ฐฉ๋ฒ๋ก ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. Taccel์ Unified IPC Simulation ํ๋ ์์ํฌ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค.
- Problem Formulation and Soft Body Dynamics: n_s๊ฐ์ ์ฌ๋ฉด์ฒดํ๋(tetrahedralized) Soft Body๋ค์ N_s๊ฐ์ ์ ์ x_1, x_2, \ldots, x_{N_s}๋ก ์ด์ฐํ๋ฉ๋๋ค. ์์คํ ์ํ๋ x = [x_1^T, x_2^T, \ldots, x_{N_s}^T]^T \in \mathbb{R}^{3N_s}๋ก ํํ๋๋ฉฐ, Lagrangian L(x, \dot{x}) = T(x, \dot{x}) - V(x)๋ฅผ ๋ฐ๋ฆ ๋๋ค. ์ฌ๊ธฐ์ ์ด๋ ์๋์ง T(x, \dot{x}) = \frac{1}{2} \dot{x}^T M \dot{x}์ ํผํ ์ ์๋์ง V(x)๋ ์ดํ์ฑ ์ฌ๋ฃ(Neo-Hookean constitutive model)์ ํ์ฑ ์๋์ง \Phi(x)์ ์ธ๋ถ ํ E_{\text{ext}}(x)๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
- Frictional Contact: Euler-Lagrange ๋ฐฉ์ ์์ ์ญ๋ฐฉํฅ Euler ์ ๋ถ ์คํด์ ์ฌ์ฉํ์ฌ ์๊ฐ์ ๋ฐ๋ผ ์ด์ฐํํจ์ผ๋ก์จ Incremental Potential(IP) ์๋์ง ์ต์ํ ๋ฌธ์ ๋ก ์ฌ๊ตฌ์ฑํฉ๋๋ค. x^{n+1} = \arg \min_x E_{\text{IP}}(x) E_{\text{IP}}(x) = \frac{1}{2}(x - x^n - \Delta t \dot{x}^n)^T M(x - x^n - \Delta t \dot{x}^n) + \Delta t^2 V(x) IPC๋ ๊ต์ฐจ ์๋(intersection-free) ๊ถค์ ์ ๋ณด์ฅํ๊ธฐ ์ํด ์ ์ด ์์ ์ k ์ฌ์ด์ ๊ฑฐ๋ฆฌ d_k(x)๊ฐ 0์ ๊ฐ๊น์์ง์๋ก ๋ฐ์ฐํ๋ ๋ก๊ทธ ๋ฐฐ๋ฆฌ์ด ํจ์ b(d_k(x))๋ฅผ ๋ชฉ์ ํจ์์ ์ถ๊ฐํฉ๋๋ค. ๋ํ, ๋ง์ฐฐ๋ ฅ(frictional forces)์ ๊ทธ๋ผ๋์ธํธ๋ฅผ ํตํด ํฌ์ฐฉํ๋ ๊ทผ์ฌ ๋ง์ฐฐ ํผํ ์ ์๋์ง D_k(x, x^n)๋ฅผ ๋์ ํฉ๋๋ค. ๋ฐ๋ผ์ ์ ์ฒด ์๋ฎฌ๋ ์ด์ ์ ๋ค์ IPC ์๋์ง๋ฅผ ์ต์ํํฉ๋๋ค. E_{\text{IPC}}(x) = E_{\text{IP}}(x) + \Delta t^2 B(x) + \Delta t^2 D(x, x^n) ์ฌ๊ธฐ์ B(x) = \kappa \sum_{k \in \mathcal{B}} A_k b(d_k(x)), D(x, x^n) = \sum_{k \in \mathcal{B}} D_k(x, x^n)์ด๋ฉฐ, \kappa > 0๋ ์ ์ด ๊ฐ์ฑ์ ์ ์ดํฉ๋๋ค.
- ABD and Unified Simulation: n_a๊ฐ์ Affine Body์ ๋ํด, ์๋ฒ ๋ฉ ๋งต \phi : \mathbb{R}^{12n_a} \to \mathbb{R}^{3N_a}๋ฅผ ํตํด Reduced Coordinate Space y \in \mathbb{R}^{12n_a}๋ฅผ ๋์ ํ์ฌ ์ ์ฒด ๊ณต๊ฐ ์ ์ \phi(y)์ ํฌ์ํฉ๋๋ค. ๊ฐ Affine Body๋ 12๊ฐ์ ์์ ๋(DoF)๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ด๋ ์๋์ง T(y, \dot{y})๋ \frac{1}{2} \dot{y}^T M_y \dot{y}๋ก ํํ๋๋ฉฐ, M_y = J^T M J๋ Reduced-space Mass Matrix์ ๋๋ค. ํผํ ์ ์๋์ง V(y)๋ As-Rigid-As-Possible(ARAP) ํญ \Phi_y(y)์ ์ธ๋ถ ํ E_{\text{ext}}(y)๋ฅผ ํฌํจํฉ๋๋ค. ์ (2)์ ๊ฒฐํฉํ์ฌ ์ ์ฒด ์์คํ ์ํ \{y; x\} \in \mathbb{R}^{12n_a + 3N_s}์ ๋ํ Unified IPC ์๋์ง E_{\text{IPC}}(y; x)๋ฅผ ์ป์ต๋๋ค. E_{\text{IPC}}(y; x) = E_{\text{IP}}(x) + E_{\text{IP}}(y) + \Delta t^2 B(\phi(y); x) + \Delta t^2 D(\phi(y); x, \phi(y^n); x^n) E_{\text{IP}}(y) = \frac{1}{2}(y - y^n - \Delta t \dot{y}^n)^T M_y(y - y^n - \Delta t \dot{y}^n) + \Delta t^2 V(y) ๋ค์ ํ์์คํ ์ ๊ตฌ์ฑ์ ์ด ๋ฐฐ๋ฆฌ์ด ์ฆ๊ฐ IP๋ฅผ ์ต์ํํจ์ผ๋ก์จ ๊ฒฐ์ ๋ฉ๋๋ค. y^{n+1}; x^{n+1} = \arg \min_{y;x} E_{\text{IPC}}(y; x)
- Kinematic Constraints: ์ด๋ํ์ ์ ์ฝ ์กฐ๊ฑด์ S_x x = s_x (Soft Body) ๋ฐ S_y y = s_y (Affine Body)๋ก ํํ๋ฉ๋๋ค. Augmented Lagrangian Method๋ฅผ ์ฌ์ฉํ์ฌ E_{\text{IPC}}๋ฅผ ํ์ฅํจ์ผ๋ก์จ ์ด๋ฌํ ์ ์ฝ ์กฐ๊ฑด์ ์ ์ฉํฉ๋๋ค. E_{\text{AL}}^{\text{IPC}}(y; x) = E_{\text{IPC}}(y; x) + \|(S_x x - s_x)^T \lambda_x\|_2^2 + \|(S_y y - s_y)^T \lambda_y\|_2^2
Taccel์ IPC์ ABD์ ๊ฒฐํฉ์ ํตํด ๋ณต์กํ ๋น๋ณผ๋ก(non-convex) ๋ฌผ์ฒด ๊ฐ์ ์ ์ด์ ์์ ์ ์ผ๋ก ์ฒ๋ฆฌํ๊ณ , ๋ถ๋๋ฌ์ด ๋ฌผ์ฒด ๊ฐ์ ์ ์ด์์ ์นจํฌ ์๋(penetration-free) ์ํธ์์ฉ์ ์ ์งํ์ฌ ๊ธฐ์กด ์๋ฎฌ๋ ์ดํฐ๋ณด๋ค ์ฐ์ํ ๋ฌผ๋ฆฌ์ ์ ํ๋๋ฅผ ์ ๊ณตํฉ๋๋ค. ๋ํ, NVIDIA Warp๋ฅผ ์ฌ์ฉํ ํจ์จ์ ์ธ ๋ณ๋ ฌํ ๊ตฌํ์ผ๋ก ๋๊ท๋ชจ ํ๊ฒฝ ์๋ฎฌ๋ ์ด์ ์์ ๋์ ํ์ฅ์ฑ์ ๋ณด์ฌ์ค๋๋ค.
์ด ํ๋ซํผ์ ๊ฐ์ฒด ๋ถ๋ฅ(object classification)๋ฅผ ์ํ ํฉ์ฑ ๋ฐ์ดํฐ ์์ฑ, ๋ค์ํ ๋ก๋ด ํธ๋ ๊ตฌ์ฑ์์์ ๋ก๋ด ํ์ง(grasping) ์๋ฎฌ๋ ์ด์ , ๊ทธ๋ฆฌ๊ณ ๋ง์ดํฌ๋ก์จ์ด๋ธ ์ค๋ธ์ด๋ ์๋๊ณผ ๊ฐ์ ๊ด์ ํ ๊ฐ์ฒด ์กฐ์(articulated object manipulation)์ ํตํด ๊ทธ ์ ์ฉ์ฑ์ ๊ฒ์ฆํ์ต๋๋ค. ํนํ, ์๋ฎฌ๋ ์ด์ ์์ ํ๋ จ๋ ๋ชจ๋ธ์ด ์ค์ ์ธ๊ณ ๋ฐ์ดํฐ์ ํจ๊ณผ์ ์ผ๋ก ์ผ๋ฐํ๋๊ณ , ์ค์ ์ธ๊ณ ์กฐ์ ํจํด๊ณผ์ ๋์ ์ผ์น๋๋ฅผ ๋ณด์ฌ์ค์ผ๋ก์จ Sim-to-Real ์ ์ด ๋ฅ๋ ฅ์ ์ ์ฆํ์ต๋๋ค.
Detail Review
Taccel: ๊ณ ์ฑ๋ฅ GPU ์๋ฎฌ๋ ์ด์ ์ผ๋ก ๋น์ ๊ธฐ๋ฐ ์ด๊ฐ ๋ก๋ณดํฑ์ค๋ฅผ ํ์ฅํ๋ค
์๋ก : ๋น์ ๊ธฐ๋ฐ ์ด๊ฐ ์ผ์ ์๋ฎฌ๋ ์ด์ ์ ํ์์ฑ๊ณผ ๋์ ๊ณผ์
๋น์ ๊ธฐ๋ฐ ์ด๊ฐ ์ผ์(Vision-Based Tactile Sensor, VBTS)๋ ์นด๋ฉ๋ผ๋ก ์ ค ํจ๋์ ๋ณํ์ ๊ด์ฐฐํ์ฌ ๋์ ํด์๋์ ์ด๊ฐ ์ ๋ณด๋ฅผ ์ ๊ณตํ๋ ์ผ์๋ก, GelSight ๋ฑ ๋ํ์ ์ธ ์์๊ฐ ์์ต๋๋ค. ์ด๋ฌํ VBTS๋ ์ ๋ ดํ ๋น์ฉ์ผ๋ก ์ธ๋ฐํ ์ด๊ฐ ํผ๋๋ฐฑ์ ์ ๊ณตํ์ฌ ๋ก๋ด ์กฐ์ ์ฐ๊ตฌ์ ํฐ ๋ฐ์ ์ ์ด๋์์ง๋ง, ๋ณต์กํ ๋ฌผ๋ฆฌ์ ํน์ฑ(์: ๋ถ๋๋ฌ์ด ์ ค์ ๋น์ ํ ํ์ฑ)๊ณผ ์์ ์ ํธ ์ฒ๋ฆฌ ์๊ตฌ ๋๋ฌธ์ ๋ก๋ด ์๋ฎฌ๋ ์ด์ ์ ์ ์ฉํ๊ธฐ ๋งค์ฐ ๊น๋ค๋ก์ด ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ์ค์ ๋ก VBTS๋ฅผ ์ฅ์ฐฉํ ๋ก๋ด์ ์ํธ์์ฉ์ ์ ํํ๊ณ ํจ์จ์ ์ผ๋ก ๋ชจ์ฌํ ์๋ฎฌ๋ ์ดํฐ์ ๋ถ์ฌ๋, ์ด๊ฐ ๋ก๋ณดํฑ์ค ์ฐ๊ตฌ์ ๊ท๋ชจ์ ๋ฒ์๋ฅผ ์ ํํด ์จ ํต์ฌ ์์ธ์ ๋๋ค. ๊ธฐ์กด ์ฐ๊ตฌ๋ค์ ์ฃผ๋ก ๋ ๊ฐ์ง ๋ฐฉํฅ์ผ๋ก ์ ๊ทผํด ์์ผ๋(์: ์ผ์ ๋ณํ์ ๊ทผ์ฌ ๋ชจ๋ธ๋ก ๋จ์ํํ๊ฑฐ๋, ๋ฌผ๋ฆฌ ๊ธฐ๋ฐ ๋ชจ๋ธ์ ์ฌ์ฉํ๋ ๊ณ์ฐ ํจ์จ์ ํฌ๊ธฐ) ์ฌ์ ํ ์ ํ๋, ์๋(์ค์๊ฐ์ฑ), ๋ณ๋ ฌ ํ์ฅ์ฑ ๋ฉด์์ ํ๊ณ๋ฅผ ๋๋ฌ๋์ต๋๋ค.
์ด๋ฌํ ํ๊ณ๋ฅผ ๊ทน๋ณตํ๊ณ ์ ๋ฑ์ฅํ ๊ฒ์ด ๋ณธ ๋ ผ๋ฌธ์ Taccel ์๋ฎฌ๋ ์ดํฐ์ ๋๋ค. Taccel์ Incremental Potential Contact (IPC) ๊ธฐ๋ฐ์ ์ถฉ๋ ์ฒ๋ฆฌ ๊ธฐ๋ฒ๊ณผ Affine Body Dynamics (ABD) ๊ธฐ๋ฐ ๊ฐ์ฒด ๋ชจ๋ธ์ ํ๋์ ํตํฉ ํ๋ ์์ํฌ๋ก ๊ฒฐํฉํ ๊ณ ์ฑ๋ฅ ๋ฌผ๋ฆฌ ์๋ฎฌ๋ ์ดํฐ๋ก์, ๋ก๋ด, ์ด๊ฐ ์ผ์, ๊ทธ๋ฆฌ๊ณ ํ๊ฒฝ ๋ฌผ์ฒด๋ฅผ ๋์์ ๊ณ ์ ๋ฐ๋๋ก ๊ทธ๋ฆฌ๊ณ ์ ๋ก ์๋ ์๋๋ก ๋ชจ์ฌํฉ๋๋ค. ๊ทธ๋ฆผ 1์ Taccel๋ก ์๋ฎฌ๋ ์ด์ ํ ์์๋ก์, Allegro ๋ก๋ด ์์ 4๊ฐ์ VBTS(GelSight๋ฅ ์ผ์)๋ฅผ ๋ถ์ฐฉํ์ฌ ๋ง์ ํจ๋ฅผ ์ ๋ฐํ๊ฒ ์ง๋ ์ฅ๋ฉด์ ๋ณด์ฌ์ค๋๋ค. ์ด ๋ ์ผ์ ์ ค ํจ๋์ ๋ณํ ๋งต์ ํตํด ๋ง์ ํจ์ ๋ฏธ์ธํ ํ๋ฉด ๊ธฐํ๊ฐ ์ ํํ ํฌ์ฐฉ๋๋ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค.
์ด์์ ์ธ VBTS ์๋ฎฌ๋ ์ดํฐ๊ฐ ๊ฐ์ถ์ด์ผ ํ ์๊ฑด์ผ๋ก๋, ๋ ผ๋ฌธ์์ ๊ฐ์กฐํ๋ฏ์ด (1) ์ ๋ฐํ ๋ฌผ๋ฆฌ ๋ชจ๋ธ๋ง, (2) ๋๊ท๋ชจ ๋ณ๋ ฌ ์๋ฎฌ๋ ์ด์ ์ด ๊ฐ๋ฅํ ํ์ฅ์ฑ, (3) ๋ค์ํ ๋ก๋ด-์ผ์ ๊ตฌ์ฑ์ ์ ์ฐํ ์ง์์ด ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๊ธฐ์กด ์๋ฃจ์ ๋ค์ ์ ๋ฐ๋, ํ์ฅ์ฑ ๋๋ ์ ์ฐ์ฑ ๋ฉด์์ ํ๋ ์ด์์ฉ ํํํ๊ณ ์์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ์ผ๋ถ๋ ๋ฌผ๋ฆฌ ์ ํ๋๊ฐ ๋จ์ด์ง๋ ๊ทผ์ฌ ์ถฉ๋ ๋ชจ๋ธ์ด๋ ๊ฐ๋จํ ๊ฐ์ฒด ๋ชจ๋ธ์ ์์กดํ๊ณ , ์ผ๋ถ๋ ์ค์๊ฐ๋ณด๋ค ๋๋ฆฐ ์๋๋ก๋ง ๋์ํ๊ฑฐ๋ ๋ณ๋ ฌ ํ๊ฒฝ ์๊ฐ ๊ทนํ ์ ํ๋๋ฉฐ, ๋ ์ผ๋ถ๋ ํน์ ์ผ์/๋ก๋ด ๊ตฌ์ฑ(์: ํ๋์ ๊ทธ๋ฆฌํผ)์๋ง ์ง์คํ๋ ๊ฒฝํฅ์ด ์์์ต๋๋ค. ์ด๋ฌํ ์ ํ์ผ๋ก ์ธํด ์ด๊ฐ ๋ก๋ด ์ฐ๊ตฌ์ ๋ฒ์ฉ์ฑ๊ณผ ํ์ฅ์ฑ์ด ์ฌ๊ฐํ๊ฒ ์ ํด๋์ด ์์ต๋๋ค.
ํ 1์ ๋ํ์ ์ธ VBTS ์๋ฎฌ๋ ์ดํฐ๋ค์ Taccel๊ณผ ์ข ํฉ์ ์ผ๋ก ๋น๊ตํ ๊ฒ์ ๋๋ค. ๊ฐ ์์คํ ๋ณ๋ก ์ฐ์ฑ ์ฌ๋ฃ(Soft)๋ฅผ ์ด๋ป๊ฒ ๋ชจ๋ธ๋งํ๋์ง(์: ์ ํ์์๋ฒ FEM ์ฌ์ฉ ์ฌ๋ถ), ๊ฐ์ฒด(Stiff) ๋ฌผ์ฒด๋ ์ด๋ป๊ฒ ํํํ๋์ง(๋ฆฌ์ง๋ ๋ฐ๋, ์ํ ๋ฐ๋ ๋ฑ), ์ ์ด ์ฒ๋ฆฌ ๋ฐฉ์(๊ฐ์ ์ ์ด, ํ๋ํฐ ๊ธฐ๋ฒ, IPC ๋ฑ), ์ด๊ฐ ์ ํธ ์์ฑ ๋ฐฉ๋ฒ(์ด๋ฏธ์ง ๋ฃฉ์ ํ ์ด๋ธ, ์ฌ์ธต์ ๊ฒฝ๋ง ๋ฑ), ์ง์ ๋ก๋ด ๋ฒ์(ํน์ ๊ทธ๋ฆฌํผ๋ง ๋๋ ์์์ ๋ก๋ด), ๊ทธ๋ฆฌ๊ณ ๋ณ๋ ฌ ์๋ฎฌ๋ ์ด์ ๊ฐ๋ฅ ํ๊ฒฝ ์ ๋ฐ ์ค์๊ฐ ๋๋น ์๋ ๋ฑ์ ์ ๋ฆฌํ๊ณ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด Taxim ์์คํ ์ GelSight ์ด๊ฐ์ผ์์ ์์ ๊ธฐ๋ฐ ์๋ฎฌ๋ ์ด์ ์ผ๋ก, ์ฐ์ฑ ์ฌ๋ฃ๋ฅผ ์ง์ ๋ชจ๋ธ๋งํ์ง ์๊ณ ์ผ์ ํ๋ฉด ๋ณํ-์์ ๋งคํ์ ์ฌ์ ์ ํ์ต๋ ๋ฃฉ์ ํ ์ด๋ธ๋ก ๋์ฒดํ์ฌ ๋น ๋ฅธ ์ด๋ฏธ์ง๋ง ์์ฑํฉ๋๋ค. ํ์ง๋ง ์ด๋ฌํ ๋ฐฉ์์ ๋ฌผ๋ฆฌ์ ์ ํ๋๊ฐ ๋ฎ๊ณ ์ผ๋ฐ์ ์ธ ๋ฌผ์ฒด-์ผ์ ์ํธ์์ฉ์ ํฌ๊ดํ์ง ๋ชปํ๋ฉฐ, ๋ก๋ด๊ณผ์ ๊ฒฐํฉ๋ ์ ํ์ ์ ๋๋ค (ํ๋์ ์ผ์๋ง ๊ณ ๋ ค). DiffTactile ์๋ฎฌ๋ ์ดํฐ๋ ๋ฌผ๋ฆฌ ๊ธฐ๋ฐ์ผ๋ก FEM์ ๊ธฐ๋ฐํ ์ผ์ ๋ณํ๊ณผ MPM/์ ์ ๊ธฐ๋ฐ์ ๊ฐ์ฒด ๋ชจ๋ธ์ ์ฌ์ฉํ๊ณ , ์ฌ์ธต์ ๊ฒฝ๋ง์ผ๋ก ์ด๊ฐ ์ด๋ฏธ์ง๋ฅผ ์์ฑํ๋ ์ฐจ๋ณํ ๊ฐ๋ฅํ ์๋ฎฌ๋ ์ดํฐ์ ๋๋ค. ๊ทธ๋ฌ๋ ์ ์ด์ penalty ๊ธฐ๋ฐ์ผ๋ก ์ฒ๋ฆฌํ๊ธฐ ๋๋ฌธ์ ๋ฏธ์ธํ ์ ์ด ์ ๋ฐ๋๊ฐ ๋จ์ด์ง ์ ์๊ณ , ๋ณ๋ ฌ ํ์ฅ์ด๋ ๋ค์ํ ๋ก๋ด ๊ตฌ์ฑ ์ง์์ด ๋ฏธํกํฉ๋๋ค. SAPIEN-IPC๋ ์ต์ ์ฐ๊ตฌ๋ก์ FEM ์ผ์ ๋ชจ๋ธ๊ณผ ABD ๊ฐ์ฒด ๋ชจ๋ธ, ๊ทธ๋ฆฌ๊ณ IPC ์ถฉ๋์ฒ๋ฆฌ๋ฅผ ๊ฒฐํฉํ ์๋ฎฌ๋ ์ดํฐ์ด๋ฉฐ ์ค์ ๋ก๋ด ํ์ต์ ํ์ฉ๋ ์๊ฐ ์์ง๋ง, ์ด๊ฐ ์ด๋ฏธ์ง๋ฅผ ์ง์ ์์ฑํ๋ ๊ธฐ๋ฅ์ด ์๊ณ (์ฃผ๋ก ๋ง์ปค ์์ง์๋ง ํ์ฉ) ์ง์ ๋ก๋ด๋ ๋จ์ ๊ทธ๋ฆฌํผ์ ๊ตญํ๋์์ต๋๋ค. ๋ํ SAPIEN-IPC์ ๊ฒฝ์ฐ 1080 GPU ๊ธฐ์ค ์ต๋ 256๊ฐ์ ํ๊ฒฝ๋ง ๋ณ๋ ฌ ๊ตฌ๋, ์ค์๊ฐ์ 0.8๋ฐฐ ์๋ ์ ๋๋ก๋ง ๋์ํ๋ ๋ฑ ์ฑ๋ฅ ๋ฉด์์๋ ์ ์ฝ์ด ์์์ต๋๋ค.
์ด์ ๋นํด Taccel์ ์ฐ์ฑ ์ฌ์ง์ ๊ณ ํด์๋๋ก FEM ๋ชจ๋ธ๋งํ๊ณ ๊ฐ์ฒด๋ ABD๋ก ํจ์จ์ ์ผ๋ก ํํํ๋ฉด์, IPC ๊ธฐ๋ฐ์ ์ ํํ ์ถฉ๋/๋ง์ฐฐ ๊ณ์ฐ, DNN ๊ธฐ๋ฐ์ ์ฌ์ค์ ์ธ ์ด๊ฐ ์ด๋ฏธ์ง ์์ฑ, ์ด๋ค ํํ์ ๋ก๋ด-์ผ์ ๊ตฌ์ฑ๋ ์์ฉํ๋ ๋ฒ์ฉ์ฑ์ ๋ชจ๋ ๊ฐ์ถ ๊ท ํ ์กํ ์๋ฃจ์ ์ ๋๋ค. ํนํ ํ ๊ฐ GPU ์์์ ์ต๋ 4096๊ฐ์ ํ๊ฒฝ์ ๋ณ๋ ฌ๋ก 915 FPS ์๋๋ก ์๋ฎฌ๋ ์ด์ ํ์ฌ, ๋จ์ผ ํ๊ฒฝ ๊ธฐ์ค ์ค์๊ฐ์ 18๋ฐฐ ์๋๋ฅผ ๋ฌ์ฑํ ๊ฒฐ๊ณผ๋ ํ ์๋ฎฌ๋ ์ดํฐ์ ์ฐจ๋ณ๋๋ ๋๋ผ์ด ํ์ฅ์ฑ์ ๋๋ค. ์๋์์๋ Taccel์ด ์ด๋ฌํ ์ฑ๋ฅ์ ๊ฐ๋ฅํ๊ฒ ํ ํต์ฌ ๋ฐฉ๋ฒ๋ก (3์ฅ, 4์ฅ)๊ณผ, ์ด๋ฅผ ์ ์ฆํ๋ ์ฑ๋ฅ ํ๊ฐ(5์ฅ)์ ๋ํ์ฌ ์ฌ์ธต์ ์ผ๋ก ๋ถ์ํฉ๋๋ค.
3์ฅ: Taccel์ ํตํฉ IPC ๊ธฐ๋ฐ ์๋ฎฌ๋ ์ด์ ํ๋ ์์ํฌ
3์ฅ โUnified IPC Simulation in Taccelโ์์๋ Taccel์ ๋ฌผ๋ฆฌ ์๋ฎฌ๋ ์ด์ ์์ง์ ์ํ์ ๊ธฐ์ด์ ์ค๊ณ ์๋ฆฌ๋ฅผ ๋ค๋ฃจ๊ณ ์์ต๋๋ค. Taccel์ ํต์ฌ์ ์ฐ์ฑ ๋ฌผ์ฒด ์๋ฎฌ๋ ์ด์ ์ ์ํ IPC (Incremental Potential Contact) ๊ธฐ๋ฒ๊ณผ ๊ฐ์ฑ/์ค๊ฐ์ฑ ๋ฌผ์ฒด ์๋ฎฌ๋ ์ด์ ์ ์ํ ABD (Affine Body Dynamics) ๊ธฐ๋ฒ์ ํ๋์ ์ต์ ํ ๋ฌธ์ ๋ก ํตํฉํ๋ค๋ ์ ์ ๋๋ค. ์ด๋ฅผ ํตํด ์ ค ํจ๋ ๊ฐ์ ๋ณํ์ฒด์ ๋ก๋ด ๋งํฌ ๊ฐ์ ๊ฐ์ฒด๋ฅผ ๋์ผํ ์๋ฎฌ๋ ์ด์ ํ ๋ด์์ ์ํธ์์ฉ์ํฌ ์ ์์ผ๋ฉฐ, ์ ์ด ๊ณ์ฐ์ ์์ด ์ถฉ๋์ด๋ ๊ดํต์ด ์๋ ์์ ์ ํด๋ฒ์ ๋ณด์ฅ๋ฐ์ผ๋ฉด์๋ ๊ณ์ฐ ํจ์จ์ ๋์์ต๋๋ค.
3.1์ (Problem Formulation and Soft Body Dynamics)์์๋ ์ฐ์ฑ์ฒด(soft body)์ธ ์ด๊ฐ ์ผ์ ์ ค ํจ๋๋ฅผ ์ด๋ป๊ฒ ๋ชจ๋ธ๋งํ๋์ง ์ ์ํฉ๋๋ค. ์ ค ํจ๋๋ ์ ํ์์๋ฒ(FEM)์ ํตํด ์ฌ๋ฉด์ฒด(mesh) ํํ๋ก ์ด์ฐํ๋๋ฉฐ, ๊ฐ ๋ ธ๋(vertex)์ ์์น๋ก ์ํ๊ฐ ํํ๋ฉ๋๋ค. ์์คํ ์ ๋ผ๊ทธ๋์ง์(Lagrangian)์ ์ด๋ ์๋์ง์ ํผํ ์ ์๋์ง์ ์ฐจ๋ก ์ฃผ์ด์ง๋ฉฐ, ๋ค์คํํฌ(Neo-Hookean) ๋ชจ๋ธ์ ์ฌ์ฉํ ํ์ฑ ๋ณํ ์๋์ง \Phi(x)์ ์ธ๋ ฅ์ ์ํ ํผํ ์ ์ ํฌํจํฉ๋๋ค. ์ด๋ ์ ค ํจ๋์ ๋น์ ํ ํ์ฑ ๊ฑฐ๋(Young ๋ชจ๋๋ฌ์ค E์ Poisson ๋น ฮฝ๋ก ํน์ฑํ)์ ํฌ์ฐฉํ๊ธฐ ์ํจ์ ๋๋ค.
3.2์ (Frictional Contact)์์๋ IPC ์ ๊ทผ๋ฒ์ ํต์ฌ์ด ๋๋ ์ฆ๋ถ์ ์ ์ฌ ์๋์ง ์ต์ํ ๋ฌธ์ ๋ฅผ ์๊ฐํฉ๋๋ค. ์๊ฐ ์ ๋ถ์ ํํฅ ์ค์ผ๋ฌ(backward Euler) ๋ฐฉ์์ผ๋ก ์ด๋ฃจ์ด์ง๋ฉฐ, ํ ์คํ ์์ ๋ค์ ์คํ ์ ์ํ x_{n+1}๋ ํ์ฌ ์ํ x_n์์์ ์ด๋๋๊ณผ ํผํ ์ ์ ๊ณ ๋ คํ ์ฆ๋ถ ํผํ ์ ์๋์ง E_{\text{IP}}๋ฅผ ์ต์ํํ์ฌ ๊ตฌํฉ๋๋ค. ์ด E_{\text{IP}}์๋ ๊ด์ฑ(์ง๋ ํ๋ ฌ M) ํญ๊ณผ ๋ณํ ์๋์ง \Phi(x) ํญ์ด ํฌํจ๋์ด ์์ต๋๋ค. IPC์ ํ์ ์ ์ฌ๊ธฐ์ ์ถฉ๋ ๋ฐ ๋ง์ฐฐ์ ์๋์ง ํญ์ผ๋ก ์ถ๊ฐํ์ฌ, ํด๋ฅผ ๊ตฌํ ๋ ๊ฐ์ฒด๋ค์ด ๊ดํต๋์ง ์๋๋ก ์ ์ฝ์ ๊ฑฐ๋ ์ ์ ๋๋ค. ๊ตฌ์ฒด์ ์ผ๋ก, ์ ์ด ์ ์ฌ์ด ๊ฑฐ๋ฆฌ๊ฐ 0์ ๊ฐ๊น์์ง๋ฉด ๋ฐ์ฐํ๋ ๋ก๊ทธ ๋ฐฐ๋ฆฌ์ด(log barrier) ํจ์ b(d_k(x))๋ค์ ์๋์ง์ ํฌํจํ์ฌ ๊ธฐํํ์ ๊ดํต์ ์์ฒ ์ฐจ๋จํฉ๋๋ค. ๋ํ ๋ง์ฐฐ๋ ฅ์ ํด๋นํ๋ ๋ง์ฐฐ ํผํ ์ D_k(x, x_n)์ ์ ์ํ๊ณ ๊ทธ ๊ทธ๋๋์ธํธ๋ฅผ ๋ง์ฐฐ๋ ฅ์ผ๋ก ๊ฐ์ฃผํจ์ผ๋ก์จ, ๋ง์ฐฐ ์ญ์ ์๋์ง ์ต์ํ ๊ณผ์ ์ ํฌํจ์ํต๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ์ ์ด๊ณผ ๋ง์ฐฐ ๋ฌธ์ ๋ฅผ ๋ฏธ๋ถ๊ฐ๋ฅํ ์๋์ง ์ต์ ํ ๋ฌธ์ ๋ก ๋ณํํ์ฌ ๋ค๋ฃฐ ์ ์๊ณ , ๊ทธ ๊ฒฐ๊ณผ ํด๋ฒ์ ์ค๊ฐ์ฒด๊ฐ ๋ฐ ์ฐ์ฑ์ฒด-๊ฐ์ฒด๊ฐ ์ถฉ๋์์ ๊ต์ฐจ๋ ๋ฏธ๋๋ฌ์ง์ด ์๋ ์์ ์ ์ธ ๊ฒ์ด ๋ฉ๋๋ค. IPC๋ ์ด๋ฌํ ๋ฌผ๋ฆฌ์ ์ ํ๋๋ฅผ ์ถ๊ตฌํ๋ฉด์๋, ๊ธฐ์กด์ ํ๋ํฐ ๊ธฐ๋ฒ์ฒ๋ผ ํ์ ์์ ์กฐ์ ํ๋ฉฐ penetration์ ํ์ฉํ๋ ์ ๊ทผ๊ณผ ๋ฌ๋ฆฌ ์ํ์ ์ผ๋ก ์ผ๊ด๋ ์ต์ ํ ๋ฌธ์ ๋ก ์ ์๋๊ธฐ์ ํด์ ์กด์ฌ์ ์์ ์ฑ ์ธก๋ฉด์์ ์ฅ์ ์ด ์์ต๋๋ค.
3.3์ (ABD and Unified Simulation)์์๋ ABD(Affine Body Dynamics) ๋ชจ๋ธ์ ๋์ ํ๊ณ , ์ด๋ฅผ IPC ๊ธฐ๋ฐ ์ฐ์ฑ์ฒด ์๋ฎฌ๋ ์ด์ ๊ณผ ํตํฉํ๋ ๋ฐฉ๋ฒ์ ์ค๋ช ํฉ๋๋ค. ABD๋ ๊ฐ์ฒด๋ฅผ ์์ ํ ๋ณํ ๋ถ๊ฐ๋ฅํ ๋ฆฌ์ง๋ ๋ฐ๋๋ก ์ทจ๊ธํ๋ ๋์ , ์ํ ๋ณํ์ ํ์ฉํ๋ 12์์ ๋ ํํ์ผ๋ก ๋ชจ๋ธ๋งํ๋ ๊ธฐ๋ฒ์ ๋๋ค. ๊ฐ ๊ฐ์ฒด๋ 3์์ ๋ ๋ณ์ง ์ด๋ + 9์์ ๋ ์ ํ ๋ณํ(3x3 ํ๋ ฌ)์ ๊ฐ๋ ์ํ ์ขํ y๋ก ํํ๋๋ฉฐ, ์ด ์ํ ๋ณํ์ด ์ ์ฉ๋ ๊ฐ์ฒด์ ํ๋ฉด ๋ฉ์ฌ(vertex ์ ์ฒด)๋ฅผ ์ฌ์ํ๋ ๋งคํ \phi(y)๊ฐ ์ ์๋ฉ๋๋ค. ABD์ ํต์ฌ์ As-Rigid-As-Possible (ARAP) ์ ์ฝ์ ํตํด ์ค์ ๋ก๋ ๊ฑฐ์ ๊ฐ์ฒด์ฒ๋ผ ๊ฑฐ๋ํ๋๋ก ํ๋ฉด์๋, ์ถฉ๋ํด๊ฒฐ์ ์ ๋ฆฌํ ์ฝ๊ฐ์ ๋ณํ ๊ฐ๋ฅ์ฑ์ ๋ถ์ฌํ๋ ๊ฒ์ ๋๋ค. ์์ปจ๋ ๋ ๋จ๋จํ ๋ฌผ์ฒด๊ฐ ์ถฉ๋ํ ๋, ์์ ๊ฐ์ฒด ๋ชจ๋ธ์์๋ ๋ฏธ์ธํ ํ์์คํ ์ ์ฝ์ด๋ ๋ณต์กํ ์ง์์ ์ถฉ๋ ๊ฐ์ง(continuous collision detection)๊ฐ ํ์ํ์ง๋ง, ABD ๋ชจ๋ธ์์๋ ์ฝ๊ฐ์ ๋ณํ ์ฌ์ ๊ฐ ์์ด ํจ๊ณผ์ ์ผ๋ก ์ถฉ๋ ๋ฐ์์ ๊ณ์ฐํ ์ ์์ต๋๋ค. Taccel์์๋ ๊ฐ์ฒด(๋ก๋ด ๋งํฌ๋ ๊ฒฝ์ฑ ๋ฌผ์ฒด)๋ฅผ ABD๋ก ํํํจ์ผ๋ก์จ, ๊ฐ์ฒด-์ฐ์ฑ์ฒด ๊ฐ, ๊ฐ์ฒด-๊ฐ์ฒด ๊ฐ ์ถฉ๋์ ํจ์จ์ ์ผ๋ก ๋ค๋ฃจ๋ฉด์๋ ์ ํ๋๋ฅผ ์ ์งํฉ๋๋ค. ABD์ ์ด๋ ๋ฐฉ์ ์์ ์ฐ์ฑ์ฒด ๊ฒฝ์ฐ์ ์ ์ฌํ๊ฒ ๋ผ๊ทธ๋์ง์์ผ๋ก๋ถํฐ ์ ๋๋๋ฉฐ, ์ํ ์ขํ๊ณ ์์ ์ง๋ ํ๋ ฌ M_y = J^\top M J (J๋ ๋งคํ \phi์ ์์ฝ๋น์) ๋ฑ์ ์ ์ํ์ฌ IP ์๋์ง ํํ๋ก ์ ์ํ๋ฉ๋๋ค.
์์ ๊ฐ์ด ์ ์๋ ์ฐ์ฑ์ฒด์ ์ฆ๋ถ ํผํ ์ ์๋์ง E_{\text{IP}}(x)์ ๊ฐ์ฒด(์ํ์ฒด)์ ์ฆ๋ถ ํผํ ์ ์๋์ง E_{\text{IP}}(y)๋ฅผ ํฉ์น๊ณ , ๊ฑฐ๊ธฐ์ ๊ณตํต์ ๋ฐฐ๋ฆฌ์ด ์ถฉ๋ ์๋์ง B(\phi(y); x)์ ๋ง์ฐฐ ์๋์ง D(\phi(y); x)๋ฅผ ์ถ๊ฐํ๋ฉด, ์ฐ์ฑ ๋ ธ๋ ์ขํ x์ ๊ฐ์ฒด ์ํ ์ขํ y๋ฅผ ๋ชจ๋ ๋ฏธ์ง์๋ก ๊ฐ๋ ํตํฉ ์๋์ง E_{\text{IPC}}(y; x)๋ฅผ ์ป์ ์ ์์ต๋๋ค. ์ด ์ (์ (4))์ด ๋ฐ๋ก Taccel ํตํฉ ์๋ฎฌ๋ ์ด์ ์ ์๋์ง ํจ์์ด๋ฉฐ, ์์คํ ์ ๋ค์ ์๋ฎฌ๋ ์ด์ ์ํ (y_{n+1}; x_{n+1})๋ ์ด E_{\text{IPC}}๋ฅผ ์ต์ํํจ์ผ๋ก์จ ๊ฒฐ์ ๋ฉ๋๋ค. ์์ฝํ๋ฉด, Taccel์ ํ ์คํ ์๋ฎฌ๋ ์ด์ ์ โ์ฐ์ฑ์ฒด + ์ํ ๊ฐ์ฒด + ์ถฉ๋/๋ง์ฐฐโ๋ก ๊ตฌ์ฑ๋ ๊ฑฐ๋ํ ์๋์ง ์ต์ ํ ๋ฌธ์ ๋ฅผ ํธ๋ ๊ฒ์ผ๋ก ์ดํดํ ์ ์์ต๋๋ค. ์ด๋ ๊ณ์ฐ์ ์ผ๋ก๋ ์ด๋ ค์ด ๋ฌธ์ ์ด์ง๋ง NVIDIA GPU ์์ ๋ณ๋ ฌ ์ฐ์ฐ(Warp ํ๋ ์์ํฌ)์ ํ์ฉํ์ฌ ํด๋ฅผ ๋น ๋ฅด๊ฒ ์ฐพ๋๋ก ๊ตฌํ๋์์ต๋๋ค.
3.4์ (Kinematic Constraints)์์๋ ๋ก๋ด ๊ด์ ๋ฑ์ ์ด๋ํ์ ์ ์ฝ์ ์ด ์๋์ง ์ต์ํ ๋ฌธ์ ์ ํตํฉํ๋ ๋ฐฉ๋ฒ์ ๋ค๋ฃน๋๋ค. ๋ก๋ด์ ๊ด์ ์ ๋งํฌ ๊ฐ์ ์๋์ ์์น ์ ์ฝ์ผ๋ก ํํ๋๋ฉฐ, ์์ปจ๋ โ์ผ์ ์ ค ํจ๋์ ํน์ ๋ ธ๋๋ค์ ์ผ์ ํ์ฐ์ง์ ๊ณ ์ ๋๋คโ ๋๋ โ๋ก๋ด ํ ๋งํฌ๋ค์ ๊ด์ ๊ฐ์ ๋ฐ๋ผ ์๋ก ์๋ ๋ณํ ๊ด๊ณ๋ฅผ ๊ฐ์ง๋คโ์ ๊ฐ์ ์กฐ๊ฑด๋ค์ ๋๋ค. ์ด๋ฌํ ์ ํ ๋ฑ์ ์ ์ฝ S_x x = s_x,; S_y y = s_y๋ฅผ ๋ง์กฑ์ํค๊ธฐ ์ํด, Taccel์ Augmented Lagrangian(ํ์ฅ ๋ผ๊ทธ๋์ง์) ๋ฐฉ๋ฒ์ ์ฌ์ฉํฉ๋๋ค. ์ฆ, ์์์ ์ ์ํ E_{\text{IPC}}(y;x)์ ํ๋ํฐ ํญ์ผ๋ก \frac{\rho}{2}|S_x x - s_x|^2 + \frac{\rho}{2}|S_y y - s_y|^2 (๋ฐ ๋ผ๊ทธ๋์ฃผ ์น์ ํญ)์ ์ถ๊ฐํ E_{\text{AL-IPC}}๋ฅผ ์ต์ํํจ์ผ๋ก์จ, ์ ์ฝ์ ๋ง์กฑํ๋ ์ต์ ํด๋ฅผ ์ป์ต๋๋ค. ์ด ๋ฐฉ์์ ์ ์ฝ ์กฐ๊ฑด์ ์๋ฐํ ๋ง์กฑ์ํค๋ฉด์๋ IPC ์ต์ ํ์ ํฐ ๋ฌด๋ฆฌ ์์ด ํตํฉ๋๋ฉฐ, ๊ฒฐ๊ณผ์ ์ผ๋ก ๋ก๋ด ๊ด์ ์์ง์์ด๋ ์ผ์ ๋ถ์ฐฉ ๋ฑ์ ์์ฐ์ค๋ฝ๊ฒ ์๋ฎฌ๋ ์ด์ ๋ด์ ๋ น์ฌ๋ผ ์ ์์ต๋๋ค.
์ ๋ฆฌํ๋ฉด, Taccel์ ํตํฉ ๋ฌผ๋ฆฌ ์๋ฎฌ๋ ์ด์ ์์ง์ ์ฐ์ฑ์ฒด(FEM ๊ธฐ๋ฐ ์ ค ํจ๋)์ ์ค๊ฐ์ฒด(ABD ๊ธฐ๋ฐ ๋ก๋ด/๋ฌผ์ฒด)๋ฅผ ํ๋์ ๋ฌผ๋ฆฌ ์์คํ ์ผ๋ก ๋ฌถ๊ณ , IPC ์๊ณ ๋ฆฌ์ฆ์ ํตํด ์ถฉ๋๊ณผ ๋ง์ฐฐ๊น์ง ๋์์ ํด๊ฒฐํ๋ ํ์ ์ ์ธ ๊ตฌ์กฐ์ ๋๋ค. ์ด๋ฅผ ํตํด ์๋ฎฌ๋ ์ด์ ์ค ์ด๋ค ์ ์ด ์ํฉ์์๋ ๊ฒน์นจ์ด๋ ๊ดํต์ด ์์ด ์ ํํ ์ํธ์์ฉ์ด ์ด๋ฃจ์ด์ง๋ฉฐ, ๋ํ ์ฐ์ฑ์ฒด-๊ฐ์ฒด ๊ฐ์ ๋ณต์กํ ์ถฉ๋(์: ์๊ฐ๋ฝ์ ๋ฑ๋ฑํ ๋ถ๋ถ๊ณผ ๋ถ๋๋ฌ์ด ์ ค ํจ๋ ์ฌ์ด์ ์ ์ด)๋ ์์ ์ ์ผ๋ก ๊ณ์ฐ๋ฉ๋๋ค. ์ด๋ฌํ ๊ฒฌ๊ณ ํ ๋ฌผ๋ฆฌ ๋ชจ๋ธ์ด Taccel์ ๋์ ์ ํ์ฑ์ ๊ธฐ๋ฐ์ ์ด๋ฃจ๋ฉฐ, ๋ค์ ์ฅ์์๋ ์ด๋ฅผ ํ์ฉํ์ฌ ๋ก๋ด๊ณผ ์ด๊ฐ ์ผ์๋ฅผ ์ค์ ๋ก ์ด๋ป๊ฒ ์๋ฎฌ๋ ์ดํธํ๋์ง ์ดํด๋ด ๋๋ค.
4์ฅ: ๋ก๋ด ๋ฐ VBTS ์๋ฎฌ๋ ์ด์ ๋ชจ๋์ ์ค๊ณ
4์ฅ โRobot and VBTS Simulation in Taccelโ์์๋ ์์ ํ๋ฆฝ๋ ํตํฉ ๋ฌผ๋ฆฌ์์ง์ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌ์ฒด์ ์ธ ๋ก๋ด๊ณผ ์ด๊ฐ์ผ์ ์๋ฎฌ๋ ์ด์ ์ ๊ตฌํํ๋ ๊ตฌ์กฐ์ ์ ํธ ์์ฑ ๋ฐฉ๋ฒ์ ์ค๋ช ํฉ๋๋ค. Taccel์ ๋ชจ๋ํ๋ ์ค๊ณ๋ฅผ ์ฑํํ์ฌ, ๋ก๋ด ๋ถ๋ถ๊ณผ ์ผ์ ๋ถ๋ถ์ ๋ถ๋ฆฌ๋ ์ปดํฌ๋ํธ๋ก ๊ตฌ์ฑํ๋ฉด์๋ ๋ฌผ๋ฆฌ ์์ง ์์์ ๋ฐ์ ํ ์ํธ์์ฉํ๋๋ก ํฉ๋๋ค. ์ด๋ฅผ ํตํด ์ํ ๋์ญํ(๊ฐ์ฒด ๋ชจ๋ธ)๊ณผ ์ฐ์ฑ์ฒด ๋์ญํ(์ ค ํจ๋ ๋ชจ๋ธ)์ ์ํธ ๋ณด์์ ์ฅ์ ์ ์ญ๋ถ ํ์ฉํ๊ณ ์ ํ ๊ฒ์ ๋๋ค.
4.1์ (Robot and Sensor Simulation)์์๋ ๋ก๋ด๊ณผ VBTS๋ฅผ ์๋ฎฌ๋ ์ด์ ํ๋ ๊ตฌ์ฒด์ ์ธ ๋ฐฉ๋ฒ์ ๋ค๋ฃน๋๋ค. ๋จผ์ ๋ก๋ด ๋ชจ๋ธ๋ง ์ธก๋ฉด์์, Taccel์ ํ์ค URDF (Unified Robot Description Format) ํ์ผ๋ก๋ถํฐ ๋ก๋ด์ ๊ตฌ์ฑ ์ ๋ณด๋ฅผ ๋ถ๋ฌ์ต๋๋ค. URDF์๋ ๋ก๋ด์ ๋งํฌ๋ค๊ณผ ๊ด์ ๊ตฌ์กฐ, ๊ทธ๋ฆฌ๊ณ ๊ฐ ๋งํฌ์ ๋์ํ๋ ์๊ฐ/์ถฉ๋ ๋ฉ์ฌ๊ฐ ์ ์๋์ด ์๋๋ฐ, Taccel์ ์ด ์ค ์ถฉ๋ ๋ฉ์ฌ๋ฅผ ABD ๊ธฐ๋ฐ ์ํ ๋ฐ๋๋ก ๋ก๋ฉํฉ๋๋ค. ์ฆ, ๋ก๋ด์ ๊ฐ ๋งํฌ๋ 12์์ ๋์ ์ํ์ฒด๋ก ์๋ฎฌ๋ ์ดํฐ์ ๋ฑ๋ก๋๊ณ , URDF์ ๋ช ์๋ ๋งํฌ ๊ฐ ์ ์๊ตฌ์กฐ(๊ด์ ์ข ๋ฅ์ ํ๊ณ ๋ฑ)์ ๋ฐ๋ผ ์์ ์ค๋ช ํ ์ด๋ํ์ ์ ์ฝ์ด ์ค์ ๋ฉ๋๋ค. ๋ก๋ด์ ์ด๊ธฐ ์์ธ๋ฅผ ์ฃผ์ด์ง๋ฉด ์ ํฅ ์ด๋ํ์ผ๋ก ๋ชจ๋ ๋งํฌ์ ์ธ๊ณ ์ขํ๊ณ ๋ณํ T^r_{l_j}(q)๊ฐ ๊ณ์ฐ๋๊ณ , ์ด๋ฅผ ๊ฐ ๋งํฌ ์ํ ๋ฐ๋์ ์ด๊ธฐ ์ํ๋ก ์ผ์ต๋๋ค. ๋ง๋ถ์ฌ, ์๋ฎฌ๋ ์ด์ ์์ ๊ฐ์ํ๋ฅผ ์ํด ์๊ฐ ๋ฉ์ฌ(Visual mesh)๋ ๋ถ๋ฌ์ค์ง๋ง ์ด๋ ๋ฌผ๋ฆฌ ๊ณ์ฐ์๋ ์ํฅ์ด ์์ต๋๋ค.
๋ค์์ผ๋ก ์ด๊ฐ ์ผ์(VBTS) ๋ชจ๋ธ๋ง์ ๋ํด์, Taccel์ ๊ฐ ์ด๊ฐ์ผ์์ ์ ค ํจ๋๋ฅผ ํ๋์ ์ฐ์ฑ์ฒด ์์๋ก ๋ชจ๋ธ๋งํฉ๋๋ค. ๋ณดํต GelSight ๊ณ์ด ์ผ์๋ ์์ ํ์ฑ ์ ค ํ๋ฉด์ ๋ฌด๋ฌ๊ฐ ๊ทธ๋ ค์ง๊ฑฐ๋ ๋ํธ ๋ง์ปค๊ฐ ๋ฐํ ์๊ณ , ๋ท๋ฉด์๋ ์นด๋ฉ๋ผ์ ์กฐ๋ช ์ด ์๋ ๊ตฌ์กฐ์ ๋๋ค. Taccel์์๋ ์ด ์ ค ํจ๋(ํ์ฑ์ฒด ๋ถ๋ถ)๋ฅผ ์ฌ๋ฉด์ฒด ๋ฉ์ฌ์ ์ฐ์ฑ์ฒด(FEM)๋ก ํํํ๊ณ , ์ด๋ฅผ ํด๋น ์ผ์๊ฐ ๋ถ์ฐฉ๋ ๋ก๋ด ๋งํฌ์ ํ๋ฉด์ ๋ถ๋ชจ-์์ ๊ด๊ณ๋ก ๋ถ์ ๋๋ค. ์์ปจ๋, ๋ก๋ด ์๊ฐ๋ฝ ๋์ VBTS๊ฐ ๋ฌ๋ฆฐ ๊ฒฝ์ฐ, ์๊ฐ๋ฝ ๋งํฌ๋ ABD ๋ฐ๋๋ก ์์ง์ด๊ณ ๊ทธ ๋ง๋จ์ ์ฐ๊ฒฐ๋ ์ ค ํจ๋๋ ์ฐ์ฑ์ฒด๋ก์ ๋ฐ๋ผ๋ค๋๋ฉฐ ๋ณํ๋ฉ๋๋ค. ์ด๋ฅผ ์ํด ๊ฐ ์ผ์ i์ ์ ค ํจ๋ G_i์ ๋ํด, ๊ทธ ๋ถ์ฐฉ๋ ๋งํฌ l_j์์ ์ขํ ๋ณํ T^{l_j}_{G_i}๋ฅผ ๊ธฐ๋กํด๋๊ณ ์๋ฎฌ๋ ์ด์ ์ ์ ์ฉํฉ๋๋ค.
์ ค ํจ๋์ ํ๋ฉด์ ํฌ๊ฒ ๋ ๋ถ๋ถ์ผ๋ก ๋๋ฉ๋๋ค: ์นด๋ฉ๋ผ๋ก ๊ด์ฐฐํ๊ธฐ ์ํด ๋ฐ์ฌ ์ฝํ ๋ ๋ถ๋ถ(B^+_G)๊ณผ, ์ผ์ ํ์ฐ์ง์ ์ ์ฐฉ๋์ด ๊ณ ์ ๋ ๊ฐ์ฅ์๋ฆฌ ๋ถ๋ถ(B^-_G)์ ๋๋ค. ์๋ฎฌ๋ ์ด์ ์ด๊ธฐ์๋ B^-_G์ ์ํ ๋ ธ๋๋ค์ ๋งํฌ์ ๋ถ์ฌ ๊ณ ์ (์ด๋ํ์ ์ ์ฝ์ผ๋ก ๊ตฌํ)๋๊ณ , B^+_G ๋ถ๋ถ์ ํํํ ์ด๊ธฐ ์ํ์ ๋๋ค. ์ ์ด ์ํธ์์ฉ์ด ๋ฐ์ํ๋ฉด ์ ค ํจ๋๊ฐ ๋ณํ๋์ด B^+_G ํ๋ฉด์ด B^+_G\tilde{}๋ก ๋ณํํ๊ณ , ํ๋ฉด์ ๋ฐํ์๋ ๋ง์ปค๋ค์ด ์๋ก์ด ์์น P_i\tilde{}๋ก ์ด๋ํ๊ฒ ๋ฉ๋๋ค. ์ด๋ฌํ ๋ณํ๋ ํ๋ฉด ํ์๊ณผ ๋ง์ปค ์์น๊ฐ ๋ฐ๋ก ์ด๊ฐ ์ ํธ ์์ฑ์ ๊ธฐ์ด ์๋ฃ๊ฐ ๋ฉ๋๋ค. ๋ค์ ๋งํด, Taccel์ ๋ฌผ๋ฆฌ ์์ง์ โ๋ก๋ด ๋งํฌ(๊ฐ์ฒด) โ ์ ค ํจ๋(์ฐ์ฑ์ฒด) โ ํ๊ฒฝ ๋ฌผ์ฒดโ ์ฌ์ด์ ํ๊ณผ ๋ณํ์ ๊ณ์ฐํ์ฌ ์ ค ํ๋ฉด์ ๋ณํ ๊ฒฐ๊ณผ๋ฅผ ๋ด๋๊ณ , ๋ค์ ๋จ๊ณ์์๋ ์ด ๊ฒฐ๊ณผ๋ฅผ ๊ฐ์ง๊ณ ๊ฐ์์ ์นด๋ฉ๋ผ ์ ํธ๋ฅผ ๋ง๋ค์ด๋ด๋ ๊ตฌ์กฐ์ ๋๋ค.
์๋ฎฌ๋ ์ด์ ์ค ๋ก๋ด์ ๋์ ์ ์ด๋ ์ด๋ป๊ฒ ๊ตฌํ๋์์๊น์? Taccel์ ๋ก๋ด์ ๊ด์ ์ ์ด๋ฅผ ๋ฌผ๋ฆฌ ์๋ฎฌ๋ ์ด์ ์ ์์ฐ์ค๋ฝ๊ฒ ๋ น์ด๊ธฐ ์ํด, ๊ด์ ๋ชฉํ๊ฐ์ ์ด๋ํ์ ์ ์ฝ์ผ๋ก ๋ณํํ๋ ๋ฐฉ์์ ์ทจํฉ๋๋ค. ์๋ฅผ ๋ค์ด ๋ก๋ด ๊ด์ ๊ฐ ๋๋ ์๊ฐ๋ฝ์ ๋ชฉํ ํฌ์ฆ๊ฐ ์ฃผ์ด์ง๋ฉด, ํด๋น ๋งํฌ๋ค์ ๋ชฉํ ์ํ ๋ณํ ์ํ์ ์ ค ํจ๋ ๋ถ์ฐฉ ๋ ธ๋๋ค์ ๋ชฉํ ์์น๋ฅผ ๊ณ์ฐํฉ๋๋ค. ์ด๋ค์ s_y, s_x ํํ๋ก ๋๊ณ ์ ์ฝ์ S_y y = s_y, S_x x = s_x๋ก ์ค์ ํ๋ฉด, ๋ฌผ๋ฆฌ ์์ง์ ์๋์ง ์ต์ ํ๋ ์๋์ผ๋ก ๊ทธ ๋ชฉํ ์ํ๋ฅผ ๋ง์กฑ์ํค๋ ๋ฒ์ ๋ด์์ ์ต์ ์๋์ง ํด๋ฅผ ์ฐพ๊ฒ ๋ฉ๋๋ค. ์ฆ, ๋ก๋ด ๊ด์ ์ด๋์ ๊ฐ์ฒด ์ํ ๋ฐ๋์ ์ ์ฝ์ผ๋ก, ์ผ์ ํจ๋์ ๋ถ์ฐฉ๋ฉด ์์ง์์ ์ฐ์ฑ ๋ ธ๋์ ์ ์ฝ์ผ๋ก ๊ฐ๊ฐ ๋ฐ์๋์ด, ์ฌ์ฉ์๊ฐ ๋ณ๋๋ก ๋ณต์กํ ์ ์ด ์ฝ๋๋ฅผ ์งค ํ์ ์์ด Taccel ์์ง์ด ์์์ ๊ด์ ์์ง์ ๋๋ก ์์คํ ์ ์ด๋์ด๊ฐ๋๋ค. ์ด๋ฌํ ๊ตฌ์กฐ๋ ํนํ ๋ค์์ ์ผ์๋ฅผ ์ฅ์ฐฉํ ๋ณต์กํ ๋ก๋ด(hand ๊ฐ์)์ ์ ๋ฆฌํ๋ฐ, ์ฐ์ฑ ์ผ์๋ค์ด ๋ก๋ด ์์ง์์ ๋ฐ๋ผ ์ ํํ ๋ฐ๋ผ์ค๋ฉด์๋ ์ธ๋ถ ๋ฌผ์ฒด์ ํ์ ์ฃผ๊ณ ๋ฐ๋ ์ํธ์์ฉ์ ์ ํํ ๊ณ์ฐํด๋ผ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
4.2์ (Tactile Signal Simulation in Taccel)์์๋ ๋ฌผ๋ฆฌ ์์ง์ผ๋ก๋ถํฐ ์ป์ ์ ค ํจ๋ ๋ณํ ๊ฒฐ๊ณผ๋ฅผ ์ด๋ป๊ฒ ๋ค์ํ ํํ์ ์ด๊ฐ ์ ํธ ์ถ๋ ฅ์ผ๋ก ๋ณํํ๋์ง ์ค๋ช ํฉ๋๋ค. ์ด๋ ๊ณง ์๋ฎฌ๋ ์ดํฐ๊ฐ ์ฌ์ฉ์์๊ฒ ์ ๊ณตํ๋ ๊ด์ธก๊ฐ(observation)์ ํด๋นํ๋ฉฐ, ๋ก๋ด ํ์ต์ด๋ ์๊ณ ๋ฆฌ์ฆ ๊ฐ๋ฐ์ ์ง์ ์ฐ์ ๋๋ค. Taccel์ ๊ณ ํด์๋ RGB ์ด๋ฏธ์ง, ๊น์ด ๋งต(depth map), ๋ง์ปค ์์น ๊ธฐ๋ฐ ์ ํด์๋ ์ ํธ, 3์ฐจ์ ์ ๊ตฐ(point cloud) ๋ฑ ๋ค์ํ ์ถ๋ ฅ ๋ชจ๋๋ฅผ ์ง์ํฉ๋๋ค.
๋จผ์ , ๊ณ ํด์๋ ์ด๊ฐ ์ด๋ฏธ์ง์ ๊น์ด ๋งต ์์ฑ ๋ฐฉ์์ ๋๋ค. ์ ค ํจ๋ ํ๋ฉด์ ๋ฐ์ฌ ์ฝํ ์์ญ B^+*G์ ๋ณํ ํ ํ๋ฉด ๊ธฐํ ์ ๋ณด๋ฅผ ์ด์ฉํด ๊น์ด ๋งต๊ณผ ๋ฒ์ ๋งต d(u,v), n(u,v)๋ฅผ ๊ณ์ฐํฉ๋๋ค. ์ฌ๊ธฐ์ u,v๋ ๊ฐ์์ ์นด๋ฉ๋ผ ์์์ ํ์ ์ขํ์ ๋์ํ๋ฉฐ, d(u,v)๋ ๋ณํ๋ ํ๋ฉด์ด ํํํ๋ ์ด๊ธฐ ์ํ์์ ์ผ๋ง๋ ๋ค์ด์๋์ง๋ฅผ, n(u,v)๋ ๋ณํ ํ ํ๋ฉด์ ๋ฒ์ ๋ฐฉํฅ์ ์๋ฏธํฉ๋๋ค. ์ด๋ ๊ฒ ์ป์ ๊น์ด/๋ฒ์ ์ ๋ณด๋ง์ผ๋ก๋ ์ค์ GelSight ์ด๋ฏธ์ง ๊ฐ์ ๋ณต์กํ ๊ดํ ํจํด์ ์ฌํํ๊ธฐ ์ด๋ ต๊ธฐ ๋๋ฌธ์, ์ฌ์ธต ์ ๊ฒฝ๋ง(DNN)์ ์ด์ฉํ ์ด๋ฏธ์ง ์์ฑ ๊ธฐ๋ฒ์ ์ ์ฉํฉ๋๋ค. ๋ ผ๋ฌธ์์๋ Si ๋ฑ์ ๋ฐฉ๋ฒ์ ๋ฐ๋ผ, ํฝ์ ๋จ์์ 2D ์์น ์ธ์ฝ๋ฉ \gamma(u,v)์ ๊น์ด/๋ฒ์ ์ ๋ณด (d(u,v), n(u,v))๋ฅผ ์ ๋ ฅ์ผ๋ก ๋ฐ์ ํด๋น ํฝ์ ์ ์์ ๋ณํ \Delta\sigma(u,v)๋ฅผ ์ถ๋ ฅํ๋ ์ ๊ฒฝ๋ง f*\theta๋ฅผ ์ฌ์ฉํ์ต๋๋ค. ์ด ์ ๊ฒฝ๋ง์ ์ ค ํจ๋๊ฐ ๋ณํ๋์ง ์์ ๊ธฐ์ค ์ด๋ฏธ์ง๋ฅผ ์ฐธ์กฐ๋ก ํ์ฌ, ๋ณํ์ ์ํ ํฝ์ ์ ๋ณํ๋ง ์์ธกํฉ๋๋ค. 200์ฅ์ ์ค์ ์ด๊ฐ ์ด๋ฏธ์ง์ ๊ทธ์ ๋์ํ๋ ๊น์ด ๋งต ๋ฐ์ดํฐ๋ก ํ์ต๋ ์ด ๋คํธ์ํฌ๋ฅผ ๊ฑฐ์น๋ฉด, ์ค์ ์ผ์๊ฐ ๋ณด์ฌ์ค ๋ฒํ RGB ์ด๊ฐ ์์์ด ์์ฑ๋ฉ๋๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก Taccel์ ๋ฌผ๋ฆฌ ๊ธฐ๋ฐ ์๋ฎฌ๋ ์ด์ ์ ์ ํ์ฑ์ ์ ์งํ๋ฉด์๋, ์๊ฐ์ ์ผ๋ก ํ์ค๊ฐ ์๋ ์ผ์ ์์์ ์ถ๋ ฅํ ์ ์๊ฒ ๋ฉ๋๋ค. ์ด๋ ๊ธฐ์กด์ ๋ฃฉ์ ํ ์ด๋ธ๋ก ๊ทผ์ฌํ๊ฑฐ๋ ์์ RGB ์์ฑ์ ์ง์ํ์ง ์๋ ์๋ฎฌ๋ ์ดํฐ๋ค๊ณผ ๋ฌ๋ฆฌ, ํ์ต ๊ธฐ๋ฐ ๊ธฐ๋ฒ์ ์ ๋ชฉํ์ฌ ๊ตฌํํ ํ์ค์ฑ์ ๋๋ค.
๋ค์์ผ๋ก, ์ ํด์๋ ์ด๊ฐ ์ ํธ๋ก ๋ง์ปค(marker) ์์น ์ถ์ ์ ์ ๊ณตํฉ๋๋ค. ์ผ์ ํ๋ฉด B^+_G ์ฝํ ๋ด์๋ ๋ค์์ ์ (markers)์ด ๋ฐํ ์๋ค๊ณ ๊ฐ์ ํ๋ฉฐ, ์ด๋ค์ ์ด๊ธฐ ์์น p_k (๋ฉ์ฌ์ ์ผ๊ฐํ ๋ด๋ถ ์ขํ๋ก ํํ)๋ฅผ ์ ์ฅํด ๋ก๋๋ค. ์๋ฎฌ๋ ์ด์ ์ค ๋ณํ ํ ๊ฐ ๋ง์ปค์ 3D ์์น \tilde{p}_k(t)๋ฅผ ๊ณ์ฐํ๊ณ , ์ด๋ฅผ 2D ์ด๋ฏธ์ง ํ๋ฉด์ ํฌ์ํ์ฌ ๋ง์ปค์ ์ด๋ ๊ถค์ (flow)์ ์ป์ ์ ์์ต๋๋ค. ๋ง์ปค๋ค์ ๋งค์ฐ ์์ ํจํด์ด์ด์ RGB ์ด๋ฏธ์ง ์์์๋ ์ผ์ข ์ ํน์ง์ ์์ง์์ฒ๋ผ ๋ํ๋๋ฏ๋ก, ๊ตญ๋ถ ๋ณํ ์์์ ์ถ์ ํ๋ ๋ฐ ์ ์ฉํฉ๋๋ค. ์ด marker ๊ธฐ๋ฐ ์ ํธ๋ ๊ณ ํด์๋ ์ด๋ฏธ์ง๋ฅผ ์ง์ ๋ค๋ฃจ๊ธฐ์๋ ๋ถ๋ด์ค๋ฌ์ด ๊ฒฝ์ฐ (์: ๊ฐํํ์ต์ ์ํ๋ก ์ฐ๊ฑฐ๋, ์ ์ฐจ์ ํผ์ฒ๋ก ํ์ฉํ๊ณ ์ถ์ ๋) ์ ํฉํ๋ฉฐ, ์ค์ ๋ก GelSight ๋ฑ์ ์ถ๋ ฅ์์ ํน์ง์ ์ ์ถ์ ํ๋ ๋ฐฉ์๊ณผ ์ ์ฌํฉ๋๋ค. Taccel์ ์ด๋ฌํ ๋ง์ปค ํ๋ฆ์ ํตํด ์ ค ํจ๋์ ๊ตญ๋ถ ๋ณํ, ๋ฏธ๋๋ฌ์ง, ์ ์ด์ ์ด๋ ๋ฑ์ ๊ฐํธํ๊ฒ ๊ฐ์งํ ์ ์๋๋ก ํฉ๋๋ค.
๋ง์ง๋ง์ผ๋ก, 3์ฐจ์ ์ด๊ฐ ์ ํธ ์ถ๋ ฅ๋ ์ง์๋ฉ๋๋ค. ๋ณํ ํ ์ ค ํจ๋ ํ๋ฉด์ ๊น์ด ๋งต์ด๋, ํน์ ์๊น ๊ตฌํ ๋ง์ปค๋ค์ 3D ์์น ์ ๋ณด๋ฅผ ์๋ ์ขํ๊ณ์ ์ ๊ตฐ(point cloud) ํํ๋ก ๋ณํํ ์ ์์ต๋๋ค. ๋ก๋ด์ ์๋์ด ์ผ์๋ฅผ ๋๋ฅด๋ ์ํฉ์ด๋ผ๋ฉด, ์ผ์ ํ๋ฉด์ ๋ณํ๋ 3D ํ์์ด ๊ณง ์ ์ดํ ๋ฌผ์ฒด์ ํํ๋ฅผ โ์กฐ๊ฐ๋โ ์ ๊ตฌ๋ฆ์ผ๋ก ๋ํ๋ผ ๊ฒ์ด๊ณ , ์ด๋ฅผ ํ์ฉํด ๋ก๋ด์ด ์ฃผ๋ณ ํ๊ฒฝ์ ๊ธฐํํ์ ์ถ๋ก ํ ์๋ ์์ต๋๋ค. ๋ ผ๋ฌธ์์๋ ์ด 3D ์ด๊ฐ ์ ํธ์ ํจ๊ณผ๋ฅผ Tac-Man ํ๋ ์์ํฌ ์๋ฎฌ๋ ์ด์ ์์ ๋ณด์ฌ์ฃผ์๋ค๊ณ ์ธ๊ธํ๋๋ฐ, ์ด๋ 3D ์ ์ด์ ์ ๋ณด๋ฅผ ํ์ฉํ ๊ฐ์ ์ ํ ๋ค์ด์ผ ์กฐ์ ๋ฑ์ ์์ ์ ์๋ฏธํฉ๋๋ค. ์์ปจ๋, Taccel์ 2D ์ด๋ฏธ์ง๋ถํฐ ์ ์ฐจ์ ํน์ง, 3D ์ ๋ณด๊น์ง ๋ค์ํ ์ด๊ฐ์ผ์ ์ถ๋ ฅ ํํ๋ฅผ ๋ชจ๋ ์๋ฎฌ๋ ์ด์ ํด๋ผ ์ ์์ด, ์ฐ๊ตฌ์๊ฐ ๋ชฉ์ ์ ๋ง๊ฒ ์ ์ ํ ํํ์ ๋ฐ์ดํฐ๋ฅผ ์ป์ ์ ์๊ฒ ํฉ๋๋ค.
4.3์ ์์๋ Taccel์ ์ํํธ์จ์ด API ์ค๊ณ์ ์ฌ์ฉ์ฑ์ ๋ํด ๊ฐ๋ตํ ์ธ๊ธ๋ฉ๋๋ค. Taccel์ ์ฐ๊ตฌ์๋ค์ด ์ฝ๊ฒ ํ์ฉํ ์ ์๋๋ก Python ๊ธฐ๋ฐ์ ์ง๊ด์ ์ธ API๋ฅผ ์ ๊ณตํ๋ฉฐ, ๋ด๋ถ์ ์ผ๋ก๋ NVIDIA Warp๋ฅผ ์ด์ฉํด GPU ๊ฐ์์ ๊ทน๋ํํ์ต๋๋ค. ์ฌ์ฉ์๋ URDF๋ก ๋ก๋ด์ ๋ถ๋ฌ์ ์ผ์๋ฅผ ์ฅ์ฐฉํ๊ณ , ๋ช ์ค์ ์ฝ๋๋ก ์๋ฎฌ๋ ์ด์ ์ ์คํํ๋ฉฐ, ๊ฐ ์คํ ์์ ์์์ ์ธ๊ธํ ๋ค์ํ ์ด๊ฐ ์ ํธ (์ด๋ฏธ์ง, ๊น์ด๋งต, ๋ง์ปค์ขํ ๋ฑ)๋ฅผ ๋ฐ์๋ณผ ์ ์์ต๋๋ค. ์ด๋ฌํ ๋์ ์์ค์ ์ถ์ํ์ ์ฌ์ฉ ํธ์์ฑ์ Taccel์ ์ ์ฐ์ฑ(flexibility)์ ๋์ฌ์ฃผ๋ ์์๋ก, ๋จ์ ๊ทธ๋ฆฌํผ๋ถํฐ ๋ณต์กํ ๋ค์ง ์๊น์ง ์ด๋ค ๋ก๋ด ํ๋ซํผ์๋ ์ผ์๋ฅผ ์์ฝ๊ฒ ๋ถ์ฌ ๋๊ท๋ชจ ์๋ฎฌ๋ ์ด์ ์ ์ํํ ์ ์๊ฒ ํฉ๋๋ค. ์ค์ ๋ก ๋ ผ๋ฌธ์์๋ ๋ง์ ํจ ์ด๊ฐ์ธ์ ์์ (๊ทธ๋ฆผ 1)๋ Tac-Man ๋ง์ดํฌ๋กํ ์กฐ์ ์๋๋ฆฌ์ค ๋ฑ ๋ค์ํ ๊ตฌ์ฑ์ ๋ฐ๋ชจ๋ก ๋ณด์๋๋ฐ, ์ด๋ ๊ณง Taccel์ด ๋ฒ์ฉ์ ์ธ ์ด๊ฐ ๋ก๋ด ์๋ฎฌ๋ ์ด์ ํ๋ซํผ์ผ๋ก ์ค๊ณ๋์์์ ๋ณด์ฌ์ค๋๋ค.
5์ฅ: Taccel์ ์ฑ๋ฅ ํ๊ฐ ๋ฐ ๋ถ์
5์ฅ โPerformance Evaluation of Taccelโ์์๋ ์์ ์ ์๋ Taccel์ ์ค๊ณ๊ฐ ์ ํ๋์ ํจ์จ์ฑ ์ธก๋ฉด์์ ์ผ๋ง๋ ์ฑ๊ณผ๋ฅผ ๋ด๋์ง๋ฅผ, ์ฌ๋ฌ ๋ฒค์น๋งํฌ ์คํ์ ํตํด ์ ๋์ ใป์ ์ฑ์ ์ผ๋ก ํ๊ฐํฉ๋๋ค. ํ๊ฐ ํญ๋ชฉ์ (5.1) ์ ๋ฐ์ ๋น๊ต, (5.2) ์ด๊ฐ ์ ํธ์ ์ถฉ์ค๋, (5.3) ๋ง์ฐฐ ๋ฐ ์ ๋จ ๋ณํ ์ ํ๋, (5.4) ๋ค์ค ํ๊ฒฝ ๋ณ๋ ฌ ์๋ฎฌ๋ ์ด์ ์ฑ๋ฅ์ผ๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค. ํต์ฌ ๊ฒฐ๊ณผ๋ฅผ ํ๋์ฉ ์์ฝํ๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
5.1 ๊ธฐ์กด ์๋ฎฌ๋ ์ดํฐ์์ ์ ๋ฐ์ ์ธ ๋น๊ต
๋ ผ๋ฌธ์์๋ ๋ค ๊ฐ์ง ๋์ ์ ์ธ ์๋๋ฆฌ์ค๋ฅผ ํตํด Taccel๊ณผ ๊ธฐ์กด ์ ๊ทผ๋ฒ๋ค์ ์ฑ๋ฅ์ ๋น๊ตํ์ต๋๋ค. ๊ทธ๋ฆผ 2์ ๊ทธ ๊ฒฐ๊ณผ๋ค์ด ์๊ฐํ๋์ด ์๋๋ฐ, ๊ฐ๊ฐ (a) ๋ณผํธ-๋ํธ ๊ฒฐํฉ, (b) ๋ถ๋๋ฌ์ด ๋ธ๋ก ํ๋ ์ค, (c) ์ด๊ฐ ํผ๋๋ฐฑ์ ํ์ฉํ ๊ด์ ๋ฌ๋ฆฐ ๋ฌผ์ฒด ์กฐ์, (d) ํ๊ทธ ์ธ์์ ๋ณ๋ ฌ ์๋ฎฌ๋ ์ด์ ์ ๋ค ๋ถ๋ถ์ผ๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค.
(a) ๋ณผํธ-๋ํธ ์กฐ๋ฆฝ ์๋๋ฆฌ์ค: ์์ ๋ํธ์ ๋ณผํธ๋ฅผ ํ์ ์ฝ์ ํ๋ ๋์์ผ๋ก, ์ค๋ธ์ ํธ๋ค์ด ๋ชจ๋ ๋น๋ณผ๋ก(non-convex) ํ์์ด๋ผ ์ถฉ๋ ๊ฒ์ถ๊ณผ ์ ์ด ๊ณ์ฐ์ด ๋งค์ฐ ๊น๋ค๋กญ์ต๋๋ค. ์ด ๊ฒฝ์ฐ Taccel์ ์์ ์ ์ผ๋ก ๋ํธ์ ๋ณผํธ์ ์ ์ด์ ์ฒ๋ฆฌํ๋ฉฐ ์กฐ๋ฆฝ ๋์์ ์๋ฎฌ๋ ์ด์ ํ ๋ฐ๋ฉด, PyBullet, SAPIEN ๋ฑ ๊ธฐ์กด ์๋ฎฌ๋ ์ดํฐ๋ค์ ์๋ฎฌ๋ ์ด์ ์ด ๋ถ์์ ํ๊ฑฐ๋ ์์ ์คํจํ๋ค๊ณ ํฉ๋๋ค. ๊ทธ ์ด์ ์ ๋ํด ๋ ผ๋ฌธ์ ์ด๋ ๊ฒ ๋ถ์ํฉ๋๋ค: ๊ธฐ์กด ์ ๊ทผ๋ฒ์์ ๊ฐ์ฒด-์ฐ์ฑ์ฒด ์ํธ์์ฉ์ ๋ค๋ฃจ๋ ๋ฐฉ์์ด ๋ฏธํกํ ํ์ ๋๋ค. ์๋ฅผ ๋ค์ด ํ ๊ฐ์ง ๋์์ผ๋ก ๋ชจ๋ ๋ฌผ์ฒด๋ฅผ ์ฐ์ฑ์ฒด๋ก ๋ชจ๋ธ๋งํ ์๋ ์์ผ๋, ๊ทธ๋ฌ๋ฉด ์์ ๋๊ฐ ๊ธฐํ๊ธ์์ ์ผ๋ก ๋์ด๋ ๊ณ์ฐ์ด ํฌ๊ฒ ๋๋ ค์ง๋๋ค. ๋ค๋ฅธ ํํธ, ์ ํต์ ์ธ ๊ฐ์ฒด ๋์ญํ(Rigid Body Dynamics) ์๋ฎฌ๋ ์ด์ ์์๋ ๋น๋ณผ๋ก ๋ฌผ์ฒด์ ์ถฉ๋์ ๋ค๋ฃจ๋ ค๋ฉด ์ง์์ ์ถฉ๋ ๊ฐ์ง(Continuous Collision Detection)๋ฅผ ์ฌ์ฉํด ๊ดํต์ ๋ง์์ผ ํ๋๋ฐ, ์ด๋ ๊ณ์ฐ ๋น์ฉ์ด ๋งค์ฐ ์ปค ์ค์๊ฐ ์ํ์ด ์ด๋ ต์ต๋๋ค. ๋ฐ๋ฉด Taccel์ ABD ์ ๊ทผ์ ๋ณผํธ์ ๋ํธ๋ฅผ ์ค๊ฐ์ฒด(์ํ ๋ฐ๋)๋ก ๋ชจ๋ธ๋งํ์ฌ, IPC ๋ฐฐ๋ฆฌ์ด๋ก ๊ดํต์ ์๋ฐฉํ๋ฉด์๋ CCD์ ์์กดํ์ง ์๊ณ ํจ์จ์ ์ผ๋ก ์ ์ด์ ํ์๊ธฐ ๋๋ฌธ์ ๊ฐ๋ฅํ ์ผ์ด์์ต๋๋ค. ์์ปจ๋, Taccel์ ๋ณต์กํ ๊ธฐํํ ๊ฐ์ ์ ์ด๋ ์ฒ๋ฆฌํ ์ ์๋ ์ ๋ฐ๋์ ๊ฒฌ๊ณ ์ฑ์ ๋ณด์ฌ์ค ์ฌ๋ก์ ๋๋ค.
(b) ์ฐ์ฑ ๋ธ๋ก ํ๋ ์ค(๋๋ฅด๊ธฐ) ํ ์คํธ: ๋ง๋ํ ๊ณ ๋ฌด ๋ธ๋ก ์๋ฅผ ๋ค๋ฅธ ์ฐ์ฑ ์ ค ํจ๋๋ก ๋๋ฌ๋ณด๋ ์คํ์ ๋๋ค. ๋ ๋ฌผ์ฒด ๋ชจ๋ ๋งค์ฐ ๋ถ๋๋ฝ๊ธฐ ๋๋ฌธ์ ์ฐ์ฑ-์ฐ์ฑ ์ ์ด์์ ์ ํํ ๋ณํ ๊ณ์ฐ์ด ์๊ตฌ๋ฉ๋๋ค. Taccel์ IPC์ ๋น๊ดํต ๋ณด์ฅ ๋๋ถ์ ๋ ์ฐ์ฑ์ฒด๊ฐ ์๋ก ๋ฐ๊ณ ๋๋ฌ๋ ์ ๋ ๊ฒน์ณ๋ค์ด๊ฐ์ง ์๋ ํ์ค์ ์ธ ์ํธ์์ฉ์ ๋ชจ์ฌํ์ต๋๋ค. ๊ทธ ๊ฒฐ๊ณผ ๋ธ๋ก์ด ๋๋ฆฌ๋ฉฐ ๋ณํ๋๋ ํํ๊ฐ ์นจํฌ๋ ๋น๋ฌผ๋ฆฌ์ ๊ฒน์นจ ์์ด ์์ฐ์ค๋ฌ์ด ๋ชจ์์ผ๋ก ๋ํ๋ฌ์ต๋๋ค. ๋ฐ๋ฉด ๊ธฐ์กด์ ํ๋ํฐ ๊ธฐ๋ฐ ์ ๊ทผ๋ค์ ์ด๋ ์ ๋ ๊ฒน์นจ์ ํ์ฉํ๊ณ ๊ทธ ์ ๋์ ๋ฐ๋ผ ํ์ ๊ฐ์ ํ๊ธฐ ๋๋ฌธ์, ๋ธ๋ก์ ๋๋ฅผ ๋ ์ ค ํจ๋๊ฐ ๋ธ๋ก ์์ผ๋ก ๋นํ์ค์ ์ผ๋ก ํ๊ณ ๋๋ ํ์์ด ๋ํ๋ฌ์ต๋๋ค. ์ด๋ฌํ ์ฐจ์ด๋ IPC์ ๋ฌผ๋ฆฌ์ ์ ํ์ฑ์ด ๊ฐ์ ธ์ค๋ ๊ฐ์์ ํจ๊ณผ๋ก, ๊ทธ๋ฆผ 2(b)์์ Taccel ๊ฒฐ๊ณผ๋ ํ๋ฉด์ด ๊นจ๋์ด ๋ถ๋ฆฌ๋์ด ์์ง๋ง, ๋ค๋ฅธ ๋ฐฉ๋ฒ๋ค์ ๊ฒน์นจ์ผ๋ก ์ธํ ์ด์ํ ๋ณํ์ด ๋ณด์์ ํ์ธํ ์ ์์ต๋๋ค. ์ด ํ ์คํธ๋ ์ฃผ๋ก ์ ์ด ๋ชจ๋ธ์ ๋ฌผ๋ฆฌ ์ถฉ์ค๋๋ฅผ ๊ฒ์ฆํ ๊ฒ์ผ๋ก, Taccel์ ์ถฉ๋-๋ง์ฐฐ ํด๋ฒ์ด ์ฐ์ฑ ์ ์ด์์๋ ์ ํจํจ์ ๋ณด์ฌ์ค๋๋ค.
(c) Tac-Man ๊ด์ ๋ฌผ์ฒด ์กฐ์ ๊ณผ์ : ์ค์ ๋ก๋ด์ด ์ ์๋ ์ธ์ง ๋ฌธ์ ์ด๊ฐ ํผ๋๋ฐฑ์ผ๋ก ์ฌ๋ Tac-Man ์์ ์ Taccel๋ก ์ฌํํ ์๋๋ฆฌ์ค์ ๋๋ค. ์ฌ๊ธฐ์๋ ๋ก๋ด ์๊ฐ๋ฝ์ ์ ค ํจ๋๊ฐ ๋ฌธ ์์ก์ด๋ฅผ ๋๋ฅด๊ณ ๋นํ์ด์ ์ฌ๋ ๋ณต์กํ ์ํธ์์ฉ์ด ์ผ์ด๋๋๋ฐ, Taccel์ ์ ์ด๋ ฅ ๊ณ์ฐ์ ์ ํ์ฑ ๋๋ถ์ ์ค์ ๋ก๋ด ์ํ๊ณผ ๊ฑฐ์ ์ผ์นํ๋ ํจํด์ผ๋ก ์ ค ํจ๋ ๋ณํ๊ณผ ๋ฌธ ์์ง์์ ์๋ฎฌ๋ ์ด์ ํ์ต๋๋ค. ์ค์ ์ธก์ ํ ๋ฌผ๋ฆฌ๋๊ณผ ๋น๊ตํ์ ๋ ์ฝ 1% ์ ๋์ ์ค์ฐจ๋ง์ ๋ณด์์ผ๋ฉฐ, ์ด๋ ์ฌ์ค์ ํ์ค๊ณผ ๊ตฌ๋ถ ์ด๋ ค์ด ์์ค์ ์ฌํ ์ ํ๋๋ผ๊ณ ํ ์ ์์ต๋๋ค. ๋ฐ๋ฉด ๋ค๋ฅธ ์ ๊ทผ๋ฒ์ผ๋ก ๋์ผ ์์ ์ ๊ตฌํํ๋ ค ํ๋ฉด, ์๋ฅผ ๋ค์ด Isaac Sim ๋ฑ์์ ์๋ํ ๊ตฌํ์ ์ผ์-๋ฌธ ์ฌ์ด ๋ง์ฐฐ๋ ฅ ๊ณ์ฐ ์ค๋ฅ๋ก ์ธํด 600% ์ด์์ ํฐ ์ค์ฐจ๋ฅผ ๋ณด์๋ค๊ณ ํฉ๋๋ค. Taccel์ ์ ค ํจ๋์ ๋ฌผ์ฒด ์ฌ์ด์ ๋ฏธ์ธํ ํ๊น์ง ์ ํํ ํ์ด๋ด์ด, ๋ฌธ์ด ์ด๋ฆฌ๋ ์์ , ์๋, ํ์ํ ํ์ ํฌ๊ธฐ ๋ฑ์ด ํ์ค๊ณผ ๋งค์ฐ ๊ฐ๊น๊ฒ ๋ชจ์ฌ๋์์ต๋๋ค. ์ด ๊ฒฐ๊ณผ๋ฅผ ํตํด Taccel์ ์๋ฎฌ๋ ์ด์ ์ด ๋จ์ํ ์ฐ๊ตฌ์ฉ์ผ๋ก ๋น ๋ฅด๊ฒ ๋๋ฆฌ๋ ์์ค์ ๋์ด, ์ค์ ๋ก๋ด ๋์์ ์์ธกํ๊ณ ์ค๊ณํ๋ ๋ฐ ์ ๋ขฐํ ์ ์์ ์ ๋์ ์ ๋ฐ๋๋ฅผ ์ง๋๋ค๋ ์ ์ ์ ์ ์์ต๋๋ค.
(d) ๋ณ๋ ฌ ํ๊ฒฝ ํ์ฅ ํ ์คํธ: ๋ง์ง๋ง์ผ๋ก ํ๊ทธ ์ธ์์ (puzzle peg ์ฝ์ ) ๊ณผ์ ๋ฅผ ๋ค์์ ํ๊ฒฝ์์ ๋ณ๋ ฌ๋ก ์คํ์์ผ, Taccel์ ์ค์ผ์ผ ์ ๋ฅ๋ ฅ์ ์ธก์ ํ์ต๋๋ค. ๋ฎ์ ํด์๋์ ์ ค ํจ๋(๋ ธ๋ 139๊ฐ) 2๊ฐ๋ฅผ ๊ฐ์ง ํ๊ทธ ์ฝ์ ์์ ํ๊ฒฝ์ 1๊ฐ GPU์์ ์ผ๋ง๋ ๋ง์ด ๋๋ฆด ์ ์๋์ง, ๊ทธ๋ฆฌ๊ณ ์ค์๊ฐ ๋๋น ์ผ๋ง๋ ๋น ๋ฅธ์ง ๋น๊ตํ ๊ฒฐ๊ณผ, Taccel์ ์ต๋ 4096๊ฐ ํ๊ฒฝ์ ๋์์ ๊ตฌ๋ํ๋ฉด์ ์ ์ฒด 915 FPS์ ์๋๋ฅผ ๊ธฐ๋กํ์ต๋๋ค. ์ด๋ ๋์ผ GPU์์ SAPIEN-IPC๋ก ๋ฌ์ฑํ ๋ณ๋ ฌ ์(64๊ฐ) ๋๋น 64๋ฐฐ ๋ง์ ํ๊ฒฝ์ด๋ฉฐ, ์๋ ๋ฉด์์๋ 64๋ฐฐ ํฅ์(18.30ร real-time)๋ ์์น์ ๋๋ค. ์ฌ์ง์ด ์ ค ํจ๋ ํด์๋๋ฅผ ๋์ฌ(๋ ธ๋ 1.5k) ๋์ด๋๋ฅผ ์ฌ๋ฆฐ ๊ฒฝ์ฐ์๋ Taccel์ ์์ ์ ์ผ๋ก ์๋ฎฌ๋ ์ด์ ์ ์ง์ํ๊ณ , ์ฌ์ ํ ๊ฒฝ์ ๊ธฐ๋ฒ๋ณด๋ค ์ฐ์ํ FPS๋ฅผ ์ ์งํ์ต๋๋ค. ๋์ฑ ๋ณต์กํ ์ ์ ํํ์ ๋ค์ง ๊ทธ๋ฆฝํผ(์๊ฐ๋ฝ 5๊ฐ์ ์ ค ํจ๋ 17๊ฐ, ๋ ธ๋ ํฉ๊ณ 5์ฒ ๊ฐ ์ด์) ํ๊ฒฝ์์๋ Taccel์ 256๊ฐ ๋ณ๋ ฌ ํ๊ฒฝ์์ ํ๊ท 12.67 FPS๋ฅผ ๊ตฌํ, ํ๊ฒฝ ํ๋ํ๋๋ก ๋ณด๋ฉด ๋น๋ก ์ค์๊ฐ์ 1/4 ์๋ ์ ๋์ด์ง๋ง ๋์์ 256๊ฐ๋ฅผ ์คํํ๋ค๋ ์ ์์ ๋งค์ฐ ๋์ ํ์ฉ ํจ์จ์ ๋ณด์์ต๋๋ค. ์ฐธ๊ณ ๋ก SAPIEN-IPC๋ ์ด ์ ๋ ๋ณต์ก์ฑ์ ์์ ์์ FP32 ๋ถ๋์์์ ์ ๋ฐ๋ ํ๊ณ๋ก ์๋ ด ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ฌ ์ ์ ๋์ํ์ง ๋ชปํ ๋ฐ๋ฉด, Taccel์ FP64 ์ ๋ฐ๋๋ฅผ ์ ์ฉํด ์์ ์ ์ผ๋ก ํ์์์ ๋ ผ๋ฌธ์ ์ธ๊ธํ๊ณ ์์ต๋๋ค. ๊ทธ๋ฆผ 4(a)๋ ๋ณ๋ ฌ ํ๊ฒฝ ์์ ๋ฐ๋ฅธ Taccel๊ณผ SAPIEN-IPC์ FPS ์ค์ผ์ผ๋ง ๊ทธ๋ํ๋ฅผ ๋ก๊ทธ ๋๊ธ์ผ๋ก ๋ณด์ฌ์ฃผ๊ณ ์๋๋ฐ, Taccel์ ๊ณก์ ์ ๋๊น์ง ๊ฐํ๋ฅด๊ฒ ์์นํ๋ ๋ฐ๋ฉด SAPIEN-IPC๋ ์ค๊ฐ๋ถํฐ ์๋ ด(๋๋ ์คํจ)ํ๋ ์์์ ๋ณด์ ๋๋ค. ์์ฝํ๋ฉด, Taccel์ ๋ณ๋ ฌ ์๋ฎฌ๋ ์ด์ ์ต์ ํ๊ฐ ๋์ผ ํ๋์จ์ด์์ ์๋ฑํ ๋ฐ์ดํฐ ์ฒ๋ฆฌ๋์ ๊ฐ๋ฅ์ผ ํจ์ ์ ์ฆํ ๊ฒ์ ๋๋ค. ์ด๋ ๊ณง ๊ฐํํ์ต ๋ฑ ์์ฒ~์๋งํ ์ํผ์๋ ๋ฐ๋ณต์ด ํ์ํ ์์ ์ Taccel์ด ํนํ ์ ๋ฆฌํ๋ฉฐ, ์ด์ ์๋ ๋ถ๊ฐ๋ฅํ๋ ์ด๊ฐ ์ ๋ณด๋ฅผ ์ฌ์ฉํ๋ ๋๊ท๋ชจ ํ์ต์ ํ์คํํ ์ค์ํ ๊ฒฐ๊ณผ์ ๋๋ค.
5.2 ์ด๊ฐ ์ ํธ ์๋ฎฌ๋ ์ด์ ํ์ง ํ๊ฐ
Taccel์ ๋ ํ๋์ ํต์ฌ ๋ชฉํ๋ ํ์ค์ ๊ฐ๊น์ด ์ด๊ฐ ์ผ์ ์ ํธ ์์ฑ์ด๋ฉฐ, 5.2์ ์์๋ ์๋ฎฌ๋ ์ดํฐ๊ฐ ๋ง๋ค์ด๋ธ ์ด๊ฐ ์ด๋ฏธ์ง๊ฐ ์ค์ ์ผ์์ ์ถ๋ ฅ๊ณผ ์ผ๋ง๋ ์ ์ฌํ์ง ํ๊ฐํ์ต๋๋ค. ์ ์๋ค์ ์ค์ GelSight ์ ์ฌ ์ผ์๋ฅผ ๋ง๋ค์ด 18๊ฐ์ ๋ค์ํ ํ์์ ๋ฌผ์ฒด๋ฅผ ๋๋ฌ ์ป์ ์ค์ ์ด๊ฐ ์ด๋ฏธ์ง ๋ฐ์ดํฐ์ ๊ณผ, ๋์ผํ ์กฐ๊ฑด์ผ๋ก Taccel์์ ๋๋ฅธ ๊ฐ์ ์ด๊ฐ ์ด๋ฏธ์ง๋ฅผ ๋น๊ตํ์ต๋๋ค. ๊ทธ๋ฆผ 3(a) ์ข์ธก์ ์ด๋ฐ ๋ฐ์ดํฐ ์์ง ์ฅ๋ฉด์ ๋ณด์ฌ์ฃผ๊ณ , ์ฐ์ธก์ violin ํ๋กฏ์ ํ ์คํธํ ๊ฐ ๋ฌผ์ฒด์ ๋ํด ์๋ฎฌ๋ ์ด์ ๋ ์ค์ธ๊ณ ์ด๋ฏธ์ง ๊ฐ ๊ตฌ์กฐ ์ ์ฌ๋(SSIM) ๋ถํฌ๋ฅผ ๋ํ๋ ๋๋ค. ๊ฒฐ๊ณผ๋ ํ๊ท SSIM 0.93์ผ๋ก, ๊ฑฐ์ 1์ ๊ฐ๊น์ด ๋งค์ฐ ๋์ ์ ์ฌ๋๋ฅผ ๋ฌ์ฑํ์ต๋๋ค. ์ด๋ ์ธ๊ฐ ๋์ผ๋ก ๋ด๋ ์๋ฎฌ๋ ์ดํฐ ์ด๋ฏธ์ง์ ์ค์ ์นด๋ฉ๋ผ ์ด๋ฏธ์ง๊ฐ ๊ตฌ๋ณํ๊ธฐ ์ด๋ ค์ธ ๋งํผ ์๊ฐ์ ํจํด์ด ์ ์ผ์นํจ์ ์๋ฏธํฉ๋๋ค. ์ค์ ์์๋ก ์ ์๋ ์ด๋ฏธ์ง๋ฅผ ๋ณด๋ฉด, ๊ธฐํํ์ ์ค๊ณฝ, ํ์ ์ํ ๋ฐ๊ธฐ ๋ณํ ๋ฑ ๋๋ถ๋ถ ์์๊ฐ ๋ง์๋จ์ด์ง๊ณ ์ฝ๊ฐ์ ๋ ธ์ด์ฆ๋ ๋ฐ๊ธฐ ์ฐจ์ด๋ง ์กด์ฌํ ๋ฟ์์ ํ์ธํ ์ ์์ต๋๋ค. ๋ฏธ์ธํ ์ฐจ์ด๊ฐ ์กด์ฌํ๋ ์ด์ ์ ๋ํด์ ๋ ผ๋ฌธ์ 3D ํ๋ฆฐํ ํ ์ํ ๋ฌผ์ฒด๋ค์ ์ ์กฐ ์ค์ฐจ, ์นด๋ฉ๋ผ ๋ณด์ ์ ํ๊ณ ๋ฑ์ ๋ค๊ณ ์์ผ๋ฉฐ, ์ ๋ฐ์ ์ผ๋ก Taccel์ด ๊ณ ํ์ง์ ์ด๊ฐ ํจํด์ ์์ฑํ๋ ๋ฐ ์ฑ๊ณตํ๋ค๊ณ ํ๊ฐํฉ๋๋ค. ์ด ์ ๋์ ์ ๋ฐ๋๋ก ๊ฐ์ ์ผ์ ์ ํธ๋ฅผ ์ป์ ์ ์๋ค๋ ๊ฒ์, ์๋ฎฌ๋ ์ดํฐ์์ ํ์ตํ ๋ชจ๋ธ์ ๊ทธ๋๋ก ์ค์ ์ผ์ ์ ๋ ฅ์์๋ ์ ์ฉํ ์ ์์ ๋งํผ sim-to-real ๊ฒฉ์ฐจ๋ฅผ ์ขํ์ค๋ค๋ ๋ป์ด๋ฉฐ, ์ค์ ๋ก ๋ ผ๋ฌธ๋ ์ฑ๊ณต์ ์ธ sim-to-real ์ ์ด๋ฅผ ๊ฐ์กฐํ๊ณ ์์ต๋๋ค.
5.3 ๋ง์ฐฐ ๋ฐ ์ ๋จ ๋ณํ ์ ๋ฐ๋ ๊ฒ์ฆ
5.3์ ์์๋ ์ ค ํจ๋์ ๋ฌผ์ฒด ์ฌ์ด์ ๋ง์ฐฐ ๊ฑฐ๋ ๋ฐ ์ ๋จ(shear) ๋ณํ์ Taccel์ด ์ผ๋ง๋ ์ ํํ ์ฌํํ๋์ง ํ๊ฐํฉ๋๋ค. ์ด๋ ์ด๊ฐ์ผ์์์ ๋งค์ฐ ์ค์ํ ์ธก๋ฉด์ผ๋ก, ์๋ฅผ ๋ค์ด ์ผ์๋ก ๋ฌผ์ฒด๋ฅผ ์ด์ง ์ฅ์๋ค ๋ฏธ๋๋ด ๋ ํจ๋์ ํ๋ฉด์ด ์ผ๋ง๋ ๋ฐ๋ผ ์์ง์ด๋ค๊ฐ ๋ฏธ๋๋ฌ์ง๋์ง ๋ฑ์ ๋์์ ๊ฐ๋ฆฌํต๋๋ค. ์คํ ์ค์ ์ ๊ทธ๋ฆผ 3(b)์ ๋์ ์๋๋ฐ, VBTS ๊ทธ๋ฆฌํผ(๋ ์๊ฐ๋ฝ)์ ๋ง๋๊ธฐ ๋ชจ์์ ๋ฌผ์ฒด๋ฅผ ์ฅ๊ณ 2 mm/s ์๋๋ก ์ก์๋น๊ธฐ๋ ์ํฉ์ ์๋ฎฌ๋ ์ด์ ํ๊ณ , ๋์ผํ ์ค์ ์คํ๊ณผ ๋น๊ตํ์ต๋๋ค. ๋ค๋ฅธ ์กฐ๊ฑด์ผ๋ก๋ ์ก์ ๋ฌผ์ฒด(๋ง๋)์ ํ๋ฉด ๋ง์ฐฐ๊ณ์๋ฅผ ๋ค๋ฅด๊ฒ ํ์ฌ, ๋ง์ฐฐ๋ ฅ์ด ํฐ ๊ฒฝ์ฐ์๋ ํจ๋๊ฐ ๋ ๋ง์ด ๋ฐ๋ผ์ค๋ค ๋ฏธ๋๋ฌ์ง ๊ฒ์ด๊ณ , ์์ ๊ฒฝ์ฐ ๋นจ๋ฆฌ ๋ฏธ๋๋ฌ์ง ๊ฒ์ ๊ด์ฐฐํ ์ ์๊ฒ ํ์ต๋๋ค. Taccel ์๋ฎฌ๋ ์ดํฐ์์ ํ ๋ฒ์ ์คํ ๋ฐ์ดํฐ๋ฅผ ํ์ฉํด ํด๋น ๋ฌผ์ฒด์ ๋ง์ฐฐ๊ณ์๋ฅผ ์บ๋ฆฌ๋ธ๋ ์ด์ ํ ๋ค, ๋ค๋ฅธ ์กฐ๊ฑด๋ค์ ๋ํด ์๋ฎฌ๋ ์ด์ ๊ฒฐ๊ณผ์ ์ค์ ๊ณ๋ฅผ ๋น๊ตํ ๊ฒฐ๊ณผ ํ๊ท 28 ๋ง์ดํฌ๋ก๋ฏธํฐ(0.028 mm) ์ ๋์ ์์น ์ค์ฐจ๋ง ๋ฐ์ํ์ต๋๋ค. ๊ทธ๋ฆผ 3(b)์ ๊ทธ๋ํ์ ๋ํ๋ ์ฌ๋ฌ ๊ณก์ ๋ค์ ๋ณด๋ฉด, ์๋ก ๋ค๋ฅธ ๋ง์ฐฐ๊ณ์ ์กฐ๊ฑด์์ ์ค์ ์ ค ํจ๋ ๋ง์ปค์ ๋ณํ๋๊ณผ Taccel ์๋ฎฌ๋ ์ด์ ๋ง์ปค ๋ณํ๋์ด ๊ฑฐ์ ๊ฒน์น ๋งํผ ์ผ์นํ๋ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค. ์ด ์ ๋์ ๋ฏธ์ธํ ์์ง์๊น์ง ๋ง์๋จ์ด์ง๋ค๋ ๊ฒ์, Taccel์ ๋ง์ฐฐ ๋ชจ๋ธ (IPC์ ๋ง์ฐฐ ํผํ ์ )๊ณผ ์ฐ์ฑ์ฒด ๋ณํ ๊ณ์ฐ์ด ํ์ค์ ๋ณต์กํ stick-slip ๊ฑฐ๋๊น์ง ํฌ์ฐฉํ๊ณ ์๋ค๋ ์๋ฏธ์ ๋๋ค. ์ด๋ฐ ๊ฒฐ๊ณผ๋ ๋จ์ํ ์ ์ ์ด๋ฏธ์ง ์ ์ฌ๋๋ฅผ ๋์ด์ ๋์ ์ํธ์์ฉ์ ์ ํ์ฑ์ ์ฆ๋ช ํ ๊ฒ์ผ๋ก์, Taccel์ด ์ ์ , ๋์ ์ ์ด ๋ชจ๋์์ ์ ๋ขฐํ ๋งํ ๋ฌผ๋ฆฌ ์ ํ๋๋ฅผ ๊ฐ์ถ์์์ ๋ท๋ฐ์นจํฉ๋๋ค.
5.4 ๋๊ท๋ชจ ๋ณ๋ ฌ ์๋ฎฌ๋ ์ด์ ๋ฅ๋ ฅ ํ๊ฐ
๋ง์ง๋ง์ผ๋ก 5.4์ ์์๋ Taccel์ ๋ณ๋ ฌ ์๋ฎฌ๋ ์ด์ ์ฑ๋ฅ์ ์ฒด๊ณ์ ์ผ๋ก ๋ถ์ํฉ๋๋ค. ์์ (5.1)์ (d) ์๋๋ฆฌ์ค์์ ๊ธฐ๋ณธ์ ์ธ ๊ฒฐ๊ณผ๋ฅผ ํ์ธํ์ง๋ง, ์ฌ๊ธฐ์๋ ๊ณผ์ ๋์ด๋์ ๋ฐ๋ฅธ ์ค์ผ์ผ ์ฑ๋ฅ๊ณผ GPU ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋, Floating point ์ ๋ฐ๋์ ๋ฐ๋ฅธ ์์ ์ฑ ๋ฑ ์ธ๋ถ์ ์ธ ํ๊ฐ๊ฐ ์ด๋ค์ก์ต๋๋ค. ์ ์๋ค์ ๋ณต์ก๋๊ฐ ๋ค๋ฅธ ์ธ ๊ฐ์ง ๊ณผ์ ๋ฅผ ์ค๋นํ๋๋ฐ: (i) ์์ ์ธ๊ธํ ๋์ผ ์ผ์ ํ๊ทธ ์ธ์์ (์ ํด์๋), (ii) ๊ณ ํด์๋ ๋์ผ ์ผ์ ํ๊ทธ ์ธ์์ , (iii) 17๊ฐ ์ผ์๊ฐ ๋ถ์ฐฉ๋ 5ํ ๋ก๋ด ์์ ๊ทธ๋ฆฝ ๋์์ด ๊ทธ๊ฒ์ ๋๋ค.
(i)์ ๊ฐ๋จํ ๊ฒฝ์ฐ์๋ SAPIEN-IPC์ Taccel ๋ชจ๋ ์๋ฐฑ ๊ฐ ์ด์ ๋ณ๋ ฌ ์คํ์ด ๊ฐ๋ฅํ์ผ๋, Taccel์ ํจ์ฌ ๋ ์๋งํ ์ฑ๋ฅ ์ ํ๋ก 4000๊ฐ ์์ค๊น์ง ์ ํ์ ๊ฐ๊น๊ฒ ํ์ฅ๋์์ต๋๋ค. ๋ฐ๋ฉด SAPIEN-IPC๋ 256๊ฐ ์์ค๋ถํฐ FPS๊ฐ ํฌ๊ฒ ๋จ์ด์ง๊ณ 512๊ฐ๋ฅผ ๋์ด๊ฐ๋ฉด์๋ถํฐ๋ ์ผ๋ถ ํ๊ฒฝ์์ ์๋ ด ์คํจ(convergence failure)๊ฐ ๋ฐ์ํ์ต๋๋ค. ๋ ผ๋ฌธ์ ๊ทธ ์์ธ์ SAPIEN-IPC๊ฐ 32๋นํธ ๋ถ๋์์์ (FP32) ์ ๋ฐ๋๋ฅผ ์จ์ IPC ๋ฐฐ๋ฆฌ์ด ํญ ๊ณ์ฐ ์ ์์น์ค์ฐจ๊ฐ ๋์ ๋๊ธฐ ๋๋ฌธ์ด๋ผ๊ณ ์ง์ ํฉ๋๋ค. Taccel์ ๊ธฐ๋ณธ์ ์ผ๋ก 64๋นํธ ์ ๋ฐ๋(FP64)๋ก ๊ณ์ฐํ์ฌ ์ด๋ฐ ๋ฌธ์ ๋ฅผ ํํผํ๊ณ , ๋ํ ๋๊ท๋ชจ ๋ณ๋ ฌ ์ฐ์ฐ์ ์ํด Warp ํ๋ ์์ํฌ๋ฅผ ์ธ์ฌํ๊ฒ ์ต์ ํํ์ฌ VRAM(๊ทธ๋ํฝ ๋ฉ๋ชจ๋ฆฌ)์ ํจ์จ์ ์ฌ์ฉ๊ณผ ์ค๋ ๋ ๋ณ๋ ฌํ๋ฅผ ์ด๋ฃจ์๋ค๊ณ ๋ถ์ฐํฉ๋๋ค. (ii) ๊ณ ํด์๋ ์ผ์์ ๊ฒฝ์ฐ, SAPIEN-IPC๋ ์์ 100๊ฐ ๋ฏธ๋ง์ ํ๊ฒฝ์์ ์ด๋ฏธ ์ค์๊ฐ๋ณด๋ค ํจ์ฌ ๋๋ ค์ ธ(0.03ร) ๋๊ท๋ชจ ๋ณ๋ ฌํ๊ฐ ๋ฌด์๋ฏธํ๋ ๋ฐ ๋ฐํด, Taccel์ ์๋ฐฑ ๊ฐ ํ๊ฒฝ์์๋ ์์ ์ ์๋ฎฌ๋ ์ด์ ์ ๋ณด์์ต๋๋ค. (iii) ๋ณต์กํ ๋ค์ง ๋ก๋ด ์์ ๊ฒฝ์ฐ, SAPIEN-IPC๋ ๊ฐ๋ณ ํ๊ฒฝ๋ ๊ฐ์ฒด ์์ ์ผ์ ์ ์ฆ๊ฐ๋ก ๊ณ์ฐ์ด ๋ฒ๊ฑฐ์ ์ ๋๋ก ์คํํ์ง ๋ชปํ์ง๋ง Taccel์ 256๊ฐ ๋ณ๋ ฌ ์คํ์ผ๋ก 12.67 FPS๋ฅผ ๋ผ ์ ์์๊ณ , ์ด๋ฅผ ํตํด ๋ณต์กํ ๋ก๋ด ์์คํ ์๋ ์ ์ฉ ๊ฐ๋ฅํจ์ ์ฆ๋ช ํ์ต๋๋ค. ์ด ๋ชจ๋ ํ๊ฐ๋ฅผ ์ข ํฉํ๋ฉด, Taccel์ GPU ๊ธฐ๋ฐ ๊ตฌํ์ด ๋จ์ผ PC์์ ์ด์ ์ธ๋ ๋๋น ์๋ฑํ ๋ง์ ์์ ์ด๊ฐ ์๋ฎฌ๋ ์ด์ ๋ฐ์ดํฐ๋ฅผ ๋น ๋ฅด๊ฒ ์์ฑํ ์ ์์์ ํ์ธํ ์ ์์ต๋๋ค. ์ด๋ ๋ก๋ด ํ์ต ์ปค๋ฎค๋ํฐ์ ๋งค์ฐ ์ค์ํ ์๋ฏธ๋ก, ๊ณผ๊ฑฐ์๋ ๋ถ๊ฐ๋ฅํ๋ ๊ท๋ชจ์ ๋ฐ์ดํฐ๋ก ์ด๊ฐ ๋ชจ๋ธ์ ํ์ตํ๊ฑฐ๋, ์์ฒ ํ์ ์๋ฎฌ๋ ์ด์ ์ ๋ณ๋ ฌ ์ํํด ์ ์ฑ ์ ํ๋ จํ๋ ๊ฒ์ด Taccel๋ก ํ์คํ๋ ์ ๋ง์ ๋๋ค.
๊ฒฐ๋ก ๋ฐ ๊ธฐ์ฌ ๋ถ์
โTaccel: Scaling Up Vision-based Tactile Robotics via High-performance GPU Simulationโ ๋ ผ๋ฌธ์ ๋น์ ๊ธฐ๋ฐ ์ด๊ฐ ๋ก๋ณดํฑ์ค ์๋ฎฌ๋ ์ด์ ๋ถ์ผ์ ์์ด ํ๊ธฐ์ ์ธ ์ง์ ์ ๋ณด์ฌ์ค ์ฐ๊ตฌ๋ก ํ๊ฐํ ์ ์์ต๋๋ค. ์ด๋ค์ ์ฃผ์ ๊ธฐ์ฌ๋ฅผ ์ ๋ฆฌํ๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
์ ํํ ๋ฌผ๋ฆฌ ๋ชจ๋ธ ํตํฉ: ๊ธฐ์กด์ ๋ณ๊ฐ๋ก ์ฐ๊ตฌ๋๋ IPC ๊ธฐ๋ฐ ์ฐ์ฑ์ถฉ๋ํด๊ฒฐ ๊ธฐ๋ฒ๊ณผ ABD ๊ธฐ๋ฐ ์ค๊ฐ์ฒด ๋ชจ๋ธ๋ง์ ํ ๋ฐ ๋ฌถ์ด, ์ฐ์ฑ ์ ค๊ณผ ๊ฐ์ฒด ๋ฌผ์ฒด ๊ฐ์ ๋ณต์กํ ์ํธ์์ฉ๋ ๋ฌผ๋ฆฌ์ ์ผ๋ก ํ๋นํ๊ฒ ๊ณ์ฐํ ์ ์๋ ํ๋ ์์ํฌ๋ฅผ ๊ตฌํํ์ต๋๋ค. ์ด๋ฅผ ํตํด ์ ์ด ์๋ฎฌ๋ ์ด์ ์ ์ ํ๋(inversion-free & intersection-free)๋ฅผ ๋ํญ ํฅ์์์ผฐ์ผ๋ฉฐ, ์ค์ ๋ก๋ด๊ณผ ๋ฌผ์ฒด์ ์ ์ด์ ์๋ฎฌ๋ ์ดํฐ์์ ๊ฑฐ์ ์ค์ฐจ์์ด ์ฌํํ ์ ์์์ ๋ณด์ฌ์ฃผ์์ต๋๋ค.
๊ณ ์ฑ๋ฅ GPU ๋ณ๋ ฌ ๊ตฌํ: NVIDIA Warp๋ฅผ ํ์ฉํ ์ปค์คํ ๋ณ๋ ฌํ, ๋ฉ๋ชจ๋ฆฌ ์ต์ ํ, ์ด์ค์ ๋ฐ๋ ์ฐ์ฐ ๋ฑ์ ํตํด, ๊ธฐ์กด ์๋ฎฌ๋ ์ดํฐ ๋๋น ์์ญ ๋ฐฐ ์ด์์ ๋ณ๋ ฌ ํ๊ฒฝ์ ๋๋ฆด ์ ์๋ ์ฑ๋ฅ์ ๋ฌ์ฑํ์ต๋๋ค. ํนํ ํ๋์ H100 GPU๋ก 4096๊ฐ ํ๊ฒฝ์ ์ค์๊ฐ์ 18๋ฐฐ ์๋๋ก ๊ตฌ๋ํ ๊ฒฐ๊ณผ๋, ๋ก๋ด ์๋ฎฌ๋ ์ด์ ์ ๋ฐ์ ํตํ์ด์๋ ๋งค์ฐ ๋ฐ์ด๋ ์์น์ ๋๋ค. ์ด๋ ๋์ฉ๋ ํ์ต ๋ฐ์ดํฐ ์์ฑ์ด๋ ๋๊ท๋ชจ ๊ฐํํ์ต์ ์ด๊ฐ ์ ๋ณด๋ฅผ ํ์ฉํ ์ ์๋ ๊ธธ์ ์ด์์ผ๋ฉฐ, ์ด๊ฐ ๋ก๋ณดํฑ์ค ์ฐ๊ตฌ์ ์ค์ผ์ผ์ ํ ์ฐจ์ ๋์ด์ฌ๋ฆฐ ๊ฒ์ผ๋ก ๋ณผ ์ ์์ต๋๋ค.
ํ์ค๊ฐ ์๋ ์ด๊ฐ ์ ํธ ์์ฑ: ๋ฌผ๋ฆฌ ์๋ฎฌ๋ ์ด์ ๊ฒฐ๊ณผ๋ฅผ ๋ค์ํ ํํ์ ์ผ์ ์ถ๋ ฅ์ผ๋ก ๋ณํํ๋ ๋ชจ๋์ ์ ์ํ๊ณ , ํนํ ์ฌ์ธตํ์ต(DNN)์ ์ ๋ชฉํ์ฌ RGB ์ด๊ฐ ์ด๋ฏธ์ง์ ํ์ค๊ฐ์ ํ๋ณดํ ์ ์ ๋๋ณด์ ๋๋ค. ๊ทธ ๊ฒฐ๊ณผ ์๋ฎฌ๋ ์ดํฐ ์ด๋ฏธ์ง์ ์ค์ ์ผ์ ์ด๋ฏธ์ง ๊ฐ SSIM 0.93์ด๋ผ๋ ๋์ ์ ์ฌ๋๋ฅผ ์ ์ฆํ๊ณ , ์ด๋ ๊ณง ์๋ฎฌ๋ ์ด์ -ํ์ค ๊ฐ ๊ฒฉ์ฐจ(Sim2Real gap)๋ฅผ ์ต์ํํ์ฌ ์๋ฎฌ๋ ์ดํฐ๋ก ํ์ตํ ๋ชจ๋ธ์ ์ค์ ๋ก๋ด์ ์ ์ฉํ๊ธฐ ์ฉ์ดํ๊ฒ ๋ง๋ค์์ต๋๋ค. ๊ธฐ์กด ์ผ๋ถ ์์ ๋ค์ด ์ด๊ฐ ์ ํธ๋ฅผ ๋จ์ํ(์: ํ์ผ๋ก ๋ฐ๋ก ์ถ์ )ํ๊ฑฐ๋ ์์ ์ง์ํ์ง ์์๋ ๊ฒ๊ณผ ๋ฌ๋ฆฌ, Taccel์ ๊ณ ํด์๋ ์ด๊ฐ ํจํด๋ถํฐ ์ ํด์๋ ํน์ง๊น์ง ๋ชจ๋ ์ ๊ณตํจ์ผ๋ก์จ ์ฐ๊ตฌ์๊ฐ ๋ค์ํ ๋ฐฉ๋ฒ์ผ๋ก ์ด๊ฐ ์ ๋ณด๋ฅผ ํ์ฉํ ์ ์๊ฒ ํ์ต๋๋ค.
๋ฒ์ฉ์ฑ๊ณผ ์ฌ์ฉ์ฑ: Taccel์ ๋ค์ํ ๋ก๋ด ํ๋ซํผ๊ณผ ์ผ์ ๊ตฌ์ฑ์ ์ฝ๊ฒ ์ ์ฉ๋ ์ ์๋๋ก ์ค๊ณ๋์์ต๋๋ค. URDF ๊ธฐ๋ฐ ๋ก๋ด ๋ถ๋ฌ์ค๊ธฐ, ๊ฐ๋จํ Python API, ๊ทธ๋ฆฌ๊ณ ์ผ์ ์ฅ์ฐฉ์ ๋ชจ๋ํ ๋ฑ์ ํตํด ๋ณ๋ ฌ ๋ก๋ด+์ด๊ฐ ์๋ฎฌ๋ ์ด์ ์ ์ง์ ์ฅ๋ฒฝ์ ๋ฎ์ถ ๊ฒ๋ ์ค์ํ ๊ณตํ์ ๋๋ค. ์์ปจ๋ ์ฐ๊ตฌ์๊ฐ ์์ ์ ๋ก๋ด ๋ชจ๋ธ๊ณผ ์ด๊ฐ ์ผ์ ๋งค์ฌ๋ง ์ค๋นํ๋ฉด, Taccel ํ๊ฒฝ์์ ๊ณง๋ฐ๋ก ๋ณต์กํ ์ด๊ฐ ์กฐ์ ์คํ์ ๋๋์ผ๋ก ์ํํด๋ณผ ์ ์์ต๋๋ค. ์ด๋ ์คํ ๋น์ฉ์ด๋ ๋ฌผ๋ฆฌ์ ์ ์ฝ์ผ๋ก ์๋ํ๊ธฐ ์ด๋ ค์ ๋ ๋ค์ํ ์ด๊ฐ ์ํธ์์ฉ ์ฐ๊ตฌ๋ฅผ ๊ฐ์ ํ๊ฒฝ์์ ์๋น๊ฒจ ๊ฒ์ฆํ ์ ์๊ฒ ํด์ค ๊ฒ์ ๋๋ค.
๊ฒ์ฆ๋ ์คํจ์ฑ: ๋ ผ๋ฌธ์์ ์ ์๋ค์ ๋ฌผ์ฒด ์ธ์, ๊ทธ๋ฆฝ ํ์ต, ๊ด์ ๊ฐ์ฒด ์กฐ์ ๋ฑ์ ๋ค์ํ ๋ค์ด์คํธ๋ฆผ ๊ณผ์ ์ Taccel์ ํ์ฉํ์ฌ, ์๋ฎฌ๋ ์ดํฐ์ ์ฑ๋ฅ์ด ๋จ์ง ์์น์ ์ฐ์ํจ์ ๊ทธ์น์ง ์๊ณ ์ค์ ๋ก ๋ก๋ด ํ์ต ๋ฐ ์ ์ด์ ์ ์ฉํจ์ ๋ณด์ฌ์ฃผ์์ต๋๋ค. ํนํ Tac-Man ๋ฑ ํ์ค ์์ ์ ์ฌํ, sim-to-real ํ์ต ์ฌ๋ก ์ ์๋ ์ปค๋ฎค๋ํฐ์ Taccel์ ๊ฐ์น๋ฅผ ์ค๊ฐํ๊ฒ ํ๋ ๋ถ๋ถ์ ๋๋ค.
์์ฝํ๋ฉด, Taccel์ ๋ก๋ด ์ด๊ฐ ์ผ์ ์๋ฎฌ๋ ์ด์ ์ ์ ๋ฐ๋-์๋ ํธ๋ ์ด๋์คํ๋ฅผ ๊ทน๋ณตํ๊ณ ๋๊ท๋ชจํํจ์ผ๋ก์จ, ํ๊ณ์ ์ฐ์ ๊ณ์ ์ด๊ฐ ๋ก๋ด ์ฐ๊ตฌ์ ์๋ก์ด ์งํ์ ์ด์๋ค๊ณ ๋ณผ ์ ์์ต๋๋ค. ์ด ์ฐ๊ตฌ๋ ๊ณ ์ฑ๋ฅ ๋ฌผ๋ฆฌ ์๋ฎฌ๋ ์ด์ ์์ง ๊ฐ๋ฐ๊ณผ ๋ก๋ด ํ์ต ์์ฉ์ ๋ง๋จ์ด๋ผ๋ ์ ์์๋ ์๋ฏธ๊ฐ ํฌ๋ฉฐ, ํฅํ Taccel์ ๊ธฐ๋ฐ์ผ๋ก ํ ๋ค์ํ ์ฐ๊ตฌ ํ์ฅ (์: ์ฐจ๋ณ๊ฐ๋ฅ ์๋ฎฌ๋ ์ด์ ์ ํตํ ์ญํ์ต, ๋ณตํฉ ์์ฌ/์ ์ฐ ๋ฌผ์ฒด ์๋ฎฌ๋ ์ด์ ๋ฑ)์ด ๊ธฐ๋๋ฉ๋๋ค. ๋ ผ๋ฌธ์๋ ์ธ๊ธ๋์๋ฏ์ด, ์ด๋ฌํ ๋๊ตฌ์ ๊ณต๊ฐ๋ ์ด๊ฐ ๋ก๋ณดํฑ์ค ์ฐ๊ตฌ ๊ฐ๋ฐ์ ๊ท๋ชจ ํ์ฅ๊ณผ ๊ฐ์ํ๋ฅผ ๊ฐ๋ฅ์ผ ํ์ฌ, ๊ถ๊ทน์ ์ผ๋ก ๋ก๋ด์ด ์ด๊ฐ์ ํตํด ์ฃผ๋ณ์ ์ดํดํ๊ณ ์ํธ์์ฉํ๋ ๋ฐฉ๋ฒ์ ํ์ ์ ๊ฐ์ ธ์ฌ ๊ฒ์ผ๋ก ์ ๋ง๋ฉ๋๋ค. Taccel์ด ์ ์ํ ์ ๊ทผ๋ฒ์ ํฅํ ๋ค๋ฅธ ํํ์ ์ผ์ ์๋ฎฌ๋ ์ด์ ์ด๋ ๋ฉํฐํผ์ง์ค ์๋ฎฌ๋ ์ด์ ๋ถ์ผ์๋ ์ฐธ๊ณ ํ ๋งํ ์ฐ์ํ ์ฌ๋ก๋ก ๋จ์ ๊ฒ์ ๋๋ค.
ํ 1: Taccel๊ณผ ๊ธฐ์กด FEM ๊ธฐ๋ฐ VBTS ์๋ฎฌ๋ ์ดํฐ๋ค์ ๋น๊ต. Taccel์ ์ฐ์ฑ์ฒด ๋ชจ๋ธ๋ง์ FEM, ๊ฐ์ฒด์ ABD, ์ถฉ๋์ IPC, ์ด๊ฐ ์ ํธ ์์ฑ์ DNN ๊ธฐ๋ฐ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ฉฐ, ์์์ ๋ก๋ด ํ๋ซํผ์ ์ ์ฉ ๊ฐ๋ฅํ๋ค. ํนํ ๋ณ๋ ฌ ์๋ฎฌ๋ ์ด์ ๋ฉด์์ ์ต๋ 4096๊ฐ ํ๊ฒฝ์ ์ง์ํ๊ณ ์ค์๊ฐ ๋๋น 18.3๋ฐฐ ์๋๋ก ๊ตฌ๋ํ์ฌ, ๋ค๋ฅธ ์๋ฎฌ๋ ์ดํฐ๋ค์ ๋นํด ์๋ฑํ ํ์ฅ์ฑ์ ๋ณด์ฌ์ค๋ค. (Taxim: ์์ ๊ธฐ๋ฐ ์๋ฎฌ, DiffTactile: ๋ฌผ๋ฆฌ ๊ธฐ๋ฐ differentiable ์๋ฎฌ, SAPIEN-IPC: ๊ธฐ์กด IPC ์ ์ฉ ์๋ฎฌ๋ ์ดํฐ)
๊ทธ๋ฆผ 1: Taccel ์๋ฎฌ๋ ์ดํฐ ๋ฐ๋ชจ โ Allegro ํธ๋ ๋ก๋ด์ 4๊ฐ์ VBTS(GelSight ๊ณ์ด)๋ฅผ ๋ถ์ฐฉํ์ฌ ๋ง์ ํจ๋ฅผ ์ ๋ฐ ๊ทธ๋ฆฝํ๋ ์ฅ๋ฉด. ์ ค ํจ๋ ํ๋ฉด ๋ณํ ๋งต์ ํตํด ๋ง์ ํจ ํ๋ฉด์ ์๊ฐ ๋ฌด๋ฌ ๋ฑ ์ธ๋ฐํ ์ง์ค๋ฉํธ๋ฆฌ๊ฐ ์ ํํ ํฌ์ฐฉ๋จ์ ๋ณด์ฌ์ค๋ค.
๊ทธ๋ฆผ 2: ์ฌ๋ฌ VBTS ์๋ฎฌ๋ ์ดํฐ๋ค์ ๋ฌผ๋ฆฌ ์๋ฎฌ๋ ์ด์ ์ฑ๋ฅ ๋น๊ต. (a) ๋ณผํธ-๋ํธ ๊ฒฐํฉ: Taccel์ ๋น๋ณผ๋ก ์ ์ด์๋ ์์ ์ ์๋ฎฌ๋ ์ด์ ์ ๋ฌ์ฑํ์ผ๋ PyBullet ๋ฑ์ ์ถฉ๋ ์ค๋ฅ ๋ฐ์. (b) ์ฐ์ฑ ๋ธ๋ก ํ๋ ์ค: Taccel์ ์ ค-๋ธ๋ก ์ฌ์ด ๋ฌด๊ดํต ๋ณํ์ ์ ์งํ๋ ํ๋ํฐ ๊ธฐ๋ฐ ํ ์๋ฎฌ๋ ์ดํฐ๋ค์ ํจ๋๊ฐ ๋ธ๋ก์ ๊ดํตํ๋ ๋ถ์์ฐ์ค๋ฌ์ด ๊ฒฐ๊ณผ๋ฅผ ๋ณด์. (c) ์ด๊ฐ ํ์ฉ ๊ด์ ๋ฌผ์ฒด(Tac-Man ๋ง์ดํฌ๋กํ ๋ฌธ) ์กฐ์: Taccel์ ์ค์ธก๊ณผ ~1% ์ค์ฐจ๋ก ์ ค-์์ก์ด ์ํธ์์ฉ์ ์ฌํ, ํ ๋ฐฉ๋ฒ(์: Isaac Gym ๊ตฌํ)์ 600% ๋๋ ์ค์ฐจ. (d) ๋ณ๋ ฌ ํ๊ฒฝ ํ ์คํธ: ํ๊ทธ ์ฝ์ ์์ ์ ๋ค์ค ํ๊ฒฝ์ผ๋ก ์คํํ ๊ฒฐ๊ณผ, Taccel์ ์ ํด์๋ 4096๊ฐ/>915 FPS, ๊ณ ํด์๋ 256๊ฐ/>256 FPS ๋ฑ์ ๋ฌ์ฑํ์ฌ ํ์ฅ์ฑ์ด ๋์์ ์ ์ฆ.
๊ทธ๋ฆผ 3: ์๋ฎฌ๋ ์ด์ ์ ํ๋ ํ๊ฐ. (a) ์ด๊ฐ ์ด๋ฏธ์ง ๋น๊ต โ ์ค์ GelSight์ผ์๋ก ์ธก์ ํ ํจํด๊ณผ Taccel ์๋ฎฌ๋ ์ด์ ๊ฒฐ๊ณผ๊ฐ ์ ์ฌํ๋ฉฐ, ๋ชจ๋ ์ํ ๋ฌผ์ฒด์ ๋ํด ์๋ฎฌ๋ ์ด์ ๋ ์ค์ SSIM์ด ๋งค์ฐ ๋๊ฒ ๋ํ๋จ(ํ๊ท 0.93). (b) ๋ง์ฐฐ/์ ๋จ ๋ณํ โ VBTS ๊ทธ๋ฆฌํผ๋ก ๋ง๋๋ฅผ ์ฅ๊ณ ๋น๊ธฐ๋ ์คํ์์, ์๋ก ๋ค๋ฅธ ๋ง์ฐฐ๊ณ์ ์กฐ๊ฑด ํ์ ์ค์ ์ธก์ ํ ์ ค ๋ณํ(๋ง์ปค ์ด๋)๊ณผ Taccel ๊ฒฐ๊ณผ๊ฐ ๊ฑฐ์ ๊ฒน์ณ์ง. ํ๊ท ์ค์ฐจ 0.028 mm ์์ค์ผ๋ก, ๋ง์ฐฐ ๊ฑฐ๋ ๋ฐ ๋ฏธ๋๋ฌ์ง๊น์ง ์ ๋ฐํ๊ฒ ๋ชจ์ฌ๋จ์ ๋ณด์ฌ์ค.
๊ทธ๋ฆผ 4: ๋ณ๋ ฌ ์๋ฎฌ๋ ์ด์ ์ฑ๋ฅ ๋ถ์. (a) ํ๊ฒฝ ๊ฐ์ ์ฆ๊ฐ์ ๋ฐ๋ฅธ FPS ๋ณํ (๋ก๊ทธ ๋๊ธ) โ Taccel์ 4096๊ฐ๊น์ง๋ FPS๊ฐ ๊พธ์คํ ์ฆ๊ฐ(์ ํ ์ค์ผ์ผ)ํ๋ฉฐ, FP32 ์ ๋ฐ๋์ SAPIEN-IPC๋ 64๊ฐ ์ด์์์ ๊ธ๊ฒฉํ ์ฑ๋ฅ ์ ํ ๋ฐ ์ผ๋ถ ์๋ ด ์คํจ ๋ฐ์. FP64 ์ ๋ฐ๋์ Taccel์ด ์์ ์ฑ๊ณผ ์๋ ๋ชจ๋ ์ฐ์ํจ. (b) ํ ์คํธ ์์ ์ ์ฅ๋ฉด ์์ โ ์ข: ํ๊ทธ ์ธ์์ (๋์ผ ์ผ์), ์ฐ: ๋ค์ง ๋ก๋ด ์ ๊ทธ๋ฆฝ. Appendix C.1์๋ (a) ์คํ์ VRAM ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋ ๋ฑ ์ถ๊ฐ ์๋ฃ๊ฐ ์ ์๋จ.