본문 바로가기

Autonomous Driving

[AD] ILQR(Iterative Linear Quadratic Regulator)란 무엇일까?

728x90

Author: Joonhee Lim
Date: 2022/08/23

출처: https://www.researchgate.net/publication/220271553_Iterative_Linear_Quadratic_Regulator_Design_for_Nonlinear_Biological_Movement_Systems


0. Motivation

이전에 MPC와 LQR에 대해서 간단하게 포스팅한 적이 있었는데 각 알고리즘의 차이와 장단점을 알아보았다. 그 중 LQR은 그 이름처럼 비선형 시스템에는 적용할 수 없다는 단점이 있었는데 이를 해결하기 위해 ILQR이라는 녀석이 있다고 하여 할 수 있으면 간단하게.. 없다면 자세하게 포스팅해보고자 한다.

1. ILQR?

ILQR은 선형 시스템을 푸는 최적제어 방식이 아닌 비선형 시스템을 푸는 제어이기에 다음과 같은 수식을 기반으로 시작된다.

Cost Function은 다음과 같이 작성할 수 있다. 이산 시간에서 만들어진 것이다.

$x_N$은 Final State이며 $x^*$은 목표이다.

이전 LQR과 같이 Q와 $Q_f$는 symmetric positive semi-definite이며 R은 Positive definite이다.

Q는 오차에 가하는 가중치이고 R은 입력의 크기에 가하는 가중치라는 것은 이전 글을 본 모두가 알고 있을 것이다.

 

해당 알고리즘은 Iterative하며 이 반복을 통해 System Dynamics를 선형화하고 수정된 LQR 문제를 해결함으로써 개선된 입력 u를 생성한다.

 

먼저 $u_k$와 $x_k$의 편차를 통해 선형화를 진행하면

다음과 같은 수식을 얻을 수 있고

다음과 같은 수식을 이용한다.

 

$D_x$와 $D_u$는 각각 x와 u에 대한 Jacobian이며 자코비안은 다음과 같다.(Cost Function의 J는 아닌데 헷갈리게 될수도.. 아무튼 아님)

선형화된 모델을 이용하여 Cost Function을 구축하면

다음과 같이 나타난다. 이를 통해 Hamiltonian 함수를 나타내면

$\delta$가 포함된 수식은 Lagrange multiplier이고 라그랑주 승수법이란 제약 조건이 있는 최적화 문제를 풀기 위해 고안한 방법이라고 한다. 제약이 있는 최적화 문제에서 라그랑주 승수항을 더하여 제약된 문제를 제약이 없는 문제로 변경하는 방식이다.

 

-> 정리하자면 Cost Function을 최적화하기 위해 극소를 만드는 입력 u를 찾아야 되는데 제약 조건이 달려있으므로 제약이 없는 문제로 변경해주기 위해 추가하는 것 같다.

 

그리고 얻고자하는 δ$u_k$에 대한 해밀턴 함수의 미분값을 0으로 설정하여 얻을 수 있는 Stationary 조건은 다음과 같고

Boundary 조건은 다음과 같다.

δ$u_k$은 다음과 같이 구할 수 있다.

구한 δ$u_k$를 선형화 모델식과 결합시켜주면

다음과 같이 멋진 식을 도출해낼 수 있다.

 

해밀턴 시스템은 $x_k$와 $u_k$과 관련된 Forcing term에 의해 제어되고 이 Forcing term 때문에 Linear State Feedback 형태로 최적의 제어 법칙을 표현할 수 없다. 그러나, 우리는 δ$u_k$를 Linear State 피드백과 추가 항의 조합으로 표현할 수 있다.

 

Boundary 조건에 기반하여 다음과 같은 수식을 가정한다.

그 뒤에 위의 가정을 상태 방정식과 비용 방정식으로 대체하고, Matrix inversion lemma를 적용하면 최적의 제어기를 얻을 수 있게 된다.

최종적으로 우리는

δ$u_k$을 얻을 수 있게 된다. 

 

δuk은 세 개의 항으로 구성되어 있다.

 

1) δ$x_k$에서 Riccati Equation의 Solution에 의존하는 선형 항

2) Auxiliary 차분 방정식에서 파생되는 $v_k$에 의존하는 두 번째 항

3) $u_k$에서 Riccati 방정식의 해법에 의존하는 세 번째 항

 

최종적으로는 다음과 같은 수식을 통해 수정된 LQR을 푼다.


솔직히 적어놓고도 잘 이해가 가진 않지만 정리해보겠다.

 

1. 비선형 시스템을 풀 수 있는 LQR이다.

2. 비선형 시스템을 풀기 위해 선형화를 적용하여 δ$u_k$를 구하는데 목적을 두었다.

3. 라그랑주 승소수를 사용하여 제약조건에서의 극소값을 구해냈다.

4. δ$u_k$를 Linear State 피드백과 추가 항의 조합으로 표현하여 풀이해냈다.

 

5. 너무 복잡해져 정신을 잃을 뻔 했다. 

 

잘 모르는데 정리한 것 자체가 웃기진 하지만 내가 이해해보겠다는 심정으로 정리하였으니 어쩔 수 없다.

다음 학기에 수강하는 최적제어를 듣고 나면 득도할지도 모르니 그 때 가서 수정하겠다.

반응형