๐VCGS
์ด๋ฒ ํฌ์คํ ์ Variational Constrained Grasp Sample ๋ ผ๋ฌธ์ ์ฝ๊ณ ์ ๋ฆฌํ ๋ด์ฉ์ ๋๋ค. ํด๋น ๋ ผ๋ฌธ์ IROS 2023 ํํ์ Accept๋ ๋ ผ๋ฌธ์ผ๋ก, ํน์ ๋์ ์์ญ์ ๋ํ ์ ์ฝ์ ๊ฐ์ง 6์์ ๋(DoF) Grasp์ ์ํ๋งํ๊ธฐ ์ํ ์๋ก์ด ์์ฑ์ ๊ทธ๋ฆฌํ ์ํ๋ง ๋คํธ์ํฌ, VCGS๋ฅผ ์๊ฐํฉ๋๋ค. ๋ฟ๋ง ์๋๋ผ 1,400๋ง ๊ฐ ์ด์์ ํ๋ จ ์ํ์ ํฌํจํ๋ ์๋ก์ด ๋ฐ์ดํฐ์ CONG๋ฅผ ๊ตฌ์ถํ ๋ด์ฉ์ ๋ฐํํ์ต๋๋ค. ์ ์๋ VCGS๊ฐ ์๋ฎฌ๋ ์ด์ ๋ฐ ์ค์ ํ ์คํธ์์ ๋น๊ต ๋ชจ๋ธ์ธ GraspNet๋ณด๋ค 10-15% ๋์ ๊ทธ๋ฆฌํ ์ฑ๊ณต๋ฅ ์ ๋ณด์ด๋ฉฐ, 2-3๋ฐฐ ๋ ํจ์จ์ ์ธ ๊ฒ์ ๋ณด์ฌ์ค ๋ ผ๋ฌธ์ ๋๋ค.
1 Introduction
๋ก๋ด ํ, Manipulator๋ก ๋ฌผ์ฒด๋ฅผ ์ก๋ Task๋ ๊ณต์ ์์๋ถํฐ ๊ฐ์ ์์ ์ฐ์ผ ์ ์๋ ๋ณด์กฐ ์ญํ ๊น์ง ํ ์ ์๋ ๊ธฐ๋ณธ์ ์ธ Task๋ผ๊ณ ๋ณผ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ ๋ฌผ์ฒด๋ฅผ ์ก๋๋ค๋ Task, ์ฆ Grasping(ํน์ Gripping)์ ์ธ์ง ๋จ๊ณ๋ถํฐ ์ ์ด ๋ชจ์ ๋จ๊ณ๊น์ง ์ ํ ์ ์๋ ๋ฐฉ๋ฒ์ ์ฐพ๊ณ ์ ํ๋ ์ฐ๊ตฌ๋ค์ด ๋ง์ด ์งํ๋์ด ์์ต๋๋ค. ์ด๋ฌํ ๋ฐฐ๊ฒฝ ํ์, ํน์ ๊ฐ์ฒด ๋ถ๋ถ๊ณผ์ ์ํธ์์ฉ์ ์๊ตฌํ๋ ์์ ์์ ์ ๋ฐํ ๊ทธ๋ฆฌํ ์์น๋ฅผ ์ง์ ํ๋ ๊ฒ์ ์ค์์ฑ์ด ๋ถ๊ฐ๋์์ต๋๋ค. ๋ณธ ์ฐ๊ตฌ๋ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ํน์ ๋์ ์์ญ์ ๋ํ ์ ์ฝ์ ๊ฐ์ง 6์์ ๋ ๊ทธ๋ฆฌํ์ ์ํ๋งํ๋ ์๋ก์ด ๋ฐฉ๋ฒ๋ก ์ ์ ์ํฉ๋๋ค.
6์์ ๋ ๊ทธ๋ฆฌํ์ ๋ณดํต top-down ๋ฐฉ์์ 4์์ ๋ ๊ทธ๋ฆฌํ๋ณด๋ค ๋ ์์ ๋๊ฐ ๋์ ์ ์ด๋ฅผ ์๊ตฌํ๊ธฐ ๋๋ฌธ์ ๋ ๋์ ์ ์ธ Task๋ผ๊ณ ๋ณผ ์ ์์ต๋๋ค. ๋ฌผ๋ฆฌ ์ธ๊ณ์ 3d ๋ฌผ์ฒด๋ฅผ ์ธ์ํ๊ธฐ ์ํด point cloud data๋ก 3์ฐจ์ ๋ฌผ์ฒด๋ฅผ ์ธ์ํ๊ณ ๋ฌผ์ฒด๋ฅผ ์์ ์ ์ผ๋ก ์ก์ grasp pose๋ฅผ ์ต์ข ์ ์ผ๋ก ๋ง๋ค์ด์ Manipulator๋ฅผ ์์ง์ด๋ ๊ฒ์ด ๋ชฉํ์ ๋๋ค.
ํด๋น ์ฐ๊ตฌ์์๋ VCGS๋ผ๋ ์์ ์ ์ธ grasp pose๋ฅผ ์ ์ํ ๋ฟ๋ง ์๋๋ผ ํด๋น ๋ชจ๋ธ์ ์ ํ์ต์ํฌ ์ ์๊ณ Constrained Grasp์ ๋ํ ๋ฐ์ดํฐ์ ์ ๋ง๋ค์ด์ CONG๋ผ๋ ๋ฐ์ดํฐ์ ์ ๋ง๋๋ ๋ถ๋ถ์๋ ๊ธฐ์ฌ๋ฅผ ํ์ต๋๋ค. Table 1์์๋ ๋ณผ ์ ์๋ฏ์ด ๋ค๋ฅธ ๋ฐ์ดํฐ์ ์ ๋นํด์ ์ ๋์ ์ธ ๋ฐ์ดํฐ์ ์ ํฌ๊ธฐ๊ฐ ํด ๋ฟ๋ง ์๋๋ผ Task-agnosticํ Constraint์ ๋ํ ์ ๋ณด๋ ๋ค์ด์๋ ๋ฐ์ดํฐ์ ์ผ๋ก ์ ์ผํ๊ธฐ ๋๋ฌธ์ ๊ทธ ํน์ฑ์ด ์ค์ํ๋ค๊ณ ๋ณผ ์ ์์ต๋๋ค.
2 Problem Statement
Grasp pose๋ฅผ ์์ฑํ๊ธฐ ์ํด ๋ค์๊ณผ ๊ฐ์ด ๋ฌธ์ ์ ์ฉ์ด๋ค์ ์ ์ํฉ๋๋ค. ์ฐ๊ตฌ์์ ์ฌ์ฉํ Gripper๋ ๋จ์ํ 2๊ฐ์ ์๊ฐ๋ฝ์ผ๋ก ์ง๋ ๋ชจ์ ์ ํ๋ ๊ทธ๋ฆฌํผ๋ก parallel-jaw grasp pose๋ฅผ ์ ํ๋ฉด ์ก๋ ๋ชจ์ ์ ์ด๋ฅผ ํ ์ ์์ต๋๋ค.
- G: parallel-jaw grasp poses
- 7์ฐจ์: quaternion[4] + 3d-position[3]
- Target area A์ ์๊ณ stable(S=1)ํ ์กฐ๊ฑด์ด ๋ง์กฑ๋ ๋
- O: Object Point-cloud (์ฐจ์: Nx3)
- A: Target Area Point-cloud (์ฐจ์: Mx3)
VCGS๊ฐ ํ์ตํด์ผ ํ๋ ๋ชฉํ๋ P(G, S | O, A) ๋ฅผ ์ต๋ํํ๋ ๊ฒ ์ ๋๋ค. ์ด ์์์ ํ์ด์ ์๊ฐํด๋ณด๋ฉด, object์ point cloud data์ ์ก์์ผ ํ๋ ๋ถ๋ถ์ธ target area point cloud data๊ฐ ์ฃผ์ด์ก์ ๋ ์ฑ๊ณต์ ์ธ(S) grasp G๋ฅผ ์์ฑํ๋ ํ๋ฅ ์ ๋์ด๋ ๊ฒ ์ ๋๋ค. ์ด๋ฅผ Grasp Sampler์ Grasp Evaluator ๊ฐ๊ฐ์ผ๋ก Approximationํ๋ ๋คํธ์ํฌ๋ก ๋์ด ํ์ตํ๋ ๊ณผ์ ์ ์งํํฉ๋๋ค.
3 Method
์ด๋ฒ ์ฅ์์๋ ์์ ์ค๋ช
ํ ๋๋ก Grasp Sampler
์ Grasp Evaluator
๋ก ๊ตฌ์ฑ๋์ด ์๋ VCGS ๋ชจ๋ธ๊ณผ CONG dataset์ ๋ํด์ ์ด์ผ๊ธฐํด๋ณด๋ ค๊ณ ํฉ๋๋ค.
3.1 Grasp Sampler
VCGS์ Grasp Sampler์ ๊ธฐ๋ณธ์ ์ธ ํ์ Conditional Variational Autoencoder (CVAE) ๊ตฌ์กฐ๋ฅผ ์ฐจ์ฉํด์ ์๋์ ๊ฐ์ด ๋ง๋ค์์ต๋๋ค. Grasp pose๋ฅผ ๋ค์ํ๊ฒ Samplingํ๊ธฐ ์ํด Encoder์ Decoder๋ฅผ VAE ๊ตฌ์กฐ๋ฅผ ์ฐจ์ฉํ์ฌ Gaussian Prior Distribution์ ์ด์ฉํด์ ๊ฐ๋ฅํ ๋ค์ํ Grasp pose๋ฅผ ์์ฑํ ์ ์๋๋ก ์ค๊ณํ์ต๋๋ค.
Encoder
3.2 Grasp Evaluator
ํ์ต๋์์ ์ข์ Grasp data๋ง ํ์ตํ๋ Encoder๊ฐ ๋ ๋ค์ํ Grasp data๋ฅผ ๊ฒฝํํ ์ ์๋๋ก Evaluator Network๋ฅผ ์ถ๊ฐํ์ฌ Bad Grasp์ ๋ํ ๊ฒฝํ๋ ํ ์ ์๋๋ก ๋ง๋ค์์ต๋๋ค.
3.3 CONG Dataset
๊ตฌ์ฑ ์์ - O: object point cloud - G*: target area A์์ ๋๋คํ๊ฒ ์ํ๋ง๋ successful grasp
๋ฐ์ดํฐ์ ๊ตฌ์ถ ๊ณผ์
- object๋ฅผ ์์ ์ ๋๋คํ orientation์ผ๋ก ๋๊ณ O[N x 3] rendering
- O์์ query point I[K x 3]๋ฅผ ์ํ๋ง(K << N) - Farthest Point Sampling ์ฌ์ฉ
- ๊ฐ query point xi(โI)์ ๋ํด์ ๋ฐ๊ฒฝ ri(~U[0, R]) ์ด์ํ point Ai๋ค์ ๋ชจ๋ ์ฐพ์
- ์ด๋ R์ mesh bounding box์ ๋๊ฐ์ ๊ธธ์ด
- [grasp center point]์ [Ai์ ์ด๋ค ์ ]์ด๋ผ๋ ์ต๋ d์ธ ๋ชจ๋ G๋ฅผ ์ฐพ์๋
4 Experiment
์คํ์์ ์ฃผ๋ชฉํด๋ด์ผํ 2๊ฐ์ง ์ง๋ฌธ์ ์๋์ ๊ฐ์ต๋๋ค.
- constrained grasping์์ grasp success rate๋ก ๋ํ๋ด์ง๋ ์ฑ๋ฅ
- constrained grasp sampler๊ฐ unconstrained sampler๋ณด๋ค target-driven grasping์์ ์ผ๋ง๋ sample efficientํ์ง?
์คํ ์ ํ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ๋น๊ต๊ตฐ: GraspNet
- Simulation & Real Robot ๋ ๋ค ํ์ธ
- Evaluation Metric
- successful/total
- successful์ ๊ธฐ์ค: ๋ฌผ์ฒด๋ฅผ ๋ค๊ณ predefined motion(linear acc + angular acc)์ ์งํํ ํ ๋ฌผ์ฒด๊ฐ gripper์ ์์ ์ ์ผ๋ก ๋ค๋ ค์๋์ง
4.1 A. Simulated Robotic Grasping
- best grasp, NOT the best reachable
- gripper์ object ๋ ๋ค free-floating ์ํฉ
- IsaacGym simulator ์ฌ์ฉ
- Acronym dataset์์ 123๊ฐ์ random object
- ๋ฌผ์ฒด์ observation data๋ก๋ depth sensor ์ฌ์ฉ
- ์๋ฎฌ๋ ์ดํฐ์์ 2๊ฐ ์คํ ์งํ
- Unconstrained sampling: target area ์์ด ๊ทธ๋ฅ grasp์ ์ํ๋ง. A=O
- Constrained sampling: target area์์๋ง grasp ์์ฑ
- ๋น๊ต๊ตฐ
- GraspNet: SOTA
- GraspNetTaI: Target as Input. target area๋ง grasp sampling network์ ๋ฃ์ด์ค ๋ชจ๋ธ
- VCGS๋ GraspNet๋ณด๋ค 3๋ฐฐ ์ด์์ Ratio of grasps kept %๋ฅผ ๋ณด์ฌ์ค
- ๋คํธ์ํฌ ์ ๋ ฅ์ผ๋ก Constrained grasp sampling์ ๋ฃ์ด์ฃผ๋ ๊ฒ์ ์ด์ ์ ๋ํ ์ฆ๊ฑฐ
- GraspNetTaI๋ GraspNet๋ณด๋ค Success Rate๊ฐ ๋ฎ์
- ๋ฌผ์ฒด์ ์ ์ฒด ์ ๋ณด(global)๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ํน์ ํ target area์ ๋ํ ์ ๋ณด(local)๋ฅผ ์ฌ์ฉํ๋ ๊ฒ๋ณด๋ค ์ข์์ ์ ์ ์์
- GraspNet์ Success Rate๊ฐ # of grasps sampled์ ์ํฅ์ ๋ฐ์
- ๋ง์ฝ Unconstrained ๊ฒฝ์ฐ๋ผ๋ฉด ๋ ๋ง์ sampling์ด ํ์ํ๋ค๊ณ ๋ณผ ์ ์์
- RGK๊ฐ #GS์ ์ํฅ์ ๋ฐ์ง ์์ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๊ณ ๋ ํ์ธํ ์ ์๋ ๊ฐ์ค์
๋ง์ง๋ง์ผ๋ก ํด๋น ๋ ผ๋ฌธ์ ๋ฐํ์์์ ๋ง์ง๋ง์ผ๋ก ์ด๋ฒ ํฌ์คํ ์ ๋ง๋ฌด๋ฆฌํ๋๋ก ํ๊ฒ ์ต๋๋ค.