본문으로 건너뛰기

M18.06 · 이동 매니퓰레이터의 주행-조작 미션

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

전체 커리큘럼

학습 안내

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

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

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

학습 목표

  • 주행·정렬·조작·작업 검증·수납·재개를 역할과 전제·출력으로 연결한다.
  • 주어진 map·base·arm 변환과 목표점, 자료 나이·시작 상태를 계산해 판정한다.
  • 합성 미션 기록의 부분 성공·보류·실패를 구분하고 복구·전체 완료 근거를 제안한다.

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

권장 선수

M06의 팔 기구학, M15의 좌표와 M17~18의 계획·과업 상태를 연결한다. base와 arm 원점의 차이, TCP 점과 자세, 미션 관문을 본문에서 보충한다. 기본은 합성 변환·시간·상태표이며 실제 주행·팔·물체·ROS 실행은 없다. 이미 알고 있다면 직접 열어볼 수 있습니다.

설명 필수

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

이동 베이스와 팔을 하나의 과업으로 연결한다

이동 매니퓰레이터는 이동 베이스에 팔을 장착해 주행과 조작을 함께 수행하는 로봇이다. 전체 배치를 결정하려면 베이스의 위치·방향과 팔 관절들을 함께 알아야 한다. 그리퍼의 열림 상태와 물체 상태도 과업에 영향을 준다. 주행 목표 pose 하나가 모든 팔 관절과 물체의 결과를 정해 주지는 않는다.

Modern Robotics 저자 Mobile Manipulation 설명은 베이스와 팔의 좌표 연결 및 함께 움직이는 제어를 설명한다. 본문은 기초 미션으로 주행 후 베이스 상태를 확인하고 조작하는 순차 구성을 사용한다. 베이스와 팔을 동시에 제어하는 전체 동역학·접촉 계획을 구현한 예는 아니다. 순차로 움직여도 두 기구가 차지하는 공간과 현재 상태의 연결은 계속 확인해야 한다.

Nav2는 여기서 목적지까지의 주행 과업을 담당한다. 팔의 목표·경로 생성과 관절 제어, 그리퍼 명령 및 물체 검증은 다른 역할이다. BT나 과업 관리자는 이 단계를 조직할 수 있지만 명령을 보냈다는 사실만으로 실제 결과를 생성하지 않는다. 각 단계는 시작 전제, 요청 ID와 자료 버전, 기대 관측 및 종료 이유를 가져야 한다.

미션을 관문이 있는 단계로 쓴다

가상 미션은 작업대의 물체를 지정 트레이에 놓고 다음 주행을 준비하는 것이다. 주행 전에는 팔이 정한 수납 형상에 있고 베이스 주행 경로의 footprint와 맞는지 확인한다. 작업대 도착 뒤에는 현재 pose·속도와 센서·TF를 다시 확인하고, 물체 목표를 현재 베이스와 팔 기준으로 변환한다. 팔 목표·경로를 검사하고 조작한 다음 물체 결과를 관측하며, 팔 수납과 새 주행 준비를 확인한다.

이동과 조작 사이의 인계: 주행 → 정차 확인 → 조작 → 재출발.그림 원본 크기로 보기

그림 M18.06-1. 각 칸은 서로 다른 역할/근거다. 아래 방향은 자료/처리의 연결이며 실제 성공을 자동으로 보장하지 않는다. 직접 제작한 개념도이며 본문의 조건과 함께 읽는다.

관문은 다음 단계로 넘어갈 조건이다. 작업대 도착 Action의 SUCCEEDED는 선택한 주행 조건이 통과했다는 기록이며 정지·물체 위치·팔 경로까지 모두 검증했다는 뜻이 아니다. 정지나 안정 상태가 필요하면 그 조건을 현재 관측으로 확인한다. 반대로 팔이 수납됐더라도 새 경로의 장애물과 목적지 유효성은 별도로 확인해야 한다.

과업 계획을 작은 단계로 나누는 개념은 MoveIt Task Constructor 공식 설명과 연결된다. 이 자료는 Rolling/main 문서이므로 여기서는 단계 간 상태 연결의 참고로 사용하며 API나 설치 예를 Jazzy 실행 코드로 제시하지 않는다. 이 미션이 해당 도구로 실제 계획·실행됐다는 주장도 하지 않는다.

map의 목표를 base와 arm 기준으로 옮긴다

