실험대를 불러오는 중…
이 도구가 못 하는 것
- 자유도 둘짜리 균형 문제입니다. 두 발로 걷는 로봇의 접촉 동역학은 훨씬 어렵고 여기서 다루지 않습니다.
- 훈련은 PPO 가 아니라 소규모 탐색(교차 엔트로피법)입니다. 알고리즘 사이의 차이는 이 시뮬의 주제가 아닙니다.
- 「실물」도 우리가 만든 시뮬입니다. 온도 드리프트나 부품 마모처럼 우리가 모르는 것은 들어 있지 않습니다.
- 시스템 식별은 로봇 한 대를 잽니다. 개체 사이의 폭과 기어 유격·센서 잡음은 그 기록으로 알 수 없어 그대로 둡니다.
- 폭 손잡이는 4배까지입니다. 개념 설명이 인용하는 5배·8배·12배는 손잡이 밖에서 잰 값이라 이 화면에서는 직접 재현할 수 없습니다.
- 기어 유격 폭을 움직여도 결과가 바뀌지 않습니다. 한 틱에 깎는 양이 유격 자체보다 커서 두 틱이면 소진되고, 소진 여부만 판정에 들어가기 때문입니다.
이 시뮬레이터가 무엇을 하는가기능 · 개념
컴퓨터로 훈련시킨 로봇이 실제 로봇에서는 왜 넘어지는지 봅니다. 균형 잡는 로봇을 세우는 것이 목표인데, 훈련에 쓸 가상 로봇을 여러분이 직접 설계합니다. 실제 부품의 결함(반응이 늦는 것·기어가 헐거운 것·배터리가 떨어지는 것)을 가상 로봇에 넣을지 말지 고르면, 브라우저가 실제로 제어기를 훈련해 실물 로봇 20대에 올려 봅니다. 가상에서는 100점인데 실물에서 넘어지면, 여러분이 빠뜨린 결함이 원인입니다.
실물을 재서 값을 알아낸다
숨긴 로봇 한 대에 정해진 힘을 넣은 기록을 주고 무게중심 높이·지연·내부저항·마찰을 맞히게 합니다. 맞힌 값으로 훈련 시뮬을 고쳐 이득이 있는지까지 잽니다.
훈련 시뮬을 직접 만든다
실물에 있는 결함 여섯 가지 중 무엇을 시뮬에 넣을지, 얼마나 넓게 흔들지 정합니다. 넣지 않은 것이 곧 격차가 됩니다.
브라우저에서 훈련하고 실물이 판정한다
교차 엔트로피법으로 12,288번 시도해 정책을 실제로 찾고(1.6초), 데이터시트 범위 전체에서 뽑은 로봇 20대에 100번 올립니다.
격차를 원인별로 가른다
결함을 하나씩 빼고 다시 훈련해 실물 성공률이 얼마나 떨어지는지 잽니다. 무엇이 중요했는지 재서 압니다.
sim2real 격차란?
로봇을 실물에서 수백만 번 넘어뜨리며 가르칠 수는 없습니다. 그래서 물리 시뮬레이터에서 훈련하고 그 결과를 실물에 올리는데, 시뮬에서 완벽하던 정책이 실물에서 몇 초 만에 무너지는 일이 흔합니다. 이 벌어짐을 sim2real 격차라 부르고, 피지컬 AI 가 실제로 걸리는 병목이 대개 여기입니다. 이 시뮬레이터는 강화학습 알고리즘을 가르치지 않습니다. 대신 여러분이 만든 훈련 시뮬레이터를 믿어도 되는지 판정합니다. 다만 여기서 말하는 「실물」도 우리가 만든 또 하나의 시뮬입니다. 실제 로봇으로 검증한 값이 아니라 부품 데이터시트에서 온 추정 범위로 돌아갑니다.
- 지연: 기울어진 것을 알고 바퀴가 실제로 움직이기까지 걸리는 시간. 이 로봇은 0.116초면 넘어지는데 지연이 0.06초입니다
- 기어 유격: 방향이 바뀔 때 토크가 잠깐 실리지 않습니다. 미세한 오차를 지우지 못하게 만듭니다
- 전압 강하: 크게 밀어붙일수록 쓸 수 있는 힘이 줄어듭니다. 정작 필요할 때 힘이 모자랍니다
- 개체 편차: 같은 설계로 만든 로봇도 대마다 다릅니다. 한 대에서만 되는 정책은 쓸모가 없습니다
- 도메인 랜덤화: 데이터시트 범위 그대로 흔드는 것으로는 부족합니다. 실측으로 2~3배가 가장 좋았습니다. 5배 72% · 8배 43% 로 무너지는 것도 쟀지만, 그 값은 화면 손잡이 밖에서 잰 것입니다
- 시스템 식별: 재서 알아낸 값은 중심을 옮기는 데 쓰고 폭을 줄이는 데 쓰지 않습니다. 좁히면 그 한 대에는 맞지만 여러 대에서 무너집니다
커리큘럼 연계
제조 AI 12주 커리큘럼의 실습 도구입니다. 전체 커리큘럼 보기 →
써 보신 분만 아는 것이 있습니다
쓰다가 막힌 곳이나 현장과 다른 점을 알려주시면 다음 버전에 반영합니다. 보내주신 분께는 9월 추첨으로 스타벅스 쿠폰을 드립니다.