graph LR
subgraph "Surface Normal Discontinuity at Edge"
A["Face A<br/>Normal: โ"] --> E["Edge<br/>(Discontinuity)"]
E --> B["Face B<br/>Normal: โ"]
end
style E fill:#ff6b6b,stroke:#333,stroke-width:2px
๐GraspโD ๋ฆฌ๋ทฐ
๐ Ping. ๐ Ring. โ๏ธ Dig. A tiered review series: quick look, key ideas, deep dive.
- ๐ค GraspโD๋ high-dimensional multi-finger hand ๋ชจ๋ธ์ ์ํด ์์ ์ ์ด๊ณ ์ ์ด์ด ํ๋ถํ grasp๋ฅผ ํฉ์ฑํ๋ differentiable simulation ๊ธฐ๋ฐ์ ์๋ก์ด ์ ๊ทผ ๋ฐฉ์์ ๋๋ค.
- โจ ์ด ๋ฐฉ๋ฒ์ ๋ถ์ฐ์์ ์ธ ํ๋ฉด, ์ ์ด ํฌ์์ฑ ๋ฐ ๋ณต์กํ ์ต์ ํ ์งํ๊ณผ ๊ฐ์ grasp synthesis์ ๋์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด coarse-to-fine SDF collision, leaky gradients, ๊ทธ๋ฆฌ๊ณ Contact-Invariant Optimization์์ ์๊ฐ์ ๋ฐ์ ๋ฌธ์ ์ํ๋ฅผ ๋์ ํฉ๋๋ค.
- ๐ GraspโD๋ ๊ธฐ์กด analytic synthesis ๋ฐฉ์ ๋๋น 4๋ฐฐ ๋ ๋์ contact area๋ฅผ ๊ฐ์ง grasp๋ฅผ ์์ฑํ๋ฉฐ, ์ด๋ ํฅ์๋ stability์ ๋ฌผ๋ฆฌ์ ํ๋น์ฑ์ ์ ๊ณตํจ์ ์คํ์ ์ผ๋ก ์ ์ฆํฉ๋๋ค.
๐ Ping Review
๐ Ping โ A light tap on the surface. Get the gist in seconds.
GraspโD๋ ๊ณ ์ฐจ์ ๋ค์ง(multi-fingered) ํธ๋ ๋ชจ๋ธ์ ์ํ ํ์ค์ ์ด๊ณ ์์ ์ ์ธ ์ ์ด-ํ๋ถ(contact-rich) ๊ทธ๋ฉ(grasp)์ ํฉ์ฑํ๋ ๋ฏธ๋ถ ๊ฐ๋ฅํ ์๋ฎฌ๋ ์ด์ ๊ธฐ๋ฐ ์ ๊ทผ ๋ฐฉ์์ ๋๋ค. ๊ธฐ์กด์ ๋ถ์์ (analytic) ๊ทธ๋ฉ ํฉ์ฑ ๋ฐฉ์์ ์ข ์ข ๊นจ์ง๊ธฐ ์ฝ๊ณ (brittle) ๋ถ์์ฐ์ค๋ฌ์ด ๊ฒฐ๊ณผ๋ฅผ ๋ณ์ผ๋ฉฐ, ํนํ ๋์ ์ ์ด์ ์๊ตฌํ๋ ํ์ ๊ทธ๋ฉ(power grasp)์ ์์ฑํ๊ธฐ ์ด๋ ต๋ค๋ ํ๊ณ๊ฐ ์์ต๋๋ค. GraspโD๋ ์ด๋ฌํ ํ๊ณ๋ฅผ ๊ทน๋ณตํ๊ธฐ ์ํด ๊ทธ๋๋์ธํธ ๊ธฐ๋ฐ ์ต์ ํ๋ฅผ ํ์ฉํ์ฌ ๋ฌผ๋ฆฌ์ ์ผ๋ก ์ฌ์ค์ ์ด๊ณ ํจ์จ์ ์ธ ๊ณ ์ ์ด ๊ทธ๋ฉ ํฉ์ฑ์ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค.
ํต์ฌ ๋ฐฉ๋ฒ๋ก (Core Methodology)
GraspโD๋ ๋ฏธ๋ถ ๊ฐ๋ฅํ ๋ฌผ๋ฆฌ ์๋ฎฌ๋ ์ด์ ์ ํตํด ๊ทธ๋ฉ ํ์ง์ ์ธก์ ํ๊ณ ์ต์ ํํฉ๋๋ค. ์ด๋ ์ํ๋ง ๊ธฐ๋ฐ(sampling-based) ๋ฐฉ๋ฒ์ ๋นํจ์จ์ฑ์ ๊ทน๋ณตํฉ๋๋ค. ๋ฏธ๋ถ ๊ฐ๋ฅํ ์๋ฎฌ๋ ์ด์ ์ ๊ทธ๋ฉ ํฉ์ฑ์ ์ ์ฉํ ๋ ๋ฐ์ํ๋ ์ฃผ์ ๊ณผ์ ์ ํด๊ฒฐ์ฑ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ๋นํํ ๊ฐ์ฒด ํ์ (Non-smooth Object Geometry):
- ๊ณผ์ : ๊ฐ์ฒด์ ๋ชจ์๋ฆฌ๋ ๋ชจ์๋ฆฌ์ ๊ฐ์ ๋นํํํ ๋ถ๋ถ์์๋ ์ ์ด ํ์ ๊ทธ๋๋์ธํธ๊ฐ ๋ถ์ฐ์์ ์ ๋๋ค. ์ด๋ ๊ทธ๋๋์ธํธ ๊ธฐ๋ฐ ์ต์ ํ๊ฐ ์ ์ด ์์น๋ฅผ ๋ถ๋๋ฝ๊ฒ ์กฐ์ ํ๋ ๊ฒ์ ๋ฐฉํดํฉ๋๋ค.
- ํด๊ฒฐ์ฑ : SDF(Signed Distance Function)๋ฅผ ์ด์ฉํ coarse-to-fine ํํํ ์ ๊ทผ ๋ฐฉ์์ ์ฌ์ฉํฉ๋๋ค. ์ด๊ธฐ ์ต์ ํ ๋จ๊ณ์์๋ ๊ฐ์ฒด ํ๋ฉด์ r > 0 ๋ ๋ฒจ ์ ์ผ๋ก ์ ์ํ์ฌ ํํํ๋๊ณ ํจ๋ฉ๋(padded) ๋ฒ์ ์ ์ฌ์ฉํฉ๋๋ค. ์ต์ ํ๊ฐ ์งํ๋จ์ ๋ฐ๋ผ r ๊ฐ์ ์ ์ง์ ์ผ๋ก 0์ผ๋ก ์ค์ฌ ์๋์ ์์ธํ ํ๋ฉด ํ์์ ์๋ ดํ๋๋ก ํฉ๋๋ค. ์ด๋ ์ต์ ํ๊ฐ ์ด๊ธฐ์๋ ๋ ๋ถ๋๋ฌ์ด ๊ทธ๋๋์ธํธ๋ฅผ ๋ฐ๋ผ ๋๋ต์ ์ธ ๊ทธ๋ฉ์ ์ฐพ๊ณ , ๋์ค์๋ ๋ฏธ์ธํ ํ์์ ์ ํฉํ๊ฒ ์กฐ์ ๋ ์ ์๋๋ก ๋์ต๋๋ค.
- ์ ์ด ํฌ์์ฑ ๋ฐ ์์ค ๊ทธ๋๋์ธํธ (Contact Sparsity & Vanishing Gradients):
- ๊ณผ์ : ํธ๋์ ๊ฐ์ฒด๊ฐ ์ ์ดํ์ง ์์ ๋, ์์ฃผ ์์ ํธ๋ ํฌ์ฆ ๋ณํ๋ ์ ์ด์ ์ ๋ฐํ์ง ์์ผ๋ฉฐ, ์ด๋ก ์ธํด ์ ์ด ํ์ ๊ทธ๋๋์ธํธ๊ฐ 0์ด ๋ฉ๋๋ค. ์ด๋ ์ต์ ํ๊ฐ ์๋ก์ด ์ ์ด์ ํ์ฑํ๊ธฐ ์ด๋ ต๊ฒ ๋ง๋ญ๋๋ค.
- ํด๊ฒฐ์ฑ : โleaky gradientโ ๊ฐ๋ ์ ๋์ ํฉ๋๋ค. ๋น์ ์ด ์ํ์ ์ ์ด์ (inactive contacts)์ ๋ํด์๋ ํ ๊ณ์ฐ์ ๊ทธ๋๋์ธํธ๊ฐ โ๋์ถโ๋๋๋ก ํ์ฉํฉ๋๋ค. ์ (6)์์ ๋ณผ ์ ์๋ฏ์ด, \phi(x) \ge 0์ผ ๋๋ ๊ทธ๋๋์ธํธ๊ฐ ์์ ํ 0์ด ๋์ง ์๋๋ก \alpha ๊ณ์๋ฅผ ์ฌ์ฉํ์ฌ ์์ ๊ฐ์ ์ ์งํฉ๋๋ค. ์ด๋ ์ต์ ํ๊ฐ ๋น์ ์ด ์ํ์์๋ ํธ๋๊ฐ ๊ฐ์ฒด๋ฅผ ํฅํด ์ด๋ํ ์ ์๋ ์ ํจํ ๊ทธ๋๋์ธํธ ์ ํธ๋ฅผ ์ ๊ณตํฉ๋๋ค. \frac{\partial \lVert f_n \rVert}{\partial q} := \begin{cases} k_n \frac{\partial \phi}{\partial q} & \text{if } \phi(x) < 0 \\ \alpha k_n \frac{\partial \phi}{\partial q} & \text{otherwise} \end{cases} ์ฌ๊ธฐ์ f_n์ ๋ฒ์ ํ, q๋ ํธ๋ ํฌ์ฆ, \phi(x)๋ ์นจํฌ ๊น์ด(SDF ๊ฐ), k_n์ ๋ฒ์ ๊ฐ์ฑ ๊ณ์, \alpha \in [0,1]๋ ๋์ถ ๊ณ์์ ๋๋ค.
- ํ์คํ ์ต์ ํ ์งํ (Rugged Optimization Landscape):
- ๊ณผ์ : ๋ง์ ์ ์ด์ด ํ์ฑํ๋ ๋, ํธ๋ ํฌ์ฆ์ ์์ ๋ณํ๊ฐ ์ ์ด ํ์ ํฐ ๋ณํ๋ฅผ ์ผ๊ธฐํ์ฌ ๊ทธ๋ฉ ๋ฉํธ๋ฆญ์ ์ต์ ํ ์งํ์ด ๋งค์ฐ ํ์คํด์ง ์ ์์ต๋๋ค.
- ํด๊ฒฐ์ฑ
: Contact-Invariant Optimization (CIO) [68, 69]์์ ์๊ฐ์ ๋ฐ์ ๋ฌธ์ ์ํ(problem relaxation) ๊ธฐ๋ฒ์ ์ฌ์ฉํฉ๋๋ค. ๋ฌธ์ ๋ฅผ ๋ ๊ฐ์ง ๊ตฌ์ฑ ์์๋ก ๋ถํดํฉ๋๋ค:
- Task Loss (L_{task}): ๊ฐ์ฒด์ ๊ฐํด์ง ์ด๊ธฐ ์๋๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ์ ํญํ๋ ๋ฐ ํ์ํ โ์ํ๋โ ๋๋ โ์ฒ๋ฐฉ๋โ ์ ์ด ํ(\hat{f}_c)์ ์ฐพ์ต๋๋ค. ์ด ๋ถ๋ถ์์๋ ์ค์ ํธ๋ ํฌ์ฆ์์ ๋ฐ์ํ๋ ํ ๋์ \hat{f}_c๋ฅผ ์ฌ์ฉํ์ฌ ์๋ฎฌ๋ ์ด์ ์ ์คํํฉ๋๋ค. L_{grasp} = \frac{1}{M} \sum_{m=1}^{M} \lVert \dot{u}^{(T)}_o \rVert ์ฌ๊ธฐ์ \dot{u}^{(T)}_o๋ M๋ฒ์ ์๋ฎฌ๋ ์ด์ ํ ๊ฐ์ฒด์ ์ต์ข ์๋์ ๋๋ค. L_{task}๋ ์ด L_{grasp}์ ๋์ผํ๊ฒ ๊ณ์ฐ๋๋, ์ ์ด ํ f_c ๋์ \hat{f}_c๋ฅผ ์ฌ์ฉํฉ๋๋ค.
- Physics Violation Loss (L_{phys}): ํ์ฌ ํธ๋ ๊ตฌ์ฑ q_h๊ฐ ์์์ ๊ฒฐ์ ๋ ์ํ๋ ํ \hat{f}_c๋ฅผ ์ค์ ๋ก ์ ๊ณตํ ์ ์๋์ง ์ธก์ ํฉ๋๋ค. ์ด๋ ํธ๋ ํฌ์ฆ์์ ๋ฐ์ํ๋ ์ค์ ์ ์ด ํ f_c(q_h)์ \hat{f}_c ๊ฐ์ ์ฐจ์ด๋ฅผ ์ต์ํํฉ๋๋ค. L_{phys}(q_h, \hat{f}_c) = \lVert f_c(q_h) - \hat{f}_c \rVert ์ด ์ ๊ทผ ๋ฐฉ์์ ๋ฌผ๋ฆฌ์ ์๋ฐ(physics violation)์ ์ ์ฝ ์กฐ๊ฑด์ด ์๋ ๋น์ฉ(cost)์ผ๋ก ์ฒ๋ฆฌํ์ฌ ์ต์ ํ ๊ณผ์ ์ ๋ ์ ์ฐํ๊ฒ ๋ง๋ญ๋๋ค.
์์ธ ๊ตฌํ (Detailed Implementation)
- ๊ฐ์ฒด ์ญํ (Rigid Body Dynamics): ์๋ฎฌ๋ ์ด์ ์ ๊ฐ๋จํ ๊ฐ์ฒด ์ญํ์ ์ฌ์ฉํ๋ฉฐ, ํธ๋๋ ํค๋ค๋งํฑ(kinematic)์ผ๋ก, ๊ฐ์ฒด๋ ๋ค์ด๋ด๋ฏน(dynamic)์ผ๋ก ๋ชจ๋ธ๋ง๋ฉ๋๋ค. ์ธ๋ฏธ-์ํ๋ฆฌ์ฏ ์ค์ผ๋ฌ(semi-implicit Euler) ์ ๋ฐ์ดํธ๋ฅผ ์ฌ์ฉํ์ฌ ์ํ๋ฅผ ์ ๋ฐ์ดํธํฉ๋๋ค.
- ๊ฐ์ฒด ๋ชจ๋ธ (Object Model): ๊ฐ์ฒด๋ ์ด์ฐํ๋ SDF(Discretized SDF)๋ก ํํ๋๋ฉฐ, ์ด๋ Mesh์์ ์ถ์ถํ๊ฑฐ๋ RGB-D ์ฌ๊ตฌ์ฑ์์ ์ป์ ์ ์์ต๋๋ค. SDF์ ๊ทธ๋๋์ธํธ๋ ์ ์ด ๋ฒ์ ์ ์ ๊ณตํฉ๋๋ค.
- ์ ์ด ๋์ญํ (Contact Dynamics): ์ ์ด ํ์ ํ๋ํฐ ๊ธฐ๋ฐ(penalty-based)์ผ๋ก ๊ณ์ฐ๋๋ฉฐ, ๋ฒ์ ์ฑ๋ถ์ ์นจํฌ ๊น์ด์ ๋น๋กํ๊ณ , ๋ง์ฐฐ ์ฑ๋ถ์ Coulomb ๋ง์ฐฐ ๋ชจ๋ธ์ ๋ฐ๋ฆ ๋๋ค.
- ์ถ๊ฐ ํด๋ฆฌ์คํฑ ์์ค (Additional Heuristic Losses): ๊ฒฐ๊ณผ ๊ทธ๋ฉ์ ํ๋น์ฑ์ ๋์ด๊ธฐ ์ํด ๋ค์๊ณผ ๊ฐ์ ์์ค ํจ์๋ฅผ ์ถ๊ฐํฉ๋๋ค:
- L_{range}(q_h): ํธ๋ ์กฐ์ธํธ๊ฐ ๋ฒ์์ ์ค์์ ์์นํ๋๋ก ์ฅ๋ คํฉ๋๋ค.
- L_{limit}(q_h): ํธ๋ ์กฐ์ธํธ๊ฐ ๋ฒ์๋ฅผ ๋ฒ์ด๋๋ ๊ฒ์ ํ๋ํฐํฉ๋๋ค.
- L_{inter}(q_h): ํธ๋ ๋ด๋ถ์ ์๊ธฐ-๊ต์ฐจ(self-intersection)๋ฅผ ํ๋ํฐํฉ๋๋ค.
- ์ต์ ํ (Optimization): Modified Differential Multiplier Method [74]๋ฅผ ์ฌ์ฉํ์ฌ L_{task} < C_{task}์ L_{limit} < C_{limit}๋ฅผ ์ ์ฝ ์กฐ๊ฑด์ผ๋ก, L_{phys}, L_{range}, L_{inter}๋ฅผ ์ต์ํํฉ๋๋ค. Adamax [54] ์ตํฐ๋ง์ด์ ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์คํ ๋ฐ ๊ฒฐ๊ณผ (Experiments and Results)
GraspโD๋ ShapeNet [11] ๋ชจ๋ธ๊ณผ YCB RGB-D ๋ฐ์ดํฐ์ [10]์์ ์ฌ๊ตฌ์ฑ๋ ๊ฐ์ฒด Mesh์ ๋ํด ํ๊ฐ๋์์ต๋๋ค.
- ํ๊ฐ ์งํ (Evaluation Metrics): ์ ์ด ๋ฉด์ (Contact Area, CA), ๊ต์ฐจ ๋ถํผ(Intersection Volume, IV), CA/IV ๋น์จ, Ferrari-Canny ฯต ๋ฉํธ๋ฆญ, Volume ๋ฉํธ๋ฆญ, ์๋ฎฌ๋ ์ด์ ๋ณ์(Simulation Displacement, SD)๊ฐ ์ฌ์ฉ๋ฉ๋๋ค. SD๋ PyBullet [16] ์๋ฎฌ๋ ์ดํฐ๋ฅผ ์ฌ์ฉํ์ฌ ์ธก์ ๋ฉ๋๋ค.
- ShapeNet ๋ชจ๋ธ์ ์ด์ฉํ ๊ทธ๋ฉ ํฉ์ฑ: ObMan [40] ๋ฐ์ดํฐ์ (GrastIt! [67] ๊ธฐ๋ฐ ๋ถ์์ ํฉ์ฑ)๊ณผ ๋น๊ตํ์ ๋, GraspโD๋ 4๋ฐฐ ๋ ๋์ ์ ์ด ๋ฉด์ (42 cm^2 vs 9.4 cm^2)์ ๊ฐ์ง ๊ทธ๋ฉ์ ์์ฑํ๋ฉฐ, ์ด๋ ํจ์ฌ ๋์ ์์ ์ฑ(SD 0.59 cm vs 1.95 cm)์ผ๋ก ์ด์ด์ง๋๋ค.
- RGB-D ์ ๋ ฅ์ผ๋ก๋ถํฐ์ ๊ทธ๋ฉ ํฉ์ฑ: GraspโD๋ ์ฌ๊ตฌ์ฑ๋ ๊ฐ์ฒด ๋ชจ๋ธ(๋ถ์์ ํ ์ฌ๊ตฌ์ฑ ํฌํจ)์ ๋ํด์๋ ๊ทธ๋ฉ ํฉ์ฑ์ด ๊ฐ๋ฅํจ์ ์ ์ฆํ์ต๋๋ค. ์ด๋ ์ค์ ํ๊ฒฝ์ RGB-D ์ ๋ ฅ์ผ๋ก๋ถํฐ ๊ทธ๋ฉ์ ์์ธกํ๋ ๋ฐ ์ ์ฌ๋ ฅ์ ๋ณด์ฌ์ค๋๋ค.
- Ablation Study:
- Problem Relaxation์ ์ค์์ฑ: ์ํ๋ ๋ฌธ์ ๊ณต์ํ๊ฐ ์์ ๊ฒฝ์ฐ(GraspโD w/o problem relaxation), ์ฑ๋ฅ์ด ํฌ๊ฒ ์ ํ๋์ด ์ ์ด ๋ฉด์ ์ด ๋งค์ฐ ๋ฎ์์ง๋ ๋ฑ ๋ชจ๋ ์งํ์์ ๋ถ๋ํ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์์ต๋๋ค. ์ด๋ ์ด ๊ธฐ๋ฒ์ด GraspโD์ ์ฑ๊ณต์ ํต์ฌ์ ์์ ์์ฌํฉ๋๋ค.
- Coarse-to-fine Smoothing์ ์ํฅ: coarse-to-fine ํํํ๊ฐ ์์ ๊ฒฝ์ฐ(GraspโD w/o coarse-to-fine), ์๋ฎฌ๋ ์ด์ ๋ณ์๊ฐ ์ฝ 25% ์ฆ๊ฐํ์ง๋ง ๋ค๋ฅธ ์งํ์๋ ํฐ ์ํฅ์ ๋ฏธ์น์ง ์์์ต๋๋ค. ์ด๋ ์ ๋์ ์ผ๋ก๋ ๋ฏธ๋ฏธํ์ง๋ง, ์ ์ฑ์ ์ผ๋ก๋ ๊ทธ๋ฉ์ ๋ฏธ์ธํ ์ ํฉ์ฑ(conformance)์ ์ํฅ์ ์ค๋๋ค.
- Leaky Gradient์ ํ์์ฑ: leaky gradient๊ฐ ์์ ๊ฒฝ์ฐ, ํธ๋๊ฐ ์ด๊ธฐํ ์ ๊ฐ์ฒด์ ์ ์ดํ์ง ์์ผ๋ฉด ๊ทธ๋๋์ธํธ๊ฐ ์์ด ์ต์ ํ๊ฐ ์ ์ฒด๋ ๊ฒ์ด๋ฏ๋ก, ์ด ๋ณํ์ ๋ํ ์คํ์ ์ํ๋์ง ์์์ต๋๋ค.
๊ฒฐ๋ก (Conclusions)
GraspโD๋ ๋ฏธ๋ถ ๊ฐ๋ฅํ ์๋ฎฌ๋ ์ด์ ๊ธฐ๋ฐ์ ๊ทธ๋ฉ ํฉ์ฑ ํ์ดํ๋ผ์ธ์ผ๋ก, ๋ค์ง ๊ทธ๋ฆฌํผ์ ๋ํด์๋ ๋๊ท๋ชจ์ ํ๋นํ๊ณ ๊ณ ์ ์ด ๊ทธ๋ฉ์ ์์ฑํ ์ ์์ต๋๋ค. ์ด ๋ฐฉ์์ ๊ธฐ์กด์ ๊ณ ์ ์ ์ธ ๊ทธ๋ฉ ์๊ณ ๋ฆฌ์ฆ๋ณด๋ค ์ ๋์ ์ผ๋ก๋ ์ ์ฑ์ ์ผ๋ก ์ฐ์ํ ์ฑ๋ฅ์ ๋ณด์ฌ์ค๋๋ค. PyTorch์ ํธํ๋์ด ๊ธฐ์กด ํ์ดํ๋ผ์ธ์ ์ฝ๊ฒ ํตํฉ๋ ์ ์์ผ๋ฉฐ, ํฉ์ฑ ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ๋น์ ํ์ดํ๋ผ์ธ์ ๊ทธ๋ฉ ์์ธก ์ฑ๋ฅ์ ์ง์ ์ ์ผ๋ก ํฅ์์ํฌ ์ ์์ต๋๋ค.
๐ Ring Review
๐ Ring โ An idea that echoes. Grasp the core and its value.
๐ค โ์๊ฐ๋ฝ ๋๋ง ์ฐ์ง ๋ง๊ณ , ์๋ฐ๋ฅ๋ ์จ!โ
์ฌ๋ฌ๋ถ, ์ปต์ ์ง์ด๋ณด์ธ์. ์๋, ์ ๋ง๋ก์. ์ง๊ธ ์์ ์๋ ์ปต์ ํ๋ฒ ์ง์ด๋ณด์ธ์.
์ด๋ป๊ฒ ์ง์ผ์ จ๋์? ์๊ฐ๋ฝ ๋๋ง ์ด์ง ๋๋์? ์๋์ฃ . ์๋ฐ๋ฅ๊น์ง ๊ฐ์ธ ์ฅ์ จ์ ๊ฒ๋๋ค. ์ฐ๋ฆฌ ์ธ๊ฐ์ ์์ฒ ๋ ๊ฐ ์ด๋ ๊ฒ ๋ฌผ๊ฑด์ ์ง์ด์์ต๋๋ค. ๊ทธ๋ฐ๋ฐ ๋ก๋ด ์์์? ์ฌ์ ํ ์๊ฐ๋ฝ ๋๋ง ์ฐ๊ณ ์์ต๋๋ค. ์ ๊ทธ๋ด๊น์?
์ค๋ ์๊ฐํ GraspโD๋ ๋ฐ๋ก ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํฉ๋๋ค. Toronto ๋ํ, Vector Institute, NVIDIA, Samsung ์ฐ๊ตฌ์ง์ด ECCV 2022์์ ๋ฐํํ ์ด ๋ ผ๋ฌธ์, ๋ก๋ด ๊ทธ๋ฆฌํ ์ฐ๊ตฌ์์ โ์ ์ด๋ฉด์ โ์ด๋ผ๋ ๊ฐ๋ ์ ์์ ํ ์๋กญ๊ฒ ์ ์ํ์ต๋๋ค.
๐ ํ ๋ฌธ์ฅ ์์ฝ
โ๋ฏธ๋ถ ๊ฐ๋ฅํ ์ ์ด ์๋ฎฌ๋ ์ด์ ์ ํตํด, ๊ธฐ์กด ๋๋น 4๋ฐฐ ์ด์ ๋์ ์ ์ด ๋ฉด์ ์ ์์ ์ ์ธ ๊ทธ๋ฆฝ์ ์์ฑํ๋ ๋ฐฉ๋ฒโ
๐ฏ ์ ์ด ์ฐ๊ตฌ๊ฐ ์ค์ํ๊ฐ?
๊ธฐ์กด ๋ฐฉ์์ ํ๊ณ: โ์๊ฐ๋ฝ ๋ ๊ทธ๋ฆฝ์ ๋น๊ทนโ
๋ก๋ด ์์ผ๋ก ๋ฌผ์ฒด๋ฅผ ์ก๋ ๋ฌธ์ (Grasp Synthesis)๋ ์๊ฐ๋ณด๋ค ์ด๋ ต์ต๋๋ค. ์๋ํ๋ฉด:
๊ณ ์ฐจ์ ํ์ ๊ณต๊ฐ: ์ธ๊ฐ ์ ๋ชจ๋ธ(MANO)์ 51๊ฐ์ ์์ ๋๋ฅผ ๊ฐ์ง๋๋ค. Allegro ๋ก๋ด ์๋ 16๊ฐ ๊ด์ ์ด ์์ฃ . ์ด ๋ชจ๋ ์กฐํฉ์ ํ์ํ๋ ๊ฑด ์ฌ์ค์ ๋ถ๊ฐ๋ฅํฉ๋๋ค.
๋จ์ํ์ ํจ์ : ๊ทธ๋์ ๊ธฐ์กด ์ฐ๊ตฌ๋ค์ ํํ์ ํฉ๋๋ค:
- Eigengrasp: ์ ์์ธ๋ฅผ ์ฃผ์ฑ๋ถ ๋ถ์(PCA)์ผ๋ก ์ ์ฐจ์ํ
- ์ฌ์ ์ ์๋ ์ ์ด์ : โ์๊ฐ๋ฝ ๋๋ง ์ฐ์!โ
๊ฒฐ๊ณผ: ๋ถ์์ฐ์ค๋ฝ๊ณ ๋ถ์์ ํ โ์๊ฐ๋ฝ ๋ ๊ทธ๋ฆฝโ๋ง ์์ฑ๋จ
์๋ ๋น๊ต๋ฅผ ๋ณด์ธ์:
| ๊ตฌ๋ถ | ๊ธฐ์กด ๋ฐฉ์ (ObMan/GraspIt!) | GraspโD ๋ฐฉ์ |
|---|---|---|
| ์ ์ด ํจํด | Fingertip-only contact | Full palm + finger wrap |
| ์ ์ด ๋ฉด์ | ~9 cmยฒ | ~43 cmยฒ |
| ๊ทธ๋ฆฝ ์คํ์ผ | Precision grip | Power grip |
| ์์ ์ฑ | Low (easily drops) | High (secure hold) |
ํต์ฌ ํต์ฐฐ: โ๋ฏธ๋ถ ๊ฐ๋ฅ์ฑ์ด ๋ชจ๋ ๊ฒ์ ๋ฐ๊พผ๋คโ
GraspโD์ ํต์ฌ ์์ด๋์ด๋ ์ฌํํฉ๋๋ค:
โ์๋ฎฌ๋ ์ด์ ์ ๋ฏธ๋ถ ๊ฐ๋ฅํ๊ฒ ๋ง๋ค๋ฉด, ๊ฒฝ์ฌ ํ๊ฐ๋ฒ์ผ๋ก ์ข์ ๊ทธ๋ฆฝ์ ์ฐพ์ ์ ์๋ค.โ
๋ธ๋๋ฐ์ค ์ต์ ํ(์๋ฎฌ๋ ์ดํฐ๋ ์ด๋๋ง ๋ฑ)๋ ์ ์ฐจ์์์๋ง ์๋ํฉ๋๋ค. ํ์ง๋ง ๊ฒฝ์ฌ ๊ธฐ๋ฐ ์ต์ ํ๋ ๊ณ ์ฐจ์์์๋ ํจ์จ์ ์ด์ฃ . ๋ฌธ์ ๋โฆ ์๋ฎฌ๋ ์ด์ ์ด ๋ฏธ๋ถ ๊ฐ๋ฅํ์ง ์๋ค๋ ๊ฒ์ด์์ต๋๋ค. ์ด ๋ ผ๋ฌธ์ ๊ทธ ์ฅ๋ฒฝ์ ๋ซ์์ต๋๋ค.
๐ฌ ๊ธฐ์ ์ ๊น์ด ํํค์น๊ธฐ
์, ์ด์ ์ง์ง ์ฌ๋ฏธ์๋ ๋ถ๋ถ์ ๋๋ค. GraspโD๊ฐ ์ด๋ป๊ฒ ์๋ํ๋์ง, ๊ทธ๋ฆฌ๊ณ ์ ๊ธฐ์กด ๋ฐฉ์์ด ์คํจํ๋์ง ํ๋์ฉ ๋ฏ์ด๋ด ์๋ค.
1. ๋ฌธ์ ์ ์: ๊ทธ๋ฆฝ ํฉ์ฑ์ด๋?
์ ๋ ฅ:
- ๋ฌผ์ฒด์ 3D ํ์ (๋ฉ์ ๋๋ SDF)
- ์ ๋ชจ๋ธ (MANO ์ธ๊ฐ ์ ๋๋ Allegro ๋ก๋ด ์)
์ถ๋ ฅ:
- ์์ ๊ธฐ๋ณธ ์์ธ (์์น + ํ์ )
- ๊ฐ ๊ด์ ์ ๊ฐ๋
๋ชฉํ:
- ๋ฌผ์ฒด๋ฅผ ์์ ์ ์ผ๋ก ์ก์ ์ ์๋ ์์ธ ์ฐพ๊ธฐ
- ๋ฌผ๋ฆฌ์ ์ผ๋ก ํ์ค์ (๊ดํต ์ต์ํ)
- ์ ์ด ๋ฉด์ ๊ทน๋ํ
2. ์ ๊ธฐ์กด ๋ฐฉ์์ด ์คํจํ๋๊ฐ?
2.1 ํด์์ ๋ฉํธ๋ฆญ(Analytic Metrics)์ ํ๊ณ
GraspIt! ๊ฐ์ ๊ธฐ์กด ์๋ฎฌ๋ ์ดํฐ๋ Grasp Wrench Space (GWS) ๋ถ์์ ์ฌ์ฉํฉ๋๋ค. Ferrari-Canny ๋ฉํธ๋ฆญ(ฮต-metric)์ด ๋ํ์ ์ด์ฃ :
\epsilon = \min_{w \in \partial GWS} \|w\|
์ด๊ฑด โ๊ทธ๋ฆฝ์ ๊นจ๋ ๋ฐ ํ์ํ ์ต์ ํโ์ ์ธก์ ํฉ๋๋ค. ๋ฌธ์ ๋:
- ์ฌ์ ์ ์ ์ด์ ์ ์ ํด์ผ ํจ: ์๋์ผ๋ก 45๊ฐ ์ ๋์ ์ ์ด ํ๋ณด์ ์ ๋ผ๋ฒจ๋ง
- ๋ง์ฐฐ ์์ ๊ฐ์ : ํ์ค๊ณผ ๋๋จ์ด์ง ๋จ์ํ
- ํ์ ํฌ๊ธฐ ๊ท ์ผ ๊ฐ์ : ๋ชจ๋ ์ ์ด์ ์์ ๊ฐ์ ํ
2.2 ๋ธ๋๋ฐ์ค ์ต์ ํ์ ์ฐจ์์ ์ ์ฃผ
์๋ฎฌ๋ ์ดํฐ๋ ์ด๋๋ง์ด๋ ์ ์ ์๊ณ ๋ฆฌ์ฆ ๊ฐ์ ๋ธ๋๋ฐ์ค ์ต์ ํ๋:
- 2-jaw ๊ทธ๋ฆฌํผ (6 DoF): OK โ
- ๋ค์ค ์๊ฐ๋ฝ ์ (16+ DoF): ๐
์ฐจ์์ด ๋์์ง๋ฉด ํ์ ๊ณต๊ฐ์ด ์ง์์ ์ผ๋ก ํญ๋ฐํฉ๋๋ค. ๊ทธ๋์ Eigengrasp๋ก ์ฐจ์์ ์ค์ด๋๋ฐโฆ ์ด๋ฌ๋ฉด power grasp ๊ฐ์ ๋ค์ํ ๊ทธ๋ฆฝ์ ๋ฐ๊ฒฌํ ์ ์์ต๋๋ค.
3. GraspโD์ ํด๋ฒ: ์ธ ๊ฐ์ง ํต์ฌ ๊ธฐ๋ฒ
GraspโD ํ์ โ๋ฏธ๋ถ ๊ฐ๋ฅํ ์๋ฎฌ๋ ์ด์ โ์ ๋ง๋ค๋ ค๋ค ์ธ ๊ฐ์ง ๋ฒฝ์ ๋ถ๋ชํ๊ณ , ๊ฐ๊ฐ์ ์ฐฝ์์ ์ผ๋ก ํด๊ฒฐํ์ต๋๋ค.
๐งฑ Challenge 1: ๋ถ์ฐ์์ ์ธ ํ๋ฉด ๊ธฐํํ
๋ฌธ์ : ์ ์ก๋ฉด์ฒด์ ๋ชจ์๋ฆฌ์์ ์ ์ด ๋ฒ์ ์ด ๋ถ์ฐ์์ ์ผ๋ก ์ ํํฉ๋๋ค. ๋ฏธ๋ถ ๋ถ๊ฐ!
๋ฌธ์ ์ : ๋ชจ์๋ฆฌ(Edge)์์ ๋ฒ์ ๋ฒกํฐ๊ฐ ๋ถ์ฐ์์ ์ผ๋ก ์ ํ โ ๋ฏธ๋ถ ๋ถ๊ฐ๋ฅ!
ํด๊ฒฐ: Coarse-to-Fine SDF Smoothing
SDF(Signed Distance Function)๋ฅผ ์ฌ์ฉํ๋, ์ฒ์์ ๋ฌผ์ฒด๋ฅผ โ๋ถํ๋ ค์โ ์์ํฉ๋๋ค:
\text{Surface}_r = \{x | \phi(x) = r\}, \quad r: 10\text{cm} \rightarrow 0
์ด๊ธฐ์๋ ๋ฌผ์ฒด๊ฐ ๋ง์น ๋๊บผ์ด ์ ค๋ฆฌ์ฒ๋ผ ๋ณด์ ๋๋ค. ๋ชจ์๋ฆฌ๊ฐ ๋ฅ๊ธ์ฃ . ์ต์ ํ๊ฐ ์งํ๋๋ฉฐ ์ ์ ์๋ ํ์์ผ๋ก ๋์๊ฐ๋๋ค. ์ด๋ฌ๋ฉด:
- ์ด๋ฐ: ๋๋ต์ ์ธ ๊ทธ๋ฆฝ ์์น ํ์ (๋ถ๋๋ฌ์ด ํ๋ฉด์์)
- ํ๋ฐ: ์ธ๋ฐํ ํ๋ฉด ํ์์ ๋ง์ถค
๐งฑ Challenge 2: ์ ์ด ํฌ์์ฑ (Contact Sparsity)
๋ฌธ์ : ์์ด ๋ฌผ์ฒด์ ๋ฟ์ง ์์ผ๋ฉด ์ ์ด๋ ฅ์ด 0์ด๊ณ , ๋ฐ๋ผ์ ๊ทธ๋๋์ธํธ๋ 0์ ๋๋ค. ์์ ๋ฌผ์ฒด ์ชฝ์ผ๋ก ์์ง์ผ ์ ํธ๊ฐ ์์ด์!
graph LR
H["Hand<br/>(not touching)"] -.->|"Gap: no contact"| O["Object"]
subgraph "Problem"
F["Contact Force = 0"]
G["โf/โq = 0"]
D["Dead Gradient!"]
end
F --> G --> D
style D fill:#ff6b6b,stroke:#333,stroke-width:2px
๋ฌธ์ ์ : ์ ์ด์ด ์์ผ๋ฉด ํ๋ 0, ๊ทธ๋๋์ธํธ๋ 0 โ ์ต์ ํ ๋ฐฉํฅ์ ์ ์ ์์!
ํด๊ฒฐ: Leaky Gradient
LeakyReLU์์ ์๊ฐ์ ๋ฐ์์ต๋๋ค! ์ ์ดํ์ง ์์๋ ์ฝ๊ฐ์ ๊ทธ๋๋์ธํธ๋ฅผ ํ๋ ค๋ณด๋ ๋๋ค:
\frac{\partial \|f_n\|}{\partial q} = \begin{cases} k_n \frac{\partial \phi}{\partial q} & \text{if } \phi(x) < 0 \text{ (์นจํฌ)} \\ \alpha k_n \frac{\partial \phi}{\partial q} & \text{otherwise (๋น์ ์ด)} \end{cases}
์ฌ๊ธฐ์ ฮฑ = 0.1์ ๋๋ค. ๋น์ ์ด ์ํ์์๋ 10%์ ๊ทธ๋๋์ธํธ๊ฐ ์ ๋ฌ๋์ด, ์์ด ๋ฌผ์ฒด๋ฅผ ํฅํด ์์ง์ผ ์ ์์ต๋๋ค.
์ด๊ฑด ๋ฅ๋ฌ๋์ โdying ReLUโ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ LeakyReLU์ ์ ํํ ๊ฐ์ ๋ฐ์์ ๋๋ค!
๐งฑ Challenge 3: ํ์คํ ์ต์ ํ ์งํ
๋ฌธ์ : ์ ์ด ์ํ์์ ์ ์์ธ์ ์์ ๋ณํ๊ฐ ์ ์ด๋ ฅ์ ํฐ ๋ณํ๋ฅผ ์ผ๊ธฐํฉ๋๋ค. ์ฐ๋ฑ์ฑ์ด์์ ๋กํ ์์ด ๊ฑท๋ ๋๋์ด์ฃ .
ํด๊ฒฐ: Contact-Invariant Optimization (CIO) ์๊ฐ์ ๋ฌธ์ ์ํ
๊ธฐ์กด ์ ๊ทผ:
โ์ ์์ธ q๋ฅผ ์ต์ ํํด์ ๋ฌผ์ฒด๋ฅผ ์์ ์ ์ผ๋ก ์ก์๋ผโ
GraspโD ์ ๊ทผ:
- โ์ด๋ค ํ fฬ_c๊ฐ ๋ฌผ์ฒด๋ฅผ ์์ ํํ๋์ง ์ฐพ์๋ผโ (Task Loss)
- โ๊ทธ ํ์ ์ค์ ๋ก ์ ๊ณตํ๋ ์ ์์ธ q๋ฅผ ์ฐพ์๋ผโ (Physics Loss)
์์์ผ๋ก ํํํ๋ฉด:
\mathcal{L}_{task}(\hat{f}_c) = \|u_{obj}^{(T)}\| \quad \text{(๋ชฉํ ํ์ด ๋ฌผ์ฒด๋ฅผ ์ ์ง์ํค๋?)}
\mathcal{L}_{phys}(q_h, \hat{f}_c) = \|f_c(q_h) - \hat{f}_c\| \quad \text{(์ ์์ธ๊ฐ ๋ชฉํ ํ์ ์ ๊ณตํ๋?)}
๋ฌผ๋ฆฌ ๋ฒ์น ์๋ฐ์ โ์ ์ฝโ์ด ์๋ โ๋น์ฉโ์ผ๋ก ์ฒ๋ฆฌํฉ๋๋ค. ์ด๋ฌ๋ฉด ์ต์ ํ ์งํ์ด ํจ์ฌ ์๋งํด์ง๋๋ค!
4. ์์คํ ์ํคํ ์ฒ
์ ์ฒด ํ์ดํ๋ผ์ธ์ ์ ๋ฆฌํ๋ฉด:
flowchart TB
subgraph Input["๐ฅ Input Stage"]
M["Object Mesh"] --> SDF["SDF Conversion<br/>(256ยณ grid)"]
SDF --> CSDF["Coarse SDF<br/>(r = 10cm padding)"]
Hand["Hand Model<br/>(MANO/Allegro)"]
end
subgraph Init["๐ฏ Initialization"]
AP["Sample approach point<br/>on object surface"]
OR["Set hand orientation<br/>(opposite to surface normal)"]
DIST["Set hand distance<br/>(10cm from approach point)"]
AP --> OR --> DIST
end
subgraph Opt["๐ Optimization Loop (7000 steps)"]
R["1. Decrease r<br/>(linear schedule, 0 at step 5000)"]
SIM["2. Run 3 simulations<br/>with different initial velocities:<br/>(0,0,0), (ยฑ0.01,ยฑ0.01,ยฑ0.01) m/s"]
LOSS["3. Compute Losses:<br/>โข L_task: stabilization<br/>โข L_phys: force matching<br/>โข L_range: joint centering<br/>โข L_limit: joint limits<br/>โข L_inter: self-penetration"]
UPDATE["4. Adamax update<br/>โข Hand pose q_h<br/>โข Target force fฬ_c"]
R --> SIM --> LOSS --> UPDATE
UPDATE -.->|"repeat"| R
end
subgraph Output["๐ค Output"]
GRASP["Optimized Grasp Pose"]
end
Input --> Init --> Opt --> Output
style Opt fill:#e8f5e9,stroke:#2e7d32
style GRASP fill:#bbdefb,stroke:#1976d2
5. ์ ์ด๋ ฅ ๋ชจ๋ธ๋ง: ๋ฌผ๋ฆฌํ์ ์๋ฆ๋ค์
GraspโD์ ์ ์ด๋ ฅ ๊ณ์ฐ์ ๋จ์ํ๋ฉด์๋ ํจ๊ณผ์ ์ ๋๋ค:
๋ฒ์ ๋ ฅ (Normal Force):
f_n = k_n \min(\phi(x), 0) \nabla\phi(x)
- \phi(x): SDF ๊ฐ (์์๋ฉด ์นจํฌ ์ํ)
- \nabla\phi(x): ํ๋ฉด ๋ฒ์
- k_n: ๋ฒ์ ๊ฐ์ฑ ๊ณ์ (1ร10โถ)
๋ง์ฐฐ๋ ฅ (Friction Force):
f_t = -\min(k_f \|v_t\|, \mu \|f_n\|) \hat{v}_t
Coulomb ๋ง์ฐฐ ๋ชจ๋ธ์ ๋๋ค:
- v_t: ์ ์ ๋ฐฉํฅ ์๋ ์๋
- \mu: ๋ง์ฐฐ ๊ณ์ (0.8)
- k_f: ๋ง์ฐฐ ๊ฐ์ฑ ๊ณ์ (1ร10โธ)
์ด ๋ชจ๋ ์ฐ์ฐ์ด ๋ฏธ๋ถ ๊ฐ๋ฅํฉ๋๋ค. PyTorch autograd์ ์๋ฒฝ ํธํ!
๐ ์คํ ๊ฒฐ๊ณผ ๋ถ์
์ ๋์ ๋น๊ต: ObMan vs GraspโD
| ๋ฉํธ๋ฆญ | ObMan (Top 2) | GraspโD (Top 2) | ๊ฐ์ ์จ |
|---|---|---|---|
| ์ ์ด ๋ฉด์ (cmยฒ) | 9.4 | 43.0 | 4.6๋ฐฐ |
| ์นจํฌ ์ฒด์ (cmยณ) | 1.28 | 5.70 | - |
| CA/IV ๋น์จ | 7.37 | 7.55 | ์ ์ง |
| ฮต ๋ฉํธ๋ฆญ | 0.470 | 0.501 | 6.6% |
| Volume ๋ฉํธ๋ฆญ | 13.6 | 14.4 | 5.9% |
| Sim. Disp. (cm) | 1.95 | 0.59 | 3.3๋ฐฐ |
ํต์ฌ ํฌ์ธํธ:
- ์ ์ด ๋ฉด์ 4.6๋ฐฐ ์ฆ๊ฐ: ์๋ ๊ทธ๋ฆฝ โ ํ์ ๊ทธ๋ฆฝ
- ์๋ฎฌ๋ ์ด์ ๋ณ์ 3.3๋ฐฐ ๊ฐ์: ํจ์ฌ ์์ ์ ์ธ ๊ทธ๋ฆฝ
- CA/IV ๋น์จ ์ ์ง: ์ ์ด์ด ๋์์ง๋ง ์นจํฌ ๋น์จ์ ๋น์ท
์ง์ ๋น๊ต: ๋์ผ๋ก ๋ณด๋ ์ฐจ์ด
graph TB
subgraph ObMan["ObMan Grasp (GraspIt!)"]
direction TB
O1["๐ Fingertip-only contact"]
O2["โ Unstable grip"]
O3["โ Unnatural appearance"]
O4["Contact: ~9 cmยฒ"]
end
subgraph GraspD["Grasp'D Grasp"]
direction TB
G1["๐คฒ Full palm + finger wrap"]
G2["โ
Highly stable grip"]
G3["โ
Human-like appearance"]
G4["Contact: ~43 cmยฒ"]
end
style ObMan fill:#ffcdd2,stroke:#c62828
style GraspD fill:#c8e6c9,stroke:#2e7d32
์๊ฐ์ ์ฐจ์ด: ObMan์ ์๊ฐ๋ฝ ๋์ผ๋ก๋ง ์ด์ง ์ง๋ ๋ฐ๋ฉด, GraspโD๋ ์๋ฐ๋ฅ๊น์ง ๊ฐ์ธ๋ ํ์ ๊ทธ๋ฆฝ์ ์์ฑํฉ๋๋ค.
RGB-D ์ฌ๊ตฌ์ฑ์์์ ๊ฒ์ฆ
์ค์ ์์ฉ์ ๊ณ ๋ คํด YCB ๋ฐ์ดํฐ์ ์ RGB-D ์ด๋ฏธ์ง์์ ๋ฌผ์ฒด๋ฅผ ์ฌ๊ตฌ์ฑํ๊ณ ๊ทธ๋ฆฝ์ ์์ฑํ์ต๋๋ค:
- ์ ๋ ฅ: 3๊ฐ ์นด๋ฉ๋ผ ร 5๊ฐ ๊ฐ๋ = 15์ฅ RGB-D ์ด๋ฏธ์ง (์ ์ฒด์ 2.5%)
- ๊ณผ์ : Poisson ํ๋ฉด ์ฌ๊ตฌ์ฑ โ SDF ๋ณํ โ GraspโD
- ๊ฒฐ๊ณผ: ๋ถ์์ ํ ์ฌ๊ตฌ์ฑ์์๋ ํฉ๋ฆฌ์ ์ธ ๊ทธ๋ฆฝ ์์ฑ
์ด๋ ์ค์๊ฐ ๊ทธ๋ฆฝ ์์ธก์ ๊ฐ๋ฅ์ฑ์ ๋ณด์ฌ์ค๋๋ค. ํ์ฌ๋ ๊ทธ๋ฆฝ๋น ~5๋ถ์ด ๊ฑธ๋ฆฌ์ง๋ง, ํ๋์จ์ด ๋ฐ์ ๊ณผ ์๊ณ ๋ฆฌ์ฆ ์ต์ ํ๋ก ์ค์๊ฐํ๊ฐ ๊ฐ๋ฅํ ๊ฒ์ ๋๋ค.
Ablation Study: ๊ฐ ๊ธฐ๋ฒ์ ๊ธฐ์ฌ๋
| ๋ณํ | CA | SD | ๋น๊ณ |
|---|---|---|---|
| Full GraspโD | 42.6 | 0.41 | - |
| w/o Coarse-to-Fine | 43.2 | 0.55 | SD 34% ์ฆ๊ฐ |
| w/o Problem Relaxation | 6.1 | 3.82 | ์์ ์คํจ |
ํต์ฌ ๋ฐ๊ฒฌ: - Problem Relaxation์ด ๊ฐ์ฅ ์ค์ (์์ผ๋ฉด ์๋ ์ ํจ) - Coarse-to-Fine์ ์์ ์ฑ์ ๊ธฐ์ฌ (34% SD ๊ฐ์ ) - Leaky Gradient ์์ด๋ ํ ์คํธ ๋ถ๊ฐ (์ด๊ธฐํ์์ ์ ์ด ์์ผ๋ฉด ์งํ ๋ถ๊ฐ)
๐ ์ด๋ก ์ ํต์ฐฐ: ์ ์ด๊ฒ ์๋ํ๋๊ฐ?
๋ฏธ๋ถ ๊ฐ๋ฅ ์๋ฎฌ๋ ์ด์ ์ ์ฒ ํ
์ ํต์ ์ธ ์๋ฎฌ๋ ์ด์ ์ โ์ ํ์ฑโ์ ์ง์คํฉ๋๋ค. ๋ฌผ๋ฆฌ ๋ฒ์น์ ์ ๋ฐํ๊ฒ ํ์ฃ . ํ์ง๋ง GraspโD๋ ๋ค๋ฅธ ์ง๋ฌธ์ ํฉ๋๋ค:
โ์ ํํ์ง ์์๋ ๋๋๊น, ์ฌ๋ฐ๋ฅธ ๋ฐฉํฅ์ ๊ฐ๋ฆฌํค๋ ๊ทธ๋๋์ธํธ๋ฅผ ์ค ์ ์๋?โ
์ด๊ฑด ๋จธ์ ๋ฌ๋์์ ๋ฐฐ์ด ๊ตํ์ ๋๋ค. SGD๋ ์ ํํ ๊ทธ๋๋์ธํธ๊ฐ ์๋๋ผ โ๋ฐฉํฅ๋ง ๋์ถฉ ๋ง๋โ ๊ทธ๋๋์ธํธ๋ก๋ ์๋ ดํฉ๋๋ค. GraspโD์ leaky gradient๋ ๊ฐ์ ์ฒ ํ์ ๋๋ค.
Contact-Invariant Optimization์ ์ฌ๋ฐ๊ฒฌ
CIO๋ ์๋ ๋ก๋ด ๋ชจ์ ํ๋๋์ ์ํด ์ ์๋์์ต๋๋ค. ํต์ฌ ์์ด๋์ด๋:
- ์ ์ด ํจํด์ ๋ฏธ๋ฆฌ ๊ณ ์ ํ์ง ์๋๋ค
- ๋ฌผ๋ฆฌ ๋ฒ์น ์๋ฐ์ ํ์ฉํ๋, ๋น์ฉ์ผ๋ก ์ฒ๋ฆฌํ๋ค
- ๋ ๊ฐ์ง ๊ด์ ์ผ๋ก ๋ฌธ์ ๋ฅผ ๋ถํดํ๋ค:
- ์ด๋ค ํ์ด ํ์ํ๊ฐ? (๊ณํ)
- ๊ทธ ํ์ ์ด๋ป๊ฒ ์์ฑํ๋? (์คํ)
GraspโD๋ ์ด ์ฒ ํ์ ๊ทธ๋ฆฝ ํฉ์ฑ์ ์ ์ฉํ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ฏธ๋ถ ๊ฐ๋ฅ ์๋ฎฌ๋ ์ด์ ์ด๋ผ๋ ์๋ก์ด ๋๊ตฌ ๋๋ถ์, ์ด ์์ด๋์ด๊ฐ ์ค์ ๋ก ์๋ํ๊ฒ ๋์์ต๋๋ค.
SDF์ ๋ฏธ๋ถ ๊ฐ๋ฅ์ฑ
์ ๋ฉ์ ๋์ SDF๋ฅผ ์ธ๊น์?
| ํน์ฑ | Mesh-based Contact | SDF-based Contact |
|---|---|---|
| ํํ ๋ฐฉ์ | Discrete triangle boundaries | Continuous distance field |
| ๊ฑฐ๋ฆฌ (d) | Discontinuous at edges | Continuous everywhere |
| ๋ฒ์ (n) | Jumps between faces | Smooth (almost everywhere) |
| โd/โx | Hard to define | Easy: โฯ/โx = โฯ |
| ๋ฏธ๋ถ ๊ฐ๋ฅ์ฑ | โ Problematic | โ Well-defined |
SDF์ ๊ทธ๋๋์ธํธ โฯ๋ ๋จ์ ๋ฒกํฐ์ด๊ณ , ์ด๋ ๊ณง ํ๋ฉด ๋ฒ์ ์ ๋๋ค. ์นจํฌ ๊น์ด d์ ๋ฒ์ n ๋ชจ๋ ์์น์ ๋ํด ๋ฏธ๋ถ ๊ฐ๋ฅํฉ๋๋ค!
๐ฎ ๋ฏธ๋ ์ ๋ง ๋ฐ ํ๊ณ
ํ์ฌ์ ํ๊ณ
- ์๋: ๊ทธ๋ฆฝ๋น ~5๋ถ (RTX 2070). ์ค์๊ฐ ์ ์ฉ ์ด๋ ค์
- ๋ก์ปฌ ์ต์๊ฐ: ์ด๊ธฐํ์ ๋ฐ๋ผ ๊ฒฐ๊ณผ๊ฐ ๋ฌ๋ผ์ง
- ๋จ์ผ ๋ฌผ์ฒด ๊ฐ์ : ํด๋ฌํฐ ํ๊ฒฝ ๋ฏธ์ง์
- ์ ์ ๊ทธ๋ฆฝ๋ง: ๋์ ์กฐ์(in-hand manipulation) ๋ฏธ์ง์
๋ฐ์ ๋ฐฉํฅ
- Fast-GraspโD (ICRA 2023): ๊ฐ์ ํ์ด 10๋ฐฐ ๋น ๋ฅธ ๋ฒ์ ๋ฐํ. GraspโD-1M ๋ฐ์ดํฐ์ ์์ฑ
- ํ์ต ๊ธฐ๋ฐ ์ด๊ธฐํ: ์ ๊ฒฝ๋ง์ด ์ข์ ์ด๊ธฐ๊ฐ์ ์์ธกํ๋ฉด ์ต์ ํ ์๋ ด ๊ฐ์
- ๋ณ๋ ฌํ: GPU ๋ณ๋ ฌํ๋ก ๋ค์ค ๊ทธ๋ฆฝ ๋์ ํ์
- ์ค์๊ฐํ: ์ต์ ํ ๋์ ์ ๊ฒฝ๋ง ์์ธก + ๋ฏธ๋ถ ๊ฐ๋ฅ ์๋ฎฌ๋ ์ด์ ๋ฏธ์ธ ์กฐ์
๋ ๋์ ๋งฅ๋ฝ: ๋ฏธ๋ถ ๊ฐ๋ฅ ์๋ฎฌ๋ ์ด์ ์ ๋ถ์
GraspโD๋ ๋ ํฐ ํธ๋ ๋์ ์ผ๋ถ์ ๋๋ค:
- Brax: Google์ ๋ฏธ๋ถ ๊ฐ๋ฅ ๋ฌผ๋ฆฌ ์์ง
- DiffTaichi: SIGGRAPH 2020
- Isaac Gym: NVIDIA์ ๋ณ๋ ฌ ์๋ฎฌ๋ ์ดํฐ
- Nimble Physics: ํด์์ ๊ทธ๋๋์ธํธ ๊ณ์ฐ
๋ฏธ๋ถ ๊ฐ๋ฅ ์๋ฎฌ๋ ์ด์ ์ ๋ก๋ด๊ณตํ์ ์๋ก์ด ํจ๋ฌ๋ค์์ ๋๋ค. GraspโD๋ ๊ทธ ๊ฐ๋ฅ์ฑ์ ๊ทธ๋ฆฝ ํฉ์ฑ์์ ๋ณด์ฌ์ฃผ์์ต๋๋ค.
๐ ๏ธ ์ค๋ฌด์๋ฅผ ์ํ ํต์ฌ ํ ์ดํฌ์ด์จ์ด
์ด ๋ ผ๋ฌธ์ ๋น์ฅ ์ ์ฉํ๊ณ ์ถ๋ค๋ฉด:
- ์ฝ๋ ๊ณต๊ฐ: github.com/dylanturpin/graspd
- PyTorch ํธํ: ๊ธฐ์กด ํ์ดํ๋ผ์ธ์ ์ฝ๊ฒ ํตํฉ
- ๋ฒ์ฉ ์ ๋ชจ๋ธ ์ง์: MANO (์ธ๊ฐ), Allegro (๋ก๋ด) ๋ชจ๋ OK
๊ตฌํ ํ:
# ํต์ฌ ํ์ดํผํ๋ผ๋ฏธํฐ (๋
ผ๋ฌธ ๊ธฐ์ค)
config = {
'normal_stiffness': 1e6, # k_n
'friction_stiffness': 1e8, # k_f
'friction_coeff': 0.8, # ฮผ
'leaky_alpha': 0.1, # ๋น์ ์ด ๊ทธ๋๋์ธํธ ๋น์จ
'smoothing_radius': 0.1, # ์ด๊ธฐ SDF ํจ๋ฉ (๋ฏธํฐ)
'smoothing_steps': 5000, # 0๊น์ง ์ ํ ๊ฐ์
'total_steps': 7000,
'optimizer': 'Adamax',
'lr_pose': 3e-3,
'lr_force': 1e-2,
}์ฐ๊ตฌ ํ์ฅ ์์ด๋์ด:
- RL๊ณผ ๊ฒฐํฉ: ๋ฏธ๋ถ ๊ฐ๋ฅ ์๋ฎฌ๋ ์ด์ โ policy gradient ๊ฐ์
- ์ด๊ฐ ์ผ์ ํตํฉ: ์ ์ด๋ ฅ ํผ๋๋ฐฑ์ผ๋ก closed-loop ์ ์ด
- Sim-to-Real: ํฉ์ฑ ๊ทธ๋ฆฝ์ผ๋ก ์ค์ ๋ก๋ด ํ์ต
- ๋ฉํฐ ์๊ฐ๋ฝ ํ์กฐ: ์์ ์กฐ์์ผ๋ก ํ์ฅ
๐ ๊ด๋ จ ์ฐ๊ตฌ ๋งฅ๋ฝ
์ด ๋ ผ๋ฌธ์ด ์ธ์ฉํ๋ ํต์ฌ ๋ ผ๋ฌธ๋ค:
| ๋ ผ๋ฌธ | ๊ธฐ์ฌ | GraspโD์์ ๊ด๊ณ |
|---|---|---|
| GraspIt! (Miller & Allen, 2004) | ํด์์ ๊ทธ๋ฆฝ ํฉ์ฑ | ๋น๊ต ๋์ (baseline) |
| ObMan (Hasson et al., 2019) | ์-๋ฌผ์ฒด ํฌ์ฆ ์ถ์ ๋ฐ์ดํฐ์ | ๋น๊ต ๋์ (baseline) |
| Contact-Invariant Optimization (Mordatch et al., 2012) | CIO ํ๋ ์์ํฌ | ํต์ฌ ์๊ฐ |
| MANO (Romero et al., 2017) | ํ๋ผ๋ฉํธ๋ฆญ ์ธ๊ฐ ์ ๋ชจ๋ธ | ์ ๋ชจ๋ธ๋ก ์ฌ์ฉ |
์ด ๋ ผ๋ฌธ์ ์ธ์ฉํ ํ์ ์ฐ๊ตฌ๋ค:
| ๋ ผ๋ฌธ | ๊ธฐ์ฌ |
|---|---|
| Fast-GraspโD (ICRA 2023) | 10๋ฐฐ ๋น ๋ฅธ ๋ฒ์ + 1M ๋ฐ์ดํฐ์ |
| DexGraspNet (CVPR 2023) | ๋๊ท๋ชจ ๋ฑ์คํฐ๋ฌ์ค ๊ทธ๋ฆฝ ๋ฐ์ดํฐ์ |
| UniDexGrasp (CVPR 2023) | ๋ฒ์ฉ ๋ฑ์คํฐ๋ฌ์ค ๊ทธ๋ฆฝ ์ ์ฑ |
๐ฌ ๊ฒฐ๋ก : ๋จ์ํจ์ ์น๋ฆฌ
GraspโD์ ์ง์ ํ ์๋ฆ๋ค์์ ๊ธฐ์กด ์์ด๋์ด๋ค์ ์ฐฝ์์ ์ธ ์กฐํฉ์ ์์ต๋๋ค:
- SDF ๊ธฐ๋ฐ ์ ์ด (์๋ก์ด ๊ฑด ์๋)
- ๊ฒฝ์ฌ ๊ธฐ๋ฐ ์ต์ ํ (์๋ก์ด ๊ฑด ์๋)
- Leaky gradient (๋ฅ๋ฌ๋์์ ๋น๋ ค์ด)
- CIO ์คํ์ผ ์ํ (๋ชจ์ ํ๋๋์์ ๋น๋ ค์ด)
๊ฐ๊ฐ์ ์๋ ค์ง ๊ธฐ๋ฒ์ด์ง๋ง, ๊ทธ๋ฆฝ ํฉ์ฑ์ด๋ผ๋ ๋ฌธ์ ์ ๋ง๊ฒ ์กฐํฉํ๊ณ ํ๋ํ ๊ฒ์ด ์ด ๋ ผ๋ฌธ์ ๊ธฐ์ฌ์ ๋๋ค.
๊ทธ๋ฆฌ๊ณ ๊ฒฐ๊ณผ๋ ๋๋์ต๋๋ค: 4๋ฐฐ ๋์ ์ ์ด ๋ฉด์ , 3๋ฐฐ ๋์ ์์ ์ฑ.
์ด๊ฒ์ด ์ข์ ์ฐ๊ตฌ์ ๋ณธ์ง์ ๋๋ค. ๋ณต์กํ ์ ๊ธฐ๋ฒ์ ๋ฐ๋ช ํ๋ ๊ฒ์ด ์๋๋ผ, ๊ธฐ์กด ๋๊ตฌ๋ค์ ๋ฌธ์ ์ ๋ง๊ฒ ์ฌ์กฐํฉํ๋ ๊ฒ. ๋ดํด์ด โ๊ฑฐ์ธ์ ์ด๊นจ ์์ ์ ์๋คโ๊ณ ํ๋ฏ์ด, GraspโD๋ ๋ฏธ๋ถ ๊ฐ๋ฅ ๋ฌผ๋ฆฌํ, ๋ฅ๋ฌ๋, ์ต์ ํ ์ด๋ก ์ด๋ผ๋ ๊ฑฐ์ธ๋ค์ ์ด๊นจ ์์ ์์, ๋ก๋ด ๊ทธ๋ฆฌํ์ ์ ์งํ์ ์ด์์ต๋๋ค.
๐ ์ฐธ๊ณ ๋ฌธํ
- Turpin, D., et al. โGraspโD: Differentiable Contact-rich Grasp Synthesis for Multi-fingered Hands.โ ECCV 2022.
- Miller, A. T., & Allen, P. K. โGraspit! A versatile simulator for robotic grasping.โ IEEE Robotics & Automation Magazine, 2004.
- Hasson, Y., et al. โLearning joint reconstruction of hands and manipulated objects.โ CVPR 2019.
- Mordatch, I., et al. โContact-invariant optimization for hand manipulation.โ Eurographics/SIGGRAPH Symposium on Computer Animation, 2012.
- Romero, J., et al. โEmbodied hands: Modeling and capturing hands and bodies together.โ SIGGRAPH Asia, 2017.
โ๏ธ Dig Review
โ๏ธ Dig โ Go deep, uncover the layers. Dive into technical detail.
๋ฌธ์ ์ค์ ๋ฐ ๊ธฐ์กด ์ ๊ทผ๋ฒ์ ํ๊ณ
๋ก๋ด์ด๋ ๊ฐ์ ์ธ๊ฐ์ ๋ค์ค ์๊ฐ๋ฝ ํ์ง(grasp)๋ฅผ ์์ฑํ๋ ๊ฒ์ ๋งค์ฐ ์ด๋ ค์ด ๋ฌธ์ ์ ๋๋ค. ์ฌ๋์ ์ผ์์ ์ผ๋ก ๋ค์ํ ๋ฌผ์ฒด๋ฅผ ์ฝ๊ฒ ์ฅ์ง๋ง, ์ด๋ ์๊ฐ ์ ๋ณด ์ฒ๋ฆฌ์ ์์ ์ ๊ตํ ์์ง์์ด ๊ฒฐํฉ๋ ๋ณต์กํ ์ธ์ง-์ด๋ ์ ์ด ์์คํ ๋๋ถ์ ๋๋ค. ๊ธฐ๊ณ์๊ฒ ์ด๋ฌํ ๋ฅ๋ ฅ์ ์ฃผ๋ ๋ฐฉ๋ฒ์ผ๋ก ๊ทธ๋ฆฝ ํฉ์ฑ(grasp synthesis) ์ฐ๊ตฌ๊ฐ ๋ฐ์ ํด์์ต๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ๊ทธ๋ฆฝ ํฉ์ฑ์ ๋ฌผ์ฒด์ ์์ ํ ๊ธฐํํ ์ ๋ณด(์: ์ผ์ฐจ์ ๋ฉ์ฌ)๊ฐ ์ฃผ์ด์ก๋ค๊ณ ๊ฐ์ ํ๋ฉฐ, ๊ทธ๋ฆฝ ํ์ง ์งํ(grasp quality metric)๋ฅผ ์ต์ ํํ์ฌ ์์ ์์ธ๋ฅผ ์ฐพ๋ ๋ฐฉ์์ผ๋ก ์ด๋ฃจ์ด์ง๋๋ค.
์ ํต์ ์ผ๋ก ์ฌ์ฉ๋ ๋ ๊ฐ์ง ์ ๊ทผ์ ํด์์ (analytic) ์งํ์ ์๋ฎฌ๋ ์ด์ ๊ธฐ๋ฐ ์งํ์ ๋๋ค. ํด์์ ์งํ์ ์๋ก ๋ก๋ด๊ณตํ์์ ๋๋ฆฌ ์ฐ์ด๋ epsilon metric์ด ์๋๋ฐ, ์ด๋ ํ์ง๊ฐ ๋ฌผ์ฒด์ ๊ฐํ๋ ์ ์ด ํ๋ค์ ์กฐํฉ์ผ๋ก ๊นจ๋จ๋ฆด ์ ์๋ ์ต์ ์ถ๊ฐ ํ์ ํฌ๊ธฐ๋ฅผ ์ธก์ ํฉ๋๋ค. ํด์์ ์งํ๋ค์ ๊ณ์ฐ์ด ๋น ๋ฅด์ง๋ง ํ์ค ์ธ๊ณ์์ ์ค์ฐจ๊ฐ ํฌ๊ณ ์ ์ด์ด ๋๋ฌธdex[footnote?] ํ์ง์๋ ๋ถ์ ํฉํ ํ๊ณ๊ฐ ์์ต๋๋ค. ๋ฐ๋ฉด ์๋ฎฌ๋ ์ด์ ๊ธฐ๋ฐ ์งํ๋ ์ค์ ๋ก ๋ฌผ์ฒด๋ฅผ ์ก์ ํ ํ์ ๊ฐํ๊ฑฐ๋ ํ๋ค์ด ๋ณด๋ ๊ฐ์ ์คํ์ผ๋ก ํ์ง์ ์ฑ๊ณต ์ฌ๋ถ๋ฅผ ํ๊ฐํ๊ธฐ ๋๋ฌธ์ ๋ฌผ๋ฆฌ์ ์ ํ์ฑ์ด ๋์ง๋ง, ๊ณ์ฐ ๋น์ฉ์ด ๋ง์ด ๋ญ๋๋ค. ๋์ฑ์ด, ์ด๋ค ๊ธฐ์กด ์ ๊ทผ์์๋ ํด์์ ์งํ๋ ์๋ฎฌ๋ ์ดํฐ ๋ชจ๋ ๋ฏธ๋ถ ๊ฐ๋ฅํ์ง ์๊ธฐ ๋๋ฌธ์, ๊ทธ๋ฆฝ ์์ธ๋ฅผ ์ฐพ๋ ์ต์ ํ๋ ์ฃผ๋ก ๋ธ๋๋ฐ์ค ๋ฐฉ์์ ํ์์ผ๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค. ๊ฐ๋จํ ํํ์ ๊ทธ๋ฆฌํผ(์: ํํ ํฑ ๊ทธ๋ฆฌํผ)์ ๊ฒฝ์ฐ ํ์ง ์์ธ ๊ณต๊ฐ์ด ์ ์ฐจ์์ด๋ผ ๋ธ๋๋ฐ์ค ์ต์ ํ๋ ๋ช ๋จ๊ณ์ ์๋๋ก ์ถฉ๋ถํ ์ ์์ง๋ง, ์ธ๊ฐ ์๊ณผ ๊ฐ์ ๊ณ ์์ ๋ ๋ค๊ด์ ์์ ๊ฒฝ์ฐ ํ์ ๊ณต๊ฐ์ด ๊ฑฐ๋ํด์ ธ์ ๊ธฐ์กด ๋ธ๋๋ฐ์ค ๊ธฐ๋ฒ์ ๊ณ์ฐ์ ์ผ๋ก ๋ถ๊ฐ๋ฅ์ ๊ฐ๊น์์ง๋๋ค.
์ด์ ๋ฐ๋ผ ์ฐ๊ตฌ์๋ค์ ๋ฌธ์ ๋ฅผ ์ํํ๊ธฐ ์ํด ๋ค์ํ ์ ์ฝ๊ณผ ๋จ์ํ ๊ฐ์ ์ ๋์ ํ๊ณค ํ์ต๋๋ค. ์๋ฅผ ๋ค์ด ์ ๋ช ํ GraspIt! ์ํํธ์จ์ด์์๋ ์์ ์์ ๋๋ฅผ ์ค์ด๊ธฐ ์ํด eigengrasp๋ผ ๋ถ๋ฆฌ๋ ์๊ฐ๋ฝ ๊ณต์ฉ ์ขํ(์ฃผ์ฑ๋ถ ํํ)๋ฅผ ์ฌ์ฉํ๊ฑฐ๋, ๋ฌผ์ฒด์ ํน์ ์ง์ ์ ๋ฏธ๋ฆฌ ์ ํด์ง ์ ์ด ์ง์ ์ ๋์ด ์์ด ๊ทธ ์ ๋ค์ ์ก๋๋ก ์ ๋ํ๋ ๋ฐฉ์์ ์ทจํ์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด๋ฌํ ๊ฐ์ ๋ค์ ํ์ ๊ณต๊ฐ ์ฐจ์์ ๋ฎ์ถฐ์ฃผ๊ธด ํด๋ ๊ฒฐ๊ณผ์ ์ผ๋ก ์ฐพ์ ์ ์๋ ํ์ง์ ๋ค์์ฑ๊ณผ ํ์ค์ฑ์ ๋จ์ด๋จ๋ฆฝ๋๋ค. ์ค์ ๋ก ๊ธฐ์กด์ ํด์์ ํฉ์ฑ ๋ฐฉ๋ฒ์ผ๋ก ์์ฑ๋ ํ์ง ์์ธ๋ ์ฃผ๋ก ์๊ฐ๋ฝ ๋ ๋ช ๊ตฐ๋ฐ๋ก๋ง ๋ฌผ์ฒด๋ฅผ ๊ฐ์ ํ ์ง๋ ํํ๊ฐ ๋ง๊ณ , ์ฌ๋ ์์ด ๋ฌผ์ฒด๋ฅผ ๊ฐ์ธ ์ฅ ๋ ๋ํ๋๋ ๋์ ๋ฉด์ ์ ์ ์ด์ ์ฌํ๋์ง ์๋ ๊ฒฝ์ฐ๊ฐ ๋ง์์ต๋๋ค. ๊ทธ๋ฆผ 1์ ์ด๋ฌํ ํ๊ณ๋ฅผ ์ ๋ณด์ฌ์ค๋๋ค. ์ผ์ชฝ์ ๊ธฐ์กด ๋ฐฉ๋ฒ(์: ObMan/GraspIt! ๊ธฐ๋ฐ ํฉ์ฑ)์ ๋ฌผ์ฒด ํ๋ฉด์ ์๊ฐ๋ฝ ๋๋ง ๋ฟ๋ ์ฑ๊ธด ์ ์ด์ ๊ฐ์ง์ง๋ง, ์ค๋ฅธ์ชฝ์ GraspโD ๋ฐฉ๋ฒ์ ์๋ฐ๋ฅ๊ณผ ์๊ฐ๋ฝ ์ ์ฒด๋ก ๋ฌผ์ฒด๋ฅผ ๊ฐ์ธ ์์ ์ ์ด๊ณ ๋์ ์ ์ด ๋ฉด์ ์ ํ๋ณดํ ํ์ง๋ฅผ ๋ง๋ค์ด๋ ๋๋ค. ์ด๋ฌํ ๋๋ฌธ ์ ์ด์ ํ์น ๊ทธ๋ฆฝ์ ์์กดํ๋ ๊ธฐ์กด ๋ฐฉ๋ฒ์ ํ์ง ์์ ์ฑ์ด ๋ฎ๊ณ ๋ถ์์ฐ์ค๋ฌ์ ์ค์ ์ฌ์ฉ์ ํ๊ณ๊ฐ ์์์ต๋๋ค.
Grasp'D: ๋ฏธ๋ถ๊ฐ๋ฅํ ๊ทธ๋ฆฝ ํฉ์ฑ ์ต์ ํ ํ๋ ์์ํฌ
์ด๋ฌํ ๋ฐฐ๊ฒฝ์์ GraspโD (Grasp โDifferentiableโ)๋ ๋ณต์กํ ๋ค๊ด์ ์์ ํ์ง ๋์์ ๋ณด๋ค ์ฌ์ค์ ์ด๊ณ ์์ ์ ์ผ๋ก ์์ฑํ๊ธฐ ์ํด ๋ฏธ๋ถ๊ฐ๋ฅ ์๋ฎฌ๋ ์ด์ (differentiable simulation)์ ํ์ฉํ๋ ์๋ก์ด ์ต์ ํ ํ๋ ์์ํฌ๋ฅผ ์ ์ํฉ๋๋ค. ํต์ฌ ์์ด๋์ด๋ ํ์ง์ ํ์ง์ ํ๊ฐํ๋ ๋ฌผ๋ฆฌ ์๋ฎฌ๋ ์ด์ ๊ณผ์ ์ ๋ฏธ๋ถ๊ฐ๋ฅํ๊ฒ ๊ตฌ์ฑํ์ฌ, ์ด์ ๋ํ ๊ทธ๋๋์ธํธ(gradient)๋ฅผ ์ด์ฉํด ์์ ๊ด์ ๊ฐ๋๋ฅผ ์ง์ ์ฐ์์ ์ผ๋ก ์ต์ ํํ๋ ๊ฒ์ ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ํ์ค ํด์์ ์งํ๋ ๊ธฐ์กด ์๋ฎฌ๋ ์ดํฐ์ฒ๋ผ ์ผ์ผ์ด ์ํ์ ์๋ํด๋ณด๋ ๋ธ๋๋ฐ์ค ํ์ ๋์ , ๊ธฐ์ธ๊ธฐ ์ ๋ณด๋ฅผ ๋ฐ๋ผ๊ฐ๋ ํจ์จ์ ์ธ ํ์์ด ๊ฐ๋ฅํด์ง๋๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก GraspโD๋ ๊ณ ์ฐจ์ ๊ณต๊ฐ์์๋ ์๋ ํ์๋ฅผ ์ค์ด๋ฉด์๋ ํ์ค์ฑ ๋์ ํ์ง๋ฅผ ์ฐพ์๋ผ ์ ์์ผ๋ฉฐ, ๋ฌผ๋ฆฌ ์๋ฎฌ๋ ์ด์ ๊ธฐ๋ฐ ํ๊ฐ์ ์ฅ์ (๋ฌผ๋ฆฌ์ ํ๋น์ฑ, ํ์ฅ์ฑ ๋ฑ)์ ๋ชจ๋ ์ ๊ณตํ ์ ์์ต๋๋ค.
GraspโD ํ๋ ์์ํฌ์ ์ ์ฒด ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ๋จผ์ ๋ฌผ์ฒด์ ์์ 3D ๋ชจ๋ธ(๋ฉ์ฌ ํน์ Signed Distance Function ํํ ๋ฑ)์ด ์ฃผ์ด์ง๋ฉด, ์ ๋ชจ๋ธ์ ๋ฌผ์ฒด ๊ทผ์ฒ์ ์์์ ์ด๊ธฐ ์์ธ๋ก ๋ฐฐ์นํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ๋ฏธ๋ถ๊ฐ๋ฅ ๋ฌผ๋ฆฌ ์๋ฎฌ๋ ์ด์ ์ ์ด์ฉํด ํด๋น ์์ธ์ ํ์ง ์์ ์ฑ์ ํ๊ฐํ๋ ๊ทธ๋ฆฝ Metric(๋ชฉ์ ํจ์)์ ๊ณ์ฐํฉ๋๋ค. GraspโD์์ ์ฌ์ฉ๋ ๊ทธ๋ฆฝ ํ๊ฐ์งํ๋ ์๋ฎฌ๋ ์ด์ ์ ํตํด ์ ์๋๋๋ฐ, ๊ฐ๋จํ ๋งํด ๋ฌผ์ฒด์ ์์ ๊ต๋(force๋ ์๋)์ ์ฃผ์์ ๋ ๋ฌผ์ฒด๊ฐ ์์์ ๋น ์ ธ๋๊ฐ๋ ์ ๋๋ฅผ ๋ํ๋ด๋ ๊ฐ์ ๋๋ค. ์ด ๊ฐ์ด ์์์๋ก (์ฆ ๋ฌผ์ฒด์ ์ต์ข ์์ง์์ด ๋ฏธ๋ฏธํ ์๋ก) ํ์ง๊ฐ ์์ ์ ์ด๋ผ๊ณ ๋ณผ ์ ์์ต๋๋ค. ์ค์ํ ๊ฒ์ ์ด ์๋ฎฌ๋ ์ด์ ๊ณผ์ ์ด ์ฐ์์ ํจ์์ฒ๋ผ ๋ฏธ๋ถ๊ฐ๋ฅํ๋๋ก ์ค๊ณ๋์ด ์์ด, ์๊ฐ๋ฝ ๊ด์ ๊ฐ ๋ฑ์ ๋ํ ์ด ๊ทธ๋ฆฝ Metric์ ๊ทธ๋๋์ธํธ๋ฅผ ์ป์ ์ ์๋ค๋ ์ ์ ๋๋ค. ๋ฐ๋ผ์ ์์ ์์ธ ๋งค๊ฐ๋ณ์๋ค์ ์ด ๊ทธ๋๋์ธํธ์ ๋ฐ๋ผ ์กฐ๊ธ์ฉ ์กฐ์ ํ๋ฉด์ ๋ฐ๋ณต์ ์ผ๋ก ์ต์ ํ(gradient descent)ํ๋ฉด ํ์ง ํ์ง์ด ํฅ์๋ฉ๋๋ค. ์ค์ ๋ก GraspโD ํ์ดํ๋ผ์ธ์ ํตํด ์ด๊ธฐ์๋ ๋ฌผ์ฒด๋ฅผ ์ ๋๋ก ์ก์ง ๋ชปํ๋ ์์ด ์ ์ง์ ์ผ๋ก ์๊ฐ๋ฝ์ ๋ฌผ์ฒด์ ๋ฐ์ฐฉ์ํค๊ณ ์์ชฝ์ผ๋ก ๊ฐ์ผ๋ฉด์, ์ต์ข ์ ์ผ๋ก ์์ ์ ์ด๊ณ ์ ์ด๋ฉด์ ์ด ๋์ ํ์ง ์์ธ๋ฅผ ์์ฑํ๊ฒ ๋ฉ๋๋ค.
๊ทธ๋ฆผ 1: GraspโD ํ์ดํ๋ผ์ธ์ ํตํด ์์ด ๋ฌผ์ฒด๋ฅผ ์ก์๊ฐ๋ ๊ณผ์ ์์. ์ด๊ธฐ์๋ ์๊ฐ๋ฝ ๋๋ง ์ ์ดํ์ง๋ง, ์ต์ ํ๊ฐ ์งํ๋ ์๋ก ์๊ฐ๋ฝ๊ณผ ์๋ฐ๋ฅ์ ํ์ฉํด ๋ฌผ์ฒด๋ฅผ ๊น์์ด ๊ฐ์ธ ์ฅ๋ฉฐ ์ ์ด ๋ฉด์ ๊ณผ ์์ ์ฑ์ ๋์ฌ๋๊ฐ๋ค.
GraspโD์ ์ค์ํ ํน์ง์, ํ์ง๊ฐ ๋ฐ์ํ๋ ๋ชจ๋ ์ ์ด๋ฉด์ ์ ํํ์ง ์๊ณ ํ์ด๋๋ค๋ ๊ฒ์ ๋๋ค. ์ ๋ชจ๋ธ์ ํ๋ฉด(์๋ฐ๋ฅ, ์๊ฐ๋ฝ ๋ง๋ ๋ฑ) ์ ์ฒด๊ฐ ์ ์ฌ์ ์ธ ์ ์ด ์ง์ ์ผ๋ก ํ์ฉ๋๋ฉฐ, GraspโD๋ ์ด ์์ฒ ๊ฐ์ ๋ฌํ๋ ์ ์ด ํ๋ณด ์ง์ ๋ค์ ๋์์ ๊ณ ๋ คํ๋ฉด์ ์ต์ ํํฉ๋๋ค. ์ด๋ ๊ธฐ์กด ๋ฐฉ๋ฒ๋ค์ด ์ ์ด์ ์ ๋ช ๊ตฐ๋ฐ ๋ฏธ๋ฆฌ ์ ํด๋๊ฑฐ๋ ์๊ฐ๋ฝ ์์ธ ์์ ๋๋ฅผ ์ธ์์ ์ผ๋ก ์ค์๋ ๊ฒ๊ณผ ๋์กฐ์ ์ ๋๋ค. GraspโD๋ ์ด๋ฌํ ๊ฐ์ํ ๊ฐ์ ์์ด๋ ๊ด๋ฒ์ํ ์ ์ด์ ํ์ฉํ ํ์ง๋ฅผ ์ฐพ์๋ด๋ฉฐ, ์ด๋ ๊ณง ๊ณ ์ ์ด-ํ์ ๊ทธ๋ฆฝ(high-contact power grasp)์ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค. ๊ฒฐ๊ตญ ์ด ํ๋ ์์ํฌ๋ฅผ ํตํด ์ธ๊ฐ ์๋ฟ ์๋๋ผ ๋ก๋ด ์ ๋ฑ ์์์ ๋ค๊ด์ ์ ๋ชจ๋ธ์ ๋ํด, ์ฃผ์ด์ง ๋ฌผ์ฒด๋ฅผ ๋ฌผ๋ฆฌ์ ์ผ๋ก ํ์ค์ฑ ์๊ณ ์์ ์ ์ผ๋ก ์ก๋ ์์ธ๋ฅผ ๋ฏธ๋ถ๊ฐ๋ฅ ์ต์ ํ๋ก ๊ตฌํ ์ ์๊ฒ ๋์์ต๋๋ค.
ํํธ GraspโD๋ ํ์ต ๊ธฐ๋ฐ(learning-based) ์ ๊ทผ๊ณผ๋ ๋ฌ๋ฆฌ ์ฌ์ ํ์ต ๋ฐ์ดํฐ๋ ์ ๊ฒฝ๋ง ๋ชจ๋ธ์ด ํ์ํ์ง ์์ ์ต์ ํ ๊ฒฝ๋ก๋ฅผ ์ทจํ๊ณ ์์ต๋๋ค. ์ด๋ ๋ช ๊ฐ์ง ์ฅ์ ์ ์ง๋๋๋ฐ, ์ฒซ์งธ๋ก ๋๊ท๋ชจ์ ํ์ง ๋ฐ์ดํฐ์ ์ ๋ง๋ค๊ณ ํ์ต์ํค๋ ๋ฒ๊ฑฐ๋ก์ด ๊ณผ์ ์ ํผํ ์ ์์ต๋๋ค. ์ธ๊ฐ์ ํ์ง ๋์์ ์บก์ฒํ๊ฑฐ๋ ์๋ฎฌ๋ ์ดํฐ๋ก ์์ญ๋ง ๊ฐ์ง ํ์ง๋ฅผ ์์ฑํ์ฌ ํ์ต์ํค๋ ๊ธฐ์กด ๋ฐฉ๋ฒ๋ค๊ณผ ๋ฌ๋ฆฌ, GraspโD๋ ๋ฌผ์ฒด์ 3D ํํ๋ง ์ฃผ์ด์ง๋ฉด ๊ทธ ์๋ฆฌ์์ ์ต์ ํ๋ฅผ ํตํด ํ์ง๋ฅผ ์ฐพ์๋ด๋ฏ๋ก ์๋ก์ด ๋ฌผ์ฒด๋ ์์ ๋ํด์๋ ๋ฒ์ฉ์ ์ผ๋ก ์ ์ฉํ ์ ์์ต๋๋ค. ๋์งธ๋ก, ๋ฌผ๋ฆฌ ์๋ฎฌ๋ ์ด์ ์ ๊ธฐ๋ฐํ๋ฏ๋ก ํ๋ จ ๋ฐ์ดํฐ ๋ถํฌ ๋ฐ์ ๊ฒฝ์ฐ์๋ ๋ฌผ๋ฆฌ ๋ฒ์น์ ๋ง๋ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ๊ฐ๋ฅ์ฑ์ด ๋๊ณ , ์๊ณผ ๋ฌผ์ฒด์ ์์ ์กฐํฉ์ ๋ํด ์ ์ฝ ์์ด ๋์ํฉ๋๋ค. ๋ง์ง๋ง์ผ๋ก, ํ์ต๋์ง ์์ ์ต์ ํ ๊ฒฝ๋ก๋ ํด์์ ์กฐ์ ์ด ์ฉ์ดํ๋ค๋ ์ด์ ์ด ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ์ก๊ณ ์ ํ๋ ๋ฌผ์ฒด์ ์ฌ์ง์ ๋ฐ๋ผ ๋ง์ฐฐ๊ณ์๋ฅผ ๋ค๋ฅด๊ฒ ์ค์ ํ๋ค๊ฑฐ๋ (์ ๋ฆฌ๋ ๋ฎ์ ๋ง์ฐฐ, ๊ณ ๋ฌด๋ ๋์ ๋ง์ฐฐ), ์์ ๊ด์ ๊ฐ๋ ๋ฒ์๋ฅผ ์ ํํ๋ ๋ฑ์ ๋ฌผ๋ฆฌ์ ํ๋ผ๋ฏธํฐ ๋ณ๊ฒฝ์ ๊ณง๋ฐ๋ก ์ ์ฉํ ์ ์์ต๋๋ค. ํ์ต๋ ๋ชจ๋ธ์ด๋ผ๋ฉด ์ด๋ฐ ๋ณ๊ฒฝ์ ์ฌํ์ต์ด ํ์ํ ์ ์์ง๋ง, GraspโD ์ต์ ํ๋ ๋ฌผ๋ฆฌ ๋ชจ๋ธ๋ง ๋ฐ๊พธ๋ฉด ์ฆ์ ๋ฐ์๋๋ฏ๋ก ํ์ฅ์ฑ(extensibility)์ด ๋์ต๋๋ค. ๋ค๋ง ์ด๋ฐ ๋นํ์ต์ ์ ๊ทผ์ ๋จ์ ์ผ๋ก๋ ๊ฐ๋ณ ํ์ง๋ฅผ ์ฐพ๋๋ฐ ์๊ฐ์ด ๊ฑธ๋ ค ์ค์๊ฐ์ผ๋ก ์ฌ์ฉํ๊ธฐ์๋ ์์ง ๋๋ฆฌ๋ค๋ ์ ์ด ์์ต๋๋ค (๋ ผ๋ฌธ ์ ์๋ค์ ๋ฐ๋ฅด๋ฉด ๋ฌผ์ฒด ํ๋๋น ์ฝ 5๋ถ ์ ๋ ์ต์ ํ๊ฐ ๊ฑธ๋ฆฝ๋๋ค). ํ์ง๋ง ์คํ๋ผ์ธ์์ ํ์ง ๋ฐ์ดํฐ์ ์ ๋๋ ์์ฑํ๊ฑฐ๋, ๋๋ ํฅํ ์๋ฎฌ๋ ์ด์ ๋ฐ ์ต์ ํ ๊ธฐ์ ์ ์๋๊ฐ ๊ฐ์ ๋๋ค๋ฉด ์ถฉ๋ถํ ํ์ฉ ๊ฐ๋ฅํ ์์ค์ด๋ฉฐ, ๋ฌผ๋ฆฌ ๊ธฐ๋ฐ์ ์ ํ์ฑ์ ๊ณ ๋ คํ๋ฉด ๊ฐ์ง trade-off๋ผ๊ณ ํ ์ ์์ต๋๋ค.
์ ์ด ๋ชจ๋ธ๋ง๊ณผ ์-๋ฌผ์ฒด ์ํธ์์ฉ์ ์์น์ ์ ์ํ
GraspโD์ ์ฌ์ฅ์ ๋ฏธ๋ถ๊ฐ๋ฅ ๋ฌผ๋ฆฌ ์๋ฎฌ๋ ์ดํฐ์ ๋๋ค. ํนํ ์-๋ฌผ์ฒด ์ ์ด(contact)์ ์ด๋ป๊ฒ ๋ชจ๋ธ๋งํ๊ณ ๋ฏธ๋ถ๊ฐ๋ฅํ๊ฒ ๋ง๋ค์๋์ง๊ฐ ํต์ฌ์ธ๋ฐ, ์ด๋ฅผ ์ํด GraspโD๋ ๋ฌผ์ฒด์ ํ๋ฉด์ Signed Distance Field (SDF) ํํ๋ก ํํํ์ฌ ์ถฉ๋์ ๊ฐ์งํ๊ณ ์ ์ด๋ ฅ์ ๊ณ์ฐํฉ๋๋ค. SDF๋ ์์์ ์ x์ ๋ํด ๋ฌผ์ฒด ํ๋ฉด๊น์ง์ ์ต๋จ ๊ฑฐ๋ฆฌ๋ฅผ ๋ถํธ์ ํจ๊ป ์ ๊ณตํ๋ ํจ์ \phi(x)๋ก, ๋ฌผ์ฒด ๋ด๋ถ์ ์ ์ด๋ฉด ์์, ์ธ๋ถ๋ฉด ์์ ๊ฐ์ ๊ฐ์ต๋๋ค. ์ด ํจ์์ ์์(signed) ๋๋ถ์ x๊ฐ ๋ฌผ์ฒด ํ๋ฉด ์์ชฝ์ผ๋ก ํ๊ณ ๋ ๊น์ด(penetration depth)๋ฅผ ๋ํ๋ผ ์๋ ์๊ณ , ๊ธฐ์ธ๊ธฐ \nabla \phi(x)๋ ํด๋น ์ ์์์ ํ๋ฉด ๋ฒ์ ๋ฐฉํฅ(normal direction)์ ๊ฐ๋ฆฌํต๋๋ค. GraspโD๋ ์ด ์ฑ์ง์ ์ด์ฉํด ์ ์ด๋ ฅ์ ๊ณ์ฐํ๋ ์ฐ์ํจ์๋ฅผ ๊ตฌ์ฑํฉ๋๋ค.
๊ฐ๋ตํ ๋งํด, ์์ ๊ฐ ์ ์ฌ์ ์ ์ด ์ง์ (์์ ๋ฉ์ ๋ฒํ ์ค ๋ฑ)์ x_h \in X_h๋ผ ํ ๋, ๊ทธ ์ ์ ํ์ฌ SDF ๊ฐ \phi(x_h)๋ฅผ ๊ณ์ฐํฉ๋๋ค. ๋ง์ฝ \phi(x_h) < 0 (์ฆ ์์ด ๊ทธ ์ง์ ์์ ๋ฌผ์ฒด๋ฅผ ์นจํฌํ์ฌ ๊ฒน์ณ์๋ ๊ฒฝ์ฐ)๋ผ๋ฉด ์ ์ด์ด ๋ฐ์ํ ๊ฒ์ผ๋ก ๋ณด๊ณ ๋ฒ์ ๋ฐฉํฅ ๋ฐ๋ฐ๋ ฅ f_n์ ์์ฑํฉ๋๋ค. GraspโD์์๋ ์ด๋ฅผ ๋ฒ์ (penalty) ๊ธฐ๋ฐ ๋ชจ๋ธ๋ก ๊ตฌํํ์ฌ, ์๋ฅผ ๋ค์ด ์คํ๋ง-๋ํผ์ฒ๋ผ f_n = k_n \min(\phi(x_h), 0) \nabla\phi(x_h)์ ํํ๋ก ์นจํฌ ๊น์ด์ ๋น๋กํ๋ ํ์ฑ๋ณต์๋ ฅ์ ๊ณ์ฐํฉ๋๋ค. ์ฌ๊ธฐ์ k_n์ ๋ฒ์ ๋ฐฉํฅ ๊ฐ์ฑ ๊ณ์๋ก, ๋งค์ฐ ํฌ๊ฒ ์ฃผ์ด์ง๋ฉด ๋ ๋ฌผ์ฒด๊ฐ ์ค์ ๋ก ๊ฒน์น์ง ์๋๋ก ๊ฐํ ํ์ผ๋ก ๋ฐ์ด๋ด๋ ํจ๊ณผ๊ฐ ์์ต๋๋ค. ํํธ \phi(x_h) \ge 0์ด๋ฉด (์์ด ์์ง ๋ฟ์ง ์์ ๊ฒฝ์ฐ) f_n = 0์ด ๋ฉ๋๋ค. ์ด๋ ๊ฒ ๊ณ์ฐ๋ ๋ฒ์ ๋ ฅ f_n์ ์์ด ๋ฌผ์ฒด ํ๋ฉด์ ๋ฏธ๋ ํ์ด๊ณ , ๋ฌผ์ฒด๋ฅผ ์ก์ ๋ฒํฐ๋ ๊ธฐ๋ณธ์ ์ธ ์ญํ ์ ํฉ๋๋ค.
ํ์ง๋ง ๋ง์ฐฐ ์๋ ๋ฒ์ ๋ ฅ๋ง์ผ๋ก๋ ์ค์ ํ์ง๋ฅผ ์ฌํํ ์ ์์ผ๋ฏ๋ก, GraspโD๋ ๋ง์ฐฐ๋ ฅ f_t๋ ๋ชจ๋ธ๋งํฉ๋๋ค. ์ ์ด ์ง์ ์์ ์๊ณผ ๋ฌผ์ฒด ์ฌ์ด์ ์๋ ์๋(๋๋ ์์ ๋ฏธ๋๋ผ ์๋) \mathbf{v}_t๋ฅผ ๊ณ์ฐํ๊ณ , ์ฟจ๋กฑ ๋ง์ฐฐ ๋ฒ์น์ ๋ฐ๋ผ ํ์ ์ (tangential) ๋ฐฉํฅ์ ์ ํญ๋ ฅ f_t๋ฅผ ๋ถ์ฌํฉ๋๋ค. ์์์ผ๋ก๋ f_t = -\min(k_f \Vert \mathbf{v}_t \Vert,\\; \mu \Vert f_n \Vert)\\, \hat{\mathbf{v}}_t ๋ก ํํ๋๋ฉฐ, ์ฌ๊ธฐ์ k_f๋ ํ์ ์ ํ ๊ฒ์ธ(๋ง์ฐฐ ๊ฐ์ฑ), \mu๋ ๋ง์ฐฐ๊ณ์, \hat{\mathbf{v}}_t๋ ํ์ ์ ์๋์ ๋ฐฉํฅ ๋จ์ ๋ฒกํฐ์ ๋๋ค. ์ด ์์ ์์ ๋ฏธ๋๋ผ์ ๋ํด์๋ ๋ง์ฐฐ๋ ฅ์ด k_f์ ๋น๋กํ์ฌ ์ฆ๊ฐํ์ง๋ง ์ด๋ ์๊ณ์น ์ด์ (์ฆ ์ฟจ๋กฑ ๋ง์ฐฐ ํ๊ณ \mu \Vert f_n \Vert)์์๋ ๋ ์ด์ ์ฆ๊ฐํ์ง ์๊ณ ์ฌ๋ฆฝ์ด ๋ฐ์ํจ์ ๋ํ๋ ๋๋ค. ์ด๋ฌํ ๋ง์ฐฐ ๋ชจ๋ธ์ ๋์ ํจ์ผ๋ก์จ GraspโD ์๋ฎฌ๋ ์ด์ ์ ๋ฌผ์ฒด๋ฅผ ์ฅ ์๊ฐ๋ฝ์ด ๋ฏธ๋๋ฌ์ง์ง ์๊ณ ๋ฒํธ ์ ์๋ ํ๊ณ๋ฅผ ํํํ ์ ์๊ณ , ํ์ง์ ์์ ์ฑ์ ๋ณด๋ค ํ์ค์ ์ผ๋ก ํ๊ฐํ ์ ์์ต๋๋ค. ๋์ฑ์ด ์ด์ ์ ์ฐ๊ตฌ์ ๋ฌ๋ฆฌ GraspโD๋ ๋ง์ฐฐ๊ณ์๋ฅผ 0์ด ์๋ ์์์ ๊ฐ์ผ๋ก ๋ ์ ์๊ณ , ์ ์ด ์ง์ ๋ง๋ค ์๋ก ๋ค๋ฅธ ํ์ด ๋ฐ์ํ๋๋ก ํ์ฉํ์ฌ ์ค์ ๋ฌผ๋ฆฌ์ ๋ ๊ฐ๊น์ต๋๋ค (๊ธฐ์กด ์ผ๋ถ ์ฐ๊ตฌ๋ ํด์์ ๋จ์ํ๋ฅผ ์ํด ๋ชจ๋ ์ ์ ์ ๋์ผํ ํ์ด ๊ฑธ๋ฆฐ๋ค๊ณ ๊ฐ์ ํ๊ฑฐ๋ ๋ง์ฐฐ์ด ์๋ค๊ณ ๋์์).
GraspโD ์๋ฎฌ๋ ์ดํฐ๋ ์ด๋ฌํ ์ ์ด ๋ชจ๋ธ์ ํตํฉํ์ฌ, ๋ฐ๋ณต์ ์๊ฐ ์คํ ๋ฌผ๋ฆฌ์์ง์ฒ๋ผ ์๊ณผ ๋ฌผ์ฒด์ ์ํธ์์ฉ์ ๊ณ์ฐํฉ๋๋ค. ๊ตฌ์ฒด์ ์ผ๋ก ์๊ณผ ๋ฌผ์ฒด์ ์ํ๋ฅผ ํฉ์น ๊ตฌ์ฑ ๋ฒกํฐ q๋ฅผ ์ ์ํ๊ณ , ๊ทธ ์๊ฐ๋ฏธ๋ถ q\' (์๋)์ q\'\' (๊ฐ์๋)๋ฅผ ๊ณ ๋ คํฉ๋๋ค. ์์คํ ์ ์ด๋ ๋ฐฉ์ ์์ ๊ด์ ์ ์์ฉ์ผ๋ก ์ธํ ๊ฐ์๋(H(q)u)์ ์ ์ด/์ธ๋ ฅ์ผ๋ก ์ธํ ๊ฐ์๋๊ฐ ํฉ์ณ์ ธ q\'\'๋ฅผ ๊ฒฐ์ ํ๋ ํํ๋ก ์ธ์์ง๋ฉฐ, ์ด๋ฅผ \text{(์ง๋ํ๋ ฌ)} \times q\'\' = f_c + f_{\text{ext}}์ ๊ฐ์ ์์ผ๋ก ํํํฉ๋๋ค. ๋ ผ๋ฌธ์์๋ ์ด๋ฅผ ๋ฐ-๋ช ์์ (semi-implicit) ์ค์ผ๋ฌ ์ ๋ถ ๋ฐฉ์์ผ๋ก ํ์ด 1ํ ์๋ฎฌ๋ ์ด์ ์คํ ์ ์ํ ๋ณํ๋ฅผ ๊ณ์ฐํ๋ค๊ณ ํฉ๋๋ค. ๊ฐ๋จํ ๋งํด, ํ์ฌ ์์ ์์ธ q_h์์ ๋ฌผ์ฒด์ ์ด๊ธฐ ๊ต๋(์: ์๋)์ ์ฃผ๊ณ ์์ฃผ ์งง์ ์๊ฐ \Delta t (์: 10^{-5}์ด) ๋์ ์๋ฎฌ๋ ์ด์ ํ๋ฉด, ์ ์ด ๋ชจ๋ธ์ ์ํด ๋ฌผ์ฒด๋ฅผ ์ก๋ ํ์ด ๋ฐ์ํ๊ณ ๊ทธ์ ๋ฐ๋ผ ๋ฌผ์ฒด์ ์๋๊ฐ ๋ณํํฉ๋๋ค. GraspโD์ ๊ทธ๋ฆฝ ํ์ง ์ฒ๋(metric) L_{\text{grasp}}๋ ์ด ์๋ฎฌ๋ ์ด์ ๊ฒฐ๊ณผ ๋ฌผ์ฒด์ ๋จ์ ์๋ ฅ์ผ๋ก ์ ์๋ฉ๋๋ค โ ์ฆ L = \Vert \mathbf{v}_{\text{object}}(T) \Vert๋ก, ์๋ฎฌ๋ ์ด์ ์ข ๋ฃ ์์ T์ ๋ฌผ์ฒด๊ฐ ์ผ๋ง๋ ์์ง์ด๊ณ ์๋์ง๋ฅผ ๋ํ๋ ๋๋ค. ํผํผํ ํ์ง์ผ์๋ก ๋ฌผ์ฒด๊ฐ ์ ๊ณ ์ ๋์ด ์๋๊ฐ 0์ ๊ฐ๊น์์ผ ํ๋ฏ๋ก, GraspโD๋ ์ด ์๋์ ํฌ๊ธฐ๋ฅผ ์ต์ํํ๋ ๊ฒ์ ๋ชฉํ๋ก ์์ ์์ธ๋ฅผ ์ต์ ํํ๊ฒ ๋ฉ๋๋ค. (์ฐธ๊ณ ๋ก ์์ ์ฑ ํ๊ฐ์ ์ ๋ขฐ์ฑ์ ๋์ด๊ธฐ ์ํด ํ๋์ ์ด๊ธฐ ๊ต๋์ด ์๋๋ผ ์ฌ๋ฌ ๋ฐฉํฅ์ ๋ฌด์์ ์ด๊ธฐ ์๋๋ฅผ ๋ฌผ์ฒด์ ์ฃผ์ด ์ฌ๋ฌ ๋ฒ ์๋ฎฌ๋ ์ด์ ํ ํ ํ๊ท ์๋๋ฅผ ์ฐ๊ธฐ๋ ํฉ๋๋ค.)
GraspโD์ ๋ชจ๋ ๊ณ์ฐ(์ถฉ๋ ํ์ , ์ ์ด๋ ฅ ๊ณ์ฐ, ๋ฌผ์ฒด ์ด๋๋ ๋ณํ ๋ฑ)์ ์ฐ์์ ์์์ผ๋ก ํํ๋์ด ์์ด, ์ ๋ ฅ์ธ ์ ๊ด์ ๊ฐ q_h์ ๋ํด ๋ฏธ๋ถ๊ฐ๋ฅํฉ๋๋ค. ์ด๋ SDF ๊ธฐ๋ฐ ์ถฉ๋ ๋ชจ๋ธ ๋๋ถ์ธ๋ฐ, \phi(x)์ \nabla \phi(x) ๋ฑ์ด ๋งค๋๋ฝ๊ฒ ์ ์๋๋ฏ๋ก ์ ์ด๋ ฅ์ด ์ฌ์ค์ q_h์ ๋ฏธ๋ถ๊ฐ๋ฅํ ํจ์๋ก ํํ๋๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋จ, ๋ง์ฐฐ ๋ชจ๋ธ์ min ์ฐ์ฐ์ด๋ max(0, ฯ) ๊ฐ์ ๋ถ๋ถ์ ์ํ์ ์ผ๋ก ๋งค๋๋ฝ์ง ์์ ์ ์์ง๋ง, ๋ ผ๋ฌธ์์๋ ์ด๋ฅผ ์ ์ ํ ์ฒ๋ฆฌํ์ฌ ์๋ ๋ฏธ๋ถ์ด ๊ฐ๋ฅํ๋๋ก ๊ตฌํํ๋ค๊ณ ์ค๋ช ํฉ๋๋ค. ์ด๋ ๊ฒ ํด์ ๊ทธ๋ฆฝ ํ์ง ํจ์ L(q_h)์ ๊ทธ๋๋์ธํธ \nabla_{q_h} L๋ฅผ ์ป์ ์ ์๊ณ , ์ด ์ ๋ณด๋ฅผ ํ์ฉํด ์์ ์์ธ๋ฅผ ๊ฐฑ์ ํฉ๋๋ค. ์ต์ ํ์๋ ํ์ค์ ์ธ Adam (์ ํํ๋ Adamax) ์ตํฐ๋ง์ด์ ๊ฐ ์ฌ์ฉ๋์์ผ๋ฉฐ, ํ์ต๋ฅ ๋ฑ์ ์ธ๋ถ ์ฌํญ์ ๋ถ๋ก์ ์ ์๋์ด ์์ต๋๋ค. ์ค์ํ ์ ์, ์-๋ฌผ์ฒด ์ ์ด์ ๋ชจ๋ ๋ฉด๋ฉด์ด ์์น์ ์ผ๋ก ๊ณต์ํ๋์ด ๋ฏธ๋ถ ๊ฐ๋ฅํ๊ฒ ์ฒ๋ฆฌ๋์๋ค๋ ๊ฒ์ผ๋ก, ์ด๊ฒ์ด GraspโD์ ํ์ ์ ํต์ฌ์ด๋ผ ํ ์ ์์ต๋๋ค.
์ต์ ํ ๊ณผ์ ์ ํต์ฌ ๊ธฐ๋ฒ๋ค: ๋์ ๋์ ๋ฐ ๋ชฉ์ ํจ์ ๊ตฌ์ฑ
๋ฏธ๋ถ๊ฐ๋ฅํ ์๋ฎฌ๋ ์ดํฐ๋ฅผ ๋ง๋ จํ๋ค ํ๋๋ผ๋, ๊ณง๋ฐ๋ก ๊ทธ๋ผ๋์ธํธ ๊ธฐ๋ฐ ํ์ง ์ต์ ํ๋ฅผ ์คํํ๋ฉด ์ฌ๋ฌ ์ค์ฉ์ ์ธ ๋๊ด์ ๋ถ๋ชํ๊ฒ ๋ฉ๋๋ค. GraspโD ๋ ผ๋ฌธ์ ์ด๋ฌํ ๋ฌธ์ ๋ค์ ์ ๋ถ์ํ๊ณ ์ธ ๊ฐ์ง ์ฃผ์ ์์ด๋์ด๋ก ํด๊ฒฐํ๊ณ ์๋๋ฐ, ์ด๋ฅผ ํ๋์ฉ ์๊ฐํ๊ฒ ์ต๋๋ค:
(1) ๋น์ฐ์์ ์งํ ์ํ: ํ๋ฉด ๋งค๋๋ฝ๊ฒ ํ๊ธฐ โ ์ค์ ๋ฌผ์ฒด์ ๋ฉ์ฌ๋ ๋ชจ์๋ฆฌ๋ ๋พฐ์กฑํ ๋ถ๋ถ์์ SDF์ ๊ธฐ์ธ๊ธฐ๊ฐ ๋ถ์ฐ์์ ์ผ๋ก ๋ณํ๋ฉฐ, ์ด๋ก ์ธํด ์ ์ด๋ ฅ์ด ๊ฐ์๊ธฐ ํ๋ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ์ด๋ฌํ ๋น๋ฏธ๋ถ์ ์งํ (nondifferentiable landscape)์์๋ gradient descent๊ฐ ์ ๋๋ก ์งํ๋์ง ์์ ์ ์์ต๋๋ค. GraspโD๋ ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๊ณ์ธต์ (Coarse-to-fine) ์ต์ ํ ์ ๋ต์ ๋์ ํ์ต๋๋ค. ์ด๋ฐ์๋ ๋ฌผ์ฒด ํ๋ฉด์ ๋ถ๋๋ฝ๊ฒ ๋ญ๋ฑ๊ทธ๋ฆฐ ํํ๋ก ๊ฐ์ฃผํ๊ณ ์์ ์ต์ ํํ๋ค๊ฐ, ์ ์ฐจ ์ค์ ์ธ๋ถ ํ์์ ๊ฐ๊น๊ฒ ํด์๋๋ฅผ ๋์ฌ๊ฐ๋ ๋ฐฉ์์ ๋๋ค. ๊ตฌํ์์ผ๋ก๋ ์๋ณธ SDF๋ฅผ ์ฝ๊ฐ ํ์ฅ(thicken)ํ๊ณ ๋งค๋๋ฝ๊ฒ ๋ง๋ ํผ์ง ํ๋ฉด๋ถํฐ ์์ํ์ฌ, iteration์ด ์งํ๋จ์ ๋ฐ๋ผ ๊ทธ ๋๊ป๋ฅผ ์ค์ฌ ์๋ ํ๋ฉด์ ์๋ ด์ํค๋ ๊ณผ์ ์ ๊ฑฐ์นฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ์ด๊ธฐ์๋ ์์ด ์ฝ๊ฐ ๋ฅ๊ทผ ํํ์ ๋ฌผ์ฒด๋ฅผ ์ก๊ธฐ ๋๋ฌธ์ ์ ์ด๋ฉด์์ gradient๊ฐ ์ฐ์์ ์ผ๋ก ๋ณํ๊ณ , ์ต์ ํ๊ฐ ์งํ๋ ์๋ก ์ค์ ๋ชจ์๋ฆฌ๋ ์ธ๋ถ๊น์ง ๋์ํ๋ฉด์ ์๊ฐ๋ฝ์ด ๋ฏธ์ธ ์กฐ์ ๋ฉ๋๋ค. ์ด๋ฅผ ํตํด ๋น์ฐ์์ ์ธ ํ๋ฉด์ผ๋ก ์ธํ ๊ทธ๋๋์ธํธ ํจ์ ์ ํผํ ์ ์์์ต๋๋ค. ์์ฝํ๋ฉด, ์ฒ์์ ๋ฌผ์ฒด๋ฅผ ๋งค๋ํ ๊ณต์ฒ๋ผ ์ทจ๊ธํ์ฌ ์์ ์์น์ํค๊ณ , ์ ์ฐจ ์ค์ ๋ชจ์์ ๋๋ฌ๋ด๋ ๊ธฐ๋ฒ์ด๋ผ ๋ณผ ์ ์์ต๋๋ค (์ฌ์ค ์ด ์์ด๋์ด๋ ๋ฅ๋ฌ๋์ LeakyReLU๊ฐ ์ฃฝ์ ๋ด๋ฐ ๋ฌธ์ ๋ฅผ ์ํํ๋ ๊ฒ๊ณผ ๋น์ทํ ๋งฅ๋ฝ์ผ๋ก ๋ณผ ์๋ ์์ต๋๋ค).
(2) ์ ์ด ํฌ์์ฑ ๋์: ๊ทธ๋๋์ธํธ ๋์ค(leak) โ ์ต์ ํ๋ฅผ ์์ํ ๋ ์์ด ๋ฌผ์ฒด์ ์์ ๋ฟ์์์ง ์์ผ๋ฉด, ์ ์ด๋ ฅ์ด 0์ด๋ฏ๋ก ๋ชฉ์ ํจ์ L์ ๋ํ ๊ทธ๋๋์ธํธ๋ 0์ ๋๋ค. ๊ทธ๋ฌ๋ฉด ์์ด ์ด๋๋ก ์์ง์ฌ์ผ ํ ์ง ์ ํธ๊ฐ ์์ผ๋ฏ๋ก ์ต์ ํ๊ฐ ์์๋ถํฐ ๋ฉ์ถฐ๋ฒ๋ฆด ์ ์์ต๋๋ค. ์ด๋ฅผ ๋ฐฉ์งํ๋ ค๋ฉด ์ต์ํ ์์ด ๋ฌผ์ฒด์ ์ฝ๊ฐ์ ์ ์ด ๋๋ ๊ฐ์ญ์ด ์๋ ์ํ์์ ์์ํด์ผ ํ๋๋ฐ, ์ฒ์๋ถํฐ ๋ฌด๋ฆฌํ๊ฒ ๊น์ด ํ๊ณ ๋ค๊ฒ ํ๋ฉด ๋ ๋นํ์ค์ ์ธ ํ์ง๊ฐ ๋ ์ ์์ต๋๋ค. GraspโD๋ ์ด ๋๋ ๋ง๋ฅผ โ์๋์ ๊ทธ๋๋์ธํธ ๋์คโ ๊ธฐ๋ฒ์ผ๋ก ํ์์ต๋๋ค. ์์ด ์์ง ๋ฟ์ง ์์ ์ ์ด ํ๋ณด ์ง์ ๋ค์ ๋ํด์๋ ๋ฏธ์ฝํ์ง๋ง ๋ฐฉํฅ์ฑ์ ๊ฐ์ง ๊ทธ๋๋์ธํธ๋ฅผ ์ ๊ณตํ๋๋ก ํ ๊ฒ์ ๋๋ค. ๊ตฌ์ฒด์ ์ผ๋ก, ์๋๋ \phi(x) \> 0 (์ถฉ๋ ์์)์ผ ๋ f_n = 0์ด๊ณ \partial f_n/\partial q_h = 0์ด์ด์ผ ํ๋, GraspโD๋ ์ด ๊ฒฝ์ฐ์ ํธ๋ฏธ๋ถ ๊ฐ์ 0์ด ์๋ ์์ ๊ฐ์ผ๋ก ์ค์ ํ์ฌ ์์ด ๋ฌผ์ฒด๋ฅผ ํฅํด ์์ง์ด๋๋ก ์ ๋ํฉ๋๋ค. ์ด๋ ๋ฅ๋ฌ๋์์ ์ ๋ ฅ์ด 0์ผ ๋ ๊ธฐ์ธ๊ธฐ๊ฐ ์ฌ๋ผ์ง๋ ReLU ๋์ Leaky ReLU๋ฅผ ์ฐ๋ ๊ฒ์ ๋น์ ๋๋ฉฐ, ์ผ์ข ์ โ๊ฐ์ง ์ ํธโ๋ฅผ ํ๋ ค๋ณด๋ด ์์ด ์ ์ด์ ๋ง๋ค๊ฒ ํ๋ ํธ๋ฆญ์ ๋๋ค. ์ด ๊ธฐ๋ฒ ๋๋ถ์ ์์ด ์ด๊ธฐ์ ๋ฌผ์ฒด์ ์ ๋ฟ์ ์๋๋ผ๋ ์ต์ ํ ๊ณผ์ ์์ ๋ฌผ์ฒด๋ฅผ ํฅํด ์์ ๋ป๋๋ก ์ ๋ํ ์ ์์ต๋๋ค. (๋ฌผ๋ก ์ด ๊ทธ๋๋์ธํธ๋ ์ด๋๊น์ง๋ ํธํฅ๋ ๊ฐ์ด๋ฏ๋ก, ์ค์ ์ ์ด์ด ์๊ธฐ๋ฉด ์ ์์ ์ธ ๋ฌผ๋ฆฌ ๊ธฐ๋ฐ ๊ทธ๋๋์ธํธ๋ก ๋์ฒด๋ฉ๋๋ค.)
(3) ๋ฌ๊ธฐ๋ ๋๋์ค์ผ์ดํ ๋์: ๋ฌธ์ ์ํ(relaxation) โ ์์ด ๋ฌผ์ฒด์ ์ฌ๋ฌ ์ ์์ ๋ฟ๊ธฐ ์์ํ๋ฉด, ์ ์์ธ์ ์์ ๋ณํ๊ฐ ์ด๋ค ์ ์ ์ ๋ง๋ค๊ฑฐ๋ ๋์ด๋ฒ๋ฆฌ๊ณ ์ ์ด๋ ฅ ๋ถํฌ๋ฅผ ํฌ๊ฒ ๋ฐ๊พธ์ด๋ฒ๋ฆด ์ ์์ต๋๋ค. ์ด๋ฌํ ๋ฌ๊ธฐ๋(rugged)ํ ์ต์ ํ ์งํ์์๋ gradient๊ฐ ๊ธ๋ณํ์ฌ ์์ ์ ์ธ ์๋ ด์ด ์ด๋ ต์ต๋๋ค. GraspโD๋ ์ฌ๊ธฐ์ Contact-Invariant Optimization (CIO)์ด๋ผ๋ ์ด์ ์ฐ๊ตฌ ์์ด๋์ด๋ฅผ ์์ฉํ์ฌ, ์ ์ฝ์ ์ํํ ๋์ ๋ฌธ์ ๋ฅผ ์ต์ ํํ ํ ๋ค์ ์ค์ ๋ฌธ์ ๋ก ๊ฐ์ ธ์ค๋ ๋ฐฉ์์ ์ทจํ์ต๋๋ค. ํต์ฌ์, ์์ด ๊ฐํ ์ ์๋ ์ ์ด๋ ฅ์ ์ง์ ์ต์ ํ ๋ณ์๋ก ๋์ ํ๋ ๊ฒ์ ๋๋ค. ์ฆ ์๋ ๋ฌธ์ ๋ โ์์ ์์ธ q_h๋ฅผ ์ฐพ์์ ๋ฌผ์ฒด๋ฅผ ์์ ์ ์ผ๋ก ์ก์๋ผโ์ธ๋ฐ, ์ด๋ฅผ โ์ด๋ค ์ ์ด force ๋ถํฌ \mathbf{f}_c๋ฅผ ๋ง๋ค์ด๋ด๋ฉด ๋ฌผ์ฒด๋ฅผ ์ก์ ์ ์์ ๊ฒ์ธ๊ฐโ์ โ๊ทธ force๋ฅผ ์ค์ ๋ก ๋ง๋ค์ด๋ผ ์ ์๋ ์ ์์ธ q_h๋ ๋ฌด์์ธ๊ฐโ๋ผ๋ ๋ ํ์ ๋ฌธ์ ๋ก ์ชผ๊ฐญ๋๋ค. ์ด๋ฅผ ์ํด ์์ ์ ์ด์ ๋ง๋ค ๊ฐ์์ ํฌ๋ง ์ ์ด๋ ฅ \mathbf{f}_c^d (desired contact force)๋ฅผ ๋ณ์๋ก ๋ก๋๋ค.
- ์ฒซ ๋ฒ์งธ ํ์ ๋ชฉ์ L_{\text{task}}(\mathbf{f}*c^d)๋ ์ด ๊ฐ์์ ํ๋ค์ด ๋ฌผ์ฒด์ ์ด๊ธฐ ์์ง์์ ์ ๋ง์๋ด๋์ง๋ฅผ ์ธก์ ํฉ๋๋ค. ์ด๋ ์์ ์ ์ํ L*}}์ ๊ฑฐ์ ๋์ผํ์ง๋ง, ์ค์ ์์ด ์ฃผ๋ ํ ๋์ ์ด์์ ์ธ \mathbf{f*c^d๋ฅผ ์ด์ฉํด ๊ณ์ฐํ ๊ณผ์ ์ํ ์ค์ฐจ๋ผ๊ณ ๋ณด๋ฉด ๋ฉ๋๋ค.
- ๋ ๋ฒ์งธ ๋ชฉ์ L*_c^d์ ๋๊ฐ์ ํ์ ๋ผ ์ ์๋ค๋ฉด ์ด ๊ฐ์ 0์ด ๋ ๊ฒ์ด๊ณ , ์๊ฐ๋ฝ ์์น๊ฐ ๊ทธ ํ๋ค์ ๋ชป ๋ง๋ค์ด๋ด๋ฉด ์ฐจ์ด๊ฐ ์ปค์ง๋๋ค. ์ต์ข ์ ์ผ๋ก GraspโD๋ }}(q_h, c^d)$๋ ํ์ฌ ์ ์์ธ q_h์์ ์ค์ ๋ก ๋ฐ์ํ๋ ์ ์ด๋ ฅ ๋ถํฌ์ \mathbf{f}_c^d์ ์ฐจ์ด๋ฅผ ์ฌ๋ ๊ฐ์ ๋๋ค. ์์ด \mathbf{f**L{} + L_{}$**๋ผ๋ ๋ณตํฉ ๋ชฉ์ ํจ์๋ฅผ ์ต์ํํ๋๋ก ์ค์ ๋ฉ๋๋ค. ๊ทธ๋ ๊ฒ ํ๋ฉด ์ต์ ํ ๊ณผ์ ์์ ํํธ์ผ๋ก๋ ๋ฌผ์ฒด๋ฅผ ๋ถ์ก๋ ๋ฐ ์ถฉ๋ถํ (๊ทธ๋ฆฌ๊ณ ๊ฐ๋ฅํ ํ ์์) ํ \mathbf{f}_c^d๋ฅผ ์ฐพ์๋ด๊ณ , ๋์์ ๊ทธ ํ์ ๋ผ ์ ์๋๋ก ์๊ฐ๋ฝ๋ค์ ์์ง์ด๋ ๊ท ํ์ ์ด๋ฃจ๊ฒ ๋ฉ๋๋ค. ์ง๊ด์ ์ผ๋ก, ์์ด ๋ฌผ์ฒด๋ฅผ ์๋ฒฝํ ์ก๊ณ ์๋ค๋ฉด \mathbf{f}_c^d์ ์ค์ ์ ์ด๋ ฅ์ด ์ผ์นํ์ฌ ๋ ํญ์ด ๋ชจ๋ 0์ ๊ฐ๊น์์ง ๊ฒ์ด๊ณ , ์์ด ์์ง ๋ ์กํ์ ๋ \mathbf{f}_c^d๋ฅผ ๋ ํค์ฐ๊ฑฐ๋ ์ ์์ธ๋ฅผ ๋ฐ๊ฟ์ผ ๋ ๊ฐ์ ์ค์ผ ์ ์์ ๊ฒ์ ๋๋ค.
- ์ด๋ ๊ฒ ๋ฌผ๋ฆฌ์ ์ ์ฝ(์ ์ด ํ์ ํํ ์กฐ๊ฑด ๋ฑ)์ ์๋ฐฐํ๋ ์ํฉ์ ๋ฒ์ (cost)์ผ๋ก ์ฒ๋ฆฌํจ์ผ๋ก์จ, ์ต์ ํ๊ฐ ์ข ๋ ๊ด๋ํ๊ฒ ์งํ๋ ์ ์์ต๋๋ค. ์ฒ์์ ์์ด ์ถฉ๋ถํ ์ ์ก๊ณ ์์ด๋ ๊ฐ์์ ํ์ ํค์ฐ๋ ๋ฐฉํฅ์ผ๋ก ํด๋ฒ์ ์ฐพ๊ณ , ๊ทธ ํ์ ๋ผ ์ ์๊ฒ ์์ ๋ฐ๋ผ ์์ง์ด๋ ์์ ๋๋ค. ๋ง์ง๋ง์ ๊ฐ์๋ \mathbf{f}_c^d๊ฐ ์ค์ ์์ ํ๊ณผ ์ผ์นํ๋ฉด์ ๋ฌผ๋ฆฌ์ ์ผ๋ก ์ ํจํ ํ์ง๋ก ์๋ ดํ๊ฒ ๋ฉ๋๋ค. GraspโD ์คํ ๊ฒฐ๊ณผ ์ด ์ํ๊ธฐ๋ฒ(problem relaxation)์ ์ฐ๋ ๊ฒ์ด ์ฑ๋ฅ ํฅ์์ ๋งค์ฐ ์ค์ํ๊ณ , ๋ง์ฝ ์ด ๋ถ๋ถ์ ์๋ตํ๋ฉด ์ต์ ํ๊ฐ ๊ฑฐ์ ์คํจํ๋ฉฐ ์ ์ด ๋ฉด์ ์ ์ถฉ๋ถํ ํ์ฉํ์ง ๋ชปํ๋ ์ด์ ํ ํ์ง๋ค์ด ๋์๋ค๊ณ ํฉ๋๋ค. ๊ทธ๋งํผ ๋ณต์กํ ์ ์ด ๋ฌธ์ ์์๋ ํด๋ฅผ ์์ํ ๊ฐ์ ํ ์ ์๋ ๋ค๋ฆฌ ์ญํ ์ด ํ์ํ๊ณ , GraspโD๋ ์ถ๊ฐ ๋ณ์์ ์ฝ์คํธ๋ฅผ ํตํด ์ด๋ฅผ ๊ตฌํํ์ต๋๋ค.
์ ์ธ ๊ฐ์ง ๊ธฐ๋ฒ์ GraspโD์ ๋ฏธ๋ถ๊ฐ๋ฅ ์ต์ ํ ํ๋ ์์ํฌ๋ฅผ ์ค์ฉํํ๋ ๋ฐ ๊ธฐ์ฌํ ํต์ฌ ์์๋ค์ ๋๋ค. ๋๋ถ์ GraspโD๋ ์ ์ด ์งํ์ ๋ถ์ฐ์์ฑ, ์ด๊ธฐ ์ ์ด ๋ถ์ฌ, ๊ทธ๋ฆฌ๊ณ ๋ค์ค์ ์ ์ผ๋ก ์ธํ ๋ถ์์ ๊ธฐ์ธ๊ธฐ ๋ฌธ์ ๋ฅผ ๋ชจ๋ ๊ทน๋ณตํ๊ณ ์์ ์ ์ธ ์๋ ด์ ์ด๋ค๋ผ ์ ์์์ต๋๋ค. ์ค์ ์ต์ ํ๋ ์๋ฐฑ ํ์ iteration์ผ๋ก ์งํ๋๋ฉฐ, ์ ์ฐจ L_{\text{task}}์ L_{\text{phys}} ๊ฐ์ด ๋ชจ๋ ๊ฐ์ํ๋ฉด์ ์๊ฐ๋ฝ๋ค์ด ๋ฌผ์ฒด๋ฅผ ๋จ๋จํ ์์ผ์ฅ๋ ๋ชจ์์๋ก ๋ณํฉ๋๋ค. ์ต์ข ์ ์ผ๋ก ์ป์ด์ง ์ ์์ธ q_h๊ฐ ๋ฐ๋ก ์ฐ๋ฆฌ๊ฐ ์ฐพ๋ ์ ์ด์ด ํ๋ถํ๊ณ ์์ ์ ์ธ ํ์ง์ ๋๋ค.
์๋ฎฌ๋ ์ด์ ๊ฒฐ๊ณผ ๋ฐ ๋น๊ต ํ๊ฐ
GraspโD์ ํจ๊ณผ๋ฅผ ์ ์ฆํ๊ธฐ ์ํด ์ ์๋ค์ ๋ค์ํ ์๋ฎฌ๋ ์ด์ ์คํ์ ์ํํ์ต๋๋ค. ์ฐ์ ์ธ๊ฐ ์ ๋ชจ๋ธ์ ํด๋นํ๋ MANO ๋ชจ๋ธ๋ฅผ ์ฌ์ฉํ์ฌ, ShapeNet ๋ฐ์ดํฐ์ ์ 57๊ฐ ๋ฌผ์ฒด์ ๋ํด ํ์ง๋ฅผ ์์ฑํ๊ณ ๊ธฐ์กด ๋ฐฉ๋ฒ๊ณผ ๋น๊ตํ์ต๋๋ค. ๋ฌผ์ฒด๋ค์ ๋ณ(bottle), ๊ทธ๋ฆ(bowl), ์นด๋ฉ๋ผ, ์บ, ํด๋ํฐ, ๋จ์ง(jar), ์นผ, ๋ฆฌ๋ชจ์ปจ ๋ฑ 8๊ฐ ์นดํ ๊ณ ๋ฆฌ์ ๊ฑธ์ณ ๋ค์ํ๊ฒ ํฌํจ๋์์ผ๋ฉฐ, ๊ฐ ๋ฌผ์ฒด์ ๋ํด GraspโD๋ฅผ ์ด์ฉํด ์ฌ๋ฌ ๊ฐ์ ํ์ง ์์ธ๋ฅผ ์์ฑํ ํ ํ์ง ์งํ๋ฅผ ์ธก์ ํ์ต๋๋ค. ๋ํ ๋ก๋ด ์ ๋ชจ๋ธ๋ก๋ ๋ํ์ ์ธ 4์๊ฐ๋ฝ ๋ก๋ด ํธ๋์ธ ์๋ ๊ทธ๋ก ํธ๋(Allegro hand)๋ฅผ ์ฌ์ฉํ์ฌ ๋์ผํ ๊ณผ์ ์ ๊ฑฐ์ณค์ต๋๋ค. ๋น๊ต ๋์ ๊ธฐ์ค ๋ฐฉ๋ฒ(baseline)์ผ๋ก๋, ์์ ์ธ๊ธํ ํด์์ ๊ธฐ๋ฒ์ ์ฌ์ฉํ ํ์ง ํฉ์ฑ์ ์๋ก GraspIt! EigengraspPlanner๋ฅผ ํตํ ๊ฒฐ๊ณผ๋, ๊ทธ๊ฒ์ ํ์ฉํด ์์ฑ๋ ํฉ์ฑ ํ์ง ๋ฐ์ดํฐ์ ์ธ ObMan ๋ฑ์ ์ฌ์ฉํ์ต๋๋ค. ์ด๋ค์ ์๊ฐ๋ฝ ๋ ์์ฃผ์ ์ ์ด๋ง ์๋ ํ์ง๋ค๋ก ๊ฐ์ฃผํ ์ ์์ต๋๋ค.
ํ๊ฐ์งํ(metrics)๋ก๋ ํ์ง๊ฐ ๋ฌผ์ฒด์ ์ ์ดํ๋ ํ๋ฉด์ (Contact Area, CA), ์๊ณผ ๋ฌผ์ฒด ๊ฐ์ ๊ต์ฐจ ์นจํฌ ๋ถํผ(Intersection Volume, IV), ์๋ฎฌ๋ ์ด์ ๋ณ์(Simulation Displacement, SD), ๊ทธ๋ฆฌ๊ณ ๊ธฐ์กด ํด์์ ์์ ์ฑ ์งํ (์: ์ ์ค๋ก ์์ ์ฑ) ๋ฑ์ ์ธก์ ํ์ต๋๋ค. Contact Area๋ ์ ํ๋ฉด๊ณผ ๋ฌผ์ฒด ํ๋ฉด์ด ์ ์ดํ ์ด ๋ฉด์ ์ผ๋ก, ๊ฐ์ด ํด์๋ก ์์ด ๋ฌผ์ฒด๋ฅผ ๋๊ฒ ๊ฐ์ธ ์ฅ๊ณ ์์์ ์๋ฏธํฉ๋๋ค. Intersection Volume์ ์์ด ๋ฌผ์ฒด๋ฅผ ๊ฒน์ณ์ ํ๊ณ ๋ ๋ถํผ๋ก, ์ด์์ ์ผ๋ก 0์ด์ด์ผ ํ์ง๋ง ์ฝ๊ฐ์ ๊ฐ์ ํ์ฉ๋ฉ๋๋ค (๋ณธ ๋ ผ๋ฌธ์์๋ ์ ์ด ๋ฉด์ ์ด ์ฆ๊ฐํจ์ ๋ฐ๋ผ ๋ถ๊ฐํผํ๊ฒ ์ฝ๊ฐ ์์นํ์ง๋ง, ์ ์ด๋ฉด์ ๋๋น ์นจํฌ๋์ ๋น์จ์ ๊ธฐ์กด ๋ฐฉ๋ฒ๊ณผ ๋น์ทํ๊ฒ ์ ์ง๋๋ค๊ณ ๋ณด๊ณ ํฉ๋๋ค). Simulation Displacement๋ ์์ ์ ์ํ ์๋ฎฌ๋ ์ด์ ๊ธฐ๋ฐ ์์ ์ฑ ์งํ๋ก, ๋ฌผ์ฒด์ ์์ ํ์ ๊ฐํ์ ๋ ์ผ๋ง๋ ์ ๊ฒ ์์ง์๋์ง (์๋๊ฐ ๋๋ฆฐ์ง) ๋ํ๋ด๋ฉฐ ์์์๋ก ์์ ์ ์ ๋๋ค.
ํ๊ฐ ๊ฒฐ๊ณผ, GraspโD๋ก ์์ฑ๋ ํ์ง๋ค์ ๊ธฐ์กด ๋ฐฉ๋ฒ์ ๋นํด ์๋์ ์ผ๋ก ๋์ ์ ์ด ๋ฉด์ ์ ๋ณด์์ต๋๋ค. ํ๊ท ์ ์ผ๋ก ์ฝ 42cmยฒ ์ ๋์ ์ ์ด ๋ฉด์ ์ ๊ธฐ๋กํ๋๋ฐ, ์ด๋ ๊ธฐ์กด ํด์์ ๋ฐฉ๋ฒ์ผ๋ก ์ป์ ํ์ง(์ฝ 20cmยฒ)๋ณด๋ค 4๋ฐฐ ์ด์ ๋์ ์ ์ด์ ์ด๋ฃจ๋ ๊ฒ์ ๋๋ค. ์๋ ํ์์ ๋ณด๋ฏ ObMan ๋ฐ์ดํฐ์ ์ ์์ ํ์ง๋ค๊ณผ ๋น๊ตํด๋ 4๋ฐฐ ๊ฐ๊น์ด ์ ์ด ์ฆ๊ฐ์ด๋ฉฐ, ์ด๋ ์ธ๊ฐ์ด ๋ฌผ์ฒด๋ฅผ ์ฅ ๋ ์๋ฐ๋ฅ๊ณผ ์๊ฐ๋ฝ์ผ๋ก ๋๊ฒ ๊ฐ์ธ๋ ๋ฉด์ ์ ์๋นํ ๊ทผ์ ํ ์์น์ ๋๋ค. ์ ์ด์ด ๋์ด๋ ๋งํผ ํ์ง์ ์์ ์ฑ๋ ํฌ๊ฒ ํฅ์๋์์ต๋๋ค. ์๋ฎฌ๋ ์ด์ ๋ณ์๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ณด๋ฉด GraspโD ํ์ง๋ ๊ธฐ์กด ๋๋น 4๋ฐฐ ์ด์ ์์ ๋ฌผ์ฒด ์์ง์์ ๋ณด์ฌ, ํจ์ฌ ๊ฒฌ๊ณ ํ๊ฒ ๋ฌผ์ฒด๋ฅผ ๋ถ์ก๊ณ ์์์ ๋ํ๋์ต๋๋ค. ๋ค๋ง ํด์์ ์ธ ์์ ์ฑ ์งํ(์: epsilon metric)๋ก ํ๊ฐํ๋ฉด ํฅ์ํญ์ด ๋ค์ ์๋งํ๋๋ฐ, ์ด๋ ์ด๋ค ์งํ๊ฐ ์๊ฐ๋ฝ ๋ ์์ฃผ์ ํ ๋ฐฐ๋ถ์ ์ต์ ํ๋์ด ์์ด ๋์ ์ ์ด์ ์ด์ ์ ์ถฉ๋ถํ ๋ฐ์ํ์ง ๋ชปํ๊ธฐ ๋๋ฌธ์ด๋ผ๊ณ ํด์๋ฉ๋๋ค. ๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ GraspโD ํ์ง์ ์ ๋์ ์ธ ์์ ์ฑ์ ์๋ฎฌ๋ ์ด์ ๊ฒ์ฆ์ ํตํด ๋ช ํํ ์ฐ์ํจ์ด ๋๋ฌ๋ฌ์ต๋๋ค. ์๋ฅผ ๋ค์ด ์๊ฐ๋ฝ ๋๋ง ์ด์ง ๊ฑธ์น ํ์ง๋ ์์ ์ถฉ๊ฒฉ์๋ ๋ฌผ์ฒด๊ฐ ์ฝ๊ฒ ์์ง์์ง๋ง, GraspโD ํ์ง๋ ์๋ฐ๋ฅ ์ ์ฒด๋ก ๋๋ฅด๊ณ ์์ด ์ฌ๋งํ ํ๋ค๋ฆผ์๋ ๋ฌผ์ฒด๊ฐ ๋ฏธ๋ ์์ด ๊ณ ์ ๋์์ต๋๋ค.
Qualitative (์ ์ฑ์ )ํ ๋ฉด์์๋ GraspโD์ ์ฐ์ํจ์ด ๊ด์ฐฐ๋์์ต๋๋ค. ์ธ๊ฐ ์ ๋ชจํ์ผ๋ก ์์ฑ๋ ํ์ง ์์ธ๋ค์ ์๊ฐ์ ์ผ๋ก ๋น๊ตํด ๋ณด๋ฉด, ๊ธฐ์กด ๋ฐฉ๋ฒ์ ์ข ์ข ๋ถ์์ฐ์ค๋ฝ๊ฑฐ๋ ๋ถ์์ ํด ๋ณด์ด๋ ์์ธ(์: ์๊ฐ๋ฝ์ด ํ๊ณต์ ํฅํด ์๋ฉ ๋ฒ์ด์ง๊ฑฐ๋ ๋ฌผ์ฒด ๋ชจ์๊ณผ ๋ง์ง ์๊ฒ ๊บพ์ธ ์์ธ)๊ฐ ๋์์ง๋ง, GraspโD ๊ฒฐ๊ณผ๋ ๋ง์น ์ฌ๋์ด ์ง์ ์ฅ ๊ฒ์ฒ๋ผ ์์ฐ์ค๋ฝ๊ฒ ๋ฌผ์ฒด๋ฅผ ๊ฐ์ธ๋ ํํ๊ฐ ๋ง์์ต๋๋ค. ํนํ ๊ณ ์ ์ด ํ์๊ทธ๋ฆฝ์ ๊ฒฝ์ฐ, ์๋ฐ๋ฅ๊ณผ ๋ชจ๋ ์๊ฐ๋ฝ ๋ง๋๊ฐ ๋ฌผ์ฒด์ ๋ฐ์ฐฉ๋์ด ์์ด ๋ฌผ์ฒด์ ์ ์ฌ์ด์ ๋น ๊ณต๊ฐ์ด ๊ฑฐ์ ์์ ์ ๋๋ก ํ์ง๊ฐ ์ด๋ฃจ์ด์ก์ต๋๋ค. ์ด๋ฌํ ๋ชจ์ต์ ์ธ์ฒด๊ณตํ์ ์ผ๋ก๋ ๋ ํ๋นํ๋ฉฐ, ๋ก๋ด ํธ๋๋ก ๊ตฌํํ ๊ฒฝ์ฐ ๋ฌผ์ฒด๋ฅผ ๋์น ์ํ์ ์ค์ฌ์ค ๊ฒ์ผ๋ก ๊ธฐ๋๋ฉ๋๋ค.
์ถ๊ฐ ์คํ์ผ๋ก, GraspโD๊ฐ ์์ ํ ์ฒ์ ๋ณด๋ ๋ฌผ์ฒด์ ๋ํด์๋ ์ ์๋ํ๋์ง ํ์ธํ๊ธฐ ์ํด RGB-D ์นด๋ฉ๋ผ ์ ๋ ฅ๋ง์ผ๋ก ์ป์ 3D ๋ณต์ ๋ชจ๋ธ์ ํ์ง ํฉ์ฑ์ ์๋ํ์์ต๋๋ค. YCB ๋ฌผ์ฒด ๋ฐ์ดํฐ์ ์ ์ผ๋ถ ๋ฌผ์ฒด๋ค์ ์ฌ๋ฌ ๊ฐ๋์์ RGB-D๋ก ์ค์บํ์ฌ 3D ๋ฉ์ฌ๋ฅผ ๋ณต์ํ ํ (๋ ธ์ด์ฆ์ ๋ถ์์ ํจ์ด ์์) ํด๋น ๋ฉ์ฌ์ ๋ํด GraspโD๋ฅผ ์ ์ฉํด ๋ณธ ๊ฒ์ ๋๋ค. ๊ทธ ๊ฒฐ๊ณผ ์๋ฒฝํ CAD ๋ชจ๋ธ์ด ์๋์ง๋ผ๋ ๋๋ถ๋ถ์ ๋ฌผ์ฒด์ ๋ํด ๊ทธ๋ด๋ฏํ ์ธ๊ฐ ํ์ง ์์ธ๋ฅผ ์ฐพ์๋ผ ์ ์์์ต๋๋ค. ๋ฌผ๋ก ๋ณต์ ์ค์ฐจ๋ก ์ธํด ์ด์์ ์ธ ๊ฒฝ์ฐ๋ณด๋ค ํ์ง ํ์ง์ด ์ฝ๊ฐ ๋จ์ด์ง๊ฑฐ๋, ๊ฐํน ๊ทธ๋ฆฝ์ด ์คํจํ๋ ์ผ์ด์ค๋ ์์์ง๋ง, ์๋ฎฌ๋ ์ด์ ๊ธฐ๋ฐ ์ต์ ํ์ ์ผ๋ฐํ ๋ฅ๋ ฅ์ ๋ณด์ฌ์ฃผ๋ ์ฆ๊ฑฐ๋ผ๊ณ ํ ์ ์์ต๋๋ค. ์ด๋ GraspโD ์ ๊ทผ์ด ์ฅ๊ธฐ์ ์ผ๋ก๋ ์นด๋ฉ๋ผ๋ก ๋ฌผ์ฒด๋ฅผ ์ธ์ํ ๋ค ๊ณง๋ฐ๋ก ๋ฌผ์ฒด๋ฅผ ์ก๋ ๋น์ -ํ์ง ํตํฉ ์์คํ ์ผ๋ก๋ ํ์ฅ๋ ์ ์์์ ์์ฌํฉ๋๋ค. (ํ์ฌ๋ ํ ๊ฐ ํ์ง์ ์ ๋ถ์ด ์์๋์ด ์ค์๊ฐ ์ ์ฉ์ ์ด๋ ค์ฐ๋, ์๋ฎฌ๋ ์ดํฐ ์๋ ํฅ์๊ณผ ์์์ ํํ ๊ฐ์ ๋ฑ์ด ์ด๋ฃจ์ด์ง๋ค๋ฉด ๊ฐ๋ฅํด์ง ๊ฒ์ด๋ผ๊ณ ์ ๋งํ๊ณ ์์ต๋๋ค.)
๋ง์ง๋ง์ผ๋ก GraspโD ๋ ผ๋ฌธ์ ๊ธฐ์ ํ ์ธ๋ถ ๊ธฐ๋ฒ๋ค์ ์ ํจ์ฑ์ ์ ์ฆํ๊ธฐ ์ํ ์ด๋ธ๋ ์ด์ ์คํฐ๋(ablation study)๋ ์ํํ์ต๋๋ค. ์์ ์๊ฐํ (1) SDF ์ฝ์ค-ํฌ-ํ์ธ ์ถฉ๋์ํ, (2) ๋์ค ๊ทธ๋๋์ธํธ, (3) ์ ์ด ํ ์ํ ๊ธฐ๋ฒ์ ๊ฐ๊ฐ ์ ๊ฑฐํ๊ฑฐ๋ ๋ณํํ์ฌ ์ต์ ํ๋ฅผ ํด๋ณธ ๊ฒฐ๊ณผ, ์ด ์์๋ค์ด ์์ผ๋ฉด ์ฑ๋ฅ์ด ํฐ ํญ์ผ๋ก ์ ํ๋์์ต๋๋ค. ์๋ฅผ ๋ค์ด ๊ทธ๋๋์ธํธ ๋์ค์ ์ฐ์ง ์๊ณ ์์ํ๊ฒ ์ ์ด์ ๋ฐ์ํ๋ ๊ทธ๋๋์ธํธ๋ง์ผ๋ก ์์ ์์ง์ด๋ฉด ์ด๊ธฐ์ ์์ด ์ ํ ์์ง์ด์ง ์์ ์คํจํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์๊ณ , ๋ฌธ์ ์ํ๋ฅผ ์ฌ์ฉํ์ง ์์ผ๋ฉด ์ด ์ข๊ฒ ์ก์ ์ ์๋ ํ์ง๋ง ์ฐพ์๋ด๊ณ ๋ง์ ๊ฒฝ์ฐ์ ๊ตญ์งํด(local minima)์ ๋จธ๋ฌด๋ฅด๋ ํ์์ด ๋ํ๋ฌ์ต๋๋ค. ์ด๋ GraspโD ์ค๊ณ์ ํฌํจ๋ ๊ธฐ๋ฒ๋ค์ด ์๋ก ๋ง๋ฌผ๋ ค ํจ๊ณผ๋ฅผ ๋ฐํํ๊ณ ์์์ ๋ณด์ฌ์ฃผ๋ฉฐ, ๋ณต์กํ ์ ์ด ์ต์ ํ ๋ฌธ์ ์์ ๊ฐ ๊ตฌ์ฑ์์์ ์ญํ ์ด ์ค์ํจ์ ๊ฐ์กฐํฉ๋๋ค.
๊ตฌํ ๊ด๋ จ ๊ณ ๋ ค์ฌํญ (์ด๊ธฐํ ์ ๋ต, ํจ์จ์ฑ, ์ผ๋ฐํ ๋ฑ)
GraspโD๋ฅผ ๊ตฌํํ๊ณ ์ฌ์ฉํ๋ ๋ฐ์๋ ๋ช ๊ฐ์ง ์ค์ฉ์ ์ธ ๊ณ ๋ ค์ฌํญ์ด ๋ฐ๋ฆ ๋๋ค. ์ฒซ์งธ, ์ด๊ธฐํ ์ ๋ต์ ๋๋ค. ์ต์ ํ์ ์์์ ์ธ ์์ ์ด๊ธฐ ์์ธ q_h(0)์ ๋ฐ๋ผ ์ต์ข ๊ฒฐ๊ณผ ํ์ง๊ฐ ๋ฌ๋ผ์ง ์ ์๊ธฐ ๋๋ฌธ์, ๋ค์ํ ํ์ง๋ฅผ ์ป๊ณ ์ ํ๋ค๋ฉด ์ด๊ธฐ ์์ธ๋ฅผ ์ฌ๋ฌ ๋ฒ ์ํ๋งํ์ฌ ์ต์ ํ๋ฅผ ๋ฐ๋ณตํ๋ ๊ฒ์ด ์ ์ฉํฉ๋๋ค. ๋ ผ๋ฌธ์์๋ ์์ ์์ ์์น์ ์์ธ๋ฅผ ๋ฌด์์๋ก ๋ฌ๋ฆฌํ์ฌ top-1, top-2, ... ์์ผ๋ก ์ฌ๋ฌ ํ์ง ํ๋ณด๋ฅผ ์์ฑํ ๋ค, ๊ทธ ์ค ํ์ง์ด ๊ฐ์ฅ ๋์ ๊ฒ์ ์ ํํ๊ฑฐ๋ ๋ค๋ฅด๊ฒ ํ์ฉํ ์ ์์์ ๋ณด์ฌ์ฃผ์์ต๋๋ค. ๋ค๋ง ์ด๊ธฐ ์ ์์น๊ฐ ๋ฌผ์ฒด์ ์์ ํ ๋จ์ด์ ธ ์์ผ๋ฉด ์ต์ ํ๊ฐ ์งํ์ด ์ด๋ ค์ธ ์ ์์ผ๋ฏ๋ก, ๋ฌผ์ฒด ์ค์ฌ ๊ทผ์ฒ์ ์์ด ์ค๋๋ก ๋ฐฐ์นํ๊ณ ์๊ฐ๋ฝ์ ํธํ๊ฒ ํผ์น ์ํ๋ก ์์ํ๋ ๊ฒ์ด ์ข์ต๋๋ค. GraspโD๋ ๋ฌผ์ฒด ํ๋ฉด์ ํจ๋ฉํ ๋ฒ์ ์ผ๋ก ์์ํ๊ธฐ ๋๋ฌธ์ ์ผ๋ถ๋ฌ ์ด๊ธฐ ๊ฐ์ญ์ ์ฃผ์ด ๊ทธ๋๋์ธํธ๋ฅผ ์ป๋ ์ ์ธ๋ฐ, ์ฌ์ฉ์๊ฐ ์ด๊ธฐ ์์ธ๋ฅผ ํฌ๊ฒ ๋ฒ์ด๋๊ฒ ๋์ง๋ง ์์ผ๋ฉด ๋๋ถ๋ถ ์๋ ดํ์ฌ ํ์ง๋ฅผ ์ฐพ์ต๋๋ค.
๋์งธ, ํจ์จ์ฑ๊ณผ ์๋ ์ด์์ ๋๋ค. ์์ ์ธ๊ธํ๋ฏ ํ ๋ฒ ์ต์ ํ์ ์ ๋ถ ์ ๋๊ฐ ๊ฑธ๋ฆด ๋งํผ ๋ฌด๊ฑฐ์ด ์์ ์ธ๋ฐ, ์ด๋ฅผ ์ํํ๊ธฐ ์ํด GraspโD๋ GPU ๋ณ๋ ฌํ๋ฅผ ์ ๊ทน ํ์ฉํ์ต๋๋ค. ์์ปจ๋ ์์ ์์ฒ ๊ฐ ์ ์ด ํ๋ณด ์ง์ ์ ๋ํ SDF ๊ณ์ฐ๊ณผ ํ ๊ณ์ฐ์ GPU์์ ๋ณ๋ ฌ๋ก ์ํํ๊ณ , ์ฌ๋ฌ ์ด๊ธฐ ์๋ ์๋ฎฌ๋ ์ด์ ์ญ์ ๋ณ๋ ฌ๋ก ๋๋ ค ํ๊ท ์ ๋ด๋ ๋ฑ์ผ๋ก ์ต์ ํ ์๊ฐ์ ๋จ์ถํ์ต๋๋ค. ๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ ๋ค๊ด์ ์๊ณผ ๋ณต์กํ ๋ฉ์ฌ์ ์กฐํฉ์์๋ ์ฌ์ ํ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆฌ๋ฏ๋ก, ํฅํ์๋ ๋ ์ต์ ํ๋ ๋ฏธ๋ถ๊ฐ๋ฅ ๋ฌผ๋ฆฌ์์ง์ด๋ ํ์ต ๊ธฐ๋ฐ ๊ฐ์ ๊ธฐ๋ฒ๊ณผ์ ๊ฒฐํฉ๋ ๊ณ ๋ คํด๋ณผ ์ ์์ต๋๋ค. ์ค์ ๋ ผ๋ฌธ ์ ์๋ค๋ GraspโD๋ฅผ ์คํ๋ผ์ธ ๋ฐ์ดํฐ ์์ฑ๊ธฐ๋ก ํ์ฉํ์ฌ, ์ดํ ํ์ต ๊ธฐ๋ฐ ๊ทธ๋ฆฝ ์์ธก๊ธฐ์ ์ฑ๋ฅ์ ๋์ด๋ ๋ฐฉํฅ์ ์ ์ํ๊ณ ์์ต๋๋ค (์: GraspโD๋ก ์์ฑํ ์์ง์ ํ์ง๋ค์ ๋ฐ์ดํฐ๋ก ๋ชจ์์ฃผ๋ฉด, ์ด๋ฅผ ํ์ตํ ๋น์ ๊ธฐ๋ฐ ๋ชจ๋ธ์ด ๋ ์ ํํ ํ์ง ์์ธก์ ํ ์ ์๋ค๋ ์์ด๋์ด).
์ ์งธ, ์ผ๋ฐํ ๋ฅ๋ ฅ์ ๋๋ค. GraspโD๋ ๋ณธ์ง์ ์ผ๋ก ๋ฌผ๋ฆฌ ๊ธฐ๋ฐ์ด๋ฏ๋ก ํน์ ๋ฌผ์ฒด ์ข ๋ฅ๋ ์ ๋ชจ๋ธ์ ํนํ๋์ง ์๊ณ ๋ฒ์ฉ์ ์ ๋๋ค. ์คํ์์ ์ธ๊ฐ ์, ๋ก๋ด ์ ๋ชจ๋ ์ฑ๊ณต์ ์ผ๋ก ์ฌ์ฉ๋์๊ณ , ๋ฌผ์ฒด๋ ์ผ์ ์ฉํ๋ถํฐ ๋๊ตฌ๊น์ง ๋ค์ํ๊ฒ ์ ์ฉ๋์์ต๋๋ค. ์๋ก์ด ํํ์ ๋ก๋ด ์์ด๋ ์๋ก์ด ์ฌ์ง์ ๋ฌผ์ฒด๋ผ๋, ํด๋น 3D ๋ชจ๋ธ๊ณผ ๋ฌผ๋ฆฌ ํ๋ผ๋ฏธํฐ(์ง๋, ๋ง์ฐฐ ๋ฑ)๋ง ์ ์ํ๋ฉด GraspโD๋ก ํ์ง๋ฅผ ์ฐพ์ ์ ์์ ๊ฒ์ ๋๋ค. ์ด๋ ํ์ต ๊ธฐ๋ฐ ์ ๊ทผ์ด ํ๋ จ ๋ฐ์ดํฐ ๋ถํฌ ๋ฐ์์ ์ฑ๋ฅ์ด ๋จ์ด์ง ์ ์๋ ๊ฒ๊ณผ ๋๋น๋๋ ์ฅ์ ์ ๋๋ค. ๋ค๋ง GraspโD ์ญ์ ํ๊ณ๋ ์๋๋ฐ, ์๋ฅผ ๋ค์ด ์์ฃผ ๋ณต์กํ ๊ธฐ๊ณ ๋ถํ์ฒ๋ผ ์ค๋ชฉํ ๊ณณ์ด ๋ง์ ์๊ฐ๋ฝ์ด ๋ค์ด๊ฐ๊ธฐ ์ด๋ ค์ด ๋ฌผ์ฒด๋ ๋ณํ๋๋ ๋ถ๋๋ฌ์ด ๋ฌผ์ฒด ๋ฑ์ ํ์ฌ ๊ฐ์ (๊ฐ์ฒด ๋ฌผ์ฒด, ๊ฐ์ฒด ๊ด์ ์)์์ ๋ฒ์ด๋๋ฏ๋ก ์ถ๊ฐ ์ฐ๊ตฌ๊ฐ ํ์ํฉ๋๋ค. ๋ํ ์๊ฐ๋ฝ ๋์ ์ผ์๋ ๋ฏธ๋๋ผ ๋ฑ์ ๋ฏธ์ธ ํจ๊ณผ๋ ํฌํจ๋์ง ์์๊ธฐ ๋๋ฌธ์, ์ค์ ๋ก๋ด์ ์ ์ฉํ๋ ค๋ฉด ์ด๋ฌํ ์์ (์: ์ด๊ฐ ์ผ์ ํ์ฉ, ๋์ ์ฌ์ ์ด ๋ฑ)๋ฅผ ๊ฒฐํฉํ๋ ๋ฐฉํฅ๋ ๊ณ ๋ ค๋ ์ ์์ต๋๋ค.
๋ง์ง๋ง์ผ๋ก ์ค์ ํ๋์จ์ด ์ ์ฉ ์ธก๋ฉด์์, GraspโD๋ ์์ง ์ง์ ์ ์ธ ๋ก๋ด ์คํ ๊ฒฐ๊ณผ๋ฅผ ์ ๊ณตํ์ง ์์์ต๋๋ค. ํ์ง๋ง ๋ ผ๋ฌธ์์ ์์ฑํ ํ์ง ์์ธ๋ค์ ํ์ค์ ์ธ ์ธ๊ฐ/๋ก๋ด ์์ ๊ด์ ์ ํ์ ๋ชจ๋ ์ค์ํ๋๋ก ๋์ด ์๊ณ , ์๋ฎฌ๋ ์ด์ ์์ ๋ฌผ๋ฆฌ์ ์ผ๋ก ๊ฒ์ฆ๋ ์์ ์ฑ์ ๋ณด์ด๋ฏ๋ก, ์ถฉ๋ถํ ๋ก๋ด์ ์ด์ ๊ฐ๋ฅํ ๊ฒ์ผ๋ก ๋ณด์ ๋๋ค. ์์ปจ๋ ์ฐ๊ตฌ์๋ค์ ์ถํ TriFinger ๊ฐ์ ๋ก๋ด ํ๋ซํผ์ GraspโD ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ด ์ค์ ์ก๊ธฐ ์คํ์ ํด๋ณผ ์ ์๋ค๊ณ ์ธ๊ธํ๋ฉฐ, GPU ๊ฐ์ ์๋ฎฌ๋ ์ด์ ์์ ์ค์ ๋ก๋ด์ผ๋ก์ ์ผ๋ฐํ ๊ฐ๋ฅ์ฑ์ ๊ธ์ ์ ์ผ๋ก ๋ณด๊ณ ์์ต๋๋ค. ๊ถ๊ทน์ ์ผ๋ก GraspโD์ ์ ๊ทผ๋ฒ์ ์๋ฎฌ๋ ์ด์ ๊ณผ ํ์ค ๊ฐ์ ๊ฒฉ์ฐจ๋ฅผ ์ค์ด๋ ์๋ฎฌ๋ ์ดํฐ ๊ธฐ๋ฐ ๋ก๋ด ํ์ต์ ํธ๋ ๋์ ๋ง๋ฌผ๋ ค ์๊ธฐ ๋๋ฌธ์, ์ ์ ํ ์บ๋ฆฌ๋ธ๋ ์ด์ ๊ณผ ์ถ๊ฐ ์์ ์ฅ์น๋ฅผ ๋ํ๋ค๋ฉด ํ์ค ๋ก๋ด๊ณตํ์์๋ ์ ์ฉํ ๋๊ตฌ๋ก ํ์ฉ๋ ์ ๋ง์ ๋๋ค.
๋งบ์๋ง
GraspโD๋ ๋ฏธ๋ถ๊ฐ๋ฅํ ๋ฌผ๋ฆฌ ์๋ฎฌ๋ ์ด์ ์ ํตํด ๋ค๊ด์ ์ ํ์ง ๋ฌธ์ ๋ฅผ ์๋ก์ด ๊ฐ๋๋ก ํด๊ฒฐํ ํฅ๋ฏธ๋ก์ด ์ฐ๊ตฌ์ ๋๋ค. ์ด ์ ๊ทผ๋ฒ์ ์ ํต์ ์ธ ํด์์ /์ํ๋ง ๋ฐฉ๋ฒ๋ค์ด ๊ฐ์ง๋ ํ๊ณ๋ฅผ ๊ทน๋ณตํ๊ณ , ์ ์ด์ด ํ๋ถํ๋ฉด์๋ ์์ ์ ์ธ ํ์ง๋ฅผ ์๋์ผ๋ก ํฉ์ฑํด๋ผ ์ ์์์ ์๋ฒ ๋ณด์์ต๋๋ค. ๋ง์น ๋ฌผ๋ฆฌ ๋ฒ์น์ ์๊ฐ๋ฝ ์์ง์์ ๊ธธ์ก์ด๋ก ํ์ฉํ ์ ์ธ๋ฐ, ์ด๋ ์ถ์์ ์ธ ์ ๊ฒฝ๋ง ์ถ๋ ฅ์ ์์กดํ์ง ์๊ณ ์ง์ ์ ์ธ ๋ฌผ๋ฆฌ ๋ชฉํ ์ต์ ํ๋ฅผ ์ํํ๋ค๋ ์ ์์ ๋ก๋ด ํ๊ณ์ ์์ฌํ๋ ๋ฐ๊ฐ ํฝ๋๋ค. ๋ฌผ๋ก ํ์ค ์ธ๊ณ์ ์ ์ฉ๊น์ง๋ ์๋์ ๋ณต์ก์ฑ ๋ฑ์ ๊ณผ์ ๊ฐ ๋จ์ ์์ง๋ง, ํ์ฌ๋ ์ ๋ถ ๋ด์ ๊ณ ํ์ง ํ์ง๋ฅผ ์ฐพ์๋ผ ์ ์๋ ์์ค์ด๋ฏ๋ก, ์ธ๊ฐ์ด ์ผ์ผ์ด ํ์ง ์์ธ๋ฅผ ์ค๊ณํ๊ฑฐ๋ ๋๊ท๋ชจ ๋ฐ์ดํฐ๋ฅผ ๋ง๋ค ํ์ ์์ด ์๋ ํ์ง ์ค๊ณ์๋ก์ ํ์ฉ๋ ์ ์์ต๋๋ค. GraspโD๊ฐ ๋ณด์ฌ์ค ๊ฒฐ๊ณผ โ ์๋ฅผ ๋ค์ด ์๋ฐ๋ฅ ์ ์ฒด๋ก ๋ฌผ์ฒด๋ฅผ ๊ฐ์ธ ์ฅ ํ์ง๋ โ ์ธ๊ฐ ์์ค์ ํ์ง์ ํ ๊ฑธ์ ๋ ๋ค๊ฐ์ ๋ชจ์ต์ผ๋ก, ํฅํ ์ด ๊ธฐ๋ฒ์ด ๋ก๋ด ์์ ์ก๊ธฐ ๋ฅ๋ ฅ ํฅ์๊ณผ ์๋ฎฌ๋ ์ด์ ์ ํตํ ๋ก๋ด ํ์ต ๊ณ ์ํ ๋ฑ์ ๋ค์ํ๊ฒ ์์ฉ๋๊ธธ ๊ธฐ๋ํด๋ด ๋๋ค.