본문으로 건너뛰기

M22.05 · 지도 장소 의미화·언어 지시 주행·로봇팔

단위별 목표·권장 선수와 자료 준비 상태를 확인하고, 공개된 본문과 활동을 읽고 준비 상태를 확인할 수 있습니다.

전체 커리큘럼

학습 안내

본문을 읽고 장비 없는 기본 실습·세 확인 문제와 해설로 이해를 확인하세요.

예상 학습 시간: 미정. 이 페이지 방문이나 자료 열람으로 완료·숙달을 자동 부여하지 않습니다.

현재 경로·이전·다음 단위 확인 ↓

학습 목표

  • 기하/위상·의미 지도의 역할과 장소/객체 ID·언어 관계/프레임을 구분한다.
  • 합성 그래프에서 폭/문 조건을 적용한 거리 경로와 도킹의 위치/방향 오차를 계산한다.
  • 언어 목표→주행→팔 조작의 전후조건/피드백·새 관측을 설계하고 실제 완료 근거를 판정한다.

아래 설명·실습·문제로 각 학습 목표를 확인하세요.

권장 선수

M14의 프레임/시간, M19의 팔/모바일과 M22.01/02의 접지/Action이 선수다. 그래프/지도 목표는 본문에서 보충하며 M15.02의 지도 좌표, M17.02의 경로 비용, M18.04/.06의 작업 상태·주행-조작 미션으로 이어진다. 기본은 합성 지도/상태표이며 실제 지도 생성·Nav2/로봇 이동은 하지 않는다. 이미 알고 있다면 직접 열어볼 수 있습니다.

설명 필수

세 목표에 대응하는 검수된 설명·예제를 읽습니다.

장소 이름과 지도 좌표는 다른 자료다

'실험실로 가서 파란 컵을 집어 와'라는 지시는 장소 탐색·주행과 객체 선택/팔 조작을 포함한다. 실험실이라는 이름만으로 로봇의 base 목표 pose가 정해지지는 않는다. 같은 이름의 방이 둘이거나 문이 닫혔을 수 있고, 방 한가운데까지 갔다고 작업대의 컵을 잡을 수 있는 위치라는 뜻도 아니다. 언어의 장소/물체를 현재 지도/관측 ID와 실행 가능한 목표에 연결한다.

기하 지도는 좌표/장애물 형상·점유 상태 등 공간 정보를 나타낸다. 위상 지도는 장소/구역을 노드, 이동 가능한 연결을 edge로 나타내는 그래프다. 의미 정보는 방/작업대·물체의 종류/이름과 '컵이 작업대 위에 있음' 같은 관계/속성을 붙인다. 이 층들은 연결되어야 하지만 같은 자료는 아니다. 라벨이 맞아도 경로가 막힐 수 있고, 빈 공간이 있어도 그곳이 지시한 장소인지 모를 수 있다.

VLMaps 저자 프로젝트는 영상/언어 feature와 공간 재구성을 연결해 언어로 지도 목표를 찾는 연구 사례다. 이는 이름을 문자열 표에 수동 등록하는 방식과 구현이 다르며, 유사도/검색 결과가 실제 목표의 현재 위치·이동 가능성을 보장하지 않는다. 이 단위는 최소 개념으로 장소 registry와 작은 그래프를 사용한다. 3D 매핑 알고리즘을 실행하거나 선수로 요구하지 않는다.

ID·관계와 기준 프레임을 명시한다

장소 registry에는 lab_A/lab_B처럼 고유 ID와 별칭, 지도 버전·좌표계와 유효 상태를 둔다. 같은 '실험실' 별칭이면 추가 조건/관측이나 명료화가 필요하다. 현재 장면의 cup_7과 table_A 같은 객체 ID도 클래스 이름과 구분한다. 물체가 이동하거나 추적이 끊겼을 때 과거 ID/좌표를 그대로 승인하지 않는다.

목표 pose는 위치와 방향이다. 이동 베이스의 도킹 pose, 팔의 TCP pose, 물체 pose를 분리한다. 지도 frame의 base 도킹 목표를 camera frame의 물체 좌표와 섞지 않는다. '오른쪽'도 지도/로봇/카메라 중 누구의 기준인지와 현재 방향이 필요하다. 같은 label을 가진 두 객체에서 임의로 하나를 선택하거나 텍스트 관계를 임의 m 단위 offset으로 바꾸지 않는다.

계획에는 장소 이동·재관측·파지처럼 서로 다른 skill과 전제/후조건을 둔다. SayPlan 저자 사례는 계층적 scene graph의 의미 검색과 경로 계획/반복 검증을 결합한다. 여기서도 언어 모델이 모든 작은 이동점을 직접 만들어야 한다고 가정하지 않고, 의미 목표와 기하 경로·실행 결과를 나누는 원칙을 적용한다. 원 논문의 과업 성과를 이번 합성 그래프에 전이했다고 쓰지 않는다.

