Curieux.JY
  • JungYeon Lee
  • Post
  • Projects
  • Note

On this page

  • ๐Ÿ” Ping Review
  • ๐Ÿ”” Ring Review
    • 1. ์„œ๋ก : ์™œ ์ด ์—ฐ๊ตฌ๊ฐ€ ์ค‘์š”ํ•œ๊ฐ€?
      • 1.1 ๊ธฐ์กด ์—ฐ๊ตฌ์˜ ํ•œ๊ณ„
      • 1.2 Lightning Grasp์˜ ๋“ฑ์žฅ
    • 2. ํ•ต์‹ฌ ๊ธฐ์—ฌ: Contact Field ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ
      • 2.1 Contact Field๋ž€?
      • 2.2 ์„ค๊ณ„ ์ฒ ํ•™
      • 2.3 Contact Field์˜ ๊ตฌ์„ฑ ์š”์†Œ
    • 3. ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํŒŒ์ดํ”„๋ผ์ธ ์‹ฌ์ธต ๋ถ„์„
      • 3.1 Phase I: Contact Domain ์‹๋ณ„
      • 3.2 Phase II: Contact ์ตœ์ ํ™”
      • 3.3 Phase III: ์šด๋™ํ•™ ์ตœ์ ํ™” ๋ฐ ๋งˆ๋ฌด๋ฆฌ
    • 4. ๊ธฐ์ˆ ์  ํ˜์‹  ์ƒ์„ธ ๋ถ„์„
      • 4.1 ํŒŒ์ง€ ํ•ฉ์„ฑ ๋ฌธ์ œ์˜ ์žฌ์ •์˜
      • 4.2 Force Closure ๋ถ„์„์˜ ํšจ์œจํ™”
      • 4.3 GPU ์ตœ์ ํ™” ์ „๋žต
    • 5. ์„ฑ๋Šฅ ๋ถ„์„ ๋ฐ ๋น„๊ต
      • 5.1 ์ •๋Ÿ‰์  ์„ฑ๋Šฅ
      • 5.2 ๊ธฐ์กด ๋ฐฉ๋ฒ•๋“ค๊ณผ์˜ ๋น„๊ต
      • 5.3 ์ง€์› ๋กœ๋ด‡ ์† ํ”Œ๋žซํผ
    • 6. ์‹คํ—˜ ๊ฒฐ๊ณผ ๋ถ„์„
      • 6.1 ํ…Œ์ŠคํŠธ ๊ฐ์ฒด ๋ฒ”์ฃผ
      • 6.2 ๋‹ค์–‘์„ฑ๊ณผ ํ’ˆ์งˆ์˜ ๊ท ํ˜•
      • 6.3 ์„ฑ๋Šฅ ์ตœ์ ํ™” ๋ชจ๋“œ
    • 7. ์‹œ์Šคํ…œ ๊ตฌํ˜„ ์„ธ๋ถ€์‚ฌํ•ญ
      • 7.1 ํ™˜๊ฒฝ ์š”๊ตฌ์‚ฌํ•ญ
      • 7.2 ์ฃผ์š” ์˜์กด์„ฑ
      • 7.3 ์ปค์Šคํ…€ ๋กœ๋ด‡ ์† ์„ค์ •
      • 7.4 ์•Œ๋ ค์ง„ ์ œํ•œ์‚ฌํ•ญ
    • 8. ์—ฐ๊ตฌ์  ์˜์˜ ๋ฐ ํ–ฅํ›„ ๋ฐฉํ–ฅ
      • 8.1 ํŒจ๋Ÿฌ๋‹ค์ž„ ์ „ํ™˜
      • 8.2 ๋ฐ์ดํ„ฐ ์—”์ง„์œผ๋กœ์„œ์˜ ๊ฐ€์น˜
      • 8.3 ์ œ์•ˆ๋œ ํ–ฅํ›„ ์—ฐ๊ตฌ ๋ฐฉํ–ฅ
      • 8.4 ๋‹ค๋ฅธ ์—ฐ๊ตฌ์™€์˜ ์‹œ๋„ˆ์ง€
    • 9. ๋น„ํŒ์  ๋ถ„์„
      • 9.1 ๊ฐ•์ 
      • 9.2 ์ž ์žฌ์  ํ•œ๊ณ„์ 
      • 9.3 ๊ฐœ์„  ๊ฐ€๋Šฅ ์˜์—ญ
    • 10. ์‹ค๋ฌด ์ ์šฉ ๊ฐ€์ด๋“œ
      • 10.1 ๋น ๋ฅธ ์‹œ์ž‘
      • 10.2 ํŒŒ๋ผ๋ฏธํ„ฐ ํŠœ๋‹ ๊ฐ€์ด๋“œ
      • 10.3 ์ปค์Šคํ…€ ๊ฐ์ฒด ์‚ฌ์šฉ
    • 11. ๊ฒฐ๋ก 
      • ํ•ต์‹ฌ ์„ฑ๊ณผ ์š”์•ฝ
      • ๋กœ๋ด‡ ๊ณตํ•™๊ณ„์— ๋Œ€ํ•œ ํ•จ์˜
  • โ›๏ธ Dig Review
    • 1. ๋…ผ๋ฌธ ๊ฐœ์š” ๋ฐ ์—ฐ๊ตฌ ๋™๊ธฐ
    • 2. ๊ธฐ์กด ์ ‘๊ทผ ๋ฐฉ์‹๊ณผ์˜ ์ฐจ๋ณ„์ 
    • 3. Contact Field์™€ Procedural Grasp ์ •์˜ ๋ฐ ์ˆ˜ํ•™์  ๋ฐฐ๊ฒฝ
      • 3.1 Grasp ์ •์˜ ๋ฐ ์œ ํšจ์„ฑ ๊ธฐ์ค€
      • 3.2 Procedural Grasp(์ ˆ์ฐจ์  ๊ทธ๋ฆฝ)
      • 3.3 Contact Field ์ •์˜
    • 4. Lightning Grasp์˜ ์ „์ฒด ์•„ํ‚คํ…์ฒ˜์™€ ํ•ต์‹ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜
    • 5. ํ•™์Šต ๊ณผ์ •๊ณผ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ์…‹, ๋„คํŠธ์›Œํฌ ๊ตฌ์กฐ
    • 6. ์‹คํ—˜ ์„ค์ • ๋ฐ ๋น„๊ต ๋Œ€์ƒ
    • 7. ์ •๋Ÿ‰์ /์ •์„ฑ์  ๊ฒฐ๊ณผ ํ•ด์„ ๋ฐ ์„ฑ๋Šฅ ๋น„๊ต
    • 8. ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๋ฐ ์‹ค์ œ ๋กœ๋ด‡ ์ ์šฉ ์‚ฌ๋ก€
    • 9. ํ•œ๊ณ„์  ๋ฐ ํ–ฅํ›„ ์—ฐ๊ตฌ ๋ฐฉํ–ฅ
    • 10. ๋กœ๋ด‡ Grasping ์—ฐ๊ตฌ์ž์—๊ฒŒ ์ฃผ๋Š” ์‹œ์‚ฌ์ 

๐Ÿ“ƒLightning Grasp ๋ฆฌ๋ทฐ

dexterity
grasp
contact-field
High Performance Procedural Grasp Synthesis with Contact Fields
Published

December 8, 2025

๐Ÿ” Ping. ๐Ÿ”” Ring. โ›๏ธ Dig. A tiered review series: quick look, key ideas, deep dive.

  • Paper Link
  • Code
  1. ๐Ÿ’ก Lightning Grasp๋Š” dexterous hand๋ฅผ ์œ„ํ•œ ๊ณ ์„ฑ๋Šฅ ์ ˆ์ฐจ์  grasp synthesis ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ, ๊ธฐ์กด ๋ฐฉ์‹ ๋Œ€๋น„ ์••๋„์ ์ธ ์†๋„์™€ ๋‹ค์–‘์„ฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  2. ๐Ÿ› ๏ธ ์ด ํ•ต์‹ฌ ์•„์ด๋””์–ด๋Š” โ€œContact Fieldโ€๋ผ๋Š” ํšจ์œจ์ ์ธ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ํ†ตํ•ด ๋ณต์žกํ•œ ๊ธฐํ•˜ํ•™์  ๊ณ„์‚ฐ์„ ํƒ์ƒ‰ ๊ณผ์ •์—์„œ ๋ถ„๋ฆฌํ•˜์—ฌ ๋ฌธ์ œ์˜ ๋ณต์žก์„ฑ์„ ํฌ๊ฒŒ ์ค„์ธ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
  3. ๐Ÿš€ ์ด ์ ‘๊ทผ ๋ฐฉ์‹์€ ์ˆ˜๋™์ ์ธ ํŠœ๋‹ ์—†์ด๋„ ๋ถˆ๊ทœ์น™ํ•œ ๊ฐ์ฒด์— ๋Œ€ํ•œ unsupervised grasp ์ƒ์„ฑ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋ฉฐ, ๋‹ค์–‘ํ•œ ํ•ธ๋“œ ๋ชจ๋ธ๊ณผ ๊ฐ์ฒด์— ๋Œ€ํ•œ ๊ฐ•๋ ฅํ•œ ์„ฑ๋Šฅ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

๐Ÿ” Ping Review

๐Ÿ” Ping โ€” A light tap on the surface. Get the gist in seconds.

Lightning Grasp๋Š” dexterous hand๋ฅผ ์œ„ํ•œ ๊ณ ์„ฑ๋Šฅ ์ ˆ์ฐจ์ (procedural) grasp synthesis ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ, ๊ธฐ์กด ์ ‘๊ทผ ๋ฐฉ์‹ ๋Œ€๋น„ ์ˆ˜๋ฐฑ ๋ฐฐ ๋น ๋ฅธ ์†๋„๋ฅผ ๋‹ฌ์„ฑํ•˜๋ฉฐ ๋น„์ •ํ˜•์ ์ธ ๋„๊ตฌํ˜• ๊ฐ์ฒด์— ๋Œ€ํ•œ ๋น„์ง€๋„ ํ•™์Šต grasp ์ƒ์„ฑ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฐฉ๋ฒ•์€ ๋ณต์žกํ•œ ๊ธฐํ•˜ํ•™์  ๊ณ„์‚ฐ์„ Contact Field๋ผ๋Š” ํšจ์œจ์ ์ธ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ํ†ตํ•ด ํƒ์ƒ‰ ํ”„๋กœ์„ธ์Šค๋กœ๋ถ€ํ„ฐ ๋ถ„๋ฆฌํ•จ์œผ๋กœ์จ ๊ธฐ์กด ๋ฐฉ๋ฒ•์˜ ํ•œ๊ณ„(์˜ˆ: ์—๋„ˆ์ง€ ํ•จ์ˆ˜์˜ ์„ธ์‹ฌํ•œ ํŠœ๋‹, ๋ฏผ๊ฐํ•œ ์ดˆ๊ธฐํ™”)๋ฅผ ๊ทน๋ณตํ•ฉ๋‹ˆ๋‹ค.

ํ•ต์‹ฌ ๋ฐฉ๋ฒ•๋ก  (Core Methodology)

Lightning Grasp๋Š” ํฌ๊ฒŒ ์„ธ ๋‹จ๊ณ„๋กœ ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค:

  1. ์ ‘์ด‰ ๋„๋ฉ”์ธ ์‹๋ณ„ (Contact Domain Detection): ๊ฐ ์†๊ฐ€๋ฝ์ด ๊ฐ์ฒด ํ‘œ๋ฉด์—์„œ ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ๋Š” ์˜์—ญ์ธ Contact Domain์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.
  2. ์ ‘์ด‰์  ์ตœ์ ํ™” (Contact Point Optimization): ์•ˆ์ •์ ์ธ grasp๋ฅผ ์œ„ํ•ด ์ด ๋„๋ฉ”์ธ ๋‚ด์—์„œ ์ตœ์ ์˜ ์ ‘์ด‰์  ์„ธํŠธ๋ฅผ ํƒ์ƒ‰ํ•ฉ๋‹ˆ๋‹ค.
  3. Kinematics ์ตœ์ ํ™” (Kinematics Optimization): ๊ณ„์‚ฐ๋œ ์ ‘์ด‰์ ์— ์†๊ฐ€๋ฝ์„ ๋ฐฐ์น˜ํ•˜์—ฌ grasp๋ฅผ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.

1. Preliminaries

  • Grasp ์ •์˜: grasp๋Š” ๊ฐ์ฒด์˜ ์† ํ”„๋ ˆ์ž„ ๋‚ด์—์„œ์˜ ์ž์„ธ(P)์™€ ์†์˜ ๊ด€์ ˆ ๊ตฌ์„ฑ(q \in C)์˜ ํŠœํ”Œ (P, q)๋กœ ์ •์˜๋ฉ๋‹ˆ๋‹ค.
  • ์œ ํšจ์„ฑ ๊ธฐ์ค€:
    • No Penetrations (์นจํˆฌ ์—†์Œ): ์† ๋ฉ”์‰ฌ HM(q)์™€ ๋ณ€ํ™˜๋œ ๊ฐ์ฒด ๋ฉ”์‰ฌ T(O; P) ์‚ฌ์ด์— ์นจํˆฌ๊ฐ€ ์—†์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํ˜•์‹์ ์œผ๋กœ๋Š” HM(q) \cap T(O; P) \subset \partial HM(q) \cup \partial T(O; P)๋ฅผ ๋งŒ์กฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
    • Grasp Stability (Grasp ์•ˆ์ •์„ฑ): FSWO (Frictionless Self-balancing Wrench Optimization) ๋˜๋Š” GSWO (General Self-balancing Wrench Optimization)์™€ ๊ฐ™์€ ์•ˆ์ •์„ฑ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋“ค์€ ์ ‘์ด‰์  p_i์™€ ๋ฒ•์„  n_i์— ๊ธฐ๋ฐ˜ํ•˜์—ฌ ํž˜(\alpha_i n_i) ๋ฐ ๋ชจ๋ฉ˜ํ…€(\alpha_i (p_i \times n_i))์˜ ๊ท ํ˜•์„ ์ตœ์ ํ™”ํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.
      • FSWO (์‹ 1): \min_{\alpha} \left\| \sum_{i=1}^n \alpha_i n_i \right\|^2 + \lambda \left\| \sum_{i=1}^n \alpha_i (p_i \times n_i) \right\|^2 subject to \exists j, \alpha_j = 1, \alpha_i \ge 0, \forall i = 1, \dots, n
      • GSWO (์‹ 2 - ๋งˆ์ฐฐ ํฌํ•จ): \min_{\alpha, \beta(x), \beta(y)} \left\| \sum_{i=1}^n (\alpha_i n_i + \beta(x)_i x_i + \beta(y)_i y_i) \right\|^2 + \lambda \left\| \sum_{i=1}^n p_i \times (\alpha_i n_i + \beta(x)_i x_i + \beta(y)_i y_i) \right\|^2 subject to \exists j, \alpha_j = 1, \alpha_i \ge 0, \forall i = 1, \dots, n (\beta(x)_i)^2 + (\beta(y)_i)^2 \le \mu^2 \alpha_i^2 ์—ฌ๊ธฐ์„œ x_i, y_i๋Š” ์ ‘์ด‰์ ์—์„œ์˜ ์ ‘์„  ํ‰๋ฉด์˜ ์ •๊ทœ ์ง๊ต ๊ธฐ์ €๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

2. Contact Field

Contact Field๋Š” ์†์ด ์ž ์žฌ์ ์œผ๋กœ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ๊ณต๊ฐ„์  ์ ‘์ด‰์„ ํŠน์„ฑํ™”ํ•˜๋Š” ํ•ต์‹ฌ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค.

  • Point-based Contact Field (์ •์˜ 4.1): ํŠน์ • ์† ๋งํฌ ๋ฉ”์‰ฌ M_i์˜ ์  p \in \partial M_i์™€ ๋ฒ•์„  n \in \text{normal}(p, M_i)์— ๋Œ€ํ•ด, ์ฃผ์–ด์ง„ ํ”„๋ ˆ์ž„ B์—์„œ์˜ Contact Field๋Š” CF_B(i, p, n) = \{FK((p, n); i, q)|q \in C\} \subset \mathbb{R}^3 \times S^2๋กœ ์ •์˜๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” ํŠน์ • ๊ด€์ ˆ ๊ตฌ์„ฑ q์—์„œ ๋ณ€ํ™˜๋œ p์™€ n์˜ ์ง‘ํ•ฉ์ž…๋‹ˆ๋‹ค.
  • Hand Contact Field (์ •์˜ 4.2): ์ „์ฒด ์† H์˜ Contact Field๋Š” CF(H) = \bigcup_{(i,p) \in \partial \hat{HM}, n \in \text{normal}(p, M_i)} CF(i, p, n) \subset \mathbb{R}^3 \times S^2๋กœ, ๋ชจ๋“  ์† ๋งํฌ ๋ฉ”์‰ฌ์˜ ๊ฒฝ๊ณ„์—์„œ ์ •์˜๋œ Point-based Contact Field๋“ค์˜ ํ•ฉ์ง‘ํ•ฉ์ž…๋‹ˆ๋‹ค.
  • Contact Surface Representation (์ •์˜ 4.3): ๊ฐ์ฒด ๋ฉ”์‰ฌ M์˜ Contact Surface Representation์€ S(M) = \{(p, -n)|p \in \partial M, n \in \text{normal}(p, M)\} \subset \mathbb{R}^3 \times S^2๋กœ ์ •์˜๋ฉ๋‹ˆ๋‹ค.
  • Contact Interaction: ์†๊ณผ ๊ฐ์ฒด ๊ฐ„์˜ ์ž ์žฌ์  ์ ‘์ด‰ ์ƒํ˜ธ์ž‘์šฉ์€ CF(H) \cap S(O)๋กœ ํ‘œํ˜„๋ฉ๋‹ˆ๋‹ค.

๊ตฌํ˜„ (Implementation):

  • Contact Field BVH (Bounding Volume Hierarchy): ์ƒ˜ํ”Œ๋ง๋œ Contact Field๋Š” BVH๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ๊ณต๊ฐ„์„ ์ž‘์€ ๋ฐ•์Šค๋กœ ๋ถ„ํ• ํ•˜๊ณ  ๊ฐ ๋ฐ•์Šค์— ๋ฒ•์„  ๋ฒกํ„ฐ๋ฅผ ์ €์žฅํ•˜์—ฌ BVH ํŠธ๋ฆฌ๋ฅผ ๊ตฌ์ถ•ํ•ฉ๋‹ˆ๋‹ค.
  • Object Contact Query: ๊ฐ์ฒด ํ‘œ๋ฉด์—์„œ ๋ฌด์ž‘์œ„๋กœ (p, -n)๋ฅผ ์ƒ˜ํ”Œ๋งํ•˜๊ณ  BVH๋ฅผ ์ฟผ๋ฆฌํ•˜์—ฌ ์ ‘์ด‰ ๊ฐ€๋Šฅํ•œ ์˜์—ญ์„ ์ฐพ์Šต๋‹ˆ๋‹ค. BVH์˜ ๋ฆฌํ”„ ๋…ธ๋“œ์— ๋„๋‹ฌํ•˜๋ฉด, ๊ฐ์ฒด์˜ ๋ฒ•์„  n๊ณผ ๋ฆฌํ”„ ๋…ธ๋“œ ๋‚ด์˜ ์† ๋ฒ•์„  x ๊ฐ„์˜ ์ •๋ ฌ(-x^T n \ge \theta_{hit})์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
  • Fine-grained Contact Field: ์ „์ฒด ์† ํ‘œ๋ฉด์„ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํŒจ์น˜๋กœ ๋‚˜๋ˆ„์–ด ๊ฐ ํŒจ์น˜์— ๋Œ€ํ•œ Contact Field๋ฅผ ๊ฐœ๋ณ„์ ์œผ๋กœ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” Kinematics ์ตœ์ ํ™” ์‹œ ์–ด๋–ค ์†๊ฐ€๋ฝ์ด ํŠน์ • ์ ‘์ด‰์— ๊ธฐ์—ฌํ•˜๋Š”์ง€ ์‹๋ณ„ํ•˜๋Š” ๋ฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

3. Lightning Grasp Pipeline

  • Object Preprocessing: ๊ฐ์ฒด์˜ ์˜ค๋ชฉํ•œ ์˜์—ญ(์˜ˆ: ๋„๋‹ฌํ•  ์ˆ˜ ์—†๋Š” ๊ตฌ๋ฉ)์„ ์ ‘์ด‰์  ํ›„๋ณด์—์„œ ์ œ๊ฑฐํ•˜์—ฌ ์นจํˆฌ ์œ„ํ—˜์„ ์ค„์ž…๋‹ˆ๋‹ค.

  • Object Placement (๊ฐ์ฒด ๋ฐฐ์น˜):

    • Exhaustive Placement: Contact Field์—์„œ ํ•œ ์ ์„ ๋ฌด์ž‘์œ„๋กœ ์„ ํƒํ•˜๊ณ  ๊ฐ์ฒด ํ‘œ๋ฉด์˜ ๋ฌด์ž‘์œ„ ์ƒ˜ํ”Œ๋ง๋œ ์ ๊ณผ ์ •๋ ฌํ•ฉ๋‹ˆ๋‹ค. ํฌ๊ท€ํ•œ grasp๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ์ฒ˜๋ฆฌ๋Ÿ‰์€ ๋‚ฎ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • Canonical Placement: ์†๋ฐ”๋‹ฅ ์œ„์˜ ๋ฐ•์Šค ์˜์—ญ๊ณผ ๊ฐ™์€ ํ‘œ์ค€ ๊ฐ์ฒด ๋ฐฐ์น˜ ์˜์—ญ์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์ฒ˜๋ฆฌ๋Ÿ‰์€ ๋†’์ง€๋งŒ ์ƒ์„ฑ ๊ฐ€๋Šฅํ•œ grasp์˜ ๋‹ค์–‘์„ฑ์„ ์ œํ•œํ•ฉ๋‹ˆ๋‹ค.
    • ์ •์  ๋งํฌ(์˜ˆ: ์†๋ฐ”๋‹ฅ)์™€์˜ ์ ‘์ด‰์„ ์„ค์ •ํ•˜๊ธฐ ์œ„ํ•ด, ๊ฐ์ฒด๋ฅผ ์ดˆ๊ธฐ์—๋Š” ์ •์  ๋งํฌ ํ‘œ๋ฉด์— ๋ฌด์ž‘์œ„๋กœ ๋ฐฐ์น˜ํ•œ ํ›„ ์นจํˆฌ๊ฐ€ ์—†๋Š” ๋ฐฐ์น˜๋ฅผ ๋‹ค์Œ ๋‹จ๊ณ„๋กœ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  • Contact Domain Generation: ๊ฐ์ฒด๊ฐ€ ๊ณ ์ •๋˜๋ฉด, ๊ฐ ์ ‘์ด‰ ํŒจ์น˜์— ํ•ด๋‹นํ•˜๋Š” Contact Domain์„ ์ถ”์ถœํ•ฉ๋‹ˆ๋‹ค. k๊ฐœ์˜ ๊ฐ์ฒด ์ ‘์ด‰์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด k๊ฐœ์˜ ์ ‘์ด‰ ๋„๋ฉ”์ธ์„ ์ˆ˜์ง‘ํ•˜๋ฉฐ, ์ด๋“ค์€ ์„œ๋กœ ๋‹ค๋ฅธ ์†๊ฐ€๋ฝ์—์„œ ์œ ๋ž˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค (๋…๋ฆฝ์„ฑ). ๋…๋ฆฝ์„ฑ์€ Kinematic Tree์˜ ์—ฐ๊ฒฐ๋œ ๊ตฌ์„ฑ์š”์†Œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ •์˜๋ฉ๋‹ˆ๋‹ค.

  • Contact Point Optimization: FSWO์™€ ๊ฐ™์€ grasp ํ’ˆ์งˆ ๋ชฉํ‘œ๋ฅผ ์ตœ๋Œ€ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ Contact Domain์—์„œ ํ•˜๋‚˜์˜ ์ ‘์ด‰์ ์„ ํƒ์ƒ‰ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” Blockwise Zeroth-Order Optimization์„ ํ†ตํ•ด ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. ๊ฐ ์ ‘์ด‰์  (p_i, n_i)๋ฅผ ๊ฐœ๋ณ„์ ์œผ๋กœ ๋žœ๋ค ๋กœ์ปฌ ํƒ์ƒ‰์„ ํ†ตํ•ด ์ตœ์ ํ™”ํ•˜๋ฉฐ, J ๊ณ„์‚ฐ์„ ์œ„ํ•œ ํ•˜์œ„ ๋ ˆ๋ฒจ ์ตœ์ ํ™”์˜ ์ดˆ๊ธฐ ๊ตฌ์„ฑ์€ ์ด์ „ ๋‹จ๊ณ„์—์„œ ์–ป์€ Contact Force Solution์„ ์žฌ์‚ฌ์šฉํ•˜์—ฌ ํšจ์œจ์„ฑ์„ ๋†’์ž…๋‹ˆ๋‹ค.

    • ์•Œ๊ณ ๋ฆฌ์ฆ˜ 2: Blockwise, Zeroth-Order Contact Point Optimization
      1. ๊ฐ D_i์—์„œ (p_i, n_i)๋ฅผ ๋ฌด์ž‘์œ„๋กœ ์ดˆ๊ธฐํ™”ํ•ฉ๋‹ˆ๋‹ค.
      2. ์™ธ๋ถ€ ๋ฐ˜๋ณต (n_o๋ฒˆ):
      3. ๋‚ด๋ถ€ ๋ฐ˜๋ณต (k๋ฒˆ, ๊ฐ ์ ‘์ด‰์ ๋งˆ๋‹ค):
        1. ๋ณ€์ด ๋ฐฉํ–ฅ์„ ์ƒ์„ฑ (์ ‘์„  ํ‰๋ฉด ๊ธฐ๋ฐ˜).
        2. [pi]โ€ฒ๋ฅผ ๋ณ€์ด๋œ ์œ„์น˜๋กœ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค.
        3. [pโ€ฒi, nโ€ฒi]๋ฅผ D_i์— ํˆฌ์˜ํ•ฉ๋‹ˆ๋‹ค.
        4. ํ˜„์žฌ ์ ‘์ด‰์  (p_i, n_i)๋ฅผ ์ฃผ๋ณ€์—์„œ J๋ฅผ ์ตœ์†Œํ™”ํ•˜๋Š” ์ ์œผ๋กœ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค.
  • Kinematics Optimization: ๊ฒฐ์ •๋œ ๊ฐ์ฒด ์ ‘์ด‰์ ์„ ์‹คํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ์†๊ฐ€๋ฝ ํ‘œ๋ฉด์˜ ํ•ด๋‹น ์ ‘์ด‰์ ์„ ์—ญ์œผ๋กœ ์ฐพ์Šต๋‹ˆ๋‹ค.

    • Phase I (Coarse): ๊ฐ์ฒด ์ ‘์ด‰์  (p_i, n_i)์— ํ•ด๋‹นํ•˜๋Š” ์†์˜ ์ ‘์ด‰์  (\tilde{p}_i, \tilde{n}_i)๋ฅผ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค.
    • ๋ชฉํ‘œ๋Š” \tilde{p}_i๋ฅผ p_i์—, ๊ทธ๋ฆฌ๊ณ  \tilde{p}_i + \beta \tilde{n}_i๋ฅผ p_i + \beta n_i์— ์ผ์น˜์‹œํ‚ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋Š” Damped Least Square (DLS) ๋ฌธ์ œ (์‹ 7)๋กœ ํ•ด๊ฒฐ๋ฉ๋‹ˆ๋‹ค. \min_{\Delta q} \left\| \begin{bmatrix} J_p(\tilde{p}_i; q) \\ J_p(\tilde{p}_i + \beta \tilde{n}_i; q) \end{bmatrix} \Delta q - \begin{bmatrix} p_i - \tilde{p}_i \\ p_i + \beta n_i - (\tilde{p}_i + \beta \tilde{n}_i) \end{bmatrix} \right\|^2 + \lambda \|\Delta q\|^2 ์—ฌ๊ธฐ์„œ J_p๋Š” ์œ„์น˜ Jacobian์ž…๋‹ˆ๋‹ค.
    • Phase II (Finetuning): ์ดˆ๊ธฐ IK ์ดํ›„, ๊ฐ p_i๋ฅผ ์ตœ์‹  ๋ชฉํ‘œ ๋งํฌ์— ํˆฌ์˜ํ•˜์—ฌ ๊ฐœ์„ ๋œ ์ ‘์ด‰์  \tilde{p}_i๋ฅผ ์–ป๊ณ  DLS ์—…๋ฐ์ดํŠธ๋ฅผ ๋ฐ˜๋ณตํ•˜์—ฌ q๋ฅผ ๋ฏธ์„ธ ์กฐ์ •ํ•ฉ๋‹ˆ๋‹ค.

  • Postprocessing:

    • ์•„์ง ๊ณ ์ •๋˜์ง€ ์•Š์€ ๊ด€์ ˆ ๊ฐ’(์˜ˆ: grasp์— ์‚ฌ์šฉ๋˜์ง€ ์•Š์€ ์†๊ฐ€๋ฝ)์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค (ํ˜„์žฌ ๋ฒ„์ „์—์„œ๋Š” ๋ฌด์ž‘์œ„ ๊ฐ’ ํ• ๋‹น).
    • ์†-์† ๋˜๋Š” ์†-๊ฐ์ฒด ์ถฉ๋Œ์ด ์žˆ๊ฑฐ๋‚˜ grasp ์•ˆ์ •์„ฑ ๊ธฐ์ค€์„ ๋งŒ์กฑํ•˜์ง€ ์•Š๋Š” grasp๋ฅผ ํ•„ํ„ฐ๋งํ•ฉ๋‹ˆ๋‹ค. ์ถฉ๋Œ ๊ฐ์ง€๋Š” AABB ๊ธฐ๋ฐ˜ broad phase์™€ GJK (GJK (Gilbertโ€“Johnsonโ€“Keerthi distance algorithm)) ๊ธฐ๋ฐ˜ narrow phase๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.
    • ๋ฏธ์‚ฌ์šฉ ์†๊ฐ€๋ฝ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ถ”๊ฐ€ ์ ‘์ด‰์„ ํƒ์ƒ‰ํ•จ์œผ๋กœ์จ ์•ˆ์ •์„ฑ์ด ๋ถ€์กฑํ•œ grasp๋ฅผ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฒฐ๊ณผ ๋ฐ ์„ฑ๋Šฅ:

Lightning Grasp๋Š” Shadow Hand (22DOF), LEAP Hand (16DOF), Allegro Hand (16DOF), DClaw Gripper (9DOF) ๋“ฑ ๋‹ค์–‘ํ•œ ์† ๋ชจ๋ธ๊ณผ YCB ๊ฐ์ฒด ๋ฐ ๊ธฐํƒ€ ๋น„์ •ํ˜• ๊ฐ์ฒด์— ๋Œ€ํ•ด ํ…Œ์ŠคํŠธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. A100 GPU์—์„œ ๋‹จ์ผ forward pass๋กœ 2-5์ดˆ ๋‚ด์— 1,000-10,000๊ฐœ์˜ ์œ ํšจํ•œ grasp๋ฅผ ์ƒ์„ฑํ•˜๋ฉฐ, ๊ธฐ์กด ๋ฐฉ๋ฒ• ๋Œ€๋น„ ์›”๋“ฑํ•œ ์†๋„๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. TITAN X์™€ ๊ฐ™์€ ๊ตฌํ˜• GPU์—์„œ๋„ ์‹ค์‹œ๊ฐ„ ์„ฑ๋Šฅ์„ ๋‹ฌ์„ฑํ•ฉ๋‹ˆ๋‹ค. Contact Optimization๊ณผ Kinematics Optimization์ด ์ „์ฒด ๊ณ„์‚ฐ ์‹œ๊ฐ„์˜ ์•ฝ 33%๋ฅผ ์ฐจ์ง€ํ•˜๋Š” ๋“ฑ ์›Œํฌ๋กœ๋“œ๊ฐ€ ๊ท ํ˜• ์žˆ๊ฒŒ ๋ถ„๋ฐฐ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ Allegro Hand์—์„œ ๊ฐ€์žฅ ๋งŽ์€ ์œ ํšจ ์ƒ˜ํ”Œ์ด ์ƒ์„ฑ๋˜์—ˆ์œผ๋ฉฐ, LEAP Hand, Shadow Hand, DClaw Gripper๋Š” ์ถฉ๋Œ๋กœ ์ธํ•œ ํ•„ํ„ฐ๋ง์ด ๋งŽ์•˜์Šต๋‹ˆ๋‹ค.

