한국어ENGLISH
MENU

AMR로봇암 피지컬AI

학습 전에 세상부터 만든다 — 가상 로봇의 연습장과 라이다 관찰값 설계

강화학습을 시작하기 전에 가상 로봇이 연습할 세상부터 만들었습니다. 장애물을 매번 다른 자리에 놓는 연습장, 수천 개의 라이다 점을 몇십 개 숫자로 줄이는 관찰값, 팔을 굽혀 카메라가 바닥을 보게 하는 자세까지. 학습은 아직 하지 않았고, 연습장이 고장 없이 돌아가는지부터 점검한 기록입니다.

「학습 전에 세상부터 만들었다?」 — 가상 로봇의 연습장, 고장 없이 도는지부터 점검. 피지컬AI 실험 썸네일(질문과 그래프 도식).

강화학습은 로봇에게 연습할 세상을 만들어 주는 데서 시작합니다. 저희는 학습을 돌리기 전에, 가상 로봇이 연습할 연습장과 로봇이 세상을 읽는 방식(관찰값)부터 만들고 점검했습니다. 이 글에는 학습 결과가 없습니다. 연습장이 고장 없이 돌아가는지 확인한 데까지가 이번 편입니다.

연재 1편에서 교육용 AMR로봇암을 NVIDIA Isaac Sim 가상 세계에 세웠고, 3편에서 라이다와 IMU를 달아 제대로 붙었는지 확인했습니다. 이번 편은 그 로봇이 연습할 세상을 만든 이야기입니다.


강화학습에 왜 '연습장'이 따로 필요한가요?

강화학습은 로봇이 같은 일을 수없이 다시 해 보며 배우는 방식입니다. 그러려면 한 번 시도가 끝날 때마다 세상을 다시 차려 놓는 일이 자동으로 일어나야 합니다. 장애물은 어디에 둘지, 목표는 어디에 놓을지, 로봇은 어디서 출발할지를 매번 정해 주는 판이 연습장입니다.

연습장이 매번 똑같으면 로봇은 그 배치 하나만 외웁니다. 그래서 장애물과 목표를 시도마다 다른 자리에 놓도록 만들었습니다.

연습장은 어떻게 만들었나요?

위에서 보면 이런 모양입니다.

  • 로봇을 가운데 둔 둥근 구역 안에서만 연습합니다.
  • 구역 안에 원기둥 장애물 몇 개와 목표 표시 공 하나를 놓습니다.
  • 시도가 끝날 때마다 장애물과 목표를 새 자리로 옮깁니다. 목표는 장애물과 너무 붙지 않게 놓습니다.
  • 목표 공은 눈에 보이는 표시일 뿐, 부딪히는 물체가 아닙니다.
개념도 — 위에서 본 가상 연습장. 둥근 구역 가운데 로봇, 원기둥 장애물과 목표 공이 있고, 시도가 끝나면 같은 구역에서 장애물과 목표가 다른 자리로 옮겨진다. 크기와 개수는 실제 설정값이 아니다
개념도 — 위에서 본 가상 연습장. 둥근 구역 가운데 로봇, 원기둥 장애물과 목표 공이 있고, 시도가 끝나면 같은 구역에서 장애물과 목표가 다른 자리로 옮겨진다. 크기와 개수는 실제 설정값이 아니다

다시 차리는 일은 왜 빨라야 하나요?

강화학습에서는 다시 차리는 일이 수천, 수만 번 일어납니다. 한 번에 1초씩만 걸려도 전체 시간이 크게 늘어납니다.

처음 떠오르는 방법은 장애물을 지우고 새로 만드는 것입니다. 저희는 그렇게 하지 않고, 이미 만들어 둔 장애물의 위치 값만 바꾸는 방식으로 했습니다. 물체를 다시 불러오지 않으니 다시 차리는 일이 가벼워집니다.

라이다 점을 그대로 넘기지 않은 까닭은?

3편에서 본 것처럼 가상 라이다는 한 바퀴에 수천 개의 거리 값을 냅니다. 이것을 그대로 학습에 넘기면 로봇이 봐야 할 숫자가 너무 많아지고, 대부분은 바로 옆 점과 거의 같은 값입니다.

그래서 한 바퀴를 몇십 개의 방향 구간으로 나누고, 구간마다 가장 가까운 거리 하나만 남겼습니다. 장애물을 피하는 데 필요한 것은 "그 방향에 무엇이 얼마나 가까이 있나"이기 때문입니다.

