[용어 해설] 모델 예측 제어(MPC)란? 로봇은 왜 첫 동작만 실행할까요

핵심 요약

  • MPC는 로봇 모델로 유한한 시간 구간의 미래 상태를 예측하고 최적의 제어 입력을 계산합니다.
  • 계산한 전체 동작을 그대로 재생하지 않고 첫 입력만 실행한 뒤 센서값으로 문제를 다시 풉니다.
  • 목표 추종뿐 아니라 관절·토크·접촉·균형·충돌 같은 제약을 최적화 문제에 함께 넣을 수 있습니다.
  • 보행 로봇에서는 발이 낼 힘과 몸의 움직임을 예측하고 하위 제어기가 이를 관절 명령으로 바꿉니다.
  • 모델 오차와 계산 지연이 크면 결과가 나빠지며, MPC 하나만으로 기능 안전이 보장되지는 않습니다.

MPC는 짧은 미래를 미리 계산하는 제어입니다

로봇이 낮은 발판을 연속으로 건넌다고 생각해 보겠습니다. 지금 눈앞의 발판만 보고 다리를 내밀면 다음 발판에서 몸이 기울거나 관절 한계에 걸릴 수 있습니다. 반대로 출발 전에 전체 동작을 한 번만 계산하면 발판이 조금 움직였을 때 계획이 현실과 어긋납니다. 모델 예측 제어(Model Predictive Control, MPC)는 이 두 문제 사이에서 짧은 미래를 반복해서 내다보는 방법입니다.

MPC는 현재 위치·속도·자세 같은 상태를 센서와 상태 추정기로 얻고, 로봇의 움직임을 나타내는 수학 모델에 여러 제어 입력 후보를 넣습니다. 그 결과 몇 단계 뒤 몸과 발이 어디에 있을지 예측한 다음 목표 오차, 에너지, 움직임의 급격함 같은 비용을 비교합니다. 미래 전체가 아니라 수백 밀리초 또는 몇 초처럼 정해진 구간만 보는 까닭에 이를 예측 지평선이라고 부릅니다. 실제 길이는 로봇과 계산 자원에 따라 달라집니다.

현재 위치에서 여러 단계의 미래 위치를 예측하는 이동 로봇
현재 상태에서 미래 궤적을 예측하고 첫 입력만 적용하는 이동 지평선 원리입니다.

왜 계획 전체가 아니라 첫 동작만 실행할까요

가장 중요한 특징은 최적화가 만든 긴 입력 열을 모두 실행하지 않는다는 점입니다. 로봇은 첫 번째 입력만 적용하고 잠깐 뒤 새 센서값을 받습니다. 그러면 예측 지평선을 앞으로 옮겨 같은 문제를 다시 풉니다. 이 과정을 반복하기 때문에 MPC는 이동 지평선 제어라고도 불립니다. 조금 전 예측이 틀려도 다음 계산에서 출발점을 현실에 맞게 고칠 수 있습니다.

예를 들어 바닥이 예상보다 미끄러워 발이 2cm 밀렸다고 가정해 보겠습니다. 처음 계획을 끝까지 재생하는 방식은 오차를 계속 안고 갑니다. MPC는 밀린 자세를 새 현재 상태로 삼아 다음 힘과 발 위치를 다시 계산합니다. 다만 재계산이 만능은 아닙니다. 센서가 늦거나 상태 추정이 틀리고, 최적화가 정해진 제어 주기 안에 끝나지 않으면 새 계획도 이미 오래된 답이 됩니다.

목표와 제약을 한 문제에서 함께 다룹니다

MPC가 단순한 경로 검색과 다른 점은 제약을 계산에 직접 넣을 수 있다는 것입니다. 모터 토크의 최대값, 관절 각도와 속도, 바퀴 조향 범위, 발과 바닥 사이 마찰, 넘어지지 않는 지지 영역, 장애물과의 거리 등을 허용 범위로 정합니다. 그 안에서 목표를 잘 따라가고 에너지를 적게 쓰며 동작이 부드러운 해를 찾습니다. 여러 목표가 충돌할 때는 비용의 가중치가 어떤 행동을 더 중요하게 볼지 결정합니다.

하지만 제약을 식에 넣었다고 현실의 모든 위험이 사라지는 것은 아닙니다. 연속 움직임을 몇 개 시점으로 나눠 계산하면 검사한 시점 사이에서 제약을 넘을 가능성이 있습니다. 모델에 없는 충돌이나 사람의 갑작스러운 진입도 별도 감지와 대응이 필요합니다. 계산 문제에 해가 없는 상황을 어떻게 처리할지, 이전 해를 잠깐 쓸지, 속도를 줄일지, 즉시 안전정지할지까지 설계해야 합니다.

