(Robot manipulation) FMB: a Functional Manipulation Benchmark for Generalizable Robotic Learning
로봇 manipulation 관련한 논문이 arxiv에 올라와서 정리해봅니다.
해당 논문은 California대학의 전자 컴퓨터 공학부에서 작성되었습니다. (2024.1월 업로드). 주요 내용 위주로 간단하게 살펴봤습니다.
Functional Manipulation Benchmark (FMB)
- FMB task는 크게 다음의 2가지 카테고리로 나눌수 있음
1) Single-object multi-stage manipulation
2) Multi-object multi-stage manipulation
상기 2 카테고리 모두 'grasping, repositioning, insertion'같은 독립적인 기본 manipulation skill을 필요로 함.
작업의 복잡도 기준에서는 'Multi-object multi-stage manipulation'이 상대적으로 더 복잡함.
- Test Robot
- Franka Emlka Panda robot
https://wego-robotics.com/franka-emika-panda/
FRANKA EMIKA - PANDA
FRANKA EMIKA - PANDA FRANKA EMIKA - PANDA 의 특징 프랜카 에미카의 협동 로봇은 7축 관절에 모두 토크 센서가 내장되어 있어 각 관절에 걸리는 힘을 실시간으로 감지할 수 있어 생산공정에서 자동화에 관
wego-robotics.com
- Object set
본 논문에서 공개한 object들은 CAD 포맷을 따르며, 3D printer로 만들수 있음.
총 66개의 object들이 있으며, 그 중 54개는 'Single-object manipulation task'용임. (9개의 다른 기본 형태, size는 6종류로 구성. 각 object의 색은 8가지 색 중 임의로 설정됨)
나머지 12개는 'Multi-object manipulation task'용임.
- Individual Manipulation Skills
- Grasping
- 단순하게 고정된 pose로 물건을 집어올리는 것이 아닌, 집어야할 object의 놓여있는 모양을 고려해서 물건을 잡음.
(Top-Down grasp, Horizontal grasp) - Repositioning (object가 놓여있는 방향을 조정하는 기능)
- Repositioning은 object grasp/insertion를 잘하기위해서 종종 필요한 기능임. - Insertion
- 본 연구에서의 block조립 task의 경우 board의 slot에 딱 맞게 조립해야하며, 이로 인해 정밀한 insertion 기능도 필요함. - Single-object task의 경우, 125명이 로봇을 조종하여 task를 수행하였음. 다양한 초기 로봇 pose와 board 위치를 조정하여, 총 6750번의 demonstation이 수행됨.
- Multi-object 조립 task의 경우, 150명이 로봇을 조종하여 task를 수행하였음. 총 1800개의 로봇 조립 trajectory 데이터를 수집함.
- Grasping
- Single-object multi-stage manipulation tasks
- 하나의 object를 board에 잘 insertion하는 task
- 이 task의 어려운 점은 주로 task들간 누적된 에러임. (grasping - repositioning - insertion)
- Multi-object multi-stage manipulation tasks (single-object multi-stage manipulation task보다 훨씬 도전적)
- Grasping 단계: 로봇은 여러 object들 중에서 slot과 조합에 적절한 object를 집어야함.
- Insertion 단계: 조립 board에 미리둔 object들이 있을 경우, 그런 부분을 고려하여 insertion을 수행해야함.
- Object들을 특정 순서로 놓아야하는 부분이 도전적임.
- Robotic system and data collection
- Robotic system overview
- 로봇: Franka Panda robot
- 원격으로 manipulator를 제어하기 위해서, SpaceMouse를 사용함. (6 DoF end-effector twist at 10Hz)
- 4개의 Intel RealSense D405 (2개는 로봇의 end-effector에 부착. 나머지 2개는 world view?)
(camera image와 depth image를 같이 capture)
- Franka Panda robot의 end-effector force/torque 정보도 저장함. - Single-object task dataset
- 완전히 종료한 2700개의 demonstration으로 구성됨.
(각 demonstration은 grasping, reorientation, insertion등을 모두 포함하고 있음)
- 완전히 종료한 demonstation은 자동적으로 행동 command마다 labelling됨.
- 부가적으로 4050개의 insertion에 대한 demonstation만 취득함.
(다른 skill들에 비하여 어려운 편임.)
- 각 demonstation은 20~40초의 길이를 가짐.
- 대략적인 label들: grasp, place on fixture, regrasp, rotate, move to board, insertion
- 대략적인 label들로 segmentation한 경우, 총 15,350개의 demonstation이 만들어짐 (평균 길이: 5초)
- Grasping task: 관심 object들이 20cm X 30cm 사각 area bin에서 random하게 있음
- Insertion task: 조립 board가 40cm X 60cm 안의 영역에서 random화 됨. - Multi-object task dataset
- 3개의 multi-object 조립하는 task. 총 150개의 end-to-end demonstration으로 구성됨.
- 각 trajectory는 grasp, reorient, 순서대로 insert로 구성됨. (100초 초과하는 데이터도 존재)
- 대략적인 label들: grasp, place on fixture, regrasp, move to board, insert로 구성됨.
- 대략적인 label들로 segmentation할 경우, 7200개의 trajectory 데이터가 만들어짐. (평균 길이: 5초)
- Single-object task와는 달리, 조립 board가 테이블에 고정되어 있음.
- Robotic system overview
- An Imitation Learning System for the FMB
- Imitation Learning Policies for Indivisual Skills
- ResNet-based policy
Policy head: ResNet-34 vision backbone과 MLP로 구성됨. (Gaussian distribution 표현)
입력으로 multiple RGB정보와 depth image정보 사용되며, 각 정보는 weight-shared ResNets으로 feature가 추출되어 concatenation됨.
또한, 로봇 end-effector pose, twist, force/torque 값도 linear projection을 통하여 feature 추출 후, MLP에 위의 정보와 함께 입력됨.
object ID와 manipulation skill ID도 one-hot vector로 encoding하여 모델에 입력됨.
모델의 출력은 6D end-effector twist이며 binary variable로 나옴. (Gripper가 열려야되는지 닫겨야되는지를 표현)
- Transformer-based policy
Transformer 기반 모델의 주요 장점으로는 multi-modal data 또는 다양한 대량의 데이터를 scaling하여 사용할 수 있다는 점임.
Decoder-only Transformer 사용
weight-shared ResNet-32를 사용하여 multiple camera view들로부터 image들을 tokenization함.
부가적으로 FiLM layer를 활용하여 object ID 또는 primitive ID가 요구되어 질 때에 사용함. (conditioning)
로봇의 하드웨어 센서정보도 MLP를 통해 tokenization됨.
Transformer 네트워크의 출력은 discretized된 action을 출력하며, 이 action은 6D end-effector twist에 대한 것임. (binary 변수 - gripper가 open or close)
연속적인 6D robot action 공간의 각 차원은 Gaussian quantizer를 활용하여 학습동안 256개의 bin으로 discretized됨.
Discretized action 공간은 runtime에 로봇에게 command를 보낼때 연속적인 값들로 변환됨. - Composing Skills to Solve Long-Horizon Tasks
- FMB의 중요 부분은 2개의 긴 long horizon sequential manipulation tasks임.
- 상기 문제를 푸는 한 방법으로는 long-horizon trajectories들에 대해서 imitation learning policy를 학습하는 것임. 하지만, 이 방법은 누적 error issue로부터 자유로울 수 없음. (누적 error issue를 줄이기 위해서는, 대량의 학습 데이터가 필요함)
- 본 논문에서는 사람에 의해서 제공된 sequence를 학습하여 해당 문제를 품.
(예를 들어, 로봇이 object를 안전하게 잡을때까지 grasping을 반복하거나, grasping에 실패한 경우 object의 pose를 바꿀수 있게 repositioning을 선택할 수 있게 함.)
(이 과정이 ResNet기반의 모델이나 Transfomer 기반의 policy 모델에 의해 command 출력이 나옴)
- Imitation Learning Policies for Indivisual Skills
- Experiments
- Grasping task
- Repositioning task
- Insertion task
- Multi-stage manipulation task
해당 논문을 읽음으로써, manipulation task에서 나아가야되는 방향을 대략적으로 알 수 있었음.
block 조립이란 task의 난이도에 간접적으로 알 수 있었음.