ํ–ฅํ›„ ์—ฐ๊ตฌ ๋ฐฉํ–ฅ:

  • ๊ฐ์ฒด์˜ ๋น„-๋ณผ๋ก์„ฑ์œผ๋กœ ์ธํ•œ ์ถฉ๋Œ(์˜ˆ: ์ปต ์•ˆ์ชฝ)์„ ์กฐ๊ธฐ์— ๊ฑธ๋Ÿฌ๋‚ด๊ธฐ ์œ„ํ•œ Contact Field ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ๊ฐœ์„  (์˜ˆ: ์†๊ฐ€๋ฝ ํ˜•์ƒ ์ •๋ณด๋ฅผ Contact Field ๋ฐ•์Šค์— ํฌํ•จ).
  • ์ด์ „ ํƒ์ƒ‰ ๊ฒฐ๊ณผ๋ฅผ ์žฌ์‚ฌ์šฉํ•˜๋Š” Multi-pass generation์„ ํ†ตํ•ด ์˜คํ”„๋ผ์ธ ๋ฐ์ดํ„ฐ์…‹ ์ƒ์„ฑ ํšจ์œจํ™”.
  • ๋ฐ์ดํ„ฐ ๊ธฐ๋ฐ˜ ํƒ์ƒ‰: Lightning Grasp์˜ ์ž๊ฐ€ ํ”Œ๋ ˆ์ด ๋ฐ์ดํ„ฐ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์œ ๋งํ•œ ๊ฐ์ฒด ์ž์„ธ๋ฅผ ์˜ˆ์ธกํ•˜๋Š” ๊ฐ์ฒด ์ž์„ธ ์ •์ฑ…(object pose policy)์„ ํ›ˆ๋ จํ•˜์—ฌ ๋น„ํšจ์œจ์ ์ธ ํƒ์ƒ‰์„ ์ค„์ด๋Š” ๊ฒƒ.
  • ์‚ฌ์šฉ์ž ์˜๋„์— ๋”ฐ๋ผ ํŠน์ • ์œ ํ˜•์˜ grasp๋ฅผ ์œ ๋„ํ•˜๋Š” ๋Œ€ํ™”ํ˜• ์„ค๊ณ„.

๐Ÿ”” Ring Review

๐Ÿ”” Ring โ€” An idea that echoes. Grasp the core and its value.

1. ์„œ๋ก : ์™œ ์ด ์—ฐ๊ตฌ๊ฐ€ ์ค‘์š”ํ•œ๊ฐ€?

๋กœ๋ด‡ ๊ณตํ•™์—์„œ ๋‹ค์ง€ ์†(dexterous hand)์„ ์ด์šฉํ•œ ํŒŒ์ง€(grasping)๋Š” ์ธ๊ฐ„ ์ˆ˜์ค€์˜ ์กฐ์ž‘ ๋Šฅ๋ ฅ์„ ๋‹ฌ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ํ•ต์‹ฌ ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค. GraspIt!์ด ๋ฐœํ‘œ๋œ ์ง€ 20๋…„์ด ์ง€๋‚ฌ๊ณ , ์ƒ์„ฑํ˜• AI๊ฐ€ ํญ๋ฐœ์ ์œผ๋กœ ์„ฑ์žฅํ•œ ์ง€ 3๋…„์ด ์ง€๋‚ฌ์ง€๋งŒ, ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋‹ค์–‘ํ•œ ํŒŒ์ง€ ์ž์„ธ๋ฅผ ํ•ฉ์„ฑํ•˜๋Š” ๋น ๋ฅด๊ณ  ํšจ๊ณผ์ ์ธ ์ ˆ์ฐจ์ (analytical) ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์—ฌ์ „ํžˆ ๋ฏธํ•ด๊ฒฐ ๊ณผ์ œ๋กœ ๋‚จ์•„ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

1.1 ๊ธฐ์กด ์—ฐ๊ตฌ์˜ ํ•œ๊ณ„

๊ธฐ์กด์˜ ํŒŒ์ง€ ํ•ฉ์„ฑ ๋ฐฉ๋ฒ•๋“ค์€ ํฌ๊ฒŒ ๋‘ ๊ฐ€์ง€ ๋ฒ”์ฃผ๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

์ ˆ์ฐจ์ (Analytical) ๋ฐฉ๋ฒ•

  • GraspIt!, DexGraspNet, SpringGrasp, BODex ๋“ฑ
  • ๋ฌผ๋ฆฌ ๊ธฐ๋ฐ˜ ์—๋„ˆ์ง€ ํ•จ์ˆ˜ ์ตœ์ ํ™”
  • ์žฅ์ : ์ž„์˜์˜ ๊ฐ์ฒด์— ์ ์šฉ ๊ฐ€๋Šฅ
  • ๋‹จ์ : ๋А๋ฆฐ ์†๋„, ์ˆ˜๋™ ํŠœ๋‹ ํ•„์š”, ์ดˆ๊ธฐํ™”์— ๋ฏผ๊ฐ

ํ•™์Šต ๊ธฐ๋ฐ˜(Learning-based) ๋ฐฉ๋ฒ•

  • CVAE, Diffusion ๋ชจ๋ธ ๊ธฐ๋ฐ˜ ์ ‘๊ทผ๋ฒ•
  • ์žฅ์ : ๋น ๋ฅธ ์ถ”๋ก  ์†๋„
  • ๋‹จ์ : ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ์…‹ ํ•„์š”, ์ผ๋ฐ˜ํ™” ํ•œ๊ณ„

์ตœ๊ทผ DexGraspNet, SpringGrasp, BODex ๋“ฑ์˜ ์—ฐ๊ตฌ๋“ค์ด ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ ค ์‹œ๋„ํ–ˆ์ง€๋งŒ, ์‹ค์‹œ๊ฐ„ ๋‹ค์–‘์„ฑ ํŒŒ์ง€ ํ•ฉ์„ฑ์€ ์—ฌ์ „ํžˆ ์–ด๋ ค์šด ๋ฌธ์ œ์˜€์Šต๋‹ˆ๋‹ค. ํŠนํžˆ ๊ธฐ์กด ๋ฐฉ๋ฒ•๋“ค์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ทผ๋ณธ์ ์ธ ํ•œ๊ณ„๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค:

  1. ๊ธฐํ•˜ ์—ฐ์‚ฐ๊ณผ ํƒ์ƒ‰์˜ ์–ฝํž˜: ์ตœ์ ํ™” ๊ณผ์ •์—์„œ ์ง€์†์ ์ธ ๊ธฐํ•˜ ์—ฐ์‚ฐ์ด ํ•„์š”ํ•˜์—ฌ ์„ฑ๋Šฅ ๋ณ‘๋ชฉ ๋ฐœ์ƒ
  2. ์—๋„ˆ์ง€ ํ•จ์ˆ˜ ํŠœ๋‹์˜ ์–ด๋ ค์›€: ๋Œ์–ด๋‹น๊น€(attract)๊ณผ ๋ฐ€์–ด๋ƒ„(repel) ์—๋„ˆ์ง€์˜ ๊ท ํ˜• ์กฐ์ • ํ•„์š”
  3. ์ดˆ๊ธฐํ™” ๋ฏผ๊ฐ์„ฑ: ์† ์ž์„ธ์˜ ์ดˆ๊ธฐ ํ…œํ”Œ๋ฆฟ์— ๋”ฐ๋ผ ๊ฒฐ๊ณผ๊ฐ€ ํฌ๊ฒŒ ๋‹ฌ๋ผ์ง
  4. ๋ณต์žกํ•œ ๊ฐ์ฒด์— ๋Œ€ํ•œ ์ œํ•œ: ๋„๊ตฌํ˜• ๋ถˆ๊ทœ์น™ ๊ฐ์ฒด์—์„œ ๋‚ฎ์€ ์„ฑ๊ณต๋ฅ 

1.2 Lightning Grasp์˜ ๋“ฑ์žฅ

Lightning Grasp๋Š” ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋“ค์„ ๊ทผ๋ณธ์ ์œผ๋กœ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์„ค๊ณ„๋œ ์ƒˆ๋กœ์šด ์ ‘๊ทผ๋ฒ•์ž…๋‹ˆ๋‹ค. ํ•ต์‹ฌ ํ†ต์ฐฐ์€ ๋†€๋ž๋„๋ก ๋‹จ์ˆœํ•ฉ๋‹ˆ๋‹ค:

โ€œ๊ธฐํ•˜ ์—ฐ์‚ฐ๊ณผ ํƒ์ƒ‰/์ตœ์ ํ™”๋ฅผ ๋ถ„๋ฆฌํ•˜๋ผโ€

์ด ๊ฐ„๋‹จํ•˜์ง€๋งŒ ๊ฐ•๋ ฅํ•œ ์•„์ด๋””์–ด๋ฅผ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด, ์ €์ž๋“ค์€ Contact Field๋ผ๋Š” ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ๋„์ž…ํ–ˆ์Šต๋‹ˆ๋‹ค.


2. ํ•ต์‹ฌ ๊ธฐ์—ฌ: Contact Field ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ

2.1 Contact Field๋ž€?

Contact Field๋Š” ๊ฐ์ฒด ํ‘œ๋ฉด์—์„œ ๊ฐ ์†๊ฐ€๋ฝ์ด ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ์ ‘์ด‰ ๊ฐ€๋Šฅ ์˜์—ญ์„ ํšจ์œจ์ ์œผ๋กœ ๊ฐ์ง€ํ•˜๊ณ  ํ‘œํ˜„ํ•˜๋Š” ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค. ๊ธฐ์กด ๋ฐฉ๋ฒ•๋“ค์ด ์ตœ์ ํ™” ๋ฃจํ”„ ๋‚ด์—์„œ ๋ฐ˜๋ณต์ ์œผ๋กœ ๊ธฐํ•˜ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ๊ณผ ๋‹ฌ๋ฆฌ, Contact Field๋Š” ๊ธฐํ•˜ ์ •๋ณด๋ฅผ ์‚ฌ์ „์— ๊ณ„์‚ฐํ•˜์—ฌ ์บ์‹ฑํ•จ์œผ๋กœ์จ ํƒ์ƒ‰ ๊ณผ์ •์—์„œ ๋ณต์žกํ•œ ๊ธฐํ•˜ ์—ฐ์‚ฐ์„ ์™„์ „ํžˆ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.

2.2 ์„ค๊ณ„ ์ฒ ํ•™

Contact Field์˜ ์„ค๊ณ„๋Š” ๋‹ค์Œ ์„ธ ๊ฐ€์ง€ ํ•ต์‹ฌ ์›๋ฆฌ๋ฅผ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค:

์›๋ฆฌ 1: ๊ด€์‹ฌ์‚ฌ์˜ ๋ถ„๋ฆฌ (Separation of Concerns)

์ „ํ†ต์  ์ ‘๊ทผ๋ฒ•:  [๊ธฐํ•˜ ์—ฐ์‚ฐ โ†” ์ตœ์ ํ™”] (๋ฐ€์ ‘ํ•œ ๊ฒฐํ•ฉ)
Lightning Grasp: [๊ธฐํ•˜ ์—ฐ์‚ฐ] โ†’ [Contact Field] โ†’ [์ตœ์ ํ™”] (๋А์Šจํ•œ ๊ฒฐํ•ฉ)

์›๋ฆฌ 2: ์‚ฌ์ „ ๊ณ„์‚ฐ์˜ ํ™œ์šฉ

  • ๊ฐ์ฒด ํ‘œ๋ฉด์˜ ์ ‘์ด‰ ๊ฐ€๋Šฅ ์˜์—ญ์„ ๋ฏธ๋ฆฌ ๋ถ„์„
  • ๊ฐ ์†๊ฐ€๋ฝ์˜ ๋„๋‹ฌ ๊ฐ€๋Šฅ์„ฑ์„ Contact Field์— ์ €์žฅ
  • ์ตœ์ ํ™” ์‹œ์—๋Š” ์ด๋ฏธ ๊ณ„์‚ฐ๋œ ์ •๋ณด๋งŒ ์ฐธ์กฐ

์›๋ฆฌ 3: GPU ์นœํ™”์  ๊ตฌ์กฐ

  • LBVH(Linear Bounding Volume Hierarchy) ๊ธฐ๋ฐ˜ ๊ตฌํ˜„
  • ๋Œ€๊ทœ๋ชจ ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅํ•œ ์„ค๊ณ„
  • ๋ฉ”๋ชจ๋ฆฌ ํšจ์œจ์ ์ธ ๋ฐ์ดํ„ฐ ๋ ˆ์ด์•„์›ƒ

2.3 Contact Field์˜ ๊ตฌ์„ฑ ์š”์†Œ

Contact Field๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ •๋ณด๋ฅผ ์ธ์ฝ”๋”ฉํ•ฉ๋‹ˆ๋‹ค:

  1. Contact Domains: ๊ฐ ์†๊ฐ€๋ฝ์ด ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ์ฒด ํ‘œ๋ฉด ์˜์—ญ
  2. Contact Patches: ํ—ˆ์šฉ๋œ ๋ฒ•์„  ๋ฐฉํ–ฅ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ •์˜๋œ ์ ‘์ด‰ ํŒจ์น˜
  3. Feasibility Maps: ํŠน์ • ์†๊ฐ€๋ฝ-ํ‘œ๋ฉด ์กฐํ•ฉ์˜ ๋ฌผ๋ฆฌ์  ์‹คํ˜„ ๊ฐ€๋Šฅ์„ฑ

3. ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํŒŒ์ดํ”„๋ผ์ธ ์‹ฌ์ธต ๋ถ„์„

Lightning Grasp์˜ ํŒŒ์ดํ”„๋ผ์ธ์€ ํฌ๊ฒŒ ์„ธ ๋‹จ๊ณ„๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค:

3.1 Phase I: Contact Domain ์‹๋ณ„

์ž…๋ ฅ: ๊ฐ์ฒด ๋ฉ”์‰ฌ, ์† URDF
์ถœ๋ ฅ: ๊ฐ ์†๊ฐ€๋ฝ์— ๋Œ€ํ•œ Contact Domains

์•Œ๊ณ ๋ฆฌ์ฆ˜:
1. ๊ฐ์ฒด ํ‘œ๋ฉด ํฌ์ธํŠธ ์ƒ˜ํ”Œ๋ง
2. ๊ฐ ํฌ์ธํŠธ์— ๋Œ€ํ•ด ๋„๋‹ฌ ๊ฐ€๋Šฅํ•œ ์†๊ฐ€๋ฝ ์‹๋ณ„
3. ํ—ˆ์šฉ๋œ ๋ฒ•์„  ๋ฐฉํ–ฅ ๊ธฐ๋ฐ˜ ํ•„ํ„ฐ๋ง
4. Contact Domains ๊ตฌ์„ฑ

์ด ๋‹จ๊ณ„์—์„œ ํ•ต์‹ฌ์€ ๊ฐ ์†๊ฐ€๋ฝ์ด ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ์ฒด ํ‘œ๋ฉด ์˜์—ญ์„ ์‚ฌ์ „์— ํŒŒ์•…ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ธฐ์กด ๋ฐฉ๋ฒ•๋“ค์€ ์ด ์ •๋ณด๋ฅผ ์ตœ์ ํ™” ๊ณผ์ •์—์„œ ๋ฐ˜๋ณต์ ์œผ๋กœ ๊ณ„์‚ฐํ–ˆ์ง€๋งŒ, Lightning Grasp๋Š” ์ด๋ฅผ ํ•œ ๋ฒˆ๋งŒ ๊ณ„์‚ฐํ•˜๊ณ  ์žฌ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

3.2 Phase II: Contact ์ตœ์ ํ™”

Contact Field๊ฐ€ ๊ตฌ์ถ•๋˜๋ฉด, ์ตœ์ ํ™” ๊ณผ์ •์€ ์ˆœ์ˆ˜ํ•˜๊ฒŒ Contact Field ๋‚ด์—์„œ์˜ ํƒ์ƒ‰ ๋ฌธ์ œ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค:

๊ธฐ์กด ์ ‘๊ทผ๋ฒ•์˜ ์ตœ์ ํ™”:

# ์˜์‚ฌ ์ฝ”๋“œ - ๊ธฐ์กด ๋ฐฉ๋ฒ•
for iteration in range(max_iters):
    # ๋งค ๋ฐ˜๋ณต๋งˆ๋‹ค ๊ธฐํ•˜ ์—ฐ์‚ฐ ์ˆ˜ํ–‰ (๋А๋ฆผ)
    distances = compute_mesh_distances(hand, object)
    normals = compute_contact_normals(hand, object)
    penetration = compute_penetration_depth(hand, object)
    
    # ์—๋„ˆ์ง€ ๊ณ„์‚ฐ
    E_attract = attraction_energy(distances)
    E_repel = repulsion_energy(penetration)
    E_total = w1 * E_attract + w2 * E_repel  # ๋ฏผ๊ฐํ•œ ๊ฐ€์ค‘์น˜ ํŠœ๋‹ ํ•„์š”
    
    # ๊ทธ๋ž˜๋””์–ธํŠธ ๊ณ„์‚ฐ ๋ฐ ์—…๋ฐ์ดํŠธ
    grad = compute_gradient(E_total)
    hand_pose = hand_pose - lr * grad

Lightning Grasp์˜ ์ตœ์ ํ™”:

# ์˜์‚ฌ ์ฝ”๋“œ - Lightning Grasp
# Phase I์—์„œ Contact Field ์‚ฌ์ „ ๊ตฌ์ถ•
contact_field = build_contact_field(object)

for iteration in range(max_iters):
    # Contact Field ์กฐํšŒ (๋น ๋ฆ„ - O(1) ์ˆ˜์ค€)
    valid_contacts = contact_field.query(finger_positions)
    
    # ์ ‘์ด‰ ์ตœ์ ํ™” - ๊ธฐํ•˜ ์—ฐ์‚ฐ ์—†์Œ
    contact_config = optimize_contacts(valid_contacts)
    
    # ์šด๋™ํ•™ ํ’€์ด
    joint_angles = inverse_kinematics(contact_config)

3.3 Phase III: ์šด๋™ํ•™ ์ตœ์ ํ™” ๋ฐ ๋งˆ๋ฌด๋ฆฌ

๋งˆ์ง€๋ง‰ ๋‹จ๊ณ„์—์„œ๋Š” ๋‹ค์Œ ์ž‘์—…์ด ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค:

  1. ์—ญ์šด๋™ํ•™(IK) ํ’€์ด: ์„ ํƒ๋œ ์ ‘์ด‰ ์œ„์น˜์— ์†๊ฐ€๋ฝ ๋์ด ๋„๋‹ฌํ•˜๋„๋ก ๊ด€์ ˆ ๊ฐ๋„ ๊ณ„์‚ฐ
  2. ๋ฏธ์‚ฌ์šฉ ์†๊ฐ€๋ฝ ์ฒ˜๋ฆฌ: ํŒŒ์ง€์— ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ์†๊ฐ€๋ฝ์˜ ์ž์„ธ ๊ฒฐ์ •
  3. ์ถฉ๋Œ ๊ฒ€์‚ฌ: ์†-์†, ์†-๊ฐ์ฒด ์ถฉ๋Œ ํ•„ํ„ฐ๋ง
  4. ์•ˆ์ •์„ฑ ๊ฒ€์ฆ: ํŒŒ์ง€ ์•ˆ์ •์„ฑ ๊ธฐ์ค€ ์ถฉ์กฑ ์—ฌ๋ถ€ ํ™•์ธ

์ถฉ๋Œ ๊ฒ€์‚ฌ๋Š” Two-Phase ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ๊ตฌํ˜„๋ฉ๋‹ˆ๋‹ค:

  • Broad Phase: AABB(Axis-Aligned Bounding Box) ๊ธฐ๋ฐ˜ ๋น ๋ฅธ ํ•„ํ„ฐ๋ง
  • Narrow Phase: ์ •ํ™•ํ•œ ๊ธฐํ•˜ํ•™์  ์ถฉ๋Œ ๊ฒ€์‚ฌ

4. ๊ธฐ์ˆ ์  ํ˜์‹  ์ƒ์„ธ ๋ถ„์„

4.1 ํŒŒ์ง€ ํ•ฉ์„ฑ ๋ฌธ์ œ์˜ ์žฌ์ •์˜

Lightning Grasp๋Š” ํŒŒ์ง€ ํ•ฉ์„ฑ ๋ฌธ์ œ๋ฅผ ์ƒˆ๋กœ์šด ๊ด€์ ์—์„œ ๋ฐ”๋ผ๋ด…๋‹ˆ๋‹ค. ์ „ํ†ต์ ์œผ๋กœ ์ด ๋ฌธ์ œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ •์˜๋˜์—ˆ์Šต๋‹ˆ๋‹ค:

๊ธฐ์กด ์ •์˜: ์—ฐ์† ์ตœ์ ํ™” ๋ฌธ์ œ

\min_{\theta} E_{attract}(\theta) + \lambda E_{repel}(\theta) + \mu E_{stability}(\theta)

์—ฌ๊ธฐ์„œ \theta๋Š” ์† ์ž์„ธ ํŒŒ๋ผ๋ฏธํ„ฐ์ด๊ณ , ์„ธ ๊ฐ€์ง€ ์—๋„ˆ์ง€ ํ•ญ์˜ ๊ท ํ˜•์„ ๋งž์ถ”๋Š” ๊ฒƒ์ด ํ•ต์‹ฌ ๊ณผ์ œ์˜€์Šต๋‹ˆ๋‹ค.

Lightning Grasp์˜ ์žฌ์ •์˜: ์ด์‚ฐ ํƒ์ƒ‰ + ์—ฐ์† ์ •์ œ

Lightning Grasp๋Š” ์ด๋ฅผ ๋‘ ๋‹จ๊ณ„๋กœ ๋ถ„๋ฆฌํ•ฉ๋‹ˆ๋‹ค:

  1. ์ด์‚ฐ ํƒ์ƒ‰: Contact Field ๋‚ด์—์„œ ์œ ํšจํ•œ ์ ‘์ด‰ ์กฐํ•ฉ ํƒ์ƒ‰
  2. ์—ฐ์† ์ •์ œ: ์„ ํƒ๋œ ์ ‘์ด‰์— ๋Œ€ํ•œ ์šด๋™ํ•™์  ์‹คํ˜„

์ด ๋ถ„๋ฆฌ๋Š” ๊ฐ ๋‹จ๊ณ„๋ฅผ ๋…๋ฆฝ์ ์œผ๋กœ ์ตœ์ ํ™”ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋ฉฐ, ์—๋„ˆ์ง€ ํ•จ์ˆ˜ ๊ฐ€์ค‘์น˜ ํŠœ๋‹์˜ ํ•„์š”์„ฑ์„ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.

4.2 Force Closure ๋ถ„์„์˜ ํšจ์œจํ™”

์•ˆ์ •์ ์ธ ํŒŒ์ง€๋ฅผ ์œ„ํ•ด์„œ๋Š” Force Closure ์กฐ๊ฑด์„ ๋งŒ์กฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ์กด ๋ฐฉ๋ฒ•๋“ค์€ ์ด๋ฅผ ๋ฏธ๋ถ„ ๊ฐ€๋Šฅํ•œ ๊ทผ์‚ฌ๋กœ ๋ชจ๋ธ๋งํ–ˆ์ง€๋งŒ, Lightning Grasp๋Š” ๋‹ค๋ฅธ ์ ‘๊ทผ์„ ์ทจํ•ฉ๋‹ˆ๋‹ค.

์ €์ž๋“ค์€ Grasp Stability with Object (GSWO) ๋ฌธ์ œ์™€ Friction-free Stability with Object (FSWO) ๋ฌธ์ œ๋ฅผ ๊ตฌ๋ถ„ํ•ฉ๋‹ˆ๋‹ค:

  • FSWO๋Š” GSWO์˜ ํ•˜ํ•œ(lower bound)์„ ์ œ๊ณต
  • ๋งˆ์ฐฐ ๊ณ„์ˆ˜ ฮฒ๊ฐ€ ์•ˆ์ •์„ฑ์˜ ๊ฐ•๋„๋ฅผ ๊ฒฐ์ •
  • Contact Field ๋‚ด์—์„œ ์ด๋ฏธ ์œ ํšจํ•œ ์ ‘์ด‰ ์กฐํ•ฉ๋งŒ ๊ณ ๋ คํ•˜๋ฏ€๋กœ ์•ˆ์ •์„ฑ ๊ฒ€์ฆ์ด ๋‹จ์ˆœํ™”

4.3 GPU ์ตœ์ ํ™” ์ „๋žต

Lightning Grasp์˜ ๋›ฐ์–ด๋‚œ ์„ฑ๋Šฅ์€ ์ •๊ตํ•œ GPU ์ตœ์ ํ™”์— ๊ธฐ์ธํ•ฉ๋‹ˆ๋‹ค:

๋ฉ”๋ชจ๋ฆฌ ๊ณ„์ธต ํ™œ์šฉ - ์ž์ฃผ ์ ‘๊ทผ๋˜๋Š” Contact Field ๋ฐ์ดํ„ฐ๋ฅผ ๊ณต์œ  ๋ฉ”๋ชจ๋ฆฌ์— ๋ฐฐ์น˜ - ์—ฐ์‚ฐ ๊ฒฐ๊ณผ์˜ ๋ ˆ์ง€์Šคํ„ฐ ์บ์‹ฑ - ๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผ ํŒจํ„ด ์ตœ์ ํ™”๋กœ ์บ์‹œ ์ ์ค‘๋ฅ  ํ–ฅ์ƒ

๋ณ‘๋ ฌํ™” ์ „๋žต - ๋ฐฐ์น˜ ์ฒ˜๋ฆฌ: ์ˆ˜์ฒœ ๊ฐœ์˜ ํŒŒ์ง€ ํ›„๋ณด๋ฅผ ๋™์‹œ์— ํ‰๊ฐ€ - ํŒŒ์ดํ”„๋ผ์ด๋‹: Contact Field ๊ตฌ์ถ•๊ณผ ์ตœ์ ํ™”์˜ ์ค‘์ฒฉ ์‹คํ–‰ - ๋™์  ์›Œํฌ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ

ํ”„๋กœํŒŒ์ผ๋ง ๊ฒฐ๊ณผ์— ๋”ฐ๋ฅด๋ฉด, Contact ์ตœ์ ํ™”์™€ ์šด๋™ํ•™ ์ตœ์ ํ™”๊ฐ€ ๊ฐ๊ฐ ์•ฝ 33%์˜ ๊ณ„์‚ฐ ์‹œ๊ฐ„์„ ์ฐจ์ง€ํ•˜์—ฌ ๊ท ํ˜• ์žกํžŒ ์›Œํฌ๋กœ๋“œ ๋ถ„๋ฐฐ๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.


5. ์„ฑ๋Šฅ ๋ถ„์„ ๋ฐ ๋น„๊ต

5.1 ์ •๋Ÿ‰์  ์„ฑ๋Šฅ

GPU ์•„ํ‚คํ…์ฒ˜ ์ดˆ๋‹น ์œ ํšจ ์ƒ˜ํ”Œ ์ˆ˜ (SPS) ํฌ์›Œ๋“œ ํŒจ์Šค ์‹œ๊ฐ„
NVIDIA A100 1,000-10,000 2-5์ดˆ
NVIDIA TITAN X (Pascal) ์‹ค์‹œ๊ฐ„ ์ˆ˜์ค€ ๊ธฐ์กด ๋ฐฉ๋ฒ• ๋Œ€๋น„ 20-100x ๋น ๋ฆ„
RTX Ampere ๊ณ ์„ฑ๋Šฅ A100 ๋Œ€๋น„ ํšจ์œจ์ 
RTX Ada Lovelace ์ตœ๊ณ  ์„ฑ๋Šฅ ์ตœ์‹  ์•„ํ‚คํ…์ฒ˜ ์ตœ์ ํ™”

ํ•ต์‹ฌ ์ง€ํ‘œ:

  • ๊ธฐ์กด ์ตœ์ฒจ๋‹จ ๋ฐฉ๋ฒ• ๋Œ€๋น„ ์ˆ˜ ์ž๋ฆฟ์ˆ˜(orders of magnitude) ์†๋„ ํ–ฅ์ƒ
  • TITAN X(๋ ˆ๊ฑฐ์‹œ GPU)์—์„œ๋„ A100 ๊ธฐ๋ฐ˜ ๊ธฐ์กด ๋ฐฉ๋ฒ•๋“ค๋ณด๋‹ค 20-100x ๋น ๋ฆ„
  • ๊ฐ์ฒด ๋ณต์žก๋„์— ๋”ฐ๋ผ 2-5์ดˆ ๋‚ด 1,000-10,000๊ฐœ์˜ ๋‹ค์–‘ํ•œ ์œ ํšจ ํŒŒ์ง€ ์ƒ์„ฑ

5.2 ๊ธฐ์กด ๋ฐฉ๋ฒ•๋“ค๊ณผ์˜ ๋น„๊ต

DexGraspNet (2022)

  • ๋ฏธ๋ถ„ ๊ฐ€๋Šฅํ•œ force closure ์ถ”์ •๊ธฐ ๊ธฐ๋ฐ˜
  • ShadowHand์—์„œ 1.32M ํŒŒ์ง€ ์ƒ์„ฑ
  • ๋Œ€๊ทœ๋ชจ CPU ํด๋Ÿฌ์Šคํ„ฐ ํ•„์š”
  • Lightning Grasp๋Š” ๋™์ผํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋‹จ์ผ GPU์—์„œ ํ›จ์”ฌ ๋น ๋ฅด๊ฒŒ ๋‹ฌ์„ฑ

SpringGrasp (2024)

  • ๊ฐ€์ƒ ์Šคํ”„๋ง ๋ชจ๋ธ ๊ธฐ๋ฐ˜ ์ปดํ”Œ๋ผ์ด์–ธํŠธ ํŒŒ์ง€
  • ๋ถˆํ™•์‹ค์„ฑ ๊ณ ๋ คํ•œ ๋กœ๋ฒ„์ŠคํŠธ ํŒŒ์ง€ ํ•ฉ์„ฑ
  • ์‹ค์‹œ๊ฐ„ ์„ฑ๋Šฅ ๋‹ฌ์„ฑํ•˜์ง€ ๋ชปํ•จ
  • Lightning Grasp๋Š” ์‹ค์‹œ๊ฐ„ ๋‹ค์–‘์„ฑ ํŒŒ์ง€ ๋‹ฌ์„ฑ

BODex (2024)

  • Bilevel Optimization ๊ธฐ๋ฐ˜
  • QP ๊ธฐ๋ฐ˜ ์—๋„ˆ์ง€ ํ•จ์ˆ˜๋กœ ๋ฌผ๋ฆฌ์  ์ •ํ™•์„ฑ ํ–ฅ์ƒ
  • 50x ์†๋„ ํ–ฅ์ƒ ์ฃผ์žฅ
  • Lightning Grasp๋Š” ์ด๋ณด๋‹ค ๋” ํฐ ์†๋„ ํ–ฅ์ƒ ๋‹ฌ์„ฑ

Graspโ€™D (ECCV 2022)

  • ๋ฏธ๋ถ„ ๊ฐ€๋Šฅ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๊ธฐ๋ฐ˜
  • Contact-rich ํŒŒ์ง€ ํ•ฉ์„ฑ
  • 40๋ถ„์— 5๊ฐœ ํŒŒ์ง€ ์ƒ์„ฑ (MANO ๋ชจ๋ธ)
  • Lightning Grasp๋Š” ์ดˆ๋‹น ์ˆ˜์ฒœ ๊ฐœ ํŒŒ์ง€ ์ƒ์„ฑ

5.3 ์ง€์› ๋กœ๋ด‡ ์† ํ”Œ๋žซํผ

Lightning Grasp๋Š” ๋‹ค์–‘ํ•œ ๋กœ๋ด‡ ์† ํ”Œ๋žซํผ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค:

๋กœ๋ด‡ ์† ์ž์œ ๋„(DOF) ์†๊ฐ€๋ฝ ์ˆ˜ ํŠน์ง•
Allegro Hand 16 4 ๊ฐ€์žฅ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ์—ฐ๊ตฌ์šฉ ์†
Shadow Hand 24 5 ์ธ๊ฐ„ ์†๊ณผ ๊ฐ€์žฅ ์œ ์‚ฌ
LEAP Hand 16 4 ์ตœ์‹  ์˜คํ”ˆ์†Œ์Šค ์†
DClaw 9 3 ๊ทธ๋ฆฌํผ-์† ํ•˜์ด๋ธŒ๋ฆฌ๋“œ

