graph TB
subgraph Stage1["Stage 1: Teacher Policy (Simulation Only)"]
S1[Privileged State<br/>object pose, velocity, shape,<br/>mass, friction, COM, axis k]
S1 --> T[Teacher MLP]
T --> A1[Joint Targets]
A1 --> R[Reward: omega dot k]
R -.PPO Update.-> T
end
subgraph Stage2["Stage 2: Student Policy (Distillation)"]
O[Depth Image] --> PE[Point Cloud<br/>Encoder]
TC[Tactile Binary] --> TE[Tactile Encoder]
P[Proprioception<br/>q, q_target] --> PR[Proprio Encoder]
K[Target Axis k] --> KE[Axis Embedding]
PE --> TF[Transformer Backbone]
TE --> TF
PR --> TF
KE --> TF
TF --> A2[Joint Targets]
end
T -.Action Imitation.-> A2
๐RotateIt ๋ฆฌ๋ทฐ
Haozhi Qi, Brent Yi, Sudharshan Suresh, Mike Lambeta, Yi Ma, Roberto Calandra, Jitendra Malik
UC Berkeley, Meta AI, CMU, TU Dresden
Conference on Robot Learning (CoRL), 2023
- ๐ ๋ณธ ์ฐ๊ตฌ๋ multimodal sensory input(์๊ฐ, ์ด๊ฐ, proprioception)์ ํ์ฉํ์ฌ ์๊ฐ๋ฝ ๋์ผ๋ก ๋ค์ํ ์ถ์์ ๋ฌผ์ฒด๋ฅผ ํ์ ์ํค๋ ์์คํ ์ธ RotateIt์ ์ ์ํฉ๋๋ค.
- ๐ก RotateIt์ ์๋ฎฌ๋ ์ด์ ์์ privileged information์ ํ์ฉํ oracle policy๋ฅผ ํ๋ จํ ํ, visuotactile transformer๋ฅผ ํตํด ํ์ค์ ์ธ ์ผ์ ์ ๋ ฅ์ผ๋ก๋ถํฐ ์ด ์ ๋ณด๋ฅผ ์ถ๋ก ํ์ฌ visuotactile policy๋ฅผ ํ์ตํ๋ ์ด์ค ๋จ๊ณ ์ ๊ทผ ๋ฐฉ์์ ์ฌ์ฉํฉ๋๋ค.
- โ Vision ๋ฐ tactile sensing์ด ์กฐ์ ์ฑ๋ฅ๊ณผ OOD(Out-of-Distribution) generalization์ ์ค์ํจ์ ๋ณด์ฌ์ฃผ๋ฉฐ, ์๋ฎฌ๋ ์ด์ ์์ ํ๋ จ๋ ์ ์ฑ ์ด ์ค์ ์ธ๊ณ์ ๋ค์ํ ๋ฌผ์ฒด์ ์ฑ๊ณต์ ์ผ๋ก ์ ์ฉ๋ ์ ์์์ ์ ์ฆํ์ต๋๋ค.
๐ Ping Review
๐ Ping โ A light tap on the surface. Get the gist in seconds.
Haozhi Qi ์ธ ์ฐ๊ตฌ์ง์ โGeneral In-Hand Object Rotation with Vision and Touchโ ๋ ผ๋ฌธ์์ ์๊ฐ ๋ฐ ์ด๊ฐ ํผ๋๋ฐฑ์ ํตํฉํ์ฌ ๋ค์ํ ๊ฐ์ฒด๋ฅผ ์ ์์์ ๋ค์ถ ํ์ ์ํค๋ ์์คํ ์ธ RotateIt์ ์๊ฐํฉ๋๋ค. ์ด ์ฐ๊ตฌ๋ ๊ธฐ์กด์ ์กฐ์ ๊ธฐ์ ์ด ์ง๋ฉดํ๋ ์ผ๋ฐํ ๋ฐ ์์ ์ฑ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ฉฐ, ํนํ ๋ค์ํ ํํ์ ๊ฐ์ฒด์ ๋ํ ์์ ์ ์ธ ํ ํ์(force closure) ์ ์ง์ ์ด๋ ค์์ ๊ทน๋ณตํ๋ ๋ฐ ์ค์ ์ ๋ก๋๋ค.
ํต์ฌ ๋ฐฉ๋ฒ๋ก (Core Methodology)
RotateIt์ ์๋ฎฌ๋ ์ด์ ์์ ํ๋ จ๋๊ณ ์ค์ ์ธ๊ณ์ ์ง์ ๋ฐฐํฌ๋๋ sim-to-real ์ ๊ทผ ๋ฐฉ์์ ๋ฐ๋ฆ ๋๋ค. ํ๋ จ์ ํฌ๊ฒ ๋ ๋จ๊ณ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
- Oracle Policy ํ๋ จ (Oracle Policy Training):
- ํน๊ถ ์ ๋ณด (Privileged Information): ์๋ฎฌ๋ ์ด์ ํ๊ฒฝ์์ ๊ฐ์ฒด์ ์ ํํ ๋ฌผ๋ฆฌ์ ํน์ฑ๊ณผ ํ์ ์ ๋ณด(ground-truth physical properties and shapes)๋ฅผ โํน๊ถ ์ ๋ณด(extrinsics)โ z_t ๋ก ํ์ฉํฉ๋๋ค. ์ด ์ ๋ณด๋ ์ ์ฑ ์ด ๊ฐ์ฒด์ ํน์ฑ์ ์๋ฒฝํ๊ฒ ์๋ ์ํ๋ฅผ ๋ชจ๋ฐฉํฉ๋๋ค.
- ํ์ ์ ๋ณด (Shape Information): ๊ฐ์ฒด์ 3D ๋ฉ์์์ N_p๊ฐ์ ํฌ์ธํธ(point)๋ฅผ ์ํ๋งํ ํ, PointNet [72]์ ์ฌ์ฉํ์ฌ c_p์ฐจ์์ ํน์ง ๋ฒกํฐ z_{shape_t}๋ก ์ธ์ฝ๋ฉํฉ๋๋ค. ์ด์ ์ฐ๊ตฌ์ ๋ฌ๋ฆฌ ๊ฐ์ฒด์ ๋ช ์์ ์ธ ํ์ ์ ๋ณด๋ฅผ ์ ์ฑ ์ ์ฃผ์ ํ๋ ๊ฒ์ด ๋ณต์กํ ๊ฐ์ฒด ์กฐ์์ ์ค์ํจ์ ๋ฐ๊ฒฌํ์ต๋๋ค.
- ๋ฌผ๋ฆฌ์ ์์ฑ ๋ฐ ์์ธ (Physical Property and Pose): ๊ฐ์ฒด์ ์ง๋(mass), ๋ฌด๊ฒ ์ค์ฌ(center of mass), ๋ง์ฐฐ ๊ณ์(coefficient of friction), ์ค์ผ์ผ(scale), ๋ฐ๋ฐ ๊ณ์(restitution)๋ฅผ ํฌํจํ๋ 7์ฐจ์ ๋ฌผ๋ฆฌ์ ์์ฑ ๋ฒกํฐ์ ๊ฐ์ฒด์ ์์น, ์์ธ(orientation, ์ฟผํฐ๋์ธ), ๊ฐ์๋(angular velocity)๋ฅผ ํฌํจํ๋ 10์ฐจ์ ์์ธ ๋ฒกํฐ๋ฅผ ๊ฒฐํฉํ์ฌ 8์ฐจ์ ์ธ์ฝ๋ฉ z_{phys_t}๋ก ๋ณํํฉ๋๋ค. ์ต์ข ํน๊ถ ์ธ์ฝ๋ฉ z_t๋ z_{phys_t}์ z_{shape_t}๋ฅผ ๊ฒฐํฉํ ๊ฒ์ ๋๋ค: z_t = [z_{phys_t}, z_{shape_t}].
- ๊ด์ธก ๋ฐ ์ถ๋ ฅ (Observations and Outputs): Oracle policy \pi๋ ๋ก๋ด์ ๊ณ ์ ์์ฉ๊ฐ๊ฐ(proprioception) p_t์ ์ธ์ฝ๋ฉ๋ ํน๊ถ ์ ๋ณด z_t๋ฅผ ์ ๋ ฅ์ผ๋ก ๋ฐ์ต๋๋ค. p_t๋ ์กฐ์ธํธ ์์น ๋ฐ ์ด์ ์ก์ ์ ์งง์ ์๊ฐ ์๋์ฐ(temporal window)๋ฅผ ํฌํจํฉ๋๋ค. ์ ์ฑ ์ 16๊ฐ ๊ด์ ์ ๋ํ PD Controller์ ๋ชฉํ๊ฐ์ธ ์ก์ a_t๋ฅผ ์ถ๋ ฅํฉ๋๋ค. ์ฆ, a_t = \pi(p_t, z_t)์ ๋๋ค.
- ๋ณด์ ํจ์ (Reward Function): ๊ฐ์ฒด ํ์ ๋ณด์ r_{rotr} = \max(\min(\omega \cdot k, r_{max}), r_{min})์ ๊ฐ์ฒด์ ๊ฐ์๋ \omega๊ฐ ๋ชฉํ ํ์ ์ถ k์ ์ผ์นํ๋๋ก ์ฅ๋ คํฉ๋๋ค. ์๋ํ์ง ์์ ํ์ (ํนํ x, y์ถ)์ ๋ฐฉ์งํ๊ธฐ ์ํด r_{rotp} = -\|\omega \times k\|_1 ํํ์ ํ๋ํฐ๋ฅผ ์ถ๊ฐํฉ๋๋ค. ์ด์ธ์๋ ์ ์์ธ ์ดํ, ํ ํฌ, ์๋์ง ์๋ชจ, ๊ฐ์ฒด ์ ํ ์๋์ ๋ํ ํ๋ํฐ ํญ์ ํฌํจํ์ฌ ์์ ์ ์ด๊ณ ํจ์จ์ ์ธ ๋์์ ์ ๋ํฉ๋๋ค.
- ์ ์ฑ ์ต์ ํ (Policy Optimization): PPO [75]๋ฅผ ์ฌ์ฉํ์ฌ Oracle policy๋ฅผ ์ต์ ํํ๋ฉฐ, ํ๋ จ ์ค ๋ค์ํ ๊ฐ์ฒด์ ๋ฌด์์ํ๋ ๋ฌผ๋ฆฌ์ ํน์ฑ ๋ฐ ์ด๊ธฐ ๊ทธ๋ฆฝ์ ์ฌ์ฉํฉ๋๋ค.
- Visuotactile Policy ํ๋ จ (Visuotactile Policy Training):
- ๋๊ธฐ (Motivation): ์ค์ ์ธ๊ณ์์๋ ํน๊ถ ์ ๋ณด z_t์ ์ ๊ทผํ ์ ์์ผ๋ฏ๋ก, ๋ก๋ด์ ์ค์ ๊ด์ธก(์๊ฐ, ์ด๊ฐ, ๊ณ ์ ์์ฉ๊ฐ๊ฐ)์ ํตํด z_t์ ํํ \hat{z}_t๋ฅผ ์ถ๋ก ํด์ผ ํฉ๋๋ค.
- ์ด๊ฐ ์ผ์ฑ (Touch Sensing - Figure 4):
- ์๋ฎฌ๋ ์ด์ ์์๋ ์๋ฎฌ๋ ์ดํฐ๊ฐ ์ ๊ณตํ๋ 2D ํ๋ฉด์์ ์ด์ฐํ๋ ์ ์ด ์์น(discretized contact location)๋ฅผ ์ด๊ฐ ์ ๋ณด์ ๋์ฉ์ผ๋ก ์ฌ์ฉํฉ๋๋ค (8๊ฐ ์์น). ์ ์ด ๊ด์ธก o_{touch_t}๋ ์ ์ด ๊ฐ์ N_c์ 9์ฐจ์ ๋ฐฐ์ด(8์ฐจ์ ์ ์ด ์์น + 1์ฐจ์ ์๊ฐ๋ฝ ์ธ๋ฑ์ค)์ ๋๋ค. MLP๋ฅผ ํตํด ๊ฐ ์ ์ด ์ ๋ณด๋ฅผ ์ฒ๋ฆฌํ ํ ํ๊ท ํ๋ง(average pooling)์ผ๋ก ํตํฉํฉ๋๋ค.
- ์ค์ ์ธ๊ณ์์๋ ์๊ฐ๋ฝ ๋์ ์ฅ์ฐฉ๋ 4๊ฐ์ ์ ๋ฐฉํฅ(omnidirectional) ์๊ฐ ๊ธฐ๋ฐ ์ด๊ฐ ์ผ์(vision-based touch sensor)๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๊ฐ ์ผ์์์ ๊ฐ์ฅ ๊ฐํ ํฝ์ ์ ๋ณํ(deformation)์ ์ถ์ ํ์ฌ ์ ์ด ์์น์ ๋์ฉ์ผ๋ก ์ฌ์ฉํ๋ฉฐ, ์ด 2D ํคํฌ์ธํธ(keypoint)๋ฅผ ์ง์ ์ ์ฑ ์ ์ ๋ ฅํฉ๋๋ค.
- ์๊ฐ ์ผ์ฑ (Vision Sensing - Figure 5):
- ๊ฐ์ฒด ๊น์ด ์ ๋ณด(object depth)๋ฅผ ์๊ฐ ํํ์ผ๋ก ์ฌ์ฉํฉ๋๋ค. ์ด๋ ์ค์ ์ธ๊ณ์์ ์ฌ๋์ ๋ผ๋ฒจ๋ง์ด ํ์ ์๊ณ , RGB ์ด๋ฏธ์ง์ ์ฌ์ค์ ์ธ ์๋ฎฌ๋ ์ด์ ์ด ์ด๋ ค์ด ๋ฐ๋ฉด ๊น์ด ์ ๋ณด๋ ๊ฐ์ฒด ํ์์ ์ ์ถ์ํํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
- ์ค์ ๋ฐฐํฌ ์์๋ Segment Anything [12, 13]์ ์ฌ์ฉํ์ฌ ์์ ๊น์ด ์ด๋ฏธ์ง(raw depth)์์ ๊ฐ์ฒด ์ ๊ฒฝ(foreground)์ ๋ถํ ํ์ฌ sim-to-real gap์ ์ค์ ๋๋ค.
- ๊ฐ์ฒด ๊น์ด ์ด๋ฏธ์ง o_{depth_t}๋ 3-layer ConvNet์ ๊ฑฐ์ณ ํน์ง ๋ฒกํฐ f_{depth_t}๋ก ์ธ์ฝ๋ฉ๋ฉ๋๋ค. ํ๋ จ ์ค์๋ ์นด๋ฉ๋ผ ์์น์ ๋ฐฉํฅ์ ๋ฌด์์ํํ์ฌ ์ ์ฑ ์ ๊ฐ๊ฑด์ฑ์ ๋์ ๋๋ค.
- Visuotactile Transformer (Figure 2):
- ์ด ํธ๋์คํฌ๋จธ \phi๋ ๋ฉํฐ๋ชจ๋ฌ(multimodal) ์ผ์ ์คํธ๋ฆผ์ ๋ชจ๋ธ๋งํ์ฌ ํน๊ถ ์ ๋ณด์ ํ์ต๋ ํํ \hat{z}_t๋ฅผ ์ ํํ๊ฒ ์ถ๋ก ํ๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค.
- ์ธ์ฝ๋ฉ๋ ๊น์ด ์ด๋ฏธ์ง f_{depth_t}, ์ธ์ฝ๋ฉ๋ ์ด๊ฐ ์ ์ด ํฌ์ธํธ f_{touch_t}, ์กฐ์ธํธ ์์น q_t, ์ด์ ํ์์คํ ์ ์ก์ a_{t-1}์ ์ฐ๊ฒฐํ์ฌ ํน์ง ๋ฒกํฐ f_t๋ฅผ ํ์ฑํฉ๋๋ค.
- ํธ๋์คํฌ๋จธ๋ ํน์ง๋ค์ ์ํ์ค f_T = \{f_{t-k}, ..., f_{t-1}, f_t\}๋ฅผ ์ ๋ ฅ์ผ๋ก ๋ฐ์ ์์ธก๋ ์ธ์ ๋ฒกํฐ \hat{z}_t๋ฅผ ์ถ๋ ฅํฉ๋๋ค.
- ํ๋ จ (Training): Oracle policy๋ฅผ ๋กค์์(rollout)ํ๋ฉด์ ์์ธก๋ ์ธ์ ๋ฒกํฐ \hat{z}_t๋ฅผ ์ฌ์ฉํ์ฌ ์ก์ a_t = \pi(p_t, \hat{z}_t)๋ฅผ ์์ฑํฉ๋๋ค. ๋์์ ์ค์ ํน๊ถ ์ ๋ณด z_t๋ฅผ ์ ์ฅํ์ฌ ํ๋ จ ๋ฐ์ดํฐ์ B = \{(f_T^{(i)}, z_t^{(i)}, \hat{z}_t^{(i)})\}_{i=1}^N์ ๊ตฌ์ฑํฉ๋๋ค. ํธ๋์คํฌ๋จธ \phi๋ z_t์ \hat{z}_t ๊ฐ์ l_2 ๊ฑฐ๋ฆฌ ๋ฐ a_t์ \hat{a}_t ๊ฐ์ ์ฐจ์ด๋ฅผ ์ต์ํํ๋๋ก Adam [78]์ ์ฌ์ฉํ์ฌ ์ต์ ํ๋ฉ๋๋ค.
ํ๊ฐ ์ค์ (Evaluation Setup)
- ํ๋์จ์ด (Hardware): AllegroHand (16๊ฐ ๊ด์ ), Intel RealSense D435 ๊น์ด ์นด๋ฉ๋ผ, ์๊ฐ๋ฝ ๋์ ์ ๋ฐฉํฅ ์๊ฐ ๊ธฐ๋ฐ ์ด๊ฐ ์ผ์.
- ์๋ฎฌ๋ ์ด์ (Simulation): IsaacGym [79] ๊ธฐ๋ฐ. ์นด๋ฉ๋ผ-๋ก๋ด ์ธ์ (extrinsics)์ ArUco tag [80]๋ก ๋ณด์ ๋๋ฉฐ, ์๋ฎฌ๋ ์ด์ ์ด๋ฏธ์ง์ ๋ฌด์์ ์์ธ ๋ ธ์ด์ฆ์ ์ฌ์ค์ ์ธ ๊น์ด ๋ ธ์ด์ฆ [81]๋ฅผ ์ ์ฉํฉ๋๋ค.
- ๊ฐ์ฒด ์ธํธ (Object Set): EGAD [30], Google Scanned Objects [31], YCB [32], ContactDB [33]์์ ์์ ๋ ๋ค์ํ ๊ฐ์ฒด๋ค์ ์ฌ์ฉํ๋ฉฐ, width/depth/height (w/d/h) ๋น์จ์ด 2.0 ๋ฏธ๋ง์ธ ๊ฐ์ฒด๋ค๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
- ํ๊ฐ ์งํ (Evaluation Metrics):
- Time-to-Fall (TTF): ๊ฐ์ฒด๊ฐ ์์์ ๋จ์ด์ง๊ธฐ ์ ๊น์ง์ ํ๊ท ์ํผ์๋ ๊ธธ์ด (๋์์๋ก ์ข์).
- Rotation Reward (RotR): ์ํผ์๋ ๋น ํ๊ท \omega \cdot k ๊ฐ (๋์์๋ก ์ข์).
- Rotation Penalty (RotP): ํ์์คํ ๋น ํ๊ท \|\omega \times k\| ๊ฐ (๋ฎ์์๋ก ์ข์, ํนํ x, y์ถ ํ์ ์์ ์ค์).
- Radians Rotated (Rotations): ์ค์ ์ธ๊ณ ์คํ์์ ๋ฌ์ฑ๋ ์ด ํ์ ๊ฐ๋.
๊ฒฐ๊ณผ ๋ฐ ๋ถ์ (Results and Analysis)
- ๊ฐ์ฒด ํ์์ ์ค์์ฑ (Object Shape Importance): Table 1๊ณผ Figure 7, Figure 8์ Oracle policy ํ๋ จ์์ PointNet์ ํตํด ๊ฐ์ฒด ํ์ ์ ๋ณด๋ฅผ ๋ช ์์ ์ผ๋ก ์ฌ์ฉํ๋ ๊ฒ์ด ์ฑ๋ฅ์ ํฌ๊ฒ ํฅ์์ํค๋ฉฐ, ํนํ ๋ถ๊ท์นํ๊ฑฐ๋ w/d/h ๋น์จ์ด ๊ท ์ผํ์ง ์์ ๊ฐ์ฒด์ ๋ํด ๋ ํฐ ์ด์ ์ ์ ๊ณตํจ์ ๋ณด์ฌ์ค๋๋ค. ํ์ ์ ๋ณด๋ฅผ ์ฌ์ฉํ์ง ์์ผ๋ฉด ์ ์ฑ ์ด ๊ฐ์ฒด๋ฅผ ๊ตฌํ ๋๋ ์ง์ก๋ฉด์ฒด๋ก ๊ฐ์ฃผํ๋ ๊ฒฝํฅ์ด ์์ผ๋ฉฐ, ์ด๋ OOD(out-of-distribution) ๊ฐ์ฒด์ ๋ํ ์ผ๋ฐํ ์ฑ๋ฅ์ ์ ํ์ํต๋๋ค.
- Visuotactile Transformer์ ์ค์์ฑ (Importance of Visuotactile Transformer): Figure 6, Figure 7, Figure 8, Table 4๋ ์๊ฐ ๋๋ ์ด๊ฐ ์ค ํ๋๋ง ์ฌ์ฉํด๋ ๊ณ ์ ์์ฉ๊ฐ๊ฐ(proprioception)๋ง์ ์ฌ์ฉํ baseline๋ณด๋ค ์ฑ๋ฅ์ด ํฌ๊ฒ ํฅ์๋๋ฉฐ, ์ด ๋์ ๊ฒฐํฉํ๋ฉด ์ฑ๋ฅ์ด ๋์ฑ ๊ฐ์ ๋์ด Oracle policy ์์ค์ ๊ทผ์ ํจ์ ์ ์ฆํฉ๋๋ค. ํธ๋์คํฌ๋จธ ์ํคํ ์ฒ๋ ์ด์ ์์ ์ Temporal Convolution๋ณด๋ค ์ํ์ค ๋ชจ๋ธ๋ง ๋ฅ๋ ฅ์ด ๋ฐ์ด๋ฉ๋๋ค (Table 4). OOD ์ผ๋ฐํ์๋ Visuotactile ์ ๋ณด๊ฐ ํ์์ ์ ๋๋ค.
- ์ธ๋ถํ๋ ์ด๊ฐ ์ผ์ฑ (Finer Tactile Sensing): Table 2๋ ์ด์ง(binary) ์ ์ด ์ ๋ณด(์ ์ด ์ ๋ฌด)๊ฐ ์ถ๊ฐ์ ์ธ ์ด์ ์ ์ ๊ณตํ์ง ์๋ ๋ฐ๋ฉด, ์ด์ฐํ๋ ์ ์ด ์์น(discretized contact location) ์ ๋ณด๋ ์ฑ๋ฅ ํฅ์์ ๋งค์ฐ ์ค์ํจ์ ๋ณด์ฌ์ค๋๋ค. ์ด๋ ๊ณ ์ ์์ฉ๊ฐ๊ฐ ๋ฐ ์ก์ ์ด๋ ฅ์ ํจ๊ป ์ฌ์ฉํ๋ RotateIt์ ํน์ฑ ๋๋ฌธ์ผ ์ ์์ต๋๋ค.
- ์ ์ฌ ๊ณต๊ฐ์์ ํ์ต๋ ํํ (Representation Learned in the Latent Space): Figure 9๋ ํ์ต๋ z_t ๋ฐ \hat{z}_t ์ธ์ฝ๋ฉ์ด ๊ฐ์ฒด์ 3D ํ์ ์ ๋ณด๋ฅผ ์ ๋ณด์กดํ๊ณ ์์์ ๋ณด์ฌ์ค๋๋ค. ํน๊ถ ์ ๋ณด์ ํ์์ด ํฌํจ๋๋ฉด ์ ์ฑ ์ ๊ฐ์ฒด์ ์ค์ ํ์์ ๋ ์ ํํ๊ฒ ์ดํดํ๊ณ , Visuotactile ์ผ์๋ ๊ณ ์ ์์ฉ๊ฐ๊ฐ๋ง์ผ๋ก๋ ๊ตฌ๋ถํ๊ธฐ ์ด๋ ค์ด ๋ถ๊ท์นํ ๊ฐ์ฒด์ ํ์ ์ดํด๋ฅผ ๋์ต๋๋ค.
- ์ค์ ์ธ๊ณ ํ๊ฐ (Real-world Evaluations): Figure 10์ RotateIt์ด Hora [7]์ ๋ฌ๋ฆฌ ์ค์ ์ธ๊ณ์์ ๋ค์ํ ๊ธฐํํ์ ํํ์ ๊ฐ์ฒด๋ค์ x์ถ์ ๋ฐ๋ผ ์ฑ๊ณต์ ์ผ๋ก ํ์ ์ํค๋ ๊ฒ์ ๋ณด์ฌ์ค๋๋ค. RotateIt์ ํ๋ จ ์ธํธ์ ์๋ ๊ฐ์ฒด๋ค๊ณผ ์ค์ ์ธ๊ณ์ ๋ฌผ๋ฆฌ์ ์ฐจ์ด์๋ ๋ถ๊ตฌํ๊ณ ๋ฐ์ด๋ ์ผ๋ฐํ ์ฑ๋ฅ์ ์ ์ฆํฉ๋๋ค. ์ผ๋ถ ์ด๊ฐ ์ผ์๊ฐ ๋นํ์ฑํ๋ ์ํ์์๋ ์ ์ฌํ ์ฑ๋ฅ์ ๋ณด์ฌ ์๊ณ ๋ฆฌ์ฆ์ ๊ฐ๊ฑด์ฑ์ ์ ์ฆํ์ต๋๋ค.
- ๋ค์ถ ํ๋ จ (Multi-axis Training): Table 3์ ๋จ์ผ ๋คํธ์ํฌ๊ฐ ์ฌ๋ฌ ํ์ ์ถ์ ๋ํ ๊ฐ์ฒด ํ์ ์ ์ํํ๋๋ก ํ๋ จํ ์ ์์์ ๋ณด์ฌ์ค๋๋ค. ์ํ๋ ํ์ ์ถ k๋ฅผ ๊ด์ธก ๊ณต๊ฐ์ ์ถ๊ฐํ๊ณ ๋ชจ๋ฐฉ ํ์ต(imitation learning) ๋ชฉํ์ ํจ๊ป ํ๋ จํ๋ฉด, ์ฆ๋ฅ๋ ๋ค์ถ ์ ์ฑ (distilled multi-axis policy)์ด ๋จ์ผ ์ถ Oracle ์ ์ฑ ๊ณผ ๋น์ทํ ์ฑ๋ฅ์ ๋ณด์ ๋๋ค.
ํ๊ณ ๋ฐ ํฅํ ์ฐ๊ตฌ (Limitations and Future Work)
๋ณธ ์ฐ๊ตฌ์ ํ๊ณ์ ์ผ๋ก๋ ๊ฐ์ฒด๊ฐ ๋ก๋ด ํ์ ๊ธฐ๊ณ์ ํ๊ณ ๋ด์ ์์ด์ผ ํ๋ฉฐ ๋๋ฌด ๊ธธ์ง ์์์ผ ํ๋ค๋ ์ ์ด ์์ต๋๋ค. ๋ํ, ํ๋ จ ํ ์ ์ฑ ์ด ๊ณ ์ (frozen)๋์ด ๋ฐฐํฌ ์ค ์ค์ ๊ฒฝํ์ ํ์ฉํ์ง ๋ชปํ๋ค๋ ์ ๋ ํ๊ณ์ ๋๋ค. ํฅํ ์ฐ๊ตฌ ๋ฐฉํฅ์ผ๋ก๋ ๊ต์ฐจ ๋ชจ๋ฌ(cross-modal) ๊ฐ๋ ์ ํตํ ์ค์ ์ธ๊ณ์์์ ํ์ ํ์ต(lifelong learning), ์ด๋ฏธ์ง ๊ธฐ๋ฐ ์ด๊ฐ ์ผ์์ ์ ์ฒด ์ ๋ณด ํ์ฉ, ์๊ฐ ์์คํ ๊ฐ์ (์: ์๊ฐ ์ฌ์ ํ๋ จ) ๋ฑ์ ์ ์ํฉ๋๋ค.
RotateIt์ ์ด๊ฐ ๋ฐ ์๊ฐ ์ ๋ณด๋ฅผ ํตํฉํ์ฌ ๋ก๋ด์ด ๋ค์ํ ๊ฐ์ฒด๋ฅผ ์ ์์์ ๋ค์ถ์ผ๋ก ์กฐ์ํ ์ ์๊ฒ ํจ์ผ๋ก์จ, ์ผ๋ฐ์ ์ธ ๋ฑ์คํฐ๋ฌ์ค(dexterous) ์ ์กฐ์์ ํฅํ ์ค์ํ ๋ฐ๊ฑธ์์ ๋ด๋์์ต๋๋ค.
๐ Ring Review
๐ Ring โ An idea that echoes. Grasp the core and its value.
ํ๋์ ๋ณด๊ธฐ
์ด ๋ ผ๋ฌธ์ ํ ๊ฐ์ง ๋จ์ํ ์ง๋ฌธ์ ๋ตํ๋ค. โ์ด๋ค ๋ชจ์์ ๋ฌผ์ฒด๋ , ์ด๋ค ์ถ์ผ๋ก๋ ์ ์์์ ๋๋ฆด ์ ์๋ ์ ์ฑ ์ ํ๋๋ก ๋ง๋ค ์ ์๋๊ฐ?โ ๋ต์ โ์๋คโ์ด๊ณ , ๊ทธ ๋น๊ฒฐ์ ๋ ๊ฐ์ง๋ค. (1) ์๋ฎฌ๋ ์ด์ ์์์๋ ์ ์ ์์ผ๋ฅผ ๊ฐ์ง ๊ต์ฌ ์ ์ฑ ์ ๋ง๋ค๊ณ , ํ์ค์์๋ ๋น์ ๊ณผ ์ด๊ฐ๋ง ๋ณด๋ ํ์ ์ ์ฑ ์ผ๋ก ๊ฐ์๋ผ์ฐ๋ teacher-student ์ฆ๋ฅ. (2) ๊น์ด ์นด๋ฉ๋ผ ํ ๋์ ์ ์์ ์ด์ง(binary) ์ ์ด ์ ํธ ๋ช์ญ ๊ฐ๋ฅผ ๋จ์ผ ํธ๋์คํฌ๋จธ์ ํ๋ ค ๋ฃ๋ ๋จ์ํ ํํ. ๊ฒฐ๊ณผ์ ์ผ๋ก Allegro Hand๊ฐ ์์์ ํ์ ์ถ \hat{k}๋ฅผ ์ ๋ ฅ์ผ๋ก ๋ฐ์ ๋ค์ํ ๋ฌผ์ฒด๋ฅผ ๋๊น ์์ด ๋๋ฆฐ๋ค.
ํต์ฌ ๋ฉ์์ง๋ฅผ ๋จผ์ ๋ฐ์๋์. ํ๋ถํ ์ผ์๋ ์ ๊ตํ ๋ชจ๋ธ๋ณด๋ค, ๋ฌด์์ ์ ๋ ฅ์ผ๋ก ์ค์ง์ ์ด๋ป๊ฒ ํ์ต ์ ํธ๋ฅผ ์ค๊ณํ ์ง๊ฐ ์ผ๋ฐํ์ 8ํ ์ ๊ฒฐ์ ํ๋ค. RotateIt์ ์ด๊ฑธ ๊น๋ํ๊ฒ ์ฆ๋ช ํ ์ฌ๋ก๋ค.
์ ์ด ๋ฌธ์ ๊ฐ ์ด๋ ค์ด๊ฐ
์ ์์์ ํ์ ๋๋ ค๋ณด์. ํ ๋ฐํด ๋๋ ๋์ ์๊ฐ๋ฝ์ ์ก์๋ค ๋์๋ค๋ฅผ ์์ญ ๋ฒ ๋ฐ๋ณตํ๋ค. 1์ด ์์ ์ผ์ด๋๋ ์ผ์ด๊ณ , ์ด๋ ํ ์๊ฐ๋ฝ์ด ์กฐ๊ธ๋ง ์ผ์ฐ ๋ผ๋ฉด ํ์ ๋จ์ด์ง๋ค. ์ฌ๋์ ์ด๊ฑธ ๊ฑฐ์ ๋ฌด์์์ ์ผ๋ก ํ๋ค. ํผ๋ถ ์ ์ฒด์ ๊น๋ฆฐ ์ด๊ฐ ์ผ์, ์์ ์๊ธฐ์์ฉ๊ฐ๊ฐ, ์์ผ ์ฃผ๋ณ๋ถ์์ ๋ค์ด์ค๋ ์๊ฐ ์ ๋ณด (๊ทธ๋ฆฌ๊ณ ํ์์ ๊ฒฝํ)๊ฐ ํฉ์ณ์ ธ ๋ง๋ค์ด๋ด๋ ๋ง๋ฒ์ด๋ค.
๋ก๋ด ์์ ์ด ๋ชจ๋ ๊ฒ ๋ถ์กฑํ๋ค. ๊ทธ๋์ in-hand rotation์ โ๋จ์ํ ํ์ ๋ฌธ์ โ๋ผ๊ธฐ๋ณด๋ค โ์ผ์ ๊ฒฐํ ์ํ์์ ์ ์ด ๋์ญํ์ ์ด๋ป๊ฒ๋ ๋ค๋ฃจ๋ ๋ฌธ์ โ์ ๊ฐ๊น๋ค. ์ด๋ ค์์ ์ ๋ฆฌํ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
๋ฌผ์ฒด ๋ค์์ฑ. ์ฌ๊ณผ, ์๊ธฐ๋ฅ, ํ, ์ ์ก๋ฉด์ฒด๋ ๋ง์ฐฐ ๋ถํฌ๋ ๋ฌด๊ฒ์ค์ฌ๋ ๊ด์ฑํ ์๋ ๋ค๋ฅด๋ค. ์ ์ฑ ํ๋๋ก ๋ชจ๋ ๋ค๋ฃจ๋ ค๋ฉด ๋ฌผ์ฒด ํํ์ด ์ผ๋ฐํ ๊ฐ๋ฅํด์ผ ํ๋ค.
ํ์ ์ถ ์ผ๋ฐํ. ๊ธฐ์กด ์ฐ๊ตฌ์ ๋๋ถ๋ถ์ z์ถ(์ค๋ ฅ์ถ) ํ์ ๋ง ๋ค๋ค๋ค. HORA, ๊ทธ ์ด์ ์ OpenAI ํ๋ธ ๋ฑ์ด ๊ทธ ์๋ค. x์ถ์ด๋ y์ถ์ผ๋ก ๋๋ฆฌ๋ ค๋ ์๊ฐ ์ค๋ ฅ์ด ๋ฌธ์ ๋ฅผ ์์ ํ ๋ค๋ฅด๊ฒ ๋ฐ๊ฟ๋๋๋ค. ์๊ฐ๋ฝ์ด ์์ชฝ์์ ๋ ๋ฐ์ณ์ผ ํ๋ ์ํฉ๊ณผ ์์์ ์ก์์ผ ํ๋ ์ํฉ์ ๋์ญํ์ด ๋ค๋ฅด๋ค.
๋ถ๋ถ ๊ด์ธก. ์์ด ๋ฌผ์ฒด์ ๋ฐ๋ํธ์ ๊ฐ๋ฆฌ๊ณ , ์นด๋ฉ๋ผ๋ ํ ์์ ์์๋ง ๋ณธ๋ค. ์ด๊ฐ์ ์์ด์ผ ํ๋๋ฐ Allegro Hand์๋ ๊ธฐ๋ณธ ํ์ฌ๋ ํ๋ถํ ์ด๊ฐ์ด ์๋ค.
Sim-to-real. ์ ์ด ๋์ญํ์ PhysX ๊ฐ์ ์๋ฎฌ๋ ์ดํฐ์์๋ ๊ฐ์ฅ ๋ ธ์ด์งํ ๋ถ๋ถ์ด๋ค. ํ์ต๋ ์ ์ฑ ์ด ์ค์ ์์ผ๋ก ์ฎ๊ฒจ๊ฐ์ ๋ ๋ฌด๋์ง์ง ์์ผ๋ ค๋ฉด ๋๋ฉ์ธ ๋๋คํ์ ํํ ์ค๊ณ๊ฐ ์ ๋ฌํด์ผ ํ๋ค.
ํฐ ๊ทธ๋ฆผ: ๋ ๋จ๊ณ ํ์ต ๊ตฌ์กฐ
RotateIt์ ์์คํ ๊ตฌ์กฐ๋ฅผ ํ ์ฅ์ ๋ค์ด์ด๊ทธ๋จ์ผ๋ก ๊ทธ๋ฆฌ๋ฉด ์ด๋ ๊ฒ ๋๋ค.
ํ์ต์ ๋ ๋จ๊ณ๋ค.
1๋จ๊ณ โ ๊ต์ฌ ์ ์ฑ ํ์ต. ์๋ฎฌ๋ ์ดํฐ(IsaacGym) ์์์, ์ ์ฑ ์๊ฒ ๋ชจ๋ ๊ฑธ ์๋ ค์ค๋ค. ๋ฌผ์ฒด์ ์ ํํ ์์ธ์ ์๋, ๋ฌด๊ฒ, ๊ด์ฑ, ๋ง์ฐฐ๊ณ์, ๋ฌด๊ฒ์ค์ฌ ์์น, ๊ทธ๋ฆฌ๊ณ ๋ชฉํ ํ์ ์ถ \hat{k}๊น์ง. ์ด๊ฑธ ๋ค๊ณ PPO๋ก ์ ์ฑ ์ ํ์ตํ๋ค. ๋ณด์์ ๊ฑฐ์ ํ ์ค: โ๋ฌผ์ฒด๊ฐ ๋ชฉํ ์ถ ๋ฐฉํฅ์ผ๋ก ๋นจ๋ฆฌ ๋์๊ฐ์๋ก ์ข๋ค.โ ๋ค๋ฅธ ํญ๋ค์ ๋ค ํ๋ํฐ(์์ด ๋๋ฌด ๋ฉ๋ฆฌ ๊ฐ์ง ๋ง๋ผ, ์ก์ ์ด ํ์ง ๋ง๋ผ ๋ฑ)๋ค.
2๋จ๊ณ โ ํ์ ์ ์ฑ ์ฆ๋ฅ. ์ด์ ๊ต์ฌ๊ฐ ๋ง๋๋ ํ๋์ ํ๋ด๋ด๋ ํ์์ ๋ง๋ ๋ค. ํ์์ ์ ๋ ฅ์ ํ์ค ๋ก๋ด์์ ์ป์ ์ ์๋ ๊ฒ๋ง: ๊น์ด ์์, ์ด์ง ์ ์ด ์ ํธ, ๊ด์ ๊ฐ๋, ๊ทธ๋ฆฌ๊ณ ๋ชฉํ ํ์ ์ถ. ๊ต์ฌ์ ์ถ๋ ฅ ์ก์ ์ ๋ผ๋ฒจ๋ก ์ผ์ ์ง๋ํ์ต ๋น์ทํ๊ฒ ๊ตด๋ฆฌ๋, ํ์์ด ๋ง๋ trajectory ์์์ ํ์ตํ๋ DAgger ์คํ์ผ ์ฆ๋ฅ๋ฅผ ์ด๋ค.
์ด ๊ตฌ์กฐ๊ฐ ๊ฐ๋ ฅํ ์ด์ ๋ฅผ ์ง๊ด์ ์ผ๋ก ๋ณด์. ๊ฐํํ์ต์ ํํ์ด ์ข์์๋ก ์ ๋๋ค. ๊ทธ๋์ ์ ํํ ์ํ๋ฅผ ๋ค ์๋ ค์ฃผ๋ฉด RL์ด ์ ํ๋ฆฐ๋ค. ํ์ง๋ง ๊ทธ ํํ์ ํ์ค์์ ๋ชป ์ป๋๋ค. ๊ทธ๋ ๋ค๋ฉด? ์ผ๋จ ์ ํธ๋ ์ ์ฑ ์ ์๋ฎฌ๋ ์ด์ ์์์ ๋ง๋ค์ด ๋๊ณ , ๊ทธ ์ ์ฑ ์ ํ๋์ โํ์ค์์ ์ป์ ์ ์๋ ์ ๋ ฅโ์ผ๋ก ํ๋ด๋ด๋ ํ์์ ๋ฐ๋ก ์ง๋๋ค. ๊ฐ์ ํ๋์ ๋ค๋ฅธ ์ ๋ ฅ์ผ๋ก ์ฌ๊ตฌํํ๋ ์ ์ด๋ค.
์ด ํจํด์ HORA, DeXtreme, AnyRotate ๋ชจ๋๊ฐ ๊ณต์ ํ๋ค. RotateIt์ ์ฐจ๋ณ์ ์ ํ์ ์ ์ฑ ์ ๋น์ ๊ณผ ์ด๊ฐ์ ํจ๊ป ๋ฃ์๋ค๋ ๊ฒ, ๊ทธ๋ฆฌ๊ณ ํ์ ์ถ ์ผ๋ฐํ๋ฅผ ์ํ ์กฐ๊ฑดํ๋ฅผ ๋ช ์์ ์ผ๋ก ์ค๊ณํ๋ค๋ ๊ฒ์ด๋ค.
Teacher ์ ์ฑ : ์ ์ ์์ผ๋ก RL์ ๋จ์ํ๊ฒ
๊ต์ฌ์ ์ ๋ ฅ์ ์๋ฎฌ๋ ์ดํฐ์์ ์ง์ ๋ฝ์ ํน๊ถ ์ ๋ณด(privileged information)๋ค.
| ์ ๋ ฅ ์ข ๋ฅ | ๋ด์ฉ | ์ฐจ์ (๋๋ต) |
|---|---|---|
| ์๊ธฐ์์ฉ๊ฐ๊ฐ | ์ ๊ด์ ๊ฐ q, ๋ชฉํ ๊ด์ ๊ฐ q^{tgt} | \sim 32 |
| ๋ฌผ์ฒด ์ํ | ์์น p_o, ์์ธ quaternion, ์ /๊ฐ ์๋ | \sim 13 |
| ๋ฌผ๋ฆฌ ํ๋ผ๋ฏธํฐ | ์ง๋, ๋ง์ฐฐ, ๋ฌด๊ฒ์ค์ฌ, ๊ด์ฑํ ์, ํฌ๊ธฐ | \sim 10 |
| ํ์ ํํ | ๋ฌผ์ฒด ์ ๊ตฐ ๋๋ BPS ์๋ฒ ๋ฉ | \sim 32~128 |
| ๋ชฉํ | ํ์ ์ถ ๋จ์๋ฒกํฐ \hat{k} | 3 |
์ด๊ฑธ MLP์ ๋ฃ์ด ๋น๋ก ์ ์ด(target joint position)๋ฅผ ์ถ๋ ฅํ๋ค. ๋ณด์์ ๋ค์ ํํ๋ก ์์ฝ๋๋ค.
r_t = \underbrace{\boldsymbol{\omega}_t \cdot \hat{k}}_{\text{์ถ ์ ๋ ฌ ํ์ ์๋}} \;-\; c_1 \, d_{\text{wrist}} \;-\; c_2 \, \|q_t - q_0\| \;-\; c_3 \, \|\tau_t\| \;-\; c_4 \, \|a_t\|
์ด๊ฑธ ์ง๊ด์ ์ผ๋ก ์ฝ์ด๋ณด์. ํต์ฌ ๋ณด์์ ์ฒซ ๋ฒ์งธ ํญ ํ๋๋ฟ์ด๋ค. ๋ฌผ์ฒด์ ๊ฐ์๋ \boldsymbol{\omega}_t๋ฅผ ๋ชฉํ ์ถ \hat{k}์ ์ฌ์(projection)ํ ๊ฐ. ๋ง์ฝ ๋ฌผ์ฒด๊ฐ ์ ํํ ์ํ๋ ์ถ์ผ๋ก ๋น ๋ฅด๊ฒ ๋๊ณ ์๋ค๋ฉด ์ด ๊ฐ์ ํฌ๊ณ , ๋ค๋ฅธ ์ถ์ผ๋ก ๋๊ฑฐ๋ ์ ๋๊ณ ์์ผ๋ฉด ์๋ค. ๋๋จธ์ง๋ ๋ชจ๋ โ์ด์ํ ์ง์ ํ์ง ๋ง๋ผโ๋ ํ๋ํฐ๋ค. ์๋ฐ๋ฅ์์ ๋๋ฌด ๋ฉ์ด์ง๋ฉด ์ ๋๊ณ , ๊ด์ ์ด ์ด๊ธฐ ์์ธ์์ ๋๋ฌด ๋ฒ์ด๋๋ ์ ๋๊ณ , ํ ํฌ์ ์ก์ ํฌ๊ธฐ๋ ์์์ผ ํ๋ค.
์ฌ๊ธฐ์ ํฅ๋ฏธ๋ก์ด ๋์์ธ ์ ํ ํ๋. ๋ฌผ์ฒด ์์ธ(orientation)๋ฅผ ๋ชฉํ๋ก ์ฃผ์ง ์๋๋ค. โ์ด ๊ฐ๋๋ก ๋ง์ถฐ๋ผโ๊ฐ ์๋๋ผ โ์ด ์ถ์ผ๋ก ๊ณ์ ๋๋ ค๋ผโ๋ค. ์๋ํ๋ฉด in-hand rotation์ ๋ณธ์ง์ โํน์ ๊ฐ๋์ ๋๋ฌํ๊ธฐโ๊ฐ ์๋๋ผ โ์ฐ์์ ์ผ๋ก ๋๋ฆด ์ ์๋ ๋ฅ๋ ฅโ์ด๊ธฐ ๋๋ฌธ์ด๋ค. ํ์ ์๋๋ฅผ ๋ณด์ํ๋ฉด ์ ์ฑ ์ ์์ฐ์ค๋ฝ๊ฒ โ์ก๊ณ -๋๊ณ -๋ค์ ์ก๊ธฐโ์ ๋ฆฌ๋ฌ์ ์ตํ๋ค.
PPO๋ฅผ IsaacGym์์ ์์ฒ ํ๊ฒฝ ๋ณ๋ ฌ๋ก ๋๋ฆฐ๋ค. ๋๋ฉ์ธ ๋๋คํ๋ ๊ต์ฌ ๋จ๊ณ์์ ์งํํ๋ค. ๋ง์ฐฐ, ์ง๋, ๋ฌด๊ฒ์ค์ฌ, ์ธ๋ ํ ํฌ, ๊ด์ PD ๊ฒ์ธ ๋ฑ์ด ๋งค episode๋ง๋ค ํ๋ค๋ฆฐ๋ค. ์ด ๋๋ถ์ ๊ต์ฌ ์ ์ฑ ์์ฒด๊ฐ ์ด๋ฏธ โ๋ค์ํ ๋ฌผ๋ฆฌ ์กฐ๊ฑด์์ ๊ฒฌ๊ณ ํ ์ ์ฑ โ์ด ๋๋ค.
Student ์ ์ฑ : ๋น์ ๊ณผ ์ด๊ฐ์ ์ด๋ป๊ฒ ๋ฌถ์ ๊ฒ์ธ๊ฐ
ํ์ ์ ์ฑ ์ ์ ๋ ฅ์ ๋ค์ ์ ๋ฆฌํ๋ฉด ๋ค ์ข ๋ฅ๋ค.
- ์๊ธฐ์์ฉ๊ฐ๊ฐ: ๊ด์ ๊ฐ q_t์ ์ง์ ๋ชฉํ ๊ด์ ๊ฐ q^{tgt}_{t-1}. ์ฝ 32์ฐจ์.
- ๋น์ : ์๋ฐ๋ฅ ์์ชฝ์ ๋ถ์ฐฉ๋ ๊น์ด ์นด๋ฉ๋ผ์์ ์ป์ ๋ถ๋ถ ์ ๊ตฐ(partial point cloud). ๋ค์ด์ํ๋งํ์ฌ ์๋ฐฑ ๊ฐ ์ .
- ์ด๊ฐ: ์์ ์ฌ๋ฌ ๋งํฌ์ ๋ถํฌํ ์ด์ง ์ ์ด ์ ํธ. ๊ฐ ์ ์ด ํจ๋์์ โ๋ฟ์๋ค/์ ๋ฟ์๋คโ๋ง ์๋ ค์ฃผ๋ 0/1 ๋ฒกํฐ.
- ๋ชฉํ: ํ์ ์ถ \hat{k} \in \mathbb{R}^3.
์ด๊ฑธ ํธ๋์คํฌ๋จธ ๋ฐฑ๋ณธ ํ๋์ ํ ํฐ ํํ๋ก ๋ฃ๋๋ค. ๊ฐ ๋ชจ๋ฌ๋ฆฌํฐ๊ฐ ์๊ธฐ ์ธ์ฝ๋(MLP ํน์ PointNet ๋ฅ)๋ฅผ ๊ฑฐ์ณ ๊ฐ์ ์ฐจ์์ ๋ฒกํฐ๋ก ๋ณํ๋ ๋ค, ์๊ณ์ด๋ก ์์ฌ ํธ๋์คํฌ๋จธ์ self-attention์ ํต๊ณผํ๋ค.
Pseudocode: Student Forward Pass
def student_policy(depth_img, tactile_bin, proprio, axis_k):
# Per-modality encoders
pc_tokens = pointnet_encoder(depth_to_pointcloud(depth_img)) # [N_pc, D]
tac_tokens = tactile_mlp(tactile_bin) # [N_tac, D]
prop_token = proprio_mlp(proprio) # [1, D]
axis_token = axis_mlp(axis_k) # [1, D]
# Concatenate as a token sequence and run transformer
tokens = concat([pc_tokens, tac_tokens, prop_token, axis_token])
# Temporal context: stack last T frames of tokens
seq = stack_recent_frames(tokens, history=T)
z = transformer(seq)
# Read out action from a designated CLS-like token
action = action_head(z[CLS])
return action
์ฌ๊ธฐ์ ์ง์ด์ผ ํ ๋ํ ์ผ์ด ๋ช ๊ฐ์ง ์๋ค.
์ ์ ๊ตฐ์ธ๊ฐ, ์ ์ด๋ฏธ์ง๊ฐ ์๋๊ฐ. ๊น์ด ์์์ ๊ทธ๋๋ก CNN์ ๋ฃ์ด๋ ๋์ง๋ง, ์ ๊ตฐ์ผ๋ก ๋ณํํด PointNet ๋ฅ๋ก ์ฒ๋ฆฌํ๋ฉด ์ขํ๊ณ ์ ํฉ๊ณผ ์์ ๋ณํ์ ๋ ๊ฐ๊ฑดํ๋ค. Allegro Hand๊ฐ ์์ง์ด๋ฉด ์นด๋ฉ๋ผ ์์ ์์ ๋ณธ ๋ฌผ์ฒด์ ๋ชจ์์ ๋งค ํ๋ ์ ๋ฐ๋๋๋ฐ, ์ ๊ตฐ์ ์ ๊ธฐ์ค ์ขํ๊ณ๋ก ๋ณํํด ์ธ ์ ์๋ค.
์ ์ด์ง ์ด๊ฐ์ธ๊ฐ. ์ฌ์ค GelSight๋ DIGIT ๊ฐ์ ๊ณ ํด์๋ ์ด๊ฐ ์์์ ์ ๋ณด๋์ด ํจ์ฌ ๋ง๋ค. ๊ทธ๋ฐ๋ฐ RotateIt์ ์ผ๋ถ๋ฌ ๋จ์ํํ๋ค. ์ด์ ๋ ๋ ๊ฐ์ง๋ค. (1) ์๋ฎฌ๋ ์ด์ ์์ ํ๋ถํ ์ด๊ฐ์ ์ถฉ์คํ ์ฌํํ๊ธฐ ์ด๋ ต๋ค. PhysX์์ ์ด์ง ์ ์ด์ ๊ฑฐ์ ๋ฌด๋ฃ์ง๋ง ์ ๋ฐ ์๋ ฅ ๋ถํฌ๋ sim-to-real gap์ด ํฌ๋ค. (2) ์ด์ง ์ ํธ๋ง์ผ๋ก๋ ์ถฉ๋ถํ โ์ด๋ ์๊ฐ๋ฝ์ด ์ด๋์ ๋ฟ๊ณ ์๋์งโ๋ฅผ ์ ์ ์๋ค. in-hand rotation์์ ๊ฐ์ฅ ์ค์ํ ์ ๋ณด๋ ์ด ์์ ์ ๋ณด๋ค.
์ถ ์กฐ๊ฑดํ์ ํจ๊ณผ. ๊ฐ์ ๋คํธ์ํฌ๊ฐ \hat{k} = (0,0,1)์ด๋ฉด z์ถ ํ์ ์, \hat{k} = (1,0,0)์ด๋ฉด x์ถ ํ์ ์ ๋ง๋ค์ด๋ธ๋ค. ์ด๊ฒ ๋จ์ํ trick ๊ฐ์ง๋ง, RL ํ์ต์์๋ ํฐ ์ฐจ์ด๋ฅผ ๋ง๋ ๋ค. ์ถ๋ง๋ค ๋ฐ๋ก ์ ์ฑ ์ ํ์ตํ๋ฉด ๋ฐ์ดํฐ๊ฐ ๋ถ์ฐ๋๊ณ , ์ถ๋ค ์ฌ์ด์ ๊ณต์ ๊ฐ๋ฅํ ํํ์ ํ์ฉํ์ง ๋ชปํ๋ค. ํ๋์ ์ ์ฑ ์ด ๋ชจ๋ ์ถ์ ๋ํด ํ์ตํ๋ฉด โ์ก๊ณ -๋๊ธฐโ์ ๊ณตํต ํจํด์ ๊ณต์ ํ๋ฉด์ ์ถ๋ณ๋ก ๋ฏธ์ธ ์กฐ์ ๋ง ํ๋ค.
์ฆ๋ฅ ์์ค์ ํ๋ ๋ชจ๋ฐฉ(behavior cloning) ๊ธฐ๋ฐ์ด๋ค.
\mathcal{L}_{\text{distill}} = \mathbb{E}_{s \sim \pi_{\text{student}}} \big[ \|\pi_{\text{teacher}}(s_{\text{priv}}) - \pi_{\text{student}}(s_{\text{obs}})\|^2 \big]
ํ์์ด ๋ง๋ trajectory ์์์ (DAgger์ฒ๋ผ), ๊ฐ์ ์ํ์์ ๊ต์ฌ๊ฐ ์ด๋ค ์ก์ ์ ํ์์ง๋ฅผ ํ๊ท๋ก ๋ง์ถ๋ค. ํ์์ด ๋ฏธ์ํด์ ๋จ์ด๋จ๋ฆฌ๋ ์ํ๊น์ง ๋ชจ๋ ๊ฒฝํํ๋ฏ๋ก ๋ถํฌ ์ด๋(distribution shift)์ ๊ฐํด์ง๋ค.
๋ณด์๊ณผ ๋๋ฉ์ธ ๋๋คํ ๋ํ ์ผ
๊ต์ฌ ํ์ต์ ๋ณด์์ ์์ ๋ดค์ง๋ง, ์ค์ ์ ํ์ํ ๋ํ ์ผ ๋ช ๊ฐ๋ฅผ ์ง์.
์ถ ์ ๋ ฌ ํญ์ ๋ถํธ. \boldsymbol{\omega}_t \cdot \hat{k}๋ ๋ถํธ๊ฐ ์๋ค. ์ฆ ๋ฐ๋ ๋ฐฉํฅ์ผ๋ก ๋๋ ๊ฑด ์์ ๋ณด์์ด ๋๋ค. ์ ์ฑ ์ โ์ ํด์ง ๋ฐฉํฅ์ผ๋ก ๋๋ฆฌ๊ธฐโ๋ฅผ ํ์ตํ๋ค.
Drop penalty. ๋ฌผ์ฒด๊ฐ ์๋ฐ๋ฅ ์์ญ์ ๋ฒ์ด๋๋ฉด(๋์ด๊ฐ ์ด๋ค ์๊ณ ์๋๋ก ๋จ์ด์ง๋ฉด) episode๋ฅผ ์ข ๋ฃํ๊ณ ํฐ ์์ ๋ณด์์ ์ค๋ค. ๋จ์ด๋จ๋ฆฌ์ง ์๋ ๊ฒ ๊ฐ์ฅ ์ฐ์ ์ด๋ผ๋ ์ฐ์ ์์๊ฐ ๋ณด์์ ์๊ฒจ์ง๋ค.
Action smoothness. \|a_t - a_{t-1}\| ๊ฐ์ ํญ์ด ๋ค์ด๊ฐ ์ก์ ์ด ์ง๋ํ์ง ์๋๋ก ๋ง๋ ๋ค. ์ค์ ํ๋์จ์ด๋ก ์ฎ๊ธธ ๋ ๋งค์ฐ ์ค์ํ ํญ์ด๋ค.
๋๋ฉ์ธ ๋๋คํ์ ํต์ฌ ํ๋ผ๋ฏธํฐ๋ค์ ํ๋ก ์ ๋ฆฌํ๋ฉด ๋๋ต ์ด๋ ๋ค.
| ์นดํ ๊ณ ๋ฆฌ | ํ๋ผ๋ฏธํฐ | ์๋ฏธ |
|---|---|---|
| ๋ฌผ์ฒด | ์ง๋, ํฌ๊ธฐ, ๋ง์ฐฐ๊ณ์, ๋ฌด๊ฒ์ค์ฌ ์คํ์ | ๋ค์ํ ๋ฌผ์ฒด ์ผ๋ฐํ |
| ์ | ๊ด์ PD ๊ฒ์ธ, ๊ด์ ๋ง์ฐฐ, ๊ด์ ๊ฐ ๋ ธ์ด์ฆ | ์ค ๋ก๋ด ์๋ต ํน์ฑ ํก์ |
| ๋์ญํ | ์ธ๋ ํ ํฌ, ์ธ๋ ํ (๋ฌผ์ฒด์ ๊ฐํด์ง๋) | ๋ฏธ์ธ ์ธ๋ ํก์ |
| ์ผ์ | ๊น์ด ๋ ธ์ด์ฆ, ์ ์ด ์ ํธ dropout, ๊ด์ธก ์ง์ฐ | ์ผ์ ๋ ธ์ด์ฆ/์ง์ฐ ํก์ |
์ด ์ค ๊ฐ์ฅ ๊น๋ค๋ก์ด ๊ฒ ์ด๊ฐ์ dropout๊ณผ ๊ด์ธก ์ง์ฐ์ด๋ค. ์ค์ ์์คํ ์์ ์ด๊ฐ ์ผ์๋ ๊ฐ๋ ์ ํธ๋ฅผ ๋์น๊ณ , ๋น์ ํ์ดํ๋ผ์ธ์ 100ms ๋จ์์ ์ง์ฐ์ด ๋ฐ์ํ๋ค. ํ์ตํ ๋ ์ด๊ฑธ ์๋ฎฌ๋ ์ด์ ์ ์๋์ ์ผ๋ก ์ฃผ์ ํ์ง ์์ผ๋ฉด ์ค ๋ก๋ด์์ ํ์๊ฐ์ ๋ฌด๋์ง๋ค.
์คํ ์ค์
์ค์ ์ ์ ์ ๋ค์๊ณผ ๊ฐ๋ค.
ํ๋์จ์ด. Allegro Hand(4์ง 16์์ ๋), RealSense ๋ฅ ๊น์ด ์นด๋ฉ๋ผ, ์ ์์ ์์ ์ด์ง ์ด๊ฐ ํจ๋. ์์ ์์ชฝ์ผ๋ก ๋ค๊ณ ์๋ ์์ธ(palm-up)์ ์์ ํฅํ ์์ธ ๋ฑ ์ฌ๋ฌ ์์ธ์์ ํ ์คํธ๋๋ค.
์๋ฎฌ๋ ์ดํฐ. IsaacGym, ์์ฒ ๊ฐ ํ๊ฒฝ ๋ณ๋ ฌ. ํ์ต ์๊ฐ์ ๋ฉฐ์น ๋จ์.
๋ฌผ์ฒด ์ . YCB-์คํ์ผ์ ๋ค์ํ ๋ชจ์: ์ ์ก๋ฉด์ฒด, ์๊ธฐ๋ฅ, ๊ตฌ, ๋น๋์นญ ๋ํ ๋ฑ. ํ์ต์ฉ๊ณผ ํ๊ฐ์ฉ์ ๋ถ๋ฆฌ.
ํ๊ฐ ์งํ
- ํ๊ท ํ์ ์๋ (rad/s) โ ๋ชฉํ ์ถ ๊ธฐ์ค.
- drop์ด ์ผ์ด๋๊ธฐ๊น์ง์ ํ๊ท ์๊ฐ/ํ์ ์.
- ๋ฏธ๋ณธ(unseen) ๋ฌผ์ฒด์์์ ํ์ ๋ฅ๋ ฅ.
- ์ถ ๋ณ๊ฒฝ์ ๋ํ ์ถ์ข ๋ฅ๋ ฅ.
๊ฒฐ๊ณผ: ๋ฌด์์ด ๋ณด์ฌ์ก๋
๋ ผ๋ฌธ์ ํต์ฌ ๊ฒฐ๊ณผ๋ฅผ ์ ์ฑ์ ์ผ๋ก ์์ฝํ๋ฉด ์ด๋ ๋ค.
์์ ์ถ ํ์ ์ด ์ค์ ๋ก ๋๋ค. Allegro Hand๊ฐ ์๋ฐ๋ฅ ์์ ๋์ธ ๋ฌผ์ฒด๋ฅผ x, y, z ์ถ ๊ฐ๊ฐ์ผ๋ก (๊ทธ๋ฆฌ๊ณ ๊ทธ ์ฌ์ด์ ์์ ์ถ์ผ๋ก) ๋๊น ์์ด ํ์ ์ํค๋ ๋ชจ์ต์ด ์ ์ฑ์ ๋น๋์ค์์ ํ์ธ๋๋ค. ํนํ z์ถ์ด ์๋ ํ์ (์ค๋ ฅ์ด ์ธก๋ฉด์ผ๋ก ์์ฉํ๋ ํ์ )๋ ์์ ์ ์ผ๋ก ์ํํ๋ค.
๋ชจ์ ์ผ๋ฐํ. ํ์ต์์ ๋ณด์ง ๋ชปํ ์๋ก์ด ๋ฌผ์ฒด์ ๋ํด์๋ ํ์ ์๋๊ฐ ํฌ๊ฒ ๋จ์ด์ง์ง ์๋๋ค. ํนํ ๋น๋์นญ ๋ฌผ์ฒด(๊ณต์ด๋ ํ๋ธ๊ฐ ์๋ ๊ฒ)์์๋ ๊ฒฌ๋๋ค๋ ๊ฒ ์ค์ํ๋ค. ๋ฌด๊ฒ์ค์ฌ์ด ํ์ชฝ์ผ๋ก ์ ๋ฆฐ ๋ฌผ์ฒด๋ ํ์ ์ค์ ํ ํฌ ํจํด์ด ๋์์์ด ๋ฐ๋๊ธฐ ๋๋ฌธ์ด๋ค.
์ถ ๋ณ๊ฒฝ ์ถ์ข . ํ์ ์ค์ ๋ชฉํ ์ถ \hat{k}๋ฅผ ๊ฐ์๊ธฐ ๋ฐ๊ฟ๋, ์ ์ฑ ์ ๋จ๊ธฐ๊ฐ ๋ด์ ์ ์ถ์ผ๋ก ํ์ ๋ฐฉํฅ์ ์ ํํ๋ค. ์ด๊ฑด ๋จ์ผ ์ ์ฑ ์์ ์ฌ๋ฌ ์ถ์ด ํตํฉ๋์ด ์๋ค๋ ์ฆ๊ฑฐ๋ค.
Ablation: ๋ฌด์์ด ์ ๋ง ์ค์ํ๊ฐ
Ablation์ด์ผ๋ง๋ก ์ด ๋ ผ๋ฌธ์์ ๊ฐ์ฅ ๋ฐฐ์ธ ๊ฒ ๋ง์ ๋ถ๋ถ์ด๋ค. ๋ฌด์์ ๋นผ๋ฉด ๋ฌด๋์ง๋๊ฐ๋ฅผ ๋ณด๋ฉด, ๋ฌด์์ด ํ์์ธ์ง๊ฐ ๋๋ฌ๋๋ค.
| ์กฐ๊ฑด | ๊ฒฐ๊ณผ (๋๋ต์ ๊ฒฝํฅ) |
|---|---|
| ๋น์ ๋ง, ์ด๊ฐ ์์ | ๋จ์ด๋จ๋ฆผ์ด ์ฆ์์ง. ํนํ ๋ฏธ๋ณธ ๋ฌผ์ฒด์์ |
| ์ด๊ฐ๋ง, ๋น์ ์์ | ํ์ ์๋ ๊ฐ์, ๋ฌด๊ฒ์ค์ฌ ์ถ์ ๋ถ์์ |
| ์๊ธฐ์์ฉ๊ฐ๊ฐ๋ง | z์ถ ์ธ ํ์ ์์ ์ฑ๋ฅ ํฌ๊ฒ ํ๋ฝ |
| ์ถ ์กฐ๊ฑดํ ์ ๊ฑฐ | ๋จ์ผ ์ถ์๋ ํ์ต๋๋ ์ผ๋ฐํ ๋ถ๊ฐ |
| ๋๋ฉ์ธ ๋๋คํ ์์ | ์ค ๋ก๋ด์์ ์ฆ์ ์คํจ |
์ฝ์ด๋ด์ผ ํ ํต์ฌ์ ๋ ๊ฐ์ง๋ค.
๋น์ ๊ณผ ์ด๊ฐ์ ์ํธ๋ณด์์ ์ด๋ค. ๋น์ ์ โ์ ์ฒด ํ์๊ณผ ์์ธโ๋ฅผ ๋ณธ๋ค. ์ด๊ฐ์ โ์ง๊ธ ๋ฌด์์ด ๋ฟ๊ณ ์๋๊ฐโ๋ฅผ ๋ณธ๋ค. ๋น์ ๋ง ์์ผ๋ฉด ์์ ๊ฐ๋ ค์ง ๋ถ๋ถ์ ๋ชจ๋ฅด๊ณ , ์ด๊ฐ๋ง ์์ผ๋ฉด ๋ฌผ์ฒด๊ฐ ์ด๋๋ก ํฅํ๋์ง ์์ธก์ด ์ด๋ ต๋ค. ๋์ด ํฉ์ณ์ ธ์ผ ์ ์ฑ ์ด ์์ ๋๋ค.
์ถ ์กฐ๊ฑดํ๋ ๋จ์ํ์ง๋ง ๊ฒฐ์ ์ ์ด๋ค. ๋จ์ํ ์ ๋ ฅ์ 3์ฐจ์ ๋ฒกํฐ๋ฅผ ์ถ๊ฐํ ๊ฒ๋ฟ์ธ๋ฐ, ์ผ๋ฐํ ๋ฅ๋ ฅ์ด ์ง์ ์ผ๋ก ๋ฌ๋ผ์ง๋ค. ํํ ํ์ต์ ๊ตํ์ด๋ค. ์ ๋ต์ ๋ช ์์ ์ผ๋ก ์๋ ค์ฃผ๋ ์ ๋ ฅ ํ๋๊ฐ ๋ฐฑ ๊ฐ์ hidden layer๋ณด๋ค ํจ๊ณผ์ ์ผ ๋๊ฐ ์๋ค.
๊ฐ์
์ผ๋ฐ์ฑ. ํ์ ์ถ๊ณผ ๋ฌผ์ฒด ๋ชจ์์ ๋์์ ์ผ๋ฐํํ๋ค. ์ด๋ in-hand manipulation์ ๋ชจ๋ ํ์ ๋ฌธ์ (๋๋ฆฌ๊ธฐ, ์ฎ๊ธฐ๊ธฐ, ์์ธ์ก๊ธฐ)๋ก ๊ฐ๋ ๊ธธ์ ์ฒซ ๋จ์ถ๋ค.
ํ์ค ๊ฐ๋ฅ์ฑ. ๊น์ด ์นด๋ฉ๋ผ ํ ๋์ ์ด์ง ์ด๊ฐ๋ง์ผ๋ก ์๋ํ๋ค. GelSight ๊ฐ์ ์ ๋ฐ ์ด๊ฐ ์์ด๋ ๋๋ค. Allegro Hand ์ฌ์ฉ์์๊ฒ ์ด๊ฑด ๋งค์ฐ ํ์ค์ ์ธ ์ ์ ์ด๋ค.
ํ์ฅ ๊ฐ๋ฅํ ์ํคํ ์ฒ. ํธ๋์คํฌ๋จธ ๋ฐฑ๋ณธ + ํ ํฐ ๊ธฐ๋ฐ ์ ๋ ฅ์ ์๋ก์ด ๋ชจ๋ฌ๋ฆฌํฐ(์: ์ํฅ, ์ถ๊ฐ ์นด๋ฉ๋ผ, ํํ ํฌ)๋ฅผ ๋ผ์ ๋ฃ๊ธฐ ์ฝ๋ค.
์ฆ๋ฅ ํจํด์ ์ฌํ์ฑ. ์ฝ๋์ ํ์ต ๋ ์ํผ๊ฐ ํ์ ์ฐ๊ตฌ(AnyRotate, DexNDM ๋ฑ)์์ ์ฌํ์ฉ๋๋ค. ์ฆ ์ด ๋ ผ๋ฌธ์ด ์ ์ํ ๋ฐฉ๋ฒ๋ก ์ด ์ปค๋ฎค๋ํฐ ํ์ค์ผ๋ก ์๋ฆฌ์ก์๋ค.
์ฝ์ ๊ณผ ํ๊ณ
์ด์ง ์ด๊ฐ์ ํ๊ณ. 0/1๋ง์ผ๋ก๋ ๋ฏธ๋๋ฌ์ง(slip)์ ์ ๋ฐํ๊ฒ ๊ฐ์งํ ์ ์๋ค. ์ฌ๋์ ์์์ ๋ฏธ๋๋ฌ์ง ๊ฐ์ง๋ ํ์ ์๋ ์กฐ์ ์ ํต์ฌ์ธ๋ฐ, ์ด์ง ์ ํธ๋ก๋ ์ฌํ์ ์ผ๋ก๋ง ์ ์ ์๋ค. DIGIT ๊ฐ์ ์๊ฐ ์ด๊ฐ์ ์ตํฉํ๋ฉด ๋ ๋น ๋ฅด๊ฒ ํ์ ์ํค๊ฑฐ๋ ๋ ์์/๋ฏธ๋๋ฌ์ด ๋ฌผ์ฒด๋ฅผ ๋ค๋ฃฐ ์ ์์ ๊ฒ์ด๋ค.
์์น ์ ์ด์ ํ๊ณ. ์ ์ฑ ์ ์ถ๋ ฅ์ ๋ชฉํ ๊ด์ ๊ฐ์ด๋ค. ์ํผ๋์ค/ํฌ์ค ์ ์ด๊ฐ ์๋๋ค. ๋ถ๋๋ฌ์ด ๋ฌผ์ฒด, ๋ณํ๋๋ ๋ฌผ์ฒด, ๊นจ์ง๊ธฐ ์ฌ์ด ๋ฌผ์ฒด์๋ ์ ์ ๋ง์ ์ ์๋ค.
Sim-to-real์ ๋น์ฉ. ๋๋ฉ์ธ ๋๋คํ + ๋ค์ค ๋ชจ๋ฌ๋ฆฌํฐ ํ์ต์ GPU ์๊ฐ์ด ๋ง์ด ๋ ๋ค. ์์ ๋ฉ์์ ์ฌํํ๊ธฐ์๋ ๋ฌด๊ฒ๋ค.
ํ์ ์๋ ์ ํ. ์์ฐ ๋น๋์ค ๊ธฐ์ค์ผ๋ก ํ์ ์ด ๋น ๋ฅด์ง ์๋ค. ์ฌ๋์ด ํ์ ๋๋ฆฌ๋ ์๋์๋ ํ์ฐธ ๋ชป ๋ฏธ์น๋ค. ์ด๊ฑด ํ๋์จ์ด(Allegro์ ๋์ญํ ํ๊ณ), ์ ์ฑ (๋ณด์์ ํ์ต), ์ผ์(๋ฎ์ ํด์๋) ๋ชจ๋์ ํฉ์ฐ ๊ฒฐ๊ณผ๋ก ๋ณด์ธ๋ค.
์๋ฐ๋ฅ ์ ์์ธ ํ์ . ์์ด ์์ ํฅํ๊ฑฐ๋ ๊ฑฐ๊พธ๋ก ๋ ์์ธ์์์ ๊ฒฌ๊ณ ํจ์ ๋น๊ต์ ์ ๊ฒ ๋ณด๊ณ ๋๋ค. ์ฌ๋์ ์์ ์ด๋ป๊ฒ ๋ค๋ ์๊ฐ๋ฝ๋ง์ผ๋ก ํ์ ์ ๋ง๋ค ์ ์๋ค.
๊ณ ์ ๋ ํ์ ์์ . ํ์ ์ถ์ ๋ฐ๋ผ โ๊ณ์ ๋๋ฆฌ๊ธฐโ๋ ์ ํ์ง๋ง, ํน์ ์์ธ๋ก โ์ ๋ฐํ๊ฒ ์ ๋ ฌโํ๋ ๋ฅ๋ ฅ์ ๋ณ๋ ๋ฌธ์ ๋ค. ํ์ ์ฐ๊ตฌ๋ค(์: Dexonomy์ ์ผ๋ฐ ์กฐ์)์ด ์ด ๋ถ๋ถ์ ๋ค๋ฃฌ๋ค.
๊ด๋ จ ์ฐ๊ตฌ ์ง๋
์ด ๋ ผ๋ฌธ์ in-hand manipulation ์ฐ๊ตฌ์ ํ ๋ถ๊ธฐ์ ์ด๋ค. ์ฃผ๋ณ ์ฐ๊ตฌ๋ค๊ณผ์ ์์น ๊ด๊ณ๋ฅผ ์ ๋ฆฌํ๋ฉด ์ด๋ ๋ค.
graph LR
OpenAI[OpenAI Cube<br/>2019] --> HORA[HORA<br/>2022<br/>z-axis, proprio]
HORA --> RotateIt[RotateIt<br/>2023<br/>any axis, vision+touch]
RotateIt --> AnyRotate[AnyRotate<br/>continuous axis,<br/>tactile-focused]
RotateIt --> DexNDM[DexNDM<br/>neural dynamics]
RotateIt --> DextER[DextER<br/>extreme rotation]
HORA --> DeXtreme[DeXtreme<br/>2022<br/>quaternion target]
DeXtreme --> CTR[CTR-MPC<br/>contact-trajectory]
HORA (2022). ๊ฐ์ ๊ทธ๋ฃน์ ์ ํ ์ฐ๊ตฌ. ์๊ธฐ์์ฉ๊ฐ๊ฐ๋ง์ผ๋ก z์ถ ํ์ ํ์ต. RotateIt์ ์ง๊ณ ๋ถ๋ชจ. ๊ฐ์ teacher-student ํจํด์ ๋น์ +์ด๊ฐ์ผ๋ก ํ์ฅํ ๊ฒ์ด RotateIt.
DeXtreme (2022). ํ๋ธ๋ฅผ ๋ชฉํ ์์ธ(quaternion)๋ก ์ ๋ ฌ. ํ์ โ๋ฅ๋ ฅโ๋ณด๋ค โ์ ๋ฐ ์ ๋ ฌโ์ ์ง์ค. RotateIt์๋ ๋ณด์ ์ค๊ณ ์ฒ ํ์ด ๋ค๋ฅด๋ค.
AnyRotate. ์ด๊ฐ ์ค์ฌ์ผ๋ก ์์ ์ถ ํ์ ์ ๋ ๋ฐ์ด๋ถ์ธ ํ์. RotateIt์ด ๋น์ ๊ณผ ์ด๊ฐ์ ์ตํฉ์ ๋ณด์ฌ์คฌ๋ค๋ฉด, AnyRotate๋ ์ด๊ฐ ๋จ๋ ์ ๊ฐ๋ฅ์ฑ์ ํ์ํ๋ค.
DexNDM, DexMimicGen. ํ์ต ๋ฐ์ดํฐ ์์ฑ๊ณผ ์ ๊ฒฝ ๋์ญํ์ผ๋ก ์ผ๋ฐ ์กฐ์์ ํ์ฅ. RotateIt์ ์ ์ฑ ํ์ต ํจํด์ ๋ชจ๋๋ก ํ์ฉ.
CTR-MPC. ๋ชจ๋ธ ๊ธฐ๋ฐ ์ ์ด ๊ถค์ ์ต์ ํ. RotateIt์ RL ์ ๊ทผ๊ณผ ๋๋น๋๋ ์ง์. ๊ฐ์ Allegro Hand ํ๋ซํผ์์ ๋น๊ต ์ฐ๊ตฌ๊ฐ ๊ฐ๋ฅํ๋ค๋ ์ ์์ ์ง์ ์ ๋น๊ต ๋์์ด๋ค.
Allegro Hand ์ฌ์ฉ์ ๊ด์ ์์์ ์์ฌ์
์ฐ๊ตฌ ํ์ฅ์์ ๊ณง์ฅ ์จ๋จน์ ์ ์๋ ์ธ์ฌ์ดํธ๋ฅผ ๋ช ๊ฐ ๋ฝ์.
์ด๊ฐ์ด ์์ด๋ ์์ํ ์ ์๋ค. Allegro V4/V5์ GelSight๋ DIGIT๋ฅผ ๋ถ์ด๋ ๊ฒ ๋ถ๋ด์ค๋ฝ๋ค๋ฉด, ์์ ์ด์ง ์ ์ด ํจ๋(ํน์ ๋ชจํฐ ์ ๋ฅ ๊ธฐ๋ฐ ์ ์ด ์ถ์ )๋ก๋ RotateIt ์์ค์ ํ์ ์ ๊ฐ๋ฅํ๋ค๋ ๋ฉ์์ง๋ก ์ฝํ๋ค.
์ ๊ตฐ ํํ์ด RGB๋ณด๋ค ํฉ๋ฆฌ์ ์ด๋ค. ์ ์์ ๋ง์ดํธํ ์นด๋ฉ๋ผ์ ์์ ์ ๋์์์ด ํ๋ค๋ฆฐ๋ค. RGB CNN๋ณด๋ค ์ ๊ตฐ ๊ธฐ๋ฐ ์ธ์ฝ๋๊ฐ ์์ ๋ณํ์ ๊ฐํ๋ค. PointNet ๋ฅ + ์ ๊ธฐ์ค ์ขํ๊ณ ๋ณํ์ ํ ์ธํธ๋ก ๊ฐ์ ธ๊ฐ๋ ๊ฒ ์ ๋ฆฌํ๋ค.
์ถ ์กฐ๊ฑดํ๋ ๊ฑฐ์ ๊ณต์ง๋ค. 3์ฐจ์ ๋จ์๋ฒกํฐ ์ ๋ ฅ๋ง ์ถ๊ฐํ๋ฉด ์ ์ฑ ์ด ์ผ๋ฐํ๋๋ค. ์ด๊ฑด ํ์ ๋ฟ ์๋๋ผ ๋ค๋ฅธ in-hand ์์ ์๋ ์ ์ฉ ๊ฐ๋ฅํ ์์ด๋์ด๋ค. ๋ชฉํ ์์ธ, ๋ชฉํ ์์น, ๋ชฉํ ํ ํฌ ๋ชจ๋ ๊ฐ์ ํจํด์ผ๋ก ์กฐ๊ฑดํํ ์ ์๋ค.
Domain randomization์ ์ง์ง ๋น๋ฐ์ ์ผ์๋ค. ๋ง์ฐฐ๊ณผ ์ง๋์ ๋๋คํํ๋ ๊ฑด ๊ฑฐ์ ๋ชจ๋ RL ๋ ผ๋ฌธ์ด ํ๋ค. ์ง์ง ์ฐจ์ด๋ฅผ ๋ง๋๋ ๊ฑด ์ผ์ ๋ ธ์ด์ฆ, ์ง์ฐ, dropout์ ์๋ฎฌ๋ ์ด์ ์ด๋ค. ์ด ๋ถ๋ถ์ ๋ํ ์ผ์ ํ์ต ์ฝ๋์์ ์ต์ฐ์ ์ผ๋ก ์ฑ๊ฒจ์ผ ํ๋ค.
Isaac Lab ์ด์ ์ ์ฃผ์์ . RotateIt์ด ์ฌ์ฉํ IsaacGym ๊ธฐ๋ฐ ํ์ต ๋ ์ํผ๋ฅผ Isaac Lab์ผ๋ก ์ฎ๊ธธ ๋, ๋ ๊ฐ์ง ํจ์ ์ด ์๋ค. (1) ์ ์ด ๋ง์ฐฐ ๋ชจ๋ธ(ํนํ torsional/rolling friction) ๊ธฐ๋ณธ๊ฐ์ด ๋ค๋ฅด๋ค. (2) PhysX ์๋ฒ ์ค์ ๊ณผ substep ์๊ฐ ํ์ ์์ ์ฑ์ ํฐ ์ํฅ์ ์ค๋ค. HORA ์ด์ ์ ๋ฐ๊ฒฌ๋ angular_damping ์ฐจ์ด์ ๊ฐ์ ๋ฅ์ ํจ์ ์ด ๋ ์์ ๊ฐ๋ฅ์ฑ์ด ๋๋ค.
์ง๊ด์ ์ ๋ฆฌ: ์ด ๋ ผ๋ฌธ์ด ์ง์ง๋ก ๋ณด์ฌ์ค ๊ฒ
๋ง์ง๋ง์ผ๋ก, ์ด ๋ ผ๋ฌธ์ด ์ฐ๋ฆฌ์๊ฒ ๊ฐ๋ฅด์ณ์ฃผ๋ ํต์ฌ์ ํ ์ค๋ก ๋ค์ ์์ถํ๋ฉด ์ด๋ ๋ค.
โ์ผ์๊ฐ ํ๋ถํ ๊ฒ๋ณด๋ค, ์ ์ฑ ์ด ํ์ํ ๊ฒ๋ง ์ ํํ ๋ฐ๋ ๊ฒ์ด ์ค์ํ๋ค.โ
RotateIt๋ GelSight๋, 6์ถ F/T๋, ๊ณ ํ๋ ์ RGB๋ ์ฐ์ง ์๋๋ค. ๊ทธ์ ์ ์์ ๊น์ด ์นด๋ฉ๋ผ ํ๋, ์๊ฐ๋ฝ์ ๋ฐํ ์ด์ง ์ ์ด ์ ํธ, ๊ทธ๋ฆฌ๊ณ โ์ด ์ถ์ผ๋ก ๋๋ คโ๋ผ๋ 3์ฐจ์ ๋ฒกํฐ. ์ด๊ฒ ์ ๋ถ๋ค.
๋์ ํ์ต ์ธก์์ ์๋ฆฌํ๋ค. ์๋ฎฌ๋ ์ด์ ์์ ์ ์ ์์ผ๋ก ์ ์ฑ ์ ๋ง๋ค๊ณ , ๊ฐ์ ํ๋์ ํ์ค ๊ฐ๋ฅํ ์ ๋ ฅ์ผ๋ก ์ฌํํ๋ ํ์์ ๋ฐ๋ก ์ง๋๋ค. ํ์ ์ถ์ ์ ๋ ฅ์ ๋ช ์์ ์ผ๋ก ๋ฃ์ด ์ผ๋ฐํ์ ์ฐจ์์ ์ด์ด์ค๋ค. ๋๋ฉ์ธ ๋๋คํ๋ก ์๋ฎฌ๋ ์ด์ ๋์ญํ์ ๊ฒฐํจ์ ๊ฐ๋ฆฐ๋ค.
์ด๊ฒ ์ข์ ๋ก๋ดํ ์ฐ๊ตฌ์ ํ ๋ชจ๋ฒ์ด๋ค. ํ๋์จ์ด์ ์ผ์๋ก ๋ฌธ์ ๋ฅผ ํ๋ ค ํ๊ธฐ ์ ์, ํํ๊ณผ ํ์ต ์ ํธ๋ก ํ ์ ์๋ ๋งํผ์ ํ์ด๋ด๋ ๊ฒ. ๊ทธ ๊ฒฐ๊ณผ ๊ฐ๋ฒผ์ด ์์คํ ์ผ๋ก๋ ์ผ๋ฐํ ๊ฐ๋ฅํ ์ ์ฑ ์ ๋ง๋ค ์ ์๋ค๋ ๊ฑธ ๋ณด์ฌ์ค๋ค.
๋ค์์ in-hand manipulation ์ ์ฑ ์ ์งค ๋ ๋์ ธ์ผ ํ ์ง๋ฌธ์ ๋ถ๋ช ํ๋ค. ๋ด ์ ์ฑ ์ ์ง์ง๋ก ํ์ํ ์ ๋ ฅ์ ๋ฌด์์ธ๊ฐ? ๊ทธ๋ฆฌ๊ณ ๊ทธ ์ ๋ ฅ์ ์๋ฎฌ๋ ์ด์ ๊ณผ ํ์ค์์ ์ผ๊ด๋๊ฒ ๋ง๋ค ์ ์๋๊ฐ? RotateIt์ ๋ต์ ๊น์ด + ์ด์ง ์ ์ด + ์ถ ๋ฒกํฐ์๋ค. ์ฐ๋ฆฌ์ ๋ต์ ์ฐ๋ฆฌ ์์ ์ ๋ฐ๋ผ ๋ค๋ฅผ ๊ฒ์ด๋ค. ํ์ง๋ง ์ง๋ฌธ ์์ฒด๋ ๊ฐ๋ค.