똑같이 움직이는 화면도 근거는 다르다
화면에서 로봇이 물체를 집는 모습을 보았다고 하자. 그 화면은 지금 계산 중인 시뮬레이터일 수도, 과거의 실험 영상을 재생한 것일 수도, 설명을 위해 만든 애니메이션일 수도 있다. 모두 학습에 도움을 주지만 보여 줄 수 있는 사실은 다르다. “무엇을 입력했고, 어떤 계산이나 기록이 결과를 만들었으며, 내가 지금 무엇을 바꿀 수 있는가”를 먼저 확인해야 한다.
그림 M00.06-1. 각 칸은 서로 다른 역할/근거다. 나란히 비교할 항목이며 위아래가 시간 순서를 뜻하지 않는다. 직접 제작한 개념도이며 본문의 조건과 함께 읽는다.
이 과정의 기본선은 장비 없는 개념·계산·기록 분석이다. 실제 ROS 실행·정밀 물리·GPU 학습·실물 실험은 별도 환경을 갖춘 심화 단계다. 프로젝트의 Ubuntu24.04/ROS2 Jazzy 기본선은 기존 환경 안내에서 확인할 수 있지만, 이 단위를 수행하기 위해 설치할 필요는 없다. 선택 단계를 하지 않았다는 이유로 지금의 종이 활동 결과를 실물 실행으로 바꾸어 적어서도 안 된다.
무엇이 새 행동에 반응하는가
종이 계산은 식과 가정을 사람이 따라가며 결과를 얻는다. M00.01의 위치 갱신식은 피드백의 역할을 분리해서 보기 좋지만 관성·접촉·센서 잡음은 포함하지 않았다. 브라우저 모형은 같은 종류의 계산을 화면에서 즉시 바꾸어 볼 수 있다. 슬라이더에 즉시 반응한다고 실제 로봇의 운동을 충실히 재현한다는 뜻은 아니다. 반대로 브라우저라는 실행 장소만으로 모든 모형의 정밀도를 단정할 수도 없다. 어떤 식·물리 모델·센서 모델이 실제 실행되는지에 근거를 둔다.
순수 로그 재생은 이미 저장한 관측과 메시지를 다시 읽는 방식이다. ROS2의 공식 기록·재생 안내는 통신 데이터를 기록하고 다시 검사하는 흐름을 설명한다. 시각 순서·메시지 누락·좌표·단위·새 인지기의 출력을 같은 입력에서 비교하기에 유용하다. 그러나 관측만 재생하는 자료에 새 행동을 제안해도 과거의 물체가 그 행동에 따라 다시 움직이지는 않는다.
예를 들어 과거에 오른쪽으로 이동해 위치1→2가 된 로그를 재생하면서 새 정책은 왼쪽 이동을 제안했다고 하자. 화면에 계속 위치2가 나온다고 새 정책의 왼쪽 명령이 실패한 것이 아니다. 기록된 관측이 과거 명령의 결과일 뿐 새 정책의 결과를 생성하지 않았기 때문이다. 새 행동 뒤 세계가 어떻게 변할지는 새 실험이나 그 변화를 모델링한 별도 환경이 필요하다. 기록을 입력으로 삼되 실행기와 연결하는 시스템도 있을 수 있으므로 “재생”이라는 이름만으로 격리가 보장된다고 생각하지 않는다. 이 단위에서는 실제 장비나 명령 통신에 연결하지 않는 표 읽기만 수행한다.
시뮬레이션과 실물도 각각 조건이 있다
동역학 시뮬레이션은 질량·접촉·마찰 등의 모델과 시간 스텝을 이용해 새 행동 뒤의 모델 상태를 계산할 수 있다. 따라서 새 정책과 환경의 피드백을 시험할 수 있지만, 실제 마찰이나 센서 오차와 모델이 다르면 결과도 달라질 수 있다. GPU를 사용했다는 사실은 계산 자원을 설명할 뿐 모델의 정확성이나 실물 안전성을 증명하지 않는다. 모델·설정·초기조건·실행 기록이 있어야 무엇을 확인했는지 알 수 있다.
실물 실험에서는 실제 하드웨어와 환경이 상호작용한다. 그렇다고 한 번 성공한 관측으로 다른 물체·조명·적재·고장 상황까지 보장되는 것은 아니다. 장비·작업자·환경·허용 범위와 중단 절차를 갖추어야 하며, 물체를 잡고 있는 동안의 정지처럼 에너지와 접촉이 남는 상황도 고려해야 한다. 이 단위는 제조사 안전 지침이나 현장 위험평가를 대신하지 않는다. 장비 없이 익힌 지식을 확인하려고 임의로 명령을 실물에 보내지 않는다.
| 방식 | 새 입력을 바꾸면 무엇이 달라지는가 | 주장 가능한 예 | 남는 한계 |
|---|---|---|---|
| 종이·작은 브라우저 계산 | 정한 식의 수치 결과 | 오차 부호·단위·제한 규칙 이해 | 생략한 물리가 많을 수 있음 |
| 순수 관측 로그 재생 | 분석기·정책의 새 출력 | 고정 관측에서의 분석 비교 | 새 행동 뒤 세계 반응은 없음 |
| 상호작용 시뮬레이션 | 모델 세계의 다음 상태 | 해당 모델·설정의 폐루프 결과 | 모델과 실제의 차이 |
| 실물 실험 | 실제 세계와 센서 결과 | 명시한 조건의 실제 관찰 | 다른 조건 일반화·안전 보장 별도 |
보고서에는 실행 사실과 해석을 나란히 적기
좋은 보고서는 방법, 입력·설정, 실제로 확인한 결과, 해석, 한계를 분리한다. “기록 분석: 제공된 세 프레임의 시각이 증가하는지 확인했다”와 “시뮬레이터에서 새로운 정책을 실행했다”는 다른 문장이다. 코드를 읽고 예상한 출력은 실행 결과라고 쓰지 않고 “미실행·예상”으로 표시한다. 실행했다면 환경과 입력, 관련 출력 기록을 남긴다. 타인의 기록을 분석했다면 수집 주체와 조건이 자신과 다르다는 점도 남긴다.
이렇게 범위를 적는 것은 결과를 낮추는 일이 아니다. 단위 변환 오류를 종이 계산으로 찾는 활동도 그 오류를 찾는 데 적합한 검증이다. 모든 문제에 처음부터 가장 복잡한 실험을 요구하면 원인을 분리하기 더 어려워진다. 현재 가설을 가장 적은 조건으로 확인하고 다음 단계에 남은 불확실성을 정확히 넘기는 것이 목적이다.