ํŠนํžˆ ์ธ๊ฐ„ ์†๊ณผ ํ˜•ํƒœํ•™์ ์œผ๋กœ ํฌ๊ฒŒ ๋‹ค๋ฅธ DClaw์—์„œ๋„ robustํ•˜๊ฒŒ ์ž‘๋™ํ•œ๋‹ค๋Š” ์ ์ด ์ฃผ๋ชฉํ•  ๋งŒํ•ฉ๋‹ˆ๋‹ค.


6. ์‹คํ—˜ ๊ฒฐ๊ณผ ๋ถ„์„

6.1 ํ…Œ์ŠคํŠธ ๊ฐ์ฒด ๋ฒ”์ฃผ

Lightning Grasp๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‹ค์–‘ํ•œ ๊ฐ์ฒด ๋ฒ”์ฃผ์—์„œ ํ…Œ์ŠคํŠธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค:

YCB ๋ฒค์น˜๋งˆํฌ ๊ฐ์ฒด:

  • ์ผ์ƒ ์ƒํ™œ ๊ฐ์ฒด: Apple, Banana, Cup, Mug
  • ๋„๊ตฌ: Scissors, Hammer, Screwdriver
  • ์‹ํ’ˆ: Strawberry, Lemon
  • ๊ธฐํƒ€: Marker, Bowl, Clamp

๊ฐ์ฒด ํŠน์„ฑ๋ณ„ ๋ถ„๋ฅ˜:

  • Tiny ๊ฐ์ฒด: Capsule ๋“ฑ (๋†’์€ ์ •๋ฐ€๋„ ์š”๊ตฌ)
  • Regular ๊ฐ์ฒด: Apple ๋“ฑ (์ผ๋ฐ˜์ ์ธ ํŒŒ์ง€)
  • Non-convex ๊ฐ์ฒด: Cup, Tools ๋“ฑ (๋ณต์žกํ•œ ๊ธฐํ•˜ํ•™)

6.2 ๋‹ค์–‘์„ฑ๊ณผ ํ’ˆ์งˆ์˜ ๊ท ํ˜•

Lightning Grasp์˜ ํ•ต์‹ฌ ์žฅ์  ์ค‘ ํ•˜๋‚˜๋Š” ๋‹ค์–‘์„ฑ๊ณผ ํ’ˆ์งˆ์„ ๋™์‹œ์— ๋‹ฌ์„ฑํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค:

๋‹ค์–‘์„ฑ ์ธก์ •:

  • PCA ๋ถ„์„์—์„œ ์ฒซ ๋ฒˆ์งธ ์ฃผ์„ฑ๋ถ„์ด ์„ค๋ช…ํ•˜๋Š” ๋ถ„์‚ฐ ๋น„์œจ
  • ๋‚ฎ์„์ˆ˜๋ก ํŒŒ์ง€์˜ ๋‹ค์–‘์„ฑ์ด ๋†’์Œ
  • Lightning Grasp๋Š” ๊ธฐ์กด ๋ฐฉ๋ฒ•๋“ค๋ณด๋‹ค ํ›จ์”ฌ ๋‹ค์–‘ํ•œ ํŒŒ์ง€ ์ƒ์„ฑ

ํ’ˆ์งˆ ์ธก์ •:

  • ์นจํˆฌ ๊นŠ์ด(Penetration Depth): ๊ฐ์ฒด์™€ ์†์˜ ๊ต์ฐจ ์ •๋„
  • ์ž๊ฐ€ ์ถฉ๋Œ(Self-intersection): ์†๊ฐ€๋ฝ ๊ฐ„ ์ถฉ๋Œ
  • ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ์„ฑ๊ณต๋ฅ : MuJoCo ๋“ฑ์—์„œ์˜ ํŒŒ์ง€ ์„ฑ๊ณต๋ฅ 

6.3 ์„ฑ๋Šฅ ์ตœ์ ํ™” ๋ชจ๋“œ

๋…ผ๋ฌธ์—์„œ๋Š” ๋‘ ๊ฐ€์ง€ ์šด์˜ ๋ชจ๋“œ๋ฅผ ์ œ์‹œํ•ฉ๋‹ˆ๋‹ค:

ํ‘œ์ค€ ๋ชจ๋“œ:

  • ์ตœ๋Œ€ ๋‹ค์–‘์„ฑ ์ถ”๊ตฌ
  • ๋ฐฐ์น˜ ํฌ๊ธฐ: (256, 256) ๋˜๋Š” (256, 512)
  • ํฌ์›Œ๋“œ ํŒจ์Šค: 2-5์ดˆ

์„ฑ๋Šฅ ์ตœ์ ํ™” ๋ชจ๋“œ:

  • ๋‹ค์–‘์„ฑ์„ ์•ฝ๊ฐ„ ํฌ์ƒํ•˜์—ฌ ์†๋„ ํ–ฅ์ƒ
  • ๋ฐฐ์น˜ ํฌ๊ธฐ ๊ฐ์†Œ
  • ํฌ์›Œ๋“œ ํŒจ์Šค ์‹œ๊ฐ„ 50% ์ ˆ๊ฐ

7. ์‹œ์Šคํ…œ ๊ตฌํ˜„ ์„ธ๋ถ€์‚ฌํ•ญ

7.1 ํ™˜๊ฒฝ ์š”๊ตฌ์‚ฌํ•ญ

์šด์˜์ฒด์ œ: Ubuntu 22.04 ๋˜๋Š” 24.04
GPU: NVIDIA GPU (Pascal, Volta/Turing, Ampere, Ada Lovelace)
CUDA: ๋ฒ„์ „ 12
Python: 3.8, 3.9, 3.10 ์ง€์›

7.2 ์ฃผ์š” ์˜์กด์„ฑ

# ์ตœ์†Œ ์„ค์น˜
pip install open3d==0.19.0 urdfpy==0.0.22 trimesh==4.9.0
pip install networkx==3.2.1

ํ•ต์‹ฌ ๊ตฌ์„ฑ์š”์†Œ:

  • Open3D: 3D ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ
  • URDF ํŒŒ์„œ: ๋กœ๋ด‡ ์† ๋ชจ๋ธ ๋กœ๋”ฉ
  • Trimesh: ๋ฉ”์‰ฌ ์ฒ˜๋ฆฌ
  • CUDA ์ปค๋„: ๊ณ ์„ฑ๋Šฅ ๊ธฐํ•˜ ์—ฐ์‚ฐ (์‚ฌ์ „ ์ปดํŒŒ์ผ๋œ ๋ฐ”์ด๋„ˆ๋ฆฌ ์ œ๊ณต)

7.3 ์ปค์Šคํ…€ ๋กœ๋ด‡ ์† ์„ค์ •

์ƒˆ๋กœ์šด ๋กœ๋ด‡ ์†์„ ์ถ”๊ฐ€ํ•˜๋ ค๋ฉด Config ๊ฐ์ฒด๋ฅผ ์ •์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค:

# ์˜ˆ์‹œ: allegro.py ์ฐธ์กฐ
class AllegroConfig:
    # Contact Field ๊ทœ์น™: ํ—ˆ์šฉ๋œ ๋ฒ•์„ ์œผ๋กœ ์ •์˜๋œ ํŒจ์น˜
    contact_patches = [...]
    
    # ์ •๊ทœ ๊ฐ์ฒด ๊ณต๊ฐ„: ๊ฐ์ฒด ์ดˆ๊ธฐํ™” ์œ„์น˜
    canonical_object_space = [...]
    
    # URDF ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ
    urdf_path = "path/to/allegro.urdf"
    joint_limits = [...]

7.4 ์•Œ๋ ค์ง„ ์ œํ•œ์‚ฌํ•ญ

ํ˜„์žฌ ๊ณต๊ฐœ ๋ฒ„์ „์˜ ์ œํ•œ์‚ฌํ•ญ:

  1. Mimic Joint ๋ฏธ์ง€์›: ๋ชจ๋“  ๊ด€์ ˆ์ด ์™„์ „ํžˆ ๊ตฌ๋™๋˜์–ด์•ผ ํ•จ
  2. ๋Œ€ํ˜• ๊ฐ์ฒด ์ œํ•œ: ๋งค์šฐ ํฐ ๊ฐ์ฒด์—์„œ ๋ฉ”์‰ฌ ํด๋žจํ•‘ ํ•„์š”
  3. ๊ทธ๋ฆฌํผ ์ตœ์ ํ™”: ๋ณ‘๋ ฌ ์กฐ ๊ทธ๋ฆฌํผ๋Š” ํŠนํ™”๋œ ๋ฐฉ๋ฒ• ๊ถŒ์žฅ

8. ์—ฐ๊ตฌ์  ์˜์˜ ๋ฐ ํ–ฅํ›„ ๋ฐฉํ–ฅ

8.1 ํŒจ๋Ÿฌ๋‹ค์ž„ ์ „ํ™˜

Lightning Grasp๋Š” ํŒŒ์ง€ ํ•ฉ์„ฑ ๋ถ„์•ผ์—์„œ ์ค‘์š”ํ•œ ํŒจ๋Ÿฌ๋‹ค์ž„ ์ „ํ™˜์„ ์ œ์‹œํ•ฉ๋‹ˆ๋‹ค:

From: ์ตœ์ ํ™” ์ค‘์‹ฌ ์ ‘๊ทผ๋ฒ•

  • ์—๋„ˆ์ง€ ํ•จ์ˆ˜ ์„ค๊ณ„ โ†’ ๊ทธ๋ž˜๋””์–ธํŠธ ๊ธฐ๋ฐ˜ ์ตœ์ ํ™” โ†’ ์ˆ˜๋ ด

To: ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ์ค‘์‹ฌ ์ ‘๊ทผ๋ฒ•

  • Contact Field ๊ตฌ์ถ• โ†’ ์ด์‚ฐ ํƒ์ƒ‰ โ†’ ์šด๋™ํ•™์  ์‹คํ˜„

์ด ์ „ํ™˜์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ด์ ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค:

  • ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ ํŠœ๋‹ ์ œ๊ฑฐ
  • ์˜ˆ์ธก ๊ฐ€๋Šฅํ•œ ๊ณ„์‚ฐ ๋ณต์žก๋„
  • GPU ์นœํ™”์  ๋ณ‘๋ ฌํ™”

8.2 ๋ฐ์ดํ„ฐ ์—”์ง„์œผ๋กœ์„œ์˜ ๊ฐ€์น˜

Lightning Grasp์˜ ๊ฐ€์žฅ ํฐ ๊ฐ€์น˜ ์ค‘ ํ•˜๋‚˜๋Š” ๋ฐ์ดํ„ฐ ๊ธฐ๋ฐ˜ ๋ฐฉ๋ฒ•๋“ค์„ ์œ„ํ•œ ๊ณ ํ’ˆ์งˆ ๋ฐ์ดํ„ฐ ์—”์ง„ ์—ญํ• ์ž…๋‹ˆ๋‹ค:

[Lightning Grasp] โ†’ [๋Œ€๊ทœ๋ชจ ํŒŒ์ง€ ๋ฐ์ดํ„ฐ์…‹] โ†’ [ํ•™์Šต ๊ธฐ๋ฐ˜ ์ •์ฑ… ํ›ˆ๋ จ]

์ด๋Š” DexDiffuser, AINA, Dexterity Gen ๋“ฑ ์ตœ์‹  ํ•™์Šต ๊ธฐ๋ฐ˜ ์กฐ์ž‘ ์—ฐ๊ตฌ์—์„œ ํ•ต์‹ฌ์ ์ธ ์—ญํ• ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

8.3 ์ œ์•ˆ๋œ ํ–ฅํ›„ ์—ฐ๊ตฌ ๋ฐฉํ–ฅ

์ €์ž๋“ค์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ–ฅํ›„ ์—ฐ๊ตฌ ๋ฐฉํ–ฅ์„ ์ œ์‹œํ•ฉ๋‹ˆ๋‹ค:

์ž๊ธฐ ํ”Œ๋ ˆ์ด ๊ธฐ๋ฐ˜ ํšจ์œจ์„ฑ ํ–ฅ์ƒ:

  • ๊ฐ์ฒด ์ž์„ธ ์ •์ฑ… ํ•™์Šต
  • ๊ณผ๊ฑฐ ํƒ์ƒ‰ ๊ฒฝํ—˜์—์„œ ์œ ๋งํ•œ ์ž์„ธ ์˜ˆ์ธก
  • ๋ชจ๋ธ ๊ธฐ๋ฐ˜ ๊ฐ•ํ™”ํ•™์Šต์—์„œ์˜ ์ž๊ธฐ ํ”Œ๋ ˆ์ด ๊ธฐ๋ฒ• ์ ์šฉ

์ธ๊ฐ„ ์˜๋„ ๋ฐ˜์˜ ํŒŒ์ง€:

  • ํŠน์ • ํŒŒ์ง€ ์œ ํ˜• ํ”„๋กฌํ”„ํŒ…
  • ๊ธฐ๋Šฅ์  ํŒŒ์ง€ ํ•ฉ์„ฑ
  • ์ธํ„ฐ๋ž™ํ‹ฐ๋ธŒ ๋””์ž์ธ ์ง€์›

์‹ค์„ธ๊ณ„ ์ ์šฉ:

  • Sim-to-Real ์ „์ด
  • ํด๋Ÿฌํ„ฐ ํ™˜๊ฒฝ ํŒŒ์ง€
  • ๋™์  ๊ฐ์ฒด ํŒŒ์ง€

8.4 ๋‹ค๋ฅธ ์—ฐ๊ตฌ์™€์˜ ์‹œ๋„ˆ์ง€

Lightning Grasp๋Š” ๋‹ค์Œ ์—ฐ๊ตฌ๋“ค๊ณผ ๊ฒฐํ•ฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

์—ฐ๊ตฌ ๋ถ„์•ผ ๊ฒฐํ•ฉ ๊ฐ€๋Šฅ ์—ฐ๊ตฌ ์‹œ๋„ˆ์ง€
ํ•™์Šต ๊ธฐ๋ฐ˜ ํŒŒ์ง€ DexGraspNet 2.0, UniDexGrasp++ ๊ณ ํ’ˆ์งˆ ํ›ˆ๋ จ ๋ฐ์ดํ„ฐ
๊ธฐ๋Šฅ์  ํŒŒ์ง€ Dexonomy, Text2Grasp ํŒŒ์ง€ ์œ ํ˜•๋ณ„ ํ•ฉ์„ฑ
ํ…”๋ ˆ์˜คํผ๋ ˆ์ด์…˜ Open Teach, MANUS ํŒŒ์ง€ ํ›„๋ณด ์ƒ์„ฑ
๊ฐ•ํ™”ํ•™์Šต AINA, ViViDex ์‚ฌ์ „ ํ›ˆ๋ จ ๋ฐ์ดํ„ฐ

9. ๋น„ํŒ์  ๋ถ„์„

9.1 ๊ฐ•์ 

  1. ๊ทผ๋ณธ์ ์ธ ๋ฌธ์ œ ํ•ด๊ฒฐ: ๊ธฐํ•˜ ์—ฐ์‚ฐ๊ณผ ์ตœ์ ํ™”์˜ ๋ถ„๋ฆฌ๋ผ๋Š” ๊ทผ๋ณธ์ ์ธ ์ ‘๊ทผ
  2. ๋›ฐ์–ด๋‚œ ์„ฑ๋Šฅ: ์ˆ˜ ์ž๋ฆฟ์ˆ˜์˜ ์†๋„ ํ–ฅ์ƒ
  3. ์ผ๋ฐ˜์„ฑ: ๋‹ค์–‘ํ•œ ์† ํ”Œ๋žซํผ๊ณผ ๊ฐ์ฒด์— ์ ์šฉ ๊ฐ€๋Šฅ
  4. ์‹ค์šฉ์„ฑ: ์˜คํ”ˆ์†Œ์Šค ์ฝ”๋“œ์™€ ์‚ฌ์ „ ์ปดํŒŒ์ผ๋œ ๋ฐ”์ด๋„ˆ๋ฆฌ ์ œ๊ณต
  5. ํ™•์žฅ์„ฑ: ์ปค์Šคํ…€ ๋กœ๋ด‡ ์† ์‰ฝ๊ฒŒ ์ถ”๊ฐ€ ๊ฐ€๋Šฅ

9.2 ์ž ์žฌ์  ํ•œ๊ณ„์ 

  1. ์ •์  ํ™˜๊ฒฝ ๊ฐ€์ •: ๋™์  ํ™˜๊ฒฝ์—์„œ์˜ ์ ์šฉ์„ฑ ๊ฒ€์ฆ ํ•„์š”
  2. ํด๋Ÿฌํ„ฐ ์ฒ˜๋ฆฌ: ๋ณต์žกํ•œ ํด๋Ÿฌํ„ฐ ํ™˜๊ฒฝ์—์„œ์˜ ์„ฑ๋Šฅ ๋ฏธ๊ฒ€์ฆ
  3. ์‹ค์„ธ๊ณ„ ๊ฒ€์ฆ: ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ์ค‘์‹ฌ ํ‰๊ฐ€, ์‹ค๋กœ๋ด‡ ๊ฒ€์ฆ ์ œํ•œ์ 
  4. CUDA ์˜์กด์„ฑ: GPU ์—†๋Š” ํ™˜๊ฒฝ์—์„œ ์‚ฌ์šฉ ๋ถˆ๊ฐ€
  5. Mimic Joint ๋ฏธ์ง€์›: ์ผ๋ถ€ ๋กœ๋ด‡ ์† ๋ชจ๋ธ ์ œ์™ธ

9.3 ๊ฐœ์„  ๊ฐ€๋Šฅ ์˜์—ญ

  • ์ด‰๊ฐ ํ”ผ๋“œ๋ฐฑ ํ†ตํ•ฉ: ์ด‰๊ฐ ์„ผ์„œ ์ •๋ณด๋ฅผ Contact Field์— ๋ฐ˜์˜
  • ๋™์  ๊ฐ์ฒด ์ฒ˜๋ฆฌ: ์›€์ง์ด๋Š” ๊ฐ์ฒด์— ๋Œ€ํ•œ ์‹ค์‹œ๊ฐ„ Contact Field ์—…๋ฐ์ดํŠธ
  • ๋ฉ€ํ‹ฐ ๊ฐ์ฒด ์‹œ๋‚˜๋ฆฌ์˜ค: ์—ฌ๋Ÿฌ ๊ฐ์ฒด ๋™์‹œ ํŒŒ์ง€
  • ์–ธ์–ด ์กฐ๊ฑด๋ถ€ ํŒŒ์ง€: LLM๊ณผ์˜ ํ†ตํ•ฉ์œผ๋กœ ์˜๋ฏธ์  ํŒŒ์ง€ ์ง€์›

10. ์‹ค๋ฌด ์ ์šฉ ๊ฐ€์ด๋“œ

10.1 ๋น ๋ฅธ ์‹œ์ž‘

# ํ™˜๊ฒฝ ์„ค์ •
conda env create -f conda_env/conda_py39.yml
conda activate lygra

# CUDA ๋ฐ”์ด๋„ˆ๋ฆฌ ์„ค์น˜
# Release ํŽ˜์ด์ง€์—์„œ ๋‹ค์šด๋กœ๋“œ ํ›„ lygra/cpp/build/์— ๋ฐฐ์น˜

# ๋ฐ๋ชจ ์‹คํ–‰
python demo.py --visualize

10.2 ํŒŒ๋ผ๋ฏธํ„ฐ ํŠœ๋‹ ๊ฐ€์ด๋“œ

ํŒŒ๋ผ๋ฏธํ„ฐ ๊ธฐ๋ณธ๊ฐ’ ํŠœ๋‹ ๊ฐ€์ด๋“œ
n_contact - ํƒ์ƒ‰ํ•  ํ™œ์„ฑ ์ ‘์ด‰ ์ˆ˜ ์ œ์–ด
batch_size_outer 128-256 GPU ๋ฉ”๋ชจ๋ฆฌ์— ๋”ฐ๋ผ ์กฐ์ •
batch_size_inner 256-512 ๋†’์„์ˆ˜๋ก ๋ณ‘๋ ฌ์„ฑ ์ฆ๊ฐ€

๊ถŒ์žฅ ์„ค์ •: - 12GB+ GPU: (256, 512) - 8GB GPU: (192, 256) - 6GB GPU: (128, 256)

10.3 ์ปค์Šคํ…€ ๊ฐ์ฒด ์‚ฌ์šฉ

# ๊ฐ์ฒด ๋ฉ”์‰ฌ ์ค€๋น„ (๋ฏธํ„ฐ ๋‹จ์œ„๋กœ ์Šค์ผ€์ผ๋ง ํ•„์ˆ˜!)
python demo.py --visualize \
    --robot shadow \
    --object_mesh_path ./path/to/your/object.obj

11. ๊ฒฐ๋ก 

Lightning Grasp๋Š” ๋กœ๋ด‡ ํŒŒ์ง€ ํ•ฉ์„ฑ ๋ถ„์•ผ์—์„œ ์ค‘์š”ํ•œ ์ด์ •ํ‘œ๋ฅผ ์„ธ์› ์Šต๋‹ˆ๋‹ค. Contact Field๋ผ๋Š” ๋‹จ์ˆœํ•˜์ง€๋งŒ ๊ฐ•๋ ฅํ•œ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ๋„์ž…ํ•จ์œผ๋กœ์จ, ๊ธฐํ•˜ ์—ฐ์‚ฐ๊ณผ ํƒ์ƒ‰์˜ ๋ถ„๋ฆฌ๋ผ๋Š” ํ•ต์‹ฌ ํ†ต์ฐฐ์„ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.

ํ•ต์‹ฌ ์„ฑ๊ณผ ์š”์•ฝ

  • โœ… ์ˆ˜ ์ž๋ฆฟ์ˆ˜ ์†๋„ ํ–ฅ์ƒ: ๊ธฐ์กด ๋ฐฉ๋ฒ• ๋Œ€๋น„ ํš๊ธฐ์ ์ธ ์„ฑ๋Šฅ ๊ฐœ์„ 
  • โœ… ์‹ค์‹œ๊ฐ„ ๋‹ค์–‘์„ฑ ํŒŒ์ง€: ์ดˆ ๋‹จ์œ„๋กœ ์ˆ˜์ฒœ ๊ฐœ์˜ ๋‹ค์–‘ํ•œ ํŒŒ์ง€ ์ƒ์„ฑ
  • โœ… ํŠœ๋‹ ํ”„๋ฆฌ: ์—๋„ˆ์ง€ ํ•จ์ˆ˜ ๊ฐ€์ค‘์น˜๋‚˜ ์ดˆ๊ธฐํ™” ํ…œํ”Œ๋ฆฟ ๋ถˆํ•„์š”
  • โœ… ๋ฒ”์šฉ์„ฑ: ๋‹ค์–‘ํ•œ ๋กœ๋ด‡ ์†๊ณผ ๊ฐ์ฒด์— ์ ์šฉ ๊ฐ€๋Šฅ
  • โœ… ์˜คํ”ˆ์†Œ์Šค: ์ฝ”๋“œ ๋ฐ ์‚ฌ์ „ ์ปดํŒŒ์ผ ๋ฐ”์ด๋„ˆ๋ฆฌ ๊ณต๊ฐœ

๋กœ๋ด‡ ๊ณตํ•™๊ณ„์— ๋Œ€ํ•œ ํ•จ์˜

์ด ์—ฐ๊ตฌ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋” ๋„“์€ ํ•จ์˜๋ฅผ ๊ฐ€์ง‘๋‹ˆ๋‹ค:

  1. ๋ณ‘๋ ฌ ์กฐ ๊ทธ๋ฆฌํผ์˜ ์ง€๋ฐฐ์— ๋Œ€ํ•œ ๋„์ „: ๋‹ค์ง€ ์†์˜ ์‹ค์šฉ์„ฑ์„ ํฌ๊ฒŒ ๋†’์ž„
  2. ๋ฐ์ดํ„ฐ ๊ธฐ๋ฐ˜ ๋ฐฉ๋ฒ•์˜ ๊ฐ€์†ํ™”: ๋Œ€๊ทœ๋ชจ ํŒŒ์ง€ ๋ฐ์ดํ„ฐ์…‹ ์ƒ์„ฑ ์šฉ์ด
  3. ์‹ค์‹œ๊ฐ„ ์‘์šฉ ๊ฐ€๋Šฅ์„ฑ: ๋™์  ํ™˜๊ฒฝ์—์„œ์˜ ์ ์‘์  ํŒŒ์ง€ ๊ฐ€๋Šฅ

โ€œWe believe that Lightning Grasp represents a significant step toward fully harnessing the potential of dexterous manipulators.โ€

โ€” Zhao-Heng Yin & Pieter Abbeel

Lightning Grasp๋Š” ๋‹จ์ˆœํžˆ ๋น ๋ฅธ ํŒŒ์ง€ ํ•ฉ์„ฑ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์•„๋‹ˆ๋ผ, ๋‹ค์ง€ ์กฐ์ž‘์˜ ์ƒˆ๋กœ์šด ๊ฐ€๋Šฅ์„ฑ์„ ์—ฌ๋Š” ๊ธฐ์ดˆ ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค. ์•ž์œผ๋กœ ์ด ์—ฐ๊ตฌ๊ฐ€ ์–ด๋–ป๊ฒŒ ์‹ค์„ธ๊ณ„ ๋กœ๋ด‡ ์‹œ์Šคํ…œ์— ์ ์šฉ๋˜๊ณ  ํ™•์žฅ๋ ์ง€ ๊ธฐ๋Œ€๋ฉ๋‹ˆ๋‹ค.

์ฐธ๊ณ  ๋ฌธํ—Œ

  1. Yin, Z.-H., & Abbeel, P. (2025). Lightning Grasp: High Performance Procedural Grasp Synthesis with Contact Fields. arXiv:2511.07418.
  2. Wang, R., et al. (2022). DexGraspNet: A Large-Scale Robotic Dexterous Grasp Dataset for General Objects Based on Simulation. ICRA 2023.
  3. Chen, Y., et al. (2024). SpringGrasp: An optimization pipeline for robust and compliant dexterous pre-grasp synthesis. ICRA 2024.
  4. Chen, Y., et al. (2024). BODex: Scalable and Efficient Robotic Dexterous Grasp Synthesis Using Bilevel Optimization. arXiv:2412.16490.
  5. Turpin, D., et al. (2022). Graspโ€™D: Differentiable Contact-rich Grasp Synthesis for Multi-fingered Hands. ECCV 2022.
  6. Miller, A. T., & Allen, P. K. (2004). GraspIt! A versatile simulator for robotic grasping. IEEE Robotics & Automation Magazine.

โ›๏ธ Dig Review

โ›๏ธ Dig โ€” Go deep, uncover the layers. Dive into technical detail.

Lightning Grasp๋Š” ๋ณต์žกํ•œ ํ˜•์ƒ์˜ ๋ฌผ์ฒด์— ๋Œ€ํ•ด ๊ณ ์„ฑ๋Šฅ์˜ ์ ˆ์ฐจ์ (grasp) ๊ทธ๋ฆฝ(Grasp) ํ•ฉ์„ฑ์„ ์‹ค์‹œ๊ฐ„์— ๊ฐ€๊น๊ฒŒ ์ˆ˜ํ–‰ํ•˜๋Š” ์ƒˆ๋กœ์šด ์•Œ๊ณ ๋ฆฌ์ฆ˜์ž…๋‹ˆ๋‹ค. ์‹ฌ์ธต ํ•™์Šต ์—†์ด ์† ๊ตฌ์กฐ์™€ ๋ฌผ์ฒด์˜ 3D ๋ชจ๋ธ๋งŒ์œผ๋กœ ์ˆ˜์‹ญ์—์„œ ์ˆ˜๋ฐฑ ๊ธฐํ•˜ํ•™์  ์ œ์•ฝ ์กฐ๊ฑด์„ ๊ณ ๋ คํ•˜๋ฉฐ, ๊ธฐ์กด ๋ฐฉ๋ฒ• ๋Œ€๋น„ ์ˆ˜์‹ญ~์ˆ˜๋ฐฑ๋ฐฐ ์ด์ƒ ๋น ๋ฅธ ์†๋„์™€ ๋‹ค์–‘ํ•œ ๊ทธ๋ฆฝ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์„ฑ๋Šฅ ํ–ฅ์ƒ์€ Contact Field๋ผ๋Š” ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ํ†ตํ•ด ์–ป์–ด์กŒ์Šต๋‹ˆ๋‹ค. Contact Field๋Š” ์†์˜ ๊ฐ ๊ด€์ ˆ ๊ตฌ์„ฑ์—์„œ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ์ ‘์ด‰ ์œ„์น˜์™€ ๋ฒ•์„  ๋ฐฉํ–ฅ์„ ๋‚˜ํƒ€๋‚ด๋Š” 6์ฐจ์› ๋ฒกํ„ฐ์žฅ์˜ ๋ชจ์Œ์œผ๋กœ, ๊ธฐํ•˜ํ•™ ๊ณ„์‚ฐ๊ณผ ํƒ์ƒ‰ ๊ณผ์ •์„ ๋ถ„๋ฆฌํ•˜์—ฌ ์ตœ์ ํ™” ์†๋„๋ฅผ ๊ทน์ ์œผ๋กœ ๋†’์—ฌ์ค๋‹ˆ๋‹ค. ์•„๋ž˜ ๋ฆฌ๋ทฐ์—์„œ๋Š” Lightning Grasp์˜ ๋™๊ธฐ, ์•„ํ‚คํ…์ฒ˜, ์•Œ๊ณ ๋ฆฌ์ฆ˜, ์‹คํ—˜ ๊ฒฐ๊ณผ ๋“ฑ์„ ์ž์„ธํžˆ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

1. ๋…ผ๋ฌธ ๊ฐœ์š” ๋ฐ ์—ฐ๊ตฌ ๋™๊ธฐ

๋กœ๋ด‡ ์†์— ์˜ํ•œ ๋‹ค์–‘ํ•˜๊ณ  ์‹ค์‹œ๊ฐ„์— ๊ฐ€๊นŒ์šด ๊ทธ๋ฆฝ ํ•ฉ์„ฑ์€ ๋กœ๋ณดํ‹ฑ์Šค์™€ ์ปดํ“จํ„ฐ ๊ทธ๋ž˜ํ”ฝ์Šค ๋ถ„์•ผ์—์„œ ์˜ค๋žœ ์ˆ™์ œ๋กœ ๋‚จ์•„ ์žˆ์Šต๋‹ˆ๋‹ค. ์‹ค์ œ ์ž‘์—… ํ™˜๊ฒฝ์—์„œ ๋‹ค์–‘ํ•œ ํ˜•์ƒ์˜ ๋ฌผ์ฒด๋ฅผ ์•ˆ์ •์ ์œผ๋กœ ์žก๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ˆ˜๋งŽ์€ ํ›„๋ณด ๊ทธ๋ฆฝ์„ ๋น ๋ฅด๊ฒŒ ์ฐพ์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ „ํ†ต์ ์œผ๋กœ GraspIt! (2004) ์ดํ›„ ๋งŽ์€ ์—ฐ๊ตฌ๊ฐ€ ์ถ•์ ๋˜์—ˆ์œผ๋‚˜, ์—ฌ์ „ํžˆ ์ ˆ์ฐจ์ (analytical) ๊ทธ๋ฆฝ ๊ณ„ํš์€ ๋А๋ฆฌ๊ฑฐ๋‚˜ ํ•œ๊ณ„๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ ์ตœ๊ทผ์˜ ์—ฐ๊ตฌ๋“ค(์˜ˆ: DexGraspNet, SpringGrasp, Dexonomy ๋“ฑ)๋„ ๊ณ„์‚ฐ๋Ÿ‰์ด ๋งŽ์•„ ์‹ค์‹œ๊ฐ„ ์‘๋‹ต์ด ์–ด๋ ต๊ฑฐ๋‚˜, ํ‰ํ‰ํ•œ ๊ทธ๋ฆฌํผ์— ์ง‘์ค‘๋˜์–ด ์†์žฌ์ฃผ๊ฐ€ ๋งŽ์€ ๋กœ๋ด‡ ์† ๋ชจ๋ธ์—๋Š” ์ ์šฉ์ด ํž˜๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.

