[용어 해설] TAMP란? 로봇은 ‘무엇을 할지’와 ‘어떻게 움직일지’를 어떻게 함께 정할까요

핵심 요약

  • TAMP는 이산적인 작업 순서와 연속적인 로봇 동작을 함께 찾는 계획 문제입니다.
  • ‘컵을 잡는다’는 명령만으로는 부족하며, 잡는 자세·놓을 위치·관절 경로까지 맞아야 합니다.
  • 동작 계획이 충돌이나 도달 불가를 발견하면 작업 계획은 앞 단계로 되돌아가 다른 선택을 시도합니다.
  • MoveIt Task Constructor처럼 작업을 단계로 나누고 각 단계에 IK·충돌 검사·경로 계획을 연결할 수 있습니다.
  • 현실에서는 물체 위치 오차, 미끄러짐, 변형 물체와 실행 실패 때문에 감지와 재계획이 필요합니다.

TAMP는 두 종류의 계획을 한 문제로 묶습니다

TAMP(Task and Motion Planning)는 로봇이 ‘무엇을 어떤 순서로 할지’와 ‘그 순서를 실제 공간에서 어떻게 움직여 실행할지’를 함께 찾는 계획 문제입니다. 작업 계획은 이동, 잡기, 운반, 놓기처럼 상태가 뚜렷이 바뀌는 이산적인 행동을 다룹니다. 동작 계획은 로봇 관절 각도, 잡는 자세, 물체를 놓을 좌표, 충돌을 피하는 궤적처럼 연속적인 값을 다룹니다.

두 계획은 분리되어 보이지만 실제로는 강하게 묶여 있습니다. ‘컵을 잡은 다음 쟁반에 놓는다’는 작업 순서가 논리적으로 맞아도 팔이 컵에 닿지 않거나, 선택한 손잡이 방향 때문에 선반과 충돌하거나, 컵을 든 채 쟁반까지 갈 경로가 없으면 실행할 수 없습니다. 반대로 가능한 경로를 찾으려면 먼저 어떤 물체를 어느 손으로 어디에 놓을지 정해야 탐색 범위를 좁힐 수 있습니다.

이동 잡기 운반 놓기 순서로 컵을 옮기는 로봇
컵을 옮기는 작업을 이동, 잡기, 운반, 놓기 단계로 나눈 작업 계획입니다.

작업 순서만 맞아도 로봇은 실패할 수 있습니다

가상 주방 사례를 생각해 보겠습니다. 로봇의 목표는 파란 컵을 조리대 오른쪽 쟁반에 놓는 것입니다. 작업 계획기는 ‘컵으로 이동→잡기→운반→놓기’라는 뼈대를 만들 수 있습니다. 하지만 쟁반 앞을 주전자가 가리고 있다면 마지막 놓기 동작은 충돌 검사에서 실패합니다. 이때 단순한 순서 실행기는 멈추지만, TAMP는 ‘주전자를 다른 곳으로 옮긴다’는 행동을 앞에 넣은 새 뼈대를 찾아볼 수 있습니다.

여기서 ‘뼈대’는 행동의 종류와 순서만 적은 계획입니다. 실제 후보를 만들 때는 컵을 잡을 여러 손목 자세, 접근 방향, 임시로 놓을 주전자 위치, 각 단계의 관절 구성을 채웁니다. 역기구학은 손이 목표 자세에 닿는 관절값이 있는지 확인하고, 충돌 검사는 로봇·물체·가구가 겹치지 않는지 살핍니다. 동작 계획기는 가능한 시작과 끝 구성을 이어 주는 궤적을 찾습니다.

잡기·놓기·경로 후보를 서로 연결합니다

후보들은 독립적으로 고르면 안 됩니다. 컵을 위에서 잡는 자세는 처음에는 쉬워도 운반 중 선반 아래를 통과하지 못할 수 있습니다. 주전자를 너무 가까운 곳에 임시로 놓으면 컵의 최종 경로를 다시 막을 수 있습니다. 따라서 TAMP는 잡기, 운반, 놓기 단계의 조건을 연결하고, 앞 단계에서 선택한 값이 뒤 단계까지 가능한지를 검사해야 합니다.

탐색의 핵심은 되돌아가기입니다. 예를 들어 첫 번째 잡기 후보가 역기구학에는 성공했지만 운반 경로에서 충돌했다면, 계획기는 같은 작업 순서를 유지한 채 다른 잡기 자세를 시도할 수 있습니다. 모든 잡기 자세가 실패하면 놓을 위치나 접근 방향을 바꾸고, 그래도 안 되면 주전자를 먼저 옮기는 다른 작업 순서로 올라갑니다. 기하학적 실패가 고수준 계획을 수정하는 구조입니다.

충돌 도달 가능성과 성공 경로를 검사하는 로봇 팔
잡기와 운반 후보를 충돌, 도달 가능성, 경로 조건으로 검증하는 모습입니다.

막히면 앞 단계로 되돌아가야 합니다

이 과정은 가능한 조합이 빠르게 늘어나는 것이 약점입니다. 물체가 많고 잡기 후보와 임시 위치가 늘면 모든 조합을 끝까지 확인하기 어렵습니다. 그래서 실제 구현은 값비싼 경로 계획을 매번 수행하기 전에 빠른 도달 가능성 검사로 후보를 거르거나, 샘플링 순서를 조정하고, 비용이 낮아 보이는 부분 계획을 먼저 확장합니다. 정답을 한 번 계산하는 공식이라기보다 여러 탐색기와 검사기를 조직하는 방법에 가깝습니다.

