A Real-to-Sim-to-Real Approach to Robotic Manipulation with VLM-Generated Iterative Keypoint Rewards
์ ์: Shivansh Patel, Xinchen Yin, Wenlong Huang, Shubham Garg, Hooshang Nayyeri, Li Fei-Fei, Svetlana Lazebnik, Yunzhu Li | ๋ ์ง: 2025-02-12 | URL: https://arxiv.org/abs/2502.08643 📄 PDF
Essence
Fig. 2: Framework Overview. Iterative Keypoint Reward (IKER) is a visually grounded reward generated by Vision-Language
VLM์ ํ์ฉํ์ฌ RGB-D ๊ด์ฐฐ๊ณผ ์์ฐ์ด ์ง์๋ก๋ถํฐ keypoint ๊ธฐ๋ฐ reward ํจ์(IKER)๋ฅผ ๋์ ์ผ๋ก ์์ฑํ๊ณ , real-to-sim-to-real ๋ฃจํ๋ฅผ ํตํด ๋ก๋ด ์กฐ์ ์ ์ฑ
์ ํ์ต ๋ฐ ๋ฐฐํฌํ๋ ํ๋ ์์ํฌ์ด๋ค.
Motivation
- Known: VLM์ ์์ฐ์ด ์ฒ๋ฆฌ ๋ฐ ๊ณ ์์ค task decomposition์ ๊ฐ์ ์ด ์์ผ๋ฉฐ, real-to-sim ์ฌ๊ตฌ์ฑ ๋ฐ sim-to-real ์ ์ด๋ ๋ก๋ด ํ์ต์ ํจ์จ์ฑ์ ๋์ธ๋ค. ๋ํ keypoint ๊ธฐ๋ฐ ํํ์ object orientation ์ ์ด์ ์ ์ฉํ๋ค.
- Gap: ๊ธฐ์กด VLM ๊ธฐ๋ฐ ๋ก๋ด ์ฐ๊ตฌ๋ (1) 3D ๊ณต๊ฐ์์ ์ ํํ ๋ชฉํ ์์น ์ง์ ๋ฅ๋ ฅ ๋ถ์กฑ, (2) ํ๊ฒฝ ๋ณํ์ ๋ฐ๋ฅธ ๋์ ์ ์ ๋ถ๊ฐ๋ฅ์ด๋ผ๋ ํ๊ณ๊ฐ ์๋ค. ๋ํ VLM ๊ธฐ๋ฐ reward ์์ฑ ์ฐ๊ตฌ๋ ์ค์ ๋ก๋ด ์์ฐ์ด ์ ํ์ ์ด๋ค.
- Why: ๊ฐ๋ฐฉํ ํ๊ฒฝ์์ ๋ก๋ด์ด ๋ค๋จ๊ณ ์๋ฌต์ subtask๋ฅผ ํฌํจํ ๋ณต์กํ ์กฐ์์ ์ํํ๋ ค๋ฉด, ์ธ๊ฐ์ ์์์ ์ฐ์ ์์๋ฅผ ๋ฐ์ํ๋ฉด์๋ SE(3) ์์ค์ ์ ๋ฐ ์ ์ด์ ํ๊ฒฝ ํผ๋๋ฐฑ์ ๊ธฐ๋ฐํ ๋์ ๊ณํ ์กฐ์ ์ด ํ์์ ์ด๋ค.
- Approach: VLM์ keypoint์ ์คํ ํ์คํ ๋ฆฌ๋ฅผ ์
๋ ฅํ์ฌ Python ๊ธฐ๋ฐ reward ํจ์๋ฅผ ๋ฐ๋ณต์ ์ผ๋ก ์์ฑํ๊ณ , ์ด๋ฅผ simulation์์ RL ์ ์ฑ
ํ์ต์ ์ฌ์ฉํ ํ ์ค์ ํ๊ฒฝ์ ๋ฐฐํฌํ๋ ํ์ ๋ฃจํ ์์คํ
์ ๊ตฌ์ถํ๋ค.
Achievement
Fig. 1: Capabilities of Our Framework. IKER is designed to han-
- ๋ค๋จ๊ณ task ์คํ: ์ ๋ฐ์ ์ ๋ฐ์ ๋๊ธฐ ์ํด ๋ฐ์ค๋ฅผ ๋จผ์ ๋ฐ์ด๋ด๋ ๋ฑ ์๋ฌต์ ์ค๊ฐ ๋จ๊ณ๋ฅผ ์๋์ผ๋ก ์ถ๋ก ํ๊ณ ์์ฐจ ์คํ
- ๋ค์ํ ์กฐ์ ์ง์: prehensile(ํ์ง) ๋ฐ non-prehensile(๋นํ์ง, ๋ฐ๊ธฐ) ์์
๋ชจ๋ ์ฒ๋ฆฌ ๊ฐ๋ฅ
- ํ๊ฒฝ ๋ณํ ๋์: ์ค์๊ฐ environment feedback์ ๊ธฐ๋ฐํ์ฌ ์ ๋ต์ ๋์ ์ผ๋ก ์กฐ์ ํ๊ณ spontaneous error recovery ์ํ
- ์ ๋ฐํ 3D ์ ์ด: keypoint ๊ธฐ๋ฐ spatial relationship์ผ๋ก object position๊ณผ orientation์ ์ ํํ ์ ์ด
- ์ค์ ๋ก๋ด ์์ฐ: ์ ๋ฐ/์ฑ
๋ฑ ์ผ์ ๋ฌผ์ฒด๋ฅผ ํฌํจํ ๋ค์ํ ์ค์ ํ๊ฒฝ์์ ์ฑ๊ณต์ ์์
์ํ ์
์ฆ
How
Fig. 3: Iterative Keypoint Reward Generation. This corresponds
- RGB-D ๊ด์ฐฐ์์ 3D object model ์์ฑ ๋ฐ keypoint ์ถ์ถ (GetKeypoints)
- ํ์ฌ ๊ด์ฐฐ(O_i)๊ณผ ๋์ ์คํ ํ์คํ ๋ฆฌ๋ฅผ VLM์ ์
๋ ฅํ์ฌ Python ๊ธฐ๋ฐ reward ํจ์ ์ฝ๋ ์์ฑ (QueryVLM)
- ์์ฑ๋ ์ฝ๋๋ฅผ ์คํํ์ฌ target keypoint ์์น ๊ฒฐ์ ๋ฐ completion ์ฌ๋ถ ํ๋จ (Execute)
- BundleSDF๋ฅผ ํ์ฉํ real-to-sim ์ฅ๋ฉด ์ฌ๊ตฌ์ฑ (TransferSceneToSimulation)
- simulation์์ ์์ฑ๋ reward๋ฅผ ๊ธฐ๋ฐ์ผ๋ก RL ์ ์ฑ
ํ์ต (LearnPolicy)
- ํ์ต๋ ์ ์ฑ
์ ์ค์ ํ๊ฒฝ์ ๋ฐฐํฌ (ExecutePolicyInRealWorld)
- ์คํ ๊ฒฐ๊ณผ๋ฅผ ํ์คํ ๋ฆฌ์ ์ถ๊ฐํ์ฌ ๋ค์ iteration์ VLM ์
๋ ฅ์ผ๋ก ํ์ฉ
Originality
- VLM ๊ธฐ๋ฐ reward ํจ์์ ๋ฐ๋ณต์ ๊ฐ์ ๋ฉ์ปค๋์ฆ ๋์
์ผ๋ก, ํ๊ฒฝ ๋ณํ์ ๋ฐ๋ฅธ ๋์ task ์ ์ ๋ฌ์ฑ
- keypoint ๊ธฐ๋ฐ reward๋ก SE(3) ์์ค ์ ๋ฐ ์ ์ด์ ์์ฐ์ด ๊ธฐ๋ฐ task specification ํตํฉ
- real-to-sim-to-real ํ์ ๋ฃจํ ๋ด์์ VLM์ ์๊ฐ์ ์ดํด์ RL์ ์ ์ฑ
์ต์ ํ๋ฅผ ๊ฒฐํฉํ novel ์์คํ
์ํคํ
์ฒ
- prehensile๊ณผ non-prehensile ์กฐ์์ ํตํฉํ๋ ์ผ๋ฐํ๋ ํ๋ ์์ํฌ
- ์คํ ํ์คํ ๋ฆฌ ๋์ ์ ํตํ in-context learning์ผ๋ก VLM์ ์ฅ๋ฉด ํด์ ๊ฐ์
Limitation & Further Study
- VLM์ keypoint ์์ฑ ์ ํ๋์ ํฌ๊ฒ ์์กดํ๋ฉฐ, ์๊ฐ์ ๋ชจํธ์ฑ์ด ๋์ ํ๊ฒฝ์์ ์ฑ๋ฅ ์ ํ ๊ฐ๋ฅ์ฑ
- real-to-sim ์ฌ๊ตฌ์ฑ ๊ณผ์ ์์ BundleSDF์ ํ๊ณ(ํนํ occluded regions)๋ก ์ธํ sim-to-real gap ์กด์ฌ
- domain randomization ๊ธฐ๋ฐ sim-to-real ์ ์ด๋ ๊ทน๋๋ก ๋ค์ํ ์ค์ ํ๊ฒฝ ๋ณํ์ ๋ํด ์ถฉ๋ถํ ์ ์๋์ง ๊ฒ์ฆ ํ์
- ๋ณต์กํ multi-object ์ํธ์์ฉ์์ keypoint ํํ์ ํ์ฅ์ฑ ์ ํ ๊ฐ๋ฅ์ฑ
- ๊ณ์ฐ ๋น์ฉ ๋ถ์(VLM ํธ์ถ, RL ํ์ต ์๊ฐ) ๋ฐ ์ค์ wall-clock time ๋น๊ต ๋ถ์กฑ
- ํ์ ์ฐ๊ตฌ: (1) ๋ ๊ฐ๊ฑดํ 3D reconstruction ๋ฐฉ๋ฒ ๋์
, (2) large-scale real-world ๋ฐ์ดํฐ์
์์์ generalization ํ๊ฐ, (3) ๋ณต์กํ ์กฐ์ ์๋๋ฆฌ์ค(dexterous manipulation)๋ก์ ํ์ฅ
Evaluation
Novelty: 4/5 Technical Soundness: 3/5 Significance: 4/5 Clarity: 4/5 Overall: 4/5
์ดํ: ์ด ๋
ผ๋ฌธ์ VLM์ ์๊ฐ์ ์ดํด์ RL์ ์ต์ ํ๋ฅผ real-to-sim-to-real ๋ฃจํ๋ก ํตํฉํ์ฌ ๊ฐ๋ฐฉํ ํ๊ฒฝ์์์ ์ ์์ ๋ค๋จ๊ณ ๋ก๋ด ์กฐ์์ ๋ฌ์ฑํ๋ ์ฐฝ์์ ์ด๊ณ ์ค์ฉ์ ์ธ ์ ๊ทผ๋ฒ์ ์ ์ํ๋ค. ๋ฐ๋ณต์ reward ๊ฐ์ ๊ณผ ํ๊ฒฝ ํผ๋๋ฐฑ ๊ธฐ๋ฐ ๋์ ๊ณํ์ด ํต์ฌ ๊ฐ์ ์ด๋ฉฐ, ๋ค์ํ ์ค์ ์์
์์ฐ์ ํตํด ํจ๊ณผ์ฑ์ ์
์ฆํ๋ค.
๐ง Audio Overview
์ด ๋
ผ๋ฌธ ๋ฆฌ๋ทฐ๋ฅผ ํ์บ์คํธํ ์ค๋์ค๋ก ์์ฑํฉ๋๋ค. (Gemini ยท ํค๋ ๋ธ๋ผ์ฐ์ ์๋ง ์ ์ฅ ยท ์์ฑ๋ณธ์ ์ด๋ฉ์ผ๋ก๋ ์ ์ก)
โธ ๊ณ ๊ธ: ๊ตฌ์ฑ ๋ฐฉํฅ(๋๋ณธ ์์ฑ ์ง์นจ) ์ง์ ์์