본문 바로가기

논문 리뷰

[PINN] Physics-informed Neural Networks-based Model Predictive Control for Multi-link Manipulators 논문 리뷰

728x90
반응형

 

 

해당 논문 링크 : https://www.sciencedirect.com/science/article/pii/S2405896322013118 

 

해당 논문 코드 : https://github.com/Jonas-Nicodemus/PINNs-based-MPC

 

 

0. Abstract 

 

물리학 기반 머신러닝 방법을 통해 다물체 동역학에 대한 비선형 모델 예측 제어(MPC) 설명한다. 즉, 복잡한 기계 시스템인 multi-link manipulator의 tracking 문제를 해결하기 위해 PINNs 기반 MPC를 사용한다.

PINNs는 (부분) 미분 방정식의 근사치를 구하는데 유용하지만, 가변 제어 동작이나 가변 초기값을 처리하도록 설계되지 않았기 때문에 원래 형태의 제어 작업에는 적합하지 않다. 따라서 우리는 [1] 제어 동작과 초기 조건을 네트워크 입력으로 추가하여 PINNs을 향상시켰고, 그 후 [2] asampling 전략과 zero-hold 가정을 통해 고차원 입력 공간을 줄였다.

해당 전략을 사용하면, 기본 시스템 동역학의 근사치인 PINN을 기반으로 컨트롤러를 설계할 수 있다. 또 다른 이점으로는 자동 미분을 통해 감도를 쉽게 계산할 수 있어 기본 최적 제어 문제에 대한 효율적인 기울기 기반 알고리즘이 가능하다는 것이다. 

-> PIINNs란? 물리 법칙을 설명하는 미분, 편미분 방정식을 머신 러닝으로 구현하는 인공지능 기법이다. 

-> zero-hold란? 어떤 디지털 신호 값이 주어진 뒤 다음 신호가 들어올 때까지의 샘플링 주기 동안, 그 값을 아날로그 신호 값으로 전환하는 것이다. 즉 디지털 신호를 아날로그 신호로 변환시키는 장치 중 하나다. 즉 이산 시간 신호를 받아들여 연속 시간 신호를 내보내는 것으로, 샘플링과 반대되는 상황이다. 

 

 

1. Introduction

 

모델 예측 제어(MPC)는 제약 조건을 부과하고, 복잡한 시스템을 최적으로 운영하는 유연하면서도 직관적인 제어 체계다. MPC의 주요 과제는 최적 제어 문제를 반복적으로 해결해야 한다는 것이다. 오늘날의 컴퓨팅 성능에도 불구하고, 실시간으로 사용 가능한 효율적인 모델 표현은 병목 현상이 된다. 이 문제는 특히 작동 속도가 생산성 향상과 관련이 있는 로봇 조작기 같은 fast dynamic과 관련이 있다. 

우리는 multi-link manipulator의 tracking 문제를 연구한다. 이 시나리오에서는 (계산 속도를 높이는 데 사용되는) 비선형 동역학에 대한 표준 선형화 전략은 구현될 수 없다. 대신 비선형 동역학에 대한 반복적인 수치 평가가 필요하다. standard time integration 방식은 최적 제어 문제를 해결하는 과정에서 제한될 수 있기 때문에, 우리는 이를 ML(machine learning)으로 대체할 것이다. 기존 ML은 더 광범위한 학습 데이터셋을 요구하므로 우리는 물리학에 기반한 접근 방식을 제안한다. training process에서 기본 물리 법칙을 활용할 것이다. 보다 정확하게는 물리 정보 신경망(PINN)을 사용하여 비선형 동역학의 해를 근사화한다. 

-> 다른 접근법으로는 신경 편미분 방정식을 기반으로 하는 심층 라그랑지안 네트워크 또는 해밀턴 신경망 등이 있다. 이들은 명시적 미분 방정식을 사용하는 대신 라그랑지안 또는 해밀턴 역학을 모델 학습에 통합하므로 데이터에 의존한다.  

[1] 섹션 3.3에서 비선형 동역학을 비선형 모델 예측 제어(NMPC)의 맥락에서 PINN 근사법으로 대체하는 방법을 자세히 설명할 것이다. 제어기에 대한 PINN의 부분 미분을 효율적으로 계산할 수 있기 때문에 인접 계산(adjoint computations, gradient-based methods)이나 가속 전략(for nonlinear programming methods) 없이 경사 기반 방법으로 최적 제어 문제를 해결할 수 있다. 

