TT Lab
요금제

한국어

시작하기
블로그

블로그

DeepMind 탁구 로봇을 원문으로 읽고 시뮬레이터로 따져 본 개선 방향

상태: 초안 (2026-10-18), 원문 읽기와 실측. 논문 수치는 2026-10-18 에 arXiv HTML 판(2408.03906v3)을 직접 열어 해당 절에서 다시 확인한 것만 적었고, 쪽 번호 대신 절·표 번호를 씁니다. 실측은 2·5편과 같은 임시 파드(미니 PC 노드 Intel Core Ultra 9 185H, 상한 CPU 3코어·메모리 3 GiB, GPU 없음, MuJoCo 3.16.0, 시간 간격 1 ms)에서 했고, 다른 시뮬레이션 실험과 CPU 를 나눠 썼습니다. 모든 반환률은 시뮬레이터 안의 상대 비교값입니다. 실제 로봇이나 실제 공으로 잰 값이 아닙니다. 관측 잡음 σ 3 mm, 라켓 고무, 결정 지평 같은 조건은 가정값입니다. 반복은 관측 잡음 씨앗 3개이고 표의 값은 씨앗별 성공률의 중앙값입니다. 벽시계 시간은 DM1 1,702 s, DM2 560 s 였습니다. 원자료는 작업 디렉터리 measure/sim-tt-deepmind/ 에 있습니다.

목차

1. 직관: 아마추어 중급까지 온 로봇이 어디서 막혔나

DeepMind 의 탁구 로봇은 사람을 상대로 경기를 치러 「아마추어 중급」 수준에 닿았습니다. 그런데 숙련자들은 금방 약점을 찾아냈습니다. 낮고 강한 언더스핀, 빠른 공, 백핸드입니다. 이 글은 논문이 스스로 적은 한계를 원문으로 확인하고, 그중 회전과 결정 시점 문제를 우리 시뮬레이터에서 직접 재 봅니다. 탁구 로봇을 처음부터 만드는 입장에서 「어디에 먼저 힘을 쓸지」를 정하려는 것입니다.

2. 논문이 만든 것

Achieving Human Level Competitive Robot Table Tennis(arXiv 2408.03906, ICRA 2025)에서 확인한 구조입니다.

항목 원문 내용 절
몸 6축 산업용 팔(ABB IRB 1100)을 Festo 직선 갠트리 두 개 위에 올림. 좌우 4 m, 앞뒤 2 m §II-A
눈 Ximea 카메라 두 대, 125 Hz. 신경망 인식이 같은 주기로 공 위치를 냄. 상대 라켓은 모션캡처로 추적 §II-A
지연 시스템 전체 약 100 ms. 제어 주기는 50 Hz §V(1)
정책 저수준 기술 정책 17개(서브 받기 4, 랠리 13. 포핸드 11, 백핸드 6)와, 공마다 그중 하나를 고르는 고수준 제어기 §II, 부록
정책 입력 8스텝의 공 위치·속도(6), 관절 위치(8), 포핸드·백핸드 원핫(2). 회전은 입력에 없음 §II-C
회전 회전량은 추정하지 않음. 들어오는 공이 탑스핀인지 언더스핀인지만 고르는 분류기. 서브의 언더스핀에서 정밀도 1.0, 재현율 0.4 §II-D3, §III-G
시뮬레이터 MuJoCo. 실기 미세조정 없이 배포(zero-shot sim-to-real) §II-E
성적 29경기 13승(45%). 초급 7/7, 중급 6/11, 상급(Advanced) 0/5, 최상급(Advanced+) 0/6 §III, 표 XIV

재현율 0.4 는 언더스핀 서브 열 개 가운데 여섯 개를 탑스핀으로 잘못 읽었다는 뜻입니다.

