아래 내용은 마이크로소프트웨어 2007년 9월호에 기사로 나간 내용입니다. 물론 초안이라서 책에 나간 내용과는 약간 차이가 있습니다. 저작권 문제가 있을 수 있으므로, 복사하시지는 말고 링크만 걸어 주시기 바랍니다.


Simulink를 이용한 제어기 설계


요약

실제로 임베디드 소프트웨어를 설계할 때가 왔다. 앞 연재까지에서는 임베디드 소프트웨어를 컴퓨터 상에서 설계하고 테스트 하기 위해서 필요한 환경을 만들었으니, 이제 실제로 임베딩할 알고리즘을 설계 하는 것이다. 기본적인 제어기에 대한 내용과 Simulink를 활용할 경우에 이를 위한 add-on 툴이 있으므로 이에 대한 간략한 소개를 하고자 한다.

제 1 절  제어기란?

제어기는 이름이 말하는 그대로 뭔가를 제어하는 장치를 말한다. 임베디드 소프트웨어의 경우 간단한 하드웨어인 핸드폰부터 우주로 나가는 위성등에도 포함되어서 플랜트를 제어하는 장치/소프트웨어를 말한다. 초기에 제어기가 나왔을때는 하드웨어적인 장치가 대부분이었지만, 요즘은 대부분 임베딩되는 소프트웨어를 이용해서 하게 된다. 이런 임베딩되는 제어기 소프트웨어는 구현해서 테스트 하기 위해서는 제어하고자 하는 플랜트가 있어야 하며, 이 플랜트에 직접적으로 연결되어 있는 인터페이스가 있어서 임베딩되는 소프트웨어가 플랜트를 어떻게 제어 하는지를 테스트 하게 된다. 앞 시간의 기사에서 소개했던 플랜트의 모델링의 경우 이런 하드웨어 없이 컴퓨터상에서 소프트웨어적으로 시뮬레이션할 수 있는 환경을 제공해 준다.

1.1  알아야 할 용어들

제어기에 대한 내용을 진행하기 전에 몇 가지 꼭 알아야할 내용이 있다. 일반적으로 쓰이는 인풋과 그 인풋에 대한 결과를 해석할때 사용하는 용어등을 먼저 알아 보자.

1.1.1  Standard Input
일반적으로 제어기를 설계했을때 제대로 설계되었는지를 체크하기 위해서 사용하는 인풋 값들이 있으며, 이를 표준 인풋이라고 한다.