[2] 섹션 4에서는 이 전략을 PowerCube 직렬 로봇에 적용하고, 이를 통해 비선형 동역학의 numerical time-integration을 PINN으로 대체하면 게산 시간을 단축하는 동시에, NMPC 프레임워크 내에서 충분한 정확도를 유지한다는 것을 입증한다. 

MPC에서 ML 기술을 사용하는 것은 새로운 것이 아니다. 제어기 자체가 NN(신경망)으로 대체된 연구도 있고, 가변 제어 입력 처리 전략은 다르지만 비선형 동역학을 PINN으로 대체한 연구들도 꽤 있다. 우리는 그들의 예시보다 더 빠른 동역학을 특징으로 하는 PINN-based MPC를 테스트할 것이다. 

 

 

 

2. Problem Formulation

 

시간 간격 T ⊆ R에서, 아래와 같은 형태의 제어 시스템을 연구한다. 각각 시작 시간(t0 ∈ T) 및 상태(x: T → X ⊆ Rn), 초기값(x0 ∈ Rn), 제어(u: T → U ⊆ Rm)다. 우리는 f가 상태에 대해 연속이며, locally Lipschitz 연속이라고 가정한다. 이로써 (1) 공식은 고유해를 가진다. 

-> Lipschitz-continuous란?  두 점 사이의 거리를 일정 비 이상으로 증가시키지 않는 함수이다. 모든 x1, x2 ∈ ℝ 에 대해서 |f(x1) -f(x2)| ≤ K |x1 - x2| 를 만족하는 실수값 K≥0이 존재할 때, 실수형 함수 f : ℝ → ℝ 가 K-Lipschitz continuous를 만족한다고 한다. gradient descent 같은 최적화 방법론에서 비용함수가 립시츠 연속성을 보인다면, gradient exploding 문제를 미연에 방지할 수 있다. 

 

제어 시스템 공식.

 

이에 대응하는 solution operator는 아래와 같다. 제어, 초기값을 시간 t ≥ t0에서의 해결책에 대응시킨다. 

 

(1) 에 대한 solution operator.

 

제어 시스템(1a)를 아래처럼 미해결된 미분대수방정식(DAE)로 보자. 

 

 

실제 응용 사례로, 우리는 Schunk PowerCubes 모듈로 구성된 다중 링크 조작기(Multi-link manipulators)를 연구할 것이다. 다중 링크 조작기는 제조 산업의 자동화 과정에서 중요한 역할을 하며, 제어 이론 분야에서 강하게 연구되는 주제다. 이전 연구 덕분에 조작기의 동역학 모델이 이미 식별되었으며, 비교를 위한 시뮬레이션 데이터가 사용 가능하다. 

 

PowerCube serial robot의 도면

 

결과적으로 운동 방정식은 아래와 같이 표현될 수 있다. 

 

 

 

3. Methods

 

 

제어기를 실제로 구현하려면 continous-time control system의 시간적 이산화 과정이 필요하다. 우리는 시간 격자를 도입한다. 또한 단순화를 위해 tk = = kτ + t0, 샘플링 주기가 τ > 0인 equidistant time grid를 선택한다. 따라서 우리는  k = 0, 1,...,N - 1에 대해 시프트된 입력 uk := u(- + kτ )를 도입한 아래의 식을 얻는다. 

 

 

만약 제어 입력에 대한 추가 제로 홀드를 가정한다면, 즉 d/dtuk|(0,τ) ≡ 0 라 가정한다면, (4)는 이산 시간 제어 시스템과 유사하다. 표기법을 남용하여 제어 입력을 나타내기 위해 uk를 사용하여 제어 함수와 제어 함수의 (0, τ ) 구간에서 상수 값을 나타낸다. 

 

(1) NMPC(Nonlinear Model predictive Control)

이산 시간 순간 tk에서 상태가 측정되는 (4)와 같은 제어 시스템이 있다고 가정하면, 추적 문제는 주어진 기준 xkref를 최대한 잘 따르도록 적절한 제어 입력 uk를 찾는 것이다. NMPC로 해당 문제를 해결할 수 있다. 이를 위해 비용 함수 ℓ : X ×X × U → R≥0 을 도입하자. 2차식의 경우, 아래 식처럼 나타낼 수 있다. 

 

비용 함수 : 2차식

 

