2022/03/22
오오 벌써 제어공학 이야기를 올려주시다니 ㅎㅎ 감사합니다. 흥미롭게 여러번 읽었습니다. 여러번 읽은 이유는...한 번에 이해가 안 되었기 때문입니다. 학교 다닐 때 공부 열심히 할 걸 하는 후회를 자주 하는 편인데 이번에도 역시 그랬습니다. 일단 미적분이 뭐였는지부터 기억이 가물가물해서. 흑.
PID 제어 이야기를 읽으면서 제어공학이 중앙은행이 정책금리를 통해서 경제를 조절하려는 근본적인 방식과 매우 닮았다는 생각을 더욱 굳히게 되었습니다. 제가 PID 제어에 대해 이해해본 바를 가지고 한 번 썰을 풀어보겠습니다. 물론, 제가 미적분에 대해 아는 게 없다는 걸 전제로, 이해가 틀릴 수도 있습니다(틀린 부분은 아마 몬스님께서 바로잡아 주실 것이라고 기대해보며).
한국은행은, 다른 선진국 대부분의 중앙은행처럼, 물가안정을 제 1목표로 한 기관입니다. 보통 물가상승률 목표를 가지고 있는데요, 여러분은 물가상승률이 어느 정도가 적절하다고 생각하시나요? 아마 0%라고 생각하시는 분도 있겠지만, 사실 물가가 아예 오르지 않는 것도 곤란합니다. 기업이나 가게에서 파는 물건 가격이 오른다는 건 기업 직원의 임금이나 가게 주인의 수입이 늘어난다는 뜻이기도 하니까요.
이런저런 경제의 여...
PID 제어 이야기를 읽으면서 제어공학이 중앙은행이 정책금리를 통해서 경제를 조절하려는 근본적인 방식과 매우 닮았다는 생각을 더욱 굳히게 되었습니다. 제가 PID 제어에 대해 이해해본 바를 가지고 한 번 썰을 풀어보겠습니다. 물론, 제가 미적분에 대해 아는 게 없다는 걸 전제로, 이해가 틀릴 수도 있습니다(틀린 부분은 아마 몬스님께서 바로잡아 주실 것이라고 기대해보며).
한국은행은, 다른 선진국 대부분의 중앙은행처럼, 물가안정을 제 1목표로 한 기관입니다. 보통 물가상승률 목표를 가지고 있는데요, 여러분은 물가상승률이 어느 정도가 적절하다고 생각하시나요? 아마 0%라고 생각하시는 분도 있겠지만, 사실 물가가 아예 오르지 않는 것도 곤란합니다. 기업이나 가게에서 파는 물건 가격이 오른다는 건 기업 직원의 임금이나 가게 주인의 수입이 늘어난다는 뜻이기도 하니까요.
이런저런 경제의 여...
"적분항의 경우 과거 오차값을 누적적으로 반영해서 사후에 제어하는 개념이라면 미분항은 과거 오차값의 변화율을 감안해서 사전적으로 제어하는 것에 가까운 걸까요?" <-정확합니다!
오차의 변화율(미분항)이 누적되면 오차가 되고, 오차가 누적되면 적분항이 되는 것이므로, 변화율에 비례한 조정을 한다는 것은 사전적인 개입에 가까우며 (오차 보다 선반영 되기 때문에), 누적값에 비례한 조정을 한다는 것은 사후적인 개입에 가깝다고 볼 수 있을 것 같아요 (오차 보다 후반영 되기 때문에).
만약에 P와 I제어만 이용할 때 오차가 줄어드는 속도가 너무 빠르다면 오버슈트와 발산의 원인이 될 수 있습니다. 시스템이 진정되지 못하고, 계속해서 출렁이게 되는 꼴이지요. D항은 오차가 줄어드는 속도에 맞춰 반대방향으로 제동을 걸어주는 힘입니다.
변화 속도에 맞춰 제동을 건다는 측면에서 D항은 '보수' 성향에 가깝다고 볼 수도 있겠습니다. 빨리 무언가를 바꾸고 싶을 때, 또는 무언가 확 틀어졌을 때 반대로 제동을 걸어 시스템을 안정화 시키는 힘입니다. 목표 값에 도달하기 위해 도입된 P와 I와는 결이 다른 힘이지만, 이를 잘 조정해야 목표값에 우아하게 '안착'하며 시스템이 안정됩니다.
위키페디아에서 P, I, D제어를 시스템에 반영하는 정도인 Kp, Ki, Kd 파라미터에 따른 출력의 변화를 보여주는 gif파일을 보시면 조금 더 직관적인 이해가 가능하실 것 같습니다!
https://ko.wikipedia.org/wiki/PID_%EC%A0%9C%EC%96%B4%EA%B8%B0
ㅎㅎ 앞으로 기대하겠습니다! 그리고 질문이 있는데, 처음 글에도 그렇고 미분항 D의 경우는 사전적인 제어에 가깝다는 뉘앙스로 설명을 해주시고 있는 걸로 이해가 됩니다.
그렇다면, 적분항의 경우 과거 오차값을 누적적으로 반영해서 사후에 제어하는 개념이라면 미분항은 과거 오차값의 변화율을 감안해서 사전적으로 제어하는 것에 가까운 걸까요? I제어만 적용하면 100을 해야하는데, 그러면 오버슈트가 날 가능성이 있으니 과거 변화율까지 감안해서 D제어로 보충한다?
아니면 한번에 곧바로 100을 넣으면 안 되니까 속도조절해가면서 서서히 100까지 올려본다? 이런 느낌일까요? 궁금한게 많아지는 무식자입니다 흑흑.
와, 너무 적절한 예시입니다! 제가 중앙은행의 금리조정이 제어공학과 뭔가 비슷하다.. 정도로 느꼈던 내용을 너무 뚜렷하게 글로 설명해 주셔서 확 와 닿았어요! 딱 하나만 보충하자면, 미분항 D는 금리를 확 올리기 전에 물가가 급격히 떨어질 것을 '미리' 조심하는 것이 더 가까운 표현일 것 같아요. 다양한 이해관계에 얽혀 있을 수록 시스템이 변화에 민감한 경우가 많기 때문에, 큰 문제가 없는 이상 D적 요인을 고려하는 다소 보수적인 행보를 보이는 경우가 많을 것 같아요.
제어 공학은 예를 들면, 모터 제어나 전류/전압 제어처럼 시스템이 거의 정해져 있는 경우가 많기에 어느 정도 제어 과정을 날카롭게 다듬는 것이 가능하겠지만, 중앙은행의 경우는 시스템의 참여자가 너무 많기에 정말 힘든 일이 될 것이라는 생각이 드네요. 앞으로 금융 공학이 발전한다면 어느 정도 안정적으로 제어하는 것이 가능해질까요? (지금은 매 순간 순간이 전쟁 같다는 생각이 드네요..ㅎㅎ)
이런 글도 써도 될까 싶었는데, [경제 디깅]에서 에디터님과 주고 받았던 답글이 큰 동기부여가 되었습니다..ㅎㅎ 다음에 또 한번 도전해 볼게요!
"적분항의 경우 과거 오차값을 누적적으로 반영해서 사후에 제어하는 개념이라면 미분항은 과거 오차값의 변화율을 감안해서 사전적으로 제어하는 것에 가까운 걸까요?" <-정확합니다!
오차의 변화율(미분항)이 누적되면 오차가 되고, 오차가 누적되면 적분항이 되는 것이므로, 변화율에 비례한 조정을 한다는 것은 사전적인 개입에 가까우며 (오차 보다 선반영 되기 때문에), 누적값에 비례한 조정을 한다는 것은 사후적인 개입에 가깝다고 볼 수 있을 것 같아요 (오차 보다 후반영 되기 때문에).
만약에 P와 I제어만 이용할 때 오차가 줄어드는 속도가 너무 빠르다면 오버슈트와 발산의 원인이 될 수 있습니다. 시스템이 진정되지 못하고, 계속해서 출렁이게 되는 꼴이지요. D항은 오차가 줄어드는 속도에 맞춰 반대방향으로 제동을 걸어주는 힘입니다.
변화 속도에 맞춰 제동을 건다는 측면에서 D항은 '보수' 성향에 가깝다고 볼 수도 있겠습니다. 빨리 무언가를 바꾸고 싶을 때, 또는 무언가 확 틀어졌을 때 반대로 제동을 걸어 시스템을 안정화 시키는 힘입니다. 목표 값에 도달하기 위해 도입된 P와 I와는 결이 다른 힘이지만, 이를 잘 조정해야 목표값에 우아하게 '안착'하며 시스템이 안정됩니다.
위키페디아에서 P, I, D제어를 시스템에 반영하는 정도인 Kp, Ki, Kd 파라미터에 따른 출력의 변화를 보여주는 gif파일을 보시면 조금 더 직관적인 이해가 가능하실 것 같습니다!
https://ko.wikipedia.org/wiki/PID_%EC%A0%9C%EC%96%B4%EA%B8%B0
ㅎㅎ 앞으로 기대하겠습니다! 그리고 질문이 있는데, 처음 글에도 그렇고 미분항 D의 경우는 사전적인 제어에 가깝다는 뉘앙스로 설명을 해주시고 있는 걸로 이해가 됩니다.
그렇다면, 적분항의 경우 과거 오차값을 누적적으로 반영해서 사후에 제어하는 개념이라면 미분항은 과거 오차값의 변화율을 감안해서 사전적으로 제어하는 것에 가까운 걸까요? I제어만 적용하면 100을 해야하는데, 그러면 오버슈트가 날 가능성이 있으니 과거 변화율까지 감안해서 D제어로 보충한다?
아니면 한번에 곧바로 100을 넣으면 안 되니까 속도조절해가면서 서서히 100까지 올려본다? 이런 느낌일까요? 궁금한게 많아지는 무식자입니다 흑흑.
와, 너무 적절한 예시입니다! 제가 중앙은행의 금리조정이 제어공학과 뭔가 비슷하다.. 정도로 느꼈던 내용을 너무 뚜렷하게 글로 설명해 주셔서 확 와 닿았어요! 딱 하나만 보충하자면, 미분항 D는 금리를 확 올리기 전에 물가가 급격히 떨어질 것을 '미리' 조심하는 것이 더 가까운 표현일 것 같아요. 다양한 이해관계에 얽혀 있을 수록 시스템이 변화에 민감한 경우가 많기 때문에, 큰 문제가 없는 이상 D적 요인을 고려하는 다소 보수적인 행보를 보이는 경우가 많을 것 같아요.
제어 공학은 예를 들면, 모터 제어나 전류/전압 제어처럼 시스템이 거의 정해져 있는 경우가 많기에 어느 정도 제어 과정을 날카롭게 다듬는 것이 가능하겠지만, 중앙은행의 경우는 시스템의 참여자가 너무 많기에 정말 힘든 일이 될 것이라는 생각이 드네요. 앞으로 금융 공학이 발전한다면 어느 정도 안정적으로 제어하는 것이 가능해질까요? (지금은 매 순간 순간이 전쟁 같다는 생각이 드네요..ㅎㅎ)
이런 글도 써도 될까 싶었는데, [경제 디깅]에서 에디터님과 주고 받았던 답글이 큰 동기부여가 되었습니다..ㅎㅎ 다음에 또 한번 도전해 볼게요!