robosuite: A Modular Simulation Framework and Benchmark for Robot Learning
์ ์: Yuke Zhu, Josiah Wong, Ajay Mandlekar, Roberto Martรญn-Martรญn, Abhishek Joshi, Kevin Lin, Abhiram Maddukuri, Soroush Nasiriany, Yifeng Zhu | ๋ ์ง: 2020-09-25 | URL: https://arxiv.org/abs/2009.12293 📄 PDF
Essence
Figure 2: System diagram of robosuite modules. An actor (e.g. a Policy or
robosuite๋ MuJoCo ๋ฌผ๋ฆฌ ์์ง์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ๋ชจ๋์ ๋ก๋ด ์๋ฎฌ๋ ์ด์
ํ๋ ์์ํฌ๋ก, ๋ก๋ด ํ์ต ์ฐ๊ตฌ๋ฅผ ์ํ ๋ฒค์น๋งํฌ ํ๊ฒฝ๊ณผ ์ฌํ ๊ฐ๋ฅํ ์คํ ํ๊ฒฝ์ ์ ๊ณตํ๋ค.
Motivation
- Known: ์๋ฎฌ๋ ์ด์
๊ธฐ๋ฐ ๋ก๋ด ํ์ต์ ๋ฐ์ดํฐ ๊ธฐ๋ฐ ์๊ณ ๋ฆฌ์ฆ(reinforcement learning, imitation learning)์ ๋ฐ์ ์ผ๋ก ๋ค์ํ ๋ก๋ด ์ ์ด ๋ฌธ์ ์์ ์ฑ๊ณต์ ๊ฑฐ๋์์ผ๋, ์ฌํ์ฑ ๋ถ์กฑ๊ณผ ๋ก๋ด ํ๋์จ์ด ์ ๊ทผ์ฑ ์ ํ์ด ์ฐ๊ตฌ ์ง์ ์ ๋ฐฉํดํ๊ณ ์๋ค.
- Gap: ๊ธฐ์กด ์๋ฎฌ๋ ์ด์
ํ๋ซํผ๋ค์ ์ ์ฐํ ํ๊ฒฝ ๊ตฌ์ฑ๊ณผ ํ์คํ๋ ๋ฒค์น๋งํฌ ์์
์ด ๋ถ์กฑํ๋ฉฐ, ๋์ ์์ค์ ์ปจํธ๋กค๋ฌ ๊ตฌํ๊ณผ ๋ฐ์ดํฐ ์์ง ์ ํธ๋ฆฌํฐ๊ฐ ์ฒด๊ณ์ ์ผ๋ก ์ง์๋์ง ์๋๋ค.
- Why: ํ์คํ๋ ๋ฒค์น๋งํฌ์ ๋ชจ๋์ ์ค๊ณ๋ ๋ก๋ด ํ์ต ์๊ณ ๋ฆฌ์ฆ์ ์ฌํ ๊ฐ๋ฅํ ํ๊ฐ๋ฅผ ๊ฐ๋ฅํ๊ฒ ํ๋ฉฐ, ๋ฎ์ ์ง์
์ฅ๋ฒฝ์ผ๋ก AI์ ๋ก๋ณดํฑ์ค ๊ต์ฐจ ๋ถ์ผ์ ์ฐ๊ตฌ๋ฅผ ์ด์งํ๋ค.
- Approach: MuJoCo ๋ฌผ๋ฆฌ ์์ง์ ํต์ฌ์ผ๋ก ํ์ฌ Modeling API์ Simulation API๋ก ๊ตฌ๋ถ๋ ๋ชจ๋์ ์ํคํ
์ฒ๋ฅผ ์ค๊ณํ๊ณ , Task, Robot, Arena, Object ํด๋์ค์ ์กฐํฉ์ผ๋ก ์ ์ฐจ์ ํ๊ฒฝ ์์ฑ์ ์ง์ํ๋ค.
Achievement
Figure 1: Procedurally generated robotic environments with robosuite APIs
- ๋ชจ๋์ ์ค๊ณ: 10๊ฐ์ ๋ก๋ด ๋ชจ๋ธ, 9๊ฐ์ ๊ทธ๋ฆฌํผ ๋ชจ๋ธ, 4๊ฐ์ ๋ฒ ์ด์ค ๋ชจ๋ธ, 6๊ฐ์ ๋ฐ๋ ํํธ ์ปจํธ๋กค๋ฌ ๋ชจ๋๋ก ๊ตฌ์ฑ๋์ด ์ ์ฐํ ํ๊ฒฝ ๊ตฌ์ฑ์ ์ง์
- ํ์คํ๋ ์์
: 9๊ฐ์ ํ์ค ์กฐ์ ์์
๊ณผ ๋ค์ํ ๋ณต์ก๋๋ฅผ ์ ๊ณตํ๋ฉฐ ์ต์ ์๊ณ ๋ฆฌ์ฆ์ ๋ฒค์น๋งํน ๊ฒฐ๊ณผ ํฌํจ
- ๊ณ ๊ธ ์ปจํธ๋กค๋ฌ: joint space, Cartesian space, ์ญ๊ธฐ๊ตฌํ(inverse kinematics), ์กฐ์ ๊ณต๊ฐ ์ ์ด(operational space control) ๋ฑ ๋ค์ํ ์ปจํธ๋กค ๋ชจ๋ ์ ๊ณต
- ๋ฉํฐ๋ชจ๋ฌ ์ผ์ฑ: RGB ์นด๋ฉ๋ผ, depth map, segmentation mask, proprioception ๋ฑ ๋ค์ํ ์ผ์ ์ ํธ ์ง์
- ํด๋จผ ๋ฐ๋ชจ ์์ง: ํค๋ณด๋, 3D ๋ง์ฐ์ค, GUI ๋ฑ์ผ๋ก ํด๋จผ ๋ฐ๋ชจ ์์ง ๋ฐ ์ฌํ ๊ธฐ๋ฅ ์ ๊ณต
How
Figure 2: System diagram of robosuite modules. An actor (e.g. a Policy or
- Modeling API: Task, RobotModel, GripperModel, RobotBaseModel, Object Model, Arena์ ์กฐํฉํ์ฌ MJCF ํ์์ ์๋ฎฌ๋ ์ด์
๋ชจ๋ธ ์์ฑ
- Simulation API: OpenAI Gym ์คํ์ผ์ ์ธํฐํ์ด์ค๋ก ์ ์ฑ
(Policy) ๋๋ I/O ๋๋ฐ์ด์ค์์ ์ก์
์
๋ ฅ์ ๋ฐ์ MuJoCo ๋ฌผ๋ฆฌ ์์ง์ผ๋ก ์คํ
- Controller ๊ณ์ธต: ์ก์
๊ณต๊ฐ(joint velocity, Cartesian position ๋ฑ)์ MuJoCo์ ํ ํฌ ์ปค๋งจ๋๋ก ๋ณํํ๋ ๋ณตํฉ ์ปจํธ๋กค๋ฌ(composite controller) ๊ตฌํ
- Sensor ๊ณ์ธต: MjSim ๊ฐ์ฒด์์ ์ ๋ณด๋ฅผ ์ถ์ถํ์ฌ ๊ด์ฐฐ๊ฐ, ๋ณด์, ๋ฉํ๋ฐ์ดํฐ ์์ฑ
- Procedural generation: Placement initializer๋ฅผ ํตํด ๋งค ์ํผ์๋๋ง๋ค ์ ํจํ ๋น์ถฉ๋ ๊ฐ์ฒด ๋ฐฐ์น ์ํ๋ง
Originality
- MuJoCo ๊ธฐ๋ฐ ๋น ๋ฅธ ์ ์ด ์ญํ(contact dynamics) ์๋ฎฌ๋ ์ด์
์ ๋ก๋ด ํ์ต์ ํนํ๋ ๋ชจ๋์ ๊ตฌ์กฐ๋ก ์ถ์ํ
- ์ ์ฐจ์ ํ๊ฒฝ ์์ฑ(procedural generation) API๋ฅผ ํตํด ํ๋ก๊ทธ๋๋งคํฑํ๊ฒ ์๋ก์ด ์์
๊ณผ ํ๊ฒฝ ๊ตฌ์ฑ ๊ฐ๋ฅ
- ๋ค์ํ ์ปจํธ๋กค ๋ชจ๋(joint space, Cartesian space, operational space ๋ฑ)๋ฅผ composite controller๋ก ํตํฉํ ์ค๊ณ
- ํด๋จผ ์์ฐ ์์ง, ์ฌํ, ํ์ฉ์ ์ํ ํตํฉ ์ ํธ๋ฆฌํฐ ์ ๊ณต
Limitation & Further Study
- ์๋ฎฌ๋ ์ด์
๊ณผ ์ค์ ๋ก๋ด ์ฌ์ด์ sim-to-real transfer ์ฑ๋ฅ์ ๋ํ ํ๊ฐ ๋ถ์ฌ
- ๋ฌผ๋ฆฌ ์๋ฎฌ๋ ์ด์
์ ์ ํ๋ ํ๊ณ(ํนํ ์ ์ด ๋ชจ๋ธ๋ง, ๋ง์ฐฐ ๋ฑ)๋ก ์ธํ ํ์ค์ฑ ์ ์ฝ
- ๋๊ท๋ชจ ๋ณ๋ ฌ ์ฒ๋ฆฌ ์ฑ๋ฅ๊ณผ ํ์ฅ์ฑ์ ๋ํ ๊ตฌ์ฒด์ ๋ถ์ ๋ถ์กฑ
- ํ์ ์ฐ๊ตฌ: sim-to-real ๊ฐญ ๊ฐ์๋ฅผ ์ํ ๋๋ฉ์ธ ๋๋๋ง์ด์ ์ด์
ํตํฉ, ๋ ์ ๊ตํ ๋ฌผ๋ฆฌ ๋ชจ๋ธ ์ถ๊ฐ, ๋ค์ค ์์ด์ ํธ ํ๊ฒฝ ํ์ฅ
Evaluation
Novelty: 4/5 Technical Soundness: 3/5 Significance: 4/5 Clarity: 4/5 Overall: 4/5
์ดํ: robosuite๋ ๋ก๋ด ํ์ต ์ปค๋ฎค๋ํฐ๋ฅผ ์ํ ํฌ๊ด์ ์ด๊ณ ์ ์ค๊ณ๋ ์คํ์์ค ํ๋ ์์ํฌ๋ก, ๋ชจ๋์ ์ํคํ
์ฒ์ ํ์คํ๋ ๋ฒค์น๋งํฌ๋ฅผ ํตํด ์ฌํ ๊ฐ๋ฅํ ์ฐ๊ตฌ๋ฅผ ์ด์งํ๋ฉฐ AI-๋ก๋ณดํฑ์ค ๊ต์ฐจ ๋ถ์ผ์ ์ง์
์ฅ๋ฒฝ์ ํ์ ํ ๋ฎ์ถ๋ค.
๐ง Audio Overview
์ด ๋
ผ๋ฌธ ๋ฆฌ๋ทฐ๋ฅผ ํ์บ์คํธํ ์ค๋์ค๋ก ์์ฑํฉ๋๋ค. (Gemini ยท ํค๋ ๋ธ๋ผ์ฐ์ ์๋ง ์ ์ฅ ยท ์์ฑ๋ณธ์ ์ด๋ฉ์ผ๋ก๋ ์ ์ก)
โธ ๊ณ ๊ธ: ๊ตฌ์ฑ ๋ฐฉํฅ(๋๋ณธ ์์ฑ ์ง์นจ) ์ง์ ์์