그림의 시각화된 NMPC 방식에 따라 각 time instant k = ρ에서 현재 time instant ρ에 대해 수평선 너비 H를 갖는 이동 수평선에 대한 이산 시간 최적 제어 문제를 아래 식들로 주어진다. 

 

Fig. Basic MPC scheme for the horizon width H = 4.

 

 

k = ρ, . . . , ρ+H-1에 대한 현재 시점 ρ에 대한 최적 제어 입력 수열은 (6) 식을 풀면 구할 수 있다. 최적 제어 문제는 [1] Hamiltonian-Jacobi-Bellmann 방정식을 통해 직접적으로, [2] 기울기 기반 방법 혹은 인접한 방법을 통해 기울기를 계산하거나, [3] 순차적 이차 프로그래밍 또는 interior-point 방식과 같은 방식을 사용하여 비선형 프로그래밍 문제로 수치적으로 풀 수 있다. 

많은 응용 프로그램에서 φ를 사용할 수 없으며, 수치 근사치 φ^가 사용된다. 이는 수치적 시간 적분을 통해 얻는다. tracking 문제의 경우, 미리 알려진 추적 궤적을 사용하여 오프라인 단게에서 비선형 시스템을 선형화하여 온라인 단계에서의 계산 속도를 높일 수 있다. 이 전략은 최적 제어를 위해 사용된다. 기준 궤적을 미리 알고 있어야 하며, 선형화는 추가적인 오류의 원인이 될 수 있다는 한계점으로 인해 이 전략을 사용할 순 없다. 

 

(2) PINN(Physics-Informed Neural Networks)

 

PINN architecture.

 

만약 (1)의 다양한 솔루션 궤적을 사용할 수 있는 경우, DNN을 사용하여 지도 학습을 통해 (2)의 solution map을 근사화할 수 있다. 사용 가능한 궤적 기반의 loss-function은 [DNN의 φ^가 φ에 근사하도록, 즉 가중치 ω ∈ Rp에 대해] 최소화된다. 

-> DNN이란? hidden layer를 2개 이상 지닌 학습 방법을 의미한다. DNN을 응용한 알고리즘이 CNN, RNN, LSTM 등이다. 

 

 

이를 달성하기 위해 기존 데이터를 사용하고, MSE(평균 제곱 오차) 손실 함수를 최소화하자. 

 

기존 데이터.

 

MSE(평균 제곱 오차) 손실 함수.

 

손실 함수에 미분 방정식을 추가하여 네트워크를 더욱 견고하게 하고, 데이터가 부족한 환경에서도 좋은 근사치를 얻게 하는 것이 PINN이다. 실제 PINN은 [1] 근사화된 φ^와, [2] 자동 미분을 통해 계산되는 ∂/∂t φ^ 를 (3)에 삽입하여 F^를 산출한다. 

 

F^.

이 접근법을 사용하려면 하이퍼볼릭 탄젠트.. 처럼 DNN에서 충분히 부드러운 활성화 함수가 필요하다는 것을 유의하자. 미분 방정식에 해당하는 손실 함수는 아래처럼 주어진다.

residual(잔차)은 배열점 (ti, x0, i,ui)의 유한 집합에서 평가된다. 제어 시스템 (1) 공식을 풀지 않고도 배열 점을 임의로 선택 가능하다. 

 

미분 방정식에 해당하는 손실 함수.

 

데이터, 미분 방정식이 모두 충분히 잘 근사화되도록 하기 위해 결합된 손실 함수의 DNN을 최소화한다. 

 

 

실제에선 손실 함수의 2개의 구성 요소에 가중치를 도입하는 것이 중요하다. (이미 인코딩되어 있다 가정.)

 

(3) PINN-based NMPC

원칙적으로는 이전 섹션에서 제시한 대로 PINN 접근 방식을 구현할 수 있으나 2가지 제약이 존재한다. [1] 정확한 근사치를 얻으려면 무한 차원 input 공간 L∞(T, U)를 샘플링해야 한다. [2] PINN 근사치는 smooth하지만, (1) 식의 해는 일반적으로 미분 가능하지 않다. 비록 보편적 근사법 정리는 연속 함수에 대해 임의로 정확한 근사치를 보장하지만, 많은 수의 뉴런이 필요하다는 단점이 있다. 