균형과 관절 한계, 장애물 회피를 함께 계산하는 휴머노이드
목표 추종과 물리 제약을 한 최적화 문제에서 함께 비교하는 모습을 나타냅니다.

네 발 로봇은 지면 반력을 어떻게 고를까요

보행 로봇의 MPC는 흔히 몸통을 하나의 단단한 물체처럼 단순화한 모델로 몇 걸음 앞을 계산합니다. 어느 발이 땅에 닿는지 정해진 접촉 일정과 원하는 속도를 바탕으로, 각 발이 바닥에 줄 지면 반력과 몸의 위치·회전을 고릅니다. 그 아래의 전신 제어나 관절 제어기가 목표 힘과 자세를 실제 관절 토크나 위치 명령으로 바꿉니다. 모든 관절을 정밀하게 예측하지 않아도 빠르게 다시 풀기 위한 계층 구조입니다.

MIT Cheetah 3 연구진은 2018년 논문에서 볼록 MPC로 지면 반력을 계산하는 동적 보행 제어를 제시했습니다. ETH Zurich에서 시작된 OCS2 역시 다리 로봇과 이동형 조작기 등에 쓰이는 최적 제어 도구로, 동역학·비용·경로 제약과 ROS 연동을 지원합니다. 이런 사례는 MPC가 실험실 수식에 머물지 않고 실제 로봇의 보행과 조작에 쓰인다는 점을 보여주지만, 특정 로봇의 결과가 다른 하드웨어에 그대로 재현된다는 뜻은 아닙니다.

발판이 기울자 새 발 위치와 경로를 다시 계산하는 네 발 로봇
센서로 예측 오차를 확인한 뒤 새로운 움직임을 다시 계산하는 피드백 과정입니다.

행동 트리·월드 모델·CBF와 역할이 다릅니다

MPC는 최근 다룬 행동 트리와도 층이 다릅니다. 행동 트리는 ‘경로를 만들고, 실패하면 복구한다’ 같은 임무 순서를 정합니다. MPC는 그 명령을 수행하는 동안 어떤 힘과 움직임이 가장 좋은지를 연속적으로 계산합니다. 상위 행동 트리가 이동을 요청하고, 중간 MPC가 몸과 접촉 힘을 계획하며, 아래 모터 제어기가 매우 빠른 주기로 명령을 실행하는 식으로 함께 쓸 수 있습니다.

월드 모델과도 같은 말이 아닙니다. 학습된 월드 모델은 영상이나 행동 데이터에서 미래를 예측할 수 있고, MPC는 명시적 물리 모델이나 학습 모델을 이용해 제어 입력을 최적화하는 절차입니다. 제어 장벽 함수(CBF)는 안전 집합 밖으로 나가지 않도록 입력을 보정하는 데 초점이 있고, MPC는 유한한 미래의 성능과 제약을 함께 최적화합니다. 실제 시스템에서는 MPC와 CBF를 여러 안전 계층으로 결합하기도 합니다.

현장에서는 계산시간과 실패 처리를 봐야 합니다

MPC의 가장 큰 현실적 부담은 계산입니다. 예측 지평선을 길게 하고 모델과 제약을 정교하게 만들수록 미래를 더 잘 볼 수 있지만 문제는 커집니다. 반대로 모델을 너무 단순하게 하거나 지평선을 짧게 하면 먼 미래의 위험을 놓칠 수 있습니다. TinyMPC처럼 마이크로컨트롤러를 겨냥한 경량 최적화 도구가 등장한 이유도 제어 마감시간 안에 답을 내는 일이 중요하기 때문입니다.

현장 평가에서는 ‘MPC를 쓴다’는 이름보다 주기와 실패 조건을 확인해야 합니다. 상태 추정부터 해를 구해 모터에 전달하기까지 몇 밀리초가 걸리는지, 최악 조건에서도 마감시간을 지키는지, 해가 없거나 계산이 중단되면 어떤 안전 상태로 가는지, 모델 오차와 마찰 변화에 얼마나 민감한지 봐야 합니다. MPC의 핵심 가치는 완벽한 미래 예언이 아니라 짧게 예측하고, 조금 실행하고, 현실을 다시 읽는 과정을 체계적으로 반복하는 데 있습니다.

확인한 원문

함께 보면 좋은 글

글쓴이

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

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

댓글 남기기