언어가 고른 목적지라도 경로 조건을 먼저 적용한다

아래 합성 그래프의 S는 출발, T는 작업대 근처의 base 도킹 구역, J/K는 통로다. edge는 양방향이며 표에 없는 연결은 없고 길이는 m다. 문/폭은 이번 입력으로 정한 조건이다.

연결길이(m)통로 폭(m)상태
S–J20.8열림
J–T30.8열림
S–K11.0열림
K–T61.0열림
S–T41.2문 닫힘

경로는 노드를 잇는 연결의 순서이고 여기의 비용은 거리 합만 사용한다. 닫힌 문을 통과할 별도 기능/허가가 없으므로 S–T는 후보에서 제외한다. 비운반 시 검사 폭을 0.6 m/좌우 추가 여유 각각 0.05 m로 주면 필요한 폭은 0.7 m다. S–J–T는 5 m, S–K–T는 7 m라 두 경로 중 짧은 것은 5 m다. 문이 닫힌 4 m를 최소라는 이유로 선택하지 않는다.

물체 운반 때문에 검사 폭이 0.8 m가 되면 같은 여유를 더해 0.9 m가 필요하다. 0.8 m 통로는 조건을 만족하지 않으므로 7 m 경로만 남는다. 비용을 계산하기 전에 가능한 edge를 정하는 이유다. 실제 로봇의 footprint/회전 중 형상·동적 장애물과 위치 오차는 더 복잡하다. 이 표의 폭/여유는 실제 안전 기준/통과 인증이 아니며 경로 길이 최소가 시간/위험 최소라는 뜻도 아니다.

도착 pose에는 위치와 방향이 함께 들어간다

Jazzy의 NavigateToPose action은 PoseStamped 목표와 진행/결과 정보를 갖는다. frame/시각이 있는 pose를 제공해야 하며 장소 문자열 자체가 이 메시지를 대신하지 않는다. 결과/허용 오차 의미는 사용하는 server/설정과 연결한다. 이 단위는 실제 goal을 보내지 않는다.

합성 map frame의 base 목표를(x,y,yaw)=(5,2,0), 단위 m/m/rad로 두자. 관측은(4.96,2.06,0.15)이고 위치 허용 0.1 m/방향 허용 0.1 rad라고 입력한다. 위치 오차는√((4.96−5)²+(2.06−2)²)=√0.0052≈0.0721 m로 통과하지만 방향은 0.15 rad라 초과다. 위치만 가깝다고 다음 팔 작업의 전제가 성립한 것은 아니다.

방향이 0.05 rad로 바뀌면 이 단순 기하 기준은 둘 다 통과한다. 그래도 관측의 취득 시각/불확실성과 실제 정지, 베이스/팔 장착·공구/물체의 상태/주변 scene을 확인해야 한다. 방향의 일반 비교는 원형 경계의 최단 차이를 써야 하며 이번 목표 0/작은 각도 예에서는 직접 차이를 사용했다. 공분산/정합이 미상인데 위치 오차만 정확하다고 단정하지 않는다.

주행에서 팔 동작으로 넘어가는 전제를 검사한다

언어 과업은 '대상 장소 결정→현재 상태/경로 확인→base 이동→도착/정지·재관측→컵/트레이 ID·TCP 목표/접근 검증→파지/유지→이송/배치→결과 확인'처럼 나눌 수 있다. 도킹 목표는 팔의 작업 범위/방향에 맞게 선정해야 하지만, 그 위치에 갔다는 사실만으로 실제 컵이 시연 위치에 있다는 뜻은 아니다. 이동 후 카메라/물체와 base/TCP의 관계를 새로 확인한다.

팔을 움직이는 동안 베이스가 계속 움직일 수 있는지 또는 정지 후 조작인지도 계약에 적는다. 이미 잡은 물체를 운반한다면 팔/그리퍼·물체가 차지하는 공간과 유지 상태를 주행 조건에 포함한다. navigation action 수락이나 최종 result는 해당 이동 목표의 결과이며 컵 파지/배치의 성공을 대신하지 않는다. 물체/지시·scene이 바뀌면 이전 계획을 새 상태에 재검증한다.

피드백이 누락되거나 문/통로 상태가 달라졌을 때는 결과를 미상/실패로 남기고 재관측·재계획/보류 정책을 적용한다. 실패 단계만 다시 수행해도 되는지와 현재 파지/위치 상태를 확인하지 않고 전체 언어 명령을 무조건 반복하지 않는다. 한 장소에서의 성공으로 다른 방/로봇의 경로/도킹·팔 조건을 승인할 수도 없다.

