가상에서 배운 다가가기를 실물에 옮겼더니 — 숫자 옆에 한계 9가지를 적은 이유
가상 환경에서 강화학습으로 배운 다가가기 정책을 실물 AMR로봇암에 넣고, 사람이 짠 규칙과 같은 자리에서 3번씩 비교했습니다. 다가가는 시간은 13.2초 대 19.4초였고, 가상에서 배운 "카메라를 두 칸 한 번에 숙이기"가 실물에서도 같은 거리에서 나왔습니다. 다만 한 자리·3번씩·낮은 배터리라는 조건이 붙은 결과입니다.

같은 자리에서 3번씩 비교했더니, 다가가는 시간이 13.2초 대 19.4초였습니다. 가상 환경에서 강화학습으로 배운 정책을 실물 교육용 AMR로봇암에 넣은 결과입니다. 그리고 가상 환경에서 배운 "카메라를 두 칸 한 번에 숙이기"가 실물에서도 거의 같은 거리에서 나왔습니다.
하지만 이 숫자는 한 자리, 3번씩, 배터리가 낮은 상태에서 나왔습니다. 그래서 이번 편은 숫자보다 숫자 옆에 붙은 조건을 더 길게 적습니다.
6편에서는 가상 로봇 수천 대로 블록까지 다가가는 법을 11번 학습시켰습니다. 이번 편은 그 정책을 실물에 옮긴 이야기입니다.
어떻게 비교했나요?
공정하게 비교하려고 두 앱의 코드를 똑같이 맞추고, ② 블록까지 다가가는 단계의 판단 방식만 다르게 했습니다.
- 강화학습 앱: 다가가기를 학습한 정책이 판단
- 규칙 앱: 다가가기를 사람이 짠 규칙이 판단
- 블록 찾기, 각도 맞추기, 집기, 내려놓기는 두 앱이 같습니다.
블록은 로봇에서 약 1m 떨어진 왼쪽 앞에 두었고, 같은 자리에서 앱마다 3번씩 돌렸습니다. 6번 모두 블록을 집는 데 성공했습니다. 시간은 로봇이 남긴 원본 기록에서 다시 계산했습니다.
결과는 어땠나요?
| 실물 6번(같은 자리) | 강화학습 정책 | 사람이 짠 규칙 |
|---|---|---|
| ② 다가가기 | 13.2초(13.1~13.3) | 19.4초(18.4~19.9) |
| 전체(찾기~내려놓기) | 56.3초 | 63.3초 |
| 카메라 숙임 | 4번 | 7번(한 칸씩) |
다가가는 단계에서 약 6초 빨랐습니다. 이 조건에서는 강화학습 쪽이 더 빨랐다고 말할 수 있습니다. "강화학습이 규칙보다 빠르다"로 넓혀 말할 수는 없습니다. 이유는 아래 한계에 있습니다.
가상에서 배운 행동이 실물에서도 나왔나요?
이번 비교에서 가장 중요하게 본 것은 시간보다 행동이었습니다. 실물 기록을 같은 정책의 가상 환경 기록과 나란히 놓았습니다.
| 행동 | 가상 환경(최종 정책 8번) | 실물(3번) | 판단 |
|---|---|---|---|
| 첫 숙임 | 8번 모두 출발 직후, 두 칸 한 번에 | 약 1m에서 두 칸 한 번에 | 학습한 행동 |
| 두 번째 숙임 | 0.26~0.29m | 약 0.28m | 학습한 행동 |
| 숙임 수 | 4~5번 | 4번 | 학습한 행동 |
두 칸을 한 번에 숙이는 것은 사람이 짠 규칙에는 없는 행동입니다. 규칙은 늘 한 칸씩 숙입니다. 가상 환경에서 정책이 스스로 찾은 방법이 실물에서도 같은 거리, 같은 순서로 나왔습니다.
빨라진 이유로 보이는 것이 두 가지 더 있습니다. 다만 이 행동만 떼어 시험하지는 않았습니다.
- 블록이 잠깐 안 보여도 멈추지 않고 판단을 이어 간다 — 이 행동만 따로 시험한 적은 없습니다.
- 다가가면서 옆으로 줄을 맞춘다 — 두 앱이 함께 쓰는 보조 규칙이 있어, 정책의 몫과 나눌 수 없습니다.
정책만의 결과인가요?
아닙니다. 실물에서는 학습한 정책을 그대로 쓰지 않고, 두 앱이 똑같이 쓰는 보조 규칙을 더했습니다. 그중 세 가지는 정책이 학습할 때 겪지 않은 조건입니다.
- 이동하며 카메라 숙이기 — 학습 때는 숙이는 동안 멈췄지만, 실물에서는 멀리 있을 때 숙이면서도 앞으로 갑니다.
- 직전 명령 입력 — 숙이기를 시작할 때 정책에 "직전에 낸 속도" 대신 실제로 보낸 속도가 들어갑니다.
- 블록 둘레로 도는 움직임 — 각도를 맞추는 회전이 정책 명령에 더해집니다. 학습 환경에는 이런 회전이 없었습니다.
또 실물에서는 블록에 충분히 가까워지면 정책이 멈출 때까지 기다리지 않고 바로 다음 단계로 넘깁니다. 그래서 13.2초 대 19.4초는 "정책 + 두 앱 공통 보조 규칙" 묶음의 결과입니다. 두 앱이 같은 보조 규칙을 쓰므로, 차이는 다가가기 판단 방식에서 나온 것으로 봅니다.
이 비교의 한계 9가지
- 한 자리(약 1m, 왼쪽 앞)·한 색(파랑)·3번씩이고, 두 방식을 번갈아 돌리지 않았습니다(규칙 1번 → 강화학습 3번 → 규칙 2번).
- 배터리 전압이 제조사 권장 범위보다 낮은 상태였습니다.
- 비교 대상은 지금의 규칙입니다. 숙임 폭과 속도 단계는 사람이 정한 값이라, 규칙을 다듬으면 차이가 줄 수 있습니다.
- 도착 판정 기준이 두 앱에서 다릅니다. 강화학습 쪽이 더 가까이, 더 정면에서 멈췄는데도 더 빨랐습니다(강화학습에 불리한 쪽).
- 블록 기울기는 맞추지 않았습니다.
- 숙임·정지 시간은 짧은 간격 기록으로 낸 근사치이고, 출발 거리는 "약 1m"로만 씁니다.
- 카메라 자세표 한 칸의 각도가 실물과 달라 거리 절대값에 오차가 있을 수 있습니다. 두 앱이 같은 표를 써서 비교 자체는 유효합니다.
- 규칙 앱은 처음 쓰던 판이 아니라 이 비교를 위해 코드를 맞춘 판입니다.
- 비교 도중 앱 입력이 멈추고 배터리가 방전된 적이 있었습니다. 결과 수치에는 영향이 없었습니다.
가상 환경과 실물의 시간은 직접 비교하지 않습니다. 6편의 가상 환경 21.7초와 이번 실물 13.2초는 출발 거리, 다음 단계로 넘기는 시점, 보조 규칙이 모두 달라 재는 구간이 다릅니다.
이 과정에서 배운 것
- 비교는 한 가지만 다르게. 두 앱의 코드를 맞추고 다가가기 판단만 바꿨기 때문에 차이의 출처를 말할 수 있었습니다.
- 시간보다 행동을 봅니다. "두 칸 한 번에 숙이기"가 실물에서 나왔다는 것이 13.2초라는 숫자보다 더 단단한 근거였습니다.
- 정책만의 결과처럼 쓰지 않습니다. 실물에 넣으며 더한 보조 규칙까지 함께 적어야 정직한 결과입니다.
- 한계는 숫자 옆에 붙입니다. 한 자리·3번·낮은 배터리를 빼고 숫자만 옮기면 과장이 됩니다.
자주 묻는 질문
강화학습이 사람이 짠 규칙보다 빠른가요?
이번 조건(한 자리·3번씩·낮은 배터리)에서는 다가가는 단계가 13.2초 대 19.4초로 더 빨랐습니다. 여러 자리, 정상 전압에서 번갈아 여러 번 비교한 결과는 아직 없어 일반적으로 더 빠르다고 말할 수는 없습니다.
가상 환경에서 배운 것이 실물에서도 통했나요?
카메라를 두 칸 한 번에 숙이는 행동, 두 번째로 숙이는 거리, 숙임 횟수가 가상 환경과 실물에서 같게 나왔습니다. 다만 실물에서는 정책이 학습하지 않은 보조 규칙을 함께 썼습니다.
가상 환경의 시간과 실물 시간을 비교하면 안 되나요?
출발 거리, 다음 단계로 넘기는 시점, 함께 쓴 보조 규칙이 달라 같은 구간을 잰 값이 아닙니다. 그래서 두 숫자를 나란히 놓지 않습니다.
이런 과정을 수업에서 다룰 수 있나요?
수업에서 다루는 범위와 방법은 교육 상담에서 안내합니다.
이 비교는 한 자리·한 색·3번씩 돌린 실물 결과이며, 조건은 위 「이 비교의 한계 9가지」에 정리했습니다. 가상 로봇은 바퀴를 굴리지 않고 차체에 속도를 직접 주는 방식이라 메카넘 바퀴의 옆 미끄러짐은 재현되지 않습니다.
다음 단계
여러 자리·정상 전압에서 두 방식을 번갈아 비교한 결과는 나오는 대로 이 연재에 싣겠습니다. 가상에서 실물까지 이어지는 과정을 수업에서 다루는 방법은 교육 상담에서 안내합니다.
출처: 저희가 직접 진행한 교육용 AMR로봇암 실물 비교(2026년 9월). 시간은 로봇이 남긴 원본 기록에서 다시 계산했습니다. 학습 환경과 실물 앱의 세부 설정값은 이 글에 싣지 않았습니다.
이 글과 그림의 저작권은 SV로보틱스에 있습니다. 원문 링크를 밝힌 인용은 환영하며, 전문 복제·재배포와 교육 자료로의 전재는 허락이 필요합니다.