합성 좌표는 map M, 이동 베이스 B, 팔 장착 원점 A로 나눈다. 열벡터 p_M은 M 기준 목표 TCP 점이다. TCP는 도구의 작업 기준점이며 팔 끝 플랜지와 다를 수 있다. B의 원점은 M에서 t=(1,1,0) m이고 방향은 M의 z축에 대해 반시계 90°다. 목표는 p_M=(1.2,1.4,0.3) m다. 모든 변환은 같은 시각의 정확한 합성 값이고 길이 단위는 m다.

B 기준으로 옮기려면 먼저 원점을 빼고 B 방향의 역회전을 적용한다. z축 +90°의 역회전은 (d_x,d_y,d_z)를 (d_y,−d_x,d_z)로 보낸다. 원점을 뺀 값은 (0.2,0.4,0.3)이므로 p_B=(0.4,−0.2,0.3) m다. map 방향으로 다시 +90° 회전하고 t를 더하면 원래 목표점이 복원되는지 점검한다.

팔 원점 A는 B에서 (0.1,0,0.2) m에 고정돼 있고 축 방향은 B와 같다고 준다. 따라서 p_A=p_B−(0.1,0,0.2)=(0.3,−0.2,0.1) m다. base_link와 arm 원점을 같은 것으로 두면 이 고정 장착 오프셋을 놓친다. 도구나 장착이 바뀌면 해당 변환 버전도 확인해야 한다.

가상 점 범위는 A 기준 x∈[0.1,0.5], y∈[−0.3,0.3], z∈[0.05,0.4] m이며 경계를 포함한다. 계산한 점은 이 범위 안이다. 그러나 이는 점 범위의 간단한 선별 조건일 뿐 전체 IK 해, 도구 자세와 관절 제한·자기 충돌·접근 경로를 확인한 것이 아니다. 파지에는 TCP의 방향과 접근·이탈 구간, 물체와 지지면의 조건도 필요하다. 점 세 개 좌표만으로 완전한 6D pose를 제공했다고 쓰지 않는다.

베이스가 달라지면 같은 물체의 상대 목표도 달라진다

물체의 map 위치와 베이스 yaw는 그대로이고 베이스 원점 x만 1.05 m로 바뀐 변형을 보자. 원점을 빼면 (0.15,0.4,0.3), 역회전하면 p_B=(0.4,−0.15,0.3) m, 팔 기준은 p_A=(0.3,−0.15,0.1) m다. 이전 목표를 그대로 쓰면 A의 y방향으로 0.05 m 차이가 생긴다. 팔 정확도를 높였다는 이유로 베이스·좌표 오차를 무시할 수 없다.

이 예는 정적 물체와 알려진 map 관계를 사용한다. 실제 취득 시각의 카메라 pose와 현재 base pose를 섞을 때는 어떤 양이 정적이라고 가정했는지와 보간·TF 시각을 확인한다. 현재로 재변환할 수 없는 오래된 목표를 단지 frame 이름이 맞는다는 이유로 사용하지 않는다. 지도 보정이 바뀐 경우에도 목표와 현재 상태가 같은 지도 버전을 가리키는지 확인한다.

최신 목표와 현재 정지 조건을 별도로 검사한다

관문 정책은 같은 clock에서 목표 관측 나이가 0.2 s 이하이고, 현재 선속도 크기가 0.02 m/s 이하여야 조작 준비의 두 검사를 통과한다는 합성 규칙이다. 현재 20.30 s, 목표 취득 20.00 s, 관측된 베이스 속도 0.03 m/s라면 나이는 0.30 s로 0.10 s 초과이고 속도도 0.01 m/s 초과다. 주행 Action이 성공했어도 이 두 조건은 실패다.

새 목표 취득이 20.25 s이고 같은 현재 시각의 속도 표본이 0이면 나이 0.05 s와 속도 검사는 통과한다. 이것만으로 전체 조작을 승인한 것은 아니다. 좌표·자세·팔 경로·물체와 공간의 전제는 여전히 확인해야 한다. 이 정책은 한 표본의 속도 조건이며 장시간 안정이나 실제 정지의 인증을 보장하는 규칙이 아니다. 필요한 정지 유지·오차·관측 범위는 해당 과업에서 더 정의한다.

부분 성공과 전체 미션 완료를 나눈다

독립적인 후반 합성 기록 B에서는 앞선 준비·팔 경로 검사와 조작 실행이 정한 기준에 따라 통과했다고 상태 자료로 제공한다. 결과 검증 조건은 지정 트레이에 물체가 관측되고 그리퍼가 해제 상태로 확인되는 두 항목이다. 기록에는 두 항목 모두 true지만 ArmStowed는 미상이라고 하자. 이 자료에서는 물체 결과 조건은 통과했고 수납·다음 주행 준비는 아직 보류다. 전체 미션 완료라고 표시하면 안 된다.

