9월 14일부터 사흘 동안 로보시지 Physical AI 교육을 받았다. 교육은 간단한 이론 설명 뒤에 바로 로봇을 만져 보는 실습 위주로 진행되었다. 조별로 LeKiwi 로봇을 한 대씩 받아 사흘 내내 붙들고 있으면서 로봇 조종, 데이터 수집, 모델 학습, 추론을 차례로 해보았고, 마지막 날에는 Isaac Sim도 다뤄봤다. Physical AI는 요즘 여기저기서 많이 듣는 주제지만, 나에게는 직접 해 볼 기회가 없던 분야였다. 또한, 평소에는 누군가 이미 정리해 둔 데이터셋을 받아서 모델을 돌리는 일이 대부분이었는데, 학습 데이터를 내 손으로 처음부터 만들어 본 건 이번이 처음이었다.

[교육 내용 정리]

1일차에는 Physical AI 전반에 대한 소개를 듣고 실습에 들어갔다. 먼저 두 로봇 팔 관절 범위를 맞춰주는 캘리브레이션 작업을 해보았고, leader arm을 움직여서 follower arm을 조종하는 텔레오퍼레이션을 해보았다. 조작이 어느 정도 손에 익은 뒤에는 주사위를 집어 박스에 넣는 task를 반복 시연하면서 데이터를 모았고, 이 데이터로 imitation learning 기반 ACT 모델 학습을 해보았다.

2일차에는 학습시켜 놓은 모델 추론을 돌려보았다. 그리고 추가적으로 recovery 데이터에 대해서 알게 되었다. 항상 같은 자세에서 시작해 깔끔하게 성공하는 시연만 모으면, 로봇이 한 번 삐끗했을 때 거기서 되돌아오지 못하게 된다. 그래서 물체 위치나 로봇 시작 자세를 일부러 바꿔 가며, 놓친 상태에서 다시 집는 데이터도 같이 넣어 줘야 한다. 이는 imitation learning에서 오래전부터 다뤄 온 covariate shift 문제라고 한다. 작은 오차 때문에 학습 때 보지 못한 상태에 들어가면 거기서 또 오차가 생기고, 오차가 계속 누적이 되는 것이다. Recovery 데이터는 이 문제를 데이터 쪽에서 메우는 방법인 셈이다. 평소 개인 연구로 covariate shift 문제를 다루고 있는데, 항상 주어진 데이터를 놓고 학습 쪽에서만 shift를 해결하려 해 왔다. 데이터 쪽에서 접근하는 방식을 직접 경험해보니 참신했다.

3일차에는 NVIDIA Isaac Sim 실습을 했다. 시뮬레이터 안에 LeKiwi와 물체를 올려두고 물리 설정을 바꿔 가면서 움직여 보기도 하였고, 실물 없이도 텔레오퍼레이션으로 데이터를 모으는 경험을 해보았다. 시뮬레이션에서는 데이터를 훨씬 편하게 모을 수 있지만, 마찰이나 접촉처럼 물체를 집을 때 중요한 물리 현상들은 실제와 차이가 나기 쉽다. 이러한 sim-to-real gap도 어떻게 보면 결국 분포 변화 문제라, 실물 데이터를 모으는 수고를 시뮬레이션이 어디까지 대신해 줄 수 있을지도 궁금해졌다. 이후에는 학습시킨 모델을 실제 로봇에 올려서 추론해보는 것으로 교육이 마무리되었다.

3일 중 개인적으로 가장 기억에 남는 건 데이터를 모으던 시간이다. 한 번 시연할 때마다 물체를 다시 놓고, 로봇 원위치시키고, 중간에 실수를 하면 지우고 다시 찍어야 한다. 또한, 매번 제멋대로 움직이면 학습이 잘 안 된다고 해서, 어떤 순서로 물체에 다가가서 어떻게 집을지 미리 정해 놓고 최대한 비슷하게 반복해야 했다. 논문에서 '에피소드 수백 개를 수집했다'고 짤막하게 지나가는 문장 뒤에 얼마나 많은 시간과 인내가 녹아있는지 느낄 수 있었다. 이렇게 사람 손이 많이 가는 일이다 보니, 여러 기관의 로봇 데이터를 한데 모으는 Open X-Embodiment 같은 시도가 왜 나왔는지도 이해가 되었다. 이번 교육을 듣고 나니 데이터 수집으로 고생하고 있을 로봇 연구자들을 응원하는 마음이 생겼다.

[마치며]

사흘이 금방 지나갔다. 교육 전에는 Physical AI라고 하면 머릿속에 로봇이 작업을 진행하는 데모 영상 정도만 떠올랐는데, 이제는 그 영상 뒤에서 누군가 leader arm을 붙잡고 같은 동작을 수십 번 반복하는 모습이 먼저 그려진다. 친절하고 쉽게 교육을 진행해주신 로보시지 강사분들, 교육 준비와 세팅에 애써 준 연구원들, 이러한 교육 기회를 마련해 주신 교수님께 고맙다는 말씀 전하며 후기 글 마친다.