NMPC 프레임워크 내에서 해당 문제를 해결하기 위해 f가 충분히 smooth하고, zero-hold 가정이 적용되면, x|(kτ,(k+1)τ)도 smooth해진다. 또한 (kτ,  (k+1)τ) 구간 내에서 zero-hold 가정은 무한 차원 입력 공간을 유한 차원 집합 U ⊆ Rm으로 축소한다. 주어진 초기 값 xk와 제어에 대한 값 uk를 바탕으로 xk + 1을 예측할 수 있는 PINN의 훈련 과정에서, zero-hold 가정을 사용하면, 샘플링 공간을 줄일 수 있으므로 학습 작업을 실현할 수 있다. 

여기엔 두 가지 주의할 점이 있다. [1] 초기값 역시 샘플링 공간에 포함되므로, 고정된 초기값으로 네트워크를 훈련하는 원래의 PINN 접근 방식과 조금 다르다. 이건 MPC 프레임워크에 내재된 특징이다. [2] PINN은 [0, τ] 구간에서의 예측에만 국한되지 않는다. t>τ 에 대한 예측을 계산하려면 간단히 t = τ 시점의 PINN 근사치 φ(τ, x0, u0)를 새로운 시간 간격 [τ, 2τ ]의 초기 값으로 설정, 이 프로세스를 반복한다. 자체 루프 예측의 방식이다. 

 

 

 

 

4. Results

 

섹션 3에서 소개한 방법론을, 섹션 2에서 소개한 로봇 모델을 사용하여 테스트하자. 우리는 PINN이 solving the dynamics보다 빠르다는 것을 보여줄 것이다. 우리는 MPC 프레임워크를 사용하지 않으며, 그 모든 것은 텐서플로 2로 구성될 것이다. 

 

(1) Network topology and training

모든 관련 하이퍼파라미터를 포함한 network topology에 대한 설명이다.

네트워크는 4개의 레이어로 구성된다. 각 hidden layer는 하이퍼볼릭 탄젠트에 의해 활성화되며 64개의 뉴런을 포함한다. 데이터 기반 손실 함수 Ldata에서, Ndata은 (가능한 초기값의 하위 집합만 포함하는) 100개의 데이터 포인트이므로, 비선형 시스템 (1) 공식의 단일 해가 필요하지 않다. 

또한 나중에 평가할 것보다 약간 더 큰 샘플링 기간 동안 네트워크를 훈련하는 것이 합리적이다. 

 

 

physics-informed loss function Lphys의 경우, [0, τ] ×X ×U ⊆ R7, Mphys = 20000 collocation points 등을 샘플링한다. 모든 하이퍼파라미터는 grid search의 결과로 선택된다. 작은 상태 차원(n = 4)에도 불구하고, 우리는 7-dimensional space를 샘플링해야 한다. 이는 근사치 관점에서 보면 어려운 문제다. 

네트워크 훈련, 즉 손실 함수의 최소화는 L-BFGS를 통해 수행되며, 800000번의 반복을 거친다. 학습 속도를 높이기 위해 처음 400,000회의 에포크 이후에는 데이터와 collocation point를 새로 생성된 것들로 교체한다. 

-> L-BFGS란? quasi-Newton, full-batch gradient-based optimization alhorithm이다. 

 

(2) PINN in self-loop prediction

PINN 근사치가 충분히 정확한지 확인하기 위해 입력 시퀀스에 대한 예측을 제시한다. 아래 그림에 제시된 테스트 입력 시퀀스를 사용하여 자체 루프 모드에서 PINN을 실행한다. 샘플링 주기는 τ = 0.2초로 설정되어 있으므로 이 실험에서는 20회의 루프 반복이 이뤄진다. 

 

Fig. Testing input sequence u for the open-loop application.

 

open lopp의 예측은 아래 그림과 같다. PINN 예측과, nominal dynamics 사이의 불일치가 2초 이하에서는 상대적으로 작다는 것을 알 수 있다. t ≥ 2 초의 경우, 자체 루프 모드(self-loop)로 인한 근사치 오차의 누적이 눈에 띄며 시간이 지남에 따라 더욱 증가한다. 

MPC 맥락에서 최적 제어 문제의 해는 더 큰 시간 범위에서 이러한 오차 축적이 견고하다. MPC 프레임워크 내에서 동역학에 대한 PINN 근사화 품질은 충분할 것으로 예상된다. 

-> nominal dynamics란? 

 