개념도 — 로봇 둘레의 라이다 점을 방향 구간으로 나누고, 구간마다 가장 가까운 거리 하나를 0~1 막대로 줄인 모습. 구간 수와 점 위치는 그림을 위한 예시다
개념도 — 로봇 둘레의 라이다 점을 방향 구간으로 나누고, 구간마다 가장 가까운 거리 하나를 0~1 막대로 줄인 모습. 구간 수와 점 위치는 그림을 위한 예시다

남긴 값은 0과 1 사이로 맞췄습니다.

값뜻
1에 가까움그 방향에 장애물이 없거나 멀리 있음
0에 가까움그 방향 바로 앞에 장애물이 있음

구간 수는 처음 정한 것보다 줄였습니다.

방향의 기준은 로봇 앞을 0°로, 반시계 방향을 +로 잡았습니다. 3편에서 본 것처럼, 이 기준과 라이다 값을 읽는 방향이 서로 맞아야 로봇이 왼쪽과 오른쪽을 바르게 봅니다.

연습장이 제대로 돌아가는지는 어떻게 점검했나요?

학습을 돌리기 전에 두 가지를 확인했습니다.

1. 관찰값이 깨지지 않는가. 장애물·목표를 무작위로 8가지 배치로 놓고 관찰값을 뽑아 봤습니다. 8가지 모두 숫자가 아닌 값(NaN)이 하나도 없었고, 모든 값이 0~1 범위 안에 있었습니다. 로봇이 움직이는 동안에도 값이 제때 바뀌었습니다.

2. 점수와 끝내는 조건이 말이 되는가. 학습은 하지 않고, 사람이 짠 간단한 규칙(장애물을 피해 목표 쪽으로 가기)으로 로봇을 몇 번 움직여 봤습니다. 목표에 가까워지면 점수를 주고, 장애물에 너무 가까워지거나 목표에 닿으면 그 시도를 끝내는 흐름이 의도대로 이어지는지 보는 점검입니다.

두 번째 점검의 점수 범위·성공 횟수는 이 글에 싣지 않았습니다.

카메라는 왜 바닥을 보게 했나요?

이 로봇의 카메라는 팔에(팔의 네 번째 부품에) 붙어 있습니다. 팔을 곧게 펴 두면 카메라가 하늘을 봅니다. 블록이나 바닥 장애물을 보려면 카메라가 앞바닥을 봐야 합니다.

설계도를 보니 팔 관절 가운데 세 개가 같은 축을 중심으로 돕니다. 그래서 세 관절의 각도를 더하면 팔이 얼마나 앞으로 숙었는지가 나옵니다. 이 원리로 팔을 굽혀 카메라가 앞바닥을 향하게 했습니다.

확인은 눈대중이 아니라 계산으로 했습니다. 카메라가 바라보는 방향을 숫자로 꺼내 바닥과 만나는 점을 구했더니, 카메라가 로봇 앞 약 0.46m 바닥을 보고 있었습니다(가상 세계 값).

명령한 각도보다 팔이 조금 더 접혔다는 것도 이때 알았습니다. 가상 로봇의 관절이 명령을 얼마나 단단히 따라가는지에 따라 실제 자세가 달라집니다. 이 자세는 뒤 편의 블록 집기 연습에서 준비 자세로 다시 쓰입니다.

이 연습장에서 학습은 했나요?

아직 하지 않았습니다. 이 연습장은 "장애물을 피해 목표로 가기"를 위해 설계했지만, 이후 저희 실험은 블록 앞에 서기와 블록에 다가가기 쪽으로 먼저 넘어갔습니다. 이 연습장에서 이동을 학습시킨 결과는 아직 없습니다.

경사, 문턱, 좁은 통로 같은 지형은 아직 넣지 않았습니다.

이 과정에서 배운 것

  • 학습 전에 연습장부터 점검합니다. 관찰값이 깨지지 않는지, 점수가 말이 되는지를 규칙으로 먼저 돌려 확인했습니다.
  • 필요한 만큼만 남깁니다. 수천 개의 라이다 값을 구간별 가장 가까운 거리 몇십 개로 줄였습니다.
  • 다시 차리는 일은 가벼워야 합니다. 물체를 새로 만들지 않고 위치만 바꿨습니다.
  • 눈과 팔은 한 몸입니다. 카메라가 팔에 붙어 있으면, 무엇을 볼지는 팔 자세가 정합니다.

