AEGLOSLAB 제어공학 종합 핸드북

제6부 심화 주제

6.4 적응 제어 입문

제6부 심화 주제 · 마무리. 강인 제어(6.3)가 고정 제어기로 최악을 대비한다면, 적응 제어는 플랜트가 변할 때 제어기 파라미터를 실시간으로 학습·조정한다. 기준 모델을 따라가게 적응하는 MRAC, 추정 후 재설계하는 자기조정기(STR)를 진입점 위주로. (BK-03대로 개념 중심.)

이 장을 마치면 MRAC·STR의 구조를 설명하고, 적응의 핵심 난제(안정성·충분 여기·미모델링)를 인지하며, 강인 vs 적응의 태도 차이를 구분할 수 있어야 한다.

6.4.1 왜 적응 — 변하면 맞춰 간다

플랜트가 크게·천천히 변하는 경우가 있다: 항공기는 연료를 태우며 질량이 줄고, 로봇은 페이로드가 바뀌며 관성이 변하고, 부품은 마모·노화한다. 고정 제어기로는:

  • 강인 제어(6.3): 변동 범위 전체에 통하게 보수적으로 설계 → 안전하나 응답이 느리다.
  • 적응 제어: 플랜트가 변하면 제어기를 따라 바꾼다 → 매 순간 그 플랜트에 맞는 성능. 덜 보수적이지만 더 어렵다(안정성).

한 줄 대비: 강인 = "어떻게 변해도 견디도록 미리 설계", 적응 = "변화를 감지하고 적응한다". 둘은 불확실성에 대한 다른 태도다(6.4.6).

6.4.2 두 갈래 — MRAC와 자기조정(STR)

  • MRAC(Model Reference Adaptive Control): 원하는 폐루프 거동을 기준 모델로 정해 두고, 플랜트 출력이 기준 모델 출력을 따라가도록 제어기 파라미터를 적응시킨다(6.4.3).
  • STR(Self-Tuning Regulator, 자기조정기): 플랜트 파라미터를 온라인 추정(RLS, 1.4)하고, 그 추정값으로 제어기를 재설계(극배치 등)한다(6.4.4).

둘 다 "파라미터를 실시간으로 바꾼다"는 점은 같고, 직접 제어기를 적응(MRAC)하느냐 플랜트를 추정해 간접 재설계(STR)하느냐가 다르다.

6.4.3 MRAC — 기준 모델을 따라가게

u 적응 법칙 r 기준 모델 M(s) y_m (원하는 거동) 제어기 C(θ) θ 실시간 조정 플랜트 y e = y − y_m (추종 오차)

추종 오차 e=y−y_m을 줄이도록 제어기 파라미터 $\theta$를 갱신한다. 적응 법칙이 둘:

  • MIT 규칙(경사하강): $\dot{\theta} = -\gamma\cdot e\cdot(\partial e/\partial\theta)$ — 오차 제곱 $\tfrac{1}{2}e^2$를 $\theta$로 경사하강. 직관적이나 ⚠️ 안정성 보장이 없다(이득 $\gamma$가 크거나 신호에 따라 발산 가능).
  • 리아푸노프 기반: 적응 법칙을 처음부터 $\dot{V}\le0$이 되게 설계한다(6.2의 리아푸노프). $V=\tfrac{1}{2}(e^2 + \tilde{\theta}^2/\gamma)$(추종 오차 + 파라미터 오차) 같은 함수로 안정한 적응을 증명과 함께 얻는다. 실전 MRAC의 표준 해법.

6.4.4 자기조정기 (STR) — 추정 후 제어

추정 θ̂ u u, y 파라미터 추정 (RLS, 1.4) 제어기 재설계 (극배치 등) C 플랜트 y
  1. 추정: 입출력 데이터로 플랜트 파라미터 $\hat{\theta}$를 재귀적으로 추정(RLS, 1.4.6).
  2. 재설계: $\hat{\theta}$를 참값처럼 여겨(확실성 등가, certainty equivalence) 극배치·최소분산 등으로 제어기를 다시 계산.
  3. 매 스텝 반복 — 플랜트가 변하면 추정이 따라가고 제어기도 갱신.

확실성 등가의 함정: 추정이 틀린 동안에도 그것을 참으로 간주하고 제어한다 → 추정 수렴 전 과도기에 위험할 수 있다(6.4.5).

6.4.5 핵심 난제 — 안정성·충분 여기·미모델링

적응 제어가 어려운 이유. 파라미터를 바꾸는 순간 시스템이 비선형·시변이 되어 표준 선형 도구가 안 통한다.

  • 적응 안정성: 적응 루프 자체가 불안정해질 수 있다. 리아푸노프·수동성으로 증명된 적응 법칙을 써야 한다(6.4.3).
  • 충분 여기(persistent excitation, 1.4.7): 파라미터가 참값으로 수렴하려면 입력이 충분히 풍부해야 한다. 안 그러면 추종은 되는데 파라미터가 잘못된 값으로 표류(drift)한다 → 잠재 위험.
  • 미모델링 동특성의 위험(Rohrs 반례, 1985): 모델에 없는 고주파 동특성 + 적응이 만나면 불안정해질 수 있음이 유명한 반례로 밝혀졌다. 이후 강인 적응(σ-수정·e-수정·데드존·투영 projection)으로 적응을 한정해 표류·폭주를 막는다.

즉 "단순히 적응시키면" 위험하다. 안정한 적응 법칙 + 충분 여기 + 강인화 수정이 함께 있어야 실전에서 안전하다.

6.4.6 적응 vs 강인 — 두 태도, 그리고 절충

