기술

심투리얼: 로봇을 시뮬레이션에서 먼저 시험하는 이유

시뮬레이션에서는 충돌해도 비용이 들지 않고, 하룻밤 사이에 수천 번의 시험을 돌릴 수 있으며, 돌풍도 원할 때 불어옵니다. 그래서 로봇은 실제로 움직이기 전에 소프트웨어 안에서 학습하고 시험합니다. 문제는 시뮬레이션과 현실 세계 사이의 틈입니다.

핵심 요약. 시뮬레이션을 쓰면 엔지니어는 실제로 만들어 볼 수 있는 것보다 훨씬 많은 상황에서, 위험하거나 드문 상황까지 포함해 로봇을 시험할 수 있습니다. 하지만 모든 시뮬레이터는 어딘가에서 틀리고, 시뮬레이터에 지나치게 맞춰 조정한 컨트롤러는 실제 하드웨어에서 실패할 수 있습니다. 이것이 리얼리티 갭입니다. 한 가지 해법은 시뮬레이션을 아주 폭넓게 무작위로 바꿔서 현실 세계가 또 하나의 변형처럼 보이게 하는 것입니다. 다른 해법은 실제 로봇을 측정해 시뮬레이션을 바로잡는 것입니다. 시뮬레이션 결과는 그 바탕에 있는 물리 모델만큼만 믿을 수 있습니다.

시뮬레이션을 하는 이유

리얼리티 갭

Tobin 등은 시뮬레이션 속 로봇공학과 실제 하드웨어 실험을 가르는 이 차이를 ‘리얼리티 갭(reality gap)’이라고 불렀습니다. 마찰, 모터 지연, 움직이는 공기, 센서마다의 잡음, 반사는 모두 근사치입니다. 시뮬레이터가 잘못 다루는 세부 사항에 은연중에 기대는 컨트롤러는 실제 세계를 만나면 실패합니다.

모든 것을 무작위로

이들의 2017년 연구는 무작위로, 일부러 비현실적으로 만든 질감의 시뮬레이션 이미지만으로 물체 검출기를 학습시켰습니다. 이 검출기는 실제 이미지에서 물체의 위치를 1.5cm 이내로 찾아냈고, 주의를 흩뜨리는 물체와 일부가 가려진 물체에도 대처했으며, 어수선한 곳에서 물건을 집는 로봇을 안내할 만큼 성능이 좋았습니다. 저자들의 말을 빌리면 그 생각은 이렇습니다. 시뮬레이터에 변화가 충분하면 “현실 세계가 모델에게는 그저 또 하나의 변형으로 보일 수 있다”는 것입니다.

같은 생각은 물리에도 통합니다. 수천 대의 시뮬레이션 로봇에 걸쳐 질량, 모터, 지연, 센서 잡음을 바꾸면, 그 모두에서 작동하는 컨트롤러는 실제로 만드는 로봇에서도 작동할 가능성이 더 높습니다.

측정으로 틈 좁히기

무작위화에는 한계가 있습니다. 실제 로봇이 시도해 본 모든 범위 밖에 있다면, 시뮬레이션은 그 로봇에 대해 아무것도 말해 주지 못합니다. 나머지 절반의 일은 측정입니다. 실제 모터, 프로펠러, 센서를 시험대에 올려 어떻게 작동하는지 측정하고, 시뮬레이션을 갱신한 뒤, 다시 시험합니다.

시뮬레이션 결과가 뜻하는 것

시뮬레이션에서 나온 결과는 그 시뮬레이션에 관한 진술입니다. 그런 결과를 믿기 전에, 그 안의 무엇이 측정된 것이고, 무엇이 문헌에서 온 것이며, 무엇이 가정인지, 그리고 가정이 바뀌어도 결과가 유지되는지 물어보십시오.

저희가 Alkyon을 개발하는 방식

집 안을 날아다니는 동반자에 대한 저희 콘셉트인 Alkyon은 시뮬레이션을 먼저 거치며 개발됩니다. 비행 컨트롤러는 무작위로 바꾼 수많은 로봇에서 시험합니다. 더 느리거나 빠른 모터, 무게와 균형의 작은 차이, 잡음이 섞인 센서, 선풍기와 열린 창문에서 오는 바람이 그런 변화입니다. 저희가 실제 부품을 시험대에서 측정하기 전까지 그 시뮬레이션의 모든 물리 상수는 여전히 문헌에서 가져온 추정치이거나 가정이며, 저희는 결과마다 이 점을 밝힙니다. Alkyon은 개발 중인 콘셉트이며, 유럽 전용입니다. 더 알아보시려면 자율 실내 드론(영어)을 읽어 보십시오.

출처(2026년 11월 4일 확인): Tobin 외, domain randomization for transferring deep neural networks from simulation to the real world, 2017(arXiv).

자주 묻는 질문

로봇공학에서 리얼리티 갭이란 무엇입니까?

시뮬레이션 속 로봇과 실제 로봇의 차이입니다. 마찰, 모터 지연, 공기, 센서 잡음, 빛은 시뮬레이터에서 모두 근사치로 다뤄집니다. 시뮬레이터가 잘못 다루는 무언가에 기대는 컨트롤러나 모델은 실제 하드웨어에서 실패할 수 있습니다.

도메인 랜덤화란 무엇입니까?

질감, 조명, 질량, 지연, 센서 잡음 등을 무작위로 바꾼 여러 버전의 시뮬레이션에서 학습하거나 시험하는 방법입니다. 그러면 현실 세계는 그저 또 하나의 변형처럼 보이고, 모든 버전에서 통하는 것은 실제로도 통할 가능성이 더 높습니다.