Step Input
스 텝 인풋의 경우 제어에서만 사용되는 것이 아니고, 거의 모든 엔지니어링 측면에서 사용되고 있다. 시스템에 스텝 인풋을 인풋으로 줬을때 나오는 아웃풋을 step response 라고 한다. 단위 스텝 인풋에 대해 수학적으로 표기하면 식 1와 같이 표현된다.
     {
        0, t < 0
u(t) =
        1, t ≥ 0
(1)

Ramp Input
램프 인풋의 경우 식 2와 같이 단위 스텝 인풋을 포함한 수식으로 표현할 수 있다. 식에서 보는것 같이 램프 인풋의 경우는 단위 스텝 인풋의 적분을 한 경우이다.
      ∫
r(t) =  u(t)dt = tu(t)
(2)

1.1.2  System Metrics
시스템의 특성을 나타내는 방법은 여러 가지 있지만, 그중에서 제일 많이 쓰이는 것들을 살펴 보면 다음과 같다. 아래에 나와 있는 특성은 시스템에 인풋을 단위 스텝 인풋으로 주었을때 의미를 가진다.

Steady State(정상 상태)
시스템에 인풋으로 단위 스텝 인풋을 주었을때 시간 t = ∞인경우, 시스템의 아웃풋을 나타낸다. 실제로 t = ∞라는게있을수가없으므로수학적으로시스템의아웃풋을계산한다.
Rising Time(상승 시간)
시스템의 아웃풋이 0으로부터 특정한 값까지 도달하는데 걸리는 시간을 의미하는 것으로 보통 초기 값에서 타겟 값의 90%까지 도달하는 시간을 말한다.
Overshoot(오버슛)
시스템의 아웃풋중에서 원하는 아웃풋인 타겟 값보다 크게 나온 값들을 말한다.
Percent Overshoot
시스템의 아웃풋중에서 가장 큰 값(yp)과 정상 상태일때의 값(yss)을 이용하여 식 3와 같이 나타낸다.
                  yp --yss
Percent Overshoot =  yss  × 100%
(3)

Steady-State Error(정상 상태 에러)
일반적으로 시스템은 원하는 타겟 값으로 100% 맞게 동작하지 않는다. 때문에 정상 상태에 도달하게 되면 보통 원하는 타겟 값과 오차가 생기며, 이를 정상 상태 에러 라고 한다.
Settling Time(정착 시간)
시스템의 아웃풋은 일반적으로 정상 상태에 도달하기 전에는 진동하는 경향이 있다. 시스템이 정상 상태까지 도달하기 까지 걸린 시간을 정착 시간이라고 한다.

지금까지 설명한 내용을 그림 1에 표시하였다.



사용자 삽입 이미지

그림 1: System Metrics

1.2  Open-loop과 Closed-loop 제어기



사용자 삽입 이미지

PIC

그림 2: Open Loop 제어기 시스템


사용자 삽입 이미지


그림 3: Closed Loop 제어기 시스템

제어기를 구성할때는 크게 두가지 경우로 구성할 수 있다. 그림 2와 같이 플랜트의 아웃풋을 측정하지 않고 제어기의 인풋을 결정하는 경우(Open-loop 제어기)가 있으며, 그림 3와 같이 플랜트의 아웃풋을 측정해서 원하는 결과 값인지를 체크해서 새롭게 제어기의 인풋을 결정하는 경우(Closed-loop 제어기)가 있다.

1.2.1  Open-loop 제어기
Open-loop 제어기의 경우 외부의 신호를 측정해서 원하는 값에 도달했는지에 대한 체크를 하지 않는다. 이와 같이 제어의 정밀도가 중요하지 않거나, 플랜트의 특성이 매우 잘 알려져 있어서 플랜트에 특정한 인풋을 줬을때 그 아웃풋을 충분히 예측할 수 있을 경우에 사용하게 된다. Open-loop 제어 시스템은 시스템이 간단히 구성되므로 가격 면에서 있어서도 유리하게 구성할 수 있어서, 아직까지도 사용되고 있는 제어 시스템이다.

1.2.2  Closed-loop 제어기
Open-loop 제어기의 경우 플랜트가 원하는 아웃풋을 내는지 확인을 하지 않기 때문에 정밀한 제어등에는 사용할 수가 없다. 실제로 존재하는 플랜트의 경우는 외부의 잡음등이 포함되기 때문에 항상 우리가 원하는 데로 제어가 되지를 않는다. 때문에 이런 아웃풋을 피드백해서 제어기에서 필요한 만큼 제어기의 아웃풋을 수정해서 플랜트로 보내게 되며, 이러한 작업을 하는 제어기가 Closed-loop 제어기 이다.

제 2 절  제어기에 대한 소개

하드웨어를 제어하는 일반적인 제어기는 필요한 정밀도에 의해서 제어기를 선택하게 된다. 일반적으로 Closed-loop 시스템에서 가장 많이 사용하는 제어기는 PID 제어기이다. 또한 최적 제어(Optimal Control), 강인 제어(Robust Control), 뉴럴 네트웍(Neural Network)등 아주 많은 제어기가 있다. 다른 제어기에 대한 내용보다 여기서는 PID 제어기에 대한 소개와 간단한 모델에 적용하여 그 특성을 알아보자.

2.1  PID 제어기

일반적으로 Closed-loop 시스템에서 가장 많이 사용하는 제어기는 PID 제어기이다. PID제어기에서 PID란 Proportional-Integral-Derivative 를 뜻하는 것으로 세 부분으로 나누어서 생각할 수 있는 제어기이다. 그림 3 에서 플랜트의 인풋으로 들어 가는 값을 식 4라고 하면, Closed-loop의 제어기는 이 e(t)의 값을 이용하여 플랜트를 제어 하게 된다.

e(t) = u(t)- y(t)
(4)

2.1.1  P 제어기
Proportional(비례) 제어기를 뜻하는 P 제어기는 현재 원하는 인풋과 측정된 아웃풋의 차이에 게인이라고 하는 값을 곱하는 제어기이다. 즉 e(t)에 필요한 값을 곱하는 제어기 이다. 이 제어기를 생각할때는 사람이 자동차 속도를 맞춘다고 생각하면 된다. 시속 100 km를 맞춰서 움직인다고 생각해 보면 현재 속도가 100 km 보다 얼마나 빠른지 혹은 느린지를 사용자가 보고 필요한 만큼 가속 페달을 밟는 양을 조절한다. 현재 속도가 60 km 이면 원하는 속도 100 - 60 = 40인 40 km에 달하도록 가속 페달을 밟아야 한다. 여기서 제어 게인을 얼마로 하느냐에 따라서 실제로 플랜트로 들어 가는 값이 결정이 된다. P 제어기는 이와 같이 원하는 결과 값에 못 미칠때 그 차이에 비례하여 값을 곱하는 제어기이다. P 제어기의 특성을 보면, 에러가 클 수록 더 큰 값이 플랜트에 들어 가므로 때문에 시스템에 진동을 야기할 수 있다. P 제어기에 대한 수학식은 다음과 같다.
Pout = Kpe (t)
(5)

2.1.2  I 제어기
Integral(적분) 제어기는 I 제어기라고 하며, 식 6에 수학적 표현이 있다. 식 6를 보면 적분이 있는데, 수학적으로 현재 시점이전에 있었던 에러들의 합을 계산하여 적분 제어기의 게인을 곱하므로 현재의 에러뿐만 아니라 과거의 에러까지 고려할 수 있는 제어기이다.
        ∫
I   = K   te(τ)dτ
 out    i 0
(6)

2.1.3  D 제어기
Derivative(미분) 제어기는 D 제어기라고 불리며, 식 7와 같이 에러의 시간에 대한 변화에 게인을 곱하므로 급작스런 에러의 변화에 대응할 수 있는 제어기이다. 특히나 오버슛이 갑작스럽게 커질 경우에 큰 효과를 발휘하는 제어기이다.
         de
Dout = Kd dt
(7)

2.1.4  PD, PI, PID 제어기
실제 제어기의 경우 앞에서 설명한 각각의 제어기를 사용하지는 않는다. 각 제어기의 경우 단점과 장점이 혼합되어 있어서 주로 두 개 이상을 조합해서 제어기를 구성하게 된다. P 제어기의 경우 간단한 제어기로 사용하기도 하지만, I 제어기나 D 제어기의 경우 단독으로 사용하지 않는다.

PD 제어기를 생각해 보면 P 제어기의 게인을 크게 할수록 오버슛을 크게 하거나 시스템을 불안하게 할 수 있다. 에러의 크기에 게인값이 곱해지므로 오버슛이 커지거나 시스템이 불안해 질 수 있는데, 이런 점을 보안하기 위해서 D 제어기를 사용한다. P 제어기 때문에 생기는 오버슛이나 시스템의 불안정을 시간에 대한 에러의 비율에 따라서 동작하는 D 제어기를 같이 포함하면, 오버슛을 줄이고 불안정함을 줄일 수 있다. PD 제어기의 문제점중에 하나는 플랜트의 아웃풋을 측정하는 센서등에 노이즈가 생길수 있는데, 이럴 경우 신호가 급작스럽게 변할 수 있으며 이렇게 생긴 급작스런 변화에 D 제어기가 반응하여 문제가 생길수 있다.

또 다른 제어기 중에 하나인 PI 제어기의 경우 P 제어기에서 발생할 수 있는 정상 상태에서의 오차를 줄일 수 있도록 도와 준다. 또한 시간에 대한 급작스런 변화보다 과거에 오차가 누적되어서 거기에 맞추어서 제어를 할 수 있게 해주므로 노이즈등에 좀 더 견고한 제어기를 구성할 수 있다.

PID 제어기의 경우 세 가지 제어기를 모두 포함하는 제어기로서 위에서 설명한 각각의 단점을 보충할 수 있는 제어기이다. 식 8와 같이 수학적으로 구성할 수 있다.

u(t) =   Pout + Iout +∫Dout
     =   Kpe(t)+ Ki t0 e(τ)dτ + Kd ddet
(8)

2.2  질량-스프링-댐퍼 시스템 모델


사용자 삽입 이미지

그림 4: 질량-스프링-댐퍼 시스템

M �x + b˙x+ kx = F
(9)

그림 4와 같이 질량-스프링-댐퍼 시스템 모델을 수학적 모델링을 하게 되면 식 9와 같으며, Simulink에서 식 9를 모델링하면 그림 5와 같다. 시뮬레이션을 하기 위해서 필요한 질량(M=1kg), 댐핑 상수(b=10N s/m), 그리고 스프링 상수(k=20N/m)등의 값을 주고, 단위 스텝 인풋 값을 주게 되면 그림 6와 같이 질량의 위치가 변함을 알 수 있다.



PIC

사용자 삽입 이미지

그림5: 질량-스프링-댐퍼 시스템의 Simulink 모델


사용자 삽입 이미지

PIC

그림 6: 질량-스프링-댐퍼 시스템에 대한 단위 스텝 인풋에 대한 결과

그림 6를 보면, 인풋으로 준 값이 단위 스텝이므로 1이 되어야 하는데, 0.05 이므로 정상 상태 에러는 0.95이다. 또한 상승 시간을 보면 약 1초 정도되며, 정착 시간은 약 1.5초 정도되는 것을 알 수 있다. 이 모델에 P, PI, PD, PID 제어기를 구성하여 상승 시간과 정착 시간을 줄이고 정상 상태 에러를 최소화 할 수 있도록 해보자. 그럼으로써 각 제어기의 특성을 이해할 수 있을 것이다.1


사용자 삽입 이미지

PIC

그림 7: PID제어기를 포함한 질량-스프링-댐퍼 시스템의 Simulink 모델


사용자 삽입 이미지

PIC

그림 8: 단위 스텝 인풋에 대한 질량-스프링-댐퍼에 P, PD, PI, PID 제어기를 포함했을때의 결과

2.2.1  P 제어기

그림 7에서 Kd = Ki = 0으로 한 경우가 P 제어기를 나타내며, Kp의 값을 50, 100, 300을 주었을때의 결과가 그림 8에서 (a)에 있다. 그림에서 보는 바와 같이 Kp의 값이 커질 수록 원하는 아웃풋인 1에 근접하지만, 그 만큼 오버슛이 많이 나타난다. 때문에 초기에 원치 않는 큰 움직임이 생기며, P 제어기만을 쓸 경우 이 현상을 없앨 수가 없다.

2.2.2  PD 제어기
그림 7에서 Ki = 0로 두었을때 PD 제어기를 포함한 모델이며, Kp의 값은 300으로 고정하고 Kd의 값을 1, 5, 10을 했을때의 결과를 그림 8의 (b)에 나타냈다. Kd의 값이 증가할 수록 오버슛이 줄어들지만 정상 상태 오차에는 영향을 미치지 못해서 여전히 정상 상태 오차가 존재 함을 알 수 있다.

2.2.3  PI 제어기
I 제어기의 경우 과거의 에러를 고려해서 계산을 하므로 정상 상태 에러를 줄일 수 있지만, 현재의 에러도 고려하므로 P 제어기의 역할도 하기 때문에 PI 제어기를 포함(Kd = 0)한 그림 7에서 Kp의 값을 30으로 두고 Ki의 값을 70, 30, 5로 하여 결과를 그림 8(c)에 나타내었다. 보는 바와 같이 정상 상태 에러가 없어 졌음을 알 수 있다.

2.2.4  PID 제어기
I 제어기는 P 제어기의 역할을 어느 정도 하므로, 오버슛을 없앨 수가 없다. 따라서 최대 오버슛을 줄이기 위해서는 D 제어기를 포함해야 한다. 그러므로 지금까지 본 제어기를 다 모아서 PID 제어기를 구성해 보면 그림 7와 같으며, 그 결과를 보면 그림 8(d)에서 볼 수 있다. 결과를 보면, D 제어기가 포함되면서 오버슛이 줄어 들게 되어서 Kp와 Ki의 값을 크게 주었다. 최대 오버슛도 거의 없으며, 정상 상태 오차도 없어졌음을 알 수 있다.

제 3 절  제어기를 설계해 보자

제어 이론을 바탕으로한 제어기는 PID 제어기 말고도 아주 많다. 이중에서 가장 오래됐으면서, 가장 많이 쓰이는 제어기가 PID 제어기이다. 하지만, 이 방법은 각각의 게인값을 찾는게 문제이다. 이렇게 게인 값을 찾는 과정을 튜닝한다고 얘기하며, 튜닝하는 방법은 크게 보면 3가지 정도 밖에 없다. 감에 의한 방법, Ziegler-Nichols 방법, 마지막으로 전용 소프트웨어를 이용하는 방법등이다. 이런 방법등을 살펴보기전에 제어 이론에 대해서 간략히 살펴보도록 하자.

3.1  선형 시스템과 비선형 시스템

플랜트를 모델링하다보면 선형 시스템과 비선형 시스템으로 크게 나눌 수 있다. 비선형 시스템의 경우 PID 제어기로 제어가 제대로 되지가 않기 때문에 대부분 비선형 시스템을 선형화 해서 제어기를 설계하게 된다. 선형화 하는 방법은 여러 가지가 있고, 수학적인 내용이 많아서 여기서 소개하기가 힘들므로 관심이 있으면 구글이나 관련 도서를 참고 하기 바란다.

3.1.1  고전적 제어 기법과 현대적 제어 기법

선형 시스템은 두가지로 다시 나눌 수 있는데, 선형 시변(Linear Time Varying)과 선형 시불변(Linear Time Invariant, LTI) 시스템으로 나눈다. LTI 시스템을 미분 방정식 형태로 모델링을 하면 주로 라플라스 변환을 이용해서 분석을 하게 된다. 라플라스 변환을 하여서 모델을 분석하고 제어기를 설계하는 방식을 고전적인 제어 기법(Classical Control Method)이라고 한다. 모델을 행렬 형태로 변환해서 분석하고 제어기를 설계하는 경우는 현대적인 제어 기법(Modern Control Method)이라고 한다.

3.1.2  고전적 제어 기법
고전적 제어 기법에 따라 모델을 분석할때 가장 중요한 개념중에 하나가 전달 함수와 극점(pole)과 영점(zero)이다. 전달 함수란 LTI 시스템을 라플라스 변환을 통해서 식을 변환하고 초기 값을 0으로 두며, 식을 인풋/아웃풋 의 형태로 만드는 것이다. 앞에서 예로 들었던 질량-스프링-댐퍼 모델에 대한 전달 함수를 구해 보면 식 10와 같다. 여기서 극점과 영점을 구해보면, 극점은 전달 함수의 분모를 0으로 했을때의 해를 말하며, 영점은 분자를 0으로 했을때의 해를 말한다. 따라서 식 10에서 분자를 0으로 하는 식은 Ms2 + bs + k = 0이므로 M,b,k에 따라서 s가 실수 또는 복소수가 될수도 있지만, 갯수는 최대 두 개이다.
X-(s)-= -----1------
F(s)   M s2 + bs+ k
(10)

극점과 영점이 중요한 이유는 여러가지 이유가 있지만, 그 중에 가장 중요한 특징은 극점이나 영점이 x축의 오른쪽에 위치할 경우 시스템이 불안정한 시스템이며, 최소한 y축 위, 즉 x = 0인 위치보다 왼쪽에 있어야 시스템이 안정한 시스템이라는 점이다.

여기에 제어기를 붙이면, 시스템의 전달 함수가 변하며, 전체적인 극점과 영점이 변하게 된다. 다시 말하면, 제어기를 설계한다는 것은 시스템의 극점과 영점의 위치를 원하는 곳으로 변경시키는 것과 같은 것이다. 식 11는 PID 제어기를 질량-스프링-댐퍼 모델에 포함시켰을때의 전달함수로서 극점과 영점이 변한것을 알 수 있다.

                   2
X-(s)=  -------Kds--+-Kps-+-Ki---------
 F(s)   s3 + (10 + Kd)s2 + (20+ Kp)s+ Ki
(11)

시스템 게인을 변경시켰을때 극점의 위치 변화를 보는 것을 근궤적이라고 하며, 제어기 설계할때 중요한 역할을 한다. 시스템이 복잡해 지면 이런 근 궤적선도를 그리기가 어려워지므로 소프트웨어의 도움을 받아야 한다.그림 9와 그림 10에 근 궤적 선도를 그렸다. 근 궤적 선도에서 근의 움직임은 x표시에서 o표시로 움직인다.


사용자 삽입 이미지

PIC

그림 9: 질량-스프링-댐퍼 시스템에 대한 근 궤적 선도


사용자 삽입 이미지

PIC

그림 10: PID제어기를 포함한 질량-스프링-댐퍼 시스템에 대한 근 궤적 선도

근 궤적뿐만 아니라 주파수에 따른 시스템 분석 방법이 있는데, Bode Plot, Nyquist Plot, Nichols Chart 등을 그려서 분석하는 방법이 있다. 여기서는 정말 간단하게 설명해서 근 궤적 선도에 대해서만 간략하게 소개했는데, 실제로 고전적인 제어 기법을 배우는 것만 해도 학교에서 한 학기 과정이다. 깊이 있는 내용에 대해서는 직접 책을 구해서 공부하는게 좋다.

3.2  감에 의한 방법

앞에서 보여 준 각각의 게인 값은 특별한 공식이나 방식 없이 감으로 잡는 것이다. 그러므로 각 제어기의 특성을 숙지하여, 여러번 시도해서 결과를 보는수 밖에 없다. 무수히 반복해서 본인이 원하는 결과를 얻을때까지 반복만이 길이다.

3.3  Ziegler-Nichols 방법

가장 널리 알려져 있는 것으로 Ziegler-Nichols 방법이라는게 있다. 먼저 I와 D의 게인 값들을 0으로 두고, 시스템이 진동(oscillation) 할때까지 P 게인 값을 증가시킨다. 이렇게 증가시킨 게인 값과 진동 주기를 이용하여 각 제어기에 대한 대략적인 값을 계산할 수 있다. 이 경우 말 그대로 대략적인 값이므로 제어기의 게인 값들을 찾기 위한 시작점이라고 생각하면 된다. 그래서 원하는 아웃풋이 나올때까지 반복해서 해야 한다.

3.4  소프트웨어를 활용하는 방법

PID를 튜닝하는 소프트웨어는 여러가지가 있을 수 있다. 접근 방법 자체도 각 회사마다 따로 있기 때문에 어느 소프트웨어가 가장 좋다라는 얘기는 할수가 없다. 여기서는 필자가 사용하는 The MathWorks사의 제품을 소개하도록 하겠다.

3.4.1  Control System Toolbox

MATLAB 환경에서 제어기를 설계하는 방법은 MATLAB의 프로그래밍 환경을 이용해서 직접 작성할 수 있지만, 그보다는 Control System Toolbox를 이용해서 제어기 설계에 필요한 대부분의 함수를 제공하므로 편리하게 사용할 수 있다.

앞에서 본 근 궤적 선도(그림 910)도 Control System Toolbox에 있는 rlocus()라는 함수를 이용해서 그린 것이다. 그리고 앞에서 언급했던 비선형 시스템의 선형화를 위한 함수도 제공하며, SISO(Single Input, Single Output) Design Tool(그림 11) 이라는 것을 제공하여 화면상에서 직접 극점과 영점을 포함할 수 있으며, 직접 극점과 영점을 마우스로 움직였을때 게인의 값의 변화에 따라 즉각적으로 단위 스텝 인풋에 대한 아웃풋을 볼수 있으므로, 그래픽적으로 제어기를 설계할 수 있도록 도와 준다.


사용자 삽입 이미지

PIC

그림 11: SISO Design Tool에서의 질량-스프링-댐퍼 모델

3.4.2  Simulink Control Design

질량-스프링-댐퍼 모델을 Simulink에서 개발한 것처럼 제어기를 설계할때 Control System Toolbox에 있는 SISO Design Tool을 Simulink 모델에 적용할 수 있게 하는 제품이다. 또한 Simulink로 모델링한 모델이 비선형 시스템일 경우 선형화된 Simulink 모델로 변환할 수 있도록 하는 기능도 포함되어 있다.

3.4.3  Simulink Response Optimization
Simulink Control Design으로 튜닝할 때는 일단 모델을 선형화 해야 한다. SISO Design Tool 자체가 LTI 시스템에만 적용할 수 있기 때문에 항상 비선형 시스템의 경우 선형화를 꼭 해주어야 한다. 지금 소개하고자 하는 Simulink Response Optimization의 경우는 시스템이 선형/비선형 여부에 상관 없이 사용할 수 있는 제품이다. Simulink로 모델을 만든 후 원하는 아웃풋이 되도록 범위를 지정해서 범위안에 아웃풋이 되도록 선택된 파라메타를 변경하는 제품이다.

그림 7에 있는 모델을 Simulink Response Optimization을 이용할 경우 PID 제어기에 게인으로 셋팅한 Kp,Kd,Ki의 값들을 변경하고자 하는 파라메타로 셋팅할 수 있다.

파라메타 선택을 하고 나면 그림 12과 같이 원하는 아웃풋의 범위를 지정하고 어떤 방식으로 파라메타 값들을 변경할 것인지에 대한 수학적인 알고리즘을 결정한다.


사용자 삽입 이미지

PIC

그림 12: Simulink Response Optimization에서 아웃풋 범위 지정

그림 13를 보면 초기값으로 Kp = 150,Kd = 1,Ki = 15으로 주었을때 그림 12에서 지정한 범위내로 아웃풋이 되도록 총 5번을 실행해서 최종 결과로 Kp = 256.5661,Ki = 209.8900,Kd = 10.5070이라는 값을 얻었음을 알 수 있다. 이와 같이 제어기를 튜닝할때 자동화 해주는 기능이 있으므로 제어에 대한 깊은 지식이 없어도 충분히 제어기를 설계할 수 있도록 해준다.


사용자 삽입 이미지

PIC

그림 13: Simulink Response Optimization을 이용한 파라메타 결정

크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)

