작업계획 (Task Planning)
쉽게 풀면
'커피를 가져와'와 같은 목표를 이루기 위해 '컵을 잡는다 → 커피를 따른다 → 가져다준다'처럼 세부 작업 순서를 짜는 것입니다.
왜 중요한가
고수준 목표를 실행 가능한 행동 순서로 분해해야 로봇이 복잡한 임무를 자율적으로 수행할 수 있어, 서비스로봇이나 다단계 조립 작업의 자율화에 핵심적으로 활용됩니다. 사람이 매번 "컵을 잡아라", "물을 따라라" 하나하나 지시하지 않아도 로봇이 "커피를 가져와"라는 한마디 목표만으로 필요한 하위 작업 순서를 스스로 찾아내야 진정한 자율 서비스로봇이라 할 수 있는데, 이 하위 순서를 자동으로 찾아내는 것이 바로 작업계획의 역할입니다.
논문에서는 이렇게 쓰입니다
각 행동이 어떤 조건에서 가능하고 어떤 결과를 낳는지를 규칙으로 정의해 두면, 이 규칙들을 조합해 목표까지 이르는 순서를 자동으로 찾아낼 수 있다는 의미입니다.
작업계획 자체도 하나의 방식이 아니라, 문제를 더 작은 하위 작업으로 미리 나누어 계획하는 계층적 방법처럼 계산 효율을 높이는 다양한 기법으로 발전해왔다는 점을 보여주는 문장이다.
조금 더 깊게 보면
작업계획은 논리적으로 실행 가능한 행동 순서를 찾는 것이지, 그 행동들을 물리적으로 정밀하게 실행하는 궤적계획과는 다른 층위의 문제라는 점을 구분해야 합니다. "컵을 잡는다"는 행동 하나가 논리적으로는 성립해도 실제로 로봇 팔이 그 순간 손을 뻗을 공간이 없다면 실행할 수 없기 때문에, 최근에는 논리적 작업계획과 물리적 실행 가능성(모션계획)을 함께 고려하는 작업 및 동작 계획(TAMP) 통합 접근이 활발히 연구되고 있습니다. 행동과 상태의 가짓수가 늘어날수록 가능한 조합이 기하급수적으로 늘어나는 계산 복잡도 문제도 이 분야의 오랜 핵심 과제입니다.
주의할 점
행동의 개수와 상태 공간이 커질수록 계획 탐색의 계산 복잡도가 급격히 증가하는 문제가 있습니다.