flowchart TB
A[Crumpled deformable object<br/>1D rope/cable or 2D towel/cloth] --> B[ViTac-Tracing policy]
V[Visual image: global context] --> B
T[Tactile image: local contact] --> B
K[Robot kinematics: proprioception] --> B
B --> C[Slide gripper along the object<br/>while keeping contact]
C --> D[Extended, untangled state]
D --> E[Easier downstream manipulation:<br/>folding, cable insertion, dressing]
๐ViTac-Tracing
๐ 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.
์๋ก
๋ณํ์ฒด(deformable object)๋ฅผ ๋ค๋ฃฌ๋ค๋ ๊ฒ
๋ก๋ด์ด ๋ค๋ฃจ๋ ๋์์ด ๊ฐ์ฒด(rigid body)์ผ ๋๋ ๋ฌธ์ ๊ฐ ๋น๊ต์ ๋จ์ํฉ๋๋ค. ์ปต์ ์์ธ(pose)๋ 6๊ฐ์ ์ซ์(์์น 3 + ํ์ 3)๋ก ์์ ํ ํํ๋๊ณ , ํ ๋ฒ ์ก์ผ๋ฉด ์๊ณผ ๋ฌผ์ฒด์ ์๋ ๊ด๊ณ๊ฐ ๋ณํ์ง ์์ต๋๋ค. ๊ทธ๋ฐ๋ฐ ์ ๋ฐ๋, ์ผ์ด๋ธ, ์๊ฑด, ์ฒ ๊ฐ์ ๋ณํ์ฒด๋ก ๋์ด๊ฐ๋ ์๊ฐ ์ด์ผ๊ธฐ๊ฐ ์์ ํ ๋ฌ๋ผ์ง๋๋ค. ์ด๋ฐ ๋ฌผ์ฒด๋ ์์ ๋(DoF)๊ฐ ์ฌ์ค์ ๋ฌดํ๋์ ๊ฐ๊น๊ณ , ์ฑ ์ ์์ ์๋ฌด๋ ๊ฒ๋ ๋์ด๋ฉด ์ ํ๊ณ ๊ผฌ์ด๊ณ ๋ญ์ณ ์์ด์ โ์ง๊ธ ์ด ๋ฌผ์ฒด๊ฐ ์ด๋ค ์ํ์ธ๊ฐโ๋ฅผ ํ๋์ ํ์ ํ๊ธฐ์กฐ์ฐจ ์ด๋ ต์ต๋๋ค.
๊ทธ๋์ ๋ณํ์ฒด ์กฐ์์๋ ํํ ์ ์ฒ๋ฆฌ ๋จ๊ณ๊ฐ ํ์ํฉ๋๋ค. ๊ตฌ๊ฒจ์ง ํฐ์ ์ธ ๋ฅผ ํด์ ํํํ๊ฒ ๋ง๋ค๋ฉด ์ท๊น์ด๋ ๋ชจ์๋ฆฌ ๊ฐ์ ํน์ง์ (landmark)์ ์ฐพ๊ธฐ ์ฌ์์ง๊ณ , ๊ทธ๋ค์ ์ ๊ธฐยท์ ๋ฆฌ ๊ฐ์ ๋ค์ด์คํธ๋ฆผ(downstream) ์์ ์ด ์์ํด์ง์ฃ . ์ด ๋ ผ๋ฌธ์ด ๋ค๋ฃจ๋ tracing(ํธ๋ ์ด์ฑ, ๋ฌผ์ฒด๋ฅผ ๋ฐ๋ผ๊ฐ๋ฉฐ ํด๊ธฐ)์ด ๋ฐ๋ก ๊ทธ ์ ์ฒ๋ฆฌ์ ํด๋นํฉ๋๋ค. ๊ทธ๋ฆฌํผ(gripper)๋ก ๋ฌผ์ฒด์ ํ์ชฝ ๋์ ์ก๊ณ , ๋ฌผ์ฒด์ ๊ฐ์ฅ์๋ฆฌ(edge)๋ฅผ ๋ฐ๋ผ ์๊ฐ๋ฝ์ ๋ฏธ๋๋ฌ๋จ๋ ค ๋ฐ๋์ชฝ ๋๊น์ง ์ธ์ด๋ด๋ ค ์ํจ ๋ฌผ์ฒด๋ฅผ ๊ณง๊ฒ ํด์ง(extended) ์ํ๋ก ๋ง๋๋ ๊ฒ์ ๋๋ค.
๋น์ ํ์๋ฉด, ํํด์ด์ง ๋ชฉ๊ฑธ์ด ์ค์ ํ ์์ผ๋ก ๊ณ ์ ํ๊ณ ๋ค๋ฅธ ์๊ฐ๋ฝ์ผ๋ก ์ค์ ์ญ ํ์ด ๋ด๋ ค ๋งค๋ญ ์์ด ํด๋ ๋์์ ๋ ์ฌ๋ฆฌ๋ฉด ๋ฉ๋๋ค. ์ฌ๋์ ์๋์ ์ด๊ฐ์ผ๋ก โ์ค์ด ์์ง ์๊ฐ๋ฝ ์ฌ์ด์ ์ ๋ฌผ๋ ค ์๋์งโ๋ฅผ ๋๋ผ๋ฉด์ ์์ฐ์ค๋ฝ๊ฒ ํฉ๋๋ค. ๋ก๋ด์ด ์ด๊ฑธ ํ๋ ค๋ฉด ๊ทธ ์ด๊ฐ์ ์ด๋ป๊ฒ๋ ํ๋ด๋ด์ผ ํฉ๋๋ค.
๋ ์ข ๋ฅ์ ํธ๋ ์ด์ฑ, ๊ทธ๋ฆฌ๊ณ ์ผ๋ฐํ ๋ฌธ์
๋ ผ๋ฌธ์ ํธ๋ ์ด์ฑ์ ๋ ๋ฒ์ฃผ๋ก ๋๋๋๋ค.
- 1D ํธ๋ ์ด์ฑ (object following): ๋, ์ผ์ด๋ธ, ๋กํ์ฒ๋ผ ์ ํ(linear) ๋ฌผ์ฒด๋ฅผ ๋ฐ๋ผ๊ฐ๊ธฐ
- 2D ํธ๋ ์ด์ฑ (object sliding): ์๊ฑด, ์ฒ์ฒ๋ผ ํ๋ฉด(planar) ๋ฌผ์ฒด์ ํ์ชฝ ๊ฐ์ฅ์๋ฆฌ(edge)๋ฅผ ๋ฐ๋ผ๊ฐ๊ธฐ
๊ตฌ์กฐ๋ ๋ค๋ฅด์ง๋ง ๋ ๋ค โ๋ฌผ์ฒด์ ์ ์ด์ ์ ์งํ๋ฉฐ ํ์ชฝ ๋์์ ๋ฐ๋์ชฝ ๋๊น์ง ๋ฏธ๋๋ฌ์ง๋คโ๋ ์ ์์ ๋ฌผ๋ฆฌ์ ์ผ๋ก ๋ฎ์ ์์ต๋๋ค. ๊ทธ๋์ ์ ์๋ค์ ํ๋์ ํตํฉ ๋ชจ๋ธ(unified model)๋ก 1D์ 2D๋ฅผ ๋ชจ๋ ๋ค๋ฃฐ ์ ์์ง ์์๊น?๋ผ๋ ์ง๋ฌธ์ ๋์ง๋๋ค.
๊ธฐ์กด ์ ๊ทผ๋ค์ ์ฌ๊ธฐ์ ๋งํ์ต๋๋ค.
- ๋ชจ๋ธ ๊ธฐ๋ฐ ์ ์ด(model-based control): ๋ฌผ์ฒด์ ์ํ์ ๋์ญํ(dynamics)์ ์ ํํ ๋ชจ๋ธ๋งํด์ผ ํ๋๋ฐ, ๋ฌดํ DoF ๋ณํ์ฒด์์๋ ์ด๊ฒ ๋งค์ฐ ์ด๋ ต๊ณ ๋ฌผ์ฒด ์ข ๋ฅ๋ง๋ค ์ปจํธ๋กค๋ฌ๋ฅผ ์๋ก ์ง์ผ ํฉ๋๋ค.
- ๊ฐํํ์ต(RL): ๋ณด์ ํจ์(reward) ์ค๊ณ์ ์๋ฎฌ๋ ์ด์ ๋ด ์ ํํ ๋ณํ์ฒด ๋ชจ๋ธ๋ง์ด ํ์ํ๊ณ , ์๋ฎฌ๋ ์ด์ ์์ ํ์ตํ ์ ์ฑ ์ ์ค์ ๋ก๋ด์ ์ฎ๊ธธ ๋ sim-to-real gap์ผ๋ก ์์ฃผ ์คํจํฉ๋๋ค.
์ด ๋ ผ๋ฌธ์ด ํํ ๊ธธ์ ๋ชจ๋ฐฉํ์ต(Imitation Learning, IL)์ ๋๋ค. ์ฌ๋์ด ์ง์ ์์ฐ(demonstration)ํ ๋ฐ์ดํฐ๋ก ์ ์ฑ ์ ํ์ตํ๋ฏ๋ก, ๋ช ์์ ์ธ ๋ฌผ์ฒด ๋์ญํ ๋ชจ๋ธ๋ ํ์ ์๊ณ sim-to-real gap๋ ์์ต๋๋ค. ์ฌ๋ฌ ์ข ๋ฅ์ ๋ฌผ์ฒด๋ฅผ ํธ๋ ์ด์ฑํ๋ ํตํฉ ์ ์ฑ ์ ํ์ตํ๊ธฐ์ ๋งค๋ ฅ์ ์ธ ์ ํ์ง์ฃ . ์ ์๋ค์ ์ด๊ฒ์ด 1D์ 2D ๋ณํ์ฒด ํธ๋ ์ด์ฑ์ ํตํฉ ์ ์ฑ ์ผ๋ก ๋ค๋ฃจ๋ ์ฒซ ์๋๋ผ๊ณ ์ฃผ์ฅํฉ๋๋ค.
์ ์ด๊ฐ(tactile)์ด ํ์ํ๊ฐ
ํธ๋ ์ด์ฑ์ ์ฑํจ๋ ๊ฒฐ๊ตญ โ์ ์ด์ ์์ง ์๋ ๊ฒโ์ ๋ฌ๋ ค ์์ต๋๋ค. ๊ทธ๋ฐ๋ฐ ํธ๋ ์ด์ฑ ์ค์๋ ๊ทธ๋ฆฌํผ ์๊ฐ๋ฝ ์์ฒด๊ฐ ๋ฌผ์ฒด๋ฅผ ๊ฐ๋ ค์(occlusion) ์นด๋ฉ๋ผ๋ง์ผ๋ก๋ ์ง๊ธ ๋ฌผ์ฒด๊ฐ ์๊ฐ๋ฝ ์ฌ์ด์ ์ ๋๋ก ๋ฌผ๋ ค ์๋์ง ์ ์ ์์ต๋๋ค. ์๊ฐ๋ฝ ๋ ๊ฐ์ฅ์๋ฆฌ๋ก ๋ฌผ์ฒด๊ฐ ๋ฏธ๋๋ฌ์ ธ ๋น ์ง๊ธฐ ์ง์ ์ธ์ง, ์ค์์ ์์ ์ ์ผ๋ก ๋ฌผ๋ ค ์๋์ง๋ฅผ ์๊ฐ๋ง์ผ๋ก ํ๋จํ๊ธฐ ์ด๋ ต๋ค๋ ๋ป์ ๋๋ค.
์ด ๊ตญ์(local) ์ ๋ณด์ ๊ณต๋ฐฑ์ ๋ฉ์ฐ๋ ๊ฒ์ด ๋ฐ๋ก ์ด๊ฐ ์ผ์์ ๋๋ค. ์ด ๋ ผ๋ฌธ์ GelSight Wedge ๊ณ์ด์ ๋น์ ๊ธฐ๋ฐ ์ด๊ฐ ์ผ์(vision-based tactile sensor)๋ฅผ ๊ทธ๋ฆฌํผ ์๊ฐ๋ฝ์ ํตํฉํฉ๋๋ค. ๋น์ ๊ธฐ๋ฐ ์ด๊ฐ ์ผ์๋ ํฌ๋ช ์ ค ํ๋ฉด์ด ๋ฌผ์ฒด์ ๋๋ฆฐ ๋ชจ์์ ๋ด๋ถ ์นด๋ฉ๋ผ๋ก ์ฐ์ด ๊ณ ํด์๋ ์ด๊ฐ ์ด๋ฏธ์ง(tactile image)๋ฅผ ๋ง๋๋ ์ฅ์น์ ๋๋ค. ์ฆ ์ด๊ฐ์ โ์ด๋ฏธ์งโ๋ก ๋ฐ๊ฟ ์๊ฐ๊ณผ ๊ฐ์ ๋ฐฉ์์ผ๋ก ์ฒ๋ฆฌํ ์ ์๊ฒ ํด์ค๋๋ค.
์ ๋ฆฌํ๋ฉด, ์ด ๋ ผ๋ฌธ์ ํฐ ๊ทธ๋ฆผ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
ํต์ฌ ๊ธฐ์ฌ๋ฅผ ์ธ ๊ฐ์ง๋ก ์์ฝํ๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ์๊ฐ-์ด๊ฐ ๋ชจ๋ฐฉํ์ต ํ๋ ์์ํฌ๋ฅผ ์ ์ํด, ์ค์ ๋ก๋ด์ด ๋ค์ํ 1D/2D ๋ณํ์ฒด๋ฅผ ํ๋์ ํตํฉ ์ ์ฑ ์ผ๋ก ํธ๋ ์ด์ฑํ๊ฒ ํจ.
- ์ ๋น์ฉ ์๊ฐ-์ด๊ฐ ์๊ฒฉ์กฐ์(teleoperation) ์์คํ ์ ๋ง๋ค์ด, ์์ฐ์(operator)์ ๋ก๋ด ์์ชฝ ๋ชจ๋์ ๋ฉํฐ๋ชจ๋ฌ ํผ๋๋ฐฑ์ ์ ๊ณตํจ.
- ๊ด๋ฒ์ํ ablation/๋น๊ต ์คํ์ผ๋ก ๊ฐ ๊ตฌ์ฑ ์์์ ํจ๊ณผ๋ฅผ ๊ฒ์ฆํ๊ณ , ๋ณธ ์ ์๋(seen) ๋ฌผ์ฒด์ ๋ณธ ์ ์๋(unseen) ๋ฌผ์ฒด ๋ชจ๋์์ ์ฑ๋ฅ์ ๋ณด์.
๋ฐฉ๋ฒ
๋ฌธ์ ์ ์: ์์์ผ๋ก ๋ณธ โ์๋ ํธ๋ ์ด์ฑโ
๋จผ์ ํธ๋ ์ด์ฑ์ ์ํ์ ์ผ๋ก ์ ์ํฉ๋๋ค. 1D ๋ณํ์ฒด(๋๋ 2D ๋ฌผ์ฒด์ ํ์ชฝ ๊ฐ์ฅ์๋ฆฌ)๋ฅผ Cartesian ๊ณต๊ฐ ์์ ์๋ณ ๊ณต๊ฐ ๊ณก์ (time-varying spatial curve) \mathcal{C}_t \subset \mathbb{R}^3๋ก ๋ชจ๋ธ๋งํฉ๋๋ค. ๊ณก์ ์ ์ ์ฒด ๊ธธ์ด๋ฅผ L์ด๋ผ ํ๊ณ , ์์ ์ t=0๋ถํฐ t=T๊น์ง ์งํ๋ฉ๋๋ค.
๊ธฐํธ๋ฅผ ์ ๋ฆฌํ๋ฉด:
- p_0 = (x_0, y_0, z_0): ๋ค๋ฅธ ๊ทธ๋ฆฌํผ๊ฐ ๊ณ ์ ํ๊ณ ์๋ ๊ณ ์ ์ (fixed point)
- p_t = (x_t, y_t, z_t): ์์ง์ด๋ ๊ทธ๋ฆฌํผ์ ๋ฌผ์ฒด์ ์ ์ด์ (contact point)
- o^T: ๊ทธ๋ฆฌํผ์ ์ด๊ฐ ๊ฐ์ง ์์ญ(tactile sensing region)
์ฑ๊ณต์ ์ธ ํธ๋ ์ด์ฑ์ด ๋ง์กฑํด์ผ ํ ์ ์ฝ์ ์ง๊ด์ ์ผ๋ก ๋ ๊ฐ์ง์ ๋๋ค.
- ๋ฌผ์ฒด๋ฅผ ๋์น์ง ๋ง ๊ฒ: ์ ์ด์ ์ ํญ์ ๊ณก์ ์์ ์์ด์ผ ํจ. ์ฆ p_t \in \mathcal{C}_t.
- ์๊ฐ๋ฝ ์ค์์ ๋ฌผ๋ ค ์์ ๊ฒ: ์ ์ด์ ์ ์ด๊ฐ ๊ฐ์ง ์์ญ ์์ ๋จธ๋ฌผ๋ฌ์ผ ํจ. ์ฆ p_t \in o^T. ๊ฐ์ง ์์ญ์ ๋ฒ์ด๋ฌ๋ค๋ ๊ฑด ๋ฌผ์ฒด๊ฐ ์๊ฐ๋ฝ ๋์ผ๋ก ๋ฏธ๋๋ฌ์ ธ ๋น ์ก๋ค๋ ๋ป์ ๋๋ค.
๋ํ ์์ ์ โ์งํโ์ ๋ํ ๋ ๊ฐ์ง ๋ชฉํ๋ ์ ์ํฉ๋๋ค.
- ์ ์ด์ ๊ณผ ๊ณ ์ ์ ์ฌ์ด ๊ฑฐ๋ฆฌ๊ฐ ์๊ฐ์ด ์ง๋๋ฉฐ ์ ์ ์ ์ฒด ๊ธธ์ด๋ก ์๋ ดํด์ผ ํจ: \|p_t - p_0\|_2 \to L.
- ๊ทธ ๊ฑฐ๋ฆฌ๋ ๋จ์กฐ ์ฆ๊ฐ(monotonically increasing)ํด์ผ ํจ: \frac{d}{dt}\|p_t - p_0\|_2 \geq 0. (ํ ๋ฒ ํธ ๋ถ๋ถ์ด ๋ค์ ์ค์ด๋ค๋ฉด ์ ๋๋ค๋ ๋ป โ ๋ค๋ก ๊ฐ์ง ๋ง๊ณ ๊พธ์คํ ๋์ ํฅํด ๋์๊ฐ๋ผ.)
์ด ์ ์๊ฐ ์ค์ํ ์ด์ ๋, ๋ค์์ ๋์ค๋ ๋ ๊ฐ์ง ์์ค ํจ์(local center loss, global task loss)๊ฐ ์ ํํ ์ด ์ ์ฝยท๋ชฉํ๋ฅผ ์ ์ฑ ์ ์ฃผ์ ํ๊ธฐ ์ํ ์ฅ์น์ด๊ธฐ ๋๋ฌธ์ ๋๋ค.
๋ฐ์ดํฐ ์์ง: ๋ฉํฐ๋ชจ๋ฌ ํผ๋๋ฐฑ์ ๊ฐ์ถ ์๊ฒฉ์กฐ์ ์์คํ
๋ชจ๋ฐฉํ์ต์ ์์ฐ ๋ฐ์ดํฐ์ ํ์ง์ด ๊ณง ์ ์ฑ ์ ํ์ง์ ๋๋ค. ๊ทธ๋์ ์ ์๋ค์ ๋ฐ์ดํฐ ์์ง ์ฅ์น ์์ฒด์ ๊ณต์ ๋ค์์ต๋๋ค. ํ๋์จ์ด ๊ตฌ์ฑ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ๋ก๋ด: ์ํ(dual-arm) ABB YuMi. ํ ํ์ leader(์์ฐ์๊ฐ ์กฐ์ข ), ๋ค๋ฅธ ์ชฝ์ follower(์ค์ ์์ ์ํ).
- ์๊ฐ ์ผ์: ZED 2 ์คํ ๋ ์ค ์นด๋ฉ๋ผ๊ฐ ์์์ ๋ด๋ ค๋ค๋ณด๋(top-down) ๋ทฐ ์ ๊ณต.
- ์ด๊ฐ ์ผ์: GelSight Wedge ๊ธฐ๋ฐ ๋น์ ์ด๊ฐ ์ผ์๋ฅผ follower ๊ทธ๋ฆฌํผ ์๊ฐ๋ฝ์ ์ฅ์ฐฉ.
- ์ ์ด: ๋ก๋ด์ ๊ด์ ์์น(joint position) ๋ชจ๋๋ก ์ ์ด, ์๋์ดํํฐ(EE) ์๋๋ 400 mm/s๋ก ์ ํ. Nvidia Jetson Orin์ด ์นด๋ฉ๋ผยทROS ๋๋ผ์ด๋ฒ ๊ตฌ๋(ROS Noetic, Docker ์ปจํ ์ด๋).
์ฌ๊ธฐ์ ์๋ฆฌํ ๋ถ๋ถ์ ์์ฐ์(์ฌ๋)์๊ฒ๋ ํผ๋๋ฐฑ์ ์ค๋ค๋ ์ ์ ๋๋ค. ๊ธฐ์กด ์ ๊ฐ ์๊ฒฉ์กฐ์ ์์คํ ์ ๋๋ถ๋ถ ์ด๊ฐ ํผ๋๋ฐฑ์ด ์์ด์, ์์ฐ์๊ฐ โ์ง๊ธ ๋ฌผ์ฒด๊ฐ ์ ๋ฌผ๋ ค ์๋์งโ๋ฅผ ๋ชจ๋ฅธ ์ฑ ์กฐ์ข ํฉ๋๋ค. ๊ทธ๋ฌ๋ฉด ์์ฐ ๋ฐ์ดํฐ์ ์ง์ด ๋จ์ด์ง์ฃ . ์ด ์์คํ ์:
- follower์ ์๊ฐยท์ด๊ฐ ์ด๋ฏธ์ง๋ฅผ ์ค์๊ฐ์ผ๋ก ํ๋ฉด์ ์คํธ๋ฆฌ๋ฐํด ์์ฐ์๊ฐ ์ ์ด ์ํ๋ฅผ ๋์ผ๋ก ํ์ธ.
- leader ๊ทธ๋ฆฌํผ์ ์ง๋ ๋ชจํฐ(DAOKAI DC 5V Mini)๋ฅผ ๋ฌ์, ๋ก๋ด์ด ํน์ด์ (singularity) ๊ทผ์ฒ์ ๊ฐ๋ฉด ์ง๋์ผ๋ก ๊ฒฝ๊ณ .
ํน์ด์ ๊ฒฝ๊ณ ๋ ์ ์ฑ ์ด (๊ด์ ๊ฐ์ด ์๋๋ผ) EE pose ๊ธฐ์ค์ผ๋ก ํ์ต๋๊ธฐ ๋๋ฌธ์ ํ์ํฉ๋๋ค. EE pose์ ๊ด์ ๊ฐ์ ๋งคํ์ด ์ผ๋์ผ์ด ์๋๋ผ์(non-unique), ํน์ EE ์์ธ์์ ๋ก๋ด์ด ์์ง์ผ ์ ์๋ ๊ณค๋ํ ๊ด์ ๊ตฌ์ฑ์ ๋น ์ง ์ ์๊ฑฐ๋ ์. ํน์ด์ ๊ทผ์ ๋๋ Yoshikawa ๊ฐ์กฐ์์ฑ ์ง์(Manipulability Index)๋ก ๊ณ์ฐํฉ๋๋ค.
w(q) = \sqrt{\det\!\big(J(q)\,J(q)^T\big)}
์ฌ๊ธฐ์ q๋ ๋ก๋ด์ ๊ด์ ์ํ, J(\cdot)๋ ์ผ์ฝ๋น์(Jacobian) ํ๋ ฌ์ ๋๋ค. ์ง๊ด์ ์ผ๋ก w(q)๊ฐ ํด์๋ก ๊ทธ ์์ธ์์ ๋ก๋ด์ด ์ฌ๋ฌ ๋ฐฉํฅ์ผ๋ก ์์ ๋กญ๊ฒ ์์ง์ผ ์ ์๋ค๋ ๋ป์ด๊ณ (=์์ฌ์ฃผ๊ฐ ์ข์), ์์์ง์๋ก ํน์ด์ ์ ๊ฐ๊น๋ค๋ ๋ป์ ๋๋ค. w(q)๊ฐ ์๊ณ๊ฐ \lambda_w \cdot \max(w) ์๋๋ก ๋จ์ด์ง๋ฉด ์ง๋์ด ์ผ์ง๋ฉฐ, \lambda_w = 0.2๋ grid search๋ก ์ ํ์ต๋๋ค.
์ด๋ ๊ฒ ์์ง๋ ํ ์ํผ์๋(episode) \mathcal{D}๋ ์์ t๋ง๋ค ๊ด์ธก o_t = \{o_t^K, o_t^V, o_t^T\}(๊ฐ๊ฐ kinematics, visual, tactile)์ ์์ฐ์ ์ชฝ์์ ์ป์ ground-truth ํ๋ a_t์ ์์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค:
\mathcal{D} = \{(o_t, a_t)\}_{t=0}^{T}
์ ์ฑ ๋ฐฑ๋ณธ: Action Chunking Transformer (ACT)
์ ์ฑ ์ ๋ผ๋๋ ACT(Action Chunking Transformer)์ ๋๋ค. ACT๋ ์ ๋น์ฉ ์ํ ๋ชจ๋ฐฉํ์ต์ผ๋ก ์ ๋ช ํ ๋ฐฉ๋ฒ์ผ๋ก, ํ ๋ฒ์ ํ ์คํ ๋ง ์์ธกํ๋ ๋์ ์์ผ๋ก์ k๊ฐ ํ๋์ ๋ฌถ์(chunk)์ผ๋ก ์์ธกํฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ๋์ ์ค์ฐจ(compounding error)์ ๋จ๋ฆผ์ด ์ค์ด๋๋ ์ฅ์ ์ด ์์ต๋๋ค.
์ ๋ ฅ ์ฒ๋ฆฌ ํ๋ฆ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- o_t^K (๋ก๋ด kinematics) โ MLP๋ก ํน์ง ์ถ์ถ
- o_t^V (์๊ฐ ์ด๋ฏธ์ง) โ CNN (ResNet18)
- o_t^T (์ด๊ฐ ์ด๋ฏธ์ง) โ ๋ณ๋์ CNN (ResNet18)
- ์ธ ํน์ง์ concatenateํด์ Transformer ๊ธฐ๋ฐ ์ ์ฑ ๋คํธ์ํฌ์ ์ ๋ ฅ
flowchart LR
K[Robot kinematics o_K] --> M[MLP]
V[Visual image o_V] --> C1[CNN ResNet18]
T[Tactile image o_T] --> C2[CNN ResNet18]
M --> F[Concatenated features]
C1 --> F
C2 --> F
F --> TR[Transformer policy network]
TR --> A[Predicted action chunk a_t:t+k]
TR --> I[Predicted completion sequence I_t:t+k]
A --> L1[Local Center Loss]
I --> L2[Global Task Loss]
TR --> L3[Regularization KL Loss]
L1 --> LO[Overall Loss]
L2 --> LO
L3 --> LO
ACT๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ ๊ฐ์ ์์ค๋ก ํ์ต๋ฉ๋๋ค.
์ฌ๊ตฌ์ฑ ์์ค(reconstruction loss) โ ์์ธก ํ๋์ด ์์ฐ ํ๋๊ณผ ์ผ์นํ๋๋ก:
\mathcal{L}_{reconst} = \mathrm{MAE}(\hat{a}_{t:t+k},\, a_{t:t+k})
์ฌ๊ธฐ์ MAE๋ ํ๊ท ์ ๋ ์ค์ฐจ(L1 loss)์ ๋๋ค.
์ ๊ทํ ์์ค(regularization loss) โ ACT๋ CVAE(์กฐ๊ฑด๋ถ ๋ณ๋ถ ์คํ ์ธ์ฝ๋) ๊ตฌ์กฐ๋ผ, ์คํ์ผ ๋ณ์ z์ ์ธ์ฝ๋ ๋ถํฌ๋ฅผ ํ์ค ์ ๊ท๋ถํฌ์ ๊ฐ๊น๊ฒ ๋ฌถ์ด๋ก๋๋ค:
\mathcal{L}_{reg} = D_{KL}\big(q_\phi(z \mid a_{t:t+k}, \bar{o}_t)\,\|\,\mathcal{N}(0, I)\big)
q_\phi๋ Transformer ์ธ์ฝ๋, z๋ ์คํ์ผ ๋ณ์, \bar{o}_t๋ ์ด๋ฏธ์ง ๊ด์ธก์ ๋บ ๋๋จธ์ง ๊ด์ธก์ ๋๋ค.
์ฌ๊ธฐ๊น์ง๋ ํ์ค ACT์ ๋๋ค. ์ด ๋ ผ๋ฌธ์ ์ง์ง ๊ธฐ์ฌ๋ ์ฌ๊ธฐ์ ๋ ๊ฐ์ง ์์ค์ ๋ํ ๊ฒ์ ๋๋ค โ ํ๋๋ ๊ตญ์(local) ๊ด์ , ํ๋๋ ์ ์ญ(global) ๊ด์ .
๊ธฐ์ฌ 1: Local Center Loss (๊ตญ์ ์ค์ฌ ์์ค)
๋ฌธ์ ์ ์์ ์ ์ฝ 2๋ฒ(โ์ ์ด์ ์ด ์ด๊ฐ ๊ฐ์ง ์์ญ ์์ ์์ด์ผ ํจโ)์ ๋ ์ฌ๋ ค๋ด ์๋ค. ๋ณํ์ฒด๋ DoF๊ฐ ๋์์, ์ ์ด์ด ์ด๊ฐ ์ผ์์ ๊ฐ์ฅ์๋ฆฌ(edge) ์ชฝ์ผ๋ก ์น์ฐ์น๋ฉด ์๊ฐ๋ฝ ๋ฐ์ผ๋ก ๋ฏธ๋๋ฌ์ ธ ๋จ์ด์ง๊ธฐ ์ฝ์ต๋๋ค. ์ด์์ ์ธ ์ ์ด ์์น๋ ์ด๊ฐ ์ด๋ฏธ์ง์ ์ค์(center)์ ๋๋ค.
ํต์ฌ ํต์ฐฐ์ ์ด๋ ์ต๋๋ค. ์์ฐ ๋ฐ์ดํฐ๊ฐ ํญ์ ์๋ฒฝํ์ง๋ ์๋ค. ์์ฐ์๊ฐ ์ค์๊ฐ ์ด๊ฐ ๋ชจ๋ํฐ๋ง์ ๋ณด๋ฉด์ ์กฐ์ํ๊ธด ํ์ง๋ง, ๋ชจ๋ ์๊ฐ ์ ์ด์ ์ ์ ํํ ์๊ฐ๋ฝ ์ค์์ผ๋ก ์ ์งํ์ง๋ ๋ชปํฉ๋๋ค. ๊ทธ๋์ ๋ชจ๋ ์์ฐ ํ๋์ ๋๊ฐ์ ๊ฐ์ค์น๋ก ๋ชจ๋ฐฉํ๋ ๋์ , ์ ์ด์ ์ ์ค์์ผ๋ก ๊ฐ์ ธ๊ฐ๋ ํ๋์ ๋ ํฐ ๊ฐ์ค์น๋ฅผ ์ค๋๋ค.
๊ตฌํ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ ์ด์ ์์น๋ฅผ ์ด๊ฐ ์ด๋ฏธ์ง์์ ์ถ์ถ: ๊ณ ํด์๋ ์ด๊ฐ ํ ์ค์ฒ๋ ๋งค์ฐ ์ ๋ช ํ๋ฏ๋ก ๊ณ ์ ์ ์์์ฒ๋ฆฌ๋ก ์ถฉ๋ถํฉ๋๋ค. ๊ทธ๋ ์ด์ค์ผ์ผ ๋ณํ โ ์๊ณ๊ฐ(thresholding) โ ๊ฐ์ฐ์์ ํํฐ๋ง โ ์ค๊ณฝ์ (contour) ์ถ์ถ๋ก ์ ์ด ๋ง์คํฌ๋ฅผ ๋ง๋ค๊ณ , ๊ฐ์ฅ ํฐ ์ค๊ณฝ์ ํ์(ellipse)์ผ๋ก ํผํ (๋๋ PCA๋ก ๋ถ์)ํด ํฝ์ ์ขํ ์ ์ด์ p_t^{tac} = (u_t^{tac}, v_t^{tac})๋ฅผ ์ป์ต๋๋ค.
์ค์ฌ์์ ๋ฉ์๋ก ์์์ง๋ ๊ฐ์ค์น: ๊ฐ์ง ์์ญ์ ์ค์ฌ์ c = (u_c, v_c)๋ผ ํ ๋,
w_t = \exp\!\left(-\frac{\|p_t^{tac} - c\|}{c}\right)
์ ์ด์ ์ด ์ค์ฌ์ ๊ฐ๊น์ฐ๋ฉด w_t \approx 1, ๊ฐ์ฅ์๋ฆฌ๋ก ๊ฐ์๋ก 0์ ๊ฐ๊น์์ง๋๋ค. ์ฆ โ์ด๋ฏธ ์ ๋ฌผ๋ ค ์๋ ์ข์ ์๊ฐ์ ํ๋โ์ ๋ ์ ๋ขฐํ๋ผ๋ ๋ป์ ๋๋ค.
- ๊ฐ์ค ์ฌ๊ตฌ์ฑ ์์ค:
\mathcal{L}_{center} = w_{t:t+k} \cdot \mathrm{MAE}(\hat{a}_{t:t+k},\, a_{t:t+k})
๋น์ ํ์๋ฉด, ์ค๋๊ธฐ๋ฅผ ๋ฐฐ์ฐ๋ ํ์์๊ฒ ์ฝ์น๊ฐ โ์ ๋๋ ธ์ ๋์ ํผ์ ํนํ ์ ๊ธฐ์ตํด ๋ฌโ๋ผ๊ณ ๋งํ๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค. ์ด์คํ๋ ์๊ฐ์ ๋์์ ๋ ๋ฐ๋ผํ๊ณ , ์์ ์ ์ด์๋ ์๊ฐ์ ๋์์ ์ง์ค์ ์ผ๋ก ๋ชจ๋ฐฉํ๊ฒ ๋ง๋๋ ๊ฒ์ด์ฃ .
๊ธฐ์ฌ 2: Global Task Loss (์ ์ญ ์์ ์์ค)
Center loss๊ฐ โ์ ์ด์ ์์ง ๋งโ๋ผ๋ ๊ตญ์ ์ ์ฝ์ ๋ด๋นํ๋ค๋ฉด, ์ ์ญ ์์ค์ โ์์ ์ด ์ผ๋ง๋ ์งํ๋๋์ง, ์ธ์ ๋ฉ์ถฐ์ผ ํ๋์งโ๋ผ๋ ์ ์ญ ๋ชฉํ๋ฅผ ๋ด๋นํฉ๋๋ค. ๋ง์ ๋ณํ์ฒด ์กฐ์์ ์ ํํ ์ข ๋ฃ(termination)๊ฐ ์ค์ํฉ๋๋ค โ ์๊ฑด์ ์ ์ผ๋ ค๋ฉด ๋ชจ์๋ฆฌ์์ ๋ฉ์ถฐ์ผ ํ๊ณ , ์ผ์ด๋ธ์ ํด๋ฆฝ์ ๊ฝ์ผ๋ ค๋ฉด ๊ทธ๋ฆฌํผ์์ ๋น ์ง๊ธฐ ์ง์ ์ ๋ฉ์ถฐ์ผ ํฉ๋๋ค.
์ ์๋ค์ ์๋ฃ ์ง์(completion index) I๋ผ๋ ์ค์นผ๋ผ๋ฅผ ์ ์ํฉ๋๋ค. ์์ ์ค ๋ฌผ์ฒด๊ฐ (๊ณ ์ ์ ๊ณผ ์ ์ด์ ์ฌ์ด์์) ํฝํฝํ๊ฒ ๋น๊ฒจ์ ธ ์ง์ ์ ๊ฐ๊น๋ค๊ณ ๊ฐ์ ํ๋ฉด, ์ด๋ฏธ ํด์ง ๊ธธ์ด๋ฅผ p_0์ p_t ์ฌ์ด ๊ฑฐ๋ฆฌ๋ก ์ถ์ ํ ์ ์๊ณ , ์ด๋ฅผ ์ ์ฒด ๊ธธ์ด๋ก ๋๋ ์งํ๋ฅ ์ ๊ตฌํ ์ ์์ต๋๋ค.
๋จผ์ ์ด๊ฐ ์ด๋ฏธ์ง์์ ์ป์ ์ ์ด์ p_t^{tac}๋ฅผ ๊ทธ๋ฆฌํผ ์ขํ๊ณ(์ผ์ ์ขํ๊ณ์ ์ผ์น)๋ก ๋ณํํฉ๋๋ค:
p_t^{gripper} = \left(\frac{u_t^{tac} - u_c}{p2m},\; \frac{v_t^{tac} - v_c}{p2m},\; 0\right)
์ฌ๊ธฐ์ p2m์ ํฝ์ -๋ฏธํฐ ์ค์ผ์ผ(pixel-to-meter)์ ๋๋ค. ๊ทธ๋ค์ ์ขํ ๋ณํ์ผ๋ก ์๋ ์ขํ๊ณ์ ์ ์ด์ p_t๋ฅผ ๊ตฌํฉ๋๋ค:
p_t = T_{gripper}^{world}\, p_t^{gripper}
T_{gripper}^{world}๋ ๊ทธ๋ฆฌํผ์์ ์๋๋ก์ ๋ณํ ํ๋ ฌ์ ๋๋ค. ์ด์ ground-truth ์๋ฃ ์ง์๋ฅผ ์์ฐ ๋ฐ์ดํฐ์ ๋ผ๋ฒจ๋งํ ์ ์์ต๋๋ค:
I = \min\!\Big(\max\big(\tfrac{\|p_t - p_0\|_2}{\|p_T - p_0\|_2},\, 0\big),\, 1\Big)
๋ถ์๋ ํ์ฌ๊น์ง ํด์ง ๊ธธ์ด, ๋ถ๋ชจ๋ ์ต์ข (๋๊น์ง ๊ฐ์ ๋) ๊ธธ์ด์ ๋๋ค. ๋ฐ๋ผ์ I๋ 0(์์)์์ 1(์๋ฃ)๋ก ๋งค๋๋ฝ๊ฒ ์ฆ๊ฐํ๋ ์งํ๋ฅ ์ ๋๋ค. \min/\max๋ ๊ฐ์ [0, 1]๋ก ํด๋ฆฝ(clip)ํ๊ธฐ ์ํ ๊ฒ์ ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ ์ฑ ๋คํธ์ํฌ์ ์๋ฃ ์ง์ ์์ธก ๋ถ๊ธฐ(branch)๋ฅผ ์ถ๊ฐํฉ๋๋ค. ํ๋ ์ํ์ค์ ๋๋ํ ์๋ฃ ์ง์ ์ํ์ค \hat{I}_{t:t+k}๋ ์์ธกํ๊ฒ ํ๊ณ , ์ด๋ฅผ MSE๋ก ํ์ตํฉ๋๋ค:
\mathcal{L}_{task} = \mathrm{MSE}(\hat{I}_{t:t+k},\, I_{t:t+k})
์ง๊ด์ ์ผ๋ก ์ด๊ฒ์ ์ ์ฑ ์๊ฒ โ์ง๊ธ ์์ ์ ๋ช ํผ์ผํธ๊ฐ ๋๋ฌ๋์ง ํญ์ ์์ํ๋ผโ๊ณ ๊ฐ๋ฅด์น๋ ๋ณด์กฐ ๊ณผ์ (auxiliary task)์ ๋๋ค. ์งํ๋ฅ ์ ์ธ์งํ๋ฉด ๋์ ์ ๋ ์ ์ธ์ํ๊ณ , ๋๋ฌด ์ผ์ฐ ๋ฉ์ถ๊ฑฐ๋ ๋์ ์ง๋์ณ ๊ณ์ ๊ฐ๋(over-tracing) ์ค์๋ฅผ ์ค์ผ ์ ์์ต๋๋ค.
์ ์ฒด ์์ค
๋ค ์์ค์ ๊ฐ์คํฉํ ๊ฒ์ด ์ต์ข ๋ชฉ์ ํจ์์ ๋๋ค(์ฌ๊ตฌ์ฑ ์์ค์ center loss์ ํก์๋จ):
\mathcal{L} = \mathcal{L}_{center} + \lambda_{reg}\,\mathcal{L}_{reg} + \lambda_{task}\,\mathcal{L}_{task}
\lambda_{reg} = 100, \lambda_{task} = 100์ด๋ฉฐ grid search๋ก ์ ํ์ต๋๋ค.
์์ฌ์ฝ๋๋ก ์ ๋ฆฌํ๋ฉด ํ์ต ๋ฃจํ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
for each batch (o_K, o_V, o_T, a, p0, pT) in dataset:
# feature extraction
f = concat(MLP(o_K), CNN_v(o_V), CNN_t(o_T))
# policy forward
a_hat, I_hat, z_dist = transformer_policy(f)
# local center loss
p_tac = extract_contact_point(o_T) # contour + ellipse/PCA
w = exp(-norm(p_tac - center) / center)
L_center = w * MAE(a_hat, a)
# global task loss
p_world = transform_to_world(p_tac)
I_gt = clip(norm(p_world - p0) / norm(pT - p0), 0, 1)
L_task = MSE(I_hat, I_gt)
# regularization
L_reg = KL(z_dist, N(0, I))
loss = L_center + 100 * L_reg + 100 * L_task
loss.backward(); optimizer.step()์คํ
์ค์
- ๋ฌผ์ฒด(seen): 1D 2์ข (flat shoelace ์ ๋ฐ๋, braided cable ์ผ์ด๋ธ), 2D 2์ข (face towel ์๊ฑด, microfiber cloth ์ฒ). ๊ฐ ๋ฌผ์ฒด๋น 25ํ ์์ฐ, ์ด 100 ์ํผ์๋. 30 Hz๋ก ์๊ฐยท์ด๊ฐ ์ด๋ฏธ์ง, ๋ก๋ด ์ํ, ํ๋์ ๊ธฐ๋ก.
- ๋ฌผ์ฒด(unseen, ์ผ๋ฐํ ํ๊ฐ): 1D rope(ํฉ์ฑ ๋กํ)์ 2D napkin(๋ฉด ๋ ํจ).
- ์ ๋ ฅ: ์ด๋ฏธ์ง๋ 480ร480์ผ๋ก crop/resize. ํ๋ยท์ํ๋ 16์ฐจ์ โ ๊ด์ ๊ณต๊ฐ ๋ชจ๋ธ์ 14 joint + 2 gripper, Cartesian ๋ชจ๋ธ์ 2 EE pose + 2 gripper.
- ํ์ต: chunk size k=60, ์๊ฐยท์ด๊ฐ์ฉ ResNet18 ๋ฐฑ๋ณธ ๋ถ๋ฆฌ, ๋ฐ๊ธฐยท๋๋นยท๊ฐ๋ง ์ฆ๊ฐ(augmentation), 15,000 epoch, validation loss ์ต์ ์ฒดํฌํฌ์ธํธ ์ ํ. RTX 4090, AMD Threadripper Pro 5965WX, 128 GB RAM.
- ์ถ๋ก : temporal aggregation์ ๋นํ์ฑํ. Cartesian ๋ชจ๋ธ์ ์ถ๋ ฅ EE pose๋ฅผ ๊ด์ ๊ฐ์ผ๋ก ๋ณํ ํ ์คํ.
- ํ๊ฐ ์งํ:
- Success(์ฑ๊ณต): ๋์ (๊ธธ์ด์ ๋ง์ง๋ง 5% ์ด๋ด)๊น์ง ๋ฐ๋ผ๊ฐ ๊ทธ๊ณณ์์ ํ์ง ์ ์ง.
- Robot collision: ๋ฌผ์ฒด๋ ์๊ธฐ ์์ ๊ณผ ์ถฉ๋ํด ํ๋ณต ๋ถ๊ฐ.
- Early stopping: ๋์ ๋๋ฌํ์ง ๋ชปํ์ง๋ง ๋ฌผ์ฒด๋ ๋์ง ์์.
- Over-tracing: ๋ง์ง๋ง 5%์ ๋๋ฌํ์ผ๋ ํ์ง๋ฅผ ์ ์งํ์ง ๋ชปํจ.
- Object dropping: ๋ ๋๋ฌ ์ ์ ๋ฌผ์ฒด๋ฅผ ๋จ์ด๋จ๋ฆผ.
- ๋ณด์กฐ ์งํ: Success time(์ฑ๊ณต ์์ ์๊ฐ), Completion ratio \|p_T - p_0\|_2 / L(๋๋ฌ ๊ฑฐ๋ฆฌ/์ ์ฒด ๊ธธ์ด).
๊ฒฐ๊ณผ 1: ์์ธ ํํ โ ๊ด์ ๊ฐ vs EE pose
๋จผ์ proprioception(์๊ธฐ ์์ธ ์ธ์ง)์ ๊ด์ ๊ฐ์ผ๋ก ์ค์ง, EE pose๋ก ์ค์ง๋ฅผ ๋น๊ตํ์ต๋๋ค. 4๊ฐ ๋ฌผ์ฒด, ๋ฌผ์ฒด๋น 10ํ, ์ด 40ํ ์คํ์ ๋๋ค.
| ํํ ๋ฐฉ์ | Success rate |
|---|---|
| Joint Space (๊ด์ ๊ฐ) | 70.0% [54.6, 81.9] |
| EE pose (Cartesian, Ours) | 80.0% [65.2, 89.5] |
EE pose ๋ชจ๋ธ์ด ๋ ๋์ ์ฑ๊ณต๋ฅ ๊ณผ ๋ ๋์ completion ratio๋ฅผ ๋ณด์๊ณ , ํนํ ๋ฌผ์ฒด ๋จ์ด๋จ๋ฆผ(dropping)์ด ํจ์ฌ ์ ์์ต๋๋ค. ํด์์ ์ด๋ ์ต๋๋ค. ํธ๋ ์ด์ฑ์ด๋ผ๋ ์์ ์ ๋ณธ์ง์ ์ผ๋ก ์์ ๊ณต๊ฐ(task space)์์ ์ ์๋ฉ๋๋ค. EE pose๋ ์์ ๋ชฉํ์ ์ ๋ ฅ์ ์ ๋ ฌ์์ผ ๋ชจํธ์ฑ(๊ด์ ๊ฐ์ ์ค๋ณต์ฑ)์ ์ค์ด๊ณ , ์๊ฐ๋ฝ ๋๋น ๋ฌผ์ฒด ๋ฐฉํฅ์ ๋ฏธ์ธ ์กฐ์ ํ๊ธฐ ์ข์ต๋๋ค. ๊ทธ๋์ ์ดํ ์คํ์ ๋ชจ๋ EE pose ํํ์ ์๋๋ค.
๊ฒฐ๊ณผ 2: ๊ตฌ์ฑ ์์ Ablation
๊ฐ ์ผ์ ๋ชจ๋ฌ๋ฆฌํฐ์ ์์ค์ ๊ธฐ์ฌ๋ฅผ ๋ผ์ด๋ณด๋ฉฐ ๊ฒ์ฆํ ํต์ฌ ํ์ ๋๋ค(๋ฌผ์ฒด๋น 10ํ, ์ด 40ํ).
| ๋ฐฉ๋ฒ | Success rate | Collision | Early stop | Over-trace | Drop |
|---|---|---|---|---|---|
| Joint Space | 70.0% [54.6, 81.9] | 1/40 | 4/40 | 2/40 | 5/40 |
| w/o Vision (์๊ฐ ์ ๊ฑฐ) | 65.0% [49.5, 77.9] | 4/40 | 2/40 | 8/40 | 1/40 |
| w/o Tactile (์ด๊ฐ ์ ๊ฑฐ) | 60.0% [44.6, 73.7] | 2/40 | 5/40 | 1/40 | 8/40 |
| w/o Center Loss | 65.0% [49.5, 77.9] | 4/40 | 1/40 | 0/40 | 9/40 |
| w/o Task Loss | 67.5% [52.0, 79.9] | 3/40 | 3/40 | 7/40 | 0/40 |
| Ours (์ ์ฒด) | 80.0% [65.2, 89.5] | 2/40 | 2/40 | 3/40 | 1/40 |
์ด ํ๋ ๊ฐ ๊ตฌ์ฑ ์์๊ฐ ์๋ก ๋ค๋ฅธ ์คํจ ๋ชจ๋๋ฅผ ๋ง๋๋ค๋ ์ ์์ ๋งค์ฐ ๊น๋ํฉ๋๋ค.
- ์๊ฐ ์ ๊ฑฐ: over-tracing์ด 8/40์ผ๋ก ๊ธ์ฆ. ์๊ฐ์ด ์์ผ๋ฉด ๋์ ์ ๋ชป ๋ณด๊ณ ์ง๋์ณ ๊ณ์ ๊ฐ๋๋ค. ์ฆ ์๊ฐ = ์์ ์งํ/์ข ๋ฃ ์ธ์.
- ์ด๊ฐ ์ ๊ฑฐ: dropping์ด 8/40์ผ๋ก ๊ธ์ฆ, completion ratio๋ ๊ฐ์ฅ ๋ฎ์. ์ด๊ฐ์ด ์์ผ๋ฉด ์์ ์ ์ ์ด์ ๋ชป ์ก์ ๋ฌผ์ฒด๋ฅผ ๋จ์ด๋จ๋ฆฝ๋๋ค. ์ฆ ์ด๊ฐ = ์์ ์ ์ ์ด ์ ์ง.
- Center loss ์ ๊ฑฐ: dropping์ด 9/40์ผ๋ก ๊ฐ์ฅ ๋์. ์ค์ฌ ์์ค์ด โ์ ์ด์ ์ค์์ผ๋ก ๊ฐ์ ธ๊ฐ๋ ์กฐ์ ํ๋โ์ ํ์ต์์ผ ๋จ์ด๋จ๋ฆผ์ ๋ง๋๋ค๋ ์ฆ๊ฑฐ.
- Task loss ์ ๊ฑฐ: over-tracing 7/40์ผ๋ก ๋๊ณ early stopping๋ ๋์ด๋จ. ์๋ฃ ์ง์ ์ถ๋ ฅ์ด ๋์ ์ธ์์ ๊ธฐ์ฌํจ์ ๋ณด์ฌ์ค๋๋ค.
ํฅ๋ฏธ๋ก์ด ์ ์ success time(์์ ์๊ฐ)์ ๋ชจ๋ ๋ณํ์์ ํฐ ์ฐจ์ด๊ฐ ์์๋ค๋ ๊ฒ์ ๋๋ค. ์ฆ ์ด ๊ตฌ์ฑ ์์๋ค์ โ์๋โ๊ฐ ์๋๋ผ โ์ฑ๊ณต/์คํจ์ ์งโ์ ์ข์ฐํฉ๋๋ค.
๊ฒฐ๊ณผ 3: ํตํฉ ๋ชจ๋ธ vs ๊ฐ๋ณ ๋ชจ๋ธ
1D๋ง, 2D๋ง, ์ ๋ถ ํฉ์น ๋ฐ์ดํฐ๋ก ๊ฐ๊ฐ ํ์ตํด ๋น๊ตํ์ต๋๋ค(Table II). ๊ฒฐ๋ก ์ ํตํฉ ํ์ต์ด ๊ฐ๋ณ ํ์ต ๋๋น ์ฑ๋ฅ์ ํด์น์ง ์๋๋ค์ ๋๋ค. ๊ฐ์ ๋ฌผ์ฒด ๊ธฐ์ค์ผ๋ก ๋จ์ผ ๋ฐ์ดํฐ ๋ชจ๋ธ๊ณผ ํตํฉ ๋ชจ๋ธ ์ฌ์ด์ ๋๋ ทํ ์ฐจ์ด๊ฐ ์์์ต๋๋ค. 1D ๋ฌผ์ฒด์ ์ฑ๊ณต๋ฅ (80~90%)์ด 2D๋ณด๋ค ๋์ฒด๋ก ๋์๋๋ฐ, 2D ๋ฌผ์ฒด๋ ์๊ฐ๋ฝ ๋ฐ์ผ๋ก ์ฒ ์ผ๋ถ๊ฐ ๋์ด์ ธ(dangle) ์ค๋ ฅ ๋๋ฌธ์ ๊ทธ๋ฆฌํผ ์์ชฝ์ผ๋ก ๋น ์ง๊ธฐ ์ฌ์์์ ๋๋ค. ์๊ฑด์ ์ฒ๋ณด๋ค ํฌ๊ณ ๋ฌด๊ฑฐ์ ๋ ๋ถ๋ฆฌํ๊ณ , ๊ธธ์ด๊ฐ ๊ธธ์๋ก ์ถ์ ์ค์ฐจ๊ฐ ๋์ ๋์ต๋๋ค.
๊ฒฐ๊ณผ 4: Unseen ๋ฌผ์ฒด ์ผ๋ฐํ
ํ์ต์ ์ฐ์ง ์์ ๋กํ(1D)์ ๋ ํจ(2D)์ผ๋ก ํ๊ฐํ์ต๋๋ค(๋ฌผ์ฒด๋น 20ํ).
| Unseen ๋ฌผ์ฒด | Success rate | Collision | Early stop | Over-trace | Drop |
|---|---|---|---|---|---|
| Rope (1D) | 70.0% [48.1, 85.5] | 0/20 | 4/20 | 4/20 | 2/20 |
| Napkin (2D) | 60.0% [38.7, 78.1] | 2/20 | 0/20 | 4/20 | 2/20 |
์ ์ฒด ํ๊ท 65%๋ก, seen ๋ฌผ์ฒด์ 80%๋ณด๋ค ๋ฎ์ง๋ง ๋ฌด๋์ง์ง ์์์ต๋๋ค. ์ข ๋ฃ ๊ด๋ จ ์คํจ(early stopping, over-tracing)๊ฐ ๋ ์์ฃผ ๋์๋๋ฐ, ์ด๋ ์๊ฐ์ ์ธํ์ด ๋ฌ๋ผ์ง ์ํฅ์ด ๋ ํฌ๋ค๋ ํด์์ ๋๋ค. ์ด๊ฐ ํ ์ค์ฒ๋ unseen ๋ฌผ์ฒด๊ฐ seen ๋ฌผ์ฒด์ ๋ฎ์ ์์ด(๋ ผ๋ฌธ Fig. 6) ์ ์ด ์ ์ง ์ธก๋ฉด์ ์ผ๋ฐํ๋ ๋น๊ต์ ์ ๋์ต๋๋ค.
๋นํ์ ๊ณ ์ฐฐ
๊ฐ์
- ๋ฌธ์ -ํด๋ฒ์ ์ ํฉ์ฑ์ด ๋ช ํํจ: ๋ฌธ์ ์ ์์์ ๋ ์ ์ฝ(p_t \in o^T, p_t \in \mathcal{C}_t)๊ณผ ๋ ๋ชฉํ(๋จ์กฐ ์ฆ๊ฐ, ๊ธธ์ด ์๋ ด)๋ฅผ ์ธ์ฐ๊ณ , center loss์ task loss๊ฐ ๊ฐ๊ฐ ์ด๋ฅผ ์ ํํ ๊ฒจ๋ฅํฉ๋๋ค. Ablation ํ์ ์คํจ ๋ชจ๋ ๋ถํฌ๊ฐ ์ด ์ค๊ณ ์๋๋ฅผ ๊น๋ํ๊ฒ ์ ์ฆํฉ๋๋ค.
- ์์ฐ์์๊ฒ๋ ํผ๋๋ฐฑ์ ์ค ์ : ๋ฐ์ดํฐ ์์ง ์ฅ์น์ ์ง๋ยท์ค์๊ฐ ์คํธ๋ฆฌ๋ฐ์ ์ฌ์ํด ๋ณด์ด์ง๋ง, ๋ชจ๋ฐฉํ์ต์ ๋ณ๋ชฉ์ธ โ์์ฐ ํ์งโ์ ์ ๋ฉด์ผ๋ก ๋ค๋ฃฌ ์ค์ฉ์ ๊ธฐ์ฌ์ ๋๋ค.
- ๋ชจ๋์ฑ: center loss, task loss, teleoperation ์์คํ ์ ACT์ ์ข ์๋์ง ์๊ณ Diffusion Policy ๋ฑ ๋ค๋ฅธ IL ์๊ณ ๋ฆฌ์ฆ์๋ ์ด์ ๊ฐ๋ฅํ๋ค๊ณ ์ ์๋ค์ด ๋ฐํ๋๋ค. ์ฌ์ฌ์ฉ์ฑ์ด ๋์ต๋๋ค.
- ๊ณ ์ ์์์ฒ๋ฆฌ์ ์ ์ ํ ํ์ฉ: ์ ์ด์ ์ถ์ถ์ ๋ฌด๊ฑฐ์ด ํ์ต ๋ชจ๋ธ ๋์ contour+ellipse ํผํ ์ ์ด ๊ฒ์ ๊ณ ํด์๋ ์ด๊ฐ ํ ์ค์ฒ์ ์ ๋ช ํจ์ ์ ์ด๋ฆฐ ํฉ๋ฆฌ์ ์ ํ์ ๋๋ค.
์ฝ์ ยทํ๊ณ
- ํ๋ณธ ๊ท๋ชจ๊ฐ ์์: ํต์ฌ ๋น๊ต๊ฐ ๋ฌผ์ฒด๋น 10ํ(ablation ์ด 40ํ), unseen์ ๋ฌผ์ฒด๋น 20ํ ์์ค์ ๋๋ค. Wilson 95% ์ ๋ขฐ๊ตฌ๊ฐ์ด ์๋นํ ๋์ด(์: Ours 80%์ ๊ตฌ๊ฐ [65.2, 89.5]) โ80% vs 65%(w/o Tactile 60%)โ์ ์ฐจ์ด๊ฐ ํต๊ณ์ ์ผ๋ก ์ผ๋ง๋ ๊ฒฌ๊ณ ํ์ง๋ ๋ค์ ๋ณด์์ ์ผ๋ก ๋ฐ์๋ค์ฌ์ผ ํฉ๋๋ค.
- ์๋ฃ ์ง์์ ๊ฐ์ : task loss๋ โ๋ฌผ์ฒด๊ฐ p_0๊ณผ p_t ์ฌ์ด์์ ํฝํฝํ ์ง์ ์ผ๋ก ๋น๊ฒจ์ง๋คโ๋ ๊ฐ์ ์ ๊ธฐ๋๋๋ค. ๋์จํ๊ฑฐ๋ ๊ณก๋ฅ ์ด ํฐ ๊ตฌ๊ฐ, ๋งค์ฐ ์ ์ถ์ฑ ์๋ ๋ฌผ์ฒด์์๋ ์ด ์ง์ ๊ฑฐ๋ฆฌ ์ถ์ ์ด ์ค์ ์งํ๋ฅ ๊ณผ ์ด๊ธ๋ ์ ์์ต๋๋ค. (์ถ์ธก: ์ ์ถ์ฑ์ด ํฐ ๊ณ ๋ฌด์ค๋ฅ์์๋ ์ค์ฐจ๊ฐ ์ปค์ง ๊ฐ๋ฅ์ฑ.)
- 2D ๋ฌผ์ฒด์ ์ค๋ ฅ ์ทจ์ฝ์ฑ: 2D ๋ฌผ์ฒด์ dropping/over-tracing์ ์ ์ฑ ๋ณด๋ค๋ ๊ทธ๋ฆฌํผ ํ์์ ํ๊ณ๋ก ๋ณด์ ๋๋ค. ์ ์๋ค๋ V์ํยท๊ตฌ๋ฉํ ๊ทธ๋ฆฌํผ ๋ฑ mechanical intelligence์์ ๊ฒฐํฉ์ ํฅํ ๊ณผ์ ๋ก ๋ญ๋๋ค.
- ์๊ฐ ์์กด์ ์ผ๋ฐํ: unseen ์ฑ๋ฅ ์ ํ๊ฐ ์ฃผ๋ก ์๊ฐ ์ธํ ๋ณํ์์ ์จ๋ค๋ ์ ์, ์๊ฐ ์ธ์ฝ๋๊ฐ ์ธํ์ ๋ค์ ๊ณผ์ ํฉ(overfit)๋์ ๊ฐ๋ฅ์ฑ์ ์์ฌํฉ๋๋ค. ์กฐ๋ช ์ ๊ณ ์ ํ๊ณ ๊ฒ์ ์คํ์ง ํจ๋๋ฅผ ์ฐ๋ ๋ฑ ํ๊ฒฝ์ด ํต์ ๋ ์ ๋ ์ค์ ์ ์ฉ ์ ์ผ๋ฐํ์ ๋ถ๋ด์ด ๋ ์ ์์ต๋๋ค.
- ๋จ์ผ ๋ก๋ดยท๋จ์ผ ์ผ์ ํ๊ฐ: ABB YuMi + GelSight Wedge ํ ์กฐํฉ์์๋ง ๊ฒ์ฆ๋์ด, ๋ค๋ฅธ ๊ทธ๋ฆฌํผ/์ผ์๋ก์ ์ด์์ฑ์ ๋ฏธ๊ฒ์ฆ์ ๋๋ค.
๊ด๋ จ ์ฐ๊ตฌ์์ ๋น๊ต
- ๋ชจ๋ธ ๊ธฐ๋ฐ ์ ์ด(She et al., Zhang et al. ๋ฑ): ์ ํํ ๋์ญํ ๋ชจ๋ธ๊ณผ ๋ฌผ์ฒด๋ณ ์ปจํธ๋กค๋ฌ๊ฐ ํ์ํด ์ผ๋ฐํ๊ฐ ์ฝํจ. ๋ณธ ๋ ผ๋ฌธ์ IL๋ก ๋ชจ๋ธ๋ง ๋ถ๋ด์ ์ ๊ฑฐํ๊ณ ํตํฉ ์ ์ฑ ์ ์ถ๊ตฌ.
- RL(Pecyna et al., Sun et al. ๋ฑ): ๋ณด์ ์ค๊ณ์ sim-to-real gap ๋ฌธ์ . ๋ณธ ๋ ผ๋ฌธ์ ์ค์ ์์ฐ๋ง์ผ๋ก ํ์ตํด ์ด gap์ ํํผ.
- ์๊ฐ-์ด๊ฐ IL(Xue et al.์ AR ๊ธฐ๋ฐ ์์คํ , Tactile-ALOHA ๋ฑ): ์ ์ด์ด ํ๋ถํ ์กฐ์์ ์๊ฐ+์ด๊ฐ์ ๊ฒฐํฉํ ์ ํ ์ฐ๊ตฌ๋ค๊ณผ ๊ฐ์ ๊ณ๋ณด. ๋ณธ ๋ ผ๋ฌธ์ ์ฐจ๋ณ์ ์ (1) 1D/2D๋ฅผ ์์ฐ๋ฅด๋ ํตํฉ ํธ๋ ์ด์ฑ, (2) center loss + task loss๋ผ๋ ํธ๋ ์ด์ฑ ํนํ ๋ชฉ์ ํจ์, (3) ์์ฐ์ ํผ๋๋ฐฑ๊น์ง ๊ฐ์ถ ์ ๋น์ฉ ์์คํ .
์์ฝ ๋ฐ ๊ฒฐ๋ก
ViTac-Tracing์ โ์ํจ ๋ณํ์ฒด๋ฅผ ํด๋ ํธ๋ ์ด์ฑโ์ด๋ผ๋ ์ ์ฒ๋ฆฌ ์์ ์, ์๊ฐ๊ณผ ์ด๊ฐ์ ํจ๊ป ์ฐ๋ ๋จ์ผ ํตํฉ ๋ชจ๋ฐฉํ์ต ์ ์ฑ ์ผ๋ก ํผ ์ฐ๊ตฌ์ ๋๋ค. ํต์ฌ์ ๋ ๊ฐ์ ํธ๋ ์ด์ฑ ํนํ ์์ค์ ๋๋ค.
- Local Center Loss: ์ ์ด์ ์ ์ด๊ฐ ์ด๋ฏธ์ง ์ค์์ผ๋ก ๊ฐ์ ธ๊ฐ๋ ํ๋์ ๊ฐ์ค์น๋ฅผ ์ค ์ ์ด ์์ ์ฑ(๋์น์ง ์๊ธฐ)์ ํ๋ณด.
- Global Task Loss: ์๋ฃ ์ง์ I๋ฅผ ๋ณด์กฐ ์ถ๋ ฅ์ผ๋ก ์์ธกํ๊ฒ ํด ์์ ์งํ/์ข ๋ฃ ์ธ์(์ธ์ ๋ฉ์ถ์ง)์ ํ์ต.
์ฌ๊ธฐ์ ์์ฐ์์๊ฒ ์๊ฐยท์ด๊ฐยท์ง๋ ํผ๋๋ฐฑ์ ์ฃผ๋ ์ ๋น์ฉ ABB YuMi ์๊ฒฉ์กฐ์ ์์คํ ์ผ๋ก ์์ง์ ๋ฐ์ดํฐ๋ฅผ ๋ชจ์์ต๋๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก seen ๋ฌผ์ฒด 80%, unseen ๋ฌผ์ฒด 65%์ ์ฑ๊ณต๋ฅ ์ ๋ฌ์ฑํ๊ณ , ablation์ผ๋ก โ์๊ฐ=์ข ๋ฃ ์ธ์, ์ด๊ฐ=์ ์ด ์ ์ง, center loss=๋จ์ด๋จ๋ฆผ ๋ฐฉ์ง, task loss=์ข ๋ฃ ์ ํ๋โ๋ผ๋ ์ญํ ๋ถ๋ด์ ๋ช ํํ ๋ณด์์ต๋๋ค.
๋ก๋ด๊ณตํ ์ค๋ฌด์ ๊ด์ ์์ ์ด ๋ ผ๋ฌธ์ด ์ฃผ๋ ๋ฉ์์ง๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ๋ณํ์ฒด ์กฐ์์์ ์ด๊ฐ์ โ์์ผ๋ฉด ์ข์โ ๊ฒ์ด ์๋๋ผ ๊ฐ๋ฆผ(occlusion)์ด ๋ณธ์ง์ธ ์ํฉ์์ ๊ตญ์ ์ ์ด ์ ๋ณด๋ฅผ ๋ฉ์ฐ๋ ํ์ ์์์ด๋ฉฐ, ์์ ์ ์งํ๋ฅ ์ ๋ช ์์ ๋ณด์กฐ ๊ณผ์ ๋ก ํ์ต์ํค๋ฉด ์ข ๋ฃ ์์ ํ๋จ์ด ํฌ๊ฒ ๊ฐ์ ๋๋ค๋ ์ ์ ๋๋ค. ๋ ์์ค ๋ชจ๋ ACT๊ฐ ์๋ ๋ค๋ฅธ IL ๋ฐฑ๋ณธ(์: Diffusion Policy)์๋ ๊ทธ๋๋ก ๋ถ์ผ ์ ์๋ ๋ชจ๋์ด๋ผ, ์ ์ด ๊ธฐ๋ฐ ์กฐ์์ ์ฐ๊ตฌํ๋ ์ฌ๋์๊ฒ ๊ณง์ฅ ์๋ํด๋ณผ ๋งํ ์ค์ฉ์ ๋๊ตฌ์ ๋๋ค. ํฅํ ๊ณผ์ ๋ก๋ ํนํ ๊ทธ๋ฆฌํผ์์ ๊ฒฐํฉ, ๋ ๊น์ ์ผ์ ์ตํฉ, ๋ ํฐ ๊ท๋ชจ์ ํ๊ฐ๊ฐ ์ ์๋์์ต๋๋ค.