Pinkrab - 전체 목차1장

Pinkrab - 게발의 시작

아이디어

어느 날 유튜브 알고리즘에 이끌려 아래 영상을 보게 됐다.

이 유튜버는 SO-ARM 101 을 가지고 이케아 SKÅDIS 페그보드에 고정한 양팔 로봇을 만들었다. 아니, 만들었다기보다는 조합했다고 해야 하나? 아무튼 아이디어가 꽤 참신하다고 생각했고, 마침 UMI 그리퍼에 관심이 있던 나는 이 양팔 로봇을 UMI 로 훈련시켜 보기로 했다. 아무래도 벽에 부착한 형태라서 leader arm 을 사용한 데이터 수집에는 어려움이 있을 것 같았기 때문이다.

UMI 그리퍼란?

UMI(Universal Manipulation Interface)는 2024년 Stanford 의 Cheng Chi 등이 발표한 데이터 수집 방식으로, 로봇 없이 사람이 손에 든 그리퍼로 시연을 모아서 로봇을 훈련하는 방식이다.

UMI 그리퍼 — 사람이 드는 그리퍼(왼쪽)와 로봇에 단 같은 그리퍼(오른쪽)

출처: Chi et al., "Universal Manipulation Interface", RSS 2024 (arXiv:2402.10329) 그림 2

그리퍼 위에 달린 어안 카메라 하나가 시연 영상을 찍고, 같은 영상으로 SLAM 을 돌려 그리퍼가 움직인 궤적을 복원한다. 영상은 정책의 입력, 궤적은 로봇이 따라갈 action 이 된다. 로봇에도 같은 그리퍼와 같은 카메라를 달기 때문에, 사람이 들었을 때와 로봇이 들었을 때 카메라 화면이 거의 같다. 그래서 사람 손으로 모은 데이터로 학습한 정책을 로봇에 그대로 올릴 수 있다.

이 방식은 최근 연구실 밖으로 나오고 있다.

  • Sunday Robotics 의 Memo — UMI 를 만든 Cheng Chi 와 ACT 를 만든 Tony Zhao 가 세운 회사. 사람이 장갑(Skill Capture Glove)을 끼고 집안일을 하면, 그 기록으로 가정용 로봇 Memo 를 학습시킨다.

    Sunday Robotics 의 Skill Capture Glove

    출처: Sunday Robotics

  • Pollen Robotics 의 Grabette · Gripette — 사람은 handheld 그리퍼 Grabette 로 시연을 모으고, 로봇에는 같은 모양의 그리퍼 Gripette 를 단다. 하드웨어와 코드가 모두 공개돼 있다.

    Pollen Robotics 의 Grabette(왼쪽)와 Gripette(오른쪽)

    왼쪽 Grabette(사람이 드는 그리퍼) · 오른쪽 Gripette(로봇에 다는 그리퍼). 출처: pollen-robotics/grabette (Apache-2.0)

UMI 를 사용하면 뭐가 좋을까?

기존 방식(teleoperation)과 UMI 비교

기존에는 사람이 리더암 같은 조종기로 로봇을 직접 움직이며(teleoperation) 데이터를 모았다면, UMI 는 로봇 없이 데이터 수집이 가능하다. 이 덕분에 언제 어디서나 쉽게 데이터 수집이 가능하다.

  • 로봇 없이 수집 — 데이터를 모으는 동안 로봇이 필요 없다. 로봇은 학습이 끝난 뒤 같은 그리퍼를 달고 정책을 실행할 때만 등장한다.
  • 어디서나 수집 — 그리퍼만 들고 다니면 부엌이든 밖이든 모을 수 있다. UMI 논문의 컵 정리 실험에서는 30개 장소에서 모은 데이터로 학습한 정책만 처음 보는 환경에서 동작했고, 실험실 데이터로만 학습한 정책은 한 번도 성공하지 못했다.

6자유도가 필요한 이유

처음에는 5자유도 SO-ARM 101 을 그대로 쓰려고 했다. 그런데 UMI 로 녹화한 궤적을 팔로 재현하려고 보니 자유도가 모자랐다.

UMI 가 기록하는 것은 집게 끝의 자세다. 자세는 위치 셋(x, y, z)과 방향 셋(roll, pitch, yaw), 즉 값 여섯 개로 나타낸다. 그런데 SO-ARM 101 의 관절은 다섯 개뿐이다.