MoveIt Task Constructor는 이런 구성을 단계로 표현하는 도구입니다. 직렬 컨테이너에는 현재 상태, 손 열기, 물체에 연결하기, 운반하기 같은 단계를 순서대로 놓을 수 있습니다. 생성기 단계는 잡기나 놓기 후보를 만들고, 전파 단계는 한 상태에서 다음 상태로 이동하며, 연결 단계는 서로 다른 하위 계획 사이의 경로를 찾습니다. 각 단계에는 MoveIt의 파이프라인 계획기, 관절 보간, 직선 Cartesian 경로 같은 해법을 붙일 수 있습니다.

실제 시스템은 단계를 어떻게 구성할까요

다만 도구가 TAMP 문제를 자동으로 정의해 주는 것은 아닙니다. 개발자는 물체의 충돌 형상, 허용 접촉, 잡기 좌표계, 지지 표면, 목표 상태, 비용과 실패 조건을 정해야 합니다. 잘못된 컵 크기나 2cm 어긋난 위치가 입력되면 계산상 완벽한 계획도 실제 로봇에서는 손잡이를 놓칠 수 있습니다. 계획 품질은 모델과 센서의 품질을 넘어설 수 없습니다.

TAMP의 고전적 설명은 대개 결정론적 행동, 완전히 알려진 세계, 알려진 강체 형상과 명확한 최종 목표를 가정합니다. 그러나 현실의 천은 접히고, 액체는 흔들리며, 마찰과 물체 위치는 확률적으로 달라집니다. 잡았다고 판단했는데 물체가 미끄러질 수도 있고, 사람이 새 물건을 통로에 놓을 수도 있습니다. 이런 환경에서는 카메라와 힘 센서로 상태를 다시 추정하고, 실행 중 계획을 멈추거나 수정하는 폐루프가 필요합니다.

막힌 경로에서 주전자를 옮긴 뒤 작업을 완료하는 로봇
기하학적 실패가 발생하면 앞 단계로 되돌아가 장애물을 먼저 옮기는 과정을 보여줍니다.

현실의 불확실성은 계획표 밖에서 시작됩니다

학습 모델은 잡기 후보, 물체의 쓰임새, 성공 가능성이 높은 순서를 제안해 탐색을 줄일 수 있습니다. 자연어 모델이 ‘주전자를 먼저 옮기라’는 상위 행동을 제안하는 구성도 가능합니다. 하지만 제안이 실제 관절 한계와 충돌 조건을 만족하는지는 별도의 기하학 검사와 실행 감시가 확인해야 합니다. 학습된 제안기는 TAMP의 탐색을 도울 수 있지만, 물리적 유효성 검사를 대신하지는 않습니다.

제품 평가에서는 성공 장면 하나보다 조건별 실패율을 물어야 합니다. 물체 위치 오차를 몇 cm까지 견디는지, 잡기 후보가 모두 실패했을 때 재탐색 시간이 얼마나 걸리는지, 계획 중 사람이나 물체가 움직이면 어떻게 정지하고 다시 계획하는지 확인해야 합니다. 평균 계획 시간뿐 아니라 긴 꼬리 지연, 충돌 검사 누락, 실행 후 상태 확인, 안전 정지와 수동 복구 절차까지 측정해야 현장성을 판단할 수 있습니다.

제품을 평가할 때는 성공 영상보다 실패 조건을 봐야 합니다

TAMP의 의미는 로봇에게 긴 지시문을 이해시키는 데만 있지 않습니다. 논리적으로 그럴듯한 계획을 물리적으로 실행 가능한 행동으로 바꾸고, 물리적 실패를 다시 논리 계획에 반영하는 연결고리라는 점이 핵심입니다. 창고 피킹, 조립, 서비스 로봇처럼 물체와 공간 제약이 동시에 중요한 작업에서는 이 연결이 빠질수록 데모와 반복 가능한 자동화 사이의 간격이 커집니다.

도입을 검토한다면 먼저 자주 반복되는 작업 하나에서 물체·장애물·허용 접촉을 명확히 정의하고, 계획 실패와 실행 실패를 따로 기록하는 것이 좋습니다. 그다음 잡기 후보 수와 재계획 시간, 작업 완료율을 함께 비교해야 합니다. 범용성을 크게 약속하기보다 어떤 조건에서 계획이 성립하고 언제 사람의 개입이 필요한지 경계를 드러내는 편이 실제 운영에 더 유용합니다.

확인한 원문

자료 확인일: 2026년 9월 22일.

함께 보면 좋은 글

글쓴이

ITTimes.net 필자 Sean Woo
Sean Woo, ITTimes.net

Sean Woo — 15년 이상 로보틱스 기술·사업 방향성 수립 업무를 해왔습니다. 공개된 기술문서·논문·기업 발표를 바탕으로 로봇과 AI의 변화를 이해하기 쉽게 분석합니다. 이 매체의 해석은 특정 회사나 기관의 공식 입장을 대변하지 않습니다.

댓글 남기기