3. 저자가 밝힌 한계 아홉 가지(§V)

  1. 빠른 공. 데이터 부족, 약 100 ms 의 시스템 지연, 공마다 같은 준비 자세로 돌아가는 리셋 때문입니다.
  2. 높은 공. 탁자 위 약 6 ft 를 넘으면 카메라 시야를 벗어납니다. 실제로는 드물었다고 적었습니다.
  3. 낮은 공. 라켓을 보호하는 충돌 회피 규칙 때문에 탁자에 붙어 오는 공을 잘 받지 못했고, 숙련자들이 낮은 언더스핀으로 이 점을 자주 공략했습니다.
  4. 숏핌플 라켓. 시뮬레이터로 모델링할 수 있는 고무를 골랐습니다. 상급자용 민러버는 비선형이고 여러 모드를 가져 모델링하기 매우 어렵다고 적었습니다.
  5. 회전 읽기. 극단적인 회전을 정확히 읽지 못해, 다룰 수 있는 회전량이 제한되었습니다. 회전 인식이 좋아지면 성능이 바로 오를 것이라고 봅니다.
  6. 여러 공을 내다보는 전략 없음. 공 하나씩 학습한 탓입니다.
  7. 모션캡처의 불안정. 가끔 생기는 추적 오류가 성능을 해쳤습니다.
  8. 백핸드가 포핸드보다 약함.
  9. 예측 가능한 배치. 심판이 꼽은 개선 영역 상위 셋은 배치, 회전 읽기, 백핸드였습니다.

아홉 가지 가운데 셋(1 지연, 3 낮은 언더스핀, 5 회전)이 「회전을 언제, 얼마나 아느냐」로 묶입니다. 그래서 이 문제부터 재 보았습니다.

4. 시뮬레이터 실험 DM1: 결정 지평과 회전 지식

설정. DeepMind 공개 초기 공 상태(랠리 중 로봇 쪽으로 오는 공)에서 200개를 뽑아, DeepMind MJCF 값의 MuJoCo 로 굴린 궤적을 「진실」로 두었습니다. 타격면(y = −1.6 m)에서 공 중심이 탁자 높이보다 5 cm 낮은 공 10개와 네트·두 번 바운드 같은 공 4개를 빼서 186개가 남았습니다. 카메라(120 fps 또는 240 fps)는 공 위치에 축마다 σ 3 mm 잡음을 더해 보고, 타격 시각에서 결정 지평 H(인지 지연 + 동작 준비 시간)를 뺀 시각까지의 관측만 씁니다. 추정기가 위치·속도를 맞추고, 계획기가 라켓 면의 법선과 속도를 정합니다. 회전은 방식마다 다르게 줍니다. 「회전 무시」는 0, 「참 회전」은 진실 값, 「회전 오차 x%」는 진실에 x% 오차를 섞은 값, 「궤적 적합」은 궤적의 휨에서 회전까지 맞춘 값입니다. 인지 오차가 없으면 186개 모두 반환했습니다(천장 100%).

결정을 늦게 내릴수록 회전을 알아야 한다 시뮬레이터 안 반환 성공률(%), 공 186개, 120 fps, 잡음 씨앗 3개의 중앙값 40 60 80 100 50 100 200 300 400 결정 지평 H(ms): 인지 지연 + 동작 준비 바운드가 끝난 뒤 타격까지 남은 시간의 중앙값 284 ms 참 회전 회전 오차 15% 궤적에서 회전 적합 회전 오차 30% 회전 오차 60% 회전 무시 H 300 ms 에서 무시 48.9 · 적합 85.5 · 참 98.9
그림: 결정 지평에 따른 회전 방식별 반환 성공률
회전 방식(120 fps) H 50 100 150 200 250 300 350 400 ms
회전 무시 84.4 83.3 66.7 50.0 45.7 48.9 50.5 47.8
궤적에서 회전 적합 100 100 100 98.4 94.6 85.5 78.5 66.7
회전 오차 15% 100 100 100 100 99.5 95.7 90.9 88.2
참 회전 100 100 100 100 100 98.9 97.3 96.2

5. 시뮬레이터 실험 DM2: 회전 「종류」만 알아도 얼마나 회복되나

DeepMind 의 분류기처럼 회전의 종류만 아는 경우를 따로 재 보았습니다. 종류는 DeepMind 부록의 기준(탑 ωx > 50, 백 ωx < −25 rad/s, 나머지는 무회전)으로 나누고 종류마다 80개를 뽑았습니다. 데이터의 회전은 상급자보다 약하므로 회전을 2배, 3배로 키운 공도 만들었습니다. 지평은 빠른 팔을 가정한 150 ms 와 느린 갠트리를 가정한 300 ms 입니다(둘 다 가정). 「종류 + 궤적」은 공 밖의 신호(상대 자세, 타구음 같은 것)가 종류를 맞혔다고 보고, 그 종류의 평균 회전을 사전분포 중심으로 둔 궤적 적합입니다.

