Curieux.JY
  • Post
  • Note
  • Jung Yeon Lee

On this page

  • Brief Review
  • Detail Review
    • ์„œ๋ก : ๋น„์ „ ๊ธฐ๋ฐ˜ ์ด‰๊ฐ ์„ผ์„œ ์‹œ๋ฎฌ๋ ˆ์ด์…˜์˜ ํ•„์š”์„ฑ๊ณผ ๋„์ „๊ณผ์ œ
    • 3์žฅ: Taccel์˜ ํ†ตํ•ฉ IPC ๊ธฐ๋ฐ˜ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ํ”„๋ ˆ์ž„์›Œํฌ
    • 4์žฅ: ๋กœ๋ด‡ ๋ฐ VBTS ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๋ชจ๋“ˆ์˜ ์„ค๊ณ„
    • 5์žฅ: Taccel์˜ ์„ฑ๋Šฅ ํ‰๊ฐ€ ๋ฐ ๋ถ„์„
      • 5.1 ๊ธฐ์กด ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ์™€์˜ ์ „๋ฐ˜์ ์ธ ๋น„๊ต
      • 5.2 ์ด‰๊ฐ ์‹ ํ˜ธ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ํ’ˆ์งˆ ํ‰๊ฐ€
      • 5.3 ๋งˆ์ฐฐ ๋ฐ ์ „๋‹จ ๋ณ€ํ˜• ์ •๋ฐ€๋„ ๊ฒ€์ฆ
      • 5.4 ๋Œ€๊ทœ๋ชจ ๋ณ‘๋ ฌ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๋Šฅ๋ ฅ ํ‰๊ฐ€
    • ๊ฒฐ๋ก  ๋ฐ ๊ธฐ์—ฌ ๋ถ„์„

๐Ÿ“ƒTaccel ๋ฆฌ๋ทฐ

tactile
vision-based
manipulation
dexterous
Scaling Up Vision-based Tactile Robotics via High-performance GPU Simulation
Published

October 10, 2025

  • Paper Link
  • Homepage
  • Code Link
  1. Taccel์€ Vision-based Tactile Sensors(VBTS)๋ฅผ ์žฅ์ฐฉํ•œ ๋กœ๋ด‡์˜ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ์—ฐ๊ตฌ๋ฅผ ์ œํ•œํ–ˆ๋˜ ๊ธฐ์กด ๋„๊ตฌ๋“ค์˜ ๋น„ํšจ์œจ์„ฑ๊ณผ ๋ถ€์ •ํ™•์„ฑ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๊ฐœ๋ฐœ๋œ ๊ณ ์„ฑ๋Šฅ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค.
  2. ์ด ํ”Œ๋žซํผ์€ Incremental Potential Contact(IPC)์™€ Affine Body Dynamics(ABD)๋ฅผ ํ†ตํ•ฉํ•˜์—ฌ ์ •ํ™•ํ•œ ๋ฌผ๋ฆฌ ์‹œ๋ฎฌ๋ ˆ์ด์…˜๊ณผ ์‚ฌ์‹ค์ ์ธ ์ด‰๊ฐ ์‹ ํ˜ธ ์ƒ์„ฑ์„ ๋ณด์žฅํ•˜๋ฉฐ, ์ˆ˜์ฒœ ๊ฐœ์˜ ๋ณ‘๋ ฌ ํ™˜๊ฒฝ์—์„œ ์‹ค์‹œ๊ฐ„ ๋Œ€๋น„ ์ตœ๋Œ€ 18๋ฐฐ ๋น ๋ฅธ ์†๋„๋ฅผ ๋‹ฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  3. 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 ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค.

  1. 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)๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค.
  2. 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๋Š” ์ ‘์ด‰ ๊ฐ•์„ฑ์„ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค.
  3. 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)
  4. 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 ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰ ๋“ฑ ์ถ”๊ฐ€ ์ž๋ฃŒ๊ฐ€ ์ œ์‹œ๋จ.

Copyright 2024, Jung Yeon Lee