해제 명령 수락은 해제 상태 관측과 다르고, 물체가 한 번 보인다는 사실을 모든 과업의 유지·손상 없음으로 일반화하지 않는다. 본문은 제공한 두 결과 조건으로만 판정한다. 실제 과업이라면 센서의 가림·대응·시각과 물체 위치 허용 오차, 필요한 유지 시간과 추가 품질 조건도 정한다. 팔 수납 역시 요청 성공과 현재 joint/형상 관측을 연결해야 한다.

실패한 단계에서 현재 세계를 확인하고 재개한다

목표 관측이 오래됐으면 새 관측과 변환을 확보하고, 베이스가 움직이면 현재 상태와 조작 시작 가정을 다시 확인한다. 팔 계획이 실패한 경우에는 도구 자세·전체 링크 충돌·관절 범위와 작업대 정합을 진단한다. 물체를 이미 옮긴 뒤 결과 확인만 실패했다면 같은 파지·놓기를 무조건 반복하지 않고 현재 물체 상태와 작업 ID를 먼저 확인한다.

취소와 오류, 결과 미상을 구분하고 진행 중인 주행·팔·그리퍼 요청과 실제 적용 상태를 따로 기록한다. 재개할 때에는 새 목표·지도·장착 버전과 현재 pose·속도·물체 상태를 사용한다. 팔이 돌출된 상태로 과거의 수납 footprint를 사용해 다음 주행을 재개하거나, 새 주행이 시작됐다는 이유로 그리퍼 잔여 작업을 완료 처리하지 않는다.

기존 4.3 TF2 트리 설계로 프레임·시각 연결을, 6.5 End-to-End Pick & Place 배포로 요청·적용·작업 결과를 보충하자. 이 단위를 완성했다는 사실과 실제 이동 매니퓰레이터 프로젝트의 합격·실증은 별도다. 아래 활동의 숫자와 상태는 합성 입력이며 장비 동작을 수행하지 않는다.

학습 범위와 한계

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

실습 필수

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

입력은 본문의 M→B 방향 관계와 B의 원점 t, A 장착 오프셋 및 TCP 점·가상 점 범위다. 베이스 원점 x=1.05 m 변형도 사용한다. 시간·속도 관문은 20.30/20.00 s와 0.03 m/s, 갱신 변형은 20.25 s와 0이다. 후반 기록 B의 앞선 검사·실행과 두 결과 항목은 통과, ArmStowed는 미상으로 제공한다.

  1. 주행부터 결과 검증·수납·재개까지 각 역할·시작 전제·종료 관측을 연결한다. Nav2, 팔 계획/제어, 그리퍼와 과업 관리의 책임을 구분한다.
  2. p_B와 p_A 및 베이스 변경 결과를 계산하고 점 범위·자세/경로 미검증을 나눈다. 두 시간·속도 관문의 통과와 초과를 계산한다.
  3. 후반 기록 B의 부분 성공·보류 및 전체 완료를 판정한다. 실패·취소·미상에서 현재 상태와 중복 작업을 고려한 재개 근거를 제안한다.

관찰은 단계 연결, 변환·준비 계산, 결과·재개로 나눈다. 막히면 어느 frame의 원점을 빼는지와 어떤 방향으로 회전하는지 먼저 적는다. 실제 로봇이나 계획기를 실행할 필요는 없다.

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

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

학습 범위와 한계

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

평가·해설 필수

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

확인 문제 Q1

NavigateToPose가 SUCCEEDED면 팔 경로·그리퍼·물체 전달과 다음 주행까지 모두 완료된 것인가? 각 단계의 전제·결과를 연결하라.

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

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

확인 문제 Q2

기본 베이스와 장착 관계에서 TCP 목표만 p_M=(1.3,1.4,0.3) m로 바뀌었다. p_B/p_A와 가상 점 범위의 경계를 판정하라. 취득 20.00 s·현재 20.30 s인 목표를 frame 이름만 맞춰 사용해도 되는가?

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

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

확인 문제 Q3

후반 기록 B의 물체 결과는 true지만 팔 수납은 미상이다. 이미 물체를 옮겼을 가능성이 있는데 결과 메시지가 끊겼다고 전체 파지·놓기를 다시 요청하겠다는 제안을 평가하라.

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

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

학습 범위와 한계

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

참고 자료

학습 확인

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

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

학습 이동

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

전체 목차로 돌아가기 →

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