기존 4.3 TF와 기존 6.5 End-to-End 배포 계약을 연결해 프레임/시각·실행 결과를 더 확인하자. 아래 활동은 표/관측만 계산하며 지도 생성·실제 주행/팔 동작을 하지 않는다.

학습 범위와 한계

기본 설명·예제가 준비되었습니다. 기존 보충 자료의 범위와 구별하세요.

실습 필수

장비 없는 실습을 수행하고 관찰·계산 근거를 해설과 비교합니다.

입력은 위 그래프·폭/여유, lab_A/lab_B의 같은 별칭과 도킹 pose/관측이다. 로그에는 'navigation 목표 수락, 위치 기준 통과, 실제 정지/컵 최신 관측·팔/물체 결과 미상'이라고 적혀 있다.

  1. 장소/객체의 label·ID와 지도 층·pose/프레임을 구분하고 모호한 지시를 어떻게 보류/명료화할지 적는다.
  2. 비운반/운반의 가능한 거리 경로와 도킹 위치/방향 오차를 계산한다. 표가 포함하지 않는 실제 제약도 적는다.
  3. 주행→팔 작업의 전후조건/새 관측과 최종 성공 근거를 제안하고 수락/위치 통과 로그만으로 실행을 승인할지 판정한다.

관찰은 의미/ID, 경로/기하, 통합 결과로 나눈다. 막히면 막힌 연결을 먼저 제외하고 위치/방향을 다른 열에 계산한다. 실제 Nav2/장비는 필요하지 않다.

0 / 8,000자 · 확인하면 이 브라우저에 저장

답안을 작성하고 확인하기를 한 번 선택하면 해설·판정 기준을 열어볼 수 있습니다.

학습 범위와 한계

기본 실습은 장비 없이 수행합니다. 실제 장비·GPU 실증을 완료했다는 뜻은 아닙니다.

평가·해설 필수

목표별 세 서술문항에 답하고 해설·판정 기준으로 자기검토합니다.

확인 문제 Q1

지도에 '작업실' label을 가진 노드가 두 개이고 컵은 과거 장면에만 있다. 언어 모델이 고른 이름을 바로 base/TCP pose로 사용할 수 있는가? 필요한 ID/지도/프레임 연결을 설명하라.

0 / 8,000자 · 확인하면 이 브라우저에 저장

답안을 작성하고 확인하기를 한 번 선택하면 해설·판정 기준을 열어볼 수 있습니다.

확인 문제 Q2

같은 그래프에서 검사 폭 0.7 m/양쪽 여유 0.1 m다. 가능한 최단 경로를 구하라. 별도 도킹의 위치 오차 0.06 m/방향 오차 0.12 rad·각 허용 0.1 m/0.1 rad면 둘 다 통과하는가?

0 / 8,000자 · 확인하면 이 브라우저에 저장

답안을 작성하고 확인하기를 한 번 선택하면 해설·판정 기준을 열어볼 수 있습니다.

확인 문제 Q3

주행 result가 성공이지만 base 정지와 컵/물체 상태는 미상이다. 저장된 과거 TCP 목표로 파지를 시작하고 '가져오기 완료'라고 보고해도 되는가? 실패/재시도 정책도 제안하라.

0 / 8,000자 · 확인하면 이 브라우저에 저장

답안을 작성하고 확인하기를 한 번 선택하면 해설·판정 기준을 열어볼 수 있습니다.

학습 범위와 한계

서술답안과 해설이 준비되었습니다. 자기검토와 학습 완료는 숙달 인증과 별개입니다.

참고 자료

E5 연결: M15.02 · M17.02 · M18.04 · M18.06. 기본 활동은 본문에 제공한 입력으로 수행하고, 심화 연결에서 가정과 제약을 비교한다.

학습 확인

실습과 세 문항의 답안을 해설과 비교한 뒤, 이 단위의 학습 완료를 직접 기록할 수 있습니다. 자기검토·학습 완료는 자동 채점이나 숙달 인증과 별개입니다.

실습1개·확인 문제3개의 답안을 저장하고 각각 자기검토를 기록하세요.

학습 이동

학습 단계 순서 · 공통 과정 이후 전문화 선택

전체 목차로 돌아가기 →

신규 활동의 답안은 이 브라우저의 통합 학습 기록에 저장합니다. 기존 화면의 답안·진도는 원래 키를 유지합니다. AI 강사는 현재 단위의 준비 상태·부족한 범위와 연결된 실제 자료를 참고합니다.