회전 「종류」 힌트를 궤적 적합에 보태면 시뮬레이터 안 반환 성공률(%), 탑·백·무회전 공을 모두 합침, 씨앗 3개 중앙값 0 50 100 ×1 ×2 ×3 ×1 ×2 ×3 H 150 ms(빠른 팔 가정) H 300 ms(느린 갠트리 가정) 회전 무시 궤적 적합 종류 + 궤적 참 회전 ×1·×2·×3 은 데이터의 회전을 키운 배수. 「종류」 는 탑·백·무회전 구분만 아는 경우.
그림: 회전 종류 힌트를 궤적 적합에 보탰을 때의 반환 성공률
회전 배수 H 회전 무시 종류 평균만 궤적 적합 종류 + 궤적 참 회전
×1 150 ms 69 93 93 100 100
×1 300 ms 55 72 77 94 99
×2 150 ms 35 83 88 97 100
×2 300 ms 26 48 63 82 98
×3 150 ms 20 76 88 98 100
×3 300 ms 11 40 61 74 90

(탑·백·무회전 공을 모두 합친 반환률(%)입니다. 유효 공은 ×1 220개, ×2 176개, ×3 122개입니다. 회전을 키우면 로봇 쪽 탁자에 떨어지지 않는 공이 생겨 수가 줄었습니다.)

6. 덤: 같은 접촉값의 반발이 적분기에 따라 달라진다(DM3)

2편 5절에서 비스듬한 바운드의 법선 반발이 1 을 넘는 칸(1.081)이 있었습니다. 시간 간격 3가지, 적분기 2가지, 마찰 원뿔 2가지, 입사 6가지로 72칸을 다시 재 보니, 1 을 넘는 경우는 implicitfast·1 ms·타원 원뿔·백스핀 300 rad/s 한 칸뿐이었고(0.5 ms 에서 1.001, 0.25 ms 에서 0.984), 같은 1 ms 에서 RK4 는 0.838–0.951, implicitfast 는 0.961–1.081 이었습니다. 총 운동에너지(병진 + 회전)의 접촉 후/전 비는 72칸 모두 1 보다 작았으므로(0.851–0.996) 에너지를 만든 것은 아니고, 접선 방향의 에너지가 법선 쪽으로 넘어간 것입니다. 시스템 식별로 맞춘 접촉값은 그때의 적분기와 시간 간격과 한 묶음으로 다뤄야 합니다.

7. 개선 방향: 우리가 먼저 할 다섯 가지

순서 개선안 겨냥하는 한계 이 글의 근거
1 회전 종류 힌트 + 궤적 적합. 상대 자세·타구음·라켓 면에서 종류를 먼저 알아내고, 그 평균을 궤적 적합의 사전분포로 씁니다. 3, 5 DM2: 7–19%p
2 두 단계 결정. 느린 갠트리는 일찍 움직이고, 손목은 바운드 뒤 관측으로 늦게 보정합니다. 1 DM1: 지평이 바운드 뒤 남은 시간을 넘으면 절벽. 두 단계 결정 자체는 미실측
3 120–240 fps 카메라로 궤적에서 회전 적합. 회전 센서 없이 얻는 기준선입니다. 5 DM1: 지평 150 ms 까지 참 회전과 같음
4 회전·속도에 따라 변하는 공 물리와 접촉 모델 식별. 4, 5 DM1 의 「참 회전 96.2%」, 2편의 마그누스 4.2배, DM3
5 타격 순간을 최적화로 풀고 강화학습은 잔차로만. 1, 8 5편의 고전 기준선이 출발점

1번은 TT Lab 이 점수판 인식에서 추구하는 공·소리·자세 다중 신호 인식과 바로 이어집니다. 「공이 날기 전에 회전 종류를 안다」가 로봇 성능으로 이어지는 고리라서, 가장 먼저 재현해 볼 방향입니다.

8. 공개된 것과 공개되지 않은 것

9. 한계

10. 다음 편으로

다음은 5편의 기준선 위에 강화학습을 얹어, 이 글의 1번 방향(회전 종류 힌트)이 학습된 정책에서도 같은 크기로 효과를 내는지 보는 것입니다(준비 중).

티티 한마디. 공이 어떤 회전인지 「종류」만 미리 알아도 10% 넘게 더 받아 낼 수 있었어요. 상대의 자세와 타구음을 듣는 눈과 귀가 로봇의 손을 도와줄 수 있다는 뜻이에요!

참고

모든 링크는 2026-10-18 에 열람해 열리는 것을 확인했습니다.

로그인하면 좋아요를 누를 수 있습니다

댓글

아직 댓글이 없습니다.

로그인하면 댓글을 쓸 수 있습니다