01도입 — 강사 소개와 MBC·RL 연구 동향 (1)
학교에 부임하신 지 2주년이 되었다는 인사로 강의를 여십니다. 오늘 다룰 큰 주제는 강화학습(Reinforcement Learning, RL), 모델예측제어(Model Predictive Control, MPC), 그리고 이 둘을 합치는 방법, 나아가 이를 응용한 관절로봇(joint robot)·자율주행 제어라고 미리 짚어 주십니다.
시험과 관련해서는, 분량이 많으니 처음부터 외우려 하지 말고 전체 흐름과 개념 이해에 집중하라고 당부하십니다. 출제 범위는 강의 마지막에 어느 페이지에서 나올지 직접 언급해 주실 예정이라, 중간에 모르는 용어가 나와도 "이런 게 있구나" 정도로 가볍게 따라오면 된다고 하십니다. 일부 자료는 교수님이 진행 중인 대학원 수업(최적제어·강화학습 관련) 강의 자료에서 가져와 구성했다고 설명하십니다.
본격적인 내용에 앞서, 교수님이 어떤 연구를 해 왔는지 모르는 분들을 위해 석·박사 과정 → 회사 → 현재 연구실로 이어지는 본인 연구 이력을 약 5~10분간 동향 소개 형태로 먼저 풀어 주시겠다고 예고하십니다.
오늘 전달할 제어 전략은 세 가지임을 명확히 하십니다. 첫째는 MPPI, 둘째는 강화학습, 셋째는 스토캐스틱(stochastic) 기법과 강화학습을 합친 방법입니다. 시간이 허락하면 세 가지를 모두 설명하고, 시간이 촉박하면 중간중간 일부를 스킵하더라도 이 세 전략의 핵심은 최대한 전달하겠다고 하십니다.
다만 본론으로 들어가기 전에, 앞서 예고한 대로 약 10분간 본인의 연구 이력과 현재 MPC·RL 연구 동향을 가볍게 짚는 인트로 순서를 먼저 진행하겠다고 안내하십니다. 다음 슬라이드들이 그 연구 이력(Research History)에 해당합니다.
MPPI(Model Predictive Path Integral)는 MPC의 한 종류로, 미래 궤적 후보를 수많이 샘플링한 뒤 비용이 낮은 궤적에 가중치를 줘 평균 내는 방식입니다. 미분이 어려운 비선형 시스템에도 쓸 수 있는 게 장점입니다. 강의 흐름은 "고전적 모델 기반 제어(MPC 계열) → 데이터 기반 학습 제어(RL) → 둘의 융합"이라는 큰 줄기를 따라간다고 보면 됩니다.
석·박사 과정에서는 주로 비선형 제어를 했고 대표 주제가 셋이라고 소개하십니다. 첫째는 실외(outdoor) 자율주행으로, 비선형 MPC(CiLQR)를 골프카트와 개조한 현대 전기차에 적용해 자율주행 + 충돌 방지를 함께 구현했습니다. 차량의 조향과 가감속 페달까지 직접 개조하고 하드웨어 세팅을 마친 뒤 본인이 직접 탑승해 시험 주행한 사례라고 설명하십니다.
둘째는 실내(indoor) 자율주행으로, 샘플링 기반 MPC를 써서 웨이포인트로 이동하다가 중간에 사람을 마주치면 자연스럽게 우회해 목표 지점까지 도달하도록 구현했습니다. 셋째는 편대(formation) 제어인데, 군대에서 드론으로 인물(예: 사람 얼굴)을 따라 촬영하는 것과 같은 문제를 차량으로 풀었다고 비유하십니다.
이 편대 추종 촬영은 본래 추종 차량이 심하게 흔들리기 쉬운 문제라서, 리아푸노프(Lyapunov) 안정성 이론을 활용해 조향 진동(steering oscillation)과 채터링(chattering)을 모두 억제하고 안정적인 자율주행 편대를 만들었다고 설명하십니다. 영상에서는 RC카 여러 대가 안정적으로 선행 차량을 추종하는 모습을 보여 주십니다.
CiLQR은 제약 조건이 있는 iLQR(iterative Linear Quadratic Regulator)로, 비선형 차량 모델의 최적 궤적을 빠르게 푸는 MPC 계열 기법입니다. 비홀로노믹(nonholonomic)은 차량처럼 옆으로는 못 가고 진행 방향으로만 움직이며 회전하는 운동 제약을 뜻합니다. 리아푸노프 안정성은 "에너지처럼 정의한 함수가 시간이 지나며 계속 줄어들면 시스템이 안정하다"고 보증하는 제어 이론의 핵심 도구입니다.
이후 회사로 옮겨서는 자율로봇을 담당했다고 설명하십니다. 회사 사진·영상은 보안 때문에 직접 가져오지 못해, 시중에 상용으로 나온 예시 이미지로 대체했다고 양해를 구하십니다. 적용 분야는 반도체 공장처럼 위험한 작업이 많은 현장입니다. 산업재해나 작업자 부상 위험이 큰 공정을 사람 대신 휴머노이드 로봇이 단순 작업부터 대체하도록 진행했다고 합니다.
구체적으로는 주식 투자자들에게도 익숙한 레인보우 로보틱스의 RBY 로봇을 가져다 사용했고, 이 로봇을 학습시키기 위해 디지털 트윈(digital twin) 환경에서 강화학습으로 정책을 학습시켰다고 설명하십니다. 슬라이드의 "Iteration 300"이나 가상 환경 속 다수 로봇 장면이 바로 이 시뮬레이션 학습 과정을 보여 줍니다.
디지털 트윈은 실제 로봇과 환경을 물리 시뮬레이터 안에 똑같이 복제한 가상 환경입니다. 강화학습은 수많은 시행착오가 필요해 실제 로봇으로는 위험·비용이 크기 때문에, 가상 환경에서 수천~수만 번 반복 학습(iteration)해 정책을 만든 뒤 실제 로봇으로 옮기는(sim-to-real) 방식이 표준입니다. 모바일 매니퓰레이터는 "이동 가능한 바퀴/다리 + 작업용 팔(매니퓰레이터)"이 결합된 로봇을 말합니다.
현재 한양대 연구실에서는 학교에서 했던 MPC와 회사에서 했던 강화학습을 합친, 즉 MPC와 RL을 융합한 제어를 연구하고 있다고 설명하십니다. 연구 대상은 바퀴와 다리가 함께 달린 휠-레그 로봇(wheeled-legged robot)입니다.
연구 목표는 크게 두 가지입니다. 첫째는 강인성(robustness)으로, 사람·물체가 예측하기 어렵게 동적으로 움직이는 매우 복잡한 환경(인도의 시장, 우리나라로 치면 붐비는 거리)이나 험지에서도 안정적으로 자율주행하는 것입니다. 둘째는 물류센터·물류 배송의 자율화로, 배송 전 과정을 자동화하는 방향입니다.
이 슬라이드의 Parametric MPC + RL Agent 구조가 오늘 강의의 핵심 아이디어입니다. MPC는 모델 기반이라 안정적이고 제약을 잘 지키지만 비용함수·파라미터를 손으로 튜닝해야 하고, RL은 데이터로 똑똑하게 적응하지만 안전 보장이 약합니다. 그래서 MPC를 제어기로 두고, 그 파라미터(가중치 등)를 RL이 상황에 맞게 조정하면 두 방법의 장점을 합칠 수 있습니다 — 이것이 슬라이드 2의 "전략 3) MPPI + RL"로 이어집니다.
연구실 이름은 SEROS입니다. 큰 주제는 엔드투엔드(End-to-End) 자율 배송, 즉 출발지부터 도착지까지 전 구간을 자율화해 물류를 완성하는 것이 목표라고 설명하십니다. 팀은 ① 플래닝(Planning), ② 자율주행(AD), ③ 휠-레그 로봇(WLR), ④ 휴머노이드(Humanoid)의 4개로 나뉘며, 아직 개설 한 학기째라 주로 학부 연구생 위주로 팀을 운영하고 있다고 합니다.
오늘 강의에서는 이 중 사족(다리형) 로봇과 휴머노이드 로봇 사례를 다룹니다. 다리형 로봇 쪽에서는 강화학습과 MoE(Mixture of Experts, 전문가 혼합) 기법으로 험지에서의 강인 제어를 연구하는데, MoE는 말 그대로 "전문가들을 섞는다"는 뜻으로 직선 주행 전문가, 코너링 전문가, 곡선 주행 전문가 세 전문가를 결합해 임의의 랜덤 궤적(trajectory)을 빠르게 주파하도록 만든 것이라고 소개하십니다.
여기서 더 나아가 현재는 이 다리형 로봇에 매니퓰레이터(로봇 팔)를 붙이는 작업을 다른 로봇 업체와 함께 진행 중이라고 합니다. 대학원 수업(ICRA 투고 목표)에서는 강화학습 기반 다리형 로봇의 보행/극복 제어를 팀플 주제로 다루는데, MPC가 아니라 강화학습으로 제어해 앞을 가로막은 회색 벽을 넘어 초록색 목표 지점까지 도달시키는 것이 목표라고 예고하십니다. 베이스라인은 제공되고, 학생들은 파라미터를 바꿔 가며 학습시키게 됩니다.
WLR은 Wheeled-Legged Robot, 즉 바퀴와 다리를 모두 가진 로봇입니다. 평지에서는 바퀴로 빠르게, 계단·턱에서는 다리로 넘는 식으로 두 이동 방식의 장점을 합칩니다. Go2-W는 Unitree사의 바퀴 달린 사족 로봇이고, 거기에 매니퓰레이터(팔)를 달면 이동하며 물건을 집는 작업이 가능해집니다. MoE는 원래 대형 언어모델에서도 쓰는 구조로, 입력 상황에 따라 가장 알맞은 "전문가" 네트워크를 선택·혼합해 쓰는 방식이라 직선·코너·곡선처럼 성격이 다른 주행 구간을 각기 잘 처리할 수 있습니다.
02도입 — 강사 소개와 MBC·RL 연구 동향 (2)
현재 연구실은 학교에서 하던 MPC와 회사에서 하던 강화학습(RL)을 합치는 방향으로 움직이고 있고, 그중 첫 번째 주제가 휠-족형 로봇의 험지 주행입니다. 핵심 기법은 MoE(Mixture of Experts, 전문가 혼합)인데, 이름 그대로 "전문가를 섞는다"는 뜻입니다. 하나의 거대한 정책으로 모든 상황을 다루는 대신, 상황별로 잘하는 전문가들을 따로 학습시켜 두고 게이팅 네트워크가 상황에 맞게 골라 섞는 방식입니다.
이 로봇의 경우 직선 주행 전문가, 코너링 전문가, 곡선 주행 전문가 세 가지를 합쳐서, 무작위로 주어지는 경로(trajectory)를 빠르게 주파하도록 연구하고 있습니다. 그 성과로 험지 지형에서의 강인성을 인정받아 국제대회에서 우승했습니다.
특권 정보(Privileged State)는 시뮬레이션에서는 알 수 있지만 실제 로봇에서는 직접 측정하기 어려운 정보(예: 지면 마찰계수, 정확한 지형 높이)를 말합니다. 학습 때는 이를 활용하되 실전에서는 고유수용감각(관절 각도·속도 등 로봇 자체가 느끼는 정보)만으로 추정하도록 만드는 것이 핵심 아이디어입니다. LSTM은 과거 시점들의 흐름을 기억해 지면 상태를 더 잘 추정하도록 돕습니다.
이 연구가 2025년 IROS 워크숍 대회에서 우승했습니다. ETH(취리히 공과대학)가 주관하는 대회로, 바퀴와 다리를 함께 가진 로봇(ANYmal on wheels)으로 주어진 경로를 빠르고 안정적으로 주파하는 것을 겨룹니다.
여기서 한 단계 더 나아가, 현재는 이 휠-족형 로봇에 매니퓰레이터(로봇 팔)를 붙이는 작업을 다른 로봇 업체와 함께 진행하고 있습니다. 대학원 수업을 듣는 학생들은 이 연구와 연계된 팀 프로젝트를 하게 될 것이라고 예고했습니다.
휴머노이드의 양팔 조작은 Diffusion policy(확산 정책) 기법으로 개발하고 있습니다. 목표 응용처는 다크팩토리(Dark Factory)입니다. 다크팩토리는 사람이 없어 조명조차 필요 없는 무인 공장을 말하는데, 여기서는 LED 조명을 달고 일정한 온도에서 작업할 수 있도록 하는 컨셉으로 진행 중입니다.
이는 회사 시절 담당했던 자율 로봇·휴머노이드 경험(반도체 공장처럼 위험한 작업을 휴머노이드로 대체)과 디지털 트윈 환경에서의 강화학습 경험이 이어진 연구입니다.
Diffusion policy는 이미지 생성에 쓰이는 확산 모델(노이즈에서 점점 깨끗한 결과로 복원하는 방식)을 로봇 동작 생성에 가져온 기법입니다. 미래의 동작 시퀀스를 노이즈에서 단계적으로 정제해 만들어 내며, 양팔 조작처럼 여러 동작이 동시에 얽히는 복잡한 작업에서 부드럽고 일관된 움직임을 잘 만들어내는 것으로 알려져 있습니다.
또 다른 축은 강화학습 + 잠재 동역학(Latent dynamics)으로 복잡한 장애물 환경을 자율주행하는 연구입니다. 자율주행 기능은 크게 두 가지인데, 길을 따라가는 경로 추종(Path Tracking)과 충돌을 막는 충돌 회피(Collision Avoidance)이고, 회피는 다시 브레이크를 밟는 제동(AEB)과 핸들을 꺾는 조향(AES)으로 나뉩니다.
발전 단계를 보면, 박사과정 때 전공한 비선형 MPC로 경로 추종과 제동까지 구현했습니다. 그런데 비선형 MPC는 장애물이 열려 있을 때 지역 최소점(local minima)에 빠지는 문제가 있어, Stochastic MPC(확률적 MPC)로 경로 후보를 무작위로 뿌리고 그중 원하는 경로를 골라 진행하는 방식으로 개선했습니다.
최종적으로는 이 확률적 MPC에 강화학습을 결합한 TD-MPC 기법으로 가고 있습니다. 핵심은 일반 동역학이 아니라 잠재 동역학(Latent dynamics)을 사용하고, 가치 함수(Value Function)를 신경망으로 매칭했다는 점이며, 자세한 내용은 뒤에서 다시 설명합니다.
Latent dynamics는 복잡한 센서 입력(라이다·이미지 등)을 그대로 예측하는 대신, 압축된 잠재 공간(latent space)에서 미래 상태를 예측하도록 학습한 동역학 모델입니다. 차원이 줄어들어 예측·계획이 빨라지고, 장애물이 많은 환경에서도 효율적으로 미래를 내다볼 수 있습니다. TD-MPC는 이 잠재 동역학 모델로 단기 미래를 굴려 계획하되, 그 너머의 장기 가치는 강화학습으로 배운 가치 함수 네트워크로 대체해, MPC의 계획 능력과 RL의 장기 안목을 결합한 기법입니다.
03휠레그드 로봇과 라스트마일 자율배송 (1)
장애물이 매우 많고 빠르게, 예측 불가능하게 움직이는 인도(India) 시장 같은 환경에서는 일반적인 MPPI만으로는 충돌을 막기 어렵다고 합니다. 이를 해결하려고 라이다(LiDAR) 정보를 통째로 가져와 잠재 동역학(Latent dynamics) 모델 안에 넣었고, 그 결과 회피 성능이 약 10% 향상되었다고 설명합니다.
처음에는 확률적 MPC(Stochastic MPC)를 썼는데, 길을 회색으로 무수히 뿌려(샘플링) 그중 파란색의 원하는 경로를 고르는 방식이었습니다. 다만 욕심 많은 탐색은 지역 최소값(local minima)에 빠지는 문제가 있어서, 여기에 강화학습을 결합한 TD-MPC로 발전시켰다고 합니다.
두 그림의 차이를 강조하는데, 왼쪽은 순수 확률적 MPC, 오른쪽은 거기에 RL을 합친 TD-MPC입니다. 핵심은 ⑴ 일반 동역학이 아니라 잠재 동역학을 썼다는 점, ⑵ 비용 대신 신경망 가치함수(value function)로 미래 가치를 평가했다는 점이며, 자세한 내용은 뒤에서 다시 다루겠다고 예고합니다.
MPPI(Model Predictive Path Integral)는 가능한 미래 행동들을 무작위로 잔뜩 시뮬레이션해 보고, 비용이 낮은 궤적에 더 큰 가중치를 줘 평균 내는 방식의 샘플링 기반 MPC입니다. 슬라이드의 지수가중 평균 식이 바로 그 가중 평균에 해당합니다.
TD-MPC의 아이디어는, 짧은 미래만 모델로 굴려 보고 그 끝값을 미리 학습해 둔 가치함수 Q로 "이 다음부터의 가치"를 한 번에 메꾸는 것입니다(TD = Temporal Difference). 덕분에 먼 미래까지 일일이 시뮬레이션하지 않아도 되고, 고차원 상태를 잠재공간(latent space)으로 압축해 계산이 가벼워집니다.
오늘 주제인 휠레그드 로봇 소개로 넘어갑니다. 영상에서 보여준 것은 중국 유니트리(Unitree)의 플랫폼(B2)처럼, 바퀴와 다리를 함께 가진 로봇이 평지에서는 바퀴로 빠르게 굴러가고 계단·험지에서는 다리로 극복하는 모습입니다.
이렇게 잘 움직이는 로봇을 "어디에 쓸 것인가"가 중요한데, 크게 두 가지 응용을 듭니다. 하나는 위에 디스플레이/미디어를 얹어 안내용으로 쓰는 것, 다른 하나가 바로 배송입니다. 특히 배송 쪽에서 활용 가치가 크다고 강조합니다.
미국·유럽에서는 실제로 이런 플랫폼이 문 앞까지(door-to-door) 배송하는 서비스로 활용되고 있다고 소개합니다. 영상 속 RIVR 회사 로봇이 대표적입니다.
운용 방식도 설명하는데, 도시와 도시 사이 장거리는 로봇이 직접 가기 어려우니 트럭에 실려 이동하다가, 목적 도시에 도착하면 트럭에서 내려 계단이나 턱을 넘으며 집 앞까지 가는 식으로 쓰입니다. 계단·문턱을 잘 오를 수 있어 마지막 구간에 특히 유리하다는 점을 짚습니다.
라스트마일이라는 용어를 풀어 설명합니다. 배송은 크게 세 단계로 나뉘는데, 퍼스트 마일과 미드 마일은 비행기나 배로 대륙·도시 간 옮기고 다시 트럭으로 옮기는 단계, 라스트 마일은 트럭에서 내려 사용자 집 앞까지 가는 마지막 단계라고 합니다.
지금 이 마지막 구간은 사람(배달원)이 맡고 있는데, 바로 그 부분을 로봇으로 대체하려는 것이 목표입니다. 학생들에게 "드론·모바일 로봇·족형 로봇 중 무엇이 가장 좋겠냐"고 물으며 자연스럽게 다음 비교표로 넘어갑니다.
각 플랫폼의 장단점을 짚습니다. 드론은 높은 건물로 직행할 수 있어 지형 적응성은 최고지만, 무거운 짐을 들면 배터리가 빨리 닳아 에너지 효율이 너무 낮습니다. 바퀴형은 평지에서 에너지 효율이 좋지만 계단·턱을 못 넘습니다. 족형은 지형 적응은 좋아도 에너지 효율이 낮고 실을 수 있는 중량이 적습니다.
반면 휠레그드(바퀴-족형)는 평지에서는 바퀴로 굴러 에너지 효율이 매우 좋고(순수 보행 대비 83% 절감), 계단·험지는 다리로 극복하며, 바퀴 덕분에 적재량과 속도도 우수합니다. 오늘 강의 컨셉이 휠레그드인 만큼, 정답은 없지만 종합적으로 WLR이 가장 우수하다고 결론짓습니다.
"이제 휠레그드 로봇을 구체적으로 어떻게 제어할 것인가"를 본격적으로 다루는데, 방법이 크게 세 가지라고 안내합니다. ① MPPI(샘플링 기반 모델예측제어), ② 강화학습(RL), 그리고 ③ 둘을 합친 MPPI + RL입니다.
앞서 보여준 TD-MPC가 바로 이 세 번째 "MPPI + RL" 흐름의 연장선임을 암시하며, 이어지는 본론에서 각 전략을 차례로 설명하겠다고 예고합니다.
04휠레그드 로봇과 라스트마일 자율배송 (2)
휠-레그드(Wheeled-Legged) 로봇을 구체적으로 어떻게 제어하느냐 하면 크게 세 가지 방법이 있는데, 그 첫 번째가 여기 나오는 MPC(Model Predictive Control)입니다. 처음 보시면 "이게 무슨 말이지" 싶고 수식도 많은데, 이건 출처 자료에서 그대로 가져온 거라 수식 하나하나를 증명·시험하려는 게 아닙니다. 그냥 "이런 게 있구나" 하고 큰 흐름만 따라오시면 됩니다.
왼쪽에 보이는 게 일반적인 MPC의 형태예요. 비용 함수(목적함수)가 있고, 그 아래에 시스템 동역학(ẋ=f)과 초기조건, 그리고 파란 박스로 묶인 구속조건들이 있습니다. 오른쪽 그림은 그 수식이 적용되는 실제 로봇(다리 달린 형태)을 나타낸 거고요.
MPC 최적제어의 큰 장점 중 하나가 바로 이런 구속조건을 아주 잘 다룰 수 있다는 점입니다. 구속조건은 타입에 따라 g₁, g₂, h로 나뉘는데, 각각 라그랑지안 방법, 페널티 방법, 완화 배리어 함수라는 기존의 방법으로 처리합니다. 푸는 방식은 DDP 기반 SLQ를 쓴다는 정도만 알아두시면 됩니다.
MPC는 "지금부터 일정 시간(예측 지평) 동안 로봇이 어떻게 움직일지 미리 시뮬레이션해서, 비용을 가장 적게 하는 입력을 골라 한 스텝 실행하고, 다음 순간 다시 계산"을 반복하는 제어법입니다. 등식 구속(=0)은 "반드시 만족해야 하는 조건"(예: 발이 땅에 붙어 있어야 함), 부등식 구속(≥0)은 "넘으면 안 되는 한계"(예: 관절 토크 한계)로 생각하면 됩니다. DDP(Differential Dynamic Programming)/SLQ는 이런 최적제어 문제를 빠르게 푸는 대표적 수치 알고리즘입니다.
그림을 보시면 일반 다리 로봇과 달리 발 끝에 바퀴가 달려 있죠. 그러면 자연스럽게 이런 의문이 듭니다. "다리만 움직이면 되던 게, 이제 바퀴까지 굴려야 하니까 자유도(DOF)가 늘어나는 거 아닌가? 바퀴가 4개면 바퀴 회전 4개만큼 자유도가 추가되는 거 아닌가?"
그런데 실제로는 자유도가 증가하지 않습니다. 비결은 모델링 방식에 있어요. 바퀴를 "고정된 관절 위치에서 미끄러지듯 움직이는 점 접촉"으로 다루기 때문에, 바퀴 회전 항을 따로 상태에 넣지 않아도 됩니다. 슬라이드 오른쪽 박스에 적힌 대로 바퀴 관련 항은 제외되는 거죠.
덕분에 상태 벡터는 몸통 자세·위치·각속도·선속도·관절 위치로만 구성되고, 최적화에 들어가는 변수 수가 늘지 않아 계산 시간도 그대로 유지됩니다. 운동방정식 자체는 다리 로봇에서 쓰던 표준 형태(자세·위치·각운동량·병진운동량·관절)와 동일하게 정리됩니다.
파란 박스의 세 가지가 접촉점에 걸리는 구속조건입니다. 첫째는 마찰 원뿔로, 바퀴가 굴러갈 때 수직항력 방향과 관련된 조건이고요. 둘째 초록색은 앞으로 나아가는 방향, 즉 바퀴가 지면을 박차고 추진하는 견인력(traction force)과 관련된 조건, 셋째는 화면 밖으로 뚫고 나오는 측면 방향으로 "비틀려서는 안 된다"는 조건입니다.
여기서 결정적인 차이가 나옵니다. 일반적인 다리 로봇(축구공처럼 발이 땅에 딱 닿는 경우)은 "발이 땅에 닿았을 때 미끄러지면 안 된다"는 롤링 구속(no-slip)이 반드시 들어갑니다. 그런데 바퀴는 원래 굴러가야 하니까 그 방향으로는 미끄러져도(굴러가도) 된다는 거예요.
그래서 휠-레그드 로봇에서는 "미끄러지면 안 된다"는 롤링 구속을 그냥 없애 버림으로써 문제를 해결합니다. 바퀴 자유도를 추가하지 않으면서, 오히려 원래 있던 구속조건을 하나 빼버리니 문제가 더 단순해진 거죠. 보통은 "다리에 바퀴까지 붙었으니 더 어렵겠지" 생각하는데, 실제로는 자유도도 안 늘고 구속도 사라져서 오히려 쉬워지는, 좀 특이한 연구 분야가 됩니다.
마찰 원뿔(friction cone)은 "접촉력이 이 원뿔 안에 있어야 미끄러지지 않는다"는 물리 조건을 기하학적으로 표현한 것입니다. 다리 로봇은 발이 한 점에 고정(no-slip)돼 있다고 보고 그 방향 속도를 0으로 묶지만(=0), 바퀴는 구르는 방향으로 속도가 0이 아니어도 정상입니다. 그래서 그 한 줄의 등식 구속을 지우는 것만으로 "바퀴 굴림"이 자연스럽게 표현됩니다 — 모델을 더 복잡하게 만드는 대신, 제약을 빼는 방향으로 단순화했다는 점이 인상적입니다.
여기서부터가 오늘의 본 주제인 MPPI 제어의 전체 지도입니다. 내용을 Part 1과 Part 2로 나눠서, 확률 미분방정식에서 출발해 가치함수와 HJB 방정식을 거쳐 최종적으로 MPPI라는 알고리즘에 도달하는 큰 흐름을 보여줍니다.
MPPI를 직관적으로 설명하면, 자율주행에 적용한 예가 있습니다. 회색으로 변동이 많이 보이는 부분이 있는데, 흰색 경로들을 무수히 뿌리고(샘플링) 그중 가장 좋은 경로들을 가중 평균으로 합쳐서 빨간색 최종 경로를 뽑아내는 방식이에요. 이렇게 무작위로 여러 경로를 뿌려 최적을 찾는 게 MPPI(또는 PPI)의 핵심이고, 초록색 로봇(에이전트)의 목표는 우리가 따라가야 하는 검은색 기준선을 잘 추종하는 겁니다.
이 블록다이어그램의 각 단계는 뒤 슬라이드에서 하나씩 자세히 풀어갈 거예요. 지금은 "확률적으로 경로를 잔뜩 뿌려서 좋은 걸 골라 합친다"는 큰 그림과, Part 1·Part 2가 어떻게 연결되는지만 잡고 넘어가시면 됩니다.
이 슬라이드는 이어지는 MPPI 유도와 설명이 어디서 왔는지 출처를 정리한 페이지입니다. MPPI를 대중적으로 알린 대표 논문이 2016년 Williams 등의 "공격적 주행(Aggressive driving)" 논문이고, 강의 전개는 HTWG Konstanz·University Freiburg의 강의노트 10강을 많이 참고했습니다.
맨 아래 깃허브 링크 세 개는 MPPI를 직접 돌려볼 수 있는 구현 코드들입니다. 이론 수식이 부담스럽다면, 이런 오픈소스 코드를 받아 간단한 예제부터 실행해 보는 것이 흐름을 체감하는 데 도움이 됩니다. 우리가 앞으로 볼 수식들도 결국 이 자료들에서 가져온 것이라는 점을 기억해 두세요.
05제어 전략 개요와 MPC 기반 제어 (1)
제어를 배웠으니 상태공간(state space) 모델은 다 알고 있을 겁니다. 평소 보던 상태방정식에서, 여기 보면 빨간색 항 하나가 추가됩니다. 바로 B(x_t)dw 항인데, 이 dw가 위너 프로세스입니다.
위너 프로세스의 dw는 사실 그냥 노이즈(noise)예요. 원래 깔끔하던 방정식에 이 노이즈를 일부러 더해서, 일반 방정식이 아닌 스토캐스틱(stochastic, 통계적) 방정식으로 만든 것이고, 줄여서 SDE라고 부릅니다. 앞에서 MPPI 결과로 회색 경로(샘플 궤적)를 잔뜩 뿌렸던 게 기억나죠? 그 무작위로 흩뿌려진 회색 경로들이 바로 이 빨간색 항(노이즈) 때문에 생긴 결과입니다.
위너 프로세스는 브라운 운동을 수식화한 것으로, 매 순간 독립적인 작은 가우시안 충격이 누적되는 과정입니다. 그래프가 들쭉날쭉한 이유가 이것입니다. "제어-어파인"이란 제어입력 u가 G(x)·u 꼴로 1차(선형)로만 들어간다는 뜻이라, 최적화가 한결 다루기 쉬워집니다. 이 노이즈 항은 뒤에서 다룰 MPPI(Model Predictive Path Integral)에서 수백 개의 후보 궤적을 만들어내는 근원이 됩니다.
우리가 아는 상태공간 모델은 왼쪽 파란색처럼 예쁘게 매끈하게 나옵니다. 그런데 오른쪽처럼 노이즈 항을 더하면, 오히려 불안정하고 들쭉날쭉한 빨간색 다이나믹스가 만들어집니다.
겉보기엔 일부러 모델을 망가뜨린 것 같지만, 현실에서는 사실 빨간색이 더 가깝습니다. 실제 환경에는 모델 오차도 많고 외란도 많으니까요. 왼쪽은 이상적인 세계, 오른쪽은 현실에 더 가까운 세계라고 보면 됩니다. MPPI의 핵심 중 하나가 바로 이렇게 모델에 노이즈를 더해 스토캐스틱한 모델로 만든 것입니다. 나중에 스토캐스틱 MPC를 보면 "아, 모델에 노이즈를 추가했구나" 정도로 받아들이면 됩니다.
비교 결론입니다. 기존의 결정적(deterministic) 상태공간 모델은 파란색처럼 매끈하게 나오는 반면, 노이즈를 더한 스토캐스틱 모델은 빨간색처럼 불안정한 형태를 갖습니다.
한 문장으로 정리하면 — 위너 프로세스(노이즈)는 다이나믹스를 결정적이지 않게, 즉 확률적으로 만든다는 것입니다.
최적 제어를 하려면 먼저 비용함수를 정리합니다. 식에서 E(x_T)는 마지막 시점의 비용인 터미널 코스트(terminal cost), 적분 안쪽은 중간중간 쌓이는 러닝 코스트(running cost)입니다. 최적화의 목표는, 예를 들어 y = x²가 있으면 그 x²를 최소화하듯이, 이 비용을 최소화하는 것입니다. 그 비용을 정리한 것을 가치함수(value function)라고 부릅니다.
좀 특이한 점은 가치함수 안에 기대값(Expectation) E_{x~Q}가 들어 있다는 것입니다. 앞에서 회색 경로를 수백 개로 잔뜩 뿌렸죠? 궤적이 하나가 아니라 여러 개이기 때문에, 그것들을 다 더해 평균을 내야 합니다. 그래서 단순한 비용이 아니라 "기대값"으로 정의되는 것이고, 여기 들어가는 x는 방금 본 그 확률미분방정식(SDE)을 따라 생성된 상태입니다.
비용함수가 (1/2)uᵀRu 꼴인 건 제어를 많이 쓸수록(에너지) 벌점을 주고, q(x)는 상태가 목표에서 벗어날수록 벌점을 주는 구조입니다. 즉 "오차를 줄이되 힘은 적게 쓰라"는 절충을 수식으로 표현한 것이고, 이 균형점을 찾는 게 곧 최적 정책입니다. 결정적 문제라면 궤적이 하나로 정해지지만, 노이즈가 있으니 가능한 궤적이 무수히 많아 기대값(평균)으로 평가하는 것입니다.
가치함수도 그냥 y = x² 꼴이라고 생각하면 편합니다. 그 형태의 문제를 푸는 것인데, 화면이 밝아 잘 안 보이지만 여기서는 시간과 상태에 대해 3차원으로 쭉 펼쳐진 곡면 형태입니다.
그림에서 읽을 핵심은 세 가지입니다. 시간이 흐를수록 남은 비용(cost-to-go)은 점점 줄어드는 경향을 보이고(①), LQR 같은 제어 정책이 상태를 목표로 끌어와 조절하며(②), 위너 프로세스 노이즈 때문에 매끈한 곡면 위에 잔물결 같은 섭동이 생깁니다(③). 오른쪽 그래프는 같은 상황에서 정책을 다르게 줬을 때(최적/공격적/약함) 상태가 어떻게 다르게 흘러가는지를 비교한 것입니다.
(이 표는 대본에서 직접 설명한 부분이 거의 없어, 앞서 비용함수에서 다룬 "오차 벌점 Qx² vs 에너지 벌점 Ru²의 절충" 논리로 정리합니다.) 제어를 너무 세게 하면(공격적·파랑) 노이즈마다 과민하게 반응해 에너지 비용 Ru²이 폭발하고, 너무 약하게 하면(약함·빨강) 오차가 그대로 쌓여 상태 벌점 Qx²이 치솟습니다.
최적 정책(검정)은 이 둘 사이의 균형점에 있어, 외부 충격이라는 "운"이 나쁠 때만 비용이 조금 오를 뿐 총비용 J를 최소화하는 유일한 해가 됩니다. 결국 좋은 제어란 힘을 무작정 세게/약하게 쓰는 게 아니라, 오차와 에너지 두 벌점의 합을 가장 작게 만드는 지점을 찾는 것입니다.
06제어 전략 개요와 MPC 기반 제어 (2)
이제 본격적으로 밸류 펑션(value function, 가치함수)을 정의하고, "그 다음 문제는 이걸 푸는 것"이라고 하셨습니다. 가치함수 V는 y = x² 같은 비용 함수라고 생각하면 직관이 잡힌다고 하셨죠. y = x²의 최소점을 찾을 때 미분해서 y' = 2x = 0, 즉 x = 0을 찾는 것과 똑같은 발상이라는 겁니다.
여기서 특이한 점은 기댓값(Expectation)이 들어간다는 것입니다. 앞에서 회색 경로를 500개씩 잔뜩 뿌렸기 때문에(샘플이 한 개가 아니라 여러 개라서) 그것들을 다 더해서 평균을 내야 하고, 그래서 E[...] 라는 기댓값 형태가 식 안에 들어가 있다고 설명하셨습니다.
이렇게 가치함수를 정의한 뒤, 미래 시점의 V를 테일러 전개해서 현재 식으로 끌어내리는 것이 이 슬라이드의 핵심 작업입니다. 결과적으로 시간 미분 −V_t를 최소화하는 형태의 식이 나오고, 이게 바로 HJB로 가는 길목입니다.
HJB(Hamilton–Jacobi–Bellman) 방정식은 "최적 제어 문제의 최소 비용(가치함수)이 만족해야 하는 편미분방정식"입니다. 일반 ODE(상미분방정식)와 달리, 여기서는 동역학에 위너 과정(Wiener process)이라는 노이즈가 섞여 있어서 확률적(stochastic) 버전이 됩니다. 노이즈가 들어가면 단순 1차 항만으로는 부족하고, 분산에 해당하는 2차 항(tr(BB^T V_xx))이 반드시 살아남습니다 — 이게 결정론적 HJB와 확률적 HJB의 결정적 차이입니다.
최적 조절을 할 때 비용 함수(cost function)를 정리한다고 하셨습니다. 비용에는 끝 시점의 비용인 터미널 코스트(terminal cost)와, 경로를 따라가는 동안 계속 쌓이는 러닝 코스트(running cost)가 있습니다. 이 슬라이드의 L = q(x) + (1/2)u^T R u가 바로 그 러닝 코스트의 구체적 형태입니다 — 상태가 목표에서 벗어난 정도(q)와 제어를 세게 쓴 정도(u^T R u)에 모두 벌점을 매기는 구조입니다.
최적화의 목표는 결국 y = x²를 최소화하듯 이 비용을 최소화하는 것이고, 그 대상이 되는 함수를 밸류 펑션(value function)으로 정리한다고 하셨습니다. 여기서 x(상태)는 앞에서 본 노이즈가 섞인 분기형 동역학(dx = f dt + G u dt + 위너항)을 따라 만들어집니다.
이렇게 불안정한(노이즈가 섞인) 동역학을 기준으로 가치함수가 정의되면, 이제 남은 문제는 "이 식을 실제로 푸는 것"입니다. 그 풀이가 다음 슬라이드로 이어집니다.
여기서도 핵심만 짚고 가셨습니다. y = x²의 최소점을 미분으로 찾듯이, 비용 식 F(u)를 제어 입력 u로 미분해서 0이 되는 지점을 찾는다는 겁니다. 그 결과가 u* = −R^{-1}G^T V_x라는 깔끔한 최적 제어식입니다.
이렇게 얻은 u*를 HJB에 다시 대입하면, 시간에 대한 미분과 상태에 대한 미분이 얽힌 HJB형 비선형 PDE가 나옵니다. 교수님은 "스토캐스틱에서는 이런 HJB 형태가 정말 자주 나온다"고 하셨고, 식이 척 봐도 풀기 매우 어렵게 생겼다고 하셨죠.
그래서 직접 풀기 어려운 이 PDE를, 마치 중·고등학교에서 부정적분 풀 때 치환(transformation)을 쓰듯이, 변수 변환을 통해 풀 수 있는 획기적인 방법이 있다고 예고하셨습니다. 또한 상태 차원이 n ≥ 4만 돼도 차원의 저주로 계산이 폭발하기 때문에, "효율적으로 푸는 법"이 바로 Path Integral Control의 Part II 주제가 됩니다.
차원의 저주(curse of dimensionality)란, 상태 변수의 개수가 늘어날수록 격자(grid)로 PDE를 풀 때 필요한 계산량이 지수적으로 폭발하는 현상입니다. 예컨대 한 축을 100칸으로 나누면 n=2는 1만 칸, n=4는 1억 칸이 되어 사실상 풀 수 없습니다. 그래서 격자로 직접 푸는 대신, 다음 파트에서 등장할 치환(로그 변환)으로 비선형 HJB를 선형 방정식으로 바꾸고, 이를 수많은 샘플 경로(앞의 회색 경로들)의 가중 평균 — 즉 경로 적분(path integral) — 으로 푸는 것이 이 강의 전체의 클라이맥스입니다.
07MPPI — 확률적 경로적분 제어 (1)
여기까지가 지난 시간에 쌓아온 줄기입니다. 핵심은 우리가 익히 아는 상태공간(state-space) 모델에 빨간색 항 하나가 붙는다는 점이에요. 원래 깔끔한 파란색 방정식에 위너 프로세스(B·dW) 노이즈가 더해지면, 그 결과가 회색 경로 수백 개를 뿌렸을 때 나오는 불안정한 다이내믹스가 됩니다. 이렇게 노이즈를 더한 방정식을 통계적이라는 뜻에서 스토캐스틱(stochastic) 방정식이라고 부릅니다.
왼쪽 파란색은 이상적인 세계, 오른쪽 빨간색은 노이즈가 섞인 현실에 가까운 세계라고 보면 됩니다. 현실에는 모르는 외란이 많으니 오히려 빨간색이 더 진짜에 가깝죠. 여기서 비용을 정리할 때 끝점에서의 터미널 코스트(terminal cost)와 진행 중의 러닝 코스트(running cost)로 나누고, 회색 경로가 여러 개이므로 그것들을 평균 내는 기대값(Expectation)이 들어갑니다.
이렇게 정의한 밸류 함수(value function)를 최소화하는 것이 목표인데, 이는 마치 y = x²의 최솟값을 찾는 문제와 본질적으로 같습니다. 미분해서 0이 되는 지점을 찾는 것이죠. 이 과정을 거치면 HJB(해밀턴-야코비-벨만) 방정식이 나오고, 그 결과가 마지막의 비선형 PDE입니다.
왜 회색 경로를 뿌리나? MPPI의 직관은 단순합니다. 한 번에 정답 경로를 계산하지 않고, 회색 후보 경로 500개쯤을 무작위로 뿌린 뒤(샘플링) 좋은 것들을 가중합해서 최종 빨간색 경로 하나를 만듭니다. 만약 앞에 장애물이 있으면 그쪽으로 가는 회색 경로들은 비용이 커져서 가중치가 거의 0이 되어 자연스럽게 걸러지고, 장애물이 없는 쪽 경로들만 살아남아 합쳐집니다. 이번 섹션의 수식 유도는 바로 "그 가중치를 어떻게 수학적으로 정당화하는가"를 보여주는 과정입니다.
여기서부터 본격적으로 2부로 넘어갑니다. 1부에서 세운 비선형 PDE를 "어떻게 효율적으로 풀 것인가", 그리고 그 해를 경로 샘플링과 어떻게 연결하는가를 다룹니다.
이번 시간의 로드맵입니다. 큰 그림은 이렇습니다 — 1부에서 만든 복잡한 비선형 PDE를 변환·가정·대각합 성질을 동원해 선형 PDE로 깔끔하게 바꾸고, 그 선형 PDE는 파인만-칵 정리 덕분에 "회색 경로들을 가중합한 기대값" 형태로 풀립니다. 즉 어려운 미분방정식 풀이가 경로 샘플링의 평균으로 바뀌는 것이죠.
거기에 한 가지를 더 얹습니다. MPC(Model Predictive Control) 개념인데, 매 스텝마다 현재 상태에서 다시 계산해 한 스텝만 적용하고 굴려가는 방식입니다. 이 MPC 개념을 경로적분 제어에 합친 것이 바로 MPPI입니다. 자율주행, 내비게이션, 자유도가 높은 매니퓰레이터의 경로 탐색처럼 장애물을 피해 움직여야 할 때 특히 많이 쓰입니다.
여기 적힌 비선형 PDE가 1부의 결론입니다. 원리상으로는 이걸 풀면 밸류 함수가 나오고 최적 제어가 나오지만, 상태 차원이 4 이상만 돼도 격자(grid) 기반으로는 도저히 못 풉니다. 이것이 차원의 저주입니다. 그래서 정공법 대신 획기적인 우회로를 씁니다.
그 우회로가 치환(변환)입니다. 중·고등학교 때 적분에서 변수를 치환하면 어려운 식이 갑자기 풀리는 경험 있죠? 똑같은 발상으로, 밸류 함수 V에 지수 변환을 걸어 Ψ라는 새로운 함수로 바꿉니다. V = −λ log Ψ 라는 관계를 시간·공간에 대해 미분해 두면, 다음 슬라이드에서 원래 PDE에 그대로 대입할 준비가 끝납니다.
희망함수(desirability)란? 로그를 씌운 관계 V = −λ log Ψ 에서, 비용 V 가 낮을수록 Ψ 는 커집니다. 즉 Ψ 는 "그 상태가 얼마나 바람직한가"를 나타내는 양으로, 비용을 직접 다루는 대신 '좋음의 정도'를 다루도록 문제를 뒤집은 것입니다. 이 뒤집기 덕분에 곱·지수로 얽혀 있던 비선형 항들이 다음 단계에서 선형 구조로 펴집니다.
앞 슬라이드에서 준비한 미분 관계들을 원래 PDE에 그대로 꽂아 넣는 단계입니다. 식이 길고 복잡해 보이지만, 핵심은 모든 V 항을 Ψ 항으로 갈아 끼우고 양변을 Ψ에 대해 정리했다는 것뿐입니다.
그런데 정리하고 보니 아직 끝이 아닙니다. Ψ_x 가 두 번 곱해진 제곱꼴 항들이 살아남아 있어서, 여전히 비선형 PDE입니다. 그래서 다음 슬라이드에서 한 번 더 손을 봐서 이 거슬리는 항들을 제거합니다.
마지막 손질입니다. 먼저 대각합(trace) 성질을 써서 제곱꼴 항의 모양을 살짝 바꾸고, 그다음 λ G R^−1 G^T = BB^T 라는 핵심 가정을 둡니다. 이 가정은 "제어가 노이즈와 같은 채널로 들어간다"는 뜻으로, 직관적으로는 내가 힘을 줄 수 있는 방향과 외란이 들어오는 방향이 일치한다는 조건입니다. 이 가정 덕분에 골치 아프던 두 비선형 항이 부호만 반대인 쌍둥이가 되어 깨끗하게 지워집니다.
그래서 드디어 선형 PDE를 얻습니다. 이게 결정적인 분기점이에요. 선형 PDE가 되면 다음 단계인 파인만-칵 정리를 통해 "해를 직접 푸는 대신, 회색 경로들을 시뮬레이션해서 가중 평균하는" 형태로 바꿀 수 있기 때문입니다. 즉 시그마(Σ)로 회색 경로 수백 개를 다 더해 빨간색 최종 경로 하나를 만들어내는, 그 파란색 박스 최종 수식으로 가는 문이 여기서 열립니다.
정리하면, 회색 경로들을 시뮬레이션해 합쳐서 빨간 최종 경로를 만드는 과정 — 그 정당화가 이 변환의 끝에서 시작됩니다. MPPI나 Stochastic MPC 문헌을 보면 이 선형화된 형태와 그로부터 나오는 경로 가중합 공식을 아주 자주 만나게 될 겁니다.
왜 선형 PDE가 되면 좋은가 — 다음 단계 미리보기. 선형 PDE는 파인만-칵 정리(Feynman-Kac Lemma)로 그 해를 "확률 경로들에 대한 기대값"으로 표현할 수 있습니다. 그러면 PDE를 격자로 푸는 대신, 시스템 노이즈를 따라 경로(회색 trajectory)를 잔뜩 뿌리고 각 경로의 비용으로 가중치를 매겨 평균 내는 것만으로 해를 근사할 수 있습니다. 차원의 저주를 샘플링으로 우회하는 셈이죠. 여기에 매 스텝 다시 계산하는 MPC 개념을 더하면 실시간 제어가 가능한 MPPI가 완성되며, 모래밭 드리프트·자율주행·고자유도 매니퓰레이터의 장애물 회피 경로 생성 등에 실제로 쓰입니다.
08MPPI — 확률적 경로적분 제어 (2)
앞 슬라이드에서 본 3차원 그래프(파란/빨간 곡선)는 결국 "최적화가 일어나고 있다"를 보여주는 그림이었습니다. PD 제어로 비유하면 P 게인을 너무 높이면 오버슈팅(overshooting)이 생겨 출렁이고, 반대로 게인을 너무 낮추면 약하게 제어돼 목표를 못 따라가 정상상태 오차(steady-state error)가 남죠. 이런 출렁임을 비용함수·최적제어 관점에서 3차원으로 표현한 것입니다.
이제 진짜 목표는 밸류 함수 V 를 최소로 만드는 제어 입력을 찾는 것입니다. 직관적으로는 y = x² 의 최소점을 찾을 때 미분해서 y' = 2x = 0 인 점을 찾는 것과 똑같아요. 여기서도 밸류 함수를 상태·시간으로 미분해 나가면 최적제어 조건(HJB, 해밀턴–야코비–벨만)이 나오는데, 스토캐스틱(stochastic) 환경이라 그 방정식이 굉장히 풀기 어렵게 생겼습니다.
그런데 여기서 획기적인 변환 트릭이 등장합니다. 고등학교에서 적분할 때 치환(substitution)을 쓰듯, V = −λ log Ψ 라는 변환을 넣으면 어려운 비선형 방정식이 풀 수 있는 형태로 바뀝니다. 이 변환(Feynman-Kac)을 통해 "제어 입력을 직접 푸는 문제"가 "제어 없이 던진 수많은 궤적의 기대값을 계산하는 문제"로 탈바꿈하는 게 이 슬라이드의 핵심입니다.
앞에서 변환으로 얻은 기대값 형태를 컴퓨터로 계산하려면 시간을 잘게 쪼개야 합니다. 그래서 dt 를 Δt = T/N 로 이산화하고, 연속 잡음 dw 를 정규분포 난수 ε_k ~ N(0,I) 에 √Δt 를 곱한 위너 프로세스 샘플로 표현합니다. 이렇게 하면 한 번의 궤적을 단계별로 굴려서 만들 수 있어요.
여기서 강조할 점은 제어 입력 항 G u dt 가 동역학에서 빠져 있다는 것입니다. 즉 궤적 자체는 "제어를 전혀 안 한, 잡음만으로 굴러간 경로"이고, 정작 제어의 효과는 앞에 붙은 투영 연산자(R^{-1}G^T(GR^{-1}G^T)^{-1})와 비용 가중 기대값 안에 녹아 있습니다. 직접 제어를 설계하지 않고, 무작위로 펼친 경로들을 비용으로 평가해 가중하는 방식으로 최적 제어를 얻는 것이죠.
변환과 가정을 쭉쭉 밀고 나가서 풀었더니, 결과적으로 식이 이 파란색 박스 형태로 아주 단순하게 정리되기 시작합니다. 여기서 핵심은 시그마(Σ), 즉 "다 더한다"는 것이에요. 앞에서 봤던 그 회색 경로들 — 한 수백 개씩 무작위로 던졌던 경로들 — 을 전부 더하는 과정입니다.
그 회색 경로들을 그냥 똑같이 더하는 게 아니라 경로마다 가중치 w_i 가 붙습니다. 비용이 작은(잘 된) 경로일수록 exp(−(1/λ)X̂) 값이 커서 가중치가 크고, 비용이 큰 경로는 거의 무시되죠. 이 가중치를 앞서 본 복잡한 유도(스토캐스틱 HJB→Feynman-Kac→단순화)로부터 끌어낸 것입니다.
한 번 더 핵심만 말하면: 회색 경로 수백 개를 시뮬레이션해서 비용 가중합으로 합치면, 빨간색 최종 경로(최적 제어) 하나가 탄생합니다. 그 합치는 공식이 바로 이 파란 박스예요. MPPI나 Stochastic MPC를 다루면 이 파란색 최종 수식을 정말 자주 보게 될 겁니다.
지금까지 설명한 게 PI(Path Integral, 경로적분) 제어입니다. 여기에 MPC(모델 예측 제어) 개념을 합친 게 MPPI예요. 차이를 보면, 위 그림처럼 순수 경로적분/LQR류는 k=0 에서 한 번 계산한 결과를 끝까지 그대로 가져다 씁니다.
반면 MPC는 다릅니다. 지금 스텝에서 계산하고, 한 스텝 실제로 움직인 뒤, 그 새 위치에서 처음부터 다시 계산하고, 또 한 스텝 가서 다시 계산… 이렇게 매번 새로 풀어 가져다 쓰는 구조죠. 이 "계속 다시 푸는" MPC 개념을 경로적분 제어 위에 얹은 것이 MPPI입니다.
즉 파란 박스(경로적분 가중합) + MPC(매 스텝 재계산) = MPPI. 내비게이션, 자율주행, 그리고 자유도가 높은 로봇 매니퓰레이터(manipulator)에서 경로를 찾을 때 특히 많이 씁니다. 예를 들어 장애물을 피해 집기 동작을 할 때 자주 활용됩니다.
이 슬라이드는 지금까지 따라온 길을 한 장으로 압축한 지도입니다. Part 1은 제어 아핀 형태와 위너 프로세스에서 출발해 스토캐스틱 미분방정식을 세우고, 2차 비용함수에서 밸류 함수와 최적성 원리를 거쳐 결국 스토캐스틱 HJB(비선형 PDE) 에 도달하는 과정 — 즉 "어렵게 생긴 방정식"이 나오기까지입니다.
Part 2는 그 어려운 비선형 PDE를 가정(Assumption)·트레이스(Trace)·변환(Transformation)으로 선형 PDE로 바꾸고, Feynman-Kac 으로 기대값 형태로 풀어 경로적분 제어를 얻은 뒤, 마지막에 MPC 개념을 더해 MPPI 로 마무리하는 흐름입니다. 화살표만 따라가도 오늘 배운 내용의 큰 그림이 잡힙니다.
자율주행 관점에서 MPPI를 실제로 돌려본 사례입니다. 그림을 보면 앞에서 말한 개념이 그대로 보여요. 초록 차량 앞으로 회색 후보 경로들을 랜덤으로 쫙 띄우고, 그걸 전부 비용 가중합해서 빨간색 최종 경로 하나를 만들어 따라갑니다. 회색 → (가중합) → 빨간색, 이게 이번 섹션 전체의 한 줄 요약입니다.
MPPI는 이미 구현된 예제도 많습니다(예: 자율주행/로보틱스 프레임워크에 포함). 매 스텝마다 다시 샘플링하고 다시 가중합하는 MPC식 재계산 덕분에, 기준 경로를 따라가면서도 실시간으로 상황에 맞춰 부드럽게 경로를 갱신할 수 있다는 점이 핵심입니다.
왜 이 방식이 강력한지 직관적으로 보면: 전통적 최적제어는 "미분 = 0" 으로 정확한 해를 풀어야 하는데, 비선형·고차원이면 사실상 불가능합니다. MPPI는 대신 "수백 개를 그냥 던져보고 잘 된 것에 점수를 더 줘서 평균낸다"는 몬테카를로식 접근이라, 동역학이 미분 불가능하거나 비용이 복잡해도 시뮬레이션만 가능하면 돌아갑니다. GPU로 수천 개 궤적을 병렬로 굴릴 수 있어 실시간성도 확보되죠. 온도 같은 파라미터 λ 는 가중치의 날카로움을 조절합니다 — 작을수록 최저 비용 경로에 몰아주고(공격적), 클수록 여러 경로를 부드럽게 섞습니다(보수적).
09MPPI — 확률적 경로적분 제어 (3)
파란색 박스(경로적분 제어)에 MPC 개념을 합친 것이 바로 MPPI입니다. 내비게이션이나 자율주행, 로봇의 경로 탐색에 많이 쓰이고, 특히 매니퓰레이터처럼 자유도가 아주 높아서 — 예를 들어 장애물을 피해 물건을 집을 때 — 활용도가 큽니다.
MPPI는 이미 구현된 오픈소스 예제(ROS 계열 등)가 있어 자율주행 관점에서 곧바로 돌려볼 수 있습니다. 한 번 더 핵심 직관을 반복하면 — MPPI는 회색 롤아웃 경로들을 그냥 랜덤으로 쫙 띄워 보고, 그것들을 비용에 따라 전부 가중합해서 최종 빨간색 경로 하나를 만들어 냅니다.
이 슬라이드의 코드가 정확히 그 과정입니다. Theory 3에서 가우시안 노이즈를 미리 만들고, Theory 5에서 K개의 롤아웃마다 기준 제어열에 그 노이즈를 더해 경로를 흩뿌리는 것이죠. 액추에이터 한계를 넘지 않게 가속·조향을 클램핑하는 부분까지가 실제 로봇에 올릴 때 빠지지 않는 디테일입니다.
왜 제어입력에 노이즈를 넣느냐는 질문의 답은 변환 때 쓴 가정에 있습니다. λGR⁻¹Gᵀ = BBᵀ 가정은 제어비용 행렬 R과 노이즈의 확산항 BBᵀ를 묶어 줍니다. 즉 노이즈가 들어오는 통로 B를, 제어가 들어오는 통로 G와 같은 자리에 맞춰 놓은 것이죠. 그래서 제어입력 공간에 노이즈를 뿌리는 것이 SDE의 확산항과 일관됩니다 — 상태에 직접 노이즈를 넣는 것이 아니라요.
여기까지로 MPPID(경로적분+MPC)는 일단락되고, 교수님은 강화학습 쪽 미리보기로 넘어갑니다. 로봇 개(legged robot) 예시를 들며 액터-크리틱(actor-critic) 구조를 소개하는데, '연기자(액터)'는 현실에서 속도 같은 값을 잘 모르는 쪽, '비평가(크리틱)'는 시뮬레이션 안에서 모든 값을 다 아는 지도교수 같은 존재라는 비유였습니다.
마지막으로 모델기반(MPPI)과 학습기반을 합치는 이야기를 예고합니다. 모델기반은 상태공간 모델을 그대로 따라가니 신뢰성·재현성이 거의 100%라는 장점이 있지만, 거기에 한계도 있어 둘을 결합하는 방향으로 이어집니다.
왜 가정 λGR⁻¹Gᵀ=BBᵀ이 핵심인가 — 경로적분/MPPI 이론은 HJB 방정식의 지수변환(Cole–Hopf, V = -λ log Ψ)으로 비선형 HJB를 선형 PDE로 바꿉니다. 이때 변환이 깔끔하게 떨어지려면 제어비용의 역행렬 R⁻¹로 표현된 항과 노이즈 공분산 BBᵀ가 비례해야 합니다(λ가 비례상수=온도). 직관적으로 '제어가 싼 방향일수록 탐색 노이즈도 크게' 주라는 뜻이고, 그래서 노이즈를 제어입력에 더하는 구현이 이론과 정확히 맞아떨어집니다.
교수님이 예고한 강화학습 개념들 (대학원 RL 과제와 연결):
• 보상 설계(reward design) — 알고리즘 자체보다 보상·환경 설계가 실무에서 가장 중요. 로봇 개가 턱을 넘어 목표까지 가게 하려면: 목표까지 거리가 줄면 +보상, 자세가 너무 기울어 전복되면 페널티, 도착 지점에서 속도가 0에 가까워지면 보상 같은 식으로 직접 디자인합니다.
• 커리큘럼 러닝(curriculum learning) — 쉬운 것부터 단계적으로. 처음엔 평지 보행, 잘되면 턱을 조금씩 높이고, 백덤블링도 점프→반 바퀴→360도 순으로 난이도를 올려야 학습이 잘 됩니다.
• Sim-to-Real & 도메인 랜덤화(domain randomization) — 시뮬레이션과 현실의 차이(대표적으로 마찰계수, 타이어 다이내믹스, 타임 딜레이)를 메우려고, 시뮬에서 마찰을 1.0으로 고정하지 않고 0.9~1.1처럼 랜덤화해 학습합니다. 그래야 현실로 옮겨도(transfer) 잘 동작합니다.
10강화학습 — 액터-크리틱·보상·학습 기법 (1)
이 부분은 앞에서 다룬 MPPI(샘플링 기반 모델 예측 제어)를 실제 코드로 옮기는 과정입니다. 강의 뒤쪽에서 "쫙 뿌리고 그 중에서 팍 찾아내는 방식"이라고 표현했듯이, 제어 입력에 노이즈를 잔뜩 섞어 여러 궤적을 동시에 굴려보고, 각 궤적이 만들어 낸 비용을 평가하는 게 출발점입니다.
Feynman-Kac 정리가 중요한 이유는, 원래라면 풀기 어려운 최적제어의 PDE(HJB 방정식)를 "직접 푸는" 대신 "여러 궤적을 굴려 평균 내는" 문제로 바꿔주기 때문입니다. 즉 어려운 미분방정식을 시뮬레이션 샘플링으로 우회할 수 있게 해 주는 다리 역할을 합니다.
직관적으로 exp(-(1/λ) X) 항은 "비용 X가 작은(좋은) 궤적일수록 가중치를 크게" 주는 부드러운 선택기입니다. λ가 작을수록 최저 비용 궤적 하나에 가깝게 몰리고, λ가 클수록 여러 궤적을 골고루 섞습니다. 다음 슬라이드의 가중 평균이 바로 이 가중치를 쓰는 단계입니다.
강의에서 "뽀글뽀글한 거, 이거는 노이즈를 첨가해서 이렇게 된 거고, 이걸 다 합쳐서 흰색·빨간색 하나로 만들어야겠다"고 한 부분이 정확히 이 단계입니다. 화면에 수없이 뿜어져 나온 후보 궤적들(노이즈 섞인 제어들)을 비용 기반 가중치로 합쳐, 결국 하나의 부드러운 제어 시퀀스로 정리하는 것입니다.
핵심은 "최저 비용 하나만 고르는 게 아니라, 좋은 궤적일수록 큰 비중으로 평균낸다"는 점입니다. 그래서 갑작스럽게 튀지 않고, 여러 그럴듯한 해를 절충한 안정적인 제어가 나옵니다. 마지막 Smoothing은 그렇게 얻은 제어를 시간축으로 더 매끄럽게 다듬는 후처리입니다.
경로적분 제어만으로는 한 번 계산한 전체 구간 제어를 끝까지 쓰는 셈인데, 여기에 "모델 예측 개념"을 얹으면 매 스텝마다 다시 계산하게 됩니다. 즉 미래 n 스텝을 내다보고 최적 시퀀스를 뽑되, 실제로는 맨 앞 한 칸만 쓰고 한 칸 전진한 뒤 다시 처음부터 예측하는 것을 반복합니다.
이렇게 하면 예측이 조금 틀려도 매 스텝 새 관측으로 보정되므로, 모델 오차나 외란에 훨씬 강인해집니다. 이 슬라이드까지가 첫 번째 제어 전략 MPPI의 구현 마무리이고, 다음 슬라이드부터 세 가지 전략을 한눈에 비교합니다.
교수님은 이 두 갈래를 "모델 기반(고전 기반)"과 "학습 기반"으로 나눠 장단점을 비교하셨습니다. 모델 기반(MPC)은 신뢰성이 매우 높습니다. 상태공간 모델대로 딱딱 움직이고, 가정한 상황(예: 아스팔트 위 테스트)에서는 거의 100% 작동합니다. 다만 가정을 벗어난 상황(빗길 등)에 들어서면 성능이 크게 떨어집니다.
반면 학습 기반(RL)은 100% 보장은 아니지만(99.9%는 되고 0.1%는 실패할 수 있음), 비·눈 같은 약간의 불확실성 속에서도 성능을 "어느 정도 유지(partial functionality)"한다는 장점이 있습니다. 그래서 복잡한 환경이나 복잡한 형태의 로봇에는 학습 기반이 더 유리합니다. 세 번째 전략은 이 둘을 합쳐, "어느 정도 불확실성이 있어도 신뢰할 만한 성능"을 노립니다.
불확실성 관점으로 해석하면: 불확실성이 거의 0인 이상적 상황은 모델 기반이, 어느 정도 예상된 불확실성은 혼합 기법이, 아예 예측 불가능한 불확실성은 모델+학습 결합이 잘 대응한다고 정리할 수 있습니다.
이 구조의 직관은 "지도교수 비유"로 설명되었습니다. 시뮬레이션 안에서는 속도·각도 같은 값을 전부 정확히 알 수 있습니다. 그래서 크리틱은 마치 모든 정답을 다 알고 있는 지도교수처럼 특권 정보를 받아 정확하게 평가합니다. 반면 현실의 액터는 로봇 속도처럼 측정이 까다로운 값을 잘 모릅니다.
따라서 학습할 때, 모든 걸 다 아는 크리틱이 "덜 아는" 액터를 지도(critique)해서 학습시킵니다. 그 결과 현실에서 속도를 정확히 몰라도 제어가 잘 되도록 만드는 것이 비대칭 액터-크리틱의 비법입니다. 액터의 관측에 노이즈를 일부러 섞는 이유도 같은 맥락으로, 현실의 센서 잡음에 미리 적응시키기 위함입니다.
중요한 점은, PPO 같은 강화학습 알고리즘 자체는 그대로 두고 "어떤 정보를 누구에게 주느냐"라는 구조 설계로 성능을 끌어올린다는 것입니다.
교수님은 "강화학습을 계속하다 보면 알고리즘 자체보다 보상 설계와 환경 구성이 제일 중요하다"고 강조하셨습니다. 이론은 이미 포화 상태에 가깝지만, 보상·환경은 본인이 직접 정리해 내야 하는 디자인의 영역이라는 것입니다. (대학원 수업에서 MPPI+RL을 다룰 때, 알고리즘은 건드리지 않고 바로 이 보상 부분을 조작하며 창의성을 발휘하게 된다고 안내하셨습니다.)
예시로, 로봇 개가 턱(계단)을 넘어 목표로 가게 하려면 보상을 어떻게 줄까? ⓐ 목표까지 거리가 줄어들수록(1m 가까워질 때마다) 보상을 더 줍니다 → 위치 추종 보상. ⓑ 넘어지면 안 되므로, 자세 각도가 심하게 기울어 전복되면 벌점(penalty)을 줍니다. ⓒ 목표에 도착하면 딱 멈춰야 하므로, 도착 지점에서 속도가 0에 가까워지도록 유도합니다(r_stall은 멀리 떨어져 있는데 멈춰 버리면 벌점). 즉 "높은 지점까지 가라 + 넘어지지 마라 + 가서 서라"가 보상의 큰 줄기입니다.
이 슬라이드 이후 강의에서는 보상 설계와 짝을 이루는 학습 기법들이 이어집니다. 커리큘럼 러닝(Curriculum Learning)은 쉬운 과제부터 단계적으로 난도를 올리는 방식으로(평지 걷기 → 낮은 턱 → 높은 턱; 백덤블링도 점프 → 반 바퀴 → 한 바퀴), 처음부터 어려운 과제를 주면 학습이 잘 안 되는 문제를 피합니다. 또 Sim-to-Real 전이를 위해 도메인 랜덤화(Domain Randomization)로 마찰계수(예: 0.9~1.1), 타이어 다이내믹스, 시간 지연 등을 무작위화해 학습하면, 시뮬레이션에서 익힌 정책이 실제 환경에서도 잘 적응합니다.
11강화학습 — 액터-크리틱·보상·학습 기법 (2)
백덤블링(back tumbling)이나 360도 한 바퀴 회전 같은 어려운 동작을, 처음부터 그 난이도(full quality)로 한 번에 학습시키면 로봇이 잘 배우지 못합니다. 사람이 쉬운 것부터 차근차근 배우듯이, 로봇도 쉬운 과제에서 시작해 점차 난이도를 올려가야 학습이 잘 됩니다.
그래서 적용하는 것이 커리큘럼 러닝(curriculum learning)입니다. 처음에는 모든 로봇을 가장 쉬운 지형·동작에 배치하고, 성공률이 올라가면 더 험한 지형이나 더 어려운 동작 단계로 승급시키는 방식으로 학습을 진행합니다.
커리큘럼 러닝은 "교육과정"이라는 뜻 그대로, 난이도를 단계적으로 높여 학습시키는 기법입니다. 어려운 목표를 처음부터 주면 보상(reward)을 거의 못 받아 학습 신호가 약하지만, 쉬운 단계에서 성공 경험을 쌓으면 정책(policy)이 안정적으로 자라 결국 어려운 과제까지 도달합니다.
Sim은 시뮬레이션, Real은 실제 세계입니다. 둘은 당연히 다릅니다. 대표적인 것이 마찰입니다. 시뮬레이션에서는 마찰계수가 깔끔하게 1.0인 공간이라도, 실제 지면은 미끄러워서 0.9일 수도 1.1일 수도 있습니다. 그래서 시뮬레이션에서 마찰을 하나의 값으로 고정하지 않고, 어떤 로봇은 0.9, 어떤 로봇은 1.0, 어떤 로봇은 1.1처럼 랜덤화해서 학습시킵니다. 이것이 도메인 랜덤화(domain randomization)이고, 이렇게 학습한 정책이 실제 세계에서도 잘 적응하도록 하는 것이 Sim-to-real transfer입니다.
휠(타이어) 로봇에서는 타이어 동역학(tire dynamics)과 시간 지연(time delay)을 랜덤화해서 많이 학습합니다. 흔히 쓰는 IsaacGym 같은 시뮬레이터에는 타이어 동역학이 구현되어 있지 않은데, 이 한계를 극복하기 위해 타이어 동역학을 랜덤하게 주입해 학습시키는 것입니다.
모델 기반(MPC)의 장점은 무엇일까요? MPC는 상태공간 모델(state-space model)에 따라 정확하게(딱딱) 움직이므로 신뢰성이 매우 높습니다. 예를 들어 긴급제동(AEB)을 아스팔트에서 테스트했다면 그 가정된 상황에서는 항상 100% 잘 작동합니다. 하지만 빗길처럼 우리가 가정하지 않은 상황으로 벗어나기 시작하면 마찰이 변해서 성능이 뚝 떨어집니다. 즉, 가정 안에서는 완벽하지만 밖으로 나가면 무너지는 것이 모델 기반의 특징입니다.
반면 학습 기반(RL)은 100번 중 99.9번 잘 되고 0.1번은 안 될 수도 있어서 100% 신뢰하긴 어렵습니다. 그러나 비가 오거나 눈이 오는 약간의 불확실성이 있어도 부분적 기능(partial functionality)을 유지하며 성능이 어느 정도 버텨줍니다. 그래서 일반 자동차보다는 복잡한 환경이나 복잡한 형태의 로봇에서 더 유용합니다.
마지막으로 MPPI(모델 기반 최적화)와 RL(강화학습)을 합치는 방법을 보겠습니다. 도대체 어떻게 두 가지를 합칠 수 있을지 궁금하실 텐데, 막상 보면 구조가 생각보다 복잡하지는 않습니다. 앞서 본 모델 기반의 정확성과 학습 기반의 강건성을 결합하려는 시도입니다.
둘을 합친 마지막 모델 + 러닝 방식은, 어느 정도의 불확실성이 존재하더라도 믿을 만한·신뢰할 수 있는 성능을 낼 수 있다는 관점으로 해석할 수 있습니다. 즉 학습 기반(Tesla FSD 같은 것)이 내린 결정을 그대로 쓰는 것이 아니라, 그 뒤에 세이프티 필터(safety filter)를 두어 안전성을 보장하는 구조입니다.
모델 기반만으로는 정확도(Accuracy)는 얻지만 가정 밖 상황에 약하고, 여기에 학습 기반을 더하면 불확실성(uncertainty)에도 효과적으로 대응할 수 있게 됩니다.
세이프티 필터는, 학습 기반 정책이 내놓은 행동이 안전 제약(예: 충돌 회피, 가속 한계)을 위반하지 않는지 모델 기반으로 검사·수정해 통과시키는 안전장치입니다. 학습의 유연함은 살리되 모델의 보장(guarantee)을 덧씌우는, 두 접근의 결합을 가장 직관적으로 보여주는 사례입니다.
이 내용을 불확실성(uncertainty) 관점에서 해석해 보겠습니다. 불확실성이 거의 없는 아주 이상적인 상황에서는 고전적인 모델 기반이 잘 작동합니다. 어느 정도 예상 가능한(예측된) 불확실성이 있는 상황에서는 학습 기반이 강점을 보이고, 마지막으로 우리가 전혀 고려하지 못한·예측할 수 없는 불확실성이 있는 상황에서는 모델과 학습을 합친 기법이 가장 잘 작동합니다.
예컨대 AEB처럼 모델링이 쉬운 문제는 모델 기반으로 100% 신뢰성 있게 처리하고, 복잡하고 예측이 어려운 환경은 학습을 결합해 다룬다는 식으로 정리할 수 있습니다. 결국 모델 기반의 신뢰성과 학습 기반의 불확실성 대응력을 모두 가져가는 것이 이 결합 접근의 핵심 장점입니다.
12MPC와 강화학습의 결합 — TD-MPC (1)
일반 MPC와 'MPC+RL'을 결합한 방식을 장단점으로 비교하는 슬라이드입니다. 모델링 관점에서 보면, latent dynamics(레이턴트 다이내믹스)를 쓰기 때문에 아주 복잡한 다이내믹스에도 적용이 가능하다는 게 큰 장점입니다. 또 MPC에는 Horizon(예측 구간)이라는 개념이 있는데, LQR이 무한 구간(infinite horizon)을 보듯이 긴 구간의 비용을 내다볼 수 있다는 장점도 있습니다.
적용 기준은 "모델링이 쉬운가/어려운가, 불확실성이 큰가/작은가"입니다. 예를 들어 차선 유지(lane keeping)나 충돌 방지·긴급 제동은 모델링이 쉬워서 그냥 기존 MPC로 충분합니다. 반면 진흙탕 오프로드 주행처럼 횡방향 거동이 불규칙해 모델링이 어려운 경우, 또는 end-track 주행, 자율 보행 로봇(quadruped walking)처럼 모델링이 까다로운 경우에는 TD-MPC가 효과적으로 작동합니다.
단점도 분명합니다. 바로 학습 시 계산 비용입니다. 강화학습은 한 번에 수천 개(예: 4,000개)의 에이전트를 동시에 굴리는데, MPC는 Horizon에 따라 매 스텝을 예측해야 합니다. Horizon이 40스텝이면 4,000 × 40만큼 계산해야 하죠. 순수 RL은 horizon이 사실상 1이라 그런 부담이 없지만, MPC를 합치면 horizon만큼 곱해지므로 GPU뿐 아니라 CPU 성능도 좋아야 하고, 학습이 느려질 수 있습니다.
강건 제어 vs 학습 결합의 차이: '강건 제어(robust control)'는 불확실성을 미리 모델에 포함시켜 최악의 경우에도 견디게 설계하는 방식입니다. 즉 "예상 가능한 불확실성"까지만 다룹니다. 반면 학습 기반은 설계자가 모델로 적지 못한 상황까지 데이터로 흡수하므로, 그림에서 가장 바깥쪽 'unmodeled uncertainty' 영역을 담당합니다.
비용함수(cost function)를 보면 파란색으로 칠한 부분이 핵심입니다. 첫 번째 Parametric MPC는 비용함수 안의 Q, R 같은 파라미터, 그리고 상태방정식의 A, B를 RL이 추정해 정확도를 높여줍니다. 이 값들은 원래 사람이 디자인해야 하는데 완벽하지 않으니, 강화학습이 더 잘 맞춰주는 거죠.
두 번째 TD-MPC는 종단비용(terminal cost) h(x_N) 부분을 RL이 가져갑니다. 즉 비용을 일일이 설계하는 대신 비용(가치) 자체를 강화학습이 예측합니다. 정리하면 — ① cost function의 '파라미터'를 RL이 잡아주는 방식(Parametric), ② '비용함수 자체'를 RL이 대략 계산해주는 방식(TD-MPC), 이 두 가지로 나뉩니다.
TD-MPC는 크게 세 가지 측면에서 일반 MPC와 다릅니다. 첫째, 원래는 상태공간 모델(state-space model)을 쓰는데, 모델링 자체를 네트워크로 대체한 latent dynamics를 사용합니다(슬라이드의 x_{k+1}: follows latent dynamics). 둘째, 비용함수를 계산할 때 value network를 사용합니다. 상태를 네트워크에 맞추는 것을 encoded state라고 하는데, 이걸 활용한다는 점이 큰 차이입니다.
왜 latent dynamics인가? 자동차에서 사이드슬립(side slip)이나 타이어 마찰(tire friction)은 측정이 까다롭고, 정밀 센서는 수천만 원에 달합니다. 게다가 진흙탕처럼 바퀴가 헛도는 상황에서는 휠 정보로 속도를 추정하기도 어렵죠. 이렇게 물리 모델로 적기 어려운 부분을 네트워크로 통째로 대체하는 것이 latent dynamics입니다. 강아지 같은 4족 로봇, 연체동물처럼 움직이는 다관절 시스템도 기존 상태공간 모델로는 표현이 어려운데, 학습으로 대체하면 다룰 수 있습니다.
또 다른 장점은 고장 적응(failure adaptation)입니다. 두 다리로 걷다가 한 다리를 다쳐 한쪽만 쓰게 되거나, 4륜 차량의 바퀴 하나가 펑크나 3륜으로 가야 하거나, 그리퍼(gripper)의 손가락 하나가 고장난 경우 — 상태공간 모델은 모델을 통째로 바꿔야 하지만, latent dynamics는 학습만 잘 시켜두면 유연하게 적응·제어할 수 있습니다.
여기서부터는 앞서 다룬 stochastic MPC 이야기입니다. 그림에 보풀처럼 뽀글뽀글 뻗어 나가는 표본들이 보이죠? 이건 제어 입력에 노이즈(noise)를 첨가해서 만든 여러 후보 궤적들입니다. 즉 한 점에서 출발해 무작위 성분을 더해가며 가능한 미래 상태들을 쫙 뿌려보는 단계입니다.
슬라이드의 B = G√Σ로 두는 단순화는, 노이즈가 제어 입력과 같은 채널(G)을 통해 들어온다고 보고 노이즈를 한데 묶는(noise aggregation) 처리입니다. 덕분에 입력 항과 노이즈 항을 (u_t dt + √Σ dw) 하나로 합쳐 깔끔하게 표현할 수 있습니다.
①에서 뿌려놓은 각각의 후보 궤적에 대해 비용을 계산하는 단계입니다. 슬라이드 식처럼, 매 시점의 러닝 비용 q(x̂_k)Δt를 구간에 걸쳐 합하고, 마지막에 종단 비용 E(x_N)을 더해 하나의 궤적이 "얼마나 좋은가/나쁜가"를 점수로 매깁니다.
즉 수백 개의 표본 궤적 각각에 비용 값이 하나씩 붙게 됩니다. 이 점수가 다음 단계에서 "어느 궤적을 더 신뢰할지" 가중치를 매기는 근거가 됩니다.
마지막은 뿌려놓은 표본들 중에서 좋은 것을 "팍" 찾아내는 단계입니다. 식을 보면 각 궤적의 비용 X̂에 exp(−(1/λ)X̂)을 씌워 가중치로 삼습니다. 비용이 낮은(좋은) 궤적일수록 지수 가중치가 커져 더 크게 반영되고, 이 가중 평균으로 최적 입력 u*_k를 만듭니다.
기댓값(E)을 직접 구할 수 없으니, 몬테카를로 시뮬레이션으로 표본 합(분자/분모)을 써서 근사합니다. 결과적으로 여러 후보를 흩뿌린 뒤 비용 가중치로 합쳐, 목표(×)를 향하는 하나의 궤적(빨간 선)을 뽑아내는 방식입니다.
이 흐름(노이즈로 표본 전파 → 비용 평가 → 지수 가중 평균)은 MPPI(Model Predictive Path Integral) 계열의 전형적인 구조입니다. λ는 온도(temperature) 파라미터로, 작을수록 비용이 가장 낮은 궤적에 더 집중하고 클수록 여러 궤적을 고르게 섞습니다.
(Q&A) "stochastic MPC와 policy-based RL의 stochastic policy는 무엇이 다른가?"라는 질문에 대한 핵심은 ②번 비용 계산 구조에 있습니다. TD-MPC는 Horizon 구간까지는 일반적인 MPC 형태를 따르고, 그 이후부터는 강화학습(value network) 형태를 따릅니다. 앞부분은 stochastic policy와 비슷해 보이지만, 뒷부분에서 latent dynamics와 가치 함수를 써서 종단 비용을 계산한다는 점이 가장 큰 차이입니다.
그래서 계산량도 다릅니다. 순수 RL은 가치를 한 번에 평가하면 되지만, TD-MPC는 horizon만큼 N번을 계산해야 합니다. 이 때문에 학습이 느려지는 것이고, 차이가 바로 이 지점에 존재합니다.
(Q&A 보행 생성) 보행 게이트(gait) 프레임 생성에 쓸 수 있냐는 질문에는 — 직접 게이트를 만드는 용도로는 비추천입니다. MPPI의 가장 큰 한계는 결국 "모델링이 가능한 범위"에 묶인다는 점(앞에 턱이 있거나 자세가 무너지는 등 모델 밖 상황에 약함)이고, 강화학습은 그 한계가 훨씬 높습니다.
실무적으로는 계층 구조가 효과적입니다 — 글로벌 플래너는 A*, 로컬 플래너는 MPPI, 더 낮은 제어 단계는 강화학습으로 나누는 4단계 구성. 다만 강화학습의 장점(불확실성 대응)은 "데이터가 충분히 많다"는 전제 위에서 성립하며, 정말 학습에서 본 적 없는 상황엔 약합니다. 이를 극복하려는 시도가 MoE(Mixture of Experts) — 계단 전문가, 두 발로 뛰는 전문가처럼 상황별 전문가(expert)를 모아 시뮬레이션보다 넓은 환경을 커버하는 방식입니다.
13MPC와 강화학습의 결합 — TD-MPC (2)
크게 장단점으로 비교할 수 있습니다. 먼저 모델링 관점에서 TD-MPC는 native dynamics가 아니라 학습된 레이턴트 다이나믹스를 쓰기 때문에 아주 복잡한 다이나믹스에도 적용할 수 있다는 게 장점입니다. 또 MPC에는 호라이즌(horizon)이라는 게 존재하는데, infinite-horizon LQR처럼 무한대의 호라이즌까지 가치를 볼 수 있다는 장점도 있습니다.
이 세 가지(레이턴트 다이나믹스 · 정책 네트워크 · 가치함수)를 조합함으로써, 우리가 직접 모델링하지 않은 부분에 대해서도 상당히 잘 동작하는 좋은 방법이 됩니다.
일반 MPC는 호라이즌 N 스텝까지만 비용을 더하고 끝납니다. 그래서 그 너머의 미래는 보지 못하죠. TD-MPC는 마지막 항에 가치함수 Q를 붙여서 "여기서부터 끝까지 받을 미래 보상의 추정치"를 한 번에 대체합니다. 덕분에 짧은 호라이즌만 풀어도 사실상 무한 호라이즌의 효과를 냅니다 — 이게 RL의 부트스트래핑(bootstrapping) 아이디어를 MPC에 이식한 핵심입니다.
모델링이 쉬우냐 어려우냐, 불확실성이 크냐 작냐에 따라서 기존 MPC를 쓸지 학습을 합친 MPC를 쓸지가 갈립니다. 예를 들어 자동차를 운전하다 핸들을 돌릴 때, 일반적인 포장도로의 차선 유지(lane keeping)는 사실 모델링이 쉽습니다. 충돌 방지나 긴급 제동도 브레이크만 밟으면 되니 쉽죠. 쉬우니까 그냥 기존 방식(베이스라인)을 씁니다.
그런데 진흙탕 오프로드에서 자율주행을 시킨다고 하면 모델이 어렵습니다. 진흙에서는 횡방향 거동이 매우 불규칙하거든요. 이런 경우에 TD-MPC가 빛을 발합니다. 요즘 잘 아시는 엔드투엔드(end-to-end) 자율주행, 또 자유도가 높은 휠-레그(wheel-legged) 로봇 워크처럼 모델링이 어려운 경우에도 TD-MPC가 효과적으로 작동합니다. 모델링이 어렵고 불확실성이 클 때 TD-MPC를 많이 시도해보면 좋습니다.
샘플링 단계의 가장 큰 차이가 이 부분입니다. 기존 MPC는 순수하게 랜덤 노이즈만 뿌려서 후보 궤적을 만들고 그 중에서 좋은 것을 고릅니다. TD-MPC는 여기에 정책 네트워크가 "대략 이쪽으로 가는 게 좋다"는 방향을 함께 제시해줍니다.
그림에서 회색 선들이 무작위로 퍼진 후보 궤적이고, 주황색이 정책의 가이던스를 받아 선택된 궤적입니다. 노이즈로 넓게 탐색은 하되, 정책이 중심을 잡아주니 더 효율적으로 좋은 행동을 찾아갑니다.
호라이즌 관점에서, 기존 MPC는 N 스텝까지만 보지만 TD-MPC는 가치함수 정의 덕에 사실상 무한 호라이즌을 봅니다. 세 항목을 종합하면 TD-MPC는 모델링하지 않은 불확실성에 효과적입니다.
다만 아주 큰 단점이 하나 있는데, 바로 학습할 때의 계산 비용입니다. 강화학습에서는 에이전트(병렬 환경)를 한 번에 수천 개씩 돌립니다. 그런데 MPC는 호라이즌에 걸쳐 예측을 풀어야 하죠. 예를 들어 40스텝을 예측한다면, 에이전트 4,000개가 한 스텝을 진행하려면 4000 × 40번을 계산해야 합니다.
보통 RL은 호라이즌이 1이라 4,000번이면 되는데, MPC는 호라이즌이 40이면 그 배수만큼 무거워집니다. 그래서 GPU 성능도 좋아야 하지만 오히려 CPU 성능이 더 중요해지고, 학습이 느려질 수 있습니다. 직접 학습을 돌려보면 체감될 겁니다.
Q&A에서 나온 핵심 두 가지를 정리합니다. ① "stochastic MPC vs RL의 stochastic policy, 뭐가 다른가?" — TD-MPC는 비용을 계산할 때 호라이즌까지는 MPC 형태로 풀고, 그 다음(끝단)부터는 가치함수(레이턴트 다이나믹스·가치)로 RL 형태를 따릅니다. 앞부분은 비슷해 보여도 뒷부분에 Q를 붙여 계산하는 것이 결정적 차이입니다. 그래서 원래 RL은 한 번만 계산하면 되는 걸 TD-MPC는 호라이즌만큼 N번 계산해야 해서 느립니다.
② "보행(walking) 게이트 생성에 써도 되나?" — 그대로 게이트 생성에 쓰는 건 비추천입니다. 기존 MPPI/PID 제어는 앞에 턱이 있거나 자세가 무너지는 등 모델링의 한계에 부딪힙니다. 대신 계층 구조로 쓰는 게 좋습니다: 글로벌 플래너는 A*, 로컬 플래너는 MPPI, 더 낮은 단계의 정밀 제어는 강화학습 — 이렇게 역할을 4단계로 나누면 효과적입니다. RL은 데이터가 충분하면 불확실성에 잘 대응하지만, 시뮬레이션에서 정리한 환경을 벗어나면 한계가 있습니다. 이를 극복하려는 게 처음에 언급한 MoE(Mixture of Experts)로, 계단 전문가·점프 전문가 등 여러 전문가를 합쳐 더 넓은 환경을 커버합니다.
정리하면, 모델링이 쉽고 불확실성이 작은 차선 유지·충돌 회피 같은 과제는 기존 stochastic MPC로 충분합니다. 반대로 진흙탕 오프로드, 엔드투엔드 주행, 휠-레그 로봇처럼 모델링이 어렵고 불확실성이 큰 과제일수록 TD-MPC가 효과적으로 작동합니다.
다만 강화학습의 한계도 분명합니다. 계단·턱·요철 같은 험지를 기존 모델 기반보다 잘 커버할 수는 있지만, 정말 학습해본 적 없는 불확실한 상황이 오면 대응이 어렵습니다. 그래서 시뮬레이션에서 정리한 환경보다 더 넓은 환경을 커버하기 위해 MoE처럼 여러 전문가(expert)를 묶는 방향으로 확장하는 것이 좋습니다. 이상으로 약속한 분량을 마치겠습니다.
용어표 · English ↔ 한글
스스로 점검
- 라스트마일 배송에서 드론·바퀴·다리 대비 휠레그드 로봇이 가지는 장점을 에너지 효율과 지형 적응 관점에서 설명할 수 있는가?
- 바퀴가 추가되었는데도 MPC 문제의 자유도가 늘지 않고 오히려 단순해지는 이유는 무엇인가?
- MPPI에서 회색 경로를 빨간색 최종 경로로 만드는 과정과, 모델에 노이즈(위너 프로세스)를 더하는 이유를 말할 수 있는가?
- 액터-크리틱 구조에서 크리틱이 시뮬레이션의 '모든 값'을 알고 액터를 지도한다는 직관은 무엇을 의미하는가?
- 커리큘럼 러닝과 도메인 랜덤화는 각각 어떤 문제를 해결하기 위한 기법인가?
- Parametric MPC와 TD-MPC는 RL을 어디에 결합하는지, 그리고 둘의 차이는 무엇인가?
- 모델링 난이도와 불확실성을 기준으로 기존 MPC와 MPC+RL(TD-MPC) 중 무엇을 쓸지 판단할 수 있는가? TD-MPC의 큰 단점(계산 비용)은 무엇인가?