인공지능 머신러닝을 이용한 카트-펜듈럼 이동제어 시스템 성형입력 설계
Copyright © The Korean Society for Precision Engineering
This is an Open-Access article distributed under the terms of the Creative Commons Attribution Non-Commercial License (http://creativecommons.org/licenses/by-nc/3.0) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.
Abstract
The tower crane is widely used in construction and transportation engineering. To improve working efficiency and safety, input shaping methods have been applied. Input shaping is a method of reducing residual vibration of flexible systems by convolving a sequence of impulses with unit step command. However, input shaping is based on the linear system theory in which its control performances are degraded, in case of nonlinearity and unmatched dynamics of the control systems. In this paper, a new optimal reference input shape design method based on minimizing cost function is suggested and applied, to a simple cart-pendulum system which is a simplified model of tower cranes. Since pendulum dynamics is nonlinear, analytic solution does not exist. To overcome this problem, in this paper, a machine learning approach is suggested to find optimal reference input shape for the cart position control. The feasibility of the proposed design method is verified through some simulation examples by using MatLab.
Keywords:
Artificial intelligence, Machine learning, Input shaping, Cart-pendulum system, Gradient descent method, ADAM optimizer키워드:
인공지능, 기계학습, 입력성형, 카트-펜듈럼 시스템, 경사하강법, ADAM 최적화법1. 서론
크레인은 제조업, 물류 이동 등에 널리 사용되는 장비이다. 크레인을 이용한 공정에서 생산성을 높이기 위해 빠른 이동이 요구되고 있지만, 감쇠가 작은 동력학적 특징으로 인해 목표점 도달 이후 발생되는 잔류진동은 장비의 가동률을 감소시킬 뿐 아니라 안전의 위협이 되고 있다[1]. 이 문제 해결을 위해 폐루프 제어 또는 입력성형(Input Shaping)기법이 많이 적용되고 있다. 입력성형기법은 유연 시스템(Flexible System)에서 잔류진동을 효과적으로 제거하는 개루프 제어 방법으로 시스템의 안정성에 영향을 주지 않는 장점을 갖고 있다[1,2].
입력성형기법은 ‘Posicast Control [3]’에 기반을 둔 방법으로 대표적으로 ZV 성형기(Zero Vibration Shaper)를 들 수 있다[4-7]. 이 방법은 표준 2차 시스템에서 임펄스에 의한 진동을 진동의 반주기 이후 추가적인 임펄스를 가함으로써 잔류진동을 상쇄시키는 방법을 응용한 것으로 계단함수와 이 펄스를 합성적분(Convolution Integral)하여 얻은 성형입력을 기준입력으로 사용 방법이다. 이 방법은 이론적으로는 완벽한 잔류진동 상쇄가 가능하지만 실제 제어계의 감쇠비와 고유진동수가 부정확하거나 변화할 경우 상쇄오차로 인해 성능 저하가 발생한다[8-10].
본 연구에서는 일반적인 유연(Flexible) 서보 시스템에 적용할 수 있는 새로운 입력성형 방법을 제안한다. 이 방법에서는 시스템 응답과 원하는 기준응답과의 오차를 기반으로 정의한 평균오차제곱(Mean Squared Error, MSE) 형태의 가격함수(Cost Function)를 최소화하여 성형입력을 결정한다. 가격함수 최적화는 선형시스템의 경우 선형회귀(Linear Regression) 문제에 해당하며, 따라서 최적해를 해석적으로 구할 수 있다. 다만 최적해를 구하기 위해서는 성형입력의 데이터 길이에 해당하는 사각행렬(Square Matrix)의 역행렬 계산이 필요하므로 성형입력의 데이터 길이가 길면 소요되는 역행렬 계산량이 부담이 될 수 있다. 아울러 비선형 시스템에서는 해석적으로 최적해를 구할 수 없는 문제가 있다. 본 연구에서는 이러한 경우 머신러닝을 적용한 성형입력 설계 방법을 제안한다[11]. 머신러닝은 가격함수의 최소점을 경사하강법(Gradient Descent)으로 갱신을 통해 구하므로 비선형 문제를 효과적으로 해결할 수 있는 장점이 있다[12].
본 논문에서는 제안하는 유연 시스템의 성형입력 설계 방법의 타당성 검증이 목적이므로 크레인 시스템을 2자유도 카트-펜듈럼(Cart-Pendulum) 시스템으로 간략화한 모델을 적용 대상으로 선정하였다. 이 시스템은 비선형성 동특성을 갖고 있으므로 해석적인 설계는 불가능하다.
본래 머신러닝에서는 실제 시스템의 실험을 동반한 성형입력갱신을 수행하여야 하나 본 설계 방법의 타당성과 성능의 검증을 위해 MatLab을 활용한 시뮬레이션으로 대신하였다.
2. 카트-펜듈럼 시스템 성형입력 설계
직선운동기구인 카트와 카트에 회전축을 둔 펜듈럼으로 구성된 Fig. 1의 2자유도 카트-펜듈럼 시스템을 고려한다. 이 시스템에서 카트는 작업의 신속성을 위해 가급적 빨리 목표 지점에 도달해야 하며, 카트 이동 중 펜듈럼의 진동이 가급적 작아야 한다. 특히 카트가 목표 지점에 도달한 후 펜듈럼의 잔류진동은 최소화되어야 한다.
Fig. 1에서 카트가 A에서 B 지점으로 가장 신속하게 이동하는 방법은 카트 구동모터의 구동력과 최대속도 제한을 고려하여 최대가속-최대속도-최대감속 형태로 구간별 시간-속도 프로파일(Profile)을 설계하고, 이 속도를 적분하여 위치 프로파일을 정하는 방법이다. 다만 각 구간 경계점에서 가속도의 급격한 변화를 완화하기 위해 가속 구간과 감속 구간의 속도를 코사인(Cosine) 형태의 가속, 감속 프로파일을 따르도록 설계할 수 있다. Fig. 1의 카트-펜듈럼 시스템의 운동방정식은 식(1)과 같다.
(1) |
여기서 m은 카트의 질량, M은 펜듈럼에 매달린 부하로 점질량으로 가정한다. x는 카트 위치, θ는 펜듈럼 회전각, L은 펜듈럼 길이, fc는 카트 구동력, c는 카트 구동계의 댐핑마찰계수, C는 펜듈럼 회전축의 댐핑마찰계수이다. 식(1)에서 카트와 펜듈럼 운동은 상호 연성(Coupling)이 존재하며, 식에 포함된 sinθ가 있어 비선형성이 존재한다. 우선 카트의 서보 제어를 위해 식(2)의 P-D 제어를 적용한다.
(2) |
여기서 w는 카트 서보 제어기의 기준 위치입력이며, 머신러닝을 통해 설계된다. 이 제어기를 식(1)의 카트 운동방정식에 대입하면 식(3)과 같다.
(3) |
식(3)의 카트 운동방정식에서 펜듈럼 운동의 영향인 을 외란으로 간주하면 카트 제어기 이득은 극점배치(Pole Placement) 방법에 의해 결정할 수 있다. 즉, 카트 제어계의 원하는 폐회로의 극점이 다음의 다항식을 만족하도록 한다면 여기서 ςd와 ωd는 원하는 카트 동역학을 결정하는 감쇠비와 고유진동수이다.
(4) |
(5) |
식(1)과 제어기(2)의 카트-펜듈럼 제어 시스템에서 제어 목적의 카트는 주어진 위치 프로파일에 근사하게 이동시키고, 이때 펜듈럼의 진동, 특히 잔류진동을 최소화시키는 것이며, 이 목적을 달성할 수 있도록 카트 서보 제어계의 기준 위치입력 w를 설계하는 것이 본 연구의 목표이다. 이에 따라 식(6)의 가격함수를 정하고, 이 가격함수를 최소화하는 기준 위치입력 w를 성형입력이라 정의하였다.
(6) |
여기서 가격함수는 동일 시간 간격으로 샘플링한 이산계에서 정의하였으며, xr(i)은 주어진 카트 위치 프로파일의 i번째 샘플링 값이다. 우변의 첫 번째 항은 카트의 주어진 위치 프로파일과 실제 카트의 위치 응답의 차이, 두 번째 항은 펜듈럼 회전각, 마지막 항은 성형한 기준입력 데이터의 인접한 두 값의 차이이며, 각각을 제곱하여 합한 것이 가격함수이다. 마지막 항은 성형한 기준입력의 급격한 변화 방지를 위해 고려하였다. λx(i), λθ(i), λw(i)는 각각의 항에 곱한 가중치로 시간에 따라 변화가 가능하다. N은 제어하는 동안의 총 샘플링 수 또는 성형입력 데이터의 개수다. 식(7)은 식(6)의 가격함수를 벡터식으로 표현한 것이다. diag{........}는 중괄호 안의 벡터를 대각요소로 갖는 사각행렬이다.
(7) |
여기서
식(1)의 시스템이 선형일 경우 카트와 펜듈럼 위치응답은 입력 w에 대한 선형관계로 표현되므로, 식(7)을 최소화하는 성형입력 w를 해석적으로 구할 수 있지만, 이 시스템은 비선형이므로 해석해를 구할 수 없다. 따라서 본 연구에서는 머신러닝을 이용하여 최적해를 구하는 방법을 제안한다.
머신러닝에서는 식(8)의 경사하강법을 이용하여 성형입력을 갱신한다. 즉, k번째 성형입력벡터 w(k)에 대한 가격함수의 경사(Gradient) ∂J/∂w(k)에 학습률(Learning Rate) μ를 곱하여 k+1번째 성형입력을 갱신하는 방법으로 가격함수의 최솟값을 찾아간다.
(8) |
만일 이 경사(Gradient)를 해석적으로 표현하지 못할 경우에는 수치미분을 통해 구해야 되므로 계산량의 매우 큰 증가를 피할 수 없다. 이를 피하기 위해 본 연구에서는 식(1)을 선형화한 운동방정식을 기반으로 해석적 경사를 구하여 적용한다.
펜듈럼의 회전각이 작다는 가정 하에 sinθ≅ θ로 근사화하여 식(1)을 선형화한 운동방정식은 식(9)와 같으며, 식(2)를 적용한 선형화된 시스템의 폐회로 전달함수는 식(10)과 같다.
(9) |
(10) |
여기서
식(10)에서 성형입력에 대한 카트와 펜듈럼 응답은 합성 적분(Convolution Integral)을 이산화하여 식(11)로 표현할 수 있다.
(11) |
여기서 hx(k)와 hθ(k)는 성형입력 w(k)가 단위충격일 때 카트와 펜듈럼의 이산응답을 나타낸다. 식(11)을 벡터식으로 나타내면 식(12)와 같이 표현할 수 있다.
(12) |
여기서
식(12)를 식(7)의 가격함수에 대입하면 식(13)과 같이 나타낸다.
(13) |
앞에서 정의한 제어 요구 조건을 바탕으로 기준입력성형 필터를 머신러닝을 이용하여 설계하며, Fig. 2와 같이 FIR 필터 구조의 성형입력벡터 w를 설계한다.
식(13)의 가격함수를 성형입력벡터 w로 미분한 경사는 머신러닝에서는 식(14)의 경사를 이용하여 갱신을 반복한다[12,13].
(14) |
이 갱신 과정에서는 경사의 크기보다는 방향이 중요하며, 최적치에 수렴할수록 펜듈럼 회전각이 작아지므로 선형화 오차도 작을 것이므로, 따라서 선형화 모델의 적용에 문제가 없을 것으로 판단된다.
식(8)의 최적화에서는 성형입력 데이터(파라미터) 모두에 동일한 학습률을 적용한다. 이를 개선하여 파라미터 각각에 독립된 학습률을 적용함으로써 수렴성이 우수한 ADAM (Adaptive Moment Estimation) 알고리즘이 많이 적용되고 있다[13,14]. 이 방법은 가격함수 경사의 1차와 2차 모멘트를 식(15)와 같이 이용한다.
(15) |
파라미터의 갱신은 식(16)에 따른다.
(16) |
여기서 ε은 분모가 파라미터 발산 방지를 위해 사용하며, 대체로 β1 = 0.9, β2 = 0.999, ε = 1e-8이 추천된다. 학습률 μ는 대상에 따라 조정하여 사용하며, 대체적으로 μ = 0.001을 적용한다.
머신러닝을 이용한 성형입력 설계 절차를 정리하면 Table 1과 같다. 우선 스텝 1에서 성형입력 초기 벡터 w(0)를 가정하며, 스텝 2에서 이 입력에 대한 카트와 펜듈럼 응답 x(k)와 θ(k)를 식(12)를 이용하여 계산한다. 스텝 3에서는 가격함수 J(k)를 식(13)에 의해 계산하며, 스텝 4에서 가격함수가 원하는 수준 이하가 되면 설계를 확정하며, 이보다 클 경우 스텝 5에서 가격함수의 성형입력 벡터에 대한 경사 를 식(14)에 의해 계산한다. 스텝 6에서는 계산된 경사를 이용하여 식(15)와 식(16)의 ADAM을 이용하여 입력벡터를 갱신하고, 다시 스텝 2로 가서 이 절차를 반복하게 된다.
3. 성형입력 설계 시뮬레이션
앞에서 설명한 카트-펜듈럼 시스템 성형입력 설계의 타당성과 성능 확인을 위해 MatLab을 이용하여 시뮬레이션을 실시하였다. 시뮬레이션에 사용한 시스템 파라미터는 Tables 2와 같으며, 3은 카트의 최대 가속도와 속도 조건이다.
Fig. 3은 Table 2의 조건에 따라 설계된 카트의 속도와 위치 프로파일이다. 여기서 최대가속 구간-최대속도 구간, 최대속도 구간-최대감속 구간, 최대감속 구간-정지 구간의 전환점에서의 충격을 피하기 위해 코사인 함수를 이용하여 속도가 부드럽게 변화하도록 하였다.
Figs. 4는 3의 위치 프로파일이 카트 위치 제어계의 기준 위치입력일 경우 카트와 펜듈럼 응답이다. 펜듈럼은 큰 진폭의 잔류진동이 있으며, 고려한 점성마찰에 의한 진폭 감소가 나타난다. 카트는 목적위치에 도달한 후 작은 진동이 발생되고 있는데, 이는 카트와 펜듈럼 운동의 연성 때문이다. 즉, 펜듈럼의 진동이 카트의 외란으로 작용했기 때문이다. 응답 시뮬레이션에서는 식(1)의 비선형 모델을 이용하였다.
머신러닝을 이용한 성형입력 설계에서는 적용하는 가중치에 따라 다른 수렴 특성과 제어 성능을 보인다. 우선 Fig. 5는 식(6)의 가격함수에서 가중치가 λx = 1, λθ = 1, λw = 0인 경우 즉, 성형입력 변화에 대한 가중치가 없는 경우 12,000번 갱신 후 설계된 성형입력으로 이웃한 데이터 사이의 큰 변화가 나타남을 알 수 있으며, 따라서 이 가중치 λw가 필요함을 확인할 수 있다.
Fig. 6은 λx = 1, λθ = 10, λw = 10인 경우 성형입력의 초기치를 크기가 0.1인 계단함수로 한 경우 갱신에 따른 성형입력과 이 성형입력에 의한 카트와 펜듈럼 응답이다. 갱신이 진행됨에 따라 가격함수는 지속적인 감소를 보였으며, 카트의 응답은 주어진 위치 프로파일에 접근하고, 펜듈럼의 진동도 감소되는 것을 확인할 수 있다. 여기서 k는 갱신 숫자를 나타낸다.
가중치의 변화에 따른 머신러닝 수렴 차이를 분석하기 위해 Table 3의 가중치를 선정하였다. 특히 카트의 응답과 펜듈럼 응답의 가중치 비율에 따른 차이에 중점을 두었다.
사례 1부터 4는 λw = 10으로 고정하고, λθ / λx = 0.1, 1, 10, 100인 경우이며, Fig. 7은 각각의 경우 성형입력, 카트와 펜듈럼 응답이다. 이 응답 특성을 정량적으로 정리하면 Table 5와 같다.
모든 경우 카트 응답의 상승 시간(Rise Time)은 원하는 기준 응답의 상승 시간 3초에 비해 지연이 있으며, 약간의 과도응답이 발생하고 있다. 카트 응답 대비 펜듈럼 응답에 대한 가중치를 증가시킬수록 카트의 응답은 기준응답에 비해 지연이 증가하며 과도응답도 증가한다. 반면에 펜듈럼의 잔류진동의 크기와 정착 시간은 감소함을 알 수 있다. 여기서 펜듈럼 잔류응답의 크기는 카트가 정착하는 근처에서의 진동의 최대 크기로 정의하였으며, 정착 시간은 펜듈럼 진동의 각도 0.1o 폭을 기준으로 정의하였다.
특히 λθ / λx = 100인 사례 4의 경우 펜듈럼 잔류진동의 크기 감소가 크지만 카트의 응답 지연은 큰 증가를 보인다. 이는 가격함수가 세 가지 오차제곱의 합으로 구성되므로 가중치의 비율 λθ / λx 가 증가하면 펜듈럼 응답에 대한 비중이 커지는 대신 카트 응답에 대한 가중은 상대적으로 감소하기 때문이다.
Figs. 8(a)는 사례 4에서의 카트의 위치응답과 원하는 카트 위치 프로파일, 8(b)는 카트의 속도응답과 원하는 카트속도 프로파일이다. 원하는 속도, 위치 프로파일에 비해 실제 카트 응답은 시간지연이 있는데, 이 차이는 식(7)의 가격함수에 펜듈럼의 회전각, 성형입력의 변화속도가 포함되어 있기 때문이다. 단, 카트 위치응답은 원하는 위치 프로파일에 수렴하는 것을 알 수 있다.
카트-펜듈럼 제어 시스템에서 카트의 신속한 이동과 펜듈럼의 잔류진동 최소화가 목적이며, 따라서 Fig. 7에서의 상수 가중치 대신 펜듈럼 가중치를 지수함수에 적용하였다. Figs. 9는 7의 3, 4번 사례와 Table 4의 5번째 사례인 λx = 1, λθ = 10e0.2t, λw = 10의 응답을 비교한 것이다. 펜듈럼 응답 가중치가 시간에 따라 지수적으로 증가하므로 시간이 지날수록 가격함수에서 펜듈럼 응답에 대한 비중이 상대적으로 증가하게 된다. 결과는 카트의 응답 성능과 펜듈럼 잔류진동의 크기는 사례 3과 유사하나 잔류진동의 정착 시간은 사례 3과 비교하면 1.1초 감소하여 빠른 잔류진동 감쇠를 보였다. 다양한 가중치를 적용하여 시뮬레이션한 결과 중 사례 5가 대표적으로 우수한 응답으로 나타났다.
4. 결론
유연 시스템의 잔류진동 감소를 위해 가격함수 최소화에 기반한 새로운 입력성형기법을 제안하였으며, 크레인의 단순 모델에 해당하는 카트-펜듈럼 시스템에 적용하였다. 시스템의 비선형 특성 문제 해결을 위해 입력성형 설계에 머신러닝 방법을 이용하였다. 제어 성능은 가격함수에 사용하는 가중치의 상대적인 비율에 따라 다르며, 잔류진동 감소를 위해 지수함수 형태의 가중함수가 효과적임을 보였다. 본 연구에서 제안한 성형입력 설계 방법은 선형 또는 비선형 특성을 갖는 일반적인 유연 서보 제어 시스템에 적용 가능하므로 다양한 분야에 적용이 기대된다.
본 논문에서는 시뮬레이션에 의한 설계 과정을 제시하였으나 여기서 설계된 성형입력을 실험적 머신러닝 설계에서 설계 초기치로 이용하게 되면 실험적 머신러닝 학습 과정에서의 사고 위험을 줄일 수 있을 것이며, 또한 실험적 머신러닝에 소요되는 긴 시간의 학습 과정을 축소할 수 있을 것으로 기대한다. 본 연구 결과가 기계공학 분야에서 인공지능의 적용 확대에 기여할 수 있기를 희망한다.
NOMENCLATURE
c : | Viscous Friction Coefficient of Cart System |
C : | Viscous Friction Coefficient of Pendulum System |
g : | Gravitational Acceleration |
h : | Impulse Response Function |
J : | Cost Function |
L : | Length of Pendulum |
m : | Cart Mass |
M : | Pendulum Mass |
x : | Cart Displacement |
xr : | Desired Cart Position Profile |
w : | Shaped Reference Input |
λ : | Weight in Cost Function |
μ : | Learning Rate |
θ : | Rotation Angle of Pendulum |
REFERENCES
- Baek, W.-B., Shin, J.-H., (2012), Anti-sway tracking control of container cranes with friction compensation, Journal of the Korean Society of Manufacturing Technology Engineers, 21(6), 878-884. [https://doi.org/10.7735/ksmte.2012.21.6.878]
- Ramli, L., Mohamed, Z., Abdullahi, A. M., Jaafar, H. I., Lazim, I. M., (2017), Control strategies for crane systems: A comprehensive review, Mechanical Systems and Signal Processing, 95, 1-23. [https://doi.org/10.1016/j.ymssp.2017.03.015]
- Smith, O. J., (1957), Posicast control of damped oscillatory systems, Proceedings of the IRE, 45(9), 1249-1255. [https://doi.org/10.1109/JRPROC.1957.278530]
- Singer, N. C., Seering, W. P., (1990), Preshaping command inputs to reduce system vibration, Journal of Dynamic Systems, Measurement and Control, 112(1), 76-82. [https://doi.org/10.1115/1.2894142]
- Singhose, W., Seering, W., Singer, N., (1994), Residual vibration reduction using vector diagrams to generate shaped inputs, Journal of Mechanical Design, 116(2), 654-659. [https://doi.org/10.1115/1.2919428]
- Sorensen, K. L., Singhose, W. E., (2008), Command-induced vibration analysis using input shaping principles, Automatica, 44(9), 2392-2397. [https://doi.org/10.1016/j.automatica.2008.01.029]
- Singhose, W., (2009), Command shaping for flexible systems: A review of the first 50 years, International Journal of Precision Engineering and Manufacturing, 10(4), 153-168. [https://doi.org/10.1007/s12541-009-0084-2]
- Singhose, W., Eloundou, R., Lawrence, J., (2010), Command generation for flexible systems by input shaping and command smoothing, Journal of Guidance, Control, and Dynamics, 33(6), 1697-1707. [https://doi.org/10.2514/1.50270]
- Kim, B.-S., (2011), Input shaping for servo control of machine tools, Journal of the Korean Society for Precision Engineering, 28(9), 1011-1017.
- Kang, C.-G., Hassan, R., (2020), Design and analysis of input shapers using impulse vectors, Journal of Institute of Control, 26(1), 1-8. [https://doi.org/10.5302/J.ICROS.2020.19.0193]
- Kim, D. Y., (2022), Input shaping design with machine learning for minimizing residual vibration of crane servo system, M.Sc. Thesis, Gachon University.
- Geron, A., (2017), Hands-on machine learning with scikit-learn & tensorflow, O’Reilly Media.
- Weidman, S., (2019), Deep learning from scratch, O’Reilly Media.
- Kingma, D. P., Ba, J., (2015), ADAM: A method for stochastic optimization, Proceedings of the International Conference on Learning Representations, 1-15.
MS candidate in the Department of Mechanical Engineering, Gachon University. His research interest is control engineering.
E-mail: doyo412@naver.com
Professor in the Department of Mechanical Engineering, Gachon University. His research interest is dynamic systems & control.
E-mail: mskang@gachon.ac.kr