트랙백을 보내세요

트랙백 주소 :: http://www.cipher.pe.kr/tt/cipher/trackback/169

댓글을 달아 주세요

  1. 민도리 2010/06/05 20:35

    정말 좋은정보가 많네요~~! 한가지 질문하고싶은게 있는데요, 매트랩7버전에서 PID컨트롤러로 설계를 했는데, 자동튜닝은 어떻게하나요?

    • 게으른 엔지니어 2010/06/08 04:59

      자동 튜닝의 경우 Simulink Control Design을 구매하시면 사용하실 수 있습니다. 더 자세한 내용은 매스웍스 기술 지원 부서로 문의하시기 바랍니다. 조만간에 이 내용에 관해서도 쓸 예정입니다.(언제 될지는 사실 저두 잘 모릅니다.) MATLAB 버전이 7인 경우는 무지 많습니다. 현재 MATLAB 자체의 버전은 7.x 대로 꽤 오래 있었기 때문에 MATLAB 버전이 7이라고 하면 아무도 알수가 없습니다. R2009a 혹은 R2009b 와 같이 언제 릴리스 됐는지 아시는게 제일 좋습니다.
      구매하신 제품에 Simulink Control Design이 포함되어 있는지는 MATLAB Command 윈도우에서 ver 이라고 명령을 주시면 현재 라이센스 넘버와 함께 인스톨되어 있는 제품이름이 나옵니다. 혹시나 여기서 MATLAB 제품이 전체가 다 나오면... 아시죠?!!! 정상적인 유저가 아닌 경우입니다. 이런 경우는 매스웍스 기술 지원 부서로 문의하시면 안됩니다. 이럴 때는 빨리 전체 언인스톨 하시고 정상적인 제품을 인스톨하시기 바랍니다.
      PID 컨트롤러 자동 튜닝의 경우 http://www.mathworks.co.kr/company/even ··· Dhp_e_rw 에 가시면 PID made easy라고하는 한국어로 녹화된 레코디드 Webinar가 있습니다. 도움이 될 거라고 생각됩니다.

[로그인][오픈아이디란?]
비밀글 (Serect)
댓글 달기 (Submit)