자주 묻는 질문

이 연습장에서 로봇이 장애물을 피하는 법을 배웠나요?

아직입니다. 이 글은 연습장을 만들고 고장 없이 돌아가는지 점검한 데까지입니다. 이 연습장에서 이동을 학습시킨 결과는 아직 없습니다.

라이다 값을 모두 넘기지 않으면 정보가 빠지지 않나요?

일부는 빠집니다. 대신 장애물을 피하는 데 필요한 "그 방향에서 가장 가까운 거리"는 남습니다. 얼마나 잘게 나눌지는 과제에 따라 정하는 설계 선택입니다.

점검에서 숫자가 아닌 값(NaN)을 왜 따로 확인하나요?

관찰값에 숫자가 아닌 값이 하나라도 섞이면 학습 계산 전체가 깨질 수 있습니다. 그래서 무작위 배치 8가지에서 관찰값을 뽑아 NaN이 없고 0~1 범위 안인지 먼저 확인했습니다.

가상 연습장의 움직임이 실물과 같나요?

같다고 확인하지 못했습니다. 가상 로봇은 바퀴를 굴리지 않고 차체에 속도를 직접 주는 방식으로 움직이고, 메카넘 바퀴의 옆 미끄러짐은 재현되지 않습니다.

이런 과정을 수업에서 다룰 수 있나요?

수업에서 다루는 범위와 방법은 교육 상담에서 안내합니다.

이 글은 Isaac Sim 5.1.0 가상 세계 기준입니다. 이 연습장으로 이동을 학습시킨 결과는 아직 없으며, 가상 로봇은 바퀴를 굴리지 않고 차체에 속도를 직접 주는 방식이라 메카넘 바퀴의 옆 미끄러짐은 재현되지 않습니다.

다음 단계

다음 편에서는 작은 문제부터 학습을 시작합니다. 로봇이 블록 앞 알맞은 자리에 서는 법을 짧은 시간 안에 배운 과정과, 그 결과를 왜 그대로 믿지 않았는지를 적습니다. 수업에서 다루는 방법은 교육 상담에서 안내합니다.


사용한 버전: Isaac Sim 5.1.0

출처: 저희가 직접 진행한 교육용 AMR로봇암 강화학습 환경 설계 실습(2026-09-22). 학습 환경의 세부 설정값(구역 크기·장애물 수와 크기·구간 수·점수 값 등)은 이 글에 싣지 않았습니다.


이 글과 그림의 저작권은 SV로보틱스에 있습니다. 원문 링크를 밝힌 인용은 환영하며, 전문 복제·재배포와 교육 자료로의 전재는 허락이 필요합니다.

  • #피지컬 AI
  • #Isaac Sim
  • #강화학습
  • #라이다
  • #학습 환경
  • #로봇 시뮬레이션

MORE POSTS

다른 기록도 살펴보세요

AMR로봇암 피지컬AI

흰 로봇에 색 입히기, 6번 실패하고 7번째에 — 화면 대신 코드로 되읽어야 했던 이유

Isaac Sim으로 불러온 교육용 AMR로봇암이 온통 흰색이라 부위별 색을 입히려 했습니다. 재질을 만들어 연결해도 6번 동안 그대로 흰색이었고, 원인은 조명도 재질 종류도 아닌 "재질이 걸린 위치"였습니다. 같은 증상 뒤에 다른 원인을 하나씩 지운 기록입니다.

읽어보기 →

AMR로봇암 피지컬AI

가상 로봇 수천 대가 11번 배운 다가가기 — 네 번은 점수표의 빈틈으로 무너졌다

교육용 AMR로봇암이 블록까지 다가가는 한 단계만 강화학습으로 가르쳤습니다. 11번 학습시켜 네 번은 "가만히 서 있기" 같은 보상 허점으로 무너졌고, 학습 점수가 좋아 보였던 한 번은 실제로는 한 번도 도착하지 못했습니다. 마지막 정책은 가상 환경 200번 중 199번 도착했지만 목표 시간에는 미치지 못했습니다.

읽어보기 →

AMR로봇암 피지컬AI

가상에서 배운 다가가기를 실물에 옮겼더니 — 숫자 옆에 한계 9가지를 적은 이유

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

읽어보기 →