이 레슨과 관련된 학습 키워드
인공지능(AI) — 기계가 생각하는 법 → AI 로보틱스 & Embodied AI — 몸을 가진 지능 → AI 로보틱스 & Embodied AI — 물리 세계의 지능 → 기초
Sim-to-Real 갭, Docker ROS2 환경, rosbag2, rqt 디버깅, ros2 doctor, 성능 프로파일링, CI/CD, 트러블슈팅
시뮬레이터에서 완벽하게 작동하던 코드가 실제 로봇에서 실패하는 경험, 해보셨나요?
이것이 바로 Sim-to-Real 갭이에요. 성공률이 95%에서 40%로 급락하죠.
그림 왼쪽을 보세요. 시뮬레이션에서는 센서 노이즈가 시그마 0이에요.
통신 지연도 0 밀리세컨드로 고정이에요. 물리 엔진은 이상적인 강체만 다뤄요.
그림 오른쪽의 실제 로봇 환경을 보면 상황이 완전히 달라요.
센서 노이즈가 시그마 0.05미터이고, 통신 지연은 2에서 50 밀리세컨드까지 변동해요.
마찰과 유격, 탄성 같은 물리적 현실이 존재하죠.
하단의 네 가지 갭 원인 박스를 보세요. 센서, 물리, 타이밍, 환경 불일치예요.
센서 불일치는 라이다 반사 특성이나 카메라 왜곡 때문에 생겨요.
물리 불일치는 마찰 계수 차이와 관절 백래시에서 나와요.
타이밍 불일치는 OS 스케줄링이 제어 루프에 지터를 만들어서 발생해요.
환경 불일치는 조명, 온도, 동적 장애물 같은 예측 불가능한 변수예요.
하단 결론 박스를 보면, 체계적 디플로이먼트 파이프라인이 필수라고 강조해요.
도커, 로스백2, rqt, 씨아이씨디로 이 차이를 단계적으로 좁혀야 해요.
이번 레슨에서는 시뮬레이션에서 실제 로봇까지 가는 전체 배포 과정을 배워요.
각 단계마다 어떤 도구를 쓰고, 어떤 문제를 만나고, 어떻게 해결하는지 다루겠습니다.
ROS2 험블 기반으로 실전에서 바로 쓸 수 있는 배포 기법을 익혀보죠.
가장 먼저 도커로 재현 가능한 환경을 만드는 것부터 시작해요.
시뮬레이터 환경과 실제 로봇 환경의 격차를 수치로 확인하는 게 출발점이에요.
그래야 어떤 갭을 먼저 줄여야 할지 우선순위를 정할 수 있거든요.
선생님: Sim-to-Real 갭에서 센서 불일치와 물리 불일치 중 어느 것이 더 치명적일까요?
학생: 상황에 따라 다르지만, 보통 센서 불일치가 더 즉각적으로 드러나요. 라이다 반사 특성이 다르면 장애물 인식 자체가 실패하거든요.
선생님: 맞아요! 그러면 물리 불일치는 왜 더 교활한 문제가 될까요?
학생: 물리 불일치는 천천히 누적되기 때문이에요. 마찰 계수 차이가 경로 추적 오차를 서서히 키워서 나중에 갑자기 실패하죠.
선생님: 정확해요! 그래서 배포할 때 센서 캘리브레이션을 먼저 하고, 그 다음에 시스템 ID로 물리 파라미터를 맞추는 순서가 중요해요.