Fig. Open-loop simultaion result from PINN operated in self-loop prediction mode.

 

(3) PINN in closed-loop

이제 섹션 3.3에서 논의한 PINN 기반 MPC를 다중 링크 조작기의 추적 문제에 적용하자. 이를 위해 아래 그림에 표시된 테스트 경로, 해당 참조 상태 xref를 사용한다. 이러한 경로는 [1] 장애물 회피 포함, [2] 제어 성능에 미치는 강한 마찰 현상을 조사하기 위한 motion reversal(움직임 반전) 이라는 2가지 특성을 포함한다. 

 

Fig. Reference trajectory and resulting PINN-based MPC trajectory for the tracking problem of the mulit-link manipulator displayed at time t = 8 s.

 

plant system은 Runge-Kutta-Fehlberg 방법을 사용하여 시뮬레이션되며, MPC 샘플링 주기는 τ = 0.2 s로 설정되고 수평 너비 H = 5를 사용한다. MPC 비용 함수는 아래와 같다. 

-> RK45란? 적분 방정식 중 초기값 문제를 푸는 방법 중 하나다. 최종 계산 부분에 4차의 정확도를 가진 방법, 5차의 정확도를 가진 방법을 적응적으로 이용해 둘 사이의 차이를 통해 오차를 예측한다. 오차가 클 땐 정확한 계산을 위해 5차를, 충분할 땐 4차를 이용한다. 

 

대각 행렬 Q, R로 매개화된 MPC 비용 함수 : 각각 각도의 위치만을 제어한다는 것을 의미.

 

아래 그림들은 비선형 동역학을 위한 PINN 근사치와 함께 NMPC 체게가 참조 경로를 근접하게 따르며, α와 β에 대해 평균 절대 오차가 각각 7.53 × 10^(-3) rad와 2.56 × 10^(-2) rad이다. 

 

Fig. Solution of the PINN-based MPC for the tracking problem of the multi-link manipulator.

 

Fig. Absolute error over time of the solution of PINNbased MPC for the tracking problem of the multi-link manipulator.

 

아래는 계산된 제어 입력이다. NMPC 문제의 해는 평균 3.65 × 10^(-2) s 내에 계산되며, 샘플링 주기 이내다. 

 

Fig.  PINN-based MPC optimal u.

 

아래 표에서 볼 수 있듯이, xk에서 xk+1을 계산하는 것이 RK45 혹은 expliciy Euler method 등의 고전적인 time-intergration 방법일 때 비용이 더 많이 든다. PINN 근사치를 사용하면 비용이 더 적게 든다.

 

 

2가지 추가적 주의할 점이 있다. [1] PINN의 평가는 텐서프롤에서 구현되었다. 이는 최종 가중치를 가진 네트워크를 최첨단 BLAS 라이브러리를 사용하여 직접 구현한다면, 적어도 한 자릿수 이상의 속도 향상을 관찰할 수 있음을 의미한다. [2] 비선형 동역학의 경사를 평가하는 것은 제어와 관련하여 PINN의 평가와 병렬로 수행될 수 있으며, NMPC 프레임워크 내에서 추가적인 속도 향상을 제공한다. 결론적으로 멀티링크 조작기의 tracking 문제는 closed-loop에서 PINN 기반 MPC를 통해 해결된다. 

 

 

5. Conclusion

 

우리는 다중 링크 로봇 조작기에 대한 비선형 모델 예측 제어(NMPC)의 맥락에서 물리학-정보 신경망(PINNs)라는 물리학-정보 기계 학습 접근 방법의 적용 가능성을 연구하였다. PINNs를 사용하여 비선형 동역학을 계산하기 쉬운 대리 모델로 대체하는 방법에 대해 논의하였다. 

자동 미분 덕분에 PINN 근사치는 상태의 제어 입력에 대한 편도 함수를 저렴하고 쉽게 계산할 수 있으므로, 더 이상 가속 전략이 필요하지 않고 경사 하강법을 사용하여 NMPC 문제를 해결하는 길을 열어 주었다. 

다중 링크 조작기의 추적 문제에 대한 수치 예제에서, PINN을 기반으로 한 비선형 동역학 근사치가 계산 시간 측면에서 고전적인 시간 통합기를 능가하면서 동시에 추적 문제를 해결하는 데 충분히 정확함을 보여주었다. 

 

 

 

 

 

 

 

728x90
반응형