AI Engineering Topic/논문 리뷰

Learning Synergies between pushing and with Self-supervised Deep Reinforcement learning

Young_Metal 2022. 4. 22. 16:15

Goal

Synergy를 배운다. pushing과 grasphing 사이의 시너지를 배워서 물건을 잘 집어서 옮기도록 한다

IDEA

Learning pushing and join grasphing with RL

joint policy가 action을 선택해서 가장 높은 Q를 갖도록 학습한다

 

Background assumption

 - 다른 policy간의 synergy를 탐색해보자

 - pushing이 grasphing에 끼치는 영향 : cluttered object를 다시 배치할 때 도움이 된다. (arm과 finger사이의 space를 만듦)

 - Grasphing이 pushing에 끼치는 영향 : object를 다른 곳에 옮기는 거에 도움을 준다. 

 

Reinforcement Learning

 - Agent가 Action을 취해서 World 에 영향을 주면 Reward를 줘서 다시 Agent한테 영향을 준다

 - Q learning은 이제 exploit과 explore를 통해 그리디하게 혹은 엡실론 그리디하게 최적의 policy를 찾아가는 방법이다. update!

 - Markov Decision Process에서 pi라는 q값을 뱉어내는 정책을 선택해서 연속적으로 그런 것들의 모음을 policy라고 하고 그런 것들을 통해 state에서 action을 취하고 그 후 다음 state로 넘어간다. 

 - Deep Q learning이 그래서 딱히 다른건 없고 behavior network에서 weight를 복사하면 target network로 보내지고 그걸 통해서 계속 replay하면서 학습을 하고 optimize한 policy를 찾아낸다. 

 

Action :

pushing( 10cm pushing in one of 16 direction)  <- 위 사진에서 맨 오른쪽 위

Grasping (top-down parallel-jaw grasap in one of 16 oriientations)  <- 위 사진에서 맨 오른쪽 아래

Q-value : Position에서 pixel-wise Q value를 찾아내고 Orientation에서 16개의 rotate image를 학습하면 

Policy : 가장 큰 Q값ㅅ을 찾아내고 그것에 해당하는 pixel과 policy를 각각 반환한다. 

 

https://vpg.cs.princeton.edu/

 

Learning Synergies between Pushing and Grasping with Self-supervised Deep Reinforcement Learning

Skilled robotic manipulation benefits from complex synergies between non-prehensile (e.g. pushing) and prehensile (e.g. grasping) actions: pushing can help rearrange cluttered objects to make space for arms and fingers; likewise, grasping can help displace

vpg.cs.princeton.edu

 Rewards

1. Grasping : antipodal distances

2. Pushing : 

 

 

Functionn Approximator

 - 하나의 원래 사진에서

 

1. RGB heieght map 

2. DDDD of heightmap

 

Experiment

Baseline methods

1. Reactive Grasphing-only Policy

2. Reactive Pusing and Grasping Policy(P+G reactive)

 

Evaluation Metircs

1. Average copletion rate

2. Average grasp success rate

3. Action effiiciency

 

Simulation Experiment

https://github.com/andyzeng/visual-pushing-grasping/blob/master/README.md

 

GitHub - andyzeng/visual-pushing-grasping: Train robotic agents to learn to plan pushing and grasping actions for manipulation w

Train robotic agents to learn to plan pushing and grasping actions for manipulation with deep reinforcement learning. - GitHub - andyzeng/visual-pushing-grasping: Train robotic agents to learn to p...

github.com

 

Comparision to Baselines

1. VPG 가 baseline과 다른 metric에서도 성능이 좋았다. 10번이상 성공한다던지 efficiency가 5%증가했다. 

 

Challenging Arrangements

1. Grasping만 하는 건은 picking test에서 큰 성능을 보여주지 못했지만

2. VPG에서는 더 많이 성공했다. grasphing이나 picking에서

 

Changes in Model

1. Pushing rewards를 주지 않는다면?

2. No imagenet pre-trianing이면?

3. height를 모른다면?

=> 정답은 논문에 있습니다!!

 

https://youtu.be/-OkyX7ZlhiU

 

Random Arrangements

 - 진짜 로봇에 활용하면 어떻게 되나?

 - 일단 30개의 randomly placed object에 얼마나 잘 대응하나를 봤다. 

 - VPG가 push와 time을 배워서 grasping을 더 쉽게 했다. 

 - VPG policy를 사용한 grasping은 그냥 grasping만 배운 policy보다 나중 trainig step에서 더 높은 성능을 보여주었다. 

 

 Disccusion

1. expression이 너무 적은 motion 변수를 갖고 있다. 그래서 q value만 보는게 진짜 실제 쓸 때는 더 많은 변수를 대응하지 못할 거 같다

2. object shape가 더 다양해야한다. 이 논문에서는 block 모양만 사용했다. 그래서 아무래도 크기만 잡으면 grapshing각도만 계산하면 되서 편했겠지만 아무래도 더 다양한 모양에서 다양한 힘과 각도를 설정하는 복잡한 계산이 필요하다. 

3. policy가 더 다양해아한다. rolling, toppling, squeezing같은 로봇 팔이 가질 수 있는 기능에 대해서도 학습했어야했다.