์ด ๋…ผ๋ฌธ์—์„œ ์ €์ž๋“ค์€ ๊ธฐํ•˜ํ•™ ๊ณ„์‚ฐ(์ถฉ๋Œ ๊ฒ€์‚ฌ ๋“ฑ)๊ณผ ํƒ์ƒ‰/์ตœ์ ํ™” ๊ณผ์ •์„ ๋ช…ํ™•ํžˆ ๋ถ„๋ฆฌํ•˜๋Š” ์•„์ด๋””์–ด๋ฅผ ์ œ์•ˆํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ๋ณต์žกํ•œ ๊ธฐํ•˜ํ•™์  ์—ฐ์‚ฐ์„ ์‚ฌ์ „์— ์ฒ˜๋ฆฌํ•˜์—ฌ ๋‹จ์ˆœํ™”๋œ ํ˜•ํƒœ๋กœ ํƒ์ƒ‰์— ๋„˜๊ฒจ์ฃผ๋ฉด, ํƒ์ƒ‰์ด ํฌ๊ฒŒ ๊ฐ€์†ํ™”๋œ๋‹ค๋Š” ๊ด€์ฐฐ์ž…๋‹ˆ๋‹ค. ํ•ต์‹ฌ ๋ฐœ๋ช…์ธ Contact Field๋Š” ์†๊ณผ ๋ฌผ์ฒด ๊ฐ„์˜ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ์ ‘์ด‰ ์œ„์น˜๋ฅผ 6์ฐจ์› ๋ฒกํ„ฐ ํ•„๋“œ๋กœ ํ‘œํ˜„ํ•จ์œผ๋กœ์จ, ์ด ๋ถ„๋ฆฌ๋ฅผ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด Lightning Grasp๋Š” A100 GPU ํ•œ ์žฅ์—์„œ ํ•œ ๋ฒˆ์˜ ์ˆœ๋ฐฉํ–ฅ ์—ฐ์‚ฐ์œผ๋กœ 1์ฒœ~1๋งŒ ๊ฐœ์˜ ๋‹ค์–‘ํ•œ ์œ ํšจ ๊ทธ๋ฆฝ์„ 2~5์ดˆ ์•ˆ์— ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๊ธฐ์กด ๋ฐฉ๋ฒ•๋“ค ๋Œ€๋น„ ์ˆ˜์‹ญ๋ฐฐ ์ด์ƒ ๋น ๋ฅธ ์†๋„์ด๋ฉฐ, ํ‰๋ฒ”ํ•œ GPU์—์„œ๋„ ์‹ค์‹œ๊ฐ„์— ๊ฐ€๊นŒ์šด ์ฒ˜๋ฆฌ๋Ÿ‰์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ๋˜ํ•œ ์ด ๋ฐฉ๋ฒ•์€ ์‚ฌ์ „ ํ•™์Šต ์—†์ด(unsupervised) ๋„๊ตฌ๋‚˜ ๋ถˆ๊ทœ์น™ํ•œ ํ˜•์ƒ ๋ฌผ์ฒด์— ๋Œ€ํ•œ ๊ทธ๋ฆฝ์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์—ฐ๊ตฌ ๋™๊ธฐ๋Š” ํฌ๊ฒŒ ๋‘ ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค. ์ฒซ์งธ, ๋กœ๋ด‡์˜ ๋ณต์žกํ•œ ์†(๋‹ค์ž์œ ๋„ ์†)๊ณผ ๋‹ค์–‘ํ•œ ํ˜•ํƒœ์˜ ๋ฌผ์ฒด์— ๋Œ€ํ•ด ๋น ๋ฅด๊ณ  ์•ˆ์ •์ ์ธ ๊ทธ๋ฆฝ์„ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์ด ๋กœ๋ด‡ ์กฐ์ž‘์—์„œ ํ•ต์‹ฌ ๋ฌธ์ œ๋ผ๋Š” ์ ์ž…๋‹ˆ๋‹ค. ๋‘˜์งธ, ๊ธฐ์กด ๋ฐฉ๋ฒ•๋“ค์˜ ๋А๋ฆฐ ์†๋„์™€ ๋ฏผ๊ฐํ•œ ํŒŒ๋ผ๋ฏธํ„ฐ(์—๋„ˆ์ง€ ํ•จ์ˆ˜, ์ดˆ๊ธฐํ™”)์— ๋”ฐ๋ฅธ ํ•œ๊ณ„๋ฅผ ๊ทน๋ณตํ•จ์œผ๋กœ์จ, ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘์ด๋‚˜ ๊ฐ•ํ™”ํ•™์Šต์— ์“ธ ์งˆ ๋†’์€ ๊ทธ๋ฆฝ ๋ฐ์ดํ„ฐ ์ƒ์„ฑ์„ ๊ฐ„์†Œํ™”ํ•˜๋ ค๋Š” ์˜๋„์ž…๋‹ˆ๋‹ค. Lightning Grasp๋Š” ์ด ๋‘ ๋ชฉํ‘œ๋ฅผ ๋ชจ๋‘ ๋‹ฌ์„ฑํ•˜๋ฉฐ, ๋กœ๋ด‡ ์กฐ์ž‘ ์—ฐ๊ตฌ์— ์ƒˆ๋กœ์šด ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

2. ๊ธฐ์กด ์ ‘๊ทผ ๋ฐฉ์‹๊ณผ์˜ ์ฐจ๋ณ„์ 

๊ธฐ์กด ์ ˆ์ฐจ์  ๊ทธ๋ฆฝ ๊ณ„ํš ๊ธฐ๋ฒ•๋“ค์€ ์ฃผ๋กœ ์—๋„ˆ์ง€ ํ•จ์ˆ˜๋‚˜ ํœด๋ฆฌ์Šคํ‹ฑ ํƒ์ƒ‰์— ์˜์กดํ–ˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋ฌผ์ฒด ํ‘œ๋ฉด ์—๋„ˆ์ง€(๋ณดํ†ต ์กฐํ™” ์—๋„ˆ์ง€)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์†๊ฐ€๋ฝ์ด ๋ฌผ์ฒด ํ‘œ๋ฉด์— ๋ฐ€์ฐฉ๋˜๋„๋ก ์œ ๋„ํ•˜๋Š” ๋ฐฉ๋ฒ•๋“ค์ด ์ผ๋ฐ˜์ ์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด๋Ÿฐ ๋ฐฉ๋ฒ•๋“ค์€ ๊ณ„์‚ฐ๋Ÿ‰์ด ๋งŽ๊ณ , ์—ฌ๋Ÿฌ ์—๋„ˆ์ง€ ํ•ญ ๊ฐ„์˜ ๊ท ํ˜•์„ ๋งž์ถ”๋Š” ํŠœ๋‹์ด ์–ด๋ ค์šฐ๋ฉฐ, ํŠน์ • ์ดˆ๊ธฐ ์กฐ๊ฑด์— ๋ฏผ๊ฐํ•ฉ๋‹ˆ๋‹ค.

Lightning Grasp์˜ ์ฐจ๋ณ„์ ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:
- ๊ณ ์† ์„ฑ๋Šฅ: ์ œ์•ˆ๋œ Contact Field์™€ GPU ๊ธฐ๋ฐ˜ ํƒ์ƒ‰ ๋•๋ถ„์—, ๋Œ€๊ทœ๋ชจ ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜์—ฌ ๊ธฐ์กด ๋Œ€๋น„ ์ˆ˜์‹ญ~์ˆ˜๋ฐฑ๋ฐฐ ๋น ๋ฆ…๋‹ˆ๋‹ค. ๋…ผ๋ฌธ์—์„œ ์ˆ˜์ฒœ ๊ฐœ์˜ ๊ทธ๋ฆฝ์„ ์ˆ˜์ดˆ ๋‚ด์— ์ƒ์„ฑํ•˜๋ฉฐ, ์ˆ˜๋ฐฑ FPS ์ด์ƒ์˜ ์ฒ˜๋ฆฌ๋Ÿ‰์„ ์–ป์—ˆ์Šต๋‹ˆ๋‹ค(์˜ˆ: A100 GPU ๊ธฐ์ค€ Table 1 ์ฐธ๊ณ ).
- ํŒŒ๋ผ๋ฏธํ„ฐ ํŠœ๋‹ ๋ถˆํ•„์š”: ์ˆ˜๋™์œผ๋กœ ๊ทธ๋ฆฝ ํ…œํ”Œ๋ฆฟ์ด๋‚˜ ์—๋„ˆ์ง€ ํ•จ์ˆ˜ ๊ฐ€์ค‘์น˜๋ฅผ ์„ค์ •ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. Lightning Grasp๋Š” ์‚ฌ์ „ ์ •์˜๋œ ์ˆ˜์‹์ด๋‚˜ ํ•™์Šต ๋ฐ์ดํ„ฐ ์—†์ด, ์ ‘์ด‰ ๊ณต๊ฐ„(Contact Field) ๋งŒ์œผ๋กœ ํƒ์ƒ‰์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ์ €์ž๋“ค์€ โ€œ์ˆ˜์ฒœ ๋ฐฐ ๋น ๋ฅธ ์„ฑ๋Šฅโ€๊ณผ ํ•จ๊ป˜ โ€œ์—๋„ˆ์ง€ ํ•จ์ˆ˜ ํŠœ๋‹์ด๋‚˜ ์ดˆ๊ธฐ ๊ฐ€์ • ์—†์ด ์ž‘๋™โ€ํ•œ๋‹ค๊ณ  ๊ฐ•์กฐํ•ฉ๋‹ˆ๋‹ค.
- ๋‹ค์–‘์„ฑ: ์—ฌ๋Ÿฌ ์† ๋ชจ๋ธ(Allegro, Shadow, LEAP, DClaw ๋“ฑ)์„ ์ง€์›ํ•˜๋ฉฐ, ํ˜•ํƒœ๊ฐ€ ๋ณต์žกํ•˜๊ณ  ๋น„๋Œ€์นญ์ ์ธ ๋ฌผ์ฒด(์ปต, ๊ฐ€์œ„, ์Šคํฌ๋ฃจ๋“œ๋ผ์ด๋ฒ„ ๋“ฑ)์—์„œ๋„ ์œ ํšจํ•œ ๊ทธ๋ฆฝ์„ ๋‹ค์–‘ํ•˜๊ฒŒ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Figure 1์—์„œ ๋ณด๋“ฏ, Lightning Grasp๋Š” ๋‹ค๋ฅธ SOTA ๊ธฐ๋ฒ•๋“ค๋ณด๋‹ค ๋” ๋‹ค์–‘ํ•œ ๊ทธ๋ฆฝ์„ ๋น ๋ฅด๊ฒŒ ์ƒ์‚ฐํ•ฉ๋‹ˆ๋‹ค.
- Contact Field ํ™œ์šฉ: ๊ธฐ์กด ๋ฐฉ๋ฒ•๋“ค์€ ์ ‘์ด‰ ๊ฐ€๋Šฅ์„ฑ์„ ํƒ์ƒ‰ ๋‹จ๊ณ„๋งˆ๋‹ค ์ถฉ๋Œ ๊ฒ€์‚ฌ๋กœ ์ฒ˜๋ฆฌํ•˜์ง€๋งŒ, Lightning Grasp๋Š” Contact Field๋ผ๋Š” ์ •์  ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ํ†ตํ•ด ๋ชจ๋“  ๊ฐ€๋Šฅํ•œ ์†-๋ฌผ์ฒด ์ ‘์ด‰์„ ๋ฏธ๋ฆฌ ๊ณ„์‚ฐํ•ด ๋‘ก๋‹ˆ๋‹ค. ์ด๋กœ์จ ํƒ์ƒ‰ ๊ณผ์ •์—์„œ ๋ณต์žกํ•œ ์ถฉ๋Œ ๊ฒ€์‚ฌ๋ฅผ ๋ฐ˜๋ณตํ•  ํ•„์š”๊ฐ€ ์—†์–ด์ง‘๋‹ˆ๋‹ค.
- ๊ฐœ๋ฐฉํ˜• ๋ฐ ๋ฒ”์šฉ์„ฑ: ๊ฐ์ฒด์˜ ์œค๊ณฝ์ด๋‚˜ ์†์˜ ๊ตฌ์„ฑ์— ์ƒ๊ด€์—†์ด ๊ตฌ๋™๋˜๋„๋ก ์„ค๊ณ„๋˜์–ด, ๋ณ‘๋ ฌ ์กฐ์ž‰ ๊ทธ๋ฆฌํผ๋ฅผ ๋„˜์–ด ์ธ๊ฐ„ํ˜• ๋‹ค์ง€์ฒด ์† ์—ฐ๊ตฌ๋กœ ํ™•์žฅ๋ฉ๋‹ˆ๋‹ค. ์•„์˜ˆ ์˜คํ”ˆ์†Œ์Šค๋กœ ๊ณต๊ฐœ๋˜์–ด ์žˆ์–ด ๋ˆ„๊ตฌ๋‚˜ ๋‹ค์–‘ํ•œ ์† ํ˜•์ƒ๊ณผ ๋ฌผ์ฒด์— ์ ์šฉํ•ด ๋ณผ ์ˆ˜ ์žˆ๋„๋ก ํ–ˆ์Šต๋‹ˆ๋‹ค.

์š”์•ฝํ•˜์ž๋ฉด, Lightning Grasp๋Š” ๊ธฐ์กด์˜ ๋”ฅ๋Ÿฌ๋‹ ๊ธฐ๋ฐ˜ ํ˜น์€ ์ „ํ†ต์ ์ธ ์ตœ์ ํ™” ๊ธฐ๋ฐ˜ ๊ทธ๋ฆฝ ๊ณ„ํš๊ณผ ๋น„๊ตํ•˜์—ฌ ํ›จ์”ฌ ๋น ๋ฅด๊ณ  ์•ˆ์ •์ ์œผ๋กœ ๋™์ž‘ํ•˜๋ฉฐ, ํŒŒ๋ผ๋ฏธํ„ฐ ํŠœ๋‹ ๋ถ€๋‹ด์„ ์ œ๊ฑฐํ•œ ๊ฒƒ์ด ํ•ต์‹ฌ ์ฐจ๋ณ„์ ์ž…๋‹ˆ๋‹ค.

3. Contact Field์™€ Procedural Grasp ์ •์˜ ๋ฐ ์ˆ˜ํ•™์  ๋ฐฐ๊ฒฝ

์ด ์ ˆ์—์„œ๋Š” Lightning Grasp์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์ฃผ์š” ๊ฐœ๋…์ธ Contact Field์™€ Procedural Grasp(์ ˆ์ฐจ์  ๊ทธ๋ฆฝ)์˜ ์ •์˜๋ฅผ ์‚ดํŽด๋ณด๊ณ , ํ•„์š”ํ•œ ์ˆ˜ํ•™์  ๋ฐฐ๊ฒฝ์„ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

3.1 Grasp ์ •์˜ ๋ฐ ์œ ํšจ์„ฑ ๊ธฐ์ค€

๋…ผ๋ฌธ์—์„œ ๊ทธ๋ฆฝ(grasp)์€ (T, \theta)์˜ ํŠœํ”Œ๋กœ ์ •์˜๋ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ T \in SE(3)๋Š” ๋ฌผ์ฒด์˜ ์ž์„ธ(์›”๋“œ ์ขŒํ‘œ๊ณ„ ๋Œ€๋น„ ๋ฌผ์ฒด์˜ ์œ„์น˜ ๋ฐ ํšŒ์ „), \theta \in \mathbb{R}^d๋Š” ์†์˜ ๊ด€์ ˆ ๋ณ€์ˆ˜(์˜ˆ: ๋ชจํ„ฐ ๊ฐ๋„)๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์ด๋•Œ ์†์˜ ๊ธฐ๊ตฌํ•™์  ๋ชจ๋ธ(๋งํฌ ๋ฉ”์‹œ์™€ ๊ด€์ ˆ ๊ตฌ์กฐ)๊ณผ ๋ฌผ์ฒด์˜ ๋ฉ”์‹œ ๋ชจ๋ธ์ด ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค.

์œ ํšจํ•œ ๊ทธ๋ฆฝ์ด ๋˜๊ธฐ ์œ„ํ•œ ์กฐ๊ฑด์€ ํฌ๊ฒŒ ๋‘ ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค:

  1. ๋น„๊ด€ํ†ต์„ฑ(No Penetration): ์†๊ณผ ๋ฌผ์ฒด์˜ ๋ฉ”์‰ฌ๊ฐ€ ์ค‘์ฒฉ๋˜์ง€ ์•Š์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์† ๋ฉ”์‰ฌ๊ฐ€ ๊ตฌ์„ฑํ•˜๋Š” ํ‘œ๋ฉด๊ณผ ๋ฌผ์ฒด ๋ฉ”์‰ฌ์˜ ๊ฒฝ๊ณ„๊ฐ€ ๊ฒน์น˜์ง€ ์•Š์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์‹คํ—˜์  ์—ฌ์œ ๋ฅผ ์œ„ํ•ด ์•ฝ 2mm ์ •๋„์˜ ๊ด€ํ†ต ํ—ˆ์šฉ ์˜ค์ฐจ๋ฅผ ๋‘ก๋‹ˆ๋‹ค.
  2. ๊ทธ๋ฆฝ ์•ˆ์ •์„ฑ(Grasp Stability): ์†๊ฐ€๋ฝ ์ ‘์ด‰์ ๋“ค์ด ์™ธ๋ ฅ์— ๋Œ€ํ•ด ๋ฌผ์ฒด๋ฅผ ์žก์•„๋‘˜ ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด Wrench Metric(์ž์ž„๋น„ํ‹€๋ฆผ) ๊ธฐ๋ฐ˜์˜ ๊ธฐ์ค€์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋ณธ ๋…ผ๋ฌธ์—์„œ๋Š” self-balancing wrench optimization์„ ๋„์ž…ํ•˜์—ฌ, ์ ‘์ด‰ ์ง€์ ์— ์ž‘์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํž˜๋“ค์˜ ์กฐํ•ฉ์ด ๋ฌผ์ฒด์— ํฐ ์ž”๋ฅ˜ ํž˜๊ณผ ๋ชจ๋ฉ˜ํŠธ๋ฅผ ์ฃผ์ง€ ์•Š๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์ ‘์ด‰์  i์—์„œ์˜ ์ •์ƒ(force) f_i๊ฐ€ ์กด์žฌํ•˜์—ฌ ๋‹ค์Œ ๋ฌธ์ œ(Frictionless Self-balancing Wrench Optimization, FSWO)๋ฅผ ๋งŒ์กฑํ•˜๋ฉด ์•ˆ์ •ํ•˜๋‹ค๊ณ  ๋ด…๋‹ˆ๋‹ค:

\min_{\{f_i\}} \Big\| \sum_i f_i \mathbf{n}_i \Big\|^2 + \Big\|\sum_i f_i (\mathbf{r}_i \times \mathbf{n}_i) \Big\|^2, \quad f_i \ge 0

์—ฌ๊ธฐ์„œ \mathbf{n}_{i}๋Š” ์ ‘์ด‰์  i์—์„œ์˜ ํ‘œ๋ฉด ๋ฒ•์„  ๋ฒกํ„ฐ, \mathbf{r}_{i}๋Š” ์„ ํƒ๋œ ๊ธฐ์ค€์ (์˜ˆ: ๋ฌผ์ฒด ์ค‘์‹ฌ) ๋Œ€๋น„ ์ ‘์ด‰์  i์˜ ์œ„์น˜ ๋ฒกํ„ฐ์ž…๋‹ˆ๋‹ค. ์‹์˜ ์ฒซ ํ•ญ์€ ๋ชจ๋“  ์ ‘์ด‰ ํž˜์˜ ํ•ฉ(์ด ํž˜)์ด 0์— ๊ฐ€๊นŒ์šด์ง€๋ฅผ, ๋‘ ๋ฒˆ์งธ ํ•ญ์€ ๋ชจ๋“  ํž˜ ๋ชจ๋ฉ˜ํŠธ์˜ ํ•ฉ(์ด ๋ชจ๋ฉ˜ํŠธ)์ด ์ž‘์€์ง€๋ฅผ ํ‰๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ ๋งˆ์ฐฐ์„ ๊ณ ๋ คํ•˜๋ฉด ๋™์ผํ•œ ๊ตฌ์กฐ์— ๋งˆ์ฐฐ ๊ณ„์ˆ˜๋ฅผ ํฌํ•จํ•˜์—ฌ ํ™•์žฅํ•œ (GSWO) ๋ฌธ์ œ๋ฅผ ํ’€์–ด๋„ ๋ฉ๋‹ˆ๋‹ค. ์ด ๋‘ ๊ฐ€์ง€ ์ตœ์ ํ™” ๋ฌธ์ œ๋Š” ๋ฌด์ฐจ๋ณ„ ํƒ์ƒ‰์ด ํž˜๋“ค๋ฏ€๋กœ, Lightning Grasp์—์„œ๋Š” ์–‘์ž ๋ชจ๋‘ ์ œ์•ฝ์กฐ๊ฑด ๋งŒ์กฑ์„ฑ์„ ์ฒดํฌํ•˜๋Š” ์šฉ๋„๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์•ˆ์ •์„ฑ ํŒ๋‹จ ๊ธฐ์ค€์€ ๊ธฐ์กด ์—ฐ๊ตฌ๋“ค๊ณผ ์œ ์‚ฌํ•˜๊ฒŒ โ€œ์–ด๋–ค ์†๊ฐ€๋ฝ ํž˜ ์กฐํ•ฉ์œผ๋กœ๋„ ์ž”๋ฅ˜ ํž˜ ๋ฐ ๋ชจ๋ฉ˜ํŠธ๊ฐ€ ์ž„๊ณ„๊ฐ’ ์ดํ•˜๋กœ ๋–จ์–ด์ง€๋„๋ก ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹คโ€๋Š” ํ˜•ํƒœ๋กœ ๊ตฌํ˜„๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

3.2 Procedural Grasp(์ ˆ์ฐจ์  ๊ทธ๋ฆฝ)

โ€œProcedural Graspโ€๋Š” ๊ธฐ๊ณ„์ /ํ•ด์„์  ๋ฐฉ๋ฒ•์œผ๋กœ ๊ทธ๋ฆฝ์„ ํ•ฉ์„ฑํ•˜๋Š” ์ ‘๊ทผ์„ ๊ฐ€๋ฆฌํ‚ค๋ฉฐ, ํ•™์Šต ๊ธฐ๋ฐ˜์ด ์•„๋‹ˆ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์  ํƒ์ƒ‰์— ์˜์กดํ•ฉ๋‹ˆ๋‹ค. Lightning Grasp๋„ ์ ˆ์ฐจ์ (analytical) ๋ฐฉ์‹์œผ๋กœ, ๊ธฐ์กด์— ์‚ฌ๋žŒ์ด ์„ค๊ณ„ํ•œ ์—๋„ˆ์ง€ ํ•จ์ˆ˜๋‚˜ ํžˆ๋ฆฌ์Šคํ‹ฑ ์—†์ด ์†๊ณผ ๋ฌผ์ฒด ๋ชจ๋ธ๋งŒ์œผ๋กœ ๊ทธ๋ฆฝ์„ ์ฐพ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ํ›ˆ๋ จ ๋ฐ์ดํ„ฐ์…‹์ด๋‚˜ ์‹ ๊ฒฝ๋ง ๊ตฌ์กฐ๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์œผ๋ฉฐ, ์™„์ „ํ•œ ๋น„์ง€๋„(unsupervised) ๋ฐฉ์‹์œผ๋กœ ๊ทธ๋ฆฝ ํ›„๋ณด๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ดํ›„ ํ•„์š”์— ๋”ฐ๋ผ ๋ชจ์…˜ ๊ณ„ํš ๋˜๋Š” ๊ฐ•ํ™”ํ•™์Šต์— ์ด ๋ฐ์ดํ„ฐ๋ฅผ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์‹œ ๋งํ•ด, Lightning Grasp๋Š” ์ˆœ์ˆ˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ๊ทธ๋ฆฝ์„ ๊ณ„์‚ฐํ•˜๋Š” Procedural Grasp Synthesis์— ์†ํ•ฉ๋‹ˆ๋‹ค.

3.3 Contact Field ์ •์˜

๋…ผ๋ฌธ์˜ ํ•ต์‹ฌ ๊ฐœ๋…์ธ Contact Field๋Š” โ€œ์†์ด ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ์ ‘์ด‰ ๊ฐ€๋Šฅ์„ฑโ€์„ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ์šฐ์„  ์  ๊ธฐ๋ฐ˜ Contact Field์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ์† ๋ชจ๋ธ์˜ ํ‘œ๋ฉด์— ์žˆ๋Š” ํ•œ ์  p์™€ ๊ทธ ์ ์˜ ๋ฒ•์„  n์„ ๊ณ ๋ คํ•  ๋•Œ, ํ•ด๋‹น ์ ์€ ๊ด€์ ˆ ๊ตฌ์„ฑ q \in \mathcal{Q}์— ๋”ฐ๋ผ ์œ„์น˜์™€ ๋ฐฉํ–ฅ์ด ๋ณ€ํ•ฉ๋‹ˆ๋‹ค. ์  ๊ธฐ๋ฐ˜ Contact Field F(p,n)๋Š” ๋ชจ๋“  ๊ฐ€๋Šฅํ•œ q์—์„œ ์ด ์ ์ด ์ฐจ์ง€ํ•  ์ˆ˜ ์žˆ๋Š” ์œ„์น˜-๋ฒ•์„  ์Œ์˜ ์ง‘ํ•ฉ์ž…๋‹ˆ๋‹ค. ์ˆ˜์‹์œผ๋กœ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ‘œํ˜„๋ฉ๋‹ˆ๋‹ค:

F(p,n)\mspace{6mu} = \mspace{6mu}\bigcup_{q \in \mathcal{Q}}\left( \, T(q)\,(p),\, T(q)\,(n) \right)\quad,

์—ฌ๊ธฐ์„œ T(q)๋Š” ๊ด€์ ˆ๊ฐ q์—์„œ ํ•ด๋‹น ์ ์˜ ์œ„์น˜์™€ ๋ฒ•์„ ์„ ๋ณ€ํ™˜์‹œํ‚ค๋Š” ํฌ์›Œ๋“œ ๊ธฐ๊ตฌํ•™ ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค. ์ฆ‰, F(p,n)๋Š” ๊ด€์ ˆ์„ ์›€์ง์—ฌ๊ฐ€๋ฉฐ ํ•ด๋‹น ์ ์ด ์ฐ์–ด๋‚ผ ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  6์ฐจ์› ๋ฒกํ„ฐ (์œ„์น˜+๋ฒ•์„ )์˜ ๋ชจ์Œ์ž…๋‹ˆ๋‹ค.

์† ์ „์ฒด์˜ Contact Field๋Š” ์† ํ‘œ๋ฉด์˜ ๋ชจ๋“  ์ ์˜ Contact Field์˜ ํ•ฉ์ง‘ํ•ฉ์œผ๋กœ ์ •์˜๋ฉ๋‹ˆ๋‹ค. ์† ๋ชจ๋ธ H์— ๋Œ€ํ•œ Contact Field F(H)๋Š” ์†์„ ์ด๋ฃจ๋Š” ๋ชจ๋“  ๋งํฌ์˜ ๊ฒฝ๊ณ„(\partial H)์— ์žˆ๋Š” ์  p_{i}๋“ค์˜ Contact Field๋ฅผ ํ•ฉ์นœ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ฐ„๋žตํžˆ ํ‘œํ˜„ํ•˜๋ฉด:

F(H) = \bigcup_{p_{i} \in \partial H}F\left( p_{i},n_{i} \right),

์—ฌ๊ธฐ์„œ \partial H๋Š” ์† ํ‘œ๋ฉด์˜ ๋ชจ๋“  ์ , n_{i}๋Š” ๊ทธ ์ ์˜ ๋ฒ•์„ ์ž…๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ F(H)๋Š” ์†์˜ ์–ด๋А ๋ถ€๋ถ„์ด๋“  ์–ด๋А ์ž์„ธ์—์„œ๋“  ๋‹ฟ์„ ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ๊ณต๊ฐ„์ƒ์˜ ์ ‘์ด‰ ์œ„์น˜์™€ ๋ฒ•์„ ์„ ๋‹ด์€ ๊ฑฐ๋Œ€ํ•œ ๋ฒกํ„ฐ์žฅ์˜ ์ง‘ํ•ฉ์ด ๋ฉ๋‹ˆ๋‹ค.

์ด Contact Field๋ฅผ ๋ฌผ์ฒด ํ‘œ๋ฉด๊ณผ ๊ต์ง‘ํ•ฉํ•˜๋ฉด, Contact Domain(์ ‘์ด‰ ์˜์—ญ)์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, ์†์ด ๋ฌผ์ฒด ํŠน์ • ๋ถ€์œ„์— ์ ‘์ด‰ํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ์ง€์ ์˜ ๋ชจ์Œ์ด Contact Domain์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ํƒ์ƒ‰ ๊ณผ์ •์—์„œ ์‹ค์ œ๋กœ ๋ฌผ์ฒด ํ‘œ๋ฉด ์œ„์—์„œ ์†๊ฐ€๋ฝ์ด ์œ„์น˜ํ•  ์ˆ˜ ์žˆ๋Š” โ€œ๋„๋ฉ”์ธโ€์„ ๋ฏธ๋ฆฌ ํŒŒ์•…ํ•ด ๋‘˜ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด Contact Field(๊ฒ€์€ ํ™”์‚ดํ‘œ)์™€ ๋ฌผ์ฒด ๋ฉ”์‹œ๋ฅผ ๊ฒน์ณ ๋ณด๋ฉด, ๊ต์ง‘ํ•ฉ ๋ถ€๋ถ„์ด ๊ตฌ์ฒด์ ์œผ๋กœ ์†๊ฐ€๋ฝ์ด ๋‹ฟ์„ ์ˆ˜ ์žˆ๋Š” ๋ฌผ์ฒด ๋ฉด์˜ ์˜์—ญ(ํŒŒ๋ž€ ๋ถ€๋ถ„)์ž„์„ ์ง๊ด€์ ์œผ๋กœ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Contact Field์˜ ์ˆ˜ํ•™์  ์ •์˜๋ฅผ ์š”์•ฝํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

  • ์ •์˜ 4.1 (์  ๊ธฐ๋ฐ˜ Contact Field): ์  (p,n)์˜ Contact Field F(p,n)๋Š” ๋ชจ๋“  ๊ด€์ ˆ ๊ตฌ์„ฑ q์— ๋Œ€ํ•ด ๋ณ€ํ™˜๋œ ์œ„์น˜์™€ ๋ฒ•์„ ์˜ ์ง‘ํ•ฉ.
  • ์ •์˜ 4.2 (์†์˜ Contact Field): ์† H์˜ Contact Field F(H)๋Š” ์† ํ‘œ๋ฉด \partial H์˜ ๋ชจ๋“  ์ ๋“ค์˜ Contact Field์˜ ํ•ฉ์ง‘ํ•ฉ.

์—ฌ๊ธฐ์„œ Contact Field๋Š” 6์ฐจ์› ๊ธฐํ•˜ํ•™ ๊ฐ์ฒด๋กœ ์ทจ๊ธ‰๋˜๋ฉฐ(Fig.3 ์ฐธ์กฐ), ์ด๋ฅผ Bounding Volume Hierarchy(BVH)๋กœ ํ‘œํ˜„ํ•˜์—ฌ ํƒ์ƒ‰ ์†๋„๋ฅผ ๋†’์ž…๋‹ˆ๋‹ค. ์ฆ‰, ์† ํ‘œ๋ฉด์„ ์ž‘์€ ํŒจ์น˜๋กœ ๋‚˜๋ˆˆ ๋’ค ๊ฐ ํŒจ์น˜์— ๋Œ€ํ•ด ๋ฌด์ž‘์œ„ ๊ด€์ ˆ ์ƒ˜ํ”Œ๋ง์œผ๋กœ ์ถ”์ถœ๋œ Contact Field ๋ฒกํ„ฐ๋“ค์„ ์ €์žฅํ•˜๊ณ , ์ด๋ฅผ BVH๋กœ ๊ตฌ์„ฑํ•˜์—ฌ ๋น ๋ฅธ ์ถฉ๋Œ ์ฟผ๋ฆฌ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

์ด์™€ ๊ฐ™์€ Contact Field ์ •์˜์™€ ๊ธฐ๋ฒ•์„ ํ†ตํ•ด Lightning Grasp๋Š” ์†-๋ฌผ์ฒด ์ ‘์ด‰ ๊ณ„์‚ฐ์„ ๋‹จ์ˆœํ•œ ์ถฉ๋ŒํŒ์ • ๋ฌธ์ œ๋กœ ๋ณ€ํ™˜ํ•˜๊ณ , ๋ณต์žกํ•œ ๊ธฐํ•˜ํ•™ ๊ณ„์‚ฐ ์—†์ด๋„ ์ „์—ญ์ ์ธ ๊ทธ๋ฆฝ ํƒ์ƒ‰์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

4. Lightning Grasp์˜ ์ „์ฒด ์•„ํ‚คํ…์ฒ˜์™€ ํ•ต์‹ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜

