로봇의 손재주가 제자리걸음인 진짜 이유: AI가 아니라 모터가 문제다
Hacker News 상단에 올라온 글 하나가 눈길을 끕니다. 제목은 “The Robotic Dexterity Deadlock”. 그런데 클릭해보니 Deployment is temporarily paused라는, 개발자라면 누구나 등골이 서늘해질 에러 메시지만 반겨주더군요. 트래픽 초과로 Vercel 빌이 터진 건지, 아니면 일종의 메타적인 퍼포먼스인지는 모르겠지만, 다행히 아카이브(Archive.org)를 통해 내용을 확인할 수 있었습니다.
이 글, 그리고 여기에 달린 HN의 시니어 엔지니어들의 코멘트들은 최근 로보틱스 업계가 직면한 ‘진짜 병목’ 이 무엇인지 아주 날카롭게 지적하고 있습니다. 오늘은 단순히 “AI 로봇이 대세다” 같은 뻔한 소리 말고, 왜 2024년에도 로봇이 여전히 문고리 하나 제대로 못 돌리는지 그 기계공학적, 소프트웨어적 이유를 파헤쳐 보겠습니다.
기어박스(Gearbox): 머신러닝의 숨겨진 적
우리는 흔히 로봇이 서투른 이유를 “AI 모델이 아직 덜 똑똑해서” 라고 생각합니다. 데이터가 부족하거나, Sim-to-Real(시뮬레이션과 현실 간의 격차) 문제라고 치부하죠. 하지만 이 아티클과 HN 댓글들의 핵심 주장은 다릅니다. 범인은 바로 모터와 기어박스 입니다.
기계적 노이즈에 낭비되는 학습 용량
로봇 관절에는 보통 높은 기어비(High Gear Ratio)의 감속기가 들어갑니다. 작은 모터로 큰 힘을 내야 하니까요. 문제는 여기서 발생합니다.
- Backlash (유격): 기어 톱니 사이의 미세한 틈.
- Friction (마찰): 비선형적인 마찰력.
- Flexibility (탄성): 기어가 힘을 받을 때 휘어지는 현상.
이런 요소들은 제어 시스템 입장에서 보면 전부 예측 불가능한 노이즈 입니다. HN의 한 유저(anon)가 지적했듯, 지금의 머신러닝 모델들은 로봇의 ‘손재주(Dexterity)‘를 배우는 게 아니라, 이 엉망진창인 기어박스의 물리적 특성을 학습하느라 파라미터(Parameter)를 다 낭비하고 있다는 겁니다.
즉, 모델이 “컵을 어떻게 잡을까?”를 고민해야 하는데, “이 모터를 1도 돌렸을 때 기어 마찰 때문에 실제로는 0.8도만 돌아갈까? 아니면 튀어서 1.2도가 될까?”를 계산하느라 뇌 용량을 다 쓰고 있다는 소리죠.
$N^2$ 임피던스 불일치 (The $N^2$ Impedance Mismatch)
기술적으로 가장 흥미로운 부분은 반사 관성(Reflected Inertia) 에 대한 이야기입니다. 공학적으로 모터의 관성은 기어비($N$)의 제곱($N^2$)에 비례해서 증가합니다.
기어비가 100:1이라면, 모터 축에서 느껴지는 관성은 10,000배가 됩니다. 이건 로봇 손가락이 무언가에 닿았을 때(Impact), 그 충격을 모터가 감지하고 반응하는 속도가 그만큼 느려지고 둔해진다는 뜻입니다. 이걸 Back-drivability(역구동성) 가 떨어진다고 표현합니다.
결국 해결책은 무엇일까요? 소프트웨어 보정이 아니라 하드웨어의 재설계 입니다.
“What you really want is a direct drive motor…”
HN 댓글에서도 언급되었듯, 이상적인 건 Direct Drive(직결 구동) 입니다. 기어가 없으면 유격도 없고 마찰도 적으니까요. 하지만 Direct Drive 모터는 토크를 내려면 직경이 커져야 합니다. 로봇 손가락에 넣기엔 너무 크죠.
그래서 나온 타협점이 Pancake Motor(납작한 모터) 형태에 낮은 기어비를 사용하는 방식입니다. 이 글의 저자들은 ML 펀딩을 끌어와서 이 모터 설계를 최적화하는 데 썼다고 합니다. 과거에는 로보틱스 랩들이 가난해서 싼 모터를 쓰고 제어로 때웠는데, 이제는 자본이 들어오니 “제어가 쉬운 하드웨어” 를 직접 깎는 시대로 온 겁니다. 이건 꽤 의미 있는 변화입니다.
휴머노이드 vs 전용 로봇: 폼팩터 전쟁
기술적인 얘기에서 한 발 물러나, HN에서는 “왜 굳이 사람 손 모양(Humanoid Hand)이어야 하는가?” 에 대한 논쟁도 치열했습니다.
- 회의론자: “수술 로봇이나 피아노 연주 로봇을 봐라. 사람 손 모양이 아니다. 특정 작업에는 전용 형태가 훨씬 효율적이다. 할머니 부축하는데 굳이 무게중심 높은 이족보행 로봇을 써서 넘어질 위험을 감수해야 하나?”
- 옹호론자: “세상의 모든 인터페이스(문고리, 전동드릴, 계단, 컵 손잡이)가 인간 신체에 맞춰 설계되어 있다(Human-centric world). 전용 로봇은 효율적이지만, 범용성에서 휴머노이드를 이길 수 없다.”
개인적으로는 옹호론자 쪽에 무게를 둡니다. 이는 프로그래밍 언어 선택과 비슷합니다. C++로 짜면(전용 로봇) 성능은 최고지만 개발이 어렵고 유연성이 떨어집니다. 반면 Python(휴머노이드)은 느리고 비효율적일 수 있지만, 이미 존재하는 거대한 생태계(라이브러리 = 인간 세상의 도구들)를 그대로 가져다 쓸 수 있습니다.
“Bitter Lesson”이 로보틱스에도 적용되는 것이죠. 특수 목적의 하드웨어보다는, 범용 하드웨어에 거대한 컴퓨팅(학습)을 쏟아붓는 쪽이 결국 이길 겁니다.
AI Slop과 엔지니어링의 본질
재미있는 점은, 원문 기사의 제목이나 구성이 전형적인 LLM 생성 패턴(The X Problem, The Y Solution 식의 헤딩)을 따르고 있어서 HN 유저들의 비웃음을 샀다는 겁니다. “제목만 봐도 ChatGPT가 쓴 냄새가 난다”며 스크롤을 내린다는 사람도 있었죠.
하지만 그 내용은 진짜였습니다. 모터의 전자기장 설계, 기어비에 따른 관성 모멘트 계산 등은 챗봇이 대충 지어낼 수 있는 수준의 깊이가 아니었습니다. 형식은 ‘AI Slop(AI가 뱉어낸 저질 콘텐츠)’ 같았을지 몰라도, 그 안에 담긴 엔지니어링 인사이트는 진짜배기였던 셈입니다.
결론: 소프트웨어 엔지니어들이여, 하드웨어를 보라
우리는 너무 오랫동안 “모델 사이즈를 키우면 해결될 거야”라고 믿어왔습니다. 하지만 로보틱스 분야에서만큼은 그 믿음이 물리 법칙 이라는 벽에 부딪히고 있습니다.
아무리 뇌(AI)가 빨라도, 근육(모터)과 관절(기어박스)이 둔하면 소용없습니다. 지금 로봇 공학의 병목은 AI 모델의 지능이 아니라, 그 지능을 물리 세계로 온전히 전달해줄 액추에이터(Actuator)의 부재 에 있습니다.
이 글을 읽는 여러분이 로보틱스에 관심이 있다면, PyTorch 코드만 들여다볼 게 아니라 모터의 T-N 곡선(Torque-Speed Curve)을 한 번쯤 들여다보시길 권합니다. 진짜 혁신은 거기서 일어나고 있을지도 모르니까요.
References:
- Original Article: The Robotic Dexterity Deadlock
- Hacker News Discussion: https://news.ycombinator.com/item?id=47184744