๐Lightning Grasp ๋ฆฌ๋ทฐ
๐ Ping. ๐ Ring. โ๏ธ Dig. A tiered review series: quick look, key ideas, deep dive.
- ๐ก Lightning Grasp๋ dexterous hand๋ฅผ ์ํ ๊ณ ์ฑ๋ฅ ์ ์ฐจ์ grasp synthesis ์๊ณ ๋ฆฌ์ฆ์ผ๋ก, ๊ธฐ์กด ๋ฐฉ์ ๋๋น ์๋์ ์ธ ์๋์ ๋ค์์ฑ์ ์ ๊ณตํฉ๋๋ค.
- ๐ ๏ธ ์ด ํต์ฌ ์์ด๋์ด๋ โContact Fieldโ๋ผ๋ ํจ์จ์ ์ธ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ํตํด ๋ณต์กํ ๊ธฐํํ์ ๊ณ์ฐ์ ํ์ ๊ณผ์ ์์ ๋ถ๋ฆฌํ์ฌ ๋ฌธ์ ์ ๋ณต์ก์ฑ์ ํฌ๊ฒ ์ค์ธ ๊ฒ์ ๋๋ค.
- ๐ ์ด ์ ๊ทผ ๋ฐฉ์์ ์๋์ ์ธ ํ๋ ์์ด๋ ๋ถ๊ท์นํ ๊ฐ์ฒด์ ๋ํ 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๋ ํฌ๊ฒ ์ธ ๋จ๊ณ๋ก ์ด๋ฃจ์ด์ง๋๋ค:
- ์ ์ด ๋๋ฉ์ธ ์๋ณ (Contact Domain Detection): ๊ฐ ์๊ฐ๋ฝ์ด ๊ฐ์ฒด ํ๋ฉด์์ ๋๋ฌํ ์ ์๋ ์์ญ์ธ
Contact Domain์ ์ ์ํฉ๋๋ค. - ์ ์ด์ ์ต์ ํ (Contact Point Optimization): ์์ ์ ์ธ grasp๋ฅผ ์ํด ์ด ๋๋ฉ์ธ ๋ด์์ ์ต์ ์ ์ ์ด์ ์ธํธ๋ฅผ ํ์ํฉ๋๋ค.
- 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์ ๋ค์์ฑ์ ์ ํํฉ๋๋ค.
- ์ ์ ๋งํฌ(์: ์๋ฐ๋ฅ)์์ ์ ์ด์ ์ค์ ํ๊ธฐ ์ํด, ๊ฐ์ฒด๋ฅผ ์ด๊ธฐ์๋ ์ ์ ๋งํฌ ํ๋ฉด์ ๋ฌด์์๋ก ๋ฐฐ์นํ ํ ์นจํฌ๊ฐ ์๋ ๋ฐฐ์น๋ฅผ ๋ค์ ๋จ๊ณ๋ก ์งํํฉ๋๋ค.
- Exhaustive Placement:
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
- ๊ฐ D_i์์ (p_i, n_i)๋ฅผ ๋ฌด์์๋ก ์ด๊ธฐํํฉ๋๋ค.
- ์ธ๋ถ ๋ฐ๋ณต (n_o๋ฒ):
- ๋ด๋ถ ๋ฐ๋ณต (k๋ฒ, ๊ฐ ์ ์ด์ ๋ง๋ค):
- ๋ณ์ด ๋ฐฉํฅ์ ์์ฑ (์ ์ ํ๋ฉด ๊ธฐ๋ฐ).
- [pi]โฒ๋ฅผ ๋ณ์ด๋ ์์น๋ก ์ ๋ฐ์ดํธํฉ๋๋ค.
- [pโฒi, nโฒi]๋ฅผ D_i์ ํฌ์ํฉ๋๋ค.
- ํ์ฌ ์ ์ด์ (p_i, n_i)๋ฅผ ์ฃผ๋ณ์์ J๋ฅผ ์ต์ํํ๋ ์ ์ผ๋ก ์ ๋ฐ์ดํธํฉ๋๋ค.
- ์๊ณ ๋ฆฌ์ฆ 2: Blockwise, Zeroth-Order Contact Point Optimization
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 ๋ฑ์ ์ฐ๊ตฌ๋ค์ด ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ค ์๋ํ์ง๋ง, ์ค์๊ฐ ๋ค์์ฑ ํ์ง ํฉ์ฑ์ ์ฌ์ ํ ์ด๋ ค์ด ๋ฌธ์ ์์ต๋๋ค. ํนํ ๊ธฐ์กด ๋ฐฉ๋ฒ๋ค์ ๋ค์๊ณผ ๊ฐ์ ๊ทผ๋ณธ์ ์ธ ํ๊ณ๋ฅผ ๊ฐ์ง๊ณ ์์์ต๋๋ค:
- ๊ธฐํ ์ฐ์ฐ๊ณผ ํ์์ ์ฝํ: ์ต์ ํ ๊ณผ์ ์์ ์ง์์ ์ธ ๊ธฐํ ์ฐ์ฐ์ด ํ์ํ์ฌ ์ฑ๋ฅ ๋ณ๋ชฉ ๋ฐ์
- ์๋์ง ํจ์ ํ๋์ ์ด๋ ค์: ๋์ด๋น๊น(attract)๊ณผ ๋ฐ์ด๋(repel) ์๋์ง์ ๊ท ํ ์กฐ์ ํ์
- ์ด๊ธฐํ ๋ฏผ๊ฐ์ฑ: ์ ์์ธ์ ์ด๊ธฐ ํ ํ๋ฆฟ์ ๋ฐ๋ผ ๊ฒฐ๊ณผ๊ฐ ํฌ๊ฒ ๋ฌ๋ผ์ง
- ๋ณต์กํ ๊ฐ์ฒด์ ๋ํ ์ ํ: ๋๊ตฌํ ๋ถ๊ท์น ๊ฐ์ฒด์์ ๋ฎ์ ์ฑ๊ณต๋ฅ
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๋ ๋ค์๊ณผ ๊ฐ์ ์ ๋ณด๋ฅผ ์ธ์ฝ๋ฉํฉ๋๋ค:
- Contact Domains: ๊ฐ ์๊ฐ๋ฝ์ด ๋๋ฌํ ์ ์๋ ๊ฐ์ฒด ํ๋ฉด ์์ญ
- Contact Patches: ํ์ฉ๋ ๋ฒ์ ๋ฐฉํฅ์ ๊ธฐ๋ฐ์ผ๋ก ์ ์๋ ์ ์ด ํจ์น
- 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 * gradLightning 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: ์ด๋ํ ์ต์ ํ ๋ฐ ๋ง๋ฌด๋ฆฌ
๋ง์ง๋ง ๋จ๊ณ์์๋ ๋ค์ ์์ ์ด ์ํ๋ฉ๋๋ค:
- ์ญ์ด๋ํ(IK) ํ์ด: ์ ํ๋ ์ ์ด ์์น์ ์๊ฐ๋ฝ ๋์ด ๋๋ฌํ๋๋ก ๊ด์ ๊ฐ๋ ๊ณ์ฐ
- ๋ฏธ์ฌ์ฉ ์๊ฐ๋ฝ ์ฒ๋ฆฌ: ํ์ง์ ์ฌ์ฉ๋์ง ์๋ ์๊ฐ๋ฝ์ ์์ธ ๊ฒฐ์
- ์ถฉ๋ ๊ฒ์ฌ: ์-์, ์-๊ฐ์ฒด ์ถฉ๋ ํํฐ๋ง
- ์์ ์ฑ ๊ฒ์ฆ: ํ์ง ์์ ์ฑ ๊ธฐ์ค ์ถฉ์กฑ ์ฌ๋ถ ํ์ธ
์ถฉ๋ ๊ฒ์ฌ๋ 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๋ ์ด๋ฅผ ๋ ๋จ๊ณ๋ก ๋ถ๋ฆฌํฉ๋๋ค:
- ์ด์ฐ ํ์: Contact Field ๋ด์์ ์ ํจํ ์ ์ด ์กฐํฉ ํ์
- ์ฐ์ ์ ์ : ์ ํ๋ ์ ์ด์ ๋ํ ์ด๋ํ์ ์คํ
์ด ๋ถ๋ฆฌ๋ ๊ฐ ๋จ๊ณ๋ฅผ ๋ ๋ฆฝ์ ์ผ๋ก ์ต์ ํํ ์ ์๊ฒ ํ๋ฉฐ, ์๋์ง ํจ์ ๊ฐ์ค์น ํ๋์ ํ์์ฑ์ ์ ๊ฑฐํฉ๋๋ค.
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 ํ๊ฒฝ ์๊ตฌ์ฌํญ
7.2 ์ฃผ์ ์์กด์ฑ
ํต์ฌ ๊ตฌ์ฑ์์:
- Open3D: 3D ๋ฐ์ดํฐ ์ฒ๋ฆฌ
- URDF ํ์: ๋ก๋ด ์ ๋ชจ๋ธ ๋ก๋ฉ
- Trimesh: ๋ฉ์ฌ ์ฒ๋ฆฌ
- CUDA ์ปค๋: ๊ณ ์ฑ๋ฅ ๊ธฐํ ์ฐ์ฐ (์ฌ์ ์ปดํ์ผ๋ ๋ฐ์ด๋๋ฆฌ ์ ๊ณต)
7.3 ์ปค์คํ ๋ก๋ด ์ ์ค์
์๋ก์ด ๋ก๋ด ์์ ์ถ๊ฐํ๋ ค๋ฉด Config ๊ฐ์ฒด๋ฅผ ์ ์ํด์ผ ํฉ๋๋ค:
7.4 ์๋ ค์ง ์ ํ์ฌํญ
ํ์ฌ ๊ณต๊ฐ ๋ฒ์ ์ ์ ํ์ฌํญ:
- Mimic Joint ๋ฏธ์ง์: ๋ชจ๋ ๊ด์ ์ด ์์ ํ ๊ตฌ๋๋์ด์ผ ํจ
- ๋ํ ๊ฐ์ฒด ์ ํ: ๋งค์ฐ ํฐ ๊ฐ์ฒด์์ ๋ฉ์ฌ ํด๋จํ ํ์
- ๊ทธ๋ฆฌํผ ์ต์ ํ: ๋ณ๋ ฌ ์กฐ ๊ทธ๋ฆฌํผ๋ ํนํ๋ ๋ฐฉ๋ฒ ๊ถ์ฅ
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 ๊ฐ์
- ๊ทผ๋ณธ์ ์ธ ๋ฌธ์ ํด๊ฒฐ: ๊ธฐํ ์ฐ์ฐ๊ณผ ์ต์ ํ์ ๋ถ๋ฆฌ๋ผ๋ ๊ทผ๋ณธ์ ์ธ ์ ๊ทผ
- ๋ฐ์ด๋ ์ฑ๋ฅ: ์ ์๋ฆฟ์์ ์๋ ํฅ์
- ์ผ๋ฐ์ฑ: ๋ค์ํ ์ ํ๋ซํผ๊ณผ ๊ฐ์ฒด์ ์ ์ฉ ๊ฐ๋ฅ
- ์ค์ฉ์ฑ: ์คํ์์ค ์ฝ๋์ ์ฌ์ ์ปดํ์ผ๋ ๋ฐ์ด๋๋ฆฌ ์ ๊ณต
- ํ์ฅ์ฑ: ์ปค์คํ ๋ก๋ด ์ ์ฝ๊ฒ ์ถ๊ฐ ๊ฐ๋ฅ
9.2 ์ ์ฌ์ ํ๊ณ์
- ์ ์ ํ๊ฒฝ ๊ฐ์ : ๋์ ํ๊ฒฝ์์์ ์ ์ฉ์ฑ ๊ฒ์ฆ ํ์
- ํด๋ฌํฐ ์ฒ๋ฆฌ: ๋ณต์กํ ํด๋ฌํฐ ํ๊ฒฝ์์์ ์ฑ๋ฅ ๋ฏธ๊ฒ์ฆ
- ์ค์ธ๊ณ ๊ฒ์ฆ: ์๋ฎฌ๋ ์ด์ ์ค์ฌ ํ๊ฐ, ์ค๋ก๋ด ๊ฒ์ฆ ์ ํ์
- CUDA ์์กด์ฑ: GPU ์๋ ํ๊ฒฝ์์ ์ฌ์ฉ ๋ถ๊ฐ
- Mimic Joint ๋ฏธ์ง์: ์ผ๋ถ ๋ก๋ด ์ ๋ชจ๋ธ ์ ์ธ
9.3 ๊ฐ์ ๊ฐ๋ฅ ์์ญ
- ์ด๊ฐ ํผ๋๋ฐฑ ํตํฉ: ์ด๊ฐ ์ผ์ ์ ๋ณด๋ฅผ Contact Field์ ๋ฐ์
- ๋์ ๊ฐ์ฒด ์ฒ๋ฆฌ: ์์ง์ด๋ ๊ฐ์ฒด์ ๋ํ ์ค์๊ฐ Contact Field ์ ๋ฐ์ดํธ
- ๋ฉํฐ ๊ฐ์ฒด ์๋๋ฆฌ์ค: ์ฌ๋ฌ ๊ฐ์ฒด ๋์ ํ์ง
- ์ธ์ด ์กฐ๊ฑด๋ถ ํ์ง: LLM๊ณผ์ ํตํฉ์ผ๋ก ์๋ฏธ์ ํ์ง ์ง์
10. ์ค๋ฌด ์ ์ฉ ๊ฐ์ด๋
10.1 ๋น ๋ฅธ ์์
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 ์ปค์คํ ๊ฐ์ฒด ์ฌ์ฉ
11. ๊ฒฐ๋ก
Lightning Grasp๋ ๋ก๋ด ํ์ง ํฉ์ฑ ๋ถ์ผ์์ ์ค์ํ ์ด์ ํ๋ฅผ ์ธ์ ์ต๋๋ค. Contact Field๋ผ๋ ๋จ์ํ์ง๋ง ๊ฐ๋ ฅํ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ๋์ ํจ์ผ๋ก์จ, ๊ธฐํ ์ฐ์ฐ๊ณผ ํ์์ ๋ถ๋ฆฌ๋ผ๋ ํต์ฌ ํต์ฐฐ์ ๊ตฌํํ์ต๋๋ค.
ํต์ฌ ์ฑ๊ณผ ์์ฝ
- โ ์ ์๋ฆฟ์ ์๋ ํฅ์: ๊ธฐ์กด ๋ฐฉ๋ฒ ๋๋น ํ๊ธฐ์ ์ธ ์ฑ๋ฅ ๊ฐ์
- โ ์ค์๊ฐ ๋ค์์ฑ ํ์ง: ์ด ๋จ์๋ก ์์ฒ ๊ฐ์ ๋ค์ํ ํ์ง ์์ฑ
- โ ํ๋ ํ๋ฆฌ: ์๋์ง ํจ์ ๊ฐ์ค์น๋ ์ด๊ธฐํ ํ ํ๋ฆฟ ๋ถํ์
- โ ๋ฒ์ฉ์ฑ: ๋ค์ํ ๋ก๋ด ์๊ณผ ๊ฐ์ฒด์ ์ ์ฉ ๊ฐ๋ฅ
- โ ์คํ์์ค: ์ฝ๋ ๋ฐ ์ฌ์ ์ปดํ์ผ ๋ฐ์ด๋๋ฆฌ ๊ณต๊ฐ
๋ก๋ด ๊ณตํ๊ณ์ ๋ํ ํจ์
์ด ์ฐ๊ตฌ๋ ๋ค์๊ณผ ๊ฐ์ ๋ ๋์ ํจ์๋ฅผ ๊ฐ์ง๋๋ค:
- ๋ณ๋ ฌ ์กฐ ๊ทธ๋ฆฌํผ์ ์ง๋ฐฐ์ ๋ํ ๋์ : ๋ค์ง ์์ ์ค์ฉ์ฑ์ ํฌ๊ฒ ๋์
- ๋ฐ์ดํฐ ๊ธฐ๋ฐ ๋ฐฉ๋ฒ์ ๊ฐ์ํ: ๋๊ท๋ชจ ํ์ง ๋ฐ์ดํฐ์ ์์ฑ ์ฉ์ด
- ์ค์๊ฐ ์์ฉ ๊ฐ๋ฅ์ฑ: ๋์ ํ๊ฒฝ์์์ ์ ์์ ํ์ง ๊ฐ๋ฅ
โWe believe that Lightning Grasp represents a significant step toward fully harnessing the potential of dexterous manipulators.โ
โ Zhao-Heng Yin & Pieter Abbeel
Lightning Grasp๋ ๋จ์ํ ๋น ๋ฅธ ํ์ง ํฉ์ฑ ์๊ณ ๋ฆฌ์ฆ์ด ์๋๋ผ, ๋ค์ง ์กฐ์์ ์๋ก์ด ๊ฐ๋ฅ์ฑ์ ์ฌ๋ ๊ธฐ์ด ๊ธฐ์ ์ ๋๋ค. ์์ผ๋ก ์ด ์ฐ๊ตฌ๊ฐ ์ด๋ป๊ฒ ์ค์ธ๊ณ ๋ก๋ด ์์คํ ์ ์ ์ฉ๋๊ณ ํ์ฅ๋ ์ง ๊ธฐ๋๋ฉ๋๋ค.
์ฐธ๊ณ ๋ฌธํ
- Yin, Z.-H., & Abbeel, P. (2025). Lightning Grasp: High Performance Procedural Grasp Synthesis with Contact Fields. arXiv:2511.07418.
- Wang, R., et al. (2022). DexGraspNet: A Large-Scale Robotic Dexterous Grasp Dataset for General Objects Based on Simulation. ICRA 2023.
- Chen, Y., et al. (2024). SpringGrasp: An optimization pipeline for robust and compliant dexterous pre-grasp synthesis. ICRA 2024.
- Chen, Y., et al. (2024). BODex: Scalable and Efficient Robotic Dexterous Grasp Synthesis Using Bilevel Optimization. arXiv:2412.16490.
- Turpin, D., et al. (2022). GraspโD: Differentiable Contact-rich Grasp Synthesis for Multi-fingered Hands. ECCV 2022.
- 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๋ ์์ ๊ด์ ๋ณ์(์: ๋ชจํฐ ๊ฐ๋)๋ฅผ ๋ํ๋ ๋๋ค. ์ด๋ ์์ ๊ธฐ๊ตฌํ์ ๋ชจ๋ธ(๋งํฌ ๋ฉ์์ ๊ด์ ๊ตฌ์กฐ)๊ณผ ๋ฌผ์ฒด์ ๋ฉ์ ๋ชจ๋ธ์ด ์ฃผ์ด์ง๋๋ค.
์ ํจํ ๊ทธ๋ฆฝ์ด ๋๊ธฐ ์ํ ์กฐ๊ฑด์ ํฌ๊ฒ ๋ ๊ฐ์ง์ ๋๋ค:
- ๋น๊ดํต์ฑ(No Penetration): ์๊ณผ ๋ฌผ์ฒด์ ๋ฉ์ฌ๊ฐ ์ค์ฒฉ๋์ง ์์์ผ ํฉ๋๋ค. ์ฆ, ์ ๋ฉ์ฌ๊ฐ ๊ตฌ์ฑํ๋ ํ๋ฉด๊ณผ ๋ฌผ์ฒด ๋ฉ์ฌ์ ๊ฒฝ๊ณ๊ฐ ๊ฒน์น์ง ์์์ผ ํฉ๋๋ค. ์คํ์ ์ฌ์ ๋ฅผ ์ํด ์ฝ 2mm ์ ๋์ ๊ดํต ํ์ฉ ์ค์ฐจ๋ฅผ ๋ก๋๋ค.
- ๊ทธ๋ฆฝ ์์ ์ฑ(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 ๊ฐ์ ์๋ก์ด ๊ฐ๋ ์, ํฅํ ์ฐ๊ตฌ๋ค์ด ๊ธฐ์กด์ ํ๊ณ๋ฅผ ๋์ด ํ์ฅ๋๋ ๋ฐ ๊ธฐ์ฌํ ๊ฒ์ ๋๋ค. ๋ก๋ด ๊ทธ๋ฆฝ ์ฐ๊ตฌ์๋ค์ ์ด ๋ ผ๋ฌธ์ ์์ด๋์ด๋ฅผ ์ฐธ๊ณ ํ์ฌ, ์์ ์ ์์ฉ ๋ถ์ผ์ ๋ง๊ฒ ๊ณ ์ฑ๋ฅ ์ ์ด ๊ณํ๊ณผ ํ์์ ์ฐ๊ตฌํ ์ ์์ ๊ฒ์ ๋๋ค.