Lightning Grasp๋Š” ๊ทธ๋ฆฝ ํƒ์ƒ‰์„ ๋‹จ๊ณ„๋ณ„๋กœ ์ˆ˜ํ–‰ํ•˜๋Š” ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง‘๋‹ˆ๋‹ค. ์ „์ฒด ํ๋ฆ„์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค (๊ทธ๋ฆผ 5 ์ฐธ์กฐ):

  • ์ž…๋ ฅ: ๋กœ๋ด‡ ์† ๋ชจ๋ธ(๊ด€์ ˆ ๊ตฌ์กฐ์™€ ๋ฉ”์‹œ)๊ณผ ๋ฌผ์ฒด ๋ชจ๋ธ(๋ฉ”์‹œ)์„ ์ž…๋ ฅ์œผ๋กœ ๋ฐ›์Šต๋‹ˆ๋‹ค. ์ด ๋‘ ๋ชจ๋ธ์€ ๋Œ€์‘ํ•˜๋Š” ๊ฐ€์šฐ์Šค ์ขŒํ‘œ๊ณ„์— ํ‘œํ˜„๋ฉ๋‹ˆ๋‹ค.

  • 1) ๋ฌผ์ฒด ์ „์ฒ˜๋ฆฌ(Object Preprocessing): ๋ฌผ์ฒด ๋ฉ”์‹œ์˜ ์˜ค๋ชฉ(concave) ์˜์—ญ์ด๋‚˜ ์†๊ณผ ๋ฐ€์ฐฉ ์‹œ ๊ด€ํ†ต์ด ์‰ฌ์šด ์ง€์ ์„ ์ œ๊ฑฐํ•ด ๋‘ก๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์•„์ฃผ ์˜ค๋ชฉํ•œ ๊ตฌ๋ฉ ์˜์—ญ์€ ํ”ผํ•˜๋„๋ก ์ƒ˜ํ”Œ ํฌ์ธํŠธ์—์„œ ๋ฏธ๋ฆฌ ์ œ์™ธํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๊ทธ๋ฆฝ ๊ฒ€์ƒ‰ ์ค‘ ๋ถˆํ•„์š”ํ•œ ๊ด€ํ†ต ๊ฒ€์‚ฌ๋ฅผ ์ค„์—ฌ ์„ฑ๋Šฅ์„ ๋†’์ด๊ธฐ ์œ„ํ•จ์ž…๋‹ˆ๋‹ค.

  • 2) ๋ฌผ์ฒด ๋ฐฐ์น˜(Object Placement): ๊ทธ๋ฆฝ ํƒ์ƒ‰ ์‹œ์ž‘ ๋‹จ๊ณ„์—์„œ ๋ฌผ์ฒด๋ฅผ ์†๋ฐ”๋‹ฅ ์œ„ ์–ด๋”˜๊ฐ€์— ๋ฐฐ์น˜ํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ โ€œ๋ฌผ์ฒด๊ฐ€ ์†๋ฐ”๋‹ฅ ์œ„์— ๋– ์žˆ๊ธฐ๋งŒ ํ•˜๋ฉดโ€ ๊ทธ๋ฆฝ์ด ๊ฐ€๋Šฅํ•˜๋ฏ€๋กœ, ๋žœ๋ค ๋ฐฐ์น˜๋‚˜ ์‚ฌ์ „ ์ •์˜๋œ ์˜์—ญ(์˜ˆ: ์†๋ฐ”๋‹ฅ ์œ„์˜ ์ƒ์ž ์˜์—ญ)์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋…ผ๋ฌธ์—์„œ๋Š” ๋‘ ๊ฐ€์ง€ ์ „๋žต์„ ์ œ์•ˆํ•ฉ๋‹ˆ๋‹ค. ์ฒซ์งธ, ๋ฌด์ž‘์œ„ ๋ฐฐ์น˜(Exhaustive)๋Š” Contact Field์—์„œ ๋ฌด์ž‘์œ„ ๋ฒกํ„ฐ๋ฅผ ์„ ํƒํ•˜๊ณ , ๋ฌผ์ฒด ํ‘œ๋ฉด์˜ ๋žœ๋ค ์ ๊ณผ ์ •๋ ฌ์‹œ์ผœ ๋ฐฐ์น˜ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ํฌ๊ท€ํ•œ ๊ทธ๋ฆฝ์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์‹คํŒจ์œจ๋„ ๋†’์Šต๋‹ˆ๋‹ค. ๋‘˜์งธ, ์บ๋…ธ๋‹ˆ์ปฌ ๋ฐฐ์น˜(Canonical)๋Š” ์†๋ฐ”๋‹ฅ ์œ„ ํŠน์ • ์˜์—ญ(์˜ˆ: ๊ฐ€์ƒ์˜ ์ƒ์ž) ๋‚ด์— ๋ฌผ์ฒด๋ฅผ ์˜ฌ๋ฆฌ๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ, ์•ˆ์ •์ ์ด๊ณ  ๋น ๋ฅธ ๊ทธ๋ฆฝ์„ ๋งŽ์ด ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜, ํŒŒ์›Œ ๊ทธ๋ฆฝ(power grasp)์„ ์œ„ํ•ด ๋ฌผ์ฒด๋ฅผ ์ •์  ๋งํฌ(์˜ˆ: ์†๋ฐ”๋‹ฅ)์™€ ๋‹ฟ๊ฒŒ ๋ฐฐ์น˜ํ•œ ๋’ค, ์นจํˆฌ๊ฐ€ ์ผ์–ด๋‚˜์ง€ ์•Š๋Š” ์œ ํšจ ๋ฐฐ์น˜๋งŒ ๋‹ค์Œ ๋‹จ๊ณ„๋กœ ๋„˜๊ธฐ๋„๋ก ํ•„ํ„ฐ๋งํ•ฉ๋‹ˆ๋‹ค.

  • 3) Contact Domain ์ƒ์„ฑ(Contact Domain Generation): ๋ฌผ์ฒด ์ž์„ธ๊ฐ€ ์ •ํ•ด์ง€๋ฉด Contact Field๋ฅผ ์ด์šฉํ•ด ๊ฐ ์†๊ฐ€๋ฝ์˜ ์ ‘์ด‰ ๋„๋ฉ”์ธ(Contact Domain)์„ ์ถ”์ถœํ•ฉ๋‹ˆ๋‹ค. ์†๊ฐ€๋ฝ๋งˆ๋‹ค ๋…๋ฆฝ๋œ ๋„๋ฉ”์ธ์„ ๋ฝ‘์•„์•ผ ํ•˜๋ฏ€๋กœ, ๋กœ๋ด‡ ์†์˜ ๊ธฐ๊ตฌํ•™ ํŠธ๋ฆฌ์—์„œ ์ •์  ๋งํฌ(ํ•ธ๋“ค)์˜ ๋…๋ฆฝ์„ฑ์„ ๊ณ ๋ คํ•˜์—ฌ ์ ‘์ด‰ ๋ฒกํ„ฐ๋ฅผ ๊ทธ๋ฃนํ™”ํ•ฉ๋‹ˆ๋‹ค. ๊ตฌ์ฒด์ ์œผ๋กœ, ์†์˜ ๊ด€์ ˆ ๊ตฌ์กฐ์—์„œ ์„œ๋กœ ๋‹ค๋ฅธ ๋ถ€๋ถ„์— ์œ„์น˜ํ•œ ์†๊ฐ€๋ฝ๋“ค์€ ์„œ๋กœ ๋‹ค๋ฅธ ์ ‘์ด‰ ๋„๋ฉ”์ธ์„ ํ˜•์„ฑํ•˜๋„๋ก ์˜์กด์„ฑ ๊ทธ๋ฃน(dependency groups)์„ ์ฐพ๊ณ , ๊ฐ™์€ ๊ทธ๋ฃน ๋‚ด ๋„๋ฉ”์ธ์€ ํ•˜๋‚˜๋กœ ํ•ฉ์นฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ์–ป์–ด์ง„ Contact Domain(๋ฌผ์ฒด ํ‘œ๋ฉด์ƒ์˜ ์—ฌ๋Ÿฌ ์ง€์ ์˜ ์˜์—ญ)์€ ๋‹ค์Œ ๋‹จ๊ณ„์ธ ์ ‘์  ์ตœ์ ํ™”์— ์ž…๋ ฅ์œผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ๊ฐ ๋„๋ฉ”์ธ์€ ์„œ๋กœ ๋‹ค๋ฅธ ์†๊ฐ€๋ฝ์ด ๋‹ด๋‹นํ•  ๋…๋ฆฝ ์ ‘์ด‰ ๊ฐ€๋Šฅ์˜์—ญ์ด ๋ฉ๋‹ˆ๋‹ค.

  • 4) ์ ‘์ด‰์  ์ตœ์ ํ™”(Contact Point Optimization): ๊ฐ Contact Domain์—์„œ ํ•œ ์ ์”ฉ ๊ณจ๋ผ ๊ทธ๋ฆฝ ์•ˆ์ •๋„๋ฅผ ์ตœ๋Œ€ํ™”ํ•ฉ๋‹ˆ๋‹ค. ์ˆ˜ํ•™์ ์œผ๋กœ, ๋„๋ฉ”์ธ D_{1},\ldots,D_{M}์—์„œ ์ ‘์  c_{1},\ldots,c_{M}์„ ์„ ํƒํ•˜์—ฌ ๊ทธ๋ฆฝ ์„ฑ๋Šฅ \mathcal{Q}\left( c_{1},\ldots,c_{M} \right)์„ ์ตœ๋Œ€ํ™”ํ•˜๋Š” ์ตœ์ ํ™” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค. ์ œ์•ฝ์กฐ๊ฑด์œผ๋กœ๋Š” c_{j} \in D_{j}๊ฐ€ ๋ถ™์Šต๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋Š” ์—ฐ์†์ ์ด์ง€ ์•Š๊ณ  ์น˜๋ฐ€๋„ ๊ฒ€์‚ฌ(costly stability ๊ณ„์‚ฐ)๋ฅผ ํฌํ•จํ•˜๋ฏ€๋กœ, ๋ธ”๋ก ๋‹จ์œ„ ์˜์ด์ฐจ ์ตœ์ ํ™”(blockwise zeroth-order optimization)๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ๊ฐ ์†๊ฐ€๋ฝ ์ ‘์ ์„ ์ˆœ์ฐจ์ ์œผ๋กœ ๋žœ๋ค ํƒ์ƒ‰ํ•˜๋ฉฐ ์„ฑ๋Šฅ์„ ๊ฐœ์„ ํ•ฉ๋‹ˆ๋‹ค. ๊ตฌ์ฒด์ ์œผ๋กœ ์•Œ๊ณ ๋ฆฌ์ฆ˜ 2์—์„œ ๋ณด๋“ฏ, ์ดˆ๊ธฐ ์ ‘์ ์„ ๋ฌด์ž‘์œ„๋กœ ๋†“๊ณ  ํ•œ ์†๊ฐ€๋ฝ์”ฉ ์ฃผ๋ณ€์„ ์ƒ˜ํ”Œ๋งํ•ด ๋ณด์ •ํ•˜๋ฉด์„œ ์ˆ˜๋ ด์‹œํ‚ต๋‹ˆ๋‹ค. ๊ฐ ์ ‘์ ์€ 2์ฐจ์› ๋งค๋‹ˆํด๋“œ ํ˜•ํƒœ๋ผ ๋น ๋ฅด๊ฒŒ ์ˆ˜๋ ดํ•˜๋ฉฐ, ์ „์ฒด ํƒ์ƒ‰(๋‹ค์ˆ˜์˜ forward pass)์ด 1์ดˆ ์ด๋‚ด์— ๋๋‚  ์ •๋„๋กœ ํšจ์œจ์ ์ž…๋‹ˆ๋‹ค.

  • 5) ๊ธฐ๊ตฌํ•™ ์ตœ์ ํ™”(Kinematics Optimization): ์ ‘์ด‰์ ๋“ค์ด ์ •ํ•ด์ง€๋ฉด, ํ•ด๋‹น ์ ‘์ด‰์„ ์‹ค์ œ ์†๊ฐ€๋ฝ์˜ ํ‘œ๋ฉด ์œ„์น˜๋กœ ๋งคํ•‘ํ•˜์—ฌ ์† ๊ด€์ ˆ๊ฐ์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ตฌ์ฒด์ ์œผ๋กœ, ์„ ํƒ๋œ ๋ฌผ์ฒด ์ ‘์  c_{i}์— ๋Œ€์‘ํ•˜๋Š” ์† ํ‘œ๋ฉด์˜ ์  p_{i}๋ฅผ Contact Field์—์„œ ์—ญ์ถ”์ (reverse lookup)์œผ๋กœ ์ฐพ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ p_{i}๊ฐ€ ๋ชฉํ‘œ ์ ‘์  c_{i}์— ์ •ํ™•ํžˆ ์œ„์น˜ํ•˜๋„๋ก ์† ๊ด€์ ˆ๊ฐ \Delta\theta๋ฅผ ๋ฎ์–ด์”Œ์šฐ๋Š” IK(์—ญ๊ธฐ๊ตฌํ•™) ๋ฌธ์ œ๋ฅผ ํ‘ธ๋Š”๋ฐ, ์ด๋Š” ์ผ๋ฐ˜์ ์ธ 6D IK๊ฐ€ ์•„๋‹ˆ๋ผ ์œ„์น˜ ์ผ์น˜(position matching)์™€ ๋ฒ•์„  ์ผ์น˜(normal matching)๋ฅผ ๋ถ„๋ฆฌํ•˜์—ฌ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค. ์ฃผ์–ด์ง„ p_{i}์™€ ๋ชฉํ‘œ c_{i}, ๊ทธ๋ฆฌ๊ณ  ์ •์ƒ ๋ฐฉํ–ฅ \epsilon n_{i}์„ ๋งž์ถ”๊ธฐ ์œ„ํ•ด, ์•„๋ž˜์™€ ๊ฐ™์€ ๊ฐ์‡  ์ตœ์†Œ์ž์Šน(damped least squares) ๋ฌธ์ œ๋ฅผ ํ‘น๋‹ˆ๋‹ค:

{=html} <!-- --> - \min_{\Delta\theta}\mspace{6mu}\mspace{6mu} \parallel J_{p_{i}}\,\Delta\theta + \left( p_{i}^{*} - p_{i} \right) \parallel^{2} + \parallel J_{n_{i}}\,\Delta\theta + \left( \epsilon n_{i}^{*} - \epsilon n_{i} \right) \parallel^{2} + \lambda\, \parallel \Delta\theta \parallel^{2}, ์—ฌ๊ธฐ์„œ J_{p_{i}},J_{n_{i}}๋Š” ๊ฐ๊ฐ ์ ‘์  p_{i}์˜ ์œ„์น˜์™€ ๋ฒ•์„ ์— ๋Œ€ํ•œ ์•ผ์ฝ”๋น„์•ˆ ํ–‰๋ ฌ, p_{i}^{*},n_{i}^{*}๋Š” ๋ชฉํ‘œ ์œ„์น˜ ๋ฐ ๋ฒ•์„ , \epsilon์€ ์Šค์ผ€์ผ๋ง ๊ณ„์ˆ˜(๋ฒ•์„  ๊ธธ์ด ์กฐ์ •), \lambda๋Š” ๊ฐ์‡ ํ•ญ์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์† ๊ด€์ ˆ์„ ์—…๋ฐ์ดํŠธํ•˜๋ฉด, ์†๊ฐ€๋ฝ์ด ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๋Œ€์ƒ ์œ„์น˜/๋ฐฉํ–ฅ์œผ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค(Algorithm 2 ์ฐธ๊ณ ). ์ดˆ๊ธฐ IK ํ•ด๊ฐ€ ์ •ํ™•ํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ์—๋Š” ํ”ผ๋“œ๋ฐฑ ๋ฐ˜๋ณต(Finetuning)์„ ํ†ตํ•ด ๋ชฉํ‘œ ์ ‘์ ์„ ๋‹ค์‹œ ์† ํ‘œ๋ฉด์— ํˆฌ์˜ํ•˜๊ณ  DLS ์—…๋ฐ์ดํŠธ๋ฅผ ์—ฌ๋Ÿฌ ๋ฒˆ ๋ฐ˜๋ณตํ•˜๋ฉฐ ๋” ์ •๋ฐ€ํ•œ ์ ‘์ด‰์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.
- 6) ํ›„์ฒ˜๋ฆฌ(Postprocessing): ๋งˆ์ง€๋ง‰์œผ๋กœ, ์‹ค์ œ ๊ทธ๋ฆฝ์— ๊ด€์—ฌํ•˜์ง€ ์•Š์€ ์†๊ฐ€๋ฝ(์˜ˆ: ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ ์†๊ฐ€๋ฝ)๋“ค์˜ ๊ด€์ ˆ๊ฐ’์„ ๊ฒฐ์ •ํ•˜๊ณ , ์ถฉ๋Œ ๊ฒ€์‚ฌ๋ฅผ ํ†ตํ•ด ๊ทธ๋ฆฝ ์œ ํšจ์„ฑ์„ ์ตœ์ข… ์ ๊ฒ€ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ๋˜์ง€ ์•Š์€ ๊ด€์ ˆ์€ ์ž„์˜๋กœ ๊ฐ’์ด ๋ถ€์—ฌ๋˜๊ณ , ์†-์† ๋˜๋Š” ์†-๋ฌผ์ฒด ๊ฐ„ ์ถฉ๋Œ์ด ์žˆ๊ฑฐ๋‚˜ ์•ˆ์ •์„ฑ ๊ธฐ์ค€์„ ๋งŒ์กฑํ•˜์ง€ ๋ชปํ•˜๋Š” ๊ทธ๋ฆฝ์€ ์ œ๊ฑฐ๋ฉ๋‹ˆ๋‹ค. ์ถฉ๋Œ ๊ฒ€์‚ฌ๋Š” AABB broad-phase ํ›„ ์„ธ๋ถ€ GJK ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋“ฑ์œผ๋กœ ๋ณ‘๋ ฌ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. ํ•„์š”์‹œ, ์•ˆ์ •๋„๊ฐ€ ๋‚ฎ์€ ๊ทธ๋ฆฝ์— ๋Œ€ํ•ด ๋‚จ์€ ์†๊ฐ€๋ฝ์„ ์ด์šฉํ•ด ์ถ”๊ฐ€ ์ ‘์ด‰์ ์„ ํƒ์ƒ‰ํ•˜๋Š” ๋‹จ๊ณ„๋„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(์ผ๋ฐ˜ํ˜• Lightning Grasp์—์„œ๋Š” ํ›„์† ์ž‘์—…์œผ๋กœ ๊ณ„ํš๋จ).

๊ฐ ๋‹จ๊ณ„์—์„œ ์–ป์€ ์ค‘๊ฐ„ ๊ฒฐ๊ณผ(์˜ˆ: ๋ฌผ์ฒด ์ž์„ธ ํ›„๋ณด, ์ ‘์ด‰ ๋„๋ฉ”์ธ ๋“ฑ)๋Š” ์บ์‹œ๋˜์–ด ์ดํ›„ ๋ฐ˜๋ณต ํƒ์ƒ‰์— ์žฌ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, ํ•œ ๋ฒˆ์˜ ํƒ์ƒ‰(forward pass)์œผ๋กœ ๋ชจ๋“  ํ•ด๋ฅผ ์ฐพ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ์—ฌ๋Ÿฌ ๋ฒˆ์˜ ํŒจ์Šค๋ฅผ ํ†ตํ•ด ์ ์ง„์ ์œผ๋กœ ๋ชจ๋“  ๊ฐ€๋Šฅํ•œ ๊ทธ๋ฆฝ์„ ๋ฐœ๊ฒฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ํŠธ๋ฆฌ ํƒ์ƒ‰ ๊ตฌ์กฐ๋กœ๋„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: ๋ฃจํŠธ์—์„œ ์‹œ์ž‘ํ•˜์—ฌ ๊ฐ์ฒด ์ž์„ธโ†’์‚ฌ์šฉ ์†๊ฐ€๋ฝ ๋ฐ ์ ‘์ด‰ ๊ทธ๋ฃนโ†’์ ‘์ด‰์ โ†’์† ๊ด€์ ˆ๊ฐ์„ ์ˆœ์ฐจ์ ์œผ๋กœ ๊ฒฐ์ •ํ•ด ๋‚˜๊ฐ€๋ฉฐ ๋ฆฌํ”„์— ๋„๋‹ฌํ•˜๋ฉด ์™„์„ฑ๋œ ๊ทธ๋ฆฝ์ด ๋ฉ๋‹ˆ๋‹ค. ์ด๋•Œ ๊ฐ ๋…ธ๋“œ ํ™•์žฅ ์‹œ ์ถฉ๋Œ๊ณผ ์•ˆ์ •์„ฑ ๊ฒ€์‚ฌ๋ฅผ ์ˆ˜ํ–‰ํ•˜์—ฌ ๋ถˆํ•„์š”ํ•œ ๊ฐ€์ง€๋Š” ์ž˜๋ผ๋ƒ…๋‹ˆ๋‹ค. Lightning Grasp๋Š” ์ด์ฒ˜๋Ÿผ ๊ฐ„๋‹จํžˆ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ๋Š” ํƒ์ƒ‰ ๋ชจ๋ธ์ž„์—๋„, Contact Field์™€ ๋ณ‘๋ ฌ ์ตœ์ ํ™” ๊ธฐ์ˆ  ๋•๋ถ„์— ๋›ฐ์–ด๋‚œ ์„ฑ๋Šฅ์„ ๋‹ฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

5. ํ•™์Šต ๊ณผ์ •๊ณผ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ์…‹, ๋„คํŠธ์›Œํฌ ๊ตฌ์กฐ

Lightning Grasp๋Š” ํ•™์Šต ๊ธฐ๋ฐ˜์ด ์•„๋‹™๋‹ˆ๋‹ค. ์ฆ‰, ๋ณ„๋„์˜ ํ•™์Šต ๊ณผ์ •์ด๋‚˜ ๋ฐ์ดํ„ฐ์…‹์ด ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์™„์ „ํ•œ ๋น„์ง€๋„(unsupervised) ๋ฐฉ์‹์œผ๋กœ, ์†๊ณผ ๋ฌผ์ฒด์˜ CAD ๋ชจ๋ธ๋งŒ์„ ์ž…๋ ฅ์œผ๋กœ ๋ฐ›์•„ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค. ๋…ผ๋ฌธ์—์„œ๋„ โ€œํ›ˆ๋ จ ๋ฐ์ดํ„ฐ ์—†์ด ์‹ค์‹œ๊ฐ„ ๊ทธ๋ฆฝ ์ƒ์„ฑโ€์„ ๊ฐ•์กฐํ•˜๊ณ , ๋ชจ๋“  ๊ทธ๋ฆฝ ํ›„๋ณด๋ฅผ ์ˆœ์ˆ˜ ์ ˆ์ฐจ์ ์œผ๋กœ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋„คํŠธ์›Œํฌ ๊ตฌ์กฐ๋‚˜ ๊ฐ€์ค‘์น˜๊ฐ€ ์ „ํ˜€ ํ•„์š” ์—†์œผ๋ฉฐ, ๋ชจ๋“  ์—ฐ์‚ฐ์ด ๊ธฐํ•˜ํ•™/์ˆ˜์น˜ ๊ณ„์‚ฐ์œผ๋กœ ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค.

์ž…๋ ฅ ๋ฐ์ดํ„ฐ๋Š” ๋กœ๋ด‡ ์†๊ณผ ๋ฌผ์ฒด์˜ 3D ๋ฉ”์‰ฌ ๋ชจ๋ธ์ด ์ „๋ถ€์ž…๋‹ˆ๋‹ค. ์† ๋ชจ๋ธ์€ ๋ฉ”์‹œ ๋ฐ์ดํ„ฐ์™€ URDF(๊ด€์ ˆ ๊ตฌ์กฐ), ๋ฌผ์ฒด ๋ชจ๋ธ์€ ๋ฉ”์‰ฌ๊ฐ€ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. Contact Field ์ƒ์„ฑ ์‹œ์—๋Š” ์† ๋ฉ”์‰ฌ์— ์ž‘์€ ์ ‘์ด‰ ํŒจ์น˜๋ฅผ ๋ฌด์ž‘์œ„๋กœ ์„ ํƒํ•˜์—ฌ ๊ด€์ ˆ ์ƒ˜ํ”Œ๋ง์„ ์ˆ˜ํ–‰ํ•˜๋ฏ€๋กœ, ๊ทธ ์ž์ฒด๋กœ ์ƒ˜ํ”Œ๋ง ๋ฐ์ดํ„ฐ๊ฐ€ ๋‚ด๋ถ€์ ์œผ๋กœ ๋งŒ๋“ค์–ด์ง‘๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด๋Š” ํ•™์Šต ๋ฐ์ดํ„ฐ๊ฐ€ ์•„๋‹ˆ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์„ค์ •์— ๋”ฐ๋ฅธ ์ƒ˜ํ”Œ๋ง์ž…๋‹ˆ๋‹ค.

์š”์•ฝํ•˜๋ฉด Lightning Grasp๋Š” ์ ˆ์ฐจ์  ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ, ๋„คํŠธ์›Œํฌ๋‚˜ ํ›ˆ๋ จ ๋ฐ์ดํ„ฐ ์—†์ด๋„ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๊ธฐ์กด์˜ ๋”ฅ๋Ÿฌ๋‹ ๊ธฐ๋ฐ˜ ๊ทธ๋ฆฝ ๊ณ„ํš(์˜ˆ: DexGraspNet, DexGraspNet ๋“ฑ)์ด ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ์…‹์„ ํ•„์š”๋กœ ํ–ˆ๋˜ ๊ฒƒ๊ณผ ๋Œ€์กฐ์ ์ž…๋‹ˆ๋‹ค. ์˜คํžˆ๋ ค ์ด ์‹œ์Šคํ…œ์ด ์ƒ์„ฑํ•œ ๊ทธ๋ฆฝ ๋ฐ์ดํ„ฐ ์ž์ฒด๋ฅผ ๋‹ค๋ฅธ ํ•™์Šต ๋ชจ๋ธ์˜ ํ•™์Šต์šฉ ๋ฐ์ดํ„ฐ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์„ ๋งŒํผ ์ˆœ์ˆ˜ํ•œ ๊ธฐํ•˜ํ•™ ์ ‘๊ทผ๋ฒ•์ž…๋‹ˆ๋‹ค.

6. ์‹คํ—˜ ์„ค์ • ๋ฐ ๋น„๊ต ๋Œ€์ƒ

Lightning Grasp์˜ ์„ฑ๋Šฅ ๊ฒ€์ฆ์„ ์œ„ํ•ด ๋‹ค์–‘ํ•œ ์‹คํ—˜์„ ์ˆ˜ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. ์‹คํ—˜ ํ™˜๊ฒฝ๊ณผ ๋น„๊ต ๋Œ€์ƒ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

  • ํ…Œ์ŠคํŠธ ๋Œ€์ƒ ์† ๋ชจ๋ธ: ๋…ผ๋ฌธ์—์„œ๋Š” 4๊ฐ€์ง€ ๋กœ๋ด‡ ์†/๊ทธ๋ฆฌํผ๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. Shadow Hand (22 DOF), LEAP Hand (16 DOF), Allegro Hand (16 DOF), DClaw Gripper (9 DOF)์ž…๋‹ˆ๋‹ค. ๊ฐ ์† ๋ชจ๋ธ์€ ์˜คํ”ˆ์†Œ์Šค๋กœ ๊ณต๊ฐœ๋œ ๊ทธ๋ž˜ํ”ฝ ๋ฐ์ดํ„ฐ(๋ ˆํผ๋Ÿฐ์Šค ๋ชจ๋ธ)๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค.
  • ํ…Œ์ŠคํŠธ ๋Œ€์ƒ ๋ฌผ์ฒด: ๋‹ค์–‘ํ•œ YCB ๊ฐ์ฒด ์„ธํŠธ์™€ ์ธํ„ฐ๋„ท์—์„œ ์ˆ˜์ง‘ํ•œ ๊ณต๊ตฌ ๋ฐ ๋น„์ •ํ˜• ๋ชจ์–‘์˜ 3D ๋ชจ๋ธ๋“ค์ด ์‚ฌ์šฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์‚ฌ๊ณผ(YCB Apple), ์ปต(YCB Mug), ๊ฐ€์œ„, ์Šคํฌ๋ฃจ๋“œ๋ผ์ด๋ฒ„, ์บก์А, ๋ Œ์น˜ ๋“ฑ์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ํฌ๊ธฐ์™€ ํ˜•์ƒ์ด ๋งค์šฐ ๋‹ค๋ฅธ ๋ฌผ์ฒด๋“ค์„ ๋Œ€์ƒ์œผ๋กœ Lightning Grasp์˜ ๋ฒ”์šฉ์„ฑ์„ ํ‰๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ํ•˜๋“œ์›จ์–ด: ์ฃผ๋กœ NVIDIA A100 GPU(์•”ํŽ˜์–ด ์•„ํ‚คํ…์ฒ˜)๋ฅผ ์‚ฌ์šฉํ–ˆ์œผ๋ฉฐ, ์„ฑ๋Šฅ ๋น„๊ต๋ฅผ ์œ„ํ•ด ์˜ค๋ž˜๋œ Titan X(GTX, ํŒŒ์Šค์นผ ์•„ํ‚คํ…์ฒ˜)์—์„œ๋„ ์ธก์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์—ฐ์‚ฐ์€ GPU์—์„œ ์ˆ˜ํ–‰๋˜๋ฉฐ, PyTorch์™€ CUDA ์ปค๋„์„ ํ™œ์šฉํ•ด ํšจ์œจ์ ์œผ๋กœ ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ํ‰๊ฐ€ ์ง€ํ‘œ: ์ฃผ๋œ ์ง€ํ‘œ๋กœ ์ƒ˜ํ”Œ๋ง ์ฒ˜๋ฆฌ๋Ÿ‰(SPS, Samples Per Second)์„ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๋‹จ์œ„ ์‹œ๊ฐ„๋‹น ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ์œ ํšจ ๊ทธ๋ฆฝ ํ›„๋ณด์˜ ์ˆ˜๋ฅผ ์ธก์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์ƒ์„ฑ๋œ ๊ทธ๋ฆฝ์˜ ์ˆ˜, ์„ฑ๊ณต๋ฅ , ๋‹ค์–‘์„ฑ, ์ถฉ๋Œ ๋ฐœ์ƒ๋ฅ  ๋“ฑ์„ ํ•จ๊ป˜ ๊ด€์ฐฐํ–ˆ์Šต๋‹ˆ๋‹ค. ์„ฑ๋Šฅ ๋น„๊ต๋ฅผ ์œ„ํ•ด โ€œ๊ธฐ์กด ์ ˆ์ฐจ์  ๊ทธ๋ฆฝ ๊ธฐ๋ฒ•โ€์˜ SPS๋ฅผ ์ฐธ๊ณ ํ–ˆ๋Š”๋ฐ, ์ด๋“ค์€ Lightning Grasp ๋Œ€๋น„ ์ตœ์†Œ 10๋ฐฐ ์ด์ƒ ๋А๋ฆฐ ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค.
  • ๋น„๊ต ๋Œ€์ƒ: ๋ณธ ๋…ผ๋ฌธ์—์„œ๋Š” DexGraspNet, SpringGrasp, Dexonomy ๋“ฑ ์ตœ์‹  ๋ฉ”ํƒ€ ์ ˆ์ฐจ์  ๊ทธ๋ฆฝ ๋ฐฉ๋ฒ•๋“ค์ด ์ฃผ์š” ๋น„๊ต ์ƒ๋Œ€์ž…๋‹ˆ๋‹ค. (๋…ผ๋ฌธ์—๋Š” ๋ช…์‹œ์  ํ‘œ๋กœ ๋น„๊ตํ•˜์ง„ ์•Š์•˜์œผ๋‚˜, Figure 1 ์บก์…˜์—์„œ ๊ธฐ์กด ๋ฐฉ๋ฒ•๋“ค๊ณผ ๋น„๊ตํ•œ ๋‚ด์šฉ์ด ๋‚˜์˜ต๋‹ˆ๋‹ค.) ์ด๋Ÿฌํ•œ ๊ธฐ์กด ๊ธฐ๋ฒ•๋“ค์€ ๋ณต์žกํ•œ ์ตœ์ ํ™”์— ๋งŽ์€ ์‹œ๊ฐ„(์ˆ˜ ์ดˆ~๋ถ„)์ด ๊ฑธ๋ฆฌ๋Š” ๋ฐ˜๋ฉด, Lightning Grasp๋Š” GPU ๊ฐ€์†์„ ์ด์šฉํ•ด ์‹ค์‹œ๊ฐ„ ๊ฐ€๊นŒ์ด ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ํ…Œ์ด๋ธ” 1์—์„œ๋Š” ๊ธฐ์กด ๊ธฐ๋ฒ•์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ๋žตํ•˜๊ณ  Lightning Grasp๋งŒ ๋ณด์—ฌ์ฃผ์—ˆ๋Š”๋ฐ, ์ด๋Š” ๋น„๊ต ๋Œ€์ƒ๋“ค์˜ SPS๊ฐ€ โ€œ10๋ฐฐ ์ด์ƒ ๋‚ฎ๋‹คโ€๊ณ  ์„ค๋ช…ํ•˜๋ฉฐ Lightning Grasp์˜ ์••๋„์  ์†๋„๋ฅผ ๊ฐ•์กฐํ•ฉ๋‹ˆ๋‹ค.
  • ์‹คํ—˜ ์ ˆ์ฐจ: ๊ฐ ์†-๋ฌผ์ฒด ์กฐํ•ฉ์— ๋Œ€ํ•ด ์—ฌ๋Ÿฌ ๋ฒˆ Lightning Grasp๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ์„ฑ๋Šฅ์„ ์ธก์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•œ ํšŒ ์‹คํ–‰๋‹น ์ตœ๋Œ€ 6์ดˆ ์ด๋‚ด์— ๊ทธ๋ฆฝ ํ›„๋ณด๋ฅผ ์ƒ์„ฑ ์™„๋ฃŒํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฐœ์ƒํ•œ ์ถฉ๋Œ๊ณผ ์•ˆ์ •์„ฑ ํŒ์ •์„ ํ†ตํ•ด ์œ ํšจํ•œ ๊ทธ๋ฆฝ์„ ๊ฑธ๋Ÿฌ๋‚ด๊ณ , ์ตœ์ข…์ ์œผ๋กœ ์–‘์งˆ์˜ ๊ทธ๋ฆฝ ๊ฐœ์ˆ˜์™€ ๋‹ค์–‘์„ฑ์„ ์ง‘๊ณ„ํ–ˆ์Šต๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ ํ”„๋กœํŒŒ์ผ๋ง์„ ์œ„ํ•ด ๊ฐ ๋‹จ๊ณ„๋ณ„ ์‹คํ–‰ ์‹œ๊ฐ„์„ ์ธก์ •ํ•˜์—ฌ ๋ณ‘๋ชฉ์„ ๋ถ„์„ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด์ƒ๊ณผ ๊ฐ™์€ ์‹คํ—˜ ์„ค์ • ํ•˜์—์„œ Lightning Grasp๋Š” ์ „์ฒด ์„ค์ •์ด 6์ดˆ ์ด๋‚ด์— ์™„๋ฃŒ๋˜๋ฉฐ, ์•„๋ž˜์™€ ๊ฐ™์€ ๊ฒฐ๊ณผ๋ฅผ ์–ป์—ˆ์Šต๋‹ˆ๋‹ค. ๋น„๊ต ๋Œ€์ƒ๋“ค(๊ธฐ์กด ์•Œ๊ณ ๋ฆฌ์ฆ˜)์€ GPU์—์„œ์กฐ์ฐจ ์ˆ˜์‹ญ~์ˆ˜๋ฐฑ ๋ฐ€๋ฆฌ์ดˆ ๋™์•ˆ ์ˆ˜๊ฑด ํ˜น์€ ํŒŒํŠธ๋ณ„ ๊ทธ๋ฆฝ ๋งŒ ์ƒ์„ฑํ•˜๋Š” ์ˆ˜์ค€์ด์—ˆ์œผ๋‚˜, Lightning Grasp๋Š” ์ˆ˜๋ฐฑ~์ฒœ ๋‹จ์œ„ SPS๋ฅผ ๋‹ฌ์„ฑํ•˜๋ฉฐ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์„ ํฌ๊ฒŒ ์•ž์„ฐ์Šต๋‹ˆ๋‹ค.