강인 제어(6.3)적응 제어(6.4)
제어기고정실시간 변경
불확실성 태도최악을 미리 대비변화를 감지하고 적응
보수성높음(여유 위해 성능 희생)낮음(그 순간 최적 지향)
난이도·위험설계 복잡하나 보장 명확안정성 미묘·여기 필요·표류 위험
적합빠른·작은 불확실성크고 느린 파라미터 변동
  • 절충: 둘을 합친 강인 적응(robust adaptive)이 실전 대표 기법 — 적응의 유연성 + 강인화로 안전.
  • 게인 스케줄링(6.2.6)은 가장 단순한 적응류 — 동작점별 고정 제어기를 보간/전환. 엄밀히 적응은 아니나 변화 대응이라는 취지는 같다.
  • 현대: L1 적응 제어(빠른 적응 + 강인성 분리), 적응 + 학습(강화학습 등, 이 책 범위 밖).

6.4.7 개념 코드 — MRAC MIT 규칙 (한 스텝)

# mrac.py — 1차 플랜트 MRAC (MIT 규칙, 개념용)
# 기준 모델 ym, 플랜트 y, 제어기 u = theta * r 라 하자 (가장 단순)
gamma, dt = 1.0, 0.01
theta = 0.0
def mrac_step(r, y, ym, dydtheta):     # dydtheta ≈ ∂e/∂θ 의 민감도(근사)
    global theta
    e = y - ym                          # 추종 오차
    theta += -gamma * e * dydtheta * dt # MIT 규칙: 오차 줄이는 방향 경사하강
    u = theta * r                       # 적응된 제어기
    return u, theta

⚠️ MIT 규칙은 직관용이다 — gamma가 크거나 신호가 빈약하면 발산할 수 있다(6.4.5). 실전은 리아푸노프 기반 적응 + 강인화 수정을 쓴다. (개념 예시 — 여러분 환경·플랜트에서 안정성 검증 필요.)

6.4.8 정직 — 미묘하고, 때로 위험하다

  • 안정성이 미묘하다: 파라미터 적응이 시스템을 비선형·시변으로 만들어, 잘못 설계하면 발산한다(Rohrs). 증명된 적응 법칙 + 강인화가 필수.
  • 충분 여기가 필요: 신호가 빈약하면 파라미터가 표류한다. 그런데 제어가 잘 될수록 신호 변동이 작아져 여기가 줄어드는 역설이 있다.
  • 미모델링이 치명적: 고주파 미모델링 + 적응 = 위험. 데드존·투영 등으로 한정해야.
  • 이 장은 진입점: 적응 제어는 안정성 증명이 정교한 깊은 분야다. 실무 적용은 신중히, 항상 강인화와 함께, 충분한 시뮬레이션·검증 후에.

6.4.9 정리 — 제6부 마무리

  • 적응 제어는 플랜트가 크고 느리게 변할 때 제어기 파라미터를 실시간 조정한다. MRAC(기준 모델 추종 적응)·STR(추정 후 재설계)가 두 갈래(6.4.2~6.4.4).
  • 적응 법칙은 직관적 MIT 규칙(불안정 위험)보다 리아푸노프 기반(안정 증명)을 쓴다(6.4.3). 핵심 난제는 안정성·충분 여기·미모델링(Rohrs)이며 강인 적응 수정으로 다룬다(6.4.5).
  • 강인 = 고정·최악 대비, 적응 = 변화 추종 — 절충(강인 적응)·게인 스케줄링이 실전 답(6.4.6).

이로써 제6부(심화 주제)를 마친다. MPC(6.1)·비선형(6.2)·강인(6.3)·적응(6.4)으로, 표준 기법의 한계를 넘는 도구들을 진입점 위주로 개관했다. 다음 제7부(7.1~)는 드디어 실전 — 지금까지의 이론을 ROS2 Humble로 실제 로봇에 탑재해 반복 구현·비교한다. 제어 아키텍처(7.1)부터 시작한다.

6.4.10 연습·생각해 볼 것

  1. 적응 vs 강인. 페이로드가 자주 바뀌는 로봇팔에 강인 제어와 적응 제어를 각각 적용하면 거동이 어떻게 다른가? 어느 쪽이 덜 보수적이고, 어느 쪽이 안정성 위험이 큰가? (6.4.1·6.4.6)
  2. MRAC 구조. MRAC에서 기준 모델 $M(s)$의 역할은? 추종 오차 e=y−y_m이 0으로 가면 무엇을 달성한 것인가? (6.4.3)
  3. MIT vs 리아푸노프. MIT 규칙의 매력과 위험을 각각 한 줄로. 왜 실전에서는 리아푸노프 기반 적응을 선호하나? (6.4.3)
  4. 확실성 등가. STR이 추정값을 참으로 여겨 제어기를 설계한다. 추정이 아직 틀린 과도기에 이것이 왜 위험할 수 있나? (6.4.4)
  5. 충분 여기 역설. 적응이 파라미터를 잘 수렴시키려면 풍부한 신호가 필요한데, 제어가 잘 될수록 신호 변동이 작아진다. 이 역설을 설명하고, 신호가 빈약할 때 파라미터에 무슨 일이 생기나? (6.4.5)
  6. Rohrs 교훈. 미모델링 고주파 동특성 + 적응이 왜 위험한가? 이를 막는 강인화 수정(예: 투영·데드존)은 무엇을 하나? (6.4.5)
  7. (생각거리) 게인 스케줄링(6.2.6)을 "가장 단순한 적응"이라 부를 수 있는 이유는? 실제 적응 제어와 무엇이 다른가? 항공기에 어느 쪽이 흔히 쓰이나? (6.4.6)

막히면 "강인=고정·최악 대비, 적응=변화 추종(MRAC 모델추종·STR 추정후재설계), 적응은 안정성·여기·미모델링이 난제, 늘 강인화와 함께"로 돌아가라.