flowchart TD
subgraph DataGen["A. Dataset Generation (FEM in Isaac Gym)"]
O[Load object] --> G[Load gripper at grasp pose]
G --> C[Close gripper until contact]
C --> F[Ramp grasp force to threshold N]
F --> R[Record 50 frames per run:<br/>node deformation, rigid poses,<br/>stress, finger translation]
end
R --> GR
subgraph Graph["B. Graph Construction"]
GR[Nodes: gripper tetra vertices + object vertices] --> ME[Mesh edges:<br/>neighbor nodes within a body]
GR --> CE[Contact edges:<br/>object node to gripper node]
end
ME --> GNN
CE --> GNN
subgraph Model["C. GNN: Encode-Process-Decode"]
GNN[Encode node/edge features] --> MP[Multiple message-passing rounds]
MP --> DEC[Decode]
DEC --> OUT1[Deformation field]
DEC --> OUT2[Stress field]
end
๐Deformable Tactile Simulation with GNN
๐ Ping Review
๐ Ping โ A light tap on the surface. Get the gist in seconds.
๐ Ring Review
๐ Ring โ An idea that echoes. Grasp the core and its value.
์๋ก
์ โ์ด๊ฐ ์ผ์ ์๋ฎฌ๋ ์ด์ โ์ด ์ด๋ ๊ฒ ์ด๋ ค์ด๊ฐ
๋ก๋ด์ด ๋ฌผ๊ฑด์ ์ง์ ๋, ์๊ฐ๋ฝ ๋์์ ๋ฌด์จ ์ผ์ด ๋ฒ์ด์ง๋์ง ์ฐ๋ฆฌ๋ ์ฌ์ค ๊ฑฐ์ ๋ชจ๋ฆ ๋๋ค. ์ฌ๋์ ์ฌ๊ณผ๋ฅผ ์ฅ๋ฉด ์๋์ ์ด์ด ๋๋ฆฌ๊ณ , ๊ทธ ๋๋ฆผ์ ๋ถํฌ๋ก๋ถํฐ โ์ด ์ ๋๋ฉด ์ ๋จ์ด๋จ๋ฆฌ๊ฒ ๋คโ, โ๋ ์ธ๊ฒ ์ฅ๋ฉด ๋ฉ๋ค๊ฒ ๋คโ๋ฅผ ์ง๊ฐ์ ์ผ๋ก ์๋๋ค. GelSight ๊ฐ์ ์๊ฐ ๊ธฐ๋ฐ ์ด๊ฐ ์ผ์(visual tactile sensor)๋ ์ด ์ง๊ด์ ๋ก๋ด์๊ฒ ์ฃผ๋ ค๋ ์ฅ์น์ ๋๋ค. ๋ถ๋๋ฌ์ด ์ ค(gel) ํ๋ฉด์ด ๋ฌผ์ฒด์ ๋๋ฆฌ๋ฉด ๊ทธ ๋ณํ์ ๋ด๋ถ ์นด๋ฉ๋ผ๋ก ์ฐ์ด โ์ด๊ฐ ์ด๋ฏธ์งโ๋ก ๋ง๋ญ๋๋ค.
๋ฌธ์ ๋ ์ด ์ผ์๋ฅผ ์๋ฎฌ๋ ์ด์ ํ๋ ๊ฒ์ด ๋งค์ฐ ๋น์ธ๋ค๋ ์ ์ ๋๋ค. ์ด ๋ ผ๋ฌธ์ ์ด๊ฐ ์๋ฎฌ๋ ์ด์ ์ ๋ ๋ถ๋ถ์ผ๋ก ๋๋๋๋ค.
- ๋ฌผ๋ฆฌ(physics): ์ ค๊ณผ ๋ฌผ์ฒด๊ฐ ์ ์ดํ๋ฉด์ ์ค์ ๋ก ์ด๋ป๊ฒ ๋ณํ๋๊ณ , ์ด๋์ ์ผ๋ง๋ ์๋ ฅ(stress)์ด ๊ฑธ๋ฆฌ๋๊ฐ.
- ๋ ๋๋ง(rendering): ๊ทธ ๋ณํ์ผ๋ก๋ถํฐ ์นด๋ฉ๋ผ๊ฐ ๋ณด๋ ์ด๋ฏธ์ง๋ฅผ ๋ง๋ค์ด๋ด๋๊ฐ.
์ด ๋ ผ๋ฌธ์ ์ค์ง ๋ฌผ๋ฆฌ ๋ถ๋ถ๋ง ๋ค๋ฃน๋๋ค(๋ ๋๋ง์ ๋ฒ์ ๋ฐ). ๊ทธ๋ฆฌ๊ณ ๋ฌผ๋ฆฌ ์๋ฎฌ๋ ์ด์ ์ง์์ ํฌ๊ฒ ๋๋ก ๋๋ฉ๋๋ค.
- ๊ฐ์ฒด(rigid-body) ์๋ฎฌ๋ ์ด์ : ๋น ๋ฆ ๋๋ค. ๊ฐํํ์ต์ฒ๋ผ ๋๋์ ๋ฐ์ดํฐ๋ฅผ ๋ฝ์์ผ ํ ๋ ์ ๋ฆฌํฉ๋๋ค. ํ์ง๋ง ์ ค์ด ๋๋ฆฌ๋ ์ ๋จ๋ ฅ(shear)์ด๋ ๋ฏธ์ธ ๋ณํ์ ์ ๋๋ก ๋ชป ๋ด์ต๋๋ค. ์ฆ โํ์ค๊ฐโ์ด ๋จ์ด์ง๋๋ค.
- ์ฐ์ฒด(soft-body) ์๋ฎฌ๋ ์ด์ : ๋ณดํต ์ ํ์์๋ฒ(FEM, Finite Element Method)์ผ๋ก ํ๋๋ค. ์ ค๊ณผ ๋ฌผ์ฒด๋ฅผ ์์ ์ฌ๋ฉด์ฒด(tetrahedron) ์์๋ก ์๊ฒ ์ชผ๊ฐ๊ณ , ๊ฐ ์์๊ฐ ๋ฐ๋ ํ๊ณผ ๋ณํ์ ๋ฌผ๋ฆฌ ๋ฐฉ์ ์์ผ๋ก ์ ๋ฐํ๊ฒ ๊ณ์ฐํฉ๋๋ค. ํ์ค๊ฐ์ ๋ฐ์ด๋์ง๋ง, ๊ฐ์ฒด ๋๋น ์๋ฐฑ~์์ฒ ๋ฐฐ ๋๋ฆฝ๋๋ค. ๊ทธ๋์ ์ค์๊ฐ ์ ์ด๋ ๋๊ท๋ชจ ๋ฐ์ดํฐ ์์ฑ์๋ ์ฌ์ค์ ๋ชป ์๋๋ค.
๋น์ ํ์๋ฉด, FEM์ โ์ ๋ต์ ์์ง๋ง ์ํ ์๊ฐ์ด ๋๋๋๋ก ํ ๋ฌธ์ ๋ ๋ค ๋ชป ํธ๋ ์ฐ๋ฑ์โ์ด๊ณ , ๊ฐ์ฒด ์๋ฎฌ๋ ์ด์ ์ โ๋์ถฉ ์ฐ์ด์ ๋นจ๋ฆฌ ๋ด์ง๋ง ์ ๋ฐ์ ํ๋ฆฌ๋ ํ์โ์ ๋๋ค. ์ด ๋ ผ๋ฌธ์ ๋ชฉํ๋ FEM์ ์ ๋ต์ ํ๋ด ๋ด๋ ๊ฐ์ฒด๋งํผ ๋น ๋ฅธ ์ 3์ ํ์์ ๋ง๋๋ ๊ฒ์ ๋๋ค.
ํต์ฌ ์์ด๋์ด ํ ์ค ์์ฝ
FEM์ผ๋ก ์ ๋ต ๋ฐ์ดํฐ๋ฅผ ๋ง๋ค์ด ๋๊ณ , ๊ทธ๋ํ ์ ๊ฒฝ๋ง(GNN)์๊ฒ โFEM์ด๋ผ๋ฉด ์ด๋ป๊ฒ ๋ณํยท์๋ ฅ์ ์ค์งโ๋ฅผ ํ์ต์ํจ๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก FEM ๋๋น 10^2 \sim 10^3๋ฐฐ ๋น ๋ฅด๋ฉด์๋ ๋ณํ๊ณผ ์๋ ฅ์ ๋์์ ์์ธกํ๋ค.
์ด ๋ ผ๋ฌธ์ ๊ธฐ์ฌ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ์๊ฐ ์ด๊ฐ ์ผ์ ์๋ฎฌ๋ ์ด์ ์ GNN ๊ธฐ๋ฐ ๋ฌผ๋ฆฌ ํ์ต์ ์ฒ์์ผ๋ก ์ ์ฉํ ์ฐ๊ตฌ์ ๋๋ค. (๊ธฐ์กด GNN ๋ฌผ๋ฆฌ ํ์ต์ ๋ณํ ๋ฌผ์ฒด ์์ฒด์ ์ง์คํ์ง, ์ผ์๋ฅผ ๋ค๋ฃจ์ง๋ ์์์ต๋๋ค.)
- FEM ๋๋น 10^2~10^3๋ฐฐ ๊ฐ์ํ๋ฉด์, ํ์ต ๋ ๋ณด์ง ๋ชปํ ๊ทธ๋ฆฝ ์์ธ(unseen grasping pose)๋ก๋ ์ผ๋ฐํํ๋ ์์ธก ํ๋ ์์ํฌ๋ฅผ ์ ์ํฉ๋๋ค.
์ ์๋ Centrale Lyon(LIRIS)๊ณผ TU Darmstadt(IAS Lab) ์ฐ๊ตฌ์ง(Guillaume Duret, Danylo Mazurak, Frederik Heller, Florence Zara, Jan Peters, Liming Chen)์ด๋ฉฐ, ์ฝ๋๋ tacgraspnets.github.io์ ๊ณต๊ฐ๋์ด ์์ต๋๋ค. ๋ณธ ์ํฌ์ ๋ ผ๋ฌธ์ ๋์ผ ๊ทธ๋ฃน์ ์ ํ ์ฐ๊ตฌ ๋ ํธ(๋ฐ์ดํฐ ์์ฑ ํ์ดํ๋ผ์ธ TacGraspSim, ๊ทธ๋ฆฌ๊ณ โInductive Biasesโ GNN ๊ฐ์ ์ฐ๊ตฌ)์ ์ด๊ฐ ์ผ์ ์๋ฎฌ๋ ์ด์ ์ผ๋ก ํ์ฅํ ์์ ์ ๋๋ค.
๋ฐฉ๋ฒ
์ ์ฒด ๊ทธ๋ฆผ์ โ๋ฐ์ดํฐ ๋ง๋ค๊ธฐ โ ๊ทธ๋ํ๋ก ๋ฐ๊พธ๊ธฐ โ GNN์ผ๋ก ์์ธกํ๊ธฐโ์ 3๋จ์ ๋๋ค. ๋จผ์ ํฐ ๊ทธ๋ฆผ์ ๋ณด๊ฒ ์ต๋๋ค.
1๋จ๊ณ: FEM์ผ๋ก ์ ๋ต ๋ฐ์ดํฐ ๋ง๋ค๊ธฐ
GNN์ ์ง๋ํ์ต ๋ชจ๋ธ์ด๋ฏ๋ก โ์ ๋ตโ์ด ํ์ํฉ๋๋ค. ๊ทธ ์ ๋ต์ FEM์ด ๋ง๋ค์ด ์ค๋๋ค.
- ์๋ฎฌ๋ ์ดํฐ: NVIDIA Isaac Gym(GPU ๊ธฐ๋ฐ ๊ณ ์ฑ๋ฅ ๋ฌผ๋ฆฌ ์์ง) ์์์ FEM์ ๋๋ฆฝ๋๋ค.
- ๊ธฐ๋ฐ: DefGraspSim(3D ๋ณํ ๋ฌผ์ฒด์ ๊ทธ๋ฆฝ ๊ฒฐ๊ณผ๋ฅผ FEM์ผ๋ก ์๋ฎฌ๋ ์ด์ ํ๋ ์ ํ ์ฐ๊ตฌ)์ ๊ฐ์ ธ์ค๋, ์ ์ ๊ทธ๋ฆฝ์ด ์๋๋ผ ๋์ ๊ทธ๋ฆฝ(dynamic grasping) ์๋๋ฆฌ์ค๋ก ํ์ฅํ ์์ฒด ํ์ดํ๋ผ์ธ TacGraspSim์ ์๋๋ค.
- ํ๋์จ์ด ์ค์ : ํํ ๊ทธ๋ฆฌํผ(parallel gripper)์ GelSight Mini ์ด๊ฐ ์ผ์๋ฅผ URDF๋ก ๋ชจ๋ธ๋งํด์ ๋ถ์์ต๋๋ค.
๋ฐ์ดํฐ ํ ๋ฒ ๋ฝ๋ ์ ์ฐจ๋ ์ด๋ ์ต๋๋ค.
- ๋ฌผ์ฒด๋ฅผ ๋ถ๋ฌ์จ๋ค.
- ๊ทธ๋ฆฌํผ๋ฅผ ๊ทธ๋ฆฝ ์์น์ ๋๋๋ค.
- ์ ์ดํ ๋๊น์ง ๊ทธ๋ฆฌํผ๋ฅผ ๋ซ๋๋ค.
- ๊ทธ๋ฆฝ ํ์ ์๊ณ๊ฐ N๊น์ง ์์ํ ํค์ฐ๋ฉด์ ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋กํ๋ค.
ํ ๋ฒ์ ์คํ(run)๋ง๋ค 50ํ๋ ์์ ์ ์ฅํ๋ฉฐ, ๊ฐ ํ๋ ์์์ (i) ๋ ธ๋๋ณ ๋ณํ(node-wise deformation), (ii) ๊ฐ์ฒด ์์ธ(rigid body pose), (iii) ์๋ ฅ ๋ถํฌ(stress distribution), (iv) ๊ทธ๋ฆฌํผ ์๊ฐ๋ฝ ์ด๋๋(finger translation)์ ๊ธฐ๋กํฉ๋๋ค. ๋ฐ์ดํฐ์ ์ 10์ข ์ ๋ฌผ์ฒด ร ๋ฌผ์ฒด๋น 100๊ฐ์ ๊ทธ๋ฆฝ ์์ธ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค(์ฌ๊ณผ, ๊ฐ์, ๋ ๋ชฌ, ์ค์ด, ๋ธ๊ธฐ ๋ฑ ์๋ฃํ๋ฅ ํ์).
2๋จ๊ณ: ๋ฉ์๋ฅผ ๊ทธ๋ํ๋ก ๋ฐ๊พธ๊ธฐ โ ์ GNN์ธ๊ฐ
GNN์ ์ ํํ ์ด์ ๋ ์ง๊ด์ ์ ๋๋ค. FEM์ ๋ฉ์ ์์ฒด๊ฐ ์ด๋ฏธ ๊ทธ๋ํ์ด๊ธฐ ๋๋ฌธ์ ๋๋ค.
- FEM์ ๋ฌผ์ฒด๋ฅผ ์ฌ๋ฉด์ฒด ์์๋ค์ ๊ทธ๋ฌผ๋ง์ผ๋ก ์๊ฒ ๋๋๋๋ค. ๊ฐ ๊ผญ์ง์ (vertex)์ ๊ทธ๋ํ์ ๋ ธ๋(node), ์ธ์ ๊ผญ์ง์ ์ ์๋ ๋ณ์ ๊ทธ๋ํ์ ์ฃ์ง(edge)๋ก ์์ฐ์ค๋ฝ๊ฒ ๋์๋ฉ๋๋ค.
- ๋ ๊ฒฐ์ ์ ์ผ๋ก, GNN์ ๋ฉ์์ง ์ ๋ฌ(message passing)์ FEM์์ ํ์ด ์ด์ ์์๋ก ์ ํ๋๋ ๊ณผ์ ๊ณผ ๋ฎ์์ต๋๋ค. FEM์์ ํ ๊ณณ์ ๋๋ฅด๋ฉด ๊ทธ ํ์ด ์ธ์ ์์๋ฅผ ํตํด ์์ผ๋ก, ๋ ์์ผ๋ก ํผ์ ธ ๋๊ฐ๋๋ค. GNN์์ ํ ๋ ธ๋์ ์ ๋ณด๊ฐ ๋ฉ์์ง๋ฅผ ํตํด ์ด์ ๋ ธ๋๋ก ํผ์ง๋ ๊ฒ๊ณผ ๊ตฌ์กฐ์ ์ผ๋ก ๋์ผํฉ๋๋ค. ์ด๊ฒ์ด ์ด ๋ ผ๋ฌธ์ด ๊ฐ์กฐํ๋ ๊ท๋ฉ ํธํฅ(inductive bias)์ ํต์ฌ์ ๋๋ค. ์ฆ โ๋ฌผ๋ฆฌ์ ์ผ๋ก ์ ๋ณด๊ฐ ๊ตญ์์ ์ผ๋ก ์ ํ๋๋คโ๋ ์ฌ์ค์ ๋ชจ๋ธ ๊ตฌ์กฐ์ ์ฒ์๋ถํฐ ๋ฐ์ ๋ฃ์ ๊ฒ์ ๋๋ค.
๊ทธ๋ํ ๊ตฌ์ฑ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ๋ ธ๋: ๊ทธ๋ฆฌํผ(์ ค์ ์ฌ๋ฉด์ฒด ๋ฉ์ ๊ผญ์ง์ )์ ๋ฌผ์ฒด ํ์์ ๋ ธ๋๋ฅผ ๋ชจ๋ ํฌํจํฉ๋๋ค.
- ๋ ์ข
๋ฅ์ ์ฃ์ง:
- ๋ฉ์ ์ฃ์ง(mesh edge): ํ ๋ฌผ์ฒด ๋ด๋ถ์ ์ด์ ๋ ธ๋๋ฅผ ์ฐ๊ฒฐํฉ๋๋ค. โ โ์ด ๋ชธ์ฒด๋ ์ด๋ป๊ฒ ์๊ฒผ๋๊ฐโ๋ผ๋ ๊ธฐํ ์ ๋ณด๋ฅผ ๋ด์.
- ์ ์ด ์ฃ์ง(contact edge): ๋ฌผ์ฒด ๋ ธ๋์ ๊ทธ๋ฆฌํผ ๋ ธ๋๋ฅผ ์ฐ๊ฒฐํฉ๋๋ค. โ โ์ด๋์ ๋ฟ์๊ณ ์ผ๋ง๋ ํ์ด ๊ฑธ๋ฆฌ๋๊ฐโ๋ผ๋ ์ ์ด/ํ ์ ๋ณด๋ฅผ ๋ด์.
์ด๋ ๊ฒ ์ฃ์ง๋ฅผ ๋๋ก ๋ถ๋ฆฌํ ๊ฒ ์ญ์ ๊ท๋ฉ ํธํฅ์ ๋๋ค. โ๋ฌผ์ฒด ๋ด๋ถ์ ๋ณํ ์ ํโ์ โ๋ฌผ์ฒด-๊ทธ๋ฆฌํผ ์ฌ์ด์ ์ ์ด๋ ฅโ์ ๋ณธ์ง์ด ๋ค๋ฅธ ์ํธ์์ฉ์ด๋ฏ๋ก ๋ค๋ฅธ ์ฃ์ง ํ์ ์ผ๋ก ๊ตฌ๋ถํด ์ฃผ๋ฉด ํ์ต์ด ์ฌ์์ง๋๋ค.
| ๊ทธ๋ํ ์์ | ๋ฌด์์ ๋ด๋๊ฐ | ๋ฌผ๋ฆฌ์ ์๋ฏธ |
|---|---|---|
| ๋ ธ๋(node) | ๊ธฐํ ์ํ(state), ํ์ (type), ์ด๋ ๋จ์(motion cue) | โ์ด ์ ์ ์ ค์ธ๊ฐ ๋ฌผ์ฒด์ธ๊ฐ, ์ง๊ธ ์ด๋ ์๊ณ ์ด๋๋ก ์์ง์ด๋โ |
| ๋ฉ์ ์ฃ์ง | ๊ธฐํ ์ ๋ณด(geometric) | โํ ๋ชธ์ฒด ๋ด๋ถ์ ์ด์ ์ฐ๊ฒฐ = ํ์โ |
| ์ ์ด ์ฃ์ง | ํ ์ ํธ(force) | โ๋ฌผ์ฒด์ ๊ทธ๋ฆฌํผ๊ฐ ๋ฟ๋ ๊ณณ์ ์ํธ์์ฉโ |
3๋จ๊ณ: GNN ๋ชจ๋ธ โ Encode-Process-Decode
๋ชจ๋ธ์ ๋ฌผ๋ฆฌ ํ์ต GNN์ ํ์ค ๊ณจ๊ฒฉ์ธ Encode-Process-Decode ๊ตฌ์กฐ๋ฅผ ๋ฐ๋ฆ ๋๋ค.
- Encode: ๊ฐ ๋
ธ๋์ ์ฃ์ง์ ์์ ํน์ง(feature)์ ์ ์ฌ ๋ฒกํฐ(latent vector)๋ก ์ธ์ฝ๋ฉํฉ๋๋ค.
- ๋ ธ๋ ํน์ง: ๊ธฐํ ์ํ + ๋ ธ๋ ํ์ + ์ด๋ ๋จ์.
- ์ฃ์ง ํน์ง: ๋ฉ์ ์ฃ์ง๋ ๊ธฐํ ์ ๋ณด, ์ ์ด ์ฃ์ง๋ ํ ์ ํธ.
- Process: ์ฌ๋ฌ ๋ฒ์ ๋ฉ์์ง ์ ๋ฌ ๋ผ์ด๋(multiple message-passing rounds)๋ฅผ ๋๋ฆฝ๋๋ค. ๊ฐ ๋ผ์ด๋์์ ๋ ธ๋๋ ์ด์์ผ๋ก๋ถํฐ ๋ฉ์์ง๋ฅผ ๋ชจ์ ์๊ธฐ ์ํ๋ฅผ ๊ฐฑ์ ํฉ๋๋ค. ๋ผ์ด๋๋ฅผ ๊ฑฐ๋ญํ ์๋ก ์ ๋ณด๊ฐ ๊ทธ๋ํ ์ ์ฒด๋ก ํผ์ ธ ๋๊ฐ๋ฉฐ, ์ด๊ฒ์ด FEM์ ํ ์ ํ๋ฅผ ํ๋ด ๋ ๋๋ค.
- Decode: ์ต์ข ๋ ธ๋ ํํ์ผ๋ก๋ถํฐ ๋ณํ(deformation)๊ณผ ์๋ ฅ(stress)์ ๋์์ ์ถ๋ ฅํฉ๋๋ค.
๋ฉ์์ง ์ ๋ฌ์ ์ง๊ด์ ์ธ ์์ฌ์ฝ๋๋ก ํํํ๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค(๊ฐ๋ ์ค๋ช ์ฉ).
# Encode-Process-Decode, conceptual
h_v = encode_node(features_v) for each node v
h_e = encode_edge(features_e) for each edge e (mesh or contact)
for round in 1..K: # multiple message-passing rounds
for each edge e = (u, v):
m_e = edge_update(h_e, h_u, h_v) # build message along the edge
for each node v:
agg = aggregate(m_e for e incident to v)
h_v = node_update(h_v, agg) # update node from neighbors
deformation_v = decode_def(h_v) for each node v
stress = decode_stress(...) # predicted as field over the body์ด ๋ ผ๋ฌธ์ ๋ชจํ๊ฐ ๋ ์ ํ ์ฐ๊ตฌ(โInductive Biases โฆโ ๋ ผ๋ฌธ)๋ ํ์ค GNN(DefGraspNets)์ ๋ ๊ฐ์ง ๊ท๋ฉ ํธํฅ์ ๋ํ์ต๋๋ค. ๋ณธ ๋ ผ๋ฌธ์ ๊ทธ ๊ฐ์ ํ์ ๊ธฐ๋ฐ(baseline)์ผ๋ก ์ผ์ต๋๋ค.
- ์ฌ๋ฉด์ฒด ๋จ์ ํน์ง(tetrahedral features): ์๋ ฅ์ ๊ผญ์ง์ (vertex)์ด ์๋๋ผ ์ฌ๋ฉด์ฒด ์์ ์์ฒด์์ ์์ธกํฉ๋๋ค. FEM์ด ๋ณธ๋ ์์ ๋จ์๋ก ์๋ ฅ์ ๊ณ์ฐํ๋ฏ๋ก, ์์ธก์ ๊ทธ ๋ฌผ๋ฆฌ ๋ชจ๋ธ์ ์ ๋ ฌ์์ผ ๋ ์ฌ์ค์ ์ธ ๊ฒฐ๊ณผ๋ฅผ ๋ ๋๋ค.
- ์ ์ญ ํน์ง ์ง๋ฆ๊ธธ(global feature shortcut): ๋ฉ์ ํด์๋๊ฐ ๋๊ณ ๋ฉ์์ง ์ ๋ฌ ๋ผ์ด๋ ์๊ฐ ์ ์ผ๋ฉด, ์ ๋ณด๊ฐ ๊ทธ๋ํ ๋๊น์ง ๋ชป ํผ์ง๋ ํ๊ณ๊ฐ ์๊น๋๋ค. ์ ์ญ ํน์ง์ ๊ทธ๋ํ ์ ์ฒด์ ๊ด๋ จ๋ ์ ๋ณด๋ฅผ ๊ณง์ฅ ์ ๋ฌํ๋ ์ง๋ฆ๊ธธ ์ญํ ์ ํด ์ด ๋ฌธ์ ๋ฅผ ์ํํฉ๋๋ค.
์ ๋ ฅ ๊ตฌ์ฑ์ ๋ํ ์ ์ (ablation): force-only vs. translation
์ ์๋ ๋ ๊ฐ์ง ์ ๋ ฅ ๋ฐฉ์์ ๋น๊ตํฉ๋๋ค. ์ด ๋น๊ต๊ฐ ๊ฒฐ๊ณผ๋ฅผ ์ดํดํ๋ ๋ฐ ์ค์ํฉ๋๋ค.
- Force-only ์ ๋ ฅ: ๊ทธ๋ฆฝ ํ๋ง ์ฃผ๊ณ , ๋ชจ๋ธ์ด ์๊ฐ๋ฝ ์ด๋๋(translation)๊ณผ ๋ณํ์ ๋ ๋ค ์์ธกํด์ผ ํฉ๋๋ค. โ ๋ ์ด๋ ค์ด ๊ณผ์ .
- Translation ์ ๋ ฅ: ์๊ฐ๋ฝ ์ด๋๋์ ๋ฏธ๋ฆฌ ์๋ ค์ฃผ๊ณ , ๋ชจ๋ธ์ ๋ณํ๋ง ์์ธกํฉ๋๋ค. โ ๋ ์ฌ์ด ๊ณผ์ .
์ง๊ด์ ์ผ๋ก, ์๊ฐ๋ฝ์ด ์ผ๋ง๋ ๋ค์ด๊ฐ๋์ง๋ฅผ ์๋ ค์ฃผ๋ฉด โ๊ทธ ๊ฒฐ๊ณผ ์ ค์ด ์ด๋ป๊ฒ ๋๋ฆฌ๋โ๋ง ํ๋ฉด ๋๋ ํ์ต์ด ๋จ์ํด์ง๋๋ค. ๊ฒ๋ค๊ฐ ์ค์ ๋ก๋ด ์ ์ด์์๋ ์์น ๋ช ๋ น์ ์ฃผ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ผ๋ฏ๋ก, translation ์ ๋ ฅ ๋ฐฉ์์ด sim-to-real ์ ์ด์๋ ๋ ์ ๋ฆฌํ๋ค๊ณ ์ ์๋ ์ฃผ์ฅํฉ๋๋ค.
์คํ
์ค์
- ๋ฐ์ดํฐ: 10์ข ๋ฌผ์ฒด ร 100 ๊ทธ๋ฆฝ ์์ธ, ์คํ๋น 50ํ๋ ์.
- ์ ๋ต(ground truth): Isaac Gym FEM ์๋ฎฌ๋ ์ด์ .
- ํ๊ฐ ์งํ: ๋ณํ MAE(Mean Deformation MAE)์ ์๋ ฅ MAE(Mean Stress MAE). MAE๋ ํ๊ท ์ ๋ ์ค์ฐจ๋ก, ์์ธก๊ณผ ์ ๋ต์ ์ฐจ์ด๋ฅผ ์ ๋๊ฐ ํ๊ท ํ ๊ฐ์ด๋ฉฐ ์์์๋ก ์ข์ต๋๋ค.
- ์คํ ๋จ๊ณ: (1) ๋จ์ผ ๋ฌผ์ฒด ํ์ต โ ๊ฐ์ ํ์์ ๋ณด์ง ๋ชปํ ๊ทธ๋ฆฝ ์์ธ๋ก ์ผ๋ฐํ ๊ฒ์ฆ, (2) ๋ค์ค ๋ฌผ์ฒด ํ์ต โ ๋ฌผ์ฒด๋น ๊ทธ๋ฆฝ ์์ธ์ 80%๋ก ํ์ตํ๊ณ ๋๋จธ์ง 20%๋ก ํ ์คํธ.
๊ฒฐ๊ณผ 1: ๋จ์ผ ๋ฌผ์ฒด โ ๋ณด์ง ๋ชปํ ์์ธ๋ก ์ผ๋ฐํ
| Class | Translation ์ ๋ ฅ | ๋ณํ MAE | ์๋ ฅ MAE |
|---|---|---|---|
| potato | True | 6.57e-05 | 372.7 |
| potato | False | 2.92e-04 | 382.8 |
| apple | True | 7.20e-05 | 370.5 |
| apple | False | 2.97e-04 | 427.9 |
| lemon | True | 5.40e-05 | 212.1 |
| lemon | False | 2.38e-04 | 265.6 |
(๊ตต์ ๊ธ์จ๊ฐ ๋ ์ข์ ์ฑ๋ฅ. ์ถ์ฒ: ๋ ผ๋ฌธ Table I.)
ํด์: translation ์
๋ ฅ์ ์ฃผ๋ฉด ๋ณํ MAE๊ฐ ํ ์๋ฆฟ์(์ฝ 4~5๋ฐฐ) ์ค์ด๋ญ๋๋ค. ์๋ฅผ ๋ค์ด ๊ฐ์๋ 2.92e-04 โ 6.57e-05. ์๋ ฅ ์ค์ฐจ๋ ์ค์ง๋ง ๋ณํ๋งํผ ๊ทน์ ์ด์ง๋ ์์ต๋๋ค. ์ฆ โ์ด๋๋์ ์๋ ค์ฃผ๋ ๊ฒโ์ด ๋ณํ ์์ธก ๋์ด๋๋ฅผ ํฌ๊ฒ ๋ฎ์ถ๋ค๋ ์ง๊ด์ด ์์น๋ก ํ์ธ๋ฉ๋๋ค. ํต์ฌ์, ๊ฐ์ ๋ฌผ์ฒด๋ผ๋ ํ์ต ๋ ๋ณด์ง ๋ชปํ ๊ทธ๋ฆฝ ์์ธ์์ ์ ์๋ํ๋ค๋ ์ ์
๋๋ค.
๊ฒฐ๊ณผ 2: ๋ค์ค ๋ฌผ์ฒด โ ํ์ ๊ฐ ์ผ๋ฐํ
| Class | Translation ์ ๋ ฅ | ๋ณํ MAE | ์๋ ฅ MAE |
|---|---|---|---|
| Average | True | 6.30e-05 | 360.3 |
| Average | False | 2.69e-04 | 420.2 |
(10๊ฐ ๋ฌผ์ฒด ํ๊ท . ์ถ์ฒ: ๋ ผ๋ฌธ Table II.)
ํด์: 10์ข ๋ฌผ์ฒด๋ก ํ๊บผ๋ฒ์ ํ์ตํ์ ๋์ ํ๊ท ์ค์ฐจ๊ฐ ๋จ์ผ ๋ฌผ์ฒด ํ์ต๊ณผ ๊ฑฐ์ ๊ฐ์ ๋ฒ์์ ๋จธ๋ญ ๋๋ค(๋ณํ 6.30e-05 vs. ๋จ์ผ ํ๊ท 6e-05๋). ์ฆ ๋ฌผ์ฒด ์ข ๋ฅ๋ฅผ ๋๋ ค๋ ์ฑ๋ฅ์ด ๋ฌด๋์ง์ง ์๊ณ , ์ฌ๋ฌ ํ์์ ๊ฑธ์ณ ์ผ๋ฐํ๋๋ค๋ ๋ป์ ๋๋ค. ์ฌ๊ธฐ์๋ translation ์ ๋ ฅ์ด ์ผ๊ด๋๊ฒ ๋ ์ข์ต๋๋ค.
์๋
๊ฐ์ฅ ์ธ์์ ์ธ ๊ฒฐ๊ณผ๋ ์๋์ ๋๋ค. GNN์ FEM ๋๋น 10^2~10^3๋ฐฐ ๋น ๋ฆ ๋๋ค. ์ ํ๋๋ FEM ์ ๋ต์ ๊ฒฌ์ค ๋งํ ์์ค์ ์ ์งํ๋ฉด์์. ์ด ์ ๋๋ฉด ๊ฐํํ์ต์ฉ ๋๊ท๋ชจ ๋ฐ์ดํฐ ์์ฑ, ์ค์๊ฐ ํ๋ฃจํ(closed-loop) ์ด๊ฐ ์ ์ด, ๊ทธ๋ฆฝ ๊ณํ(grasp planning) ๊ฐ์ ๊ณณ์ ์ค์ ๋ก ์ธ ์ ์๋ ์์ญ์ ๋ค์ด์ต๋๋ค.
๊ทธ๋ฆผ 1(๋ ผ๋ฌธ)์ ๋ํ ์ค๋ช : ์์ค์ FEM์ด ๊ณ์ฐํ ์ ๋ต ์๋ ฅยท๋ณํ, ์๋ซ์ค์ GNN ์์ธก์ ์ฌ๋ฌ ๊ทธ๋ฆฝ ์์ธ์์ ๋๋ํ ๋ณด์ฌ ์ค๋๋ค. ์์ผ๋ก ์น ํด์ง ์๋ ฅ ๋ถํฌ์ ์์น์ ๊ฐ๋๊ฐ ๋ ์ค์์ ์๊ฐ์ ์ผ๋ก ๊ฑฐ์ ์ผ์นํฉ๋๋ค. โ๋น ๋ฅด๊ฒ ๋ฝ์ ์์ธก์ด ์ ๋ฐ ์๋ฎฌ๋ ์ด์ ๊ณผ ๋์ผ๋ก ๋ด๋ ๋น์ทํ๋คโ๋ ๊ฒ์ด ํต์ฌ ๋ฉ์์ง์ ๋๋ค.
๋นํ์ ๊ณ ์ฐฐ
๊ฐ์
- ๋ช ํํ ๋ฌธ์ ์ ์์ ๊น๋ํ ๋ฐ์: โFEM ๋ฉ์ = ๊ทธ๋ํ, ํ ์ ํ = ๋ฉ์์ง ์ ๋ฌโ์ด๋ผ๋ ๋์์ ์ฐ์ํ๊ณ , ๋ฌผ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ๋ชจ๋ธ์ ๋ฐ์ ๋ฃ๋(๊ท๋ฉ ํธํฅ) ๋ฐฉํฅ์ด ์ณ์ต๋๋ค. ๋ฐ์ดํฐ์์ ๋ชจ๋ ๊ฒ์ ์ง๋ด๋ ค๋ ๋ฌด์ง์ฑ ์ ๊ทผ๋ณด๋ค ํ๋ณธ ํจ์จ์ด ์ข์ ๊ฐ๋ฅ์ฑ์ด ํฝ๋๋ค.
- ๋ณํ๊ณผ ์๋ ฅ์ ๋์์ ์์ธก: ๋จ์ ํ์ ๋ณํ๋ฟ ์๋๋ผ ์๋ ฅ ๋ถํฌ๊น์ง ๋ด๋๋๋ค๋ ์ ์ด ์ด๊ฐ ์์ฉ์์ ํนํ ์ค์ํฉ๋๋ค. ์๋ ฅ์ ๋ฏธ๋๋ฌ์ง ์์ธก์ด๋ ํ์ ๋ฐฉ์ง(์: ๊ณผ์ผ์ด ๋ฉ๋๋์ง)์ ์ง๊ฒฐ๋ฉ๋๋ค.
- ์ค์ฉ์ ์ ๋ ฅ ์ค๊ณ: translation ์ ๋ ฅ ๋ฐฉ์์ด sim-to-real ์ ๋ ฌ๊ณผ ํ์ต ๋จ์ํ๋ฅผ ๋์์ ์ก๋๋ค๋ ํต์ฐฐ์ ์ค๋ฌด์ ์ผ๋ก ๊ฐ์น๊ฐ ์์ต๋๋ค.
- ์ฌํ์ฑ: ์ฝ๋์ ๋ฐ์ดํฐ ์์ฑ ํ์ดํ๋ผ์ธ์ ๊ณต๊ฐํ์ต๋๋ค.
์ฝ์ ยทํ๊ณ
- ์ ๋ฌผ์ฒดยท์ ์ผ์๋ก์ ์ผ๋ฐํ๋ ๋ฏธ๊ฒ์ฆ: ์ ์ ์ค์ค๋ก ์ฒซ ๋ฒ์งธ ํ๊ณ๋ก ์ธ์ ํฉ๋๋ค. ์คํ์ ์๋ฃํ๋ฅ ํ์ 10์ข ์ ํ์ ๋๋ฉฐ, ํ์์ด๋ ์ฌ์ง์ด ํฌ๊ฒ ๋ค๋ฅธ ๋ฌผ์ฒด, ํน์ GelSight Mini๊ฐ ์๋ ๋ค๋ฅธ ์ผ์(DIGIT ๋ฑ)๋ก์ ์ ์ด๋ ๋ณด์ฌ ์ฃผ์ง ๋ชปํ์ต๋๋ค.
- ์ค๋ ฅ ๋ฌด์: ํ์ฌ ๊ตฌํ์ ์ค๋ ฅ ํจ๊ณผ๋ฅผ ๋ฌด์ํฉ๋๋ค. ๋์ ๊ทธ๋ฆฝ์์ ๋ฌผ์ฒด ๋ฌด๊ฒ์ ๋ฐ๋ฅธ ํ ๋ถํฌ ๋ณํ๊ฐ ์์ธก์ ์ํฅ์ ์ค ์ ์๋๋ฐ, ์ด๊ฒ์ด ๋ฐ์๋์ง ์์์ต๋๋ค.
- ์ํฌ์ ๋จ๊ณ์ ์ ํ๋ ํ๊ฐ: ๋ฒ ์ด์ค๋ผ์ธ ๋น๊ต๊ฐ self-baseline(์์ฒด ์ ๋ ฅ ๊ตฌ์ฑ ablation) ์ค์ฌ์ด๊ณ , ์ธ๋ถ ๋ฐฉ๋ฒ(์: ๊ฐ์ฒด ์๋ฎฌ๋ ์ด์ , ๋ค๋ฅธ ํ์ต ๊ธฐ๋ฐ ์ด๊ฐ ์๋ฎฌ๋ ์ดํฐ)๊ณผ์ ์ง์ ์ ์ ๋ ๋น๊ต๋ ๋ถ์กฑํฉ๋๋ค. ์๋ 10^2~10^3๋ฐฐ ์ญ์ ์ธก์ ์กฐ๊ฑด(๋ฉ์ ํด์๋, ํ๋์จ์ด, FEM ์๋ฒ ์ค์ )์ด ๋ณธ๋ฌธ์ ์ ๋ฐํ๊ฒ ๋ช ์๋์ง ์์์ต๋๋ค. (์ถ์ธก) ๊ฒฐ๊ณผ์ ์ผ๋ฐ์ฑ์ ๋จ์ ํ๊ธฐ์๋ ํ๋ณธ๊ณผ ๋น๊ต๊ตฐ์ด ์ข์ต๋๋ค.
- ์๋ ฅ MAE ์ ๋๊ฐ์ ํด์ ์ฌ์ง: ๋ณํ MAE๋ translation ์ ๋ ฅ์ผ๋ก ํฌ๊ฒ ๊ฐ์ ๋์ง๋ง ์๋ ฅ MAE ๊ฐ์ ํญ์ ์๋์ ์ผ๋ก ์์ต๋๋ค. ์๋ ฅ์ด ๋ณํ๋ณด๋ค ๋ณธ์ง์ ์ผ๋ก ํ์ต์ด ์ด๋ ต๋ค๋ ์ ํธ์ผ ์ ์์ผ๋ฉฐ, ์๋ ฅ ์ ํ๋๊ฐ ์ถฉ๋ถํ์ง๋ ๋ค์ด์คํธ๋ฆผ ๊ณผ์ (๋ฏธ๋๋ฌ์ง ๊ฐ์ง ๋ฑ)์์์ ๊ฒ์ฆ์ด ํ์ํฉ๋๋ค.
- ๋ ๋๋ง ๋ฏธํฌํจ: โ์ด๊ฐ ์ด๋ฏธ์งโ๊น์ง ๋ง๋ค์ด์ผ ์ง์ง ์๊ฐ ์ด๊ฐ ์ผ์ ์๋ฎฌ๋ ์ดํฐ์ ๋๋ค. ๋ณธ ์ฐ๊ตฌ๋ ๋ฌผ๋ฆฌ ์ธต๊น์ง๋ง์ด๋ฏ๋ก, ์ค์ GelSight ์ด๋ฏธ์ง๋ฅผ ์ฐ๋ ์ ์ฑ ์ ๋ฐ๋ก ๊ฝ์ผ๋ ค๋ฉด ์ถ๊ฐ ๋ ๋๋ง ๋จ๊ณ๊ฐ ํ์ํฉ๋๋ค.
์์ฝ ๋ฐ ๊ฒฐ๋ก
์ด ๋ ผ๋ฌธ์ โFEM์ ์ ํํ์ง๋ง ๋๋ฌด ๋๋ฆฌ๋คโ๋ ์๊ฐ ์ด๊ฐ ์ผ์ ์๋ฎฌ๋ ์ด์ ์ ๊ณ ์ง์ ๋ณ๋ชฉ์, ๊ทธ๋ํ ์ ๊ฒฝ๋ง์ผ๋ก FEM์ ๋ชจ์ฌํด ํธ๋ ๊น๋ํ ์ ๊ทผ์ ๋ณด์ฌ ์ค๋๋ค. FEM ๋ฉ์๋ฅผ ๊ทธ๋ํ๋ก ๋ณด๊ณ , ๋ฉ์์ง ์ ๋ฌ์ ํ ์ ํ์ ๋์์ํค๋ฉฐ, ๋ฉ์ ์ฃ์ง/์ ์ด ์ฃ์ง ๋ถ๋ฆฌ์ ์ฌ๋ฉด์ฒด ๋จ์ ์๋ ฅ ์์ธก ๊ฐ์ ๋ฌผ๋ฆฌ์ ๊ท๋ฉ ํธํฅ์ ์ฌ์ ๊ฒ์ด ํต์ฌ์ ๋๋ค.
๊ฒฐ๊ณผ์ ์ผ๋ก FEM ๋๋น 10^2~10^3๋ฐฐ ๋น ๋ฅด๋ฉด์ ๋ณํ๊ณผ ์๋ ฅ์ ๋์์ ์์ธกํ๊ณ , ๋ณด์ง ๋ชปํ ๊ทธ๋ฆฝ ์์ธ์ ์ฌ๋ฌ ๋ฌผ์ฒด ํ์์ ์ผ๋ฐํํฉ๋๋ค. ์๊ฐ๋ฝ ์ด๋๋์ ์ ๋ ฅ์ผ๋ก ์ฃผ๋ ๋ฐฉ์์ด ํ์ต์ ๋จ์ํํ๊ณ sim-to-real์๋ ์ ๋ฆฌํ๋ค๋ ์ค์ฉ์ ๊ด์ฐฐ๋ ์ธ์์ ์ ๋๋ค.
๋ค๋ง ์ ๋ฌผ์ฒดยท์ ์ผ์ ์ผ๋ฐํ, ์ค๋ ฅ ํจ๊ณผ, ์ธ๋ถ ๋ฒ ์ด์ค๋ผ์ธ๊ณผ์ ๋น๊ต, ๊ทธ๋ฆฌ๊ณ ๋ ๋๋ง๊น์ง ์ด์ด์ง๋ end-to-end ํ์ดํ๋ผ์ธ์ ์์ผ๋ก์ ์์ ์ ๋๋ค. ๊ทธ๋ผ์๋ ์ค์๊ฐ ์ด๊ฐ ๊ธฐ๋ฐ ํ๋ฃจํ ์ ์ด์ ๋๊ท๋ชจ ๋ฐ์ดํฐ ์์ฑ์ด๋ผ๋, ๊ทธ๋์ FEM ์๋์ ๋งํ ์๋ ์์ฉ์ ๋ฌธ์ ์ฌ๋ ์๋ฏธ ์๋ ํ ๊ฑธ์์ ๋๋ค.
๊ด๋ จ ์ฐ๊ตฌ์์ ์์น
- DefGraspNets / DefGraspSim (Huang et al.): 3D ๋ณํ ๋ฌผ์ฒด์ ๊ทธ๋ฆฝ ๊ฒฐ๊ณผ๋ฅผ GNN/FEM์ผ๋ก ๋ค๋ฃฌ ์ ํ ์ฐ๊ตฌ. ๋ณธ ๋ ผ๋ฌธ์ ๊ทธ ๋ฐ์์ ์ด๊ฐ ์ผ์(์ ค)๋ก ํ์ฅ.
- Inductive Biases GNN (Heller et al., ๋ณธ ๋ ผ๋ฌธ์ ์ง์ ์ baseline): ์ฌ๋ฉด์ฒด ํน์ง๊ณผ ์ ์ญ ํน์ง ์ง๋ฆ๊ธธ์ ๋์ ํด ๋ณํ/์๋ ฅ ์์ธก์ ๊ฐ์ .
- TacSL / Tactile Gym 2.0: ๊ฐํํ์ต์ฉ ๋น ๋ฅธ(์ฃผ๋ก ๊ฐ์ฒด ๊ธฐ๋ฐ) ์ด๊ฐ ์๋ฎฌ๋ ์ด์ . ์๋๋ ๋น ๋ฅด๋ ์ฐ์ฒด ํ์ค๊ฐ์ ๋ถ์กฑ โ ๋ณธ ๋ ผ๋ฌธ์ด ๋ ธ๋ฆฐ ๋นํ.
- TacFlex: ์๊ฐ ์ด๊ฐ ์ผ์์ ์ด๊ฐ ์ด๋ฏธ์ง(imprint) ์๋ฎฌ๋ ์ด์ โ ๋ณธ ๋ ผ๋ฌธ์ด ๋ค๋ฃจ์ง ์์ ๋ ๋๋ง ์ชฝ์ ๋ณด์ํ๋ ์์น.