7. ์ •๋Ÿ‰์ /์ •์„ฑ์  ๊ฒฐ๊ณผ ํ•ด์„ ๋ฐ ์„ฑ๋Šฅ ๋น„๊ต

Lightning Grasp์˜ ๊ฒฐ๊ณผ๋Š” ์ •๋Ÿ‰์ ยท์ •์„ฑ์ ์œผ๋กœ ๋ชจ๋‘ ๋งค์šฐ ์šฐ์ˆ˜ํ•ฉ๋‹ˆ๋‹ค. ์ฃผ์š” ๊ฒฐ๊ณผ๋ฅผ ์š”์•ฝํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ์ฒ˜๋ฆฌ๋Ÿ‰(Throughput): Table 1์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋“ฏ์ด, A100 GPU์—์„œ ์ผ๋ฐ˜์ ์ธ ๋ฌผ์ฒด ๋ฐ ์† ๋ชจ๋ธ ์กฐํ•ฉ๋‹น ์ˆ˜๋ฐฑ~์ˆ˜์ฒœ SPS๋ฅผ ๋‹ฌ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, Allegro ์†์œผ๋กœ ์บก์А์„ ์žก๋Š” ๊ฒฝ์šฐ ํ‰๊ท  1296.1 SPS, Shadow ์†์œผ๋กœ ์žก์„ ๋• ์•ฝ 1060.2 SPS ๋“ฑ์ž…๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด ๊ธฐ์กด ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์ฒ˜๋ฆฌ๋Ÿ‰์€ 100 SPS๋ฅผ ๋„˜๊ธฐ ํž˜๋“ค์–ด, Lightning Grasp๋Š” ์ตœ์†Œ 10๋ฐฐ ์ด์ƒ ๋น ๋ฅธ ์†๋„๋ฅผ ๋ณด์˜€์Šต๋‹ˆ๋‹ค. ์„ฑ๋Šฅ ์ตœ์ ํ™” ๋ชจ๋“œ(๋‹ค์–‘์„ฑ ์ถ•์†Œ)์—์„œ๋Š” ์ด๋ณด๋‹ค ๋‘ ๋ฐฐ ๋น ๋ฅธ ์†๋„๋„ ๊ฐ€๋Šฅํ•˜์—ฌ, ์ ์ ˆํžˆ ์„ค์ •ํ•˜๋ฉด ๊ฑฐ์˜ ์‹ค์‹œ๊ฐ„ ์‘๋‹ต์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
  • ๋‹ค์–‘์„ฑ ๋ฐ ์œ ํšจ์„ฑ: Lightning Grasp๋Š” ๋งค์šฐ ๋‹ค์–‘ํ•œ ๊ทธ๋ฆฝ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. Figure 12โ€“14์€ LEAP, Allegro, DClaw ์†์œผ๋กœ ์–ป์€ ๋ฌด์ž‘์œ„ ๊ทธ๋ฆฝ ์˜ˆ์‹œ๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ๊ฐ ์†์ด โ€œ์•ˆ๊ฒฝ, YCB ์ปต, ์Šคํฌ๋ฃจโ€ ๋“ฑ ๋‹ค์–‘ํ•œ ๋ฌผ์ฒด๋ฅผ ์žก์„ ๋•Œ ์ •์ƒ์ ์ด๊ณ  ๊ธฐ๋Šฅ์ ์ธ ํฌ์ฆˆ๋ฅผ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ ๋น„๋Œ€์นญ ๋ฌผ์ฒด์™€ ์–‡์€ ๊ตฌ์กฐ(์˜ˆ: ์•ˆ๊ฒฝํ…Œ, ๋ Œ์น˜)๊นŒ์ง€ ์•ˆ์ •์ ์ธ ๊ทธ๋ฆฝ์„ ์ฐพ์•„๋ƒˆ์Šต๋‹ˆ๋‹ค. ์ „์ฒด ๊ทธ๋ฆฝ ์ค‘ ์ƒ๋‹น์ˆ˜๋Š” ์‹ค์ œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๊ทธ๋ฆฝ์œผ๋กœ ํ•„ํ„ฐ๋ง๋˜์—ˆ์œผ๋ฉฐ, ๋ฌผ์ฒด์— ๋”ฐ๋ผ ์„ฑ๊ณต๋ฅ ์€ 50โ€“80% ์ด์ƒ์œผ๋กœ ์ธก์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ๋ฌผ์ฒด์™€ ์† ๋ชจ๋ธ ๊ฐ„ ์ฐจ์ด: ๋‹ค์–‘ํ•œ ์†์„ ํ…Œ์ŠคํŠธํ•œ ๊ฒฐ๊ณผ, Allegro Hand์—์„œ๋Š” ํ•ญ์ƒ ๋‹ค๋ฅธ ์†๋“ค๋ณด๋‹ค ๋” ๋งŽ์€ ์œ ํšจ ์ƒ˜ํ”Œ์ด ์ƒ์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด LEAP Hand์™€ Shadow Hand, DClaw์€ ๊ฐ๊ฐ ๊ธฐ๊ตฌํ•™์  ๊ตฌ์กฐ์ƒ์˜ ํ•œ๊ณ„๋กœ ์‹คํŒจ ๋น„์œจ์ด ๋†’์•˜์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, LEAP๋Š” ๋ชจํ„ฐ ์„ค๊ณ„๋กœ ์ž์ฒด ์ถฉ๋Œ(self-collision)์ด ๋นˆ๋ฒˆํ–ˆ๊ณ , Shadow๋Š” ๋‹ค์„ฏ ์†๊ฐ€๋ฝ ๊ฐ„์˜ ์ถฉ๋Œ ๊ฒฝํ–ฅ์ด ์ปธ์œผ๋ฉฐ, DClaw์€ ๋‘๊บผ์šด ์†๋ ๊ตฌ์กฐ๋กœ ํฐ ๊ด€ํ†ต์ด ์ƒ๊ฒจ ์‹คํŒจ๊ฐ€ ๋งŽ์•˜์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฐ๊ณผ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ž์ฒด์˜ ํ•œ๊ณ„๋ผ๊ธฐ๋ณด๋‹ค ์† ์„ค๊ณ„์˜ ์ œ์•ฝ์„ ๋ฐ˜์˜ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, Lightning Grasp๋Š” ์† ์„ค๊ณ„์˜ ๊ฐ•ยท์•ฝ์ ์„ ํ‰๊ฐ€ํ•˜๋Š” ๋„๊ตฌ๋กœ๋„ ํ™œ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์˜ค๋ชฉํ•œ ๋ฌผ์ฒด(๋‚œ์ด๋„ ๋†’์€ ์ผ€์ด์Šค): ๋น„-๋ณผ๋ก(non-convex)ํ•œ ํ˜•์ƒ์˜ ๋ฌผ์ฒด(์˜ˆ: ๊นŠ์€ ์ปต, ๊ทธ๋ฆ‡ ๋“ฑ)์—์„œ๋Š” ๊ทธ๋ฆฝ ํ˜•์„ฑ์— ์–ด๋ ค์›€์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. Figure 11(Right)์— ๋‚˜ํƒ€๋‚œ ์˜ˆ์ฒ˜๋Ÿผ, ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋กœ์ปฌ IK๋กœ ๋ถ€๋ถ„์  ๊ด€ํ†ต์„ ์ œ๊ฑฐํ•˜๋”๋ผ๋„ ์ „์ฒด์ ์œผ๋กœ ํฐ ๊ทœ๋ชจ์˜ ์นจํˆฌ(colliding)๋ฅผ ํ•ด๊ฒฐํ•˜์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ฒฝ์šฐ, Contact Field์˜ ๋ฐ•์Šค ์ •๋ฐ€๋„๋‚˜ ์ ‘์ด‰ ๋ฐฉํ–ฅ ์ •๋ณด๋ฅผ ๋” ํ†ตํ•ฉํ•ด์•ผ ํ•  ํ•„์š”๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์„ฑ๋Šฅ ํ”„๋กœํŒŒ์ผ๋ง: Figure 10์„ ๋ณด๋ฉด, Kontakt_point ์ตœ์ ํ™”์™€ ๊ธฐ๊ตฌํ•™ ์ตœ์ ํ™” ๋‹จ๊ณ„๊ฐ€ ์ „์ฒด ์‹œ๊ฐ„์˜ ์•ฝ 2ร—33%๋ฅผ ์ฐจ์ง€ํ•ฉ๋‹ˆ๋‹ค. ํ•˜๋“œ์›จ์–ด๋งˆ๋‹ค ๊ณ„์‚ฐ ๋น„์œจ์ด ๊ท ํ˜• ์žˆ๊ฒŒ ๋ถ„๋ฐฐ๋˜๋ฉฐ, ์ตœ์‹  GPU(A100, RTX 4000)์—์„œ ๋น ๋ฅธ ์ฒ˜๋ฆฌ๋Ÿ‰์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ํŠนํžˆ ์˜ค๋ž˜๋œ Titan X(GPU)์—์„œ๋„ ์—ฌ์ „ํžˆ ๊ธฐ์กด SOTA์˜ A100 ๋Œ€๋น„ 20โ€“100๋ฐฐ ๋†’์€ ์†๋„๋ฅผ ๋ณด์˜€์Šต๋‹ˆ๋‹ค. ์ด๋Š” Lightning Grasp ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์ตœ์‹  ์•„ํ‚คํ…์ฒ˜์˜ ์ด์ ์„ ์ž˜ ํ™œ์šฉํ•จ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

์ •๋ฆฌํ•˜๋ฉด, Lightning Grasp๋Š” ๋‹ค์–‘ํ•œ ๋ฌผ์ฒด์™€ ์† ์กฐํ•ฉ์—์„œ ๋†’์€ ์ฒ˜๋ฆฌ๋Ÿ‰๊ณผ ํ’๋ถ€ํ•œ ๊ทธ๋ฆฝ ๋‹ค์–‘์„ฑ์„ ๋™์‹œ์— ๋‹ฌ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. ์ƒ์„ฑ๋œ ๊ทธ๋ฆฝ๋“ค์€ ์ •์„ฑ์ ์œผ๋กœ๋„ ์•ˆ์ •์ ์ธ ํ˜•ํƒœ๋ฅผ ๊ฐ–์ถ”์—ˆ์œผ๋ฉฐ(Fig.12โ€“14), ์ •๋Ÿ‰์ ์œผ๋กœ๋Š” ๊ธฐ์กด ๋ฐฉ๋ฒ•๋“ค์„ ํฌ๊ฒŒ ์•ž์„œ๋Š” ์„ฑ๋Šฅ์„ ๋ณด์—ฌ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ ์ฒ˜๋ฆฌ๋Ÿ‰์ด 100๋ฐฐ ์ด์ƒ ํ–ฅ์ƒ๋˜๋ฉด์„œ, ์‹ค์ œ ์‘์šฉ์—์„œ ์ˆ˜๋ฐฑ ๊ฐœ ๊ทธ๋ฆฝ์„ ์ž ์‹œ ๋งŒ์— ๊ฒ€ํ† ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

8. ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๋ฐ ์‹ค์ œ ๋กœ๋ด‡ ์ ์šฉ ์‚ฌ๋ก€

๋…ผ๋ฌธ์—์„œ๋Š” ์ฃผ๋กœ ์‹œ๋ฎฌ๋ ˆ์ด์…˜(๋ชจ๋ธ ๊ธฐ๋ฐ˜) ํ™˜๊ฒฝ์—์„œ Lightning Grasp๋ฅผ ํ‰๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์–‘ํ•œ YCB ๋ฌผ์ฒด์™€ ๊ณต๊ตฌ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜์—ฌ 3D ์‹œ๋ฎฌ๋ ˆ์ด์…˜์ƒ์—์„œ ๊ทธ๋ฆฝ์„ ์ƒ์„ฑํ•˜๊ณ  ๊ฒ€์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค. Figure 12โ€“14์™€ Table 1์˜ ๊ฒฐ๊ณผ๋“ค์€ ๋ชจ๋‘ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๋ฐ์ดํ„ฐ(3D ๋ฉ”์‰ฌ)๋กœ๋ถ€ํ„ฐ ์–ป์€ ์„ฑ๋Šฅ์ž…๋‹ˆ๋‹ค. ์ฆ‰, ์‹ค์ œ ๋กœ๋ด‡์œผ๋กœ ๋ฌผ์ฒด๋ฅผ ์ง‘๋„๋ก ๋ช…๋ น์„ ๋‚ด๋ฆฐ ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๋‚ด์—์„œ ๊ทธ๋ฆฝ์ด ์œ ํšจํ•œ์ง€๋งŒ ํŒ๋‹จํ–ˆ์Šต๋‹ˆ๋‹ค.

์‹ค์ œ ๋กœ๋ด‡ ์ ์šฉ ์‚ฌ๋ก€๋Š” ๋…ผ๋ฌธ์—์„œ ์ง์ ‘ ๋‹ค๋ฃจ๊ณ  ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ Lightning Grasp๋Š” ์˜คํ”ˆ์†Œ์Šค ๊ตฌํ˜„์ด ๊ณต๊ฐœ๋˜์–ด ์žˆ์–ด, ํ–ฅํ›„ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๊ธฐ๋ฐ˜ ์—ฐ๊ตฌ๋ฟ ์•„๋‹ˆ๋ผ ์‹ค์ œ ๋กœ๋ด‡์— ์ ์šฉ๋  ์—ฌ์ง€๋„ ํฝ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, Lightning Grasp๋ฅผ ํ†ตํ•ด ์ƒ์„ฑํ•œ ๊ทธ๋ฆฝ ๋ฐ์ดํ„ฐ๋กœ ์‹œ๋ฎฌ๋ ˆ์ด์…˜-์‹ค์ œ ์ „์ด ํ•™์Šต(sim2real)์„ ํ•˜๊ฑฐ๋‚˜, ๋กœ๋ด‡ ์ปจํŠธ๋กค๋Ÿฌ์— ์‹ค์‹œ๊ฐ„ ํ”ผ๋“œ๋ฐฑ์œผ๋กœ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ž์ฒด๊ฐ€ ๋งค์šฐ ๋น ๋ฅด๊ธฐ ๋•Œ๋ฌธ์—, ์‹ค์ œ ๋กœ๋ด‡ ํ•ธ๋“œ์˜ ์„ผ์„œ ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ˜์˜ํ•˜๋ฉฐ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๊ทธ๋ฆฝ์„ ์žฌ๊ณ„์‚ฐํ•ด์ฃผ๋Š” ์‘์šฉ์ด ๊ธฐ๋Œ€๋ฉ๋‹ˆ๋‹ค. ํ–ฅํ›„ ์—ฐ๊ตฌ์—์„œ๋Š” Lightning Grasp๋ฅผ ์‹ค์ œ ๋กœ๋ด‡ ์‹œ์Šคํ…œ(์˜ˆ: ์ด๋™ ๋กœ๋ด‡์˜ ์กฐ์ž‘ ํŒ”์ด๋‚˜ ํœด๋จธ๋…ธ์ด๋“œ)๊ณผ ์—ฐ๊ฒฐํ•˜์—ฌ ์„ฑ๋Šฅ์„ ๊ฒ€์ฆํ•˜๋Š” ์ž‘์—…์ด ๊ฐ€์น˜ ์žˆ๋Š” ๊ณผ์ œ๋กœ ๋‚จ์•„ ์žˆ์Šต๋‹ˆ๋‹ค.

9. ํ•œ๊ณ„์  ๋ฐ ํ–ฅํ›„ ์—ฐ๊ตฌ ๋ฐฉํ–ฅ

Lightning Grasp๋Š” ํ˜์‹ ์ ์ธ ์„ฑ๋Šฅ์„ ๋ณด์—ฌ์ฃผ์—ˆ์ง€๋งŒ, ๋ช‡ ๊ฐ€์ง€ ํ•œ๊ณ„์ ๋„ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ์ฃผ์š” ํ•œ๊ณ„์™€ ๊ฐœ์„  ๋ฐฉํ–ฅ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

  • ๋น„๋ณผ๋ก ๋ฌผ์ฒด์˜ ์ทจ๊ธ‰: ๊ทน๋„๋กœ ๋น„๋Œ€์นญ์ ์ด๊ณ  ์˜ค๋ชฉํ•œ ํ˜•์ƒ(์˜ˆ: ๊นŠ์€ ์ปต, ๊ทธ๋ฆ‡, ๋ง‰๋Œ€ ํ˜•ํƒœ์˜ ๊ณต๊ตฌ)์—์„œ๋Š” ์—ฌ์ „ํžˆ ์ถฉ๋Œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ Lightning Grasp๋Š” ๋กœ์ปฌ IK ๋‹จ๊ณ„์—์„œ ์ ‘์ด‰ ์ฃผ๋ณ€์˜ ์นจํˆฌ๋ฅผ ์ œ๊ฑฐํ•˜์ง€๋งŒ, ์ „์—ญ์ ์œผ๋กœ ํฐ ์˜ค๋ชฉ ์˜์—ญ์—์„œ๋Š” ์™„๋ฒฝํ•˜๊ฒŒ ์ œ๊ฑฐํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” Contact Field์˜ ๊ณต๊ฐ„ ๋ถ„ํ•ด ํ•ด์ƒ๋„๋‚˜ ๊ฐ ๋ฒกํ„ฐ์— ์—ฐ๊ฒฐ๋œ ์ถ”๊ฐ€ ์ •๋ณด๋ฅผ ๋Š˜๋ ค ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ ‘์ด‰ ๋ฒกํ„ฐ ๋ฐ•์Šค์— ์†๊ฐ€๋ฝ ๊ธฐํ•˜ํ•™์„ ํฌํ•จ์‹œํ‚ค๊ฑฐ๋‚˜, ๊ฒ€์ƒ‰ ๋‹จ๊ณ„์—์„œ ๋ฌผ์ฒด-์†๊ฐ„ ์ถฉ๋Œ์„ ์‚ฌ์ „ ํ•„ํ„ฐ๋งํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. (๋…ผ๋ฌธ์—์„œ๋„ ์ด๋Ÿฌํ•œ ์ถฉ๋Œ ํ•„ํ„ฐ๋ง ๊ตฌ์กฐ๋ฅผ ํ–ฅํ›„ ์—ฐ๊ตฌ๋กœ ์ œ์•ˆํ•จ).
  • ๋ฉ”๋ชจ๋ฆฌ ๋ฐ ๊ทผ์‚ฌํ™” ์˜ค์ฐจ: Contact Field๋ฅผ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•ด BVH๋ฅผ ๊ตฌ์„ฑํ•  ๋•Œ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์ด ์ฆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๋…ผ๋ฌธ์— ๋”ฐ๋ฅด๋ฉด ์†๊ฐ€๋ฝ ๋‹น ํ•ด์ƒ๋„ 1\text{cm}^3์ด๋ฉด BVH ํ•˜๋‚˜๊ฐ€ ์•ฝ 12MB, 100๊ฐœ์˜ ํŒจ์น˜๋ฅผ ๊ณ„์‚ฐํ•˜๋ฉด ์ˆ˜๋ฐฑ MB๋ฅผ ํ•„์š”๋กœ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด ๊ณ ํ•ด์ƒ๋„์—์„œ๋Š” ๋ฉ”๋ชจ๋ฆฌ ๋ถ€๋‹ด์ด ์ปค์ง‘๋‹ˆ๋‹ค. ๋˜, ๋‚ฎ์€ ํ•ด์ƒ๋„๋กœ ๊ทผ์‚ฌํ•˜๋ฉด ๊ฐ ๋ฐ•์Šค ํฌ๊ธฐ๊ฐ€ ์ปค์ ธ ์œ„์น˜ ์˜ค์ฐจ๊ฐ€ ์ƒ๊ธฐ๊ณ , ์ด์— ๋”ฐ๋ผ IK ์ •ํ™•๋„๊ฐ€ ๋–จ์–ด์ง‘๋‹ˆ๋‹ค. ํ˜„์žฌ๋Š” ์ค‘์š”ํ•˜์ง€ ์•Š์€ ๊ด€์ ˆ์„ ์ž„์˜๋กœ ์„ค์ •ํ•˜๊ฑฐ๋‚˜, ๋ฐ˜๋ณต์ ์ธ ๋ฏธ์„ธ ์กฐ์ •(Finetuning)์„ ํ†ตํ•ด ๋ณด์™„ํ•˜์ง€๋งŒ, ์ ‘์ด‰ ํ•„๋“œ์˜ ํšจ์œจ์  ๊ทผ์‚ฌ ๋ฐฉ์•ˆ์€ ์ถ”๊ฐ€ ์—ฐ๊ตฌ ์ฃผ์ œ์ž…๋‹ˆ๋‹ค.
  • ํƒ์ƒ‰ ์™„์ „์„ฑ(Completeness): Lightning Grasp๋Š” ๊ทผ๋ณธ์ ์œผ๋กœ ํ™•๋ฅ ์  ํƒ์ƒ‰์— ์˜์กดํ•ฉ๋‹ˆ๋‹ค. ๋…ผ๋ฌธ์—์„œ๋Š” ์ž„์˜ ์ƒ˜ํ”Œ๋ง์„ ํ†ตํ•ด ์ถฉ๋ถ„ํžˆ ๋งŽ์€ ๊ทธ๋ฆฝ์„ ์ฐพ๋Š”๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์ง€๋งŒ, ์—„๋ฐ€ํ•œ ์™„์ „์„ฑ(๋ชจ๋“  ํ•ด๋ฅผ ๋ฐ˜๋“œ์‹œ ์ฐพ๋Š” ๊ฒƒ)์€ ๋ณด์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ์•Œ๊ณ ๋ฆฌ์ฆ˜ 2์˜ ๋žœ๋ค ๋ธ”๋ก ํƒ์ƒ‰์€ ๋†’์€ ํ™•๋ฅ ๋กœ ์ข‹์€ ํ•ด๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์ง€๋งŒ, ๋ณต์žกํ•œ ์ƒํ˜ธ ์ž‘์šฉ์„ ๊ฐ€์ง„ ๊ทธ๋ฆฝ์„ ๋†“์น  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋…ผ๋ฌธ์—์„œ๋Š” โ€œ์ถฉ๋ถ„ํžˆ ๊ทผ์ ‘ํ•œ ์ดˆ๊ธฐ ์ด๋‹ˆ์…œ๋ผ์ด์ฆˆ๋กœ ํƒ์ƒ‰ํ•˜๋ฉด ๋Œ€๋ถ€๋ถ„์˜ ๊ทธ๋ฆฝ์ด ๋ฐœ๊ฒฌ๋  ๊ฒƒโ€์ด๋ผ๊ณ  ํ–ˆ์ง€๋งŒ, ํ™•๋ฅ ์  ํ•œ๊ณ„๋ฅผ ๊ทน๋ณตํ•˜๊ธฐ ์œ„ํ•ด ๋” ๊ตฌ์กฐ์  ํƒ์ƒ‰ ๊ธฐ๋ฒ•(์˜ˆ: ๊ฒฐ์ •๋ก ์  ํŠธ๋ฆฌ ํƒ์ƒ‰ ๊ฐ•ํ™”)์ด ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์‹ค์‹œ๊ฐ„์„ฑ vs ์ตœ์ ํ™”: ํ˜„์žฌ Lightning Grasp๋Š” Forward Pass 1ํšŒ๋‹น ๋‹ค์ˆ˜์˜ ๊ทธ๋ฆฝ์„ ๋น ๋ฅด๊ฒŒ ์ƒ์„ฑํ•˜์ง€๋งŒ, ์™„์ „ ์‹ค์‹œ๊ฐ„ ์ œ์–ด๋ฅผ ์œ„ํ•ด์„œ๋Š” ์—ฌ์ „ํžˆ ์ตœ์ ํ™” ์—ฌ์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๊ฐ์ฒด ์œ„์น˜๋ฅผ ๊ฒฐ์ •ํ•œ ํ›„ ๋‚˜๋จธ์ง€ ํƒ์ƒ‰์„ GPU ๋™๊ธฐ์‹์œผ๋กœ ์ˆ˜ํ–‰ํ•˜๋ฏ€๋กœ ์‹ค์ œ ๋กœ๋ด‡์˜ ์„ผ์„œ ํ”ผ๋“œ๋ฐฑ๊นŒ์ง€ ํฌํ•จํ•œ ํ์‡„ํ˜• ๋ฃจํ”„์—์„œ๋Š” ๋Œ€๊ธฐ์‹œ๊ฐ„์ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ–ฅํ›„, ๊ฐ์ฒด ํฌ์ฆˆ ์ œ์•ˆ(policy)์„ ๋จธ์‹ ๋Ÿฌ๋‹์œผ๋กœ ๋Œ€์ฒดํ•˜๊ฑฐ๋‚˜(์•„๋ž˜ ์ฐธ์กฐ), ํšจ์œจ์ ์ธ ๋ฉ€ํ‹ฐํŒจ์Šค ํ™œ์šฉ ๋ฐฉ์•ˆ(์บ์‹ฑ) ๋“ฑ์„ ๋„์ž…ํ•˜์—ฌ ์ดˆ๊ณ ์† ์ ์šฉ์„ ๋ชจ์ƒ‰ํ•  ํ•„์š”๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ฐ์ดํ„ฐ-๋“œ๋ฆฌ๋ธ ๊ฐœ์„  ๊ฐ€๋Šฅ์„ฑ: ๋…ผ๋ฌธ ํ›„๋ฐ˜๋ถ€(5.7์ ˆ)์—์„œ ์–ธ๊ธ‰ํ•œ ๊ฒƒ์ฒ˜๋Ÿผ, Lightning Grasp ์ž์ฒด๋ฅผ ํ•™์Šต ๊ธฐ๋ฐ˜์œผ๋กœ ๋ณด์™„ํ•˜๋Š” ๋ฐฉํ–ฅ๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๊ณผ๊ฑฐ ๊ทธ๋ฆฝ ํƒ์ƒ‰ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์œ ๋งํ•œ ๊ฐ์ฒด ๋ฐฐ์น˜๋‚˜ ์ ‘์ด‰ ๊ตฐ์ง‘์„ ์˜ˆ์ธกํ•˜๋Š” ๊ฐ•ํ™” ํ•™์Šต ์ •์ฑ…์„ ํ•™์Šต์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋…ผ๋ฌธ์—์„œ๋„ โ€œ๋ฌผ์ฒด ํฌ์ฆˆ ์ƒ์„ฑ ์ •์ฑ…โ€ ํ•™์Šต์„ ํ†ตํ•œ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ Self-play๋ฅผ ์ œ์•ˆํ•˜๋ฉฐ, ์ด๋ฅผ ํ†ตํ•ด ๋ฌด์ž‘์œ„ ํƒ์ƒ‰์˜ ๋น„ํšจ์œจ์„ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.
  • ์‹ค์ œ ๋ฌผ๋ฆฌ ์ œ์•ฝ: ํ˜„์žฌ ํ…Œ์ŠคํŠธ๋Š” ๋ฌผ์ฒด ๋ชจ๋ธ ์ค‘์‹ฌ์œผ๋กœ ์ˆ˜ํ–‰๋˜์—ˆ๊ธฐ์—, ์‹ค์ œ ๋กœ๋ด‡ ํ•ธ๋“œ์˜ ๊ตฌ๋™ ํ•œ๊ณ„๋‚˜ ์„ผ์„œ ๋…ธ์ด์ฆˆ ๋“ฑ ๋ฌผ๋ฆฌ์  ์ œ์•ฝ์ด ๋ฐ˜์˜๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ํ–ฅํ›„ ์‹ค์ œ ๋กœ๋ด‡๊ณผ์˜ ํ†ตํ•ฉ ์‹คํ—˜์„ ํ†ตํ•ด, ํ•˜๋“œ์›จ์–ด ํŠน์„ฑ์— ๋งž์ถ˜ ํŒŒ๋ผ๋ฏธํ„ฐ ์กฐ์ •์ด๋‚˜ ์ถฉ๋Œ ํšŒํ”ผ ์ „๋žต(์˜ˆ: ์ ‘์ด‰ ํ—ˆ์šฉ ์˜ค์ฐจ ์กฐ์ •)์„ ์—ฐ๊ตฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํ–ฅํ›„ ์—ฐ๊ตฌ๋กœ๋Š” ์œ„์™€ ๊ฐ™์€ ํ•œ๊ณ„์ ์„ ๊ฐœ์„ ํ•˜๊ณ , Lightning Grasp๋ฅผ ๋” ์™„์ „ํ•œ ๊ทธ๋ฆฝ ํƒ์ƒ‰ ์—”์ง„์œผ๋กœ ๋ฐœ์ „์‹œํ‚ค๋Š” ๋ฐฉํ–ฅ์ด ์˜ˆ์ƒ๋ฉ๋‹ˆ๋‹ค. ํŠนํžˆ ๋น„๋ณผ๋ก ๋ฌผ์ฒด ์ฒ˜๋ฆฌ, ๊ฒ€์ƒ‰ ํžˆ๋ฆฌ์Šคํ‹ฑ ํ•™์Šต, ์‹ค์ œ ๋กœ๋ด‡ ํ†ตํ•ฉ ๊ฒ€์ฆ ๋“ฑ์ด ์ค‘์š”ํ•œ ํ…Œ์Šคํฌ๊ฐ€ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

