ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [논문 읽기] (2018) Dex-Net 3.0
    논문 읽기/Dex-Net 2022. 3. 11. 16:31

    요약

       Vacuum-based end effectors는 산업에서 널리 사용되고 있고, 사물의 한지점에만 접촉하여 물건을 들 수 있기에 parallel-jaw, multifinger, grippers 전반에 선호되고 있다. Suction grasp planners는 사물의 estimated centroid 근처의 point cloud에 있는 표면을 주로 목표로 한다. 본 논문에서는 compliant suction contact model을 제안한다. 해당 모델은 suction 컵과 목표 표면 사이의 압착 정도를 계산하고, 외부 중력에 의한 뒤틀림에 저항하기 위해 흡입파지의 힘을 계산한다. 파지를 특징짓기 위해, 로봇팔과 객체 포즈, 재료 성질, 그리고 외부의 힘으로부터 발생하는 작은 변화에 얼마나 강인한지 추산해보았다. Dex-Net 3.0을 만들기 위해 1500개의 3D 객체 모델에 대해 분석해보았다. Dex-Net 3.0은 2.8백만개의 point cloud 데이터셋, 흡입파지와 파지강도 레이블을 사용하여 제작되었다. 우리는 단일 객체의 point cloud로부터 강인한 흡입 지점을 분류하기 위해 Dex-Net 3.0을 사용하여 GQ-CNN을 훈련시켰다. 우리는 흡입 gripper에 맞춰진 ABB YuMi를 350번의 시도 끝에 resulting system을 계산하였다. 객체를 Basic, Typical, Adversarial로 구분지어 평가해보았을때, Dex-Net 3.0은 98%, 82%, 58% 성공률을 보였다. 훈련셋이 adversarial 객체만 포함할때 마지막 케이스는 81%로 개선되었다. 코드, 데이터셋, 보충자료는 http://berkeleyautomation.github.io/dex-net 에서 찾아볼 수 있다.

     

    I. 소개

       흡입 파지는 산업과 창고 주문 처리에서 pick-and-place 업무에 널리 사용되고 있다. Amazon Picking Challenge에서 볼 수 있듯이, 흡입은 parallel-jaw나 multifinger보다 더 우위에 있다. 이는 흡입 파지가 좁은 공간에서도 사용가능하고 객체의 한 지점만을 사용하여 물건을 들어올릴 수 있기에 그러하다. 그러나, parallel-jaw와 multifinger 파지의 경우 상당한 연구가 진행된 반면, 흡입 파지의 경우 연구가 비교적 미흡하다.

     

       일반 파지가 측정결과를 높이기 위해 gripper 배열을 고민하는 동안, 흡입파지는 object centroid 근처나 표면의 중심을 잡는 등의 방법을 통해 직접적으로 point cloud를 다룬다. 이 방법은 상자나 원통 모양의 각진 객체에서 좋은 결과를 보인다. 하지만 이 방법은 객체 중심 근처에 평면이 없을 경우 성능이 나쁘다. 이같이 평면이 없는 물건은 산업계에서도 그렇고 가정에서 사용되는 물건 가령 스테이플러나 아이들의 장난감 등 매우 흔하다. 파지를 위한 suction cup의 분석적 모델은 이미 존재한다. 하지만 이 모델은 진공 압착이 이미 형성되어있는 것으로 가정하고, 객체의 상태를 우리가 완벽히 알고 있다고 가정한다. 실제로는 로봇이 외부의 힘이나 센서 노이즈, 부정확한 제어, calibration 오류 등에 대응 가능하면서 평면이 없는 표면에 압착을 만들어내야 한다. 이러한 방해 요소들은 point cloud로부터 파지를 계획함에 있어 상당히 중요한 요소로 작용한다.

     

       우리는 단단하고 구멍이 없는 객체에 사용되는 새로운 흡입 모델을 제안한다. 단, 해당 객체는 두가지 조건을 만족해야 한다. (1) suction cup과 목표 객체 표면 사이에 압착이 가능한지 시험 (2) 외부 힘에 저항하기 위해 흡입 지점에 대한 분석. 우리는 모델을 사용하여 파지 힘을 평가한다. 이는 객체 포즈, 흡입 끝부분 포즈, 재료 성질, Dex-Net 1.0에서와 같이 Monte-Carlo 샘플링을 사용하여 외부 힘이 작용하는 조건 속에서 압착 형태와 힘에 대한 저항을 분석하여 평가된다.

     

       본 논문은 크게 네가지 부분에서 성과를 보였다.

    1) compliant 흡입 접촉 모델 : quasi-static spring system을 사용한 압착 형태와 외부 힘에 저항하는 정도를 정량화

    2) 외부 힘에 강인한 저항성

    3) Dex-Net 3.0 : 2.8백만개의 point cloud 데이터셋

    4) 물리적 로봇 실험 : 목표 객체의 모양과 포즈에 대한 정보의 유무에 무관하게 외부 힘에 저항하는 정도를 측정

     

       우리는 실리콘 흡입부분이 달린 ABB YuMi 로봇을 사용하여 실제 실험을 수행하였다. 이는 GQ-CNN 기반의 파지 정책과 비교하기 위함이고, 해당 파지 정책은 Dex-Net 3.0으로 훈련되었다. Dex-Net 3.0의 경우, 객체 중심의 평면을 목표로 설정하는 여러 방법들로 제작되었다. 우리는 Basic, Typical, Adversarial 객체에서 98%, 82%, 58% 성공률을 달성하였다.

     

    II. 관련 연구

    III. 문제 설정

       depth 카메라로부터 point cloud가 주어지면, 이제 흡입 파지 지점과 접근 방향을 찾는 것이 목표가 된다. 이는 로봇으로 하여금 바닥에서 물건을 들어올리고 다른 곳으로 그 물건을 이동시키기 위함이다. 우리는 중력, 센서 노이즈로 인한 방해, 제어 부정확도, 임의의 외부 힘이 작용하는 상황에서도 로봇이 물건을 잡고 유지할 확률을 높이는 방향으로 흡입 파지를 계산한다.

     

    A. 가정

       우리의 확률 모델은 다음과 같은 가정에 기반한다.

    1) 쿨롱 마찰을 가진 준정적 물리계(관성계가 무시 가능한 상황)

    2) 객체는 단단하고 구멍이 없는 재료로 되어있다.

    3) 각 객체는 안정된 상태에서 평평한 표면 위에 놓여있다.

    4) 윗쪽에서 밑으로 찍는 단일 depth 센서에 대한 정보

    5) 진공 압착 기기

     

    B. 정의

       로봇은 단일 객체를 한쪽에서 바라보았을때의 point cloud나 depth image y를 관찰한다. 목표는 로봇이 객체를 들고 이동시킬 수 있도록 흡입하기 가장 좋은 파지 u를 찾는 것이다. 해당 파지는 목표 지점 p와 접근 방향 v로 구성된다. 성공은 binary grasp reward function R로 측정된다. 파지 u가 성공적으로 객체를 이동시키면 R은 1이고, 성공하지 못하면 0이다.

     

       로봇은 몇몇 이유로 point cloud로부터 정확히 흡입 파지의 성공을 예측하지 못할 수 있다. 첫째로, 성공 지표는 객체의 구조, 관성, 재료 성질 O을 나타내는 state x와, 카메라를 기준으로 객체의 포즈 To에 의존적이다. 그러나, 로봇은 실제 state를 모른다. 이는 (a) depth 이미지의 노이즈 (b) 한 지점에서 바라봤을때의 occlusion 때문이다. 둘째로, 로봇은 중력이나 외부 방해에 의해 객체에 작용하는 외부의 힘을 완벽히 이해하지 못할 수 있다.

     

       이 확률적 관계는 파지 성공 분포 모델링 P(R|x,u), 임의의 외부힘에 저항하는 파지 능력, 그리고 관찰 모델 p(y|x)로 구성된 환경에 의해 표현된다. 이 모델은 각 파지의 성공 확률을 계산한다.

       정의 1: point cloud y가 주어졌을때 파지 u의 강인함은 센싱, 조작, 방해하는 외부힘에 의한 불확실한 조건 속에서 파지 성공률로 표현된다. : Q(y,u) = P(R|y,u).

    우리의 환경 모델은 섹션 V에 나와있고, 더 자세한 정보는 보충 자료에서 제공된다.

     

    C. 목표

       우리의 궁극적 목표는 point cloud y가 주어질때 강인함 Q을 최대화하는 파지 u를 찾는 것이다. 강인함 Q(y,u)는 P(R|y,u) 이기에, 이는 주어진 state y에서 파지보상함수 R이 최대가 되도록하는 파지 u를 찾는 것과 동일하다.

    C는 파지 후보에서 충돌이나 운동 가능성 같은 제한 조건을 구체화한다. 우리는 GQ-CNN의 layer weight θ를 최적화하여 π*(y)를 근사값으로 보낸다. 훈련데이터셋 D는 우리의 파지 성공 확률 모델로부터 얻어진 보상값 R, point cloud y, 흡입 파지 u로 구성된다.

    우리의 최적화 목표는 D를 입력하여 크로스 엔트로피 손실 L을 최소화하는 layer weight θ를 찾아내는 것이다.

     

    IV. Compliant Suction Contact Model

       파지 강인함을 정량화하기 위해, 우리는 흡입컵 재료의 quasi-static spring model과 contact wrench 모델을 만들었다. contact wrench 모델은 컵 주변의 링을 통해 컵이 객체에 닿을 수 있도록 도와주는 모델이다. 우리의 모델은, 보상 R = 1 이다. 만약:

    1) 컵 주변과 객체 표면 사이에 압착이 형성되고

    2) 압착이 형성될때, 컵이 중력이나 방해에 저항할 수 있게 되었을때

     

    A. 압착 형성

       suction cup은 공기압 차이로 객체를 들어올릴 수 있다. 만약 컵 주변과 객체 사이에 갭이 존재하면, 갭 사이로 들어간 공기가 공기압 차이를 줄이고, 파지를 못하게 만든다. 그러므로, 컵과 목표 객체 사이의 강력한 압착이 파지를 성공시키는데 매우 중요하다.

       압착 형성이 언제 가능한지 결정하기 위해서, 우리는 실제 숫자 (n,r,h)로 이루어진 원뿔형의 시스템 C로서 suction cup을 모델링한다. n은 링 주의에 있는 꼭지점 갯수, r은 컵의 반지름, h는 컵의 높이. 그림 10을 보면 잘 표현되어있다.

       압착 형성이 언제 가능한지 결정하기 위해 spring-mass 모델로 계산이 많이 필요한 dynamic 시뮬레이션을 수행하기 보다, 우리는 압착 형성을 기하적으로 계산하기 위해 가정을 단순화하였다. 특히, 우리는 목표 객체의 삼각형 메쉬 M의 표면에 C를 project하여 압착을 가능케하는 C 배치를 계산한다. 그리고 압착 형성을 물리적으로 가능케하기 위해 proxy로서 quasi-static 조건 하에서 배치의 가능성을 계산한다.

       우리의 모델에서는, C가 두가지 종류의 spring을 가진다 

     

    B. Wrench Space Analysis

       suction cup이 중력과 같은 외부 힘에 저항할 수 있도록 degree를 결정하기 위해서, 우리는 suction cup이 사용될 수 있는 sets of wrenches를 분석했다.

       1) Wrench Resistance : m개의 basis wrenches로 구성된 접촉 모델을 사용하여 파지를 위한 object wrench set은 

     

     

    C. Robust Wrench Resistance

       우리는 흡입 파지 후보의 강인함을 평가한다. 더 구체적으로는 객체 포즈, 파지 포즈, 외부힘의 분포에 따른 저항성과 압착 형성 정도를 평가한다.

       정의 3 : grasp u와 state x에 맞는 강인한 저항성 지표는 λ(u,x) = P(W|u,x)이다. 이는 객체 포즈, 그리퍼 포즈, 마찰, 외부힘에서의 변화에 따른 성공 확률이다.

       실제로는, J 샘플로 강인한 저항성을 평가한다. 해당 평가는 각 저항성의 sample mean 값으로 계산된다.

     

    V. Dex-Net 3.0 Dataset

       noisy point cloud로부터 파지 강인함 예측을 훈련하기 위해, 우리는 point cloud y, 파지 u, 파지 보상 점수 R로 이루어진 훈련데이터셋 Dex-Net 3.0을 만들었다. 해당 데이터셋은 joint distribution p(R,x,y,u)로부터 (Ri,ui,yi)를 샘플링하여 얻었다.

    - States p(x) : 객체와 객체 포즈의 이산 데이터셋에 대한 uniform distribution, 그리고 작업공간의 제한된 구역 안에서 객체 평면 포즈와 카메라 포즈에 대한 uniform continuous distribution

    - Grasp Candidates p(u|x) : 객체 표면의 접촉지점에 대한 uniform random distribution

    - Grasp Rewards p(R|u,x) : 중력에 대한 저항성의 통계학적 모델. 가우시안 분포에 따라 그리퍼 포즈를 perturb하고, 섹션 IV에 있는 접촉 모델을 평가하여 중력이 샘플링된다.

    - Observations p(y|x) : depth sensor noise model. 해당 모델은 가우시안 프로세스 픽셀 noise로 구성

     

       그림3에서는 Dex-Net 3.0 객체와 파지 데이터셋의 일부분을 담았다. 

    그림 3: Dex-Net 3.0 데이터셋.

    (왼쪽) Dex-Net 3.0 객체 데이터셋은 대략 35만개의 서로다른 흡입 목표 지점을 가지고 있다. 이 지점들은 KIT 객체 데이터베이스와 3DNet으로부터 1500개의 3D 모델 표면 전반에 위치하고 있다. 각 흡입 지점은 robust(초록색) 혹은 non-robust(빨간색)으로 구분되어있다. robust(초록색) 파지는 객체의 평평한 표면에서 객체 무게중심 위에 주로 형성된다.

    (오른쪽) Dex-Net 3.0 point cloud 데이터셋은 대략 11.8% 긍정적 사례와 함께, 2.8백만개의 point cloud와 강인함 레벨로 이루어진 흡입 파지로 구성되어있다.

     

    샘플링 분포의 파라미터와 compliant suction contact model (n,r,h,E,V,μ,κ,ε) (섹션IV)은 강인함 Q 값의 평균 정확도를 최대화하는 값으로 설정된다. 이는 ABB YuMi 로봇에 시도된 파지 세트에서 grid search를 통해 얻어진다. 나아가, 이 파지 세트의 경우, 우리에게 알려진 3D 객체(섹션VII-A)를 대상으로 파지 세트가 수집된다.

     

       훈련데이터셋을 생성하는 우리의 방법은 그림 4에 표현되어있다.

    그림 4: Dex-Net 3.0 데이터셋 생성을 위한 방법

    우리는 먼저 객체 표면으로부터 흡입 파지 후보를 뽑아낸다. 또한, 객체 포즈, 그리퍼 포즈, 그리고 마찰에 의해 발생하는 중력을 저항하는 능력과 압착을 형성하는 능력을 평가한다. 앞선 후보는 객체 표면에 파지 후보를 만들기 위해 성공확률이나 강인함을 예측하는데 사용된다. 우리는 각 객체마다 point cloud를 만들고, 투시도(perspective project)을 통해 depth image의 픽셀과 방향을 파지 후보와 결부시킨다. 훈련 데이터포인트는 흡입 목표 픽셀에 데이터포인트의 중심을 위치시키고, 이미지 위치에 무관하게 작동하도록 접근 축과 일치시키고자 데이터포인트를 회전시킨다.

     

       우리는 먼저 3D CAD 모델 데이터베이스로부터 임의로 객체를 선택하여 state를 수집한다. 나아가, 작업환경과 관련된 마찰계수, 평면의 객체 포즈, 카메라 포즈를 샘플링하여 state를 수집한다. 우리는 객체를 위해 파지 후보 세트를 생성한다. 파지 후보 세트는 객체 메쉬의 표면으로부터 균등하게 무작위로 포인트와 normal vector?을 샘플링하여 생성된다. 그리고나서, 압착이 형성되고 저항성 이 임계치값 ε을 넘어서면(섹션IV-C) 보상 레이블 R=1로 설정한다. 마지막으로, 우리는 이미지 잡음을 만들어 해당 장면의 point cloud를 샘플로 선택한다. 파지 성공 레이블은 (투시도)perspective projection을 통해 이미지의 픽셀 위치와 연결시킨다. 샘플링 작업과 분포에 관한 추가적 사항을 위한 그래픽 모델은 보충 자료에서 살펴볼 수 있다.

     

    VI. Learning a Deep Robust Grasping Policy

       우리는 Dex-Net 3.0 데이터셋을 GQ-CNN을 훈련시키는데 사용했다. 해당 모델은 테이블 위에 놓여진 객체를 한 방향에서 바라본 point cloud를 입력값으로 사용한다. 또한, 목표 3D 포인트와 접근 방향으로 정의된 흡입 파지 후보를 입력값으로 사용한다. 나아가, 강인함, 혹은 성공 확률 예측치를 결과값으로 도출한다.

       우리는 접근 방향과 테이블 normal 사이에 각도를 포함하기 위해 포즈 입력값을 수정한 것을 제외하면 우리의 GQ-CNN 구조는 Dex-Net 2.0과 동일하다. point cloud는 목표 지점을 중심으로 하는 depth image를 가진다. 그리고 spatial transforming layer와 유사하게 픽셀의 중심 열에 일치시키기 위해 회전시킨다. 카메라로부터 얻은 end-effector depth와 방향성은 Fully connected layer의 입력값으로 사용되고, fully connected layer에서의 comv 특징과 연결된다. 우리는 GQ-CNN을 모멘텀 경사하강법을 사용하여 훈련시켰다. GQ-CNN은 Dex-Net 3.0 데이터셋의 이미지를 training-to-validation 80대20 비율로 나누어 훈련되었다. 학습은 NVIDIA Titan X GPU를 세개 사용하였고, 대략 12시간 정도 걸렸다. 학습된 GQ-CNN은 validation set에서 93.5% 분류 정확도를 보였다.

       우리는 실제 로봇에서 point cloud로부터 흡입 목표 파지를 계획하기 위해 GQ-CNN을 deep robust grasping policy로 사용해보았다. 이 policy는 Cross Entropy Method(CEM)를 사용한다. CEM은 최초 후보 파지의 세트를 샘플링한다. 후보는 표면 포인트와 객체 point cloud에서의 안쪽방향 normal으로부터 선택된다. 그리고나서, 예측한 성공 확률 중 가장 높은 값으로 파지 하기에 가장 적합한 Gaussian Mixture Model로부터 파지를 반복적으로 샘플링한다. policy로 계획된 파지 사례는 보충자료에서 볼 수 있다.

     

    VII. Experiments

       우리는 객체 모양과 포즈를 알고 있을때 강인한 외부 저항성의 정밀도를 특성화하고자 실험을 진행했다. 또한, 세가지 객체 클래스에 따른 point cloud로부터 파지를 계획하기 위한 deep robust grasping policy의 정밀도를 특성화하고자 실험을 진행했다.

     

    A. 객체 클래스

       우리는 55개의 딱딱하고 구멍이 없는 객체의 데이터셋을 만들었다. 해당 데이터셋은 도구, 식료품, 사무용품, 장난감, 3D 프린트된 산업용 부품 등이 포함되어 있다. 우리는 그림 5에 나와있는 것처럼 해당 객체들을 세가지 카테고리로 분류하였다.

    1) Basic : 각기둥의 고체. 25개의 객체

    2) Typical : 다양한 모양의 접근가능하고, 거의 평면의 표면을 지닌 일반적 객체. 25개의 객체

    3) Adversarial : 접근하기 까다롭고 복잡한 모양의 3D 프린트된 객체. 5개의 객체

    자세한 사항은 다음의 사이트에서 확인하라. http://bit.ly/2xMcx3x

     

    B. Experimental Protocol

       우리는 다음의 것들로 실험을 진행하였다. ABB YuMi, Primesense Carmine 1.09, 15mm 반지름의 실리콘 단일 suction cup으로된 suction system, 대략 0.9kg 무게의 VM5-NC VacMotion 진공 발생기. 실험 작업공간은 그림 5의 왼쪽 panel에 표현되어있다. 각 실험에서, operator는 로봇에 목표 객체를 반복적으로 주었고, 로봇은 객체에 흡입 파지를 계획하고 실행하였다. operator는 로봇이 작업공간의 사이드로 객체를 들고 옮길 수 있느냐 없느냐에 따라 성공을 label하였다. 각 방법에 대하여, 우리는 측정했다:

    1) Average Precision (AP) : precision-recall curse 아래 면적. 정책에 의해 예측된 성공률에 가능한 threshold 전반에 걸친 정밀도를 측정한다. 이것은 로봇이 계획한 파지가 실패할 것이라고 예측된다면 (도움을 청하는 등의) 대안적인 action을 사용할 수 있는 산업에 적용하기 유용하다. 

    2) Success Rate : 성공한 파지의 분수

     

    C. Performance on Known Objects

    인지 시스템으로부터 우리의 강인함 지표 성과를 독립적으로 평가하기 위해, 우리는 지표가 흡입 파지 성공에 있어 예측가능한지 아닌지를 평가한다. 3D 프린트된 Adversarial 객체를 사용하여 객체 모양과 포즈가 알려져 있을때. (그림 5의 오른쪽 panel). 로봇은 우리가 알고 있는 안정된 포즈로 다섯개의 Adversarial 객체 중 하나가 주어진다. 해당 포즈는 가장 안정된 포즈로 꼽히는 세가지 포즈 중 하나로 선택된다. 우리는 객체를 template image에 손으로 정렬시킨다. template image는 테이블 위에서 우리가 알고 있는 포즈로된 객체를 만들어 생성된다. 그리고나서, 우리는 객체의 3D 모델에서 미리 계산된 파지 데이터베이스를 만들고, 다섯번의 시도 끝에 가장 높은 지표값으로 파지를 실행한다. 실험당 총 75개의 시도가 있었다.

    우리는 다음의 지표로 비교했다.

    1) Planarity-Centroid (PC3D). 객체 중심에서 inverse distance. 3D 객체 표면에 충분히 평면으로된 patch.

    2) Spring Stretch (SS). 흡입 접촉 모델에서 스프링 사이 maximum stretch

    3) Wrench Resistance (WR). perturbation 없는 우리의 모델.

    4) Robust Wrench Resistance (RWR). 우리의 모델

     

    D. Performance on Novel Objects

     

     

     

    논문 읽기 보류 : 단일 객체 인식인 것 같다. singulated object 라고 가정한 것으로 보아.

    아이디어 : Object Detection + DexNet 3.0 결합 모델 / BUT end-to-end 포기

Designed by Tistory.