[Control] Augmented Lagrangian Multiplier
·
Control
Augmented Lagrangian Multiplier는 제약 조건이 있는 최적화 문제를 푸는 대표적인 방법 중 하나입니다!ALM은 고전적인 라그랑지 승수법(Lagrange Multipliers)에 벌점 항(Penalty Term)을 추가하여, 비선형이거나 수렴이 어려운 문제에서도 안정적으로 해를 찾을 수 있도록 도와줍니다.특히 최적 제어, 강화학습, 딥러닝 등에서도 아주 널리 쓰이는 핵심 기법입니다. 1. ALM이란ALM은 아래와 같은 제약 조건이 있는 최적화 문제를 다룹니다.$$\min_{x\in \mathbb{R}^n} f(\mathbf{x}) \\ \text{subject to}\quad h_i(\mathbf{x})=0 \quad (i=1,\cdots,m)$$$f(\mathbb{x})$ : 최..
[Control] Model Predictive Control (MPC)와 차량 제어
·
Control
1. 서론자율주행 차량 및 첨단 운전자 보조 시스템(ADAS)의 발전과 함께, 정밀하고 안정적인 차량 제어 알고리즘이 필수적으로 요구되고 있습니다!이러한 맥락에서 Model Predictive Control (MPC)는 차량 동역학을 정확하게 반영하면서도 미래의 경로를 예측하여 최적의 제어 입력을 생성하는 강력한 기법으로 주목받고 있죠.이번 글에서는 MPC가 차량 제어에서 어떻게 활용되는지를 수학적 이론과 함께 공부해봅시다! 2. MPC의 기본 개념MPC는 시스템의 동적 모델을 기반으로 하여 미래의 상태(State)를 예측하고, 이를 바탕으로 최적의 제어 입력을 계산하는 제어 기법입니다. 이를 위해 MPC는 다음과 같은 단계를 따릅니다. (1) 시스템 모델 수립MPC는 차량의 동역학을 기술하는 모델을 ..
[Control] 제어시스템 성능평가지수 Performance Index
·
Control
Performance Index(성능지수)는 제어시스템이 원하는 목표를 얼마나 잘 달성하고 있는지를 평가하는데 사용되는 정량적 척도입니다.조금 더 쉽게 말하자면, 시스템의 실제 출력과 원하는 출력 간의 오차를 측정하여 제어시스템의 성능을 평가하는 것 입니다!다양한 방법으로 제어시스템의 성능을 평가할 수 있고, 원하는 성능과 어떤 방법을 사용하냐에 따라 따른 평가를 내리게 됩니다.따라서, 제어시스템을 평가할 때 빠른응답이 중요하다거나, 지속적인 안정성을 중요하다 등의 기준을 세워 평가기법을 선정해야 합니다. 1. ISE (Integral of Squared Error)ISE는 제곱오차의 적분으로 시스템의 출력과 원하는 출력 간의 오차를 제곱하여 시간에 걸쳐 누적한 값입니다.큰 오차에 더 가중치를 부여하..
[Control] PID제어
·
Control
PID는 Proptotional-Integral-Derivate의 약자로,순서대로 비례-적분-미분 제어입니다! PID제어기는 피드백, Feedback control을 따릅니다.피드백 컨트롤이 뭘까? 하시는 분들은 제가 아주 쉽게 기록해놨으니 전 글을 한번 보시면 좋을 것 같아요.다시 돌아와서,제어 시스템에 입력이 들어왔을 때 특정 프로세스를 거치면 출력이 되겠죠?이때 출력이 다시 입력에 영향을 미치고, 또 프로세스를 거쳐 출력을 내고,이러한 과정이 계속 반복되는 시스템을 Feedback 이라고 합니다.한국말로는 궤환이라고 하죠! 그럼 본격적으로 PID제어기를 보여드릴게요. 1. PID제어기그림을 살펴봅시다.출력(output)을 계속 들어오는 입력(set point)와 비교하여 오차(error)를 계산..
[Control] Open loop, Closed loop 그리고 Transfer Function
·
Control
제어 방식은, 제어 신호가 전달이 될 때 루프, 즉 피드백이 이루어지는가에 따라 개루프제어와 폐루프 제어로 나눌 수 있습니다.어떤 시스템을 다룰 때 입력과 출력의 관계를 표현하는 수학적 방법이 필요한데,이를 전달함수Transfer Function 라고 합니다! 1. Open-loop Control / Feedforward Control 첫번째로, 개루프제어의 블럭선도입니다!원하는 값, desired output을 받아들여 제어기 $C(s)$를 거쳐 시스템 $G(s)$에 적절한 입력값 $u$을 도출해요.시스템에서는 이렇게 받은 입력에 의해 출력 $y$가 생성됩니다. 아래는 Open-loop 시스템의 전달함수입니다.$$\frac{Y(s)}{R(s)}=C(s)G(s)$$ 조금 더 쉽게 예를 들어볼게요!자판기..