10. ๋กœ๋ด‡ Grasping ์—ฐ๊ตฌ์ž์—๊ฒŒ ์ฃผ๋Š” ์‹œ์‚ฌ์ 

Lightning Grasp๊ฐ€ ๋กœ๋ด‡ ๊ทธ๋ฆฝ ์—ฐ๊ตฌ์ž๋“ค์—๊ฒŒ ์ฃผ๋Š” ์‹œ์‚ฌ์ ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

  • ์ ˆ์ฐจ์  ๊ทธ๋ฆฝ์˜ ์žฌ์กฐ๋ช…: ์ˆ˜๋…„๊ฐ„ ๋”ฅ๋Ÿฌ๋‹ ๊ธฐ๋ฐ˜ ์ ‘๊ทผ์ด ๊ฐ•์กฐ๋˜์—ˆ์ง€๋งŒ, Lightning Grasp๋Š” ์˜คํ”„๋ผ์ธ ํ•™์Šต ์—†์ด๋„ ์ถฉ๋ถ„ํžˆ ๋น ๋ฅธ ๊ทธ๋ฆฝ ํ•ฉ์„ฑ์ด ๊ฐ€๋Šฅํ•จ์„ ๋ณด์˜€์Šต๋‹ˆ๋‹ค. ์ฆ‰, ์ ˆ์ฐจ์ (analytical) ๊ทธ๋ฆฝ ํ”Œ๋ž˜๋‹๋„ ์ตœ์‹  GPU์™€ ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ(Contact Field)๋ฅผ ํ™œ์šฉํ•˜๋ฉด ์‹ค์‹œ๊ฐ„์— ๊ทผ์ ‘ํ•˜๊ฒŒ ๋™์ž‘ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์„ ์ฆ๋ช…ํ–ˆ์Šต๋‹ˆ๋‹ค. ์—ฐ๊ตฌ์ž๋“ค์€ ์ด๋ฅผ ํ†ตํ•ด ์†์‰ฌ์šด ๊ทธ๋ฆฝ ์ƒ์„ฑ ๋ฐฉ์•ˆ์„ ์žฌ๊ณ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋Œ€๋Ÿ‰์˜ ๊ทธ๋ฆฝ ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ํ•™์Šต ๋ฐ์ดํ„ฐ๋กœ ์‚ผ๋Š” ์šฉ๋„๋กœ ๋˜๋Š” ์‹ค์ œ ์‹œ๊ฐ„์— ๋ฐ”๋กœ ๊ทธ๋ฆฝ์„ ์ œ์‹œํ•ด์•ผ ํ•˜๋Š” ์‹œ์Šคํ…œ์—์„œ ์ ˆ์ฐจ์  ๋ฐฉ๋ฒ•์„ ๋‹ค์‹œ ๊ณ ๋ คํ•ด๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • Contact Field์˜ ํ™•์žฅ์„ฑ: Contact Field๋Š” ๊ทธ๋ฆฝ ๋ฌธ์ œ์— ํŠนํ™”๋œ ๊ฐœ๋…์ด์ง€๋งŒ, ๋” ์ผ๋ฐ˜์ ์ธ ์ ‘์ด‰ ๊ธฐ๋ฐ˜ ๊ณ„ํš์ด๋‚˜ ์ถฉ๋Œ ํƒ์ง€ ๋ฌธ์ œ์—๋„ ์‘์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์†๊ณผ ๋ฌผ์ฒด์˜ ๊ฐ€๋Šฅํ•œ ์ ‘์ด‰ ๊ณต๊ฐ„์„ ๋ฏธ๋ฆฌ ๊ณ„์‚ฐํ•˜๋Š” ์•„์ด๋””์–ด๋Š”, ๋กœ๋ด‡ ํŒ”์˜ ๊ฒฝ๋กœ ๊ณ„ํš์ด๋‚˜ ์ ‘์ด‰ ์กฐ์ž‘(contact manipulation) ๋“ฑ ๋‹ค์–‘ํ•œ ๋ถ„์•ผ์— ์˜๊ฐ์„ ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ, Contact Field๋ฅผ ์ด์šฉํ•œ BVH ๊ตฌ์กฐ๋Š” 3D ์ถฉ๋Œ ๊ฒ€์‚ฌ๋ฅผ ์ค„์ด๋Š” ์ผ๋ฐ˜์ ์ธ ๊ธฐ๋ฒ•์œผ๋กœ ๋ฐœ์ „ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋‹ค์ค‘์ž์œ ๋„ ์†์˜ ๊ฐ€๋Šฅ์„ฑ: Lightning Grasp๋Š” ๋‹ค์„ฏ ์†๊ฐ€๋ฝ ์ด์ƒ์˜ ๋ณต์žกํ•œ ๋กœ๋ด‡ ์†์—์„œ๋„ ์‹ค์‹œ๊ฐ„์— ๊ฐ€๊นŒ์šด ๊ทธ๋ฆฝ ํ•ฉ์„ฑ์„ ํ•ด๋ƒˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋กœ๋ด‡์ด ๋‹ค์ง€์ฒด ์†์œผ๋กœ ์ผ์ƒ์ ์ธ ๋„๊ตฌ๋ฅผ ์žก๊ฑฐ๋‚˜ ๋ณต์žกํ•œ ์กฐ์ž‘์„ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€๋Šฅ์„ฑ์„ ์—ด์–ด์ค๋‹ˆ๋‹ค. ์—ฐ๊ตฌ์ž๋“ค์€ ์ด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ, ์ธ๊ฐ„ํ˜• ์† ์„ค๊ณ„์— ๋Œ€ํ•œ ์ƒˆ๋กœ์šด ๋ฐฉํ–ฅ์„ฑ์„ ํƒ์ƒ‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ์ปจ๋Œ€, ๊ฒฐ๊ณผ์—์„œ ๋ณด๋“ฏ ์†๋ ๊ตฌ์กฐ๋‚˜ ๊ด€์ ˆ ๋ฐฐ์น˜๊ฐ€ ์„ฑ๋Šฅ์— ํฐ ์˜ํ–ฅ์„ ๋ฏธ์น˜๋ฏ€๋กœ, ๊ทธ๋ฆฝ ํšจ์œจ์„ฑ์„ ๊ณ ๋ คํ•œ ์† ํ•˜๋“œ์›จ์–ด ์„ค๊ณ„ ์—ฐ๊ตฌ๋„ ์ค‘์š”ํ•ด์ง‘๋‹ˆ๋‹ค.
  • ๋†’์€ ์ฒ˜๋ฆฌ๋Ÿ‰: ์ˆ˜๋ฐฑ~์ˆ˜์ฒœ ๊ฐœ์˜ ๊ทธ๋ฆฝ์„ ๋น ๋ฅด๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, ๊ฐ•ํ™”ํ•™์Šต์ด๋‚˜ ๋ชจ์…˜ ๊ณ„ํš์—์„œ ํ›„๋ณด ๊ทธ๋ฆฝ ์ƒ์„ฑ์„ ํ•„์š”ํ•œ ๊ฒฝ์šฐ ๋งค์šฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋กœ๋ด‡์ด ์ฃผ์–ด์ง„ ๋ชฉํ‘œ๋ฌผ์„ ์žก๊ณ  ์žฌ๋ฐฐ์น˜ํ•ด์•ผ ํ•  ๋•Œ, ๋น ๋ฅด๊ฒŒ ๋‹ค์–‘ํ•œ ๊ทธ๋ฆฝ ํ›„๋ณด๋ฅผ ์ œ์‹œํ•˜๊ณ  ๊ทธ ์ค‘ ์ตœ์ ์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋ฐ์ดํ„ฐ์…‹ ์ƒ์„ฑ(Data-driven RL)๊ณผ ์ง์ ‘ ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค. Lightning Grasp ์ž์‹ ์œผ๋กœ๋ถ€ํ„ฐ ์–ป์€ ๊ทธ๋ฆฝ์„ ํ•™์Šต์— ํ™œ์šฉํ•˜๋Š” โ€œ๊ทธ๋ฆฝ ๋ฐ์ดํ„ฐ ๋งˆ์ด๋‹โ€์ด ๊ฐ€๋Šฅํ•˜๋ฏ€๋กœ, ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๋ฐ์ดํ„ฐ๋ฅผ ์†์‰ฝ๊ฒŒ ํ™•๋Œ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํ•˜๋“œ์›จ์–ด ํ‰๊ฐ€: ์•ž์„œ ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด, Lightning Grasp๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ์† ๋ชจ๋ธ ๊ฐ„์˜ ์„ฑ๋Šฅ ์ฐจ์ด๋ฅผ ๋“œ๋Ÿฌ๋‚ด์–ด ์‹ค์ œ ์† ์„ค๊ณ„ ํ‰๊ฐ€์—๋„ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฐ๊ตฌ์ž๋“ค์€ ์ƒˆ๋กœ์šด ์†์„ ์„ค๊ณ„ํ•  ๋•Œ Lightning Grasp๋ฅผ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ํ‰๊ฐ€ ๋„๊ตฌ๋กœ ํ™œ์šฉํ•˜์—ฌ ์–ด๋–ค ๊ตฌ์กฐ๊ฐ€ ๊ทธ๋ฆฝ ์„ฑ๊ณต๋ฅ ์„ ๋†’์ด๋Š”์ง€ ๋ฐ์ดํ„ฐ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์˜ˆ๋ฅผ ๋“ค์–ด ์ธ๊ฐ„์˜ ์† ๊ตฌ์กฐ๋ฅผ ๋ชจ์‚ฌํ•˜๋Š” ์žฌํ˜„ ๋กœ๋ณดํ‹ฑ์Šค(design for dexterity)์— ์‹œ์‚ฌ์ ์„ ์ค๋‹ˆ๋‹ค.

์ข…ํ•ฉํ•˜๋ฉด, Lightning Grasp๋Š” ๋กœ๋ด‡ ๊ทธ๋ฆฝ ๊ณ„ํš์— ์žˆ์–ด ์ ˆ์ฐจ์  ๋ฐฉ๋ฒ•์ด ์œ ํšจํ•จ์„ ์ž…์ฆํ•œ ์ „ํ™˜์ ์ž…๋‹ˆ๋‹ค. ๊ณ ์†์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ Contact Field ๊ฐ™์€ ์ƒˆ๋กœ์šด ๊ฐœ๋…์€, ํ–ฅํ›„ ์—ฐ๊ตฌ๋“ค์ด ๊ธฐ์กด์˜ ํ•œ๊ณ„๋ฅผ ๋„˜์–ด ํ™•์žฅ๋˜๋Š” ๋ฐ ๊ธฐ์—ฌํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋กœ๋ด‡ ๊ทธ๋ฆฝ ์—ฐ๊ตฌ์ž๋“ค์€ ์ด ๋…ผ๋ฌธ์˜ ์•„์ด๋””์–ด๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ, ์ž์‹ ์˜ ์‘์šฉ ๋ถ„์•ผ์— ๋งž๊ฒŒ ๊ณ ์„ฑ๋Šฅ ์ ‘์ด‰ ๊ณ„ํš๊ณผ ํƒ์ƒ‰์„ ์—ฐ๊ตฌํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

Tip์‰ฝ๊ฒŒ ์ƒ๊ฐํ•ด๋ณด๊ธฐ

๐Ÿค” ๋จผ์ €, ์šฐ๋ฆฌ๊ฐ€ ํ’€๋ ค๋Š” ๋ฌธ์ œ๊ฐ€ ๋ญ์•ผ?

์ž, ์ƒ์ƒํ•ด๋ด. ๋กœ๋ด‡ ์†์ด ์žˆ์–ด. ์‚ฌ๋žŒ ์†์ฒ˜๋Ÿผ ์†๊ฐ€๋ฝ์ด 4๊ฐœ๋‚˜ 5๊ฐœ ๋‹ฌ๋ฆฐ ๋กœ๋ด‡ ์† ๋ง์ด์•ผ.

์ด ๋กœ๋ด‡ ์†์œผ๋กœ ์‚ฌ๊ณผ๋ฅผ ์ง‘๊ณ  ์‹ถ์–ด. ๊ทผ๋ฐ ๋ฌธ์ œ๊ฐ€ ๋ญ๋ƒ๋ฉด, โ€œ์–ด๋–ป๊ฒŒ ์†๊ฐ€๋ฝ์„ ๋ฐฐ์น˜ํ•ด์•ผ ์‚ฌ๊ณผ๊ฐ€ ์•ˆ ๋–จ์–ด์ง€๊ณ  ์ž˜ ์žกํž๊นŒ?โ€๋ฅผ ์ปดํ“จํ„ฐ๊ฐ€ ๊ณ„์‚ฐํ•ด์•ผ ํ•ด.

์‚ฌ๋žŒ์€ ์ด๊ฑธ ์ƒ๊ฐ ์•ˆ ํ•ด๋„ ๊ทธ๋ƒฅ ํ•ด. ๋‡Œ๊ฐ€ ์•Œ์•„์„œ ํ•ด์ฃผ๋‹ˆ๊นŒ. ๊ทผ๋ฐ ๋กœ๋ด‡์€? ์ผ์ผ์ด ๊ณ„์‚ฐํ•ด์•ผ ํ•ด.

์†๊ฐ€๋ฝ ํ•˜๋‚˜์— ๊ด€์ ˆ์ด 4๊ฐœ์”ฉ ์žˆ๊ณ , ์†๊ฐ€๋ฝ์ด 4๊ฐœ๋ฉด ๊ด€์ ˆ์ด 16๊ฐœ์•ผ. ๊ฐ ๊ด€์ ˆ์ด ์–ด๋–ค ๊ฐ๋„๋กœ ๊ตฌ๋ถ€๋Ÿฌ์ ธ์•ผ ํ•˜๋Š”์ง€๋ฅผ ์ „๋ถ€ ๊ณ„์‚ฐํ•ด์•ผ ํ•ด. ์ด๊ฒŒ โ€œํŒŒ์ง€ ํ•ฉ์„ฑ(Grasp Synthesis)โ€์ด์•ผ.


๐Ÿ˜ซ ๊ธฐ์กด ๋ฐฉ๋ฒ•์€ ์™œ ๋А๋ ธ์„๊นŒ?

๊ธฐ์กด ๋ฐฉ๋ฒ•์„ ๋น„์œ ๋กœ ์„ค๋ช…ํ•ด์ค„๊ฒŒ.

๋น„์œ : ๋ฏธ๋กœ ์ฐพ๊ธฐ

๋„ค๊ฐ€ ๊ฑฐ๋Œ€ํ•œ ๋ฏธ๋กœ์—์„œ ์ถœ๊ตฌ๋ฅผ ์ฐพ๋Š”๋‹ค๊ณ  ํ•ด๋ด.

๊ธฐ์กด ๋ฐฉ๋ฒ•์€ ์ด๋žฌ์–ด:

๋งค ๊ฑธ์Œ๋งˆ๋‹ค ์ด๋ ‡๊ฒŒ ํ–ˆ์–ด: 1. โ€œ๋‚ด ์•ž์— ๋ฒฝ์ด ์žˆ๋‚˜?โ€ โ†’ ๋ฒฝ๊นŒ์ง€ ๊ฑฐ๋ฆฌ ๊ณ„์‚ฐ (๋ณต์žกํ•œ ์ˆ˜ํ•™) 2. โ€œ์™ผ์ชฝ์€?โ€ โ†’ ๋˜ ๊ฑฐ๋ฆฌ ๊ณ„์‚ฐ 3. โ€œ์˜ค๋ฅธ์ชฝ์€?โ€ โ†’ ๋˜ ๊ฑฐ๋ฆฌ ๊ณ„์‚ฐ 4. โ€œ์–ด๋””๋กœ ๊ฐˆ๊นŒ?โ€ โ†’ ๊ณ„์‚ฐ ๊ฒฐ๊ณผ ๋ณด๊ณ  ๊ฒฐ์ • 5. ํ•œ ๊ฑธ์Œ ์ด๋™ 6. 1๋ฒˆ์œผ๋กœ ๋Œ์•„๊ฐ€์„œ ๋ฐ˜๋ณตโ€ฆ

๋ฌธ์ œ๊ฐ€ ๋ญ”์ง€ ๋ณด์—ฌ? ๋งค ๊ฑธ์Œ๋งˆ๋‹ค ๋ฒฝ๊นŒ์ง€ ๊ฑฐ๋ฆฌ๋ฅผ ์ƒˆ๋กœ ๊ณ„์‚ฐํ•ด. ๋ฏธ๋กœ๊ฐ€ ๋ณต์žกํ• ์ˆ˜๋ก ์ด ๊ณ„์‚ฐ์ด ์—„์ฒญ ์˜ค๋ž˜ ๊ฑธ๋ ค.

๋กœ๋ด‡ ํŒŒ์ง€ ๋ฌธ์ œ๋กœ ๋Œ์•„์˜ค๋ฉด:

๋งค ์‹œ๋„๋งˆ๋‹ค:
1. ์†๊ฐ€๋ฝ์ด ๋ฌผ์ฒด์— ๋‹ฟ์•˜๋‚˜? โ†’ ๊ฑฐ๋ฆฌ ๊ณ„์‚ฐ (3D ๋ฉ”์‰ฌ ์—ฐ์‚ฐ, ๋А๋ฆผ)
2. ์†๊ฐ€๋ฝ์ด ๋ฌผ์ฒด๋ฅผ ๋šซ๊ณ  ๋“ค์–ด๊ฐ”๋‚˜? โ†’ ์ถฉ๋Œ ๊ณ„์‚ฐ (๋˜ ๋А๋ฆผ)
3. ์ด ์ž์„ธ๋กœ ์žก์œผ๋ฉด ์•ˆ์ •์ ์ธ๊ฐ€? โ†’ ๋ฌผ๋ฆฌ ๊ณ„์‚ฐ (๋˜๋˜ ๋А๋ฆผ)
4. ๊ฒฐ๊ณผ ๋ณด๊ณ  ์† ์ž์„ธ ์กฐ๊ธˆ ์ˆ˜์ •
5. 1๋ฒˆ์œผ๋กœ ๋Œ์•„๊ฐ€์„œ ๋ฐ˜๋ณต... (์ˆ˜์ฒœ ๋ฒˆ)

์ด๊ฒŒ ์™œ ๋А๋ฆฌ๋ƒ๋ฉด, ๋งค๋ฒˆ ๋ณต์žกํ•œ 3D ๊ธฐํ•˜ํ•™ ๊ณ„์‚ฐ์„ ํ•ด์•ผ ํ•ด์„œ์•ผ.

๋ฌผ์ฒด๊ฐ€ ์‚ฌ๊ณผ์ฒ˜๋Ÿผ ๋‹จ์ˆœํ•œ ๊ตฌ๋ฉด? ๊ทธ๋ž˜๋„ ๋А๋ ค. ๋ฌผ์ฒด๊ฐ€ ๊ฐ€์œ„์ฒ˜๋Ÿผ ๋ณต์žกํ•œ ๋ชจ์–‘? ํ›จ์”ฌ ๋” ๋А๋ ค.


๐Ÿ’ก Lightning Grasp์˜ ํ•ต์‹ฌ ์•„์ด๋””์–ด

์ž, ์ด์ œ Lightning Grasp ์ €์ž๋“ค์˜ ์ฒœ์žฌ์ ์ธ ํ†ต์ฐฐ์„ ๋งํ•ด์ค„๊ฒŒ.

ํ•ต์‹ฌ ํ†ต์ฐฐ: โ€œ๋ฏธ๋ฆฌ ์ง€๋„๋ฅผ ๋งŒ๋“ค์–ด๋‘์ž!โ€

๋ฏธ๋กœ ๋น„์œ ๋กœ ๋Œ์•„๊ฐ€๋ณผ๊ฒŒ.

Lightning Grasp ๋ฐฉ์‹:

๋ฏธ๋กœ์— ๋“ค์–ด๊ฐ€๊ธฐ ์ „์—, ๋จผ์ € ๋“œ๋ก ์„ ๋‚ ๋ ค์„œ ๋ฏธ๋กœ ์ „์ฒด ์‚ฌ์ง„์„ ์ฐ์–ด. ๊ทธ๋ฆฌ๊ณ  โ€œ์—ฌ๊ธฐ๋Š” ๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๊ณณโ€, โ€œ์—ฌ๊ธฐ๋Š” ๋ฒฝโ€ ์ด๋ ‡๊ฒŒ ์ง€๋„๋ฅผ ๋งŒ๋“ค์–ด.

๊ทธ ๋‹ค์Œ์— ๋ฏธ๋กœ์— ๋“ค์–ด๊ฐ€๋ฉด?

๋งค ๊ฑธ์Œ๋งˆ๋‹ค ๋ฒฝ๊นŒ์ง€ ๊ฑฐ๋ฆฌ๋ฅผ ๊ณ„์‚ฐํ•  ํ•„์š” ์—†์–ด. ์ง€๋„๋ฅผ ๋ณด๋ฉด ๋˜๊ฑฐ๋“ !

์ง€๋„ ๋ณด๊ณ : "์•„, ์™ผ์ชฝ์€ ๋ง‰ํ˜€์žˆ๋„ค. ์˜ค๋ฅธ์ชฝ์œผ๋กœ ๊ฐ€์ž."

์ด๊ฒŒ ํ•ต์‹ฌ์ด์•ผ. ๋ณต์žกํ•œ ๊ธฐํ•˜ํ•™ ๊ณ„์‚ฐ์„ ๋ฏธ๋ฆฌ ํ•œ ๋ฒˆ๋งŒ ํ•˜๊ณ , ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ์ €์žฅํ•ด๋‘๋Š” ๊ฑฐ์•ผ.

๋กœ๋ด‡ ํŒŒ์ง€ ๋ฌธ์ œ์—์„œ ์ด โ€œ์ง€๋„โ€๊ฐ€ ๋ฐ”๋กœ Contact Field์•ผ.


๐Ÿ—บ๏ธ Contact Field๊ฐ€ ๋ญ”๋ฐ?

Contact Field๋Š” ๋ฌผ์ฒด ํ‘œ๋ฉด์— ๋Œ€ํ•œ โ€œ์ ‘์ด‰ ๊ฐ€๋Šฅ์„ฑ ์ง€๋„โ€์•ผ.

์‰ฌ์šด ๋น„์œ : ์†๋ฐ”๋‹ฅ ๋„์žฅ ์ฐ๊ธฐ

์‚ฌ๊ณผ์— ์†๋ฐ”๋‹ฅ ๋„์žฅ์„ ์ฐ๋Š”๋‹ค๊ณ  ์ƒ์ƒํ•ด๋ด. ๊ทผ๋ฐ ์•„๋ฌด ๋ฐ๋‚˜ ์ฐ๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ:

  • ์—„์ง€๋Š” ์ด ๋ถ€๋ถ„์— ๋‹ฟ์„ ์ˆ˜ ์žˆ์–ด
  • ๊ฒ€์ง€๋Š” ์ € ๋ถ€๋ถ„์— ๋‹ฟ์„ ์ˆ˜ ์žˆ์–ด
  • ์ค‘์ง€๋Š” ์ด์ชฝ์— ๋‹ฟ์„ ์ˆ˜ ์žˆ์–ด
  • โ€ฆ

์ด๊ฑธ ๋ฏธ๋ฆฌ ์‚ฌ๊ณผ ํ‘œ๋ฉด์— ์ƒ‰์น ํ•ด๋‘๋Š” ๊ฑฐ์•ผ.

โ€œ๋นจ๊ฐ„์ƒ‰ ์˜์—ญ = ์—„์ง€๊ฐ€ ๋‹ฟ์„ ์ˆ˜ ์žˆ๋Š” ๊ณณโ€ โ€œํŒŒ๋ž€์ƒ‰ ์˜์—ญ = ๊ฒ€์ง€๊ฐ€ ๋‹ฟ์„ ์ˆ˜ ์žˆ๋Š” ๊ณณโ€ โ€œ์ดˆ๋ก์ƒ‰ ์˜์—ญ = ์ค‘์ง€๊ฐ€ ๋‹ฟ์„ ์ˆ˜ ์žˆ๋Š” ๊ณณโ€

์ด ์ƒ‰์น ๋œ ์ง€๋„๊ฐ€ Contact Field์•ผ!

๊ตฌ์ฒด์ ์œผ๋กœ ๋ญ˜ ์ €์žฅํ•˜๋‚˜?

Contact Field์—๋Š” ๋ฌผ์ฒด ํ‘œ๋ฉด์˜ ๊ฐ ์ ์— ๋Œ€ํ•ด ์ด๋Ÿฐ ์ •๋ณด๊ฐ€ ๋“ค์–ด์žˆ์–ด:

  1. ์–ด๋–ค ์†๊ฐ€๋ฝ์ด ์—ฌ๊ธฐ ๋‹ฟ์„ ์ˆ˜ ์žˆ๋‚˜?
    • ์†๊ฐ€๋ฝ๋งˆ๋‹ค ๋„๋‹ฌ ๊ฐ€๋Šฅํ•œ ๋ฒ”์œ„๊ฐ€ ๋‹ฌ๋ผ. ์—„์ง€๋Š” ์ด์ชฝ, ๊ฒ€์ง€๋Š” ์ €์ชฝ.
  2. ์–ด๋–ค ๊ฐ๋„๋กœ ๋‹ฟ์„ ์ˆ˜ ์žˆ๋‚˜?
    • ์†๊ฐ€๋ฝ ๋์ด ํ‘œ๋ฉด์— ์ˆ˜์ง์œผ๋กœ ๋‹ฟ์•„์•ผ ํ•ด. ๋น„์Šค๋“ฌํžˆ ๋‹ฟ์œผ๋ฉด ๋ฏธ๋„๋Ÿฌ์ง€๋‹ˆ๊นŒ.
    • ๊ทธ๋ž˜์„œ โ€œ์ด ์ ์—์„œ๋Š” ์ด๋Ÿฐ ๋ฐฉํ–ฅ์œผ๋กœ๋งŒ ์†๊ฐ€๋ฝ์ด ์ ‘๊ทผ ๊ฐ€๋Šฅโ€์ด๋ผ๋Š” ์ •๋ณด๋ฅผ ์ €์žฅํ•ด.
  3. ์ด ์ ์— ๋‹ฟ์œผ๋ ค๋ฉด ์†์ด ์–ด๋”” ์žˆ์–ด์•ผ ํ•˜๋‚˜?
    • ์†๋ฐ”๋‹ฅ ์œ„์น˜์™€ ๋ฐฉํ–ฅ์— ๋”ฐ๋ผ ์†๊ฐ€๋ฝ์ด ๋‹ฟ์„ ์ˆ˜ ์žˆ๋Š” ๊ณณ์ด ๋‹ฌ๋ผ์ ธ.

๐Ÿ”ง Contact Field๋Š” ์–ด๋–ป๊ฒŒ ๋งŒ๋“ค์–ด?

์ž, ์ด์ œ Contact Field๋ฅผ ์‹ค์ œ๋กœ ์–ด๋–ป๊ฒŒ ๋งŒ๋“œ๋Š”์ง€ ์„ค๋ช…ํ•ด์ค„๊ฒŒ.

Step 1: ๋ฌผ์ฒด ํ‘œ๋ฉด์— ์  ๋ฟŒ๋ฆฌ๊ธฐ

๋จผ์ € ๋ฌผ์ฒด ํ‘œ๋ฉด์— ์ ์„ ์—„์ฒญ ๋งŽ์ด ๋ฟŒ๋ ค. ์‚ฌ๊ณผ๋ผ๋ฉด ์‚ฌ๊ณผ ๊ป์งˆ ์ „์ฒด์— ์ˆ˜์ฒœ ๊ฐœ์˜ ์ ์„ ๊ท ์ผํ•˜๊ฒŒ ๋ฐฐ์น˜ํ•ด.

๋ฌผ์ฒด ํ‘œ๋ฉด โ†’ ์ˆ˜์ฒœ ๊ฐœ์˜ ์ ์œผ๋กœ ์ƒ˜ํ”Œ๋ง

Step 2: ๊ฐ ์ ์—์„œ โ€œ๋ˆ„๊ฐ€ ๋‹ฟ์„ ์ˆ˜ ์žˆ๋‚˜?โ€ ๊ณ„์‚ฐ

์ด์ œ ๊ฐ ์ ์— ๋Œ€ํ•ด ์งˆ๋ฌธํ•ด:

โ€œ์ด ์ ์— ์—„์ง€๊ฐ€ ๋‹ฟ์„ ์ˆ˜ ์žˆ๋‚˜?โ€ โ€œ์ด ์ ์— ๊ฒ€์ง€๊ฐ€ ๋‹ฟ์„ ์ˆ˜ ์žˆ๋‚˜?โ€ โ€ฆ

์ด๊ฑธ ์–ด๋–ป๊ฒŒ ํŒ๋‹จํ•˜๋ƒ๋ฉด:

  1. ์†๊ฐ€๋ฝ ๋„๋‹ฌ ๋ฒ”์œ„ ํ™•์ธ: ์†๋ฐ”๋‹ฅ์ด ํŠน์ • ์œ„์น˜์— ์žˆ์„ ๋•Œ, ๊ฐ ์†๊ฐ€๋ฝ์ด ๋ป—์„ ์ˆ˜ ์žˆ๋Š” ๋ฒ”์œ„๊ฐ€ ์žˆ์–ด. ์ด๊ฑด ๋กœ๋ด‡ ์†์˜ ์„ค๊ณ„๋„(URDF ํŒŒ์ผ)์—์„œ ์•Œ ์ˆ˜ ์žˆ์–ด.

  2. ํ‘œ๋ฉด ๋ฒ•์„  ํ™•์ธ: ๊ฐ ์ ์—๋Š” โ€œ๋ฒ•์„ (normal)โ€์ด๋ผ๋Š” ๊ฒŒ ์žˆ์–ด. ์‰ฝ๊ฒŒ ๋งํ•˜๋ฉด ๊ทธ ์ ์—์„œ ํ‘œ๋ฉด์ด ์–ด๋А ๋ฐฉํ–ฅ์„ ํ–ฅํ•˜๊ณ  ์žˆ๋Š”์ง€์•ผ. ์†๊ฐ€๋ฝ์€ ์ด ๋ฒ•์„  ๋ฐฉํ–ฅ๊ณผ ๋Œ€๋žต ์ผ์น˜ํ•˜๊ฒŒ ์ ‘๊ทผํ•ด์•ผ ์ œ๋Œ€๋กœ ๋‹ฟ์„ ์ˆ˜ ์žˆ์–ด.

Step 3: Contact Patches ์ •์˜

์—ฌ๊ธฐ์„œ โ€œContact Patchโ€๋ผ๋Š” ๊ฐœ๋…์ด ๋‚˜์™€.

์†๊ฐ€๋ฝ ๋์„ ์ƒ๊ฐํ•ด๋ด. ์†๊ฐ€๋ฝ ๋์€ ์™„์ „ํ•œ ์ ์ด ์•„๋‹ˆ๋ผ ์ž‘์€ ๋ฉด์ ์ด ์žˆ์–ด. ์ด ๋ฉด์  ๋‚ด์—์„œ ๋ฌผ์ฒด์™€ ์ ‘์ด‰์ด ์ผ์–ด๋‚˜.

Contact Patch๋Š” โ€œ์ด ์†๊ฐ€๋ฝ์˜ ์ด ๋ถ€๋ถ„์ด ๋ฌผ์ฒด์˜ ์ด๋Ÿฐ ํ‘œ๋ฉด์— ๋‹ฟ์„ ์ˆ˜ ์žˆ๋‹คโ€๋ฅผ ์ •์˜ํ•œ ๊ฑฐ์•ผ.

์˜ˆ๋ฅผ ๋“ค์–ด: - โ€œ์—„์ง€ ๋์˜ ์•ˆ์ชฝ ๋ฉด์€ ์œ„๋ฅผ ํ–ฅํ•œ ํ‘œ๋ฉด์— ๋‹ฟ์„ ์ˆ˜ ์žˆ๋‹คโ€ - โ€œ๊ฒ€์ง€ ๋์€ ์†๋ฐ”๋‹ฅ์„ ํ–ฅํ•œ ํ‘œ๋ฉด์— ๋‹ฟ์„ ์ˆ˜ ์žˆ๋‹คโ€

์ด๋Ÿฐ ๊ทœ์น™๋“ค์„ ๋ฏธ๋ฆฌ ์ •์˜ํ•ด๋‘๋ฉด, ๋ฌผ์ฒด ํ‘œ๋ฉด์˜ ๊ฐ ์ ์ด ์–ด๋–ค Contact Patch์— ์†ํ•˜๋Š”์ง€ ๋น ๋ฅด๊ฒŒ ๋ถ„๋ฅ˜ํ•  ์ˆ˜ ์žˆ์–ด.

Step 4: ํšจ์œจ์ ์ธ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋กœ ์ €์žฅ