개수만 모자란 게 아니다. 어깨·팔꿈치·손목의 굽힘 축 세 개(shoulder_lift · elbow_flex · wrist_flex)가 서로 평행해서, 팔은 shoulder_pan 이 정한 한 평면 안에서만 굽는다. 집게도 그 평면 방향으로만 향할 수 있다. 사람이 물건을 비스듬히 옆에서 집은 시연은 따라갈 수 없다.

5자유도와 6자유도 비교 — 5자유도 팔은 한 평면 안에서만 굽고, 손목 yaw 를 더하면 평면 밖 방향도 맞출 수 있다

손목에 평면 밖으로 도는 축(wrist_yaw)을 하나 더하면 관절이 여섯 개가 되고, 녹화된 자세의 여섯 값을 모두 맞출 수 있다.

SO-ARM 101 에서 Pinkrab 으로

6자유도 SO-ARM 을 직접 설계해야 하나 생각하던 차에 인터넷을 뒤지던 중, ahb 가 MakerWorld 에 올린 SO-ARM100 additional wrist joint 를 발견했다. 브래킷으로 SO-ARM 의 손목에 관절을 하나 더 만드는 부품이다. 이것 말고도 SO-ARM 을 6자유도로 만들려고 시도한 관절이 몇 가지 있었지만, 이 관절이 제일 간단하면서도 깔끔했다.

SO-ARM100 additional wrist joint — 손목에 추가된 관절(빨간 원)

출처: ahb, MakerWorld (CC BY-SA)

단, 그대로 쓰기에는 문제가 하나 있었다. 관절이 끝까지 돌면 손목이 브래킷 입구 쪽으로 파고들면서 서보 케이블을 씹었다. 그래서 브래킷의 서보 주머니 벽을 케이블 단자 쪽까지 연장하고, 단자 위에만 홈을 냈다. 이제 관절 끝에서 손목은 케이블이 아니라 이 벽에 닿아 멈춘다.

wrist joint 브래킷 — 원본(ahb)과 Pinkrab, 서보 주머니 입구 쪽에서 본 모습

베이스 확장

벽에 더 단단히 고정되도록 베이스를 원본보다 넓혔다. 폭이 111 mm 에서 139 mm 로 늘었고, 바닥은 120 × 80 mm 볼트 패턴을 가진 판으로 바꿔 페그보드에 볼트로 고정한다.

베이스 — SO-ARM 101 과 Pinkrab

트러스 구조 경량화

관절 사이의 판을 트러스 구조로 뚫어 무게를 줄였다. 상완은 부피가 117.4 cm³ 에서 81.5 cm³ 로 31% 줄었다. 팔 끝이 가벼울수록 어깨 서보가 버텨야 하는 힘이 줄어든다.

상완 — SO-ARM 101 과 Pinkrab

손목 관절 2개, 긴 링크 1개 제거

위의 wrist joint 브래킷을 두 개 쓴다. 하나는 새 wrist_yaw 관절이 되고, 다른 하나는 원래 전완(forearm)이 있던 자리를 대신한다. 그래서 관절은 하나 늘었지만 긴 전완 링크 하나가 빠졌다.

전완 — SO-ARM 101 의 전완과 Pinkrab 의 브래킷 2개

그리퍼 roll 175°

원본 SO-ARM 101 은 그리퍼 roll 이 한 바퀴를 다 돌지 못한다. URDF 기준 −157° ~ +163°, 총 320° 다. 손목과 그리퍼 사이에서 서로 걸리는 턱(stop)을 다시 만들어, home 기준 ±175°, 총 350° 를 돌 수 있게 했다. 원본보다 30° 더 돌고, 막힌 구간은 40° 에서 10° 로 줄었다.

그리퍼 roll 회전 범위 — SO-ARM 101 과 Pinkrab

두꺼운 claw · jaw

그리퍼의 claw 와 jaw 를 두껍게 만들어, 손에 끼웠을 때 가려지게 했다. 모양은 이름대로 게의 집게를 닮게 다듬었다.

claw · jaw — SO-ARM 101 과 Pinkrab


다음 글에서는 부품을 출력하기 전에, 이 팔을 먼저 시뮬레이션 안에서 만들어 움직여 본다.