flowchart TD
A["๋ฌผ์ฒด ๋ฉ์ฌ O\n์ ์ด์ ์ด๊ธฐํ"] --> B
subgraph UPPER["๐ด ์์ ์ต์ ํ (Upper-Level)"]
B["์ ํฌ์ฆ x = [r, t, q]\n๊ทธ๋๋์ธํธ ์
๋ฐ์ดํธ"]
B --> C["์๋์ง ๊ณ์ฐ\nE(x) = ฮฃQj*(x) + Ereg"]
C --> D{"์๋ ด?"}
D -- No --> B
end
subgraph LOWER["๐ต ํ์ QP (Lower-Level)"]
E["ํ์ฌ ํฌ์ฆ x์์\n์ ์ด์ ์์นยท๋ฒ์ ๊ณ์ฐ"]
E --> F["๊ฐ ์ ์ด์ ํ ๋ฒกํฐ ์ต์ ํ\n๋ง์ฐฐ ์๋ฟ + wrench ์ ์ฝ ๋ง์กฑ"]
F --> G["์ต์ ํ ๋ฐฐ๋ถ f*\nQj*(x) ๋ฐํ"]
end
C --> E
G --> C
D -- Yes --> H["ํ์ง ํฌ์ฆ ํ๋ณด"]
H --> I["MuJoCo ๊ฒ์ฆ"]
I --> J{์ฑ๊ณต?}
J -- Yes --> K["๋ฐ์ดํฐ์
์ ์ฅ"]
J -- No --> L["๋ฒ๋ฆผ"]
๐BODex ๋ฆฌ๋ทฐ
- ๐ ์ด ์ฐ๊ตฌ๋ Bilevel Optimization๊ณผ GPU ๊ฐ์ํ๋ฅผ ํ์ฉํ์ฌ ๋ก๋ด Dexterous Grasp Synthesis๋ฅผ ์ํ ํ์ฅ ๊ฐ๋ฅํ๊ณ ํจ์จ์ ์ธ ์์คํ ์ ๊ฐ๋ฐํ์ต๋๋ค.
- ๐ ์ ์๋ BODex ์์คํ ์ ๊ธฐ์กด ๋ถ์ ๊ธฐ๋ฐ ๋ฐฉ๋ฒ๋ก ๋๋น Grasp Quality์ ํฉ์ฑ ์๋์์ ์ฐ์ํ ์ฑ๋ฅ์ ๋ณด์์ผ๋ฉฐ, MuJoCo ์๋ฎฌ๋ ์ด์ ์์ 75% ์ด์์ ์ฑ๊ณต๋ฅ ์ ๋ฌ์ฑํ์ต๋๋ค.
- ๐ก ๋ํ, BODex๋ก ์์ฑ๋ ๋๊ท๋ชจ ๊ณ ํ์ง ๋ฐ์ดํฐ์ ์ Learning Model์ ์ฑ๋ฅ์ ํฌ๊ฒ ํฅ์์์ผฐ์ผ๋ฉฐ, Shadow Hand๋ฅผ ์ด์ฉํ ์ค์ ํ๊ฒฝ ํ ์คํธ์์ 81%์ ์ฑ๊ณต๋ฅ ์ ๊ธฐ๋กํ์ฌ ๊ทธ ํจ๊ณผ๋ฅผ ์ ์ฆํ์ต๋๋ค.
๐ Ping Review
๐ Ping โ A light tap on the surface. Get the gist in seconds.
BODex: Scalable and Efficient Robotic Dexterous Grasp Synthesis Using Bilevel Optimization ๋ ผ๋ฌธ์ ๊ณ ์์ ๋(high-DoF) dexterous hand์ grasp ํฉ์ฑ์ ์ํ ํ์ฅ์ฑ ์๊ณ ํจ์จ์ ์ธ ํ์ดํ๋ผ์ธ๊ณผ ํฌ๊ด์ ์ธ ๋ฒค์น๋งํฌ๋ฅผ ์ ์ํฉ๋๋ค. ๊ธฐ์กด ๋ฐ์ดํฐ ๊ธฐ๋ฐ ๋ชจ๋ธ์ ๋นํจ์จ์ฑ, ๊ฐํ ๊ฐ์ (์: ๋ฑ๊ฐ ์ ์ด๋ ฅ, ๋ง์ฐฐ ์์), ์ ํ๋ ๊ฐ์ฒด ์ธํธ ๋ฑ์ ํ๊ณ๋ฅผ ๊ฐ์ก์ต๋๋ค. ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด, ๋ณธ ์ฐ๊ตฌ๋ grasp ํฉ์ฑ์ ์ด์ค ๋ ๋ฒจ ์ต์ ํ(bilevel optimization) ๋ฌธ์ ๋ก ์ ์ํํ๊ณ , MuJoCo ์๋ฎฌ๋ ์ดํฐ๋ฅผ ํ์ฉํ ๋ฒค์น๋งํฌ๋ฅผ ๊ตฌ์ถํฉ๋๋ค.
ํต์ฌ ๋ฐฉ๋ฒ๋ก
๋ณธ ์ฐ๊ตฌ์ ํต์ฌ์ grasp ํฉ์ฑ์ ์ด์ค ๋ ๋ฒจ ์ต์ ํ ๋ฌธ์ ๋ก ์ ์ํ ๊ฒ์ ๋๋ค.
1. ์ด์ค ๋ ๋ฒจ ์ต์ ํ ์ ์ํ
- ๋ชฉ์ : ์ฃผ์ด์ง ๊ฐ์ฒด์ ๋ํด ์์ ์ ์ธ grasp pose x (๋ฃจํธ ํ์ , ๋ณํ ๋ฐ ๊ด์ ๊ฐ๋ ํฌํจ)๋ฅผ ์ฐพ๋ ๊ฒ์ ๋๋ค. grasp pose๋ ๊ฐ์ฒด์์ ์ ์ด์ ์ ์งํ๊ณ , ์ธ๋ถ wrench์ ์ ํญํ ์ ์๋ ์ต์ ์ ์ ์์ธ์ ๋๋ค.
- ์์ ๋ ๋ฒจ ์ต์ ํ(Upper-level Optimization):
- ๋ชฉ์ ํจ์: \min_{x, y_j, j \in \{1, \ldots, s\}} \sum_{j=1}^s Q_j(x)
- ์ฌ๊ธฐ์ s๋ ๋ชฉํ wrench ๋ฐฉํฅ์ ๊ฐ์์ ๋๋ค.
- Q_j(x)๋ ํ์ ๋ ๋ฒจ ์ต์ ํ ๋ฌธ์ ์ ํด๋ฅผ ๋ํ๋ด๋ฉฐ, ํ์ฌ ์ ์์ธ x์์ ํน์ ๋ชฉํ wrench t_j์ ๋ํด ์์ด ์ผ๋ง๋ ์ ์ ํญํ ์ ์๋์ง๋ฅผ ํ๊ฐํ๋ ๊ฐ์ ๋๋ค. ์ด ๊ฐ์ ์ต์ํํจ์ผ๋ก์จ ๋ค์ํ ๋ฐฉํฅ์ ์ธ๋ ฅ์ ๋ํด ์์ ์ ์ธ grasp pose๋ฅผ ์ฐพ์ต๋๋ค.
- ์ ์ฝ ์กฐ๊ฑด:
- x_{\min} \le x \le x_{\max}: ๋ก๋ด ์์ ๊ฐ ๊ด์ ๋ฐ ๋ฃจํธ ์์ธ๊ฐ ๋ฌผ๋ฆฌ์ ์ธ ํ๊ณ ๋ด์ ์๋๋ก ํฉ๋๋ค.
- c_{i,w} = FK(x, c_{i,l}) \in \partial O: ์์ i๋ฒ์งธ ์์ ์ ์ด์ c_{i,w} (์๋ ์ขํ๊ณ)๊ฐ ๊ฐ์ฒด ํ๋ฉด \partial O๊ณผ ์ ์ดํด์ผ ํฉ๋๋ค. ์ฌ๊ธฐ์ FK๋ ์ ๋ฐฉ ์ด๋ํ(forward kinematics) ํจ์์ ๋๋ค.
- No (hand-hand/hand-object) collision: ์ ์์ฒด์ ์-๊ฐ์ฒด ๊ฐ์ ์ถฉ๋์ด ์์ด์ผ ํฉ๋๋ค.
- ๋ชฉ์ ํจ์: \min_{x, y_j, j \in \{1, \ldots, s\}} \sum_{j=1}^s Q_j(x)
- ํ์ ๋ ๋ฒจ ์ต์ ํ(Lower-level Optimization) - Q_j(x):
- ์ฃผ์ด์ง ์ ์์ธ x์ ๋ชฉํ wrench t_j์ ๋ํด, ์์ด ๊ฐํ ์ ์๋ ์ต์ ์ ์ ์ด๋ ฅ y_j = [f_{j,1}, \ldots, f_{j,m}] (์ฌ๊ธฐ์ m์ ์ ์ด์ ์ ์)์ ์ฐพ๋ ์ด์ฐจ ๊ณํ(Quadratic Programming, QP) ๋ฌธ์ ์ ๋๋ค.
- Q_j(x) \triangleq \min_{y_j} \left\| \beta t_j - \sum_{i=1}^m G_i f_{j,i} \right\|^2
- \beta: ๋ชฉํ wrench์ ํฌ๊ธฐ๋ฅผ ์กฐ์ ํ๋ ์์ ํ์ดํผํ๋ผ๋ฏธํฐ์ ๋๋ค.
- t_j: ๋ชฉํ wrench์ ๋จ์ ๋ฒกํฐ์ ๋๋ค. ์๋ฅผ ๋ค์ด, force-closure grasp์ ๊ฒฝ์ฐ, 6๊ฐ์ ์ฃผ์ ๋ฐฉํฅ(์: [1,0,0,0,0,0] ๋ฐ [-1,0,0,0,0,0])์ ๋ํ ๋จ์ ๋ฒกํฐ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
- G_i \in \mathbb{R}^{6 \times 3}: i๋ฒ์งธ ์ ์ด์ ์ grasp matrix๋ก, ํด๋น ์ ์ด๋ ฅ f_{j,i}๋ฅผ ๊ฐ์ฒด์ ๊ฐํด์ง๋ wrench w_i = G_i f_{j,i}๋ก ๋ณํํฉ๋๋ค. G_i = \begin{bmatrix} n_i & d_i & e_i \\ p_i \times n_i & p_i \times d_i & p_i \times e_i \end{bmatrix}๋ก ์ ์๋๋ฉฐ, n_i๋ ์ ์ด ๋ฒ์ , d_i, e_i๋ ์ ์ ๋ฒกํฐ, p_i๋ ์ ์ด ์์น์ ๋๋ค.
- ์ ์ฝ ์กฐ๊ฑด:
- f_{j,i} \in F_i, \quad i \in \{1, \ldots, m\}: ๊ฐ ์ ์ด๋ ฅ f_{j,i}๋ ๋ง์ฐฐ ์๋ฟ(friction cone) F_i ๋ด์ ์์ด์ผ ํฉ๋๋ค. F_i = \left\{f_i \in \mathbb{R}^3 \mid 0 \le f_{i,1} \le 1, f_{i,2}^2 + f_{i,3}^2 \le \mu^2 f_{i,1}^2\right\}๋ก ์ ์๋ฉ๋๋ค. ์ด์ฐจ ์ ์ฝ ์กฐ๊ฑด์ ์ ํ ์ ์ฝ ์กฐ๊ฑด์ผ๋ก ๋ณํํ๊ธฐ ์ํด, ์ด ํ์ํ ๋ง์ฐฐ ์๋ฟ์ 8-vertex ํผ๋ผ๋ฏธ๋ํ ์๋ฟ๋ก ๊ทผ์ฌ๋ฉ๋๋ค.
- \sum_{i=1}^m f_{j,i,1} \ge \gamma: ์์ด ๊ฐ์ฒด์ ์ต์ํ์ ์๋ ฅ์ ๊ฐํ๋๋ก ํ์ฌ y_j = 0๊ณผ ๊ฐ์ ์๋ช ํ ํด๋ฅผ ๋ฐฉ์งํฉ๋๋ค. \gamma๋ ์์ ํ์ดํผํ๋ผ๋ฏธํฐ์ ๋๋ค.
- Q_j(x)๋ ์์ด ๋ชฉํ wrench๋ฅผ ์ผ๋ง๋ ์ ์์ฑํ ์ ์๋์ง๋ฅผ ๋ํ๋ ๋๋ค. ์์ ๋ ๋ฒจ์์๋ Q_j(x)๊ฐ x์ ๋ํด ๋ฏธ๋ถ ๊ฐ๋ฅํ๋๋ก ํ์ฌ ๊ฒฝ์ฌ ํ๊ฐ๋ฒ(gradient descent)์ ์ํํฉ๋๋ค.
2. Bilevel ์ต์ ํ ํด๊ฒฐ ๊ณผ์
- ๋ณ๋ ฌํ ๋ฐ ๊ฐ์ํ: ๊ฐ ์์ ๋ ๋ฒจ ๋ฐ๋ณต์์, cuRobo [7]์ ์ ๋ฐฉ ์ด๋ํ(FK)์ ์ฌ์ฉํ์ฌ ์ ์์ธ x๋ก๋ถํฐ ๊ฐ ์๊ฐ๋ฝ ๋งํฌ์ ๋ณํ R_i, T_i๋ฅผ ๊ณ์ฐํ๊ณ , ์ด๋ฅผ ํตํด ์๋ ์ขํ๊ณ์์์ ์์ ์ ์ด์ c_{i,w}๋ฅผ ์ป์ต๋๋ค. ๊ฐ์ฒด์์ ๊ฐ์ฅ ๊ฐ๊น์ด ์ p_i์ ๋ฒ์ n_i๋ฅผ ์ง์ํ์ฌ Grasp Matrix G_i๋ฅผ ๊ตฌ์ฑํ ํ, ํ์ ๋ ๋ฒจ QP๋ฅผ ์ค์ ํฉ๋๋ค. ์ด QP๋ค์ PyTorch ๊ธฐ๋ฐ์ GPU ๊ฐ์ ADMM ์๋ฒ์ธ ReLU-QP [8]์ ๋ฐฐ์น(batched) ๋ฒ์ ์ ์ฌ์ฉํ์ฌ GPU์์ ๋ณ๋ ฌ๋ก ํด๊ฒฐ๋ฉ๋๋ค. ์ด๋ ๊ณ์ฐ ๋ณ๋ชฉ ํ์์ ํฌ๊ฒ ์ค์ ๋๋ค.
- ์ถฉ๋ ๋ฐ ๊ด์ ์ ์ฝ: ์์ ๋ ๋ฒจ์ ๊ด์ ํ๊ณ, ์๊ฐ ์ถฉ๋(self-penetration), ์ํธ ์ถฉ๋(inter-penetration)๊ณผ ๊ฐ์ ์ ์ฝ ์กฐ๊ฑด์ cuRobo์ ํด๋น ์๋์ง ํจ์๋ฅผ ํ์ฉํ์ฌ ์ฒ๋ฆฌ๋ฉ๋๋ค. cuRobo๋ ๋ก๋ด ๋ฃจํธ์ 6-DoF ์ํ๋ฅผ ์ต์ ํ ๊ฐ๋ฅํ ๋ณ์๋ก ํฌํจํ ์ ์๋๋ก ์์ ๋์์ต๋๋ค.
3. Coarse-to-fine ์ ์ด ๋ชจ๋ธ๋ง
- cuRobo์ ๊ตฌ(sphere) ๊ธฐ๋ฐ ์ ์ด ๋ชจ๋ธ์ ๋น ๋ฅด์ง๋ง, ์ ๋ฐํ grasp ํฉ์ฑ์ ์ํ ์ ํ๋๊ฐ ๋ถ์กฑํฉ๋๋ค. ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด coarse-to-fine ์ ๋ต์ด ์ ์๋ฉ๋๋ค.
- Coarse Stage (300ํ ๋ฐ๋ณต): ๋ก๋ด ์์ ํ์์ ๊ตฌ๋ก ๊ทผ์ฌํฉ๋๋ค. ์ ์ด์ c_{i,l}์ ๊ฐ ์๊ฐ๋ฝ ๋์ ์ฒซ ๋ฒ์งธ ๊ตฌ์ ์ค์ฌ์ผ๋ก ์ค์ ๋๋ฉฐ, ๊ฑฐ๋ฆฌ ์๋์ง E_d^c = \sum_{i=1}^m (\|c_{i,w} - p_i\| - \alpha)^2๋ฅผ ์ต์ํํฉ๋๋ค.
- Fine Stage (pre-grasp 100ํ, grasp 100ํ ๋ฐ๋ณต): ์ค์ ์ถฉ๋ ๋ฉ์(collision meshes)๋ฅผ ์ฌ์ฉํ์ฌ ์ ๋ฐํ ์ ์ด ๋ชจ๋ธ๋ง์ ์ํํฉ๋๋ค. GJK ์๊ณ ๋ฆฌ์ฆ [29]์ ์ฌ์ฉํ์ฌ ๊ฐ ์๊ฐ๋ฝ ๋๊ณผ ๊ฐ์ฒด ์ฌ์ด์ ๊ฐ์ฅ ๊ฐ๊น์ด ์ ์ ์ฐพ์ต๋๋ค. GJK ์๊ณ ๋ฆฌ์ฆ์ ๋น๋ฏธ๋ถ์ฑ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด, ์๋ก์ด ๊ฑฐ๋ฆฌ ์๋์ง E_d^f = \sum_{i=1}^m \|c_{i,w}^{f'} - p_i^f\|^2์ ์์ ๋ grasp ์๋์ง Q' = \sum_{i=1}^m \|c_{i,w}^{f'} - p_i^c\|^2๋ฅผ ์ ์ํฉ๋๋ค. ์ฌ๊ธฐ์ c_{i,w}^{f'} = R_i \text{Detach}(c_{i,l}^f) + T_i๋ก ์ ์ํ์ฌ c_{i,w}^{f'}๊ฐ R_i์ T_i์ ๋ํด ๋ฏธ๋ถ ๊ฐ๋ฅํ๋๋ก ํฉ๋๋ค.
4. Pre-grasp ๋ฐ Collision-Free Hand-Arm Trajectory Synthesis
- ๊ฐ์ฒด์์ ์ถฉ๋์ ํผํ๊ณ ํ์ ๊ฐํ๊ธฐ ์ํ ์ด๊ธฐ ์์ธ๋ฅผ ์ ๊ณตํ๊ธฐ ์ํด, ๊ฐ์ฒด๋ก๋ถํฐ ์ต์ 1cm ๋จ์ด์ง pre-grasp pose x_p๋ฅผ ํฉ์ฑํฉ๋๋ค.
- ์ค์ ํ์ ๊ฐํ๊ธฐ ์ํ squeeze pose x_s๋ x_s = 2x - x_p๋ก ์ ์๋ฉ๋๋ค. ์ด ์์ธ๊ฐ ์๋ฎฌ๋ ์ด์ ๋ฐ ์ค์ ํ๊ฒฝ์์ ์คํ ๋ชฉํ๋ก ์ฌ์ฉ๋ฉ๋๋ค.
- ์ ์ฒด ์ต์ ํ๋ ์ธ ๋จ๊ณ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค: Coarse Stage (300ํ ๋ฐ๋ณต, ์ถฉ๋ ๊ตฌ, ๊ฐ์ฒด ๊ฑฐ๋ฆฌ 1cm ์ค์), Fine Stage (pre-grasp x_p ์์ฑ, 100ํ ๋ฐ๋ณต, ์ถฉ๋ ๋ฉ์, Q' ์๋์ง ์ฌ์ฉ, ๊ฑฐ๋ฆฌ ์ค์ ์์), Final Stage (grasp pose x ์์ฑ, 100ํ ๋ฐ๋ณต, Fine Stage์ ์ ์ฌํ๋ ๊ฑฐ๋ฆฌ ์ค์ ์์).
์คํ ๊ฒฐ๊ณผ
- ์๋ฎฌ๋ ์ด์ ํ๊ฒฝ ๋ฐ ๊ฐ์ฒด: MuJoCo ์๋ฎฌ๋ ์ดํฐ์ Shadow Hand, Allegro Hand๋ฅผ ์ฌ์ฉํ๋ฉฐ, DexGraspNet [4]์ ๊ฐ์ฒด ์์ฐ(์ด 2,397๊ฐ ๊ฐ์ฒด์ 4๊ฐ์ง ํฌ๊ธฐ๋ฅผ ์ ์ฉํ์ฌ 9,588๊ฐ ๊ฐ์ฒด)์ ์ฌ์ฉํฉ๋๋ค.
- ํ๊ฐ ์งํ: ์๋ฎฌ๋ ์ด์ ์ฑ๊ณต๋ฅ (Simulation Success Rate, SSR), ์๋(Speed, S), ๊ดํต ๊น์ด(Penetration Depth, PD), ์๊ฐ ๊ดํต ๊น์ด(Self-Penetration Depth, SPD), ์ ์ด ๊ฑฐ๋ฆฌ ์ผ๊ด์ฑ(Contact Distance Consistency, CDC), ์ฒซ ๋ฒ์งธ ๋ถ์ฐ ๋น์จ(First Variance Ratio, FVR)์ ์ฌ์ฉํฉ๋๋ค.
- ๋ถ์ ๊ธฐ๋ฐ ํฉ์ฑ ๋ฒค์น๋งํน: DexGraspNet (DGN), SpringGrasp, FRoGGeR ๋ฑ ๊ธฐ์กด ํ์ดํ๋ผ์ธ๊ณผ ๋น๊ตํ์ ๋, ๋ณธ ์ฐ๊ตฌ์ ํ์ดํ๋ผ์ธ์ ๊ฑฐ์ ๋ชจ๋ ์งํ์์ ์ฐ์ํ ์ฑ๋ฅ์ ๋ณด์ด๋ฉฐ ํนํ SSR๊ณผ ์๋์์ ํฐ ํฅ์(์ต๋ 50๋ฐฐ)์ ๋ฌ์ฑํ์ต๋๋ค. ๋ณธ ์ฐ๊ตฌ์ QP ๊ธฐ๋ฐ ์๋์ง ํจ์๋ DFC, TDG ๋ฑ ๊ธฐ์กด ์๋์ง ํจ์๋ณด๋ค ๋์ SSR์ ๋ฌ์ฑํ๋ฉฐ ์๋ฎฌ๋ ์ด์ ๊ฒฐ๊ณผ์ ๋ ๋์ ์๊ด๊ด๊ณ๋ฅผ ๋ณด์์ต๋๋ค. Coarse-to-fine ๋ฐ pre-grasp ์ ๋ต์ SSR, PD, CDC๋ฅผ ํฅ์์ํค์ง๋ง ์๋๋ ๊ฐ์ํฉ๋๋ค.
- ํ์ต ๊ธฐ๋ฐ ํฉ์ฑ ๋ฒค์น๋งํน: ISAGrasp, GraspTTA, 3D Diffusion policy, UnidexGrasp ๋ฑ 4๊ฐ์ง ํ์ต ์ํคํ ์ฒ๋ฅผ ๋ฒค์น๋งํนํ์ต๋๋ค. ๋ณธ ์ฐ๊ตฌ์ ๋ฐ์ดํฐ์ ์ผ๋ก ํ์ต๋ ๋ชจ๋ธ์ ๊ธฐ์กด DexGraspNet ๋ฑ ๋ค๋ฅธ ๋ฐ์ดํฐ์ ์ผ๋ก ํ์ต๋ ๋ชจ๋ธ๋ณด๋ค ์ผ๊ด์ ์ผ๋ก ๋์ ์ฑ๋ฅ์ ๋ณด์์ต๋๋ค (์: UDG ๋ชจ๋ธ์ SSR์ด DexGraspNet ๋ฐ์ดํฐ์ ์์๋ 40%๋์์ผ๋ ๋ณธ ์ฐ๊ตฌ์ ๋ฐ์ดํฐ์ ์์๋ 80%๋๋ก ํฅ์). ๋ฐ์ดํฐ์ ํฌ๊ธฐ๋ฅผ ๋๋ฆด์๋ก ์ฑ๋ฅ์ด ํฅ์๋จ์ ํ์ธํ์ต๋๋ค.
- ์ค์ ํ๊ฒฝ ์คํ: UR10e ๋ก๋ด ํ์ Shadow Hand๋ฅผ ์ฅ์ฐฉํ๊ณ Azure Kinect ์ผ์๋ฅผ ์ฌ์ฉํ์ฌ 20๊ฐ ๊ฐ์ฒด์ ๋ํด ์คํ์ ์ํํ์ต๋๋ค. ํ์ต๋ ๋ชจ๋ธ์ 81%์ ์ ๋ฐ์ ์ธ ์ฑ๊ณต๋ฅ ์ ๋ฌ์ฑํ์ฌ ์ค์ ํ๊ฒฝ์์์ ํจ๊ณผ๋ฅผ ์ ์ฆํ์ต๋๋ค. ์๊ณ ํํํ ๊ฐ์ฒด์์ grasp์ด ์ฝ๊ฐ ๋น๋๊ฐ๊ฑฐ๋ ๋๋ฌด ๋๊ฒ ์์ธก๋๋ ์คํจ ์ฌ๋ก๊ฐ ๊ด์ฐฐ๋์์ต๋๋ค.
ํ๊ณ ๋ฐ ๊ฒฐ๋ก
- ํ๊ณ: ๋ณธ ์ฐ๊ตฌ์ ํ์ดํ๋ผ์ธ์ ์ฃผ๋ก ์๊ฐ๋ฝ ๋ ์ ์ด์ ์์กดํ๋ฉฐ ์๋ฐ๋ฅ ์ ์ด์ ํ์ฉํ์ง ์์ต๋๋ค. ๋ํ, ๋ณต์กํ ๊ตฐ์ง ์ฅ๋ฉด(cluster scene)์์์ grasping์ด๋ ๊ธฐ๋ฅ์ ์ธ(functional) grasp (์: ๋ฌธ ์ด๊ธฐ)๋ ๋ค๋ฃจ์ง ์์ต๋๋ค. ์์ฑ๋ ์ถฉ๋ ์๋ ๊ถค์ ์ ์์ง ํ์ ๋ฃจํ ์๊ฐ ์ ์ฑ ํ์ต์ ํ์ฉ๋์ง ์์์ต๋๋ค.
- ๊ฒฐ๋ก : ๋ณธ ์ฐ๊ตฌ๋ ๋ก๋ด dexterous grasp ํฉ์ฑ์ ์ํ ํ์ฅ ๊ฐ๋ฅํ๊ณ ํจ์จ์ ์ธ ํ์ดํ๋ผ์ธ์ ์ ์ํ์ผ๋ฉฐ, ์ด๋ ๋๊ท๋ชจ ๊ณ ํ์ง ๋ฐ์ดํฐ์ ๊ตฌ์ถ์ ์ฉ์ดํ๊ฒ ํ๊ณ ๋ฐ์ดํฐ ๊ธฐ๋ฐ grasp ํฉ์ฑ ๋ฐฉ๋ฒ๋ก ์ ๊ฐ์ ํฉ๋๋ค. MuJoCo๋ฅผ ํตํ ํฌ๊ด์ ์ธ ๋ฒค์น๋งํฌ๋ ๋ณธ ํ์ดํ๋ผ์ธ๊ณผ ๋ฐ์ดํฐ์ ์ ์ฐ์์ฑ์ ์ ์ฆํ์ผ๋ฉฐ, ์ค์ ํ๊ฒฝ ์คํ์ ํตํด ๊ทธ ์ ์ฌ๋ ฅ์ ํ์ธํ์ต๋๋ค.
๐ Ring Review
๐ Ring โ An idea that echoes. Grasp the core and its value.
์๋ก : โ์์ด 20๊ฐ์ ๊ด์ ์ด๋ฉด ํ์ง๊ฐ ์ ์ด๋ ๊ฒ ์ด๋ ค์ธ๊น?โ
๋ก๋ด ํ์ง(grasping)๋ฅผ ์ฒ์ ๊ณต๋ถํ๋ ์ฌ๋์๊ฒ ์ด๋ฐ ์ง๋ฌธ์ ๋์ ธ๋ณด์. โ๋ฌผ๋ณ์ ์ง๋ ๊ฒ ์ด๋ ต๋์?โ ๋ฌผ๋ก ์ฝ๋ค. ๊ทธ๋ฐ๋ฐ ๋ก๋ด์๊ฒ๋? ์์ด๋ฌ๋ํ๊ฒ๋, ์๊ฐ๋ฝ์ด ๋ง์์๋ก โ ์ฆ, ๋ ์ธ๊ฐ๊ณผ ๋ฎ์์์์๋ก โ ๋ก๋ด์๊ฒ๋ ๋ ์ด๋ ค์ด ๋ฌธ์ ๊ฐ ๋๋ค.
๋ณ๋ ฌ ๊ทธ๋ฆฌํผ(parallel gripper)๋ ์์ ๋๊ฐ 1~2๊ฐ์ ๋ถ๊ณผํ๊ธฐ ๋๋ฌธ์ ์์ฒ ๊ฐ์ ๋ฌด์์ ํฌ์ฆ๋ฅผ ์ํ๋งํ ๋ค ํ์ง ์งํ๋ก ํํฐ๋งํ๋ ๋ฐฉ์์ด ์ ์๋ํ๋ค. ๊ทธ๋ฐ๋ฐ Shadow Hand๋ Allegro Hand์ฒ๋ผ 20๊ฐ ์ด์์ ์์ ๋(DoF)๋ฅผ ๊ฐ์ง ๋ฑ์คํ ๋ฌ์ค ํธ๋๋ ์ด์ผ๊ธฐ๊ฐ ์์ ํ ๋ฌ๋ผ์ง๋ค. ์์ ๋๊ฐ 20๊ฐ๋ผ๋ฉด, ํ์ํด์ผ ํ ๊ณต๊ฐ์ ๊ธฐํ๊ธ์์ ์ผ๋ก ํญ๋ฐํ๋ค. ๋ฌด์์ ์ํ๋ง? ๋์๋ ์ฐ์ฃผ๋ฅผ ๋คํธ ํ๋๋ก ๋ง์ถ๋ ๊ฒฉ์ด๋ค.
๊ทธ๋ ๋ค๋ฉด ๊ธฐ์กด ์ฐ๊ตฌ๋ค์ ์ด๋ป๊ฒ ์ ๊ทผํ์๊น?
๋ฐ์ดํฐ ๊ธฐ๋ฐ ํ์ต(Learning-based) ๋ฐฉ๋ฒ๋ค์ ์ด๋ ์ ๋ ์ฑ๊ณผ๋ฅผ ๊ฑฐ๋์ง๋ง, ํ์ต์ ํ์ํ ๋๊ท๋ชจ, ๊ณ ํ์ง ๋ฐ์ดํฐ์ ์ด ์ ๋์ ์ผ๋ก ๋ถ์กฑํ๋ค. ์ธ๊ฐ์ด ์ง์ ๋ฌผ์ฒด๋ฅผ ์ก๋ ํ ๋ ์คํผ๋ ์ด์ ๋ฐฉ์(RealDex)์ 52๊ฐ ๋ฌผ์ฒด์ ๋ํด 5๋ง 9์ฒ ๊ฐ ํ์ง๋ฐ์ ์์ฑํ์ง ๋ชปํ๋ค. ๋๋ฌด ๋๋ฆฌ๊ณ , ํ์ฅ์ด ์ด๋ ต๋ค.
๊ทธ๋๋์ธํธ ๊ธฐ๋ฐ ์ต์ ํ๋ ๋ค๋ฅธ ์ ๊ทผ์ด์๋ค. ํ์ง ํฌ์ฆ๋ฅผ ์๋์ง ํจ์์ ์ต์๊ฐ์ผ๋ก ์ฐพ์๋ด๋ ๋ฐฉ์์ธ๋ฐ, ์ฌ๊ธฐ์ โ์๋์ง(energy)โ๋ ํ์ง ํ์ง์ ์์น๋ก ๋ํ๋ธ ๊ฒ์ด๋ค. ์ด ๋ฐฉํฅ์ด ์ ๋งํด ๋ณด์ด์ง๋ง, ๊ธฐ์กด ๋ฐฉ๋ฒ๋ค์๋ ์ธ ๊ฐ์ง ์น๋ช ์ ์ธ ๋ฌธ์ ๊ฐ ์์๋ค.
- ๋ฌผ๋ฆฌ์ ๊ฐ์ ์ ์ค๋ฅ: ๋ชจ๋ ์ ์ด์ ์์ ํ์ด ๊ท ๋ฑํ๋ค๊ฑฐ๋, ๋ง์ฐฐ์ด ์๋ค๋ ๊ฐ์ โ ํ์ค๊ณผ ๋๋จ์ด์ง ๋จ์ํ
- ์๋ ๋ฌธ์ : ๊ธฐ์กด ์์คํ ๋ค์ ๋ฐ์ดํฐ์ ์ ์๋ฐฑ๋ง ๊ฑด ๊ท๋ชจ๋ก ์์ฑํ๊ธฐ์ ๋๋ฌด ๋๋ ธ๋ค
- ๋ฒค์น๋งํฌ ๋ถ์ฌ: ๋ฐฉ๋ฒ๋ค ๊ฐ์ ๊ณต์ ํ ๋น๊ต ๊ธฐ์ค์ด ์์๋ค
BODex๋ ์ด ์ธ ๋ฌธ์ ๋ฅผ ํ๊บผ๋ฒ์ ์ ๋ฉด์ผ๋ก ํด๊ฒฐํ๋ค. ํต์ฌ ์์ด๋์ด๋ ๊ฐ๊ฒฐํ๋ค: ์ด์ค ์ต์ ํ(Bilevel Optimization)๋ฅผ ํตํด ๋ฌผ๋ฆฌ์ ์ผ๋ก ์ฌ๋ฐ๋ฅธ ํ์ง ์๋์ง๋ฅผ ์ ์ํ๊ณ , GPU ๊ฐ์ QP(Quadratic Programming) ์๋ฒ๋ก ์ด๋ฅผ ์์ฒญ๋ ์๋๋ก ๋ณ๋ ฌํํ๋ค. ๊ฒฐ๊ณผ๋ ๋๋๋ค โ ๋จ์ผ RTX 3090 GPU๋ก ํ๋ฃจ์ ์๋ฐฑ๋ง ๊ฑด์ ํ์ง๋ฅผ ํฉ์ฑํ๋ค.
๋ฐฉ๋ฒ๋ก : ์ด์ค ์ต์ ํ์ ์๋ฆ๋ค์
๋ฌธ์ ์ ์: ํ์ง ํฉ์ฑ์ด๋ ๋ฌด์์ธ๊ฐ
๋ฑ์คํ ๋ฌ์ค ํ์ง ํฉ์ฑ์ ์ํ์ ์ผ๋ก ์ ์ํด๋ณด์. ์ฐ๋ฆฌ๊ฐ ์ฐพ์์ผ ํ ๊ฒ์ ํ์ง ํฌ์ฆ x = [r, t, q] \in \mathbb{R}^{9+3+n}์ด๋ค.
- r \in \mathbb{R}^9: ๋ฃจํธ(์๋ชฉ) ํ์ (rotation matrix ํํ)
- t \in \mathbb{R}^3: ๋ฃจํธ ์์น (translation)
- q \in \mathbb{R}^n: ๊ด์ ๊ฐ๋ (n์ ์์ DoF)
์ ๋ ฅ์ ๋ฌผ์ฒด ๋ฉ์ฌ \mathcal{O}์ ๊ฐ ๋งํฌ ํ๋ ์์์์ ๊ธฐ๋ ์ ์ด์ \{c_{i,l}\}์ด๋ค.
์ด๋ ์ฐ๋ฆฌ๋ ๋ค์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ x^*๋ฅผ ์ฐพ๊ณ ์ถ๋ค:
x^* = \arg\min_x \; E(x) \quad \text{s.t.} \quad \text{๊ด์ ๋ฒ์, ์ ์ด ์กฐ๊ฑด, ์ถฉ๋ ์์}
์ฌ๊ธฐ์ E(x)๋ฅผ ์ด๋ป๊ฒ ์ ์ํ๋๋๊ฐ ํต์ฌ์ด๋ค.
๊ธฐ์กด ์๋์ง ํจ์๋ค์ ๋ฌธ์
๊ธฐ์กด ์ฐ๊ตฌ๋ค์ ์๋์ง ํจ์๋ฅผ ์ ์ ์ดํด๋ณด์.
DFC (Differentiable Force Closure)๋ ์ด๋ฐ ๊ฐ์ ์ ํ๋ค: โ๋ชจ๋ ์ ์ด์ ์์ ํ์ด ๋๊ฐ๋คโ. ์ ์ด๊ฒ ๋ฌธ์ ์ผ๊น? ํ์ค์์ ์์ง์๊ฐ๋ฝ์ด ๊ฒ์ง๋ณด๋ค ํจ์ฌ ํฐ ํ์ ๋ผ ์ ์๋ค. ๊ท ๋ฑํ ํ์ ๊ฐ์ ํ๋ฉด, ์ค์ ๋ก๋ ์ข์ ํ์ง์ธ๋ฐ ๋์๋ค๊ณ ํ๊ฐํ๊ฑฐ๋, ๋์ ํ์ง๋ฅผ ์ข๋ค๊ณ ์คํํ๋ค.
TDG (Task-oriented DexGrasp)๋ ๋ง์ฐฐ์ ๋ฌด์ํ๋ค. ๋ง์ฐฐ ์์ด๋ ํ์ ๋ฒ์ ๋ฐฉํฅ์ผ๋ก๋ง ์ ๋ฌํ ์ ์๋ค. ํ์ค์ ํ์ง๋ ๋ฒ์ ๋ ฅ๊ณผ ๋ง์ฐฐ๋ ฅ์ ํจ๊ป ์ฌ์ฉํ๋๋ฐ, ๋ง์ฐฐ์ ๋ฌด์ํ๋ฉด ์ค์ ๋ก ์์ ์ ์ธ ํ์ง๋ฅผ ๊ฑธ๋ฌ๋ด๋ฒ๋ฆฐ๋ค.
์ด๋ฐ ๊ฐ์ ๋ค์ ์๋์ง ํจ์๋ฅผ ๋จ์ํ๊ฒ ๋ง๋ค์ด ๊ณ์ฐ์ ๋น ๋ฅด์ง๋ง, ์๋ฎฌ๋ ์ด์ ์ฑ๊ณต๋ฅ (Simulation Success Rate, SSR)๊ณผ์ ์๊ด๊ด๊ณ๊ฐ ๋ฎ๋ค. ์ฆ, ์๋์ง๊ฐ ๋ฎ์๋ ์ค์ ์๋ฎฌ๋ ์ด์ ์์ ๋จ์ด์ง๋ ํ์ง๊ฐ ๋ง๋ค.
BODex์ ํต์ฌ: ์ด์ค ์ต์ ํ (Bilevel Optimization)
BODex์ ์ฒ์ฌ์ ์ธ ์์ด๋์ด๋ โํ์ง ํ์ง ์๋์ง๋ฅผ ์ง์ ์ ์ํ๋ ๋์ , ํ ํํ ๋ฌธ์ (QP)์ ์ต์ ๊ฐ์ผ๋ก ์ ์ํ์โ๋ ๊ฒ์ด๋ค.
๋น์ ์ด ํ์ ์์ ๋ฌผ๋ณ์ ์ก์ผ๋ ค ํ๋ค. ์ข์ ํ์ง๋ ๋ฌด์์ธ๊ฐ?
โ์ด๋ค ๋ฐฉํฅ์์ ํ์ ๊ฐํด๋ ๋ฌผ๋ณ์ด ์ ์์ง์ด๋ ๊ฒ.โ ์ด๊ฒ์ด force closure๋ค.
๋ ๊ตฌ์ฒด์ ์ผ๋ก: ์ฃผ์ด์ง ์ ํฌ์ฆ์์, ๊ฐ ์๊ฐ๋ฝ์ด ๋ผ ์ ์๋ ์ต์ ์ ํ ์กฐํฉ์ผ๋ก ๋ฌผ์ฒด์ ์ํ๋ ํ๊ณผ ํ ํฌ๋ฅผ ๊ฐํ ์ ์์ ๋, ๊ทธ ํ์ง๋ ์ข์ ํ์ง๋ค.
์ด๊ฑธ ์ํ์ผ๋ก ํํํ๋ฉด: - ์์ ๋ฌธ์ (Upper Level): ์ด๋ค ์ ํฌ์ฆ๊ฐ ๊ฐ์ฅ ์ข์๊ฐ? - ํ์ ๋ฌธ์ (Lower Level): ์ฃผ์ด์ง ํฌ์ฆ์์, ์ต์ ์ ํ ๋ฐฐ๋ถ์?
์์์ผ๋ก ์ ๊ฐํ๋ฉด:
\min_x \; E(x) = \sum_j Q_j^*(x) + E_{\text{reg}}(x)
์ฌ๊ธฐ์ Q_j^*(x)๋ j๋ฒ์งธ desired wrench(ํ+ํ ํฌ)์ ๋ํ ํ์ QP์ ์ต์ ๊ฐ์ด๋ค:
Q_j^*(x) = \min_{f_1, \ldots, f_m} \; \left\| \sum_{i=1}^m \begin{pmatrix} f_i \\ r_i \times f_i \end{pmatrix} - w_j \right\|^2
์ฌ๊ธฐ์: - f_i \in \mathbb{R}^3: i๋ฒ์งธ ์ ์ด์ ์์์ ํ ๋ฒกํฐ - r_i: ์ ์ด์ ์ ์์น ๋ฒกํฐ - w_j: j๋ฒ์งธ ๋ชฉํ wrench (ํ + ํ ํฌ์ 6D ๋ฒกํฐ) - ๋ง์ฐฐ ์๋ฟ ์ ์ฝ, ๋ฒ์ ๋ ฅ ์์ ์ ์ฝ, ํฉ์ฐ ํ bound ์ ์ฝ ํฌํจ
๋ง์ฐฐ ์๋ฟ(friction cone)์ ์ด๋ป๊ฒ ์ฒ๋ฆฌํ๋? ๋ง์ฐฐ์ ์ ํํ๊ฒ ํํํ๋ฉด ์๋ฟ ๋ชจ์(์ด์ฐจ ์ ์ฝ: QCQP)์ด๋ผ ํ๊ธฐ ์ด๋ ต๋ค. BODex๋ ์ด๊ฒ์ 8๊ผญ์ง์ ํผ๋ผ๋ฏธ๋ ๊ทผ์ฌ๋ก ๋ฐ๊ฟ ์ ํ ์ ์ฝ(LCQP)์ผ๋ก ๋ณํํ๋ค. ๊ทธ๋ฌ๋ฉด QP ์๋ฒ๊ฐ ํจ์ฌ ๋น ๋ฅด๊ฒ ์๋ํ๋ค.
๊ทธ๋๋์ธํธ๋ ์ด๋ป๊ฒ ํ๋ฅด๋? (์๋ฌต์ ๋ฏธ๋ถ)
์ด์ค ์ต์ ํ์ ๊ธฐ์ ์ ๋๊ด์ด ์ฌ๊ธฐ์ ๋ฑ์ฅํ๋ค: ์์ ์ต์ ํ์ ๊ทธ๋๋์ธํธ๋ฅผ ๊ณ์ฐํ๋ ค๋ฉด \frac{\partial Q_j^*(x)}{\partial x}๋ฅผ ๊ตฌํด์ผ ํ๋ค. ๊ทธ๋ฐ๋ฐ Q_j^*๋ QP์ ์ต์ ๊ฐ์ด๋ผ ์ง์ ๋ฏธ๋ถํ๊ธฐ ๊น๋ค๋กญ๋ค.
ํด๋ฒ์ KKT ์กฐ๊ฑด์ ์ด์ฉํ ์๋ฌต์ ๋ฏธ๋ถ(Implicit Differentiation)์ด๋ค. QP์ ์ต์ ํด f^*๋ KKT ์กฐ๊ฑด์ ๋ง์กฑํ๋๋ฐ, ์ด ์กฐ๊ฑด์์ x์ ๋ํ ๋ํจ์๋ฅผ ์ญ์ฐํ ์ ์๋ค. ์ต๊ทผ์ ๋ฏธ๋ถ ๊ฐ๋ฅ ์ต์ ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ(differentiable QP solvers)๋ค์ด ์ด ๊ณผ์ ์ ์๋ํํด์ค๋ค.
GPU ๋ณ๋ ฌํ: ์๋์ ๋น๋ฐ
BODex๊ฐ ๊ธฐ์กด ๋ฐฉ๋ฒ ๋๋น ์ต๋ 50๋ฐฐ ๋น ๋ฅธ ์ด์ ๋ ๋ ๊ฐ์ง๋ค:
- ๋ฐฐ์น QP ์๋ฒ (Batched ReLU-QP): ์์ฒ ๊ฐ์ ํ์ง๋ฅผ ๋์์ GPU์์ QP ํ์ด. ๊ธฐ์กด์๋ CPU ๊ธฐ๋ฐ QP๋ฅผ ์์ฐจ ์คํํ๋ค.
- cuRobo ๊ธฐ๋ฐ ์ด๋ํ: NVIDIA์ CUDA ๊ฐ์ ๋ก๋ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ cuRobo๋ฅผ ํ์ฉํ์ฌ ์์ด๋ํ(FK), ์์ฝ๋น์ ๊ณ์ฐ์ ๋ฐฐ์น๋ก ์ฒ๋ฆฌ.
| ๋ฐฉ๋ฒ | ํ์ง/์ด |
|---|---|
| DexGraspNet (๊ธฐ์กด) | ~1 grasps/sec (์ถ์ ) |
| BODex | 49+ grasps/sec |
ํ๋ฃจ์ ์๋ฐฑ๋ง ๊ฑด ์์ฑ ๊ฐ๋ฅ โ ๋ฐ์ดํฐ์ ๊ท๋ชจ์ ํจ๋ฌ๋ค์ ์ ํ
ํฉ์ฑ ํ์ดํ๋ผ์ธ: Coarse-to-Fine
๋จ์ํ QP๋ฅผ ํธ๋ ๊ฒ ์ธ์, BODex๋ ์ ์ง์ ์ ๋ฐํ(coarse-to-fine) ์ ๋ต์ ์ฌ์ฉํ๋ค:
1๋จ๊ณ โ Coarse (๊ตฌ(sphere) ๊ทผ์ฌ)
๋น ๋ฅธ ์ต๊ทผ์ ์ ๊ณ์ฐ์ ์ํด ์์ ๋งํฌ๋ฅผ ๊ตฌ(sphere)๋ก ๊ทผ์ฌํ๋ค. ๋ฌผ์ฒด์์ ์ ์ด, ์ถฉ๋ ๊ฒ์ฌ๊ฐ ๋น ๋ฅด๋ค. ๋๋ต์ ์ธ ํ์ง ํฌ์ฆ๋ฅผ ๋น ๋ฅด๊ฒ ํ์.
2๋จ๊ณ โ Fine (์ ๋ฐ ๋ฉ์ฌ)
GJK(Gilbert-Johnson-Keerthi) ์๊ณ ๋ฆฌ์ฆ์ ์จ์ ์ค์ ์ถฉ๋ ๋ฉ์ฌ๋ก ์ ๋ฐ ์ถฉ๋ ๊ณ์ฐ. ์ ์ด ์์น๋ฅผ ์ ํํ ๊ณ์ฐํ๊ณ ํ์ง ํฌ์ฆ๋ฅผ ๋ค๋ฌ๋๋ค.
์ฌ์ ํ์ง ํฌ์ฆ (Pre-grasp)
์ต์ข
ํ์ง ํฌ์ฆ ์ธ์ โ์๊ฐ๋ฝ์ ํด์ ๋ฌผ์ฒด์ ์ ๊ทผํ๋โ ์ฌ์ ํฌ์ฆ๋ ํจ๊ป ์์ฑํ๋ค. ์ด๋ ์ค์ ๋ก๋ด ์คํ ์ ์ถฉ๋ ์๋ ์ง์
(approach trajectory) ์์ฑ์ ํ์๋ค.
sequenceDiagram
participant I as ์ด๊ธฐํ
participant C as Coarse Stage<br/>(๊ตฌ ๊ทผ์ฌ)
participant F as Fine Stage<br/>(GJK ๋ฉ์ฌ)
participant P as Pre-grasp<br/>์์ฑ
participant V as MuJoCo<br/>๊ฒ์ฆ
I->>C: ๋ฌด์์ ์ด๊ธฐ ํฌ์ฆ ๋ฐฐ์น
C->>C: ๋น ๋ฅธ ์ถฉ๋/์ ์ด ๊ณ์ฐ<br/>๋ฐฐ์น QP + ๊ทธ๋๋์ธํธ ๊ฐํ
C->>F: Coarse ํ์ง ํ๋ณด ์ ๋ฌ
F->>F: ์ ๋ฐ ๋ฉ์ฌ๋ก ์ ์ด ์ ์ <br/>GJK ๊ธฐ๋ฐ ์ถฉ๋ ์ฒ๋ฆฌ
F->>P: Fine ํ์ง ํฌ์ฆ ์ ๋ฌ
P->>P: ์๊ฐ๋ฝ ํผ์ณ ์ ๊ทผ ํฌ์ฆ ์์ฑ<br/>(cuRobo ๋ชจ์
๊ณํ)
P->>V: (pre-grasp, grasp, squeeze) ํธ๋ฆฌํ
V-->>V: MuJoCo ๋ฌผ๋ฆฌ ์๋ฎฌ๋ ์ด์
<br/>ํ์ง ์ฑ๊ณต ์ฌ๋ถ ํ์ธ
V-->>I: ์ฑ๊ณต ์ ์ ์ฅ / ์คํจ ์ ํ๊ธฐ
๋ฐ์ดํฐ์ ๊ท๋ชจ
BODex๊ฐ ์์ฑํ ๋ฐ์ดํฐ์ ์ ๊ธฐ์กด๊ณผ ๋น๊ตํ๋ฉด:
| ๋ฐ์ดํฐ์ | ํธ๋ | ๋ฌผ์ฒด ์ | ํ์ง ์ | ํ ์ด๋ธ | ์ฌ์ ํ์ง | ์ถฉ๋ ์๋ ๊ถค์ | ์์ฑ ๋ฐฉ๋ฒ |
|---|---|---|---|---|---|---|---|
| DDGdata | Shadow | 565 | 6.9K | โ | โ | โ | GraspIt! |
| DexGraspNet | Shadow | 5,355 | 1.32M | โ | โ | โ | ์ต์ ํ |
| GenDexGrasp | ๋ค์ค | 58 | 436K | โ | โ | โ | ์ต์ ํ |
| RealDex | Shadow | 52 | 59K | โ | โ | 2,630 | ํ ๋ ์คํผ๋ ์ด์ |
| BODex-Floating | Shadow | 2,440 | 3.62M | โ | โ | โ | ์ต์ ํ |
| BODex-Tabletop | Shadow | 2,440 | 3.41M | โ | โ | 2.62M | ์ต์ ํ |
BODex๋ Allegro, LEAP Hand์ ๋ํ ๋ฐ์ดํฐ์ ๋ ๋ณ๋๋ก ์ ๊ณตํ๋ฉฐ, ์ ์ฒด MuJoCo์์ ๊ฒ์ฆ๋ ํ์ง ์๋ ์ฝ 4.09๋ฐฑ๋ง ๊ฑด์ด๋ค.
์คํ: ์ซ์๊ฐ ๋งํ๋ ๊ฒ๋ค
ํ๊ฐ ์งํ
BODex๋ ์ด ๋ถ์ผ์ ํ์ค ๋ฒค์น๋งํฌ๊ฐ ์๋ค๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด MuJoCo ๊ธฐ๋ฐ์ ํต์ผ๋ ๋ฒค์น๋งํฌ๋ฅผ ์ ์ํ๋ค. ์ฃผ์ ์งํ:
- SSR (Simulation Success Rate): MuJoCo ์๋ฎฌ๋ ์ด์ ์์ ํ์ง ์ฑ๊ณต ๋น์จ โ ๊ฐ์ฅ ์ค์ํ ์งํ
- SPD (Surface Penetration Depth): ์-๋ฌผ์ฒด ์นจํฌ ๊น์ด (๋ฎ์์๋ก ์ข์)
- CD (Contact Distance): ์๊ณผ ๋ฌผ์ฒด ํ๋ฉด ๊ฐ์ ๊ฑฐ๋ฆฌ (๋ฎ์์๋ก ์ข์)
- PD (Pose Diversity): ์์ฑ๋ ํ์ง ํฌ์ฆ์ ๋ค์์ฑ
์๋์ง ํจ์ ๋น๊ต
์๋ก ๋ค๋ฅธ ์๋์ง ์ค๊ณ๊ฐ ์ค์ ํฉ์ฑ ํ์ง์ ์ด๋ค ์ํฅ์ ์ฃผ๋์ง ๋น๊ตํ๋ค.
๊ฒฐ๊ณผ ์์ฝ (Shadow Hand, SSR ๊ธฐ์ค):
| ์๋์ง ๋ฐฉ๋ฒ | ํฉ์ฑ SSR | ํ๊ฐ ์๊ด๊ด๊ณ |
|---|---|---|
| DFC (๊ท ๋ฑ ํ ๊ฐ์ ) | ๋ฎ์ | ๋ฎ์ |
| TDG (๋ง์ฐฐ ๋ฌด์) | ๋ฎ์ | ๋ฎ์ |
| QP_baseline | ์ค๊ฐ | ์ค๊ฐ |
| BODex QP (์ ์) | +10% vs QP_baseline | ๋์ |
ํนํ BODex์ ์๋์ง๋ ์๋์ง ๊ฐ๊ณผ ์๋ฎฌ๋ ์ด์ ์ฑ๊ณต ์ฌ๋ถ์ ์๊ด๊ด๊ณ๊ฐ ๋๋ค โ ์ฆ, ์๋์ง๊ฐ ๋ฎ์ผ๋ฉด ์ค์ ๋ก ์ฑ๊ณตํ ๊ฐ๋ฅ์ฑ๋ ๋๋ค๋ ๋ป์ด๋ค. ์ด ํน์ฑ์ ํ์ต ๊ธฐ๋ฐ ๋ฐฉ๋ฒ์ ํ์ง ๋ผ๋ฒจ๋ก ํ์ฉํ ๋ ๋งค์ฐ ์ค์ํ๋ค.
๋ฌผ์ฒด ํฌ๊ธฐ์ ๋ฐ๋ฅธ ์ฑ๋ฅ
ํฅ๋ฏธ๋ก์ด ๊ด์ฐฐ์ด ์๋ค. ๋ฌผ์ฒด ํฌ๊ธฐ๊ฐ ์ปค์ง์๋ก ์ฑ๊ณต๋ฅ ์ด ๊ฐ์ํ๋ค. ์ด๋ ์ง๊ด์ ์ผ๋ก๋ ์ดํด๋๋ค:
- ์์ ๋ฌผ์ฒด: ์๊ฐ๋ฝ์ด ๋ฌผ์ฒด๋ฅผ โ๊ฐ์ธ๋โ wrapping grasp ํํ๊ฐ ์ฝ๊ฒ ์ฑ๋ฆฝ โ force closure ๋ฌ์ฑ ์ฉ์ด
- ํฐ ๋ฌผ์ฒด: ์๊ฐ๋ฝ์ด ๋ฌผ์ฒด๋ฅผ ๊ฐ์ธ๊ธฐ ์ด๋ ต๊ณ , ์ต์ ํ ์งํ(landscape)๋ ๋ ํํํด์ง
BODex์ ์๋์ง๋ ์ด ๊ฐ์ ํญ์ด ๊ธฐ์กด ๋ฐฉ๋ฒ๋ค๋ณด๋ค ์๋ค๋ ์ ๋ ๊ฐ์ ์ด๋ค. Allegro Hand๊ฐ Shadow Hand๋ณด๋ค ๋์ ์ฑ๊ณต๋ฅ ์ ๋ณด์ด๋ ๊ฒ๋ ์ด ์ด์ ๋ค โ Allegro๊ฐ Shadow๋ณด๋ค ํจ์ฌ ํฌ๊ธฐ ๋๋ฌธ์ ์๋์ ์ผ๋ก โ์์โ ๋ฌผ์ฒด๋ฅผ ์ก๋ ์ํฉ์ด ๋ง์์ง๋ค.
Ablation Study: ๊ฐ ๊ตฌ์ฑ ์์์ ๊ธฐ์ฌ
์ด๋ค ๋ถ๋ถ์ด ์ผ๋ง๋ ์ค์ํ์ง ์ ๊ฑฐ ์คํ(ablation)์ผ๋ก ๊ฒ์ฆํ๋ค.
| ๊ตฌ์ฑ ์์ | SSR | SPD | CD |
|---|---|---|---|
| ๊ธฐ๋ณธ ์ต์ ํ๋ง | ๊ธฐ์ค | ๊ธฐ์ค | ๊ธฐ์ค |
| + Pre-grasp | โ | โ | โ |
| + Coarse-to-Fine | โโ | โโ | โโ |
| + ๋ ์ ๋ต ๋ชจ๋ | ์ต๊ณ | ์ต๊ณ | ์ต๊ณ |
Coarse-to-Fine ์ ๋ต์ ํ์ง์ ํฌ๊ฒ ๋์ด์ง๋ง ์๋๋ฅผ ์ผ๋ถ ํฌ์ํ๋ค. Pre-grasp ์์ฑ์ ์ค์ ์คํ์ ํ์์ ์ด๋ค.
ํ์ต ๋ชจ๋ธ ํ์ง: BODex ๋ฐ์ดํฐ์ vs DexGraspNet
๋ฐ์ดํฐ์ ์ ์ง์ ํ ๊ฐ์น๋ ์ด๊ฒ์ผ๋ก ํ์ตํ ๋ชจ๋ธ์ด ์ผ๋ง๋ ์ ์๋ํ๋๋์ ์๋ค.
xychart-beta
title "ํ์ต ๋ชจ๋ธ ์๋ฎฌ๋ ์ด์
์ฑ๊ณต๋ฅ (%)"
x-axis ["DexGraspNet์ผ๋ก ํ์ต", "BODex๋ก ํ์ต"]
y-axis "์ฑ๊ณต๋ฅ (%)" 0 --> 100
bar [40, 80]
DexGraspNet์ผ๋ก ํ์ตํ ๋ชจ๋ธ์ ์ฑ๊ณต๋ฅ : ~40%
BODex ๋ฐ์ดํฐ์
์ผ๋ก ํ์ตํ ๋ชจ๋ธ์ ์ฑ๊ณต๋ฅ : ~80%
๋ ๋ฐฐ ๊ฐ๊น์ด ํฅ์. ๊ทธ๋ฆฌ๊ณ ์ค์ Shadow Hand๋ก 20๊ฐ ๋ค์ํ ๋ฌผ์ฒด์ ๋ํด ์คํํ ๊ฒฐ๊ณผ: 81% ์ฑ๊ณต๋ฅ ์ ๋ฌ์ฑํ๋ค. ์ด๋ ๋ฐ์ดํฐ ํ์ง์ด ํ์ต ๊ฒฐ๊ณผ์ ์ผ๋ง๋ ์ง๊ฒฐ๋๋์ง๋ฅผ ๋ช ํํ ๋ณด์ฌ์ค๋ค.
๊ด๋ จ ์ฐ๊ตฌ์์ ๋น๊ต
BODex๋ฅผ ๋ค๋ฅธ ์ฐ๊ตฌ๋ค๊ณผ ๋งฅ๋ฝ ์์์ ์์น์์ผ ๋ณด์.
graph TD
A["๊ณ ์ ์ต์ ํ ๊ณ์ด"] --> B["GraspIt!\n(์ถฉ๋ ๊ฒ์ฌ + ์ํ๋ง)"]
A --> C["Q1 metric\nGrasp Wrench Space"]
D["๊ทธ๋๋์ธํธ ๊ธฐ๋ฐ ๊ณ์ด"] --> E["DFC\n(๊ท ๋ฑ ํ ๊ฐ์ )"]
D --> F["TDG\n(๋ง์ฐฐ ๋ฌด์)"]
D --> G["FRoGGeR\n(Differentiable FC)"]
D --> H["SpringGrasp\n(Compliant ์ต์ ํ)"]
D --> BODex["BODex โ
\n(์ด์ค ์ต์ ํ + GPU QP)"]
I["ํ์ฐ ๋ชจ๋ธ ๊ณ์ด"] --> J["DexDiffuser"]
I --> K["UniDexGrasp++"]
BODex --> L["DexGraspNet 2.0์์ ํ์ฉ"]
BODex --> M["GraspVLA์์ ํ์ฉ"]
BODex --> N["Dexonomy์์ ๋น๊ต ๊ธฐ์ค"]
DexGraspNet (Wan et al., 2023)
Shadow Hand์ ๋ํด 5,355๊ฐ ๋ฌผ์ฒด, 130๋ง ๊ฑด์ ํ์ง๋ฅผ ์์ฑํ ๋น์ ์ต๋ ๊ท๋ชจ ๋ฐ์ดํฐ์ . ์๋์ง ํจ์๋ก TDG(์ ์ ๋ ฅยท๋นํ๋ฆผ ๋ง์ฐฐ ๋ฌด์)๋ฅผ ์ฌ์ฉ. BODex ๋ฐ์ดํฐ์ ์ ๋ฌผ์ฒด ์๋ ์ ์ง๋ง(2,440๊ฐ) ํ์ง ํ์ง์ด ํจ์ฌ ๋๊ณ , ์ด๋ฅผ ํ์ตํ ๋ชจ๋ธ์ ์ฑ๊ณต๋ฅ ์ด 40%์์ 80%๋ก ๋ ๋ฐฐ ํฅ์.
FRoGGeR (Liu et al., 2023)
๋ฏธ๋ถ ๊ฐ๋ฅํ force closure ์งํ๋ฅผ ๋์ ํ์ง๋ง, ์ํธ์์ฉ ๋ ์น ๊ณ์์ ํฉ์ด 1์ด ๋๋๋ก ์ ์ฝ์ ๊ฑธ์ด ๊ทธ๋๋์ธํธ ์์ค์ ๋ฐฉ์ง. BODex๋ ๋ฒ์ ๋ ฅ์ ํฉ์ด ํน์ ์๊ณ๊ฐ \gamma ์ด์์ด ๋๋๋ก ์ ์ฝํ๋ ๋ค๋ฅธ ์ ๊ทผ์ ์ทจํ๋ค.
SpringGrasp (Chen et al., 2024)
ํ์ฑ ์๋ ์๊ฐ๋ฝ์ ๊ณ ๋ คํ ์์ํ(compliant) ํ์ง ์ต์ ํ. ์ ๊ทผ ๋ฐฉํฅ์ด ๋ค๋ฅด์ง๋ง BODex์ ๊ฐ์ด ๋ฌผ๋ฆฌ์ ์ผ๋ก ํ์ค์ ์ธ ํ์ง๋ฅผ ์ถ๊ตฌํ๋ค๋ ๊ณตํต์ ์ด ์๋ค.
GraspQP (2025, ๋์๋ ์ฐ๊ตฌ)
BODex์ ๊ฑฐ์ ๋์ผํ ์์ด๋์ด์ธ QP ๊ธฐ๋ฐ ๋ฏธ๋ถ ๊ฐ๋ฅ ์๋์ง๋ฅผ ๋ ๋ฆฝ์ ์ผ๋ก ์ ์. MALA*(Metropolis-adjusted Langevin Algorithm) ๋ณํ์ ์ด์ฉํด ๋ค์์ฑ์ ๋ ์ด์ . ๋ ์ฐ๊ตฌ๊ฐ ๋น์ทํ ์๊ธฐ์ ๊ฐ์ ๋ฐฉํฅ์ ๋ ๋ฆฝ์ ์ผ๋ก ๋ฐ๊ฒฌํ๋ค๋ ๊ฒ ์์ฒด๊ฐ ์ด ์ ๊ทผ์ ํ๋น์ฑ์ ์ญ์ค์ ์ผ๋ก ์ฆ๋ช ํ๋ค.
Dexonomy (2025)
BODex๋ฅผ ๊ธฐ์ค์ ์ผ๋ก ์ผ์ ์ฌ๊ธฐ์ ๋ ๋์๊ฐ, ํ์ง ๋ถ๋ฅํ(taxonomy)์ ๋ฐ๋ฅธ ๋ค์ํ ํ์ง ์ ํ(power grasp, pinch, etc.)์ ์์ฑํ๋ค. BODex ๋๋น ๋ค์์ฑ์์ ์ฐ์๋ฅผ ๋ณด์ด์ง๋ง, BODex๊ฐ ๋ ๋์ ์ง๋ ๋ฑ ์ด๋ ค์ด ์กฐ๊ฑด์์๋ ๊ฒฝ์๋ ฅ ์์์ ํ์ธ.
๋นํ์ ๊ณ ์ฐฐ: ๊ฐ์ ๊ณผ ํ๊ณ
๊ฐ์
1. ๋ฌผ๋ฆฌ์ ์ผ๋ก ์ฌ๋ฐ๋ฅธ ์๋์ง ์ค๊ณ
โ์ด๋ค ๊ฐ์ ๋ ์๋โ QP ๊ธฐ๋ฐ ์๋์ง. ๊ท ๋ฑ ํ ๊ฐ์ ๋, ๋ง์ฐฐ ๋ฌด์๋ ์๋ค. ์ด๋ ์๋์ง-์๋ฎฌ๋ ์ด์ ์ฑ๊ณต๋ฅ ์๊ด๊ด๊ณ๋ฅผ ํฌ๊ฒ ๋์ฌ์, ์์ฑ๋ ๋ฐ์ดํฐ ํ์ง์ ์ค์ง์ ์ผ๋ก ํฅ์์ํจ๋ค.
2. ์์ง๋์ด๋ง์ ์ฐ์์ฑ
cuRobo + GPU ๋ฐฐ์น QP๋ผ๋ ์กฐํฉ์ ๋จ์ํ ์๊ณ ๋ฆฌ์ฆ์ ๊ฐ์ ํ ๊ฒ์ ๋์ด ์์คํ ์์ค์ ๊ธฐ์ฌ๋ค. ๋จ์ผ 3090 GPU๋ก 49+ grasps/sec, ํ๋ฃจ ์๋ฐฑ๋ง ๊ฑด์ด๋ผ๋ ์ซ์๋ ์ด ์ฐ๊ตฌ๊ฐ ๋ฐ์ดํฐ ์ค์ฌ ๋ฑ์คํ ๋ฌ์ค ํธ๋ ์ฐ๊ตฌ๋ฅผ ์ค์ง์ ์ผ๋ก ๊ฐ๋ฅํ๊ฒ ๋ง๋ค์๋ค๋ ๋ป์ด๋ค.
3. ๋ค์ค ํธ๋ ์ง์
Shadow, Allegro, LEAP Hand๋ฅผ ๋ชจ๋ ์ง์ํ๋ ์ผ๋ฐํ๋ ํ์ดํ๋ผ์ธ. ์ค์ ํ์ผ๋ง ๋ฐ๊พธ๋ฉด ์๋ก์ด ํธ๋์ ์ ์ฉ ๊ฐ๋ฅ.
4. ์ฌํ ๊ฐ๋ฅํ ๋ฒค์น๋งํฌ
MuJoCo ๊ธฐ๋ฐ์ ํ์คํ๋ ๋ฒค์น๋งํฌ ์ ๊ณต. ์ด ๋ถ์ผ์์ ์ค๋ซ๋์ ํ์ํ์ง๋ง ์์๋ ๊ฒ์ ์ฑ์์ค๋ค.
5. ํ์ ์ฐ๊ตฌ์์ ์ํฅ๋ ฅ
๋ฐํ ์งํ DexGraspNet 2.0, GraspVLA ๋ฑ์ด BODex ํ์ดํ๋ผ์ธ์ ๊ทธ๋๋ก ํ์ฉํ๊ฑฐ๋ ์์ ํด์ ์ด๋ค๋ ์ฌ์ค์, ์ด ์ฐ๊ตฌ๊ฐ ๋จ์ํ ์ข์ ๋ ผ๋ฌธ์ ๊ทธ์น์ง ์๊ณ ์ธํ๋ผ ์์ค์ ๊ณตํ์์ ๋ณด์ฌ์ค๋ค.
ํ๊ณ ๋ฐ ํฅํ ๊ณผ์
1. Palm Contact ๋ฏธ์ฌ์ฉ
ํ์ฌ BODex๋ ์๋(fingertip) ์ค์ฌ์ ํ์ง๋ง ์์ฑํ๋ค. ์ค์ ์ธ๊ฐ์ ํ์ง์์ ์๋ฐ๋ฅ(palm)์ ์์ ์ฑ์ ๋งค์ฐ ์ค์ํ ์ญํ ์ ํ๋๋ฐ, ์ด๋ฅผ ๊ณ ๋ คํ์ง ์๋๋ค. ํนํ ํฐ ๋ฌผ์ฒด๋ heavy object๋ฅผ ์ก์ ๋ palm contact์ ๋ถ์ฌ๋ ํ์ง ์ ํ๋ก ์ด์ด์ง๋ค.
2. Fingertip-only Grasps์ ๋ค์์ฑ ์ ํ
๋ ผ๋ฌธ ์์ฒด๋ ์ธ์ ํ๋ฏ, ํ์ฌ ์์ฑ๋๋ ํ์ง๋ ์ฃผ๋ก โpower grasp(๋ฌผ์ฒด๋ฅผ ๊ฐ์ธ๋ ๋ฐฉ์)โ ์์ฃผ๋ค. ์ธ๊ฐ์ด ํ์ ์ฅ๋ โ์ ๋ฐ ํ์ง(precision grasp)โ, ์ด์ ๋ฅผ ์ก๋ โlateral pinchโ ๊ฐ์ ๋ค์ํ ํ์ง ์ ํ(grasp taxonomy)์ ๋ค๋ฃจ์ง ๋ชปํ๋ค. ์ด ํ๊ณ๋ Dexonomy ๊ฐ์ ํ์ ์ฐ๊ตฌ๊ฐ ์ ํํ ํด๊ฒฐํ๋ ค๋ ๋ฌธ์ ๋ค.
3. Floating Hand ๊ฐ์
ํ์ง ํฉ์ฑ ์์ฒด๋ โ๊ณต์ค์ ๋ ์๋ ์โ์ ๊ฐ์ ํ๋ค. ํ ์ด๋ธํ ์๋๋ฆฌ์ค๋ฅผ ์ํด cuRobo๋ก ๋ชจ์ ํ๋๋์ ์ถ๊ฐํ์ง๋ง, ๋ ๋ณต์กํ ํ๊ฒฝ(์ ๋ฐ, ์ฅ์ ๋ฌผ, ์ด์คํ ๋ฑ)์ผ๋ก์ ํ์ฅ์ ์ถ๊ฐ ์์ ์ด ํ์ํ๋ค.
4. ๋ง์ฐฐ ์๋ฟ์ ํผ๋ผ๋ฏธ๋ ๊ทผ์ฌ
๋ง์ฐฐ ์๋ฟ์ 8๊ผญ์ง์ ํผ๋ผ๋ฏธ๋๋ก ๊ทผ์ฌํ๋ฉด ์๋๋ ๋น ๋ฅด์ง๋ง ๋ฌผ๋ฆฌ์ ์ ๋ฐ๋์์ ์์ ์ค์ฐจ๊ฐ ์๊ธด๋ค. ์ด ๊ทผ์ฌ๊ฐ ์ค์ ์คํ์์ ์๋ฏธ ์๋ ์ํฅ์ ์ฃผ๋์ง์ ๋ํ ์ธ๋ฐํ ๋ถ์์ ๋ ผ๋ฌธ์์ ๋ค๋ฃจ์ง ์๋๋ค.
5. ๊ธฐ๋ฅ์ ํ์ง (Functional Grasps)
โ๋ฌผ๋ณ์ ์ง์ด์ ๋ง์ค ์ ์๊ฒโ ๊ฐ์ ํ์คํฌ ์งํฅ์ ํ์ง๋ ์ง์๋์ง ์๋๋ค. BODex๋ ๋ฌผ๋ฆฌ์ ์ผ๋ก ์์ ์ ์ธ ํ์ง๋ฅผ ๋ง๋ค์ง๋ง, ์ด๋ค ๋ฐฉํฅ์ผ๋ก ์ก๋๊ฒ ์ฌ์ฉ์ ์ ํฉํ์ง๋ ๊ณ ๋ คํ์ง ์๋๋ค.
6. ์ค์๊ฐ ํ์ง ์์ฑ ๋ถ๊ฐ
BODex๋ ์คํ๋ผ์ธ ๋ฐ์ดํฐ์ ์์ฑ ์์คํ ์ด๋ค. 49+ grasps/sec๋ ์ธ์์ ์ด์ง๋ง, ๋ก๋ด์ด ์๋ก์ด ๋ฌผ์ฒด๋ฅผ ์ค์๊ฐ์ผ๋ก ์ก์ผ๋ ค ํ ๋ ์จ๋ผ์ธ์ผ๋ก ํ์ง๋ฅผ ํฉ์ฑํ๋ ๊ฒ์ ์ฌ์ ํ ์ด๋ ต๋ค. ์ด๋ฅผ ์ํด์๋ ํ์ต ๊ธฐ๋ฐ ๋ฐฉ๋ฒ๊ณผ์ ๊ฒฐํฉ์ด ํ์๋ค.
์๋ ๊ทธ๋ก ํธ๋ ์ฐ๊ตฌ์๋ฅผ ์ํ ๋ ธํธ
BODex ๋ฐ์ดํฐ์
์๋ Allegro Hand์ ๋ํ ๋ฐ์ดํฐ๊ฐ ํฌํจ๋์ด ์๋ค(HuggingFace์์ allegro.tar.gz๋ก ์ ๊ณต). ์๋ ๊ทธ๋ก ํธ๋ ์ฐ๊ตฌ์๋ผ๋ฉด ๋ค์ ์ฌํญ์ ์ฃผ๋ชฉํ ํ์๊ฐ ์๋ค:
1. Allegro Hand์ ํน์ฑ์ ์ฑ๊ณต๋ฅ ์ด Shadow๋ณด๋ค ๋๋ค
์์ ์ค๋ช
ํ๋ฏ, Allegro๊ฐ Shadow๋ณด๋ค ํฌ๊ธฐ ๋๋ฌธ์ ์๋์ ์ผ๋ก ์์ ๋ฌผ์ฒด๋ฅผ ์ก๋ ์ํฉ์ ์ ๋ฆฌํ๋ค. ์ค์ ๋ก ๋
ผ๋ฌธ์์๋ Allegro์ SSR์ด Shadow๋ณด๋ค ๋๊ฒ ๋์จ๋ค.
2. ๋ฐ์ดํฐ์
ํ์ฉ: DexLearn
Allegro, LEAP, Shadow์ ํ์ง ๋ฐ์ดํฐ๋ DexLearn(ํ์ต ์ฝ๋)์ ํจ๊ป ์ฌ์ฉํ ์ ์๋๋ก ์ค๊ณ๋์๋ค. ๋คํธ์ํฌ ์
๋ ฅ์ผ๋ก ์ฑ๊ธ-๋ทฐ ํฌ์ธํธ ํด๋ผ์ฐ๋(single-view point cloud)๋ฅผ ์ฌ์ฉํ๋ค.
3. VLA ํ์ดํ๋ผ์ธ๊ณผ์ ์ฐ๊ณ
BODex ํ์ง ๋ฐ์ดํฐ โ ํ์ต ๊ธฐ๋ฐ ์ ์ฑ
(DexLearn) โ VLA ๋ชจ๋ธ(์: GraspVLA) ์ด๋ฐ ๊ณ์ธต์ ์ฐ๊ณ๊ฐ ๊ฐ๋ฅํ๋ค. BODex๋ GraspVLA์์๋ ๊ธฐ๋ฐ ํ์ดํ๋ผ์ธ์ผ๋ก ํ์ฉ๋์๋ค.
4. ๊ฐํํ์ต ์ด๊ธฐํ๋ก์์ ํ์ฉ
BODex๊ฐ ์์ฑํ ํ์ง ํฌ์ฆ๋ RL ๊ธฐ๋ฐ ํ์ง ์ ์ฑ
์ ์์์ (initialization)์ผ๋ก๋ ์ธ ์ ์๋ค. ๋ฌด์์ ์ด๊ธฐํ ๋์ BODex ํ์ง ํฌ์ฆ์์ RL์ ์์ํ๋ฉด ํ์ ํจ์จ์ด ํฌ๊ฒ ๋์์ง๋ค.
์์ฝ ๋ฐ ๊ฒฐ๋ก
BODex์ ๊ธฐ์ฌ๋ฅผ ํ ์ค๋ก ์์ฝํ๋ฉด: โ๋ฑ์คํ ๋ฌ์ค ํ์ง ๋ฐ์ดํฐ ์์ฑ์ ์๋-ํ์ง ํธ๋ ์ด๋์คํ๋ฅผ ๋์์ ํด๊ฒฐํ ์ฒซ ๋ฒ์งธ ์ค์ฉ์ ์์คํ โ์ด๋ค.
์ด์ค ์ต์ ํ๋ผ๋ ์ํ์ ์ฐ์ํจ๊ณผ GPU ๋ณ๋ ฌํ๋ผ๋ ์์ง๋์ด๋ง ํ์ํจ์ด ๋ง๋ฌ์ ๋ ๋ฌด์จ ์ผ์ด ์๊ธฐ๋์ง BODex๊ฐ ๋ณด์ฌ์ค๋ค. ์๋์ง ์ค๊ณ์ ๋ฌผ๋ฆฌ์ ํ๋น์ฑ์ด ๋์์ง์ ๋ฐ์ดํฐ ํ์ง์ด ์ค๋ฅด๊ณ , ๋ฐ์ดํฐ ํ์ง์ด ์ค๋ฅด์ ํ์ต ๋ชจ๋ธ์ ์ฑ๋ฅ์ด 40% โ 80%๋ก ๋ ๋ฐฐ๊ฐ ๋๋ค. ๋ฐ์ดํฐ๊ฐ ์ข์ผ๋ฉด ๋ชจ๋ธ์ด ์ข์์ง๋ค๋ ๋น์ฐํ ์ฌ์ค์, BODex๋ ์ ๋์ ์ผ๋ก ์ฆ๋ช ํด๋๋ค.
์ด ๋ ผ๋ฌธ์ด ์ค์ํ ์ธ ๊ฐ์ง ์ด์ :
๋ฐ์ดํฐ์ ๊ณตํ: ์๋ฐฑ๋ง ๊ฑด, MuJoCo ๊ฒ์ฆ ์๋ฃ, ๋ค์ค ํธ๋ ์ง์ โ ์ด ๋ถ์ผ์ ์ฌ์ค์ ํ์ค ๋ฐ์ดํฐ์ ์ด ๋์ด๊ฐ๊ณ ์๋ค
๋ฐฉ๋ฒ๋ก ๊ณตํ: ์ด์ค ์ต์ ํ๋ฅผ ํตํ ๋ฌผ๋ฆฌ์ ์ผ๋ก ์ฌ๋ฐ๋ฅธ ์๋์ง ์ค๊ณ โ ๋จ์ํ ๋น ๋ฅธ ๊ฒ์ด ์๋๋ผ, ์ฌ๋ฐ๋ฅด๊ฒ ๋น ๋ฅธ ๊ฒ
์ธํ๋ผ ๊ณตํ: ์ฌํ ๊ฐ๋ฅํ MuJoCo ๋ฒค์น๋งํฌ โ ์ด์ ์ฐ๋ฆฌ๋ ์๋ก ๋ค๋ฅธ ๋ฐฉ๋ฒ์ ๊ฐ์ ์๋ก ์ด ์ ์๋ค
ํ๊ณ๋ ๋ถ๋ช ํ๋ค. Palm contact ์์, ํ์ง ๋ค์์ฑ ์ ํ, ๊ธฐ๋ฅ์ ํ์ง ๋ฏธ์ง์. ํ์ง๋ง ์ด๊ฒ๋ค์ ๋ค์ ๋จ๊ณ๊ฐ ๋ฌด์์ธ์ง๋ฅผ ๋ช ํํ ๊ฐ๋ฆฌํค๋ ์ด๋ฆฐ ๋ฌธ์ ๋ค์ด๋ค. Dexonomy, GraspVLA, DexGraspNet 2.0์ด ์ด๋ฏธ ๊ทธ ๊ธธ์ ๊ฑท๊ธฐ ์์ํ๊ณ , BODex๋ ๊ทธ๋ค ๋ชจ๋์ ์ถ๋ฐ์ ์ด ๋์๋ค.
๋ฑ์คํ ๋ฌ์ค ํธ๋ ์ฐ๊ตฌ๋ฅผ ํ๋ ์ฌ๋์ด๋ผ๋ฉด, BODex๋ฅผ ๋ชจ๋ฅด๊ณ 2025๋ ์ ์ง๋๊ฐ๋ ๊ฑด ์ด๋ ต๋ค.
์ฐธ๊ณ ์๋ฃ
- ํ๋ก์ ํธ ํ์ด์ง: https://pku-epic.github.io/BODex
- GitHub: https://github.com/JYChen18/BODex
- ๋ฐ์ดํฐ์ (HuggingFace): https://huggingface.co/datasets/JiayiChenPKU/BODex
- ๊ด๋ จ ๋
ผ๋ฌธ:
- DexGraspNet (Wan et al., 2023): ๋๊ท๋ชจ ํ์ง ๋ฐ์ดํฐ์ ์ ์ ๊ตฌ์
- FRoGGeR (Liu et al., 2023): ๋ฏธ๋ถ ๊ฐ๋ฅ force closure ์ ๊ทผ
- GraspQP (2025): ๋์๋ ๋ ๋ฆฝ ์ ์, MALA* ๊ธฐ๋ฐ
- Dexonomy (2025): ํ์ง ๋ถ๋ฅํ ๊ธฐ๋ฐ ๋ค์์ฑ ํ์ฅ
- GraspVLA (2025): BODex ํ์ดํ๋ผ์ธ์ ๊ธฐ๋ฐ์ผ๋ก ํ VLA ์ฐ๊ตฌ
- cuRobo (Sundaralingam et al., 2023): BODex์ ํต์ฌ ์ด๋ํ ์์ง