์ด ์ •๋ณด๋ฅผ ๊ทธ๋ƒฅ ์ €์žฅํ•˜๋ฉด ๋А๋ ค. ๊ทธ๋ž˜์„œ LBVH(Linear Bounding Volume Hierarchy)๋ผ๋Š” ํŠน๋ณ„ํ•œ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ์จ.

LBVH๊ฐ€ ๋ญ๋ƒ๋ฉดโ€ฆ ๋„์„œ๊ด€ ๋น„์œ ๋ฅผ ํ•ด์ค„๊ฒŒ.

๋„์„œ๊ด€์—์„œ ์ฑ…์„ ์ฐพ๋Š”๋‹ค๊ณ  ํ•ด๋ด: - ๋‚˜์œ ๋ฐฉ๋ฒ•: ์ฑ…์„ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋๊นŒ์ง€ ํ•˜๋‚˜์”ฉ ํ™•์ธ - ์ข‹์€ ๋ฐฉ๋ฒ•: โ€œ๊ณผํ•™ ์ฝ”๋„ˆ โ†’ ๋ฌผ๋ฆฌํ•™ ์„น์…˜ โ†’ P๋กœ ์‹œ์ž‘ํ•˜๋Š” ์ €์žโ€ ์ด๋ ‡๊ฒŒ ๋ฒ”์œ„๋ฅผ ์ขํ˜€๊ฐ€๊ธฐ

LBVH๋Š” 3D ๊ณต๊ฐ„์„ ์ด๋ ‡๊ฒŒ ๊ณ„์ธต์ ์œผ๋กœ ๋‚˜๋ˆ ๋†“์€ ๊ฑฐ์•ผ. ๊ทธ๋ž˜์„œ โ€œ์ด ์œ„์น˜ ๊ทผ์ฒ˜์— ์žˆ๋Š” ์ ๋“คโ€์„ ์—„์ฒญ ๋น ๋ฅด๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ์–ด.


๐ŸŽฏ Phase 1: Contact Domain ์‹๋ณ„

Contact Field๊ฐ€ ๋งŒ๋“ค์–ด์กŒ์œผ๋ฉด, ์ด์ œ ๋ณธ๊ฒฉ์ ์œผ๋กœ ํŒŒ์ง€๋ฅผ ์ฐพ์•„๋ณผ ์ฐจ๋ก€์•ผ.

๋ญ˜ ํ•˜๋Š” ๋‹จ๊ณ„์•ผ?

โ€œ๊ฐ ์†๊ฐ€๋ฝ์ด ๋ฌผ์ฒด์˜ ์–ด๋””๋ฅผ ์žก์„ ์ˆ˜ ์žˆ๋‚˜?โ€๋ฅผ ํŒŒ์•…ํ•˜๋Š” ๋‹จ๊ณ„์•ผ.

์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•ด?

  1. ๋ฌผ์ฒด๋ฅผ ์† ์•ž์— ๋ฐฐ์น˜ํ•ด
    • ๋ฌผ์ฒด๊ฐ€ ์†๋ฐ”๋‹ฅ ์•ž ์–ด๋”˜๊ฐ€์— ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด.
    • ์ด ์œ„์น˜๋ฅผ โ€œ์ •๊ทœ ๊ฐ์ฒด ๊ณต๊ฐ„(canonical object space)โ€์ด๋ผ๊ณ  ๋ถˆ๋Ÿฌ.
  2. Contact Field๋ฅผ ์กฐํšŒํ•ด
    • ๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด๋‘” Contact Field๋ฅผ ๋ณด๊ณ , ํ˜„์žฌ ๋ฌผ์ฒด ์œ„์น˜์—์„œ:
    • โ€œ์—„์ง€๋Š” ์—ฌ๊ธฐ, ์—ฌ๊ธฐ, ์—ฌ๊ธฐ๋ฅผ ์žก์„ ์ˆ˜ ์žˆ๊ฒ ๋„คโ€
    • โ€œ๊ฒ€์ง€๋Š” ์ €๊ธฐ, ์ €๊ธฐ๋ฅผ ์žก์„ ์ˆ˜ ์žˆ๊ฒ ๋„คโ€
    • ์ด๋Ÿฐ ์ •๋ณด๋ฅผ ๋น ๋ฅด๊ฒŒ ์ฝ์–ด์™€.
  3. Contact Domain ๊ตฌ์„ฑ
    • ๊ฐ ์†๊ฐ€๋ฝ๋ณ„๋กœ โ€œ์žก์„ ์ˆ˜ ์žˆ๋Š” ํ›„๋ณด ์˜์—ญโ€์„ ๋ชจ์•„. ์ด๊ฒŒ Contact Domain์ด์•ผ.

์™œ ์ด๊ฒŒ ๋นจ๋ผ?

๊ธฐ์กด ๋ฐฉ๋ฒ•: ๋งค๋ฒˆ โ€œ์ด ์ ์— ์†๊ฐ€๋ฝ์ด ๋‹ฟ์„ ์ˆ˜ ์žˆ๋‚˜?โ€ ๊ณ„์‚ฐ Lightning Grasp: Contact Field ํ…Œ์ด๋ธ”์—์„œ ์ฝ์–ด์˜ค๊ธฐ๋งŒ ํ•˜๋ฉด ๋จ

ํ…Œ์ด๋ธ” ์กฐํšŒ๋Š” ๊ฑฐ์˜ ์ฆ‰์‹œ์•ผ. ๊ณ„์‚ฐ์ด ํ•„์š” ์—†๊ฑฐ๋“ !


โšก Phase 2: Contact ์ตœ์ ํ™”

์ด์ œ ์žฌ๋ฐŒ๋Š” ๋ถ€๋ถ„์ด์•ผ. ์–ด๋””๋ฅผ ์žก์„์ง€ ์„ ํƒํ•˜๋Š” ๋‹จ๊ณ„!

๋ฌธ์ œ ์ƒํ™ฉ

Phase 1์—์„œ ๊ฐ ์†๊ฐ€๋ฝ๋งˆ๋‹ค โ€œ์žก์„ ์ˆ˜ ์žˆ๋Š” ํ›„๋ณด ์ โ€์ด ์ˆ˜์‹ญ~์ˆ˜๋ฐฑ ๊ฐœ ๋‚˜์™”์–ด.

์˜ˆ๋ฅผ ๋“ค์–ด: - ์—„์ง€: 50๊ฐœ ํ›„๋ณด ์  - ๊ฒ€์ง€: 40๊ฐœ ํ›„๋ณด ์  - ์ค‘์ง€: 45๊ฐœ ํ›„๋ณด ์  - ์•ฝ์ง€: 35๊ฐœ ํ›„๋ณด ์ 

์ด ์ค‘์—์„œ ์–ด๋–ค ์กฐํ•ฉ์ด ๊ฐ€์žฅ ์•ˆ์ •์ ์œผ๋กœ ๋ฌผ์ฒด๋ฅผ ์žก์„ ์ˆ˜ ์žˆ์„๊นŒ?

์•ˆ์ •์ ์ธ ํŒŒ์ง€๋ž€?

๋ฌผ์ฒด๋ฅผ ์žก์•˜์„ ๋•Œ ํ”๋“ค๋ฆฌ๊ฑฐ๋‚˜ ๋น ์ง€์ง€ ์•Š์œผ๋ ค๋ฉด โ€œForce Closureโ€๋ผ๋Š” ์กฐ๊ฑด์„ ๋งŒ์กฑํ•ด์•ผ ํ•ด.

์‰ฝ๊ฒŒ ์„ค๋ช…ํ•˜๋ฉด:

๋ฌผ์ฒด๊ฐ€ ์–ด๋А ๋ฐฉํ–ฅ์œผ๋กœ ์›€์ง์ด๋ ค ํ•ด๋„, ์†๊ฐ€๋ฝ๋“ค์ด ๊ทธ๊ฑธ ๋ง‰์„ ์ˆ˜ ์žˆ์–ด์•ผ ํ•ด.

์˜ˆ๋ฅผ ๋“ค์–ด ์‚ฌ๊ณผ๋ฅผ ์žก์•˜๋Š”๋ฐ: - ์‚ฌ๊ณผ๊ฐ€ ์™ผ์ชฝ์œผ๋กœ ๊ฐ€๋ ค ํ•ด โ†’ ์˜ค๋ฅธ์ชฝ ์†๊ฐ€๋ฝ์ด ๋ง‰์•„์คŒ โœ“ - ์‚ฌ๊ณผ๊ฐ€ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ๊ฐ€๋ ค ํ•ด โ†’ ์™ผ์ชฝ ์†๊ฐ€๋ฝ์ด ๋ง‰์•„์คŒ โœ“ - ์‚ฌ๊ณผ๊ฐ€ ์œ„๋กœ ๊ฐ€๋ ค ํ•ด โ†’ ์•„๋ž˜์ชฝ ์†๊ฐ€๋ฝ์ด ๋ง‰์•„์คŒ โœ“ - ์‚ฌ๊ณผ๊ฐ€ ์•„๋ž˜๋กœ ๊ฐ€๋ ค ํ•ด โ†’ ์œ„์ชฝ ์†๊ฐ€๋ฝ์ด ๋ง‰์•„์คŒ โœ“ - ์‚ฌ๊ณผ๊ฐ€ ํšŒ์ „ํ•˜๋ ค ํ•ด โ†’ ์†๊ฐ€๋ฝ ๋ฐฐ์น˜๊ฐ€ ๋ง‰์•„์คŒ โœ“

๋ชจ๋“  ๋ฐฉํ–ฅ์˜ ํž˜๊ณผ ํšŒ์ „์„ ๋ง‰์„ ์ˆ˜ ์žˆ์œผ๋ฉด โ€œForce Closureโ€ ๋‹ฌ์„ฑ!

์–ด๋–ป๊ฒŒ ์ตœ์ ์˜ ์กฐํ•ฉ์„ ์ฐพ์•„?

์—ฌ๊ธฐ์„œ Lightning Grasp์˜ ์˜๋ฆฌํ•จ์ด ๋น›๋‚˜.

๊ธฐ์กด ๋ฐฉ๋ฒ•:

๋ชจ๋“  ๊ฐ€๋Šฅํ•œ ์กฐํ•ฉ์„ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ํ•ด์„œ ์ ์ˆ˜ ๋งค๊ธฐ๊ธฐ
โ†’ ์กฐํ•ฉ ์ˆ˜๊ฐ€ 50 ร— 40 ร— 45 ร— 35 = 3,150,000๊ฐœ... ๋„ˆ๋ฌด ๋งŽ์•„!

Lightning Grasp:

1. Contact Field ์ •๋ณด๋ฅผ ํ™œ์šฉํ•ด์„œ "๋ง์ด ์•ˆ ๋˜๋Š” ์กฐํ•ฉ"์€ ๋ฏธ๋ฆฌ ์ œ์™ธ
2. GPU์—์„œ ์ˆ˜์ฒœ ๊ฐœ ์กฐํ•ฉ์„ ๋™์‹œ์— ํ‰๊ฐ€
3. Force Closure ์ ์ˆ˜๊ฐ€ ๋†’์€ ๊ฒƒ๋“ค๋งŒ ์„ ๋ณ„

GPU ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ์˜ ๋งˆ๋ฒ•

์—ฌ๊ธฐ์„œ GPU๊ฐ€ ํ•ต์‹ฌ์ด์•ผ.

CPU๋Š” ํ•œ ๋ฒˆ์— ํ•œ ๊ฐ€์ง€ ์ผ์„ ์•„์ฃผ ๋น ๋ฅด๊ฒŒ ํ•ด. GPU๋Š” ํ•œ ๋ฒˆ์— ์ˆ˜์ฒœ ๊ฐ€์ง€ ์ผ์„ ๋™์‹œ์— ํ•ด.

ํŒŒ์ง€ ํ›„๋ณด ํ‰๊ฐ€๋Š” ๊ฐ๊ฐ ๋…๋ฆฝ์ ์ด์•ผ. A ์กฐํ•ฉ์„ ํ‰๊ฐ€ํ•˜๋Š” ๊ฒŒ B ์กฐํ•ฉ ํ‰๊ฐ€์— ์˜ํ–ฅ ์•ˆ ์ค˜. ๊ทธ๋ž˜์„œ GPU๊ฐ€ ์ˆ˜์ฒœ ๊ฐœ ์กฐํ•ฉ์„ ๋™์‹œ์— ํ‰๊ฐ€ํ•  ์ˆ˜ ์žˆ์–ด.

CPU ๋ฐฉ์‹: ์กฐํ•ฉ1 ํ‰๊ฐ€ โ†’ ์กฐํ•ฉ2 ํ‰๊ฐ€ โ†’ ์กฐํ•ฉ3 ํ‰๊ฐ€ โ†’ ... (์ˆœ์ฐจ์ )
GPU ๋ฐฉ์‹: ์กฐํ•ฉ1, ์กฐํ•ฉ2, ์กฐํ•ฉ3, ..., ์กฐํ•ฉ1000 ๋™์‹œ ํ‰๊ฐ€ (๋ณ‘๋ ฌ)

์ด๊ฒŒ Lightning Grasp๊ฐ€ ๋น ๋ฅธ ํ•ต์‹ฌ ์ด์œ  ์ค‘ ํ•˜๋‚˜์•ผ.


๐Ÿฆพ Phase 3: ์šด๋™ํ•™ ์ตœ์ ํ™”

Contact ์ตœ์ ํ™”์—์„œ โ€œ์—„์ง€๋Š” ์—ฌ๊ธฐ, ๊ฒ€์ง€๋Š” ์ €๊ธฐ, ์ค‘์ง€๋Š” ์—ฌ๊ธฐ๋ฅผ ์žก์•„๋ผโ€๊ฐ€ ๊ฒฐ์ •๋์–ด.

๊ทผ๋ฐ ์•„์ง ๋๋‚œ ๊ฒŒ ์•„๋‹ˆ์•ผ. ์‹ค์ œ๋กœ ๊ทธ ์œ„์น˜์— ์†๊ฐ€๋ฝ์„ ๊ฐ€์ ธ๋‹ค ๋†“์œผ๋ ค๋ฉด ๊ด€์ ˆ์„ ์–ผ๋งˆ๋‚˜ ๊ตฌ๋ถ€๋ ค์•ผ ํ•˜์ง€?

์ด๊ฑธ ํ‘ธ๋Š” ๊ฒŒ ์—ญ์šด๋™ํ•™(Inverse Kinematics, IK) ๋ฌธ์ œ์•ผ.

์—ญ์šด๋™ํ•™์ด ๋ญ”๋ฐ?

์ˆœ์šด๋™ํ•™(Forward Kinematics): โ€œ๊ด€์ ˆ ๊ฐ๋„ โ†’ ์†๊ฐ€๋ฝ ๋ ์œ„์น˜โ€ - โ€œ์—„์ง€ ์ฒซ ๋ฒˆ์งธ ๊ด€์ ˆ 30๋„, ๋‘ ๋ฒˆ์งธ ๊ด€์ ˆ 45๋„๋ฉดโ€ฆ ์—„์ง€ ๋์ด ์—ฌ๊ธฐ ์žˆ๊ฒ ๋„คโ€

์—ญ์šด๋™ํ•™(Inverse Kinematics): โ€œ์†๊ฐ€๋ฝ ๋ ์œ„์น˜ โ†’ ๊ด€์ ˆ ๊ฐ๋„โ€ - โ€œ์—„์ง€ ๋์„ ์ €๊ธฐ์— ๋†“๊ณ  ์‹ถ์€๋ฐโ€ฆ ๊ด€์ ˆ๋“ค์„ ์–ผ๋งˆ๋‚˜ ๊ตฌ๋ถ€๋ ค์•ผ ํ•˜์ง€?โ€

์—ญ์šด๋™ํ•™์ด ๋” ์–ด๋ ค์›Œ. ๊ฐ™์€ ์œ„์น˜์— ์†๊ฐ€๋ฝ ๋์„ ๋†“๋Š” ๊ด€์ ˆ ๊ฐ๋„ ์กฐํ•ฉ์ด ์—ฌ๋Ÿฌ ๊ฐœ ์žˆ์„ ์ˆ˜ ์žˆ๊ฑฐ๋“ .

Lightning Grasp์˜ IK ํ’€์ด

  1. ๋ชฉํ‘œ ์„ค์ •: Phase 2์—์„œ ์ •ํ•œ ์ ‘์ด‰ ์ ๋“ค
  2. ์ดˆ๊ธฐ ์ž์„ธ์—์„œ ์‹œ์ž‘: ์†๊ฐ€๋ฝ์ด ํŽด์ง„ ์ƒํƒœ
  3. ๋ฐ˜๋ณต์  ์กฐ์ •:
    • ํ˜„์žฌ ์†๊ฐ€๋ฝ ๋ ์œ„์น˜์™€ ๋ชฉํ‘œ ์œ„์น˜ ๋น„๊ต
    • ์ฐจ์ด๋ฅผ ์ค„์ด๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ๊ด€์ ˆ ๊ฐ๋„ ์กฐ์ •
    • ๋ชฉํ‘œ์— ์ถฉ๋ถ„ํžˆ ๊ฐ€๊นŒ์›Œ์งˆ ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณต

์†๊ฐ€๋ฝ ๋์ด ์ •ํ™•ํžˆ ๋‹ฟ๊ฒŒ ๋งŒ๋“ค๊ธฐ

์—ฌ๊ธฐ์„œ ์ค‘์š”ํ•œ ๊ฑด ์†๊ฐ€๋ฝ ๋์ด ๋ฌผ์ฒด ํ‘œ๋ฉด์— ์ •ํ™•ํžˆ ๋‹ฟ์•„์•ผ ํ•œ๋‹ค๋Š” ๊ฑฐ์•ผ.

  • ๋„ˆ๋ฌด ๋ฉ€๋ฉด: ์†๊ฐ€๋ฝ์ด ํ—ˆ๊ณต์— ๋– ์žˆ์Œ โ†’ ํŒŒ์ง€ ์‹คํŒจ
  • ๋„ˆ๋ฌด ๊ฐ€๊นŒ์šฐ๋ฉด: ์†๊ฐ€๋ฝ์ด ๋ฌผ์ฒด๋ฅผ ๋šซ๊ณ  ๋“ค์–ด๊ฐ โ†’ ๋ฌผ๋ฆฌ์ ์œผ๋กœ ๋ถˆ๊ฐ€๋Šฅ

Lightning Grasp๋Š” ๊ฐ ์†๊ฐ€๋ฝ ๋์ด ๋ฌผ์ฒด ํ‘œ๋ฉด์— ์ •ํ™•ํžˆ ๋‹ฟ๋„๋ก ๋ฏธ์„ธ ์กฐ์ •ํ•ด.

์•ˆ ์“ฐ๋Š” ์†๊ฐ€๋ฝ์€?

๋งŒ์•ฝ ์—„์ง€์™€ ๊ฒ€์ง€๋งŒ ์จ์„œ ์žก๋Š” ํŒŒ์ง€๋ผ๋ฉด, ์ค‘์ง€์™€ ์•ฝ์ง€๋Š” ๋ญ˜ ํ•ด?

  1. ๋ฌด์ž‘์œ„ ์ž์„ธ ์ƒ์„ฑ: ์ค‘์ง€์™€ ์•ฝ์ง€์— ๋žœ๋คํ•œ ๊ด€์ ˆ ๊ฐ๋„ ๋ถ€์—ฌ
  2. ์ถฉ๋Œ ๊ฒ€์‚ฌ:
    • ์ค‘์ง€๊ฐ€ ์•ฝ์ง€๋ž‘ ๋ถ€๋”ชํžˆ๋‚˜? โ†’ ์ด ์ž์„ธ ํƒˆ๋ฝ
    • ์ค‘์ง€๊ฐ€ ๋ฌผ์ฒด๋ฅผ ๋šซ๋‚˜? โ†’ ์ด ์ž์„ธ ํƒˆ๋ฝ
  3. ์œ ํšจํ•œ ์ž์„ธ๋งŒ ์„ ํƒ

๐Ÿ” ์ถฉ๋Œ ๊ฒ€์‚ฌ: Two-Phase ์•Œ๊ณ ๋ฆฌ์ฆ˜

์ถฉ๋Œ ๊ฒ€์‚ฌ๋„ Lightning Grasp๊ฐ€ ๋น ๋ฅธ ์ด์œ  ์ค‘ ํ•˜๋‚˜์•ผ.

๋ฌธ์ œ

์† ๋ฉ”์‰ฌ์™€ ๋ฌผ์ฒด ๋ฉ”์‰ฌ๊ฐ€ ๊ฒน์น˜๋Š”์ง€ ํ™•์ธํ•ด์•ผ ํ•ด.

๋ฉ”์‰ฌ๋Š” ์ˆ˜์ฒœ~์ˆ˜๋งŒ ๊ฐœ์˜ ์ž‘์€ ์‚ผ๊ฐํ˜•์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์–ด. ๋ชจ๋“  ์‚ผ๊ฐํ˜• ์Œ์„ ๋น„๊ตํ•˜๋ฉด?

์† ์‚ผ๊ฐํ˜• 10,000๊ฐœ ร— ๋ฌผ์ฒด ์‚ผ๊ฐํ˜• 10,000๊ฐœ = 1์–ต ๋ฒˆ ๋น„๊ตโ€ฆ ๋ฏธ์นœ ์ง“์ด์ง€.

Two-Phase ํ•ด๊ฒฐ์ฑ…

Phase 1: Broad Phase (๋Œ€๋žต์  ํ•„ํ„ฐ๋ง)

AABB(Axis-Aligned Bounding Box)๋ฅผ ์จ.

AABB๋Š” ๋ฌผ์ฒด๋ฅผ ๊ฐ์‹ธ๋Š” ๊ฐ€์žฅ ์ž‘์€ ์ง์œก๋ฉด์ฒด์•ผ. ์ƒ์ž ๋ชจ์–‘์œผ๋กœ ๋Œ€๋žต ๊ฐ์‹ธ๋Š” ๊ฑฐ์ง€.

์†๊ฐ€๋ฝ AABB์™€ ๋ฌผ์ฒด AABB๊ฐ€ ๊ฒน์น˜๋‚˜?
- ์•ˆ ๊ฒน์นจ โ†’ ์ถฉ๋Œ ์—†์Œ, ๋!
- ๊ฒน์นจ โ†’ Phase 2๋กœ

AABB ๊ฒน์นจ ํ™•์ธ์€ ์—„์ฒญ ๋นจ๋ผ. ๊ทธ๋ƒฅ x, y, z ์ขŒํ‘œ ๋ฒ”์œ„๋งŒ ๋น„๊ตํ•˜๋ฉด ๋ผ.

Phase 2: Narrow Phase (์ •๋ฐ€ ๊ฒ€์‚ฌ)

Broad Phase๋ฅผ ํ†ต๊ณผํ•œ ๊ฒƒ๋“ค๋งŒ ์ •๋ฐ€ ๊ฒ€์‚ฌํ•ด.

์‹ค์ œ ์‚ผ๊ฐํ˜• ๋ฉ”์‰ฌ๋ผ๋ฆฌ ๊ฒน์น˜๋Š”์ง€ ์ •ํ™•ํžˆ ๊ณ„์‚ฐํ•ด.

์ „์ฒด ๋น„๊ต ์ˆ˜: 1์–ต ๊ฐœ
Broad Phase ํ›„ ๋‚จ์€ ๊ฒƒ: ์ˆ˜์ฒœ ๊ฐœ
์‹ค์ œ๋กœ ์ •๋ฐ€ ๊ฒ€์‚ฌํ•˜๋Š” ๊ฒƒ: ์ˆ˜์ฒœ ๊ฐœ๋งŒ!

99% ์ด์ƒ์˜ ๋ถˆํ•„์š”ํ•œ ๊ณ„์‚ฐ์„ ๋ฏธ๋ฆฌ ๊ฑธ๋Ÿฌ๋‚ด๋Š” ๊ฑฐ์•ผ.


๐Ÿ“Š ์ „์ฒด ํŒŒ์ดํ”„๋ผ์ธ ์š”์•ฝ

์ž, ์ด์ œ ์ „์ฒด ๊ทธ๋ฆผ์„ ๊ทธ๋ ค๋ณผ๊ฒŒ.

[์ž…๋ ฅ]
- ๋ฌผ์ฒด 3D ๋ฉ”์‰ฌ (์˜ˆ: ์‚ฌ๊ณผ.obj)
- ๋กœ๋ด‡ ์† ๋ชจ๋ธ (์˜ˆ: Allegro Hand URDF)

    โ†“

[์‚ฌ์ „ ๊ณ„์‚ฐ: Contact Field ๊ตฌ์ถ•]
- ๋ฌผ์ฒด ํ‘œ๋ฉด ์ƒ˜ํ”Œ๋ง
- ๊ฐ ์ ์— ๋Œ€ํ•ด ์†๊ฐ€๋ฝ ๋„๋‹ฌ ๊ฐ€๋Šฅ์„ฑ ๊ณ„์‚ฐ
- LBVH ๊ตฌ์กฐ๋กœ ์ €์žฅ
โ†’ ์ด๊ฑด ํ•œ ๋ฒˆ๋งŒ ํ•˜๋ฉด ๋จ!

    โ†“

[Phase 1: Contact Domain ์‹๋ณ„]
- Contact Field ์กฐํšŒ
- ๊ฐ ์†๊ฐ€๋ฝ์˜ ์ ‘์ด‰ ๊ฐ€๋Šฅ ์˜์—ญ ํŒŒ์•…
โ†’ ํ…Œ์ด๋ธ” ์กฐํšŒ๋ผ์„œ ๋น ๋ฆ„!

    โ†“

[Phase 2: Contact ์ตœ์ ํ™”]
- ์†๊ฐ€๋ฝ๋ณ„ ์ ‘์ด‰ ์  ์กฐํ•ฉ ํƒ์ƒ‰
- Force Closure ์กฐ๊ฑด ํ™•์ธ
- GPU ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ๋กœ ์ˆ˜์ฒœ ๊ฐœ ๋™์‹œ ํ‰๊ฐ€
โ†’ ์ตœ์ ์˜ ์ ‘์ด‰ ์กฐํ•ฉ ์„ ํƒ

    โ†“

[Phase 3: ์šด๋™ํ•™ ์ตœ์ ํ™”]
- ์—ญ์šด๋™ํ•™์œผ๋กœ ๊ด€์ ˆ ๊ฐ๋„ ๊ณ„์‚ฐ
- ์†๊ฐ€๋ฝ ๋์ด ์ •ํ™•ํžˆ ํ‘œ๋ฉด์— ๋‹ฟ๋„๋ก ์กฐ์ •
- ๋ฏธ์‚ฌ์šฉ ์†๊ฐ€๋ฝ ์ž์„ธ ๊ฒฐ์ •
- ์ถฉ๋Œ ๊ฒ€์‚ฌ (Two-Phase)

    โ†“

[์ถœ๋ ฅ]
- ์ˆ˜์ฒœ ๊ฐœ์˜ ์œ ํšจํ•œ ํŒŒ์ง€ ์ž์„ธ
- ๊ฐ ํŒŒ์ง€์˜ ๊ด€์ ˆ ๊ฐ๋„ ๊ฐ’
- 2-5์ดˆ ๋‚ด ์™„๋ฃŒ!

๐Ÿ†š ๊ธฐ์กด ๋ฐฉ๋ฒ•๊ณผ ๋ญ๊ฐ€ ๋‹ฌ๋ผ?

ํ•œ ๋ฌธ์žฅ์œผ๋กœ ์ •๋ฆฌํ•˜๋ฉด:

๊ธฐ์กด: ์ตœ์ ํ™”ํ•˜๋ฉด์„œ ๊ณ„์† ๊ณ„์‚ฐ Lightning Grasp: ๋ฏธ๋ฆฌ ๊ณ„์‚ฐํ•ด๋‘๊ณ , ์ตœ์ ํ™”ํ•  ๋• ์กฐํšŒ๋งŒ

ํ•ญ๋ชฉ ๊ธฐ์กด ๋ฐฉ๋ฒ• Lightning Grasp
๊ธฐํ•˜ ์—ฐ์‚ฐ ๋งค ๋ฐ˜๋ณต๋งˆ๋‹ค ์‚ฌ์ „ ๊ณ„์‚ฐ 1ํšŒ
์—๋„ˆ์ง€ ํ•จ์ˆ˜ ํŠœ๋‹ ํ•„์ˆ˜ (๋งค์šฐ ๋ฏผ๊ฐ) ๋ถˆํ•„์š”
์ดˆ๊ธฐ ์ž์„ธ ํ…œํ”Œ๋ฆฟ ํ•„์ˆ˜ (์†์œผ๋กœ ์„ค๊ณ„) ๋ถˆํ•„์š”
์†๋„ ๋ถ„~์‹œ๊ฐ„ ๋‹จ์œ„ ์ดˆ ๋‹จ์œ„
๊ฒฐ๊ณผ ๋‹ค์–‘์„ฑ ์ œํ•œ์  ์ˆ˜์ฒœ ๊ฐœ

๐ŸŽฎ ์‹ค์ œ ์ˆซ์ž๋กœ ๋ณด๋ฉด?

  • A100 GPU: 2-5์ดˆ์— 1,000-10,000๊ฐœ ํŒŒ์ง€ ์ƒ์„ฑ
  • TITAN X (๊ตฌํ˜• GPU): ๊ธฐ์กด ์ตœ์‹  ๋ฐฉ๋ฒ•๋ณด๋‹ค 20-100๋ฐฐ ๋น ๋ฆ„
  • ์ง€์› ๋กœ๋ด‡ ์†: Allegro, Shadow, LEAP, DClaw ๋“ฑ

๐Ÿ’ญ ์™œ ์ด๊ฒŒ ์ค‘์š”ํ•œ ๋ฐœ๊ฒฌ์ธ๊ฐ€?

20๋…„ ๋™์•ˆ ์‚ฌ๋žŒ๋“ค์ด ์ด ๋ฌธ์ œ๋ฅผ ํ’€๋ ค๊ณ  ํ–ˆ์–ด. ๊ทผ๋ฐ ์™œ ์ด ๊ฐ„๋‹จํ•œ ์•„์ด๋””์–ด๋ฅผ ์•„๋ฌด๋„ ์•ˆ ์ผ์„๊นŒ?

์‚ฌ์‹ค, ์•„์ด๋””์–ด ์ž์ฒด๋Š” ๊ฐ„๋‹จํ•ด ๋ณด์ด์ง€๋งŒ ๊ตฌํ˜„์ด ์–ด๋ ค์› ์–ด:

  1. Contact Field๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐฉ๋ฒ•: LBVH ๊ฐ™์€ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ํ•„์š”
  2. GPU์—์„œ ๋ณ‘๋ ฌ๋กœ ๋Œ๋ฆฌ๋Š” ๋ฐฉ๋ฒ•: CUDA ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ „๋ฌธ์„ฑ ํ•„์š”
  3. ๋‹ค์–‘ํ•œ ๋กœ๋ด‡ ์†์— ์ผ๋ฐ˜ํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•: ์ถ”์ƒํ™” ์„ค๊ณ„ ํ•„์š”

Lightning Grasp ์ €์ž๋“ค์€ ์ด ๋ชจ๋“  ๊ฑธ ๊น”๋”ํ•˜๊ฒŒ ์—ฎ์–ด๋ƒˆ์–ด.


์ข‹์€ ๊ณผํ•™์€ ๋ณต์žกํ•œ ๋ฌธ์ œ์—์„œ ๋ณธ์งˆ์„ ์ฐพ์•„๋‚ด๋Š” ๊ฒƒ์ด์•ผ.

Lightning Grasp์˜ ๋ณธ์งˆ์€ ์ด๊ฑฐ์•ผ:

โ€œ๊ณ„์‚ฐ์€ ํ•œ ๋ฒˆ๋งŒ, ์กฐํšŒ๋Š” ์—ฌ๋Ÿฌ ๋ฒˆโ€

์ด๊ฒŒ ์ปดํ“จํ„ฐ ๊ณผํ•™์˜ ์˜ค๋ž˜๋œ ์ง€ํ˜œ์•ผ. ์บ์‹ฑ, ๋ฉ”๋ชจ์ด์ œ์ด์…˜, ๋ฃฉ์—… ํ…Œ์ด๋ธ”โ€ฆ ๋‹ค ๊ฐ™์€ ์›๋ฆฌ์ง€.

Lightning Grasp๋Š” ์ด ์›๋ฆฌ๋ฅผ ๋กœ๋ด‡ ํŒŒ์ง€ ๋ฌธ์ œ์— ์˜๋ฆฌํ•˜๊ฒŒ ์ ์šฉํ•œ ๊ฑฐ์•ผ.

Copyright 2026, JungYeon Lee