정상윤
(Sangyoon Jeong)
1
좌동경
(Dongkyoung Chwa)
2†
-
(Dept. of Electrical and Computer Engineering, Ajou University, Korea)
-
(Dept. of Electrical and Computer Engineering, Ajou University, Korea)
Copyright © The Korean Institute of Electrical Engineers(KIEE)
Key words
Nonlinear parameter estimation, Recursive least squares, Projectile motion, Motion capture system, Real-time
1. 서론
환경에 따라 파라미터가 계속해서 바뀌는 동역학 시스템의 모델링과 제어를 위해 파라미터를 실시간으로 추정하는 연구들이 진행되고 있다
(1-3)
. 기존에 연구된 기법들 중에서 선형 재귀 최소 자승법
(4)
의 경우 빠른 시간 내에 파라미터를 추정할 수 있다는 장점이 있으나 비선형 시스템에 바로 적용할 수 없다는 한계가 있다. 비선형 시스템의 파라미터를
추정하기 위해서 비선형 재귀 최소 자승법
(5)
, 확장 칼만 필터
(6)
등 비선형 시스템의 파라미터를 추정할 수 있는 기법들이 진행되고 있으며, 인공 신경망
(7)
과 유전 알고리즘
(8)
과 같이 인공지능 학습을 사용하여 파라미터를 추정하는 연구들도 시도되고 있다.
이러한 시스템들은 보통 파라미터를 추정하기 위한 연산 시간이 오래 걸리기 때문에 포물체의 운동과 같이 짧은 시간 안에 끝나는 시스템에 적용하기에는
부적합하다. 또한 시스템의 파라미터가 급격하게 변화하는 경우 유연하게 대처하기 어렵다.
본 논문에서는 비스듬히 던져진 3차원 포물체의 위치를 공기저항을 고려한 비선형 모델로 나타낸 후 비선형성을 갖는 항을 테일러 전개를 사용하여
다항식으로 근사화하여 선형 재귀 최소 자승법을 사용함으로써 실시간으로 포물선 운동 궤적을 예측한다. 모션 캡처 장치
(9)
로부터 물체가 운동하는 동안 위치좌표를 받아 실제 실험을 통해 선형 모델보다 정확하면서도 비선형 최소 자승법보다 연산속도가 빠름을 검증한다.
2. 3차원 포물체의 운동 방정식
본 절에서는 그림1의 3차원 포물체에 대해 공기저항을 고려하지 않은 선형 운동 방정식과 공기저항을 고려한 비선형 운동 방정식에 대하여 설명한다.
2.1 공기저항을 무시한 3차원 포물체의 운동 방정식
공기저항을 고려하지 않았을 때 3차원 상에서 비스듬히 던져진 물체의 위치는 와 같다.
여기서 $x _ { 0 } , y _ { 0 } , z _ { 0 }$는 포물체의 초기 위치이며, $v _ { x0 } , v _ { y0 } ,
v _ { z0 }$는 포물체의 초기 속도, $t$는 시간, $g$는 중력 가속도이다.
그림. 1. 3차원 공간에서 비스듬히 던져진 물체.
Fig. 1. Obliquely thrown object in three dimensional space.
2.2 공기저항을 고려한 3차원 포물체의 운동 방정식
보다 정밀하게 포물체의 운동을 나타내기 위하여 실제 실험 환경에서 발생하는 공기저항을 고려할 수 있다. 포물체가 받는 공기저항에 의한 힘을 점성 마찰력
모델[10]을 사용하여 다음과 같이 나타낼 수 있다.
여기서 $k _ { x } , k _ { y } , k _ { z }$는 포물체의 $x, y, z$방향 공기저항계수, $v _ { x } , v _
{ y } , v _ { z }$는 각 방향의 포물체 속도 성분, $m$은 포물체의 질량이다.
식 (4), (5), (6)은 뉴턴 제2법칙에 의해
으로 나타낼 수 있다. 이를 통해 공기저항을 고려하였을 때 3차원 상에서 포물체의 위치는 다음과 같이 나타낼 수 있다.
3. 파라미터 추정 알고리즘
3.1 비선형 최소 자승법을 이용한 운동 방정식 파라미터 추정
파라미터 추정을 위해 (10), (11), (12)를 다음과 같이 나타낼 수 있다.
여기서 $\widehat{ \overline{ \theta } } _ { x } = [a _ { 1 } a _ { 2 } a _ { 3 } ]$,
$\widehat{ \overline{ \theta } } _ { y } = [b _ { 1 } b _ { 2 } b _ { 3 } ]$, $\widehat{
\overline{ \theta } } _ { z } = [c _ { 1 } c _ { 2 } c _ { 3 } c _ { 4 } ]$, $\widehat{
\overline{ \theta } } _ { x } , \widehat{ \overline{ \theta } } _ { y } \in R ^ {
3 }$, $\widehat{ \overline{ \theta } } _ { z } \in R ^ { 4 }$이다.
포물체의 운동 궤적을 근사하기 위한 비용 함수를 다음과 같이 설정한다.
여기서 $E _ { x }$, $E _ { y }$, $E _ { z }$는 포물체의 실제 위치와 추정치의 차이로서 $E _ { x } := x -
x( \widehat{ \overline{ \theta } } _ { x } )$, $E _ { y } := y - y( \widehat{ \overline{
\theta } } _ { y } )$, $E _ { z } := z - z( \widehat{ \overline{ \theta } } _ { z
} )$이다.
식 (16), (17), (18)을 최소로 하는 $\widehat{ \theta _ { x } } , \widehat{ \theta _ { y } } , \widehat{ \theta
_ { z } }$의 값은
을 반복적으로 수행하여 얻을 수 있다. 여기서 $k$는 반복 횟수, $H _ { x,k } , H _ { y, k } , H _ { z, k }$는
각각 $k$번째로 계산된 $E _ { x }$, $E _ { y }$, $E _ { z }$의 자코비안이다.
3.2 비선형 운동 방정식의 다항식 근사
비선형 최소 자승법의 경우 비선형 시스템의 파라미터를 추정할 수 있다는 장점이 있다. 그러나 추정을 위한 연산 과정에 시간이 많이 소요되기 때문에
포물체의 운동궤적 예측과 같은 실시간 추정에 사용하기에는 부적합하다. 이를 해결하기 위해 운동 방정식 내의 비선형성을 갖는 부분을 다항식으로 근사한다.
동작점이 $x _ { 0 }$인 함수 $f(x)$에 대한 테일러 전개는 다음과 같다.
포물체의 운동은 짧은 시간 내에 끝나므로 운동 방정식의 비선형성을 갖는 부분은 시간 $t$에 대해 테일러 전개할 수 있다. (22)를 사용하면
와 같이 나타낼 수 있고, 이를 다음과 같이 다항식으로 근사한다.
$C$는 임의의 상수이다.
이를 이용하면 (10), (11), (12)는
으로 나타낼 수 있다. 여기서 $\hat { \theta } _ { x } = \left[ \begin{array} { l l l l l } {
d _ { 1 } } & { d _ { 2 } } & { d _ { 3 } } & { d _ { 4 } } & { d _ { 5 } } \end{array}
\right]$, $\hat { \theta } _ { y } = \left[ \begin{array} { l l l l l } { e _ { 1
} } & { e _ { 2 } } & { e _ { 3 } } & { e _ { 4 } } & { e _ { 5 } } \end{array} \right]$,
$\hat { \theta } _ { z } = \left[ \begin{array} { l l l l l } { f _ { 1 } } & { f
_ { 2 } } & { f _ { 3 } } & { f _ { 4 } } & { f _ { 5 } } \end{array} \right]$, $\hat
{ \theta } _ { x } , \hat { \theta } _ { y } , \hat { \theta } _ { z } \in R ^ { 5
}$ 이다.
3.3 재귀 최소 자승법(RLS)을 이용한 시스템의 실시간 파라미터 추정
파라미터 실시간 추정을 위해 먼저 최소 자승법을 통해 초기 5개의 값을 이용하여 초기값을
$h(k)= \begin{bmatrix} 1 t(k) t(k) ^ { 2 } t(k) ^ { 3 } t(k) ^ { 4 } \end{bmatrix}
^ { T }$,$H(k)= \begin{bmatrix} h(1) h(2) \cdots h(k) \end{bmatrix} ^ { T }$, $X
_ { 0 } = \begin{bmatrix} x(1) x(2) x(3) x(4) x(5) \end{bmatrix} ^ { T }$, $Y _ {
0 } = \begin{bmatrix} y(1) y(2) y(3) y(4) y(5) \end{bmatrix} ^ { T }$,
$Z _ { 0 } = \begin{bmatrix} z(1) z(2) z(3) z(4) z(5) \end{bmatrix} ^ { T }$, $P(0)
=( H(5) ^ { T } H(5)) ^ { -1 }$
와 같이 설정하면
에 의해 파라미터의 초기값을 구할 수 있다. 여기서 $x(k)$는 물체의 $k$번째 $x$좌표, $t(k)$는 $k$번째 데이터까지의 수행시간이다.
재귀 최소 자승법[11]을
와 같이 반복하여 수행하면 다항식으로 근사화된 운동 방정식의 파라미터를 실시간으로 추정할 수 있다. 이를 통해 포물체의 운동 궤적을 예측할 수 있다.
와 같이 반복하여 수행하면 다항식으로 근사화된 운동 방정식의 파라미터를 실시간으로 추정할 수 있다. 이를 통해 포물체의 운동 궤적을 예측할 수 있다.
4. 실 험
이번 절에서는 제안한 추정 기법의 타당성을 검증하기 위해 실험결과를 제시한다. 모션 캡처 장치로부터 3차원 좌표 정보를 받아 파라미터를 추정한 후
이를 기반으로 궤적을 예측한다. 제안된 기법의 성능을 확인하기 위해 공기저항을 고려하지 않은 모델에 대해 선형 칼만 필터를 사용하여 궤적을 추정했을
때의 결과와 비교하였다.
그림. 2. 실험 환경.
Fig. 2. Experimental environment.
그림2에서와 같이, 포물체가 던져지는 실험 공간에 설치되어있는 VICON Bonita 모션 캡처 시스템[9]을 이용하여 반사 마커가 부착된 포물체의 위치 좌표를 Matlab/Simulink 환경에서 처리하였다. 포물체의 위치 좌표값은 100Hz의 샘플링
시간마다 3mm 이내의 오차로 받아 실험을 진행하였다. 공기저항이 실제 운동 궤적에 끼치는 영향을 살펴보기 위해 셔틀콕 형태의 물체에 모션 캡처용
마커를 부착하여 실험에 사용하였다.
그림3은 각 반복 횟수마다 추정된 $\widehat{ \theta } _ { x }$, $\widehat{ \theta } _ { y }$, $\widehat{
\theta } _ { z }$의 값을 나타낸 것이고, 표1은 최종적으로 추정된 파라미터 값을 나타낸다.
그림. 3. 파라미터 추정 결과.
Fig. 3. Estimation of parameters.
실험에 사용한 포물체는 자세각에 따라 공기저항계수인 $k _ { x }$, $k _ { y }$, $k _ { z }$가 변화하기 때문에, 공기저항계수항을
포함한 파라미터인 $d _ { 3 } , d _ { 4 } , d _ { 5 } , e _ { 3 } , e _ { 4 } , e _ { 5 } ,
f _ { 3 } , f _ { 4 } , f _ { 5 }$는 추정을 반복할 때마다 값이 급격하게 변화하는 것을 볼 수 있다. 샘플링 시간이 0.01초이므로,
포물체가 운동을 시작한지 약 0.8초 이후에는 포물체의 자세각이 크게 변화하지 않고 파라미터 추정값이 일정하게 유지된다.
표 1. 파라미터 추정 결과.
Table 1. Estimation of parameters.
$\hat { \theta } _ { x }$
|
추정값
|
$\hat { \theta } _ { y }$
|
추정값
|
$\hat { \theta } _ { z }$
|
추정값
|
$d _ { 1 }$
|
0.5427
|
$e _ { 1 }$
|
-3.1349
|
$f _ { 1 }$
|
0.2716
|
$d _ { 2 }$
|
-0.8597
|
$e _ { 2 }$
|
3.7864
|
$f _ { 2 }$
|
5.0059
|
$d _ { 3 }$
|
0.7657
|
$e _ { 3 }$
|
0.4293
|
$f _ { 3 }$
|
-4.1275
|
$d _ { 4 }$
|
-0.9139
|
$e _ { 4 }$
|
-1.2752
|
$f _ { 4 }$
|
-0.8671
|
$d _ { 5 }$
|
0.4627
|
$e _ { 5 }$
|
0.5618
|
$f _ { 5 }$
|
0.4011
|
표 2. 평균 제곱 오차.
Table 2. Mean Squared Error.
|
시나리오 1
|
시나리오 2
|
Kalman filter
|
Proposed
|
Kalman filter
|
Proposed
|
$x$
|
0.0181
|
0.0041
|
0.0184
|
0.0070
|
$y$
|
0.0422
|
0.0034
|
0.0330
|
0.0090
|
$z$
|
0.0109
|
0.0113
|
0.0094
|
0.0087
|
그림4의 (a), (b), (c)는 VICON 모션 캡처 시스템으로부터 얻은 시간에 따른 포물체의 위치좌표와 그를 추정한 결과를 보여준다. $n$개의 데이터에 대하여 평균 제곱 오차(MSE)를
로 계산하여 추정 결과의 정확도를 수치적으로 표2에서와 같이 확인할 수 있다. 기존의 실시간 파라미터 추정 방법인 선형 칼만 필터를 공기저항을 고려하지 않은 모델에 대해 시행한 결과와 비교하면 공기저항을
고려하여 RLS를 사용한 방식이 보다 우수하다. 이로 부터 공기저항을 고려한 3차원 포물체의 운동 방정식을 고려해야 함을 알 수 있다.
그림4의 (d)와 그림5는 각기 다른 궤적으로 던진 포물체의 3차원 위치 좌표와 추정 결과를 나타낸다. 기존의 방식으로는 실시간 추정이 가능하다는 장점이 있으나 포물체가
받는 공기저항을 고려하지 못해 추정 궤적이 실제 궤적과 큰 차이를 보였다. 제안된 방법으로는 공기저항을 고려하여 물체의 실제 궤적을 보다 유사하게
표현할 수 있었으며, 실시간으로 파라미터를 추정하기 때문에 공기저항계수를 포함한 파라미터가 계속해서 변함에도 실시간으로 유연하게 궤적을 예측할 수
있다. 두 가지 경우 모두 기존의 방식보다 제안한 방법의 성능이 나음을 확인할 수 있다.
그림. 4. 포물체의 궤적 추정 결과 (시나리오 1).
Fig. 4. Trajectory estimation of projectile (scenario 1).
그림. 5. 포물체의 3차원 궤적 추정 결과 (시나리오 2) (circle: 기준값, 파선: 선형 칼만 필터, 실선: 제안한 방법).
Fig. 5. 3D trajectory estimation of projectile (scenario 2) (circle: reference, dashed:
linear Kalman filter, dash-dotted: proposed method).
6. 결 론
기존의 재귀 최소 자승법의 경우 선형 모델에만 적용할 수 있기 때문에 일반적인 비선형 시스템에 대해서는 사용할 수 없다. 또한, 포물체의 운동과 같이
빠른 시간 내에 추정이 끝나야 하는 시스템의 경우 비선형 재귀 최소 자승법은 연산시간 면에서 비효율적이다. 따라서 본 논문에서는 비선형성을 갖는 부분을
테일러 전개를 사용해 다항식으로 근사한 선형 모델에 대해 재귀 최소 자승법으로 운동 방정식 파라미터를 실시간으로 추정할 수 있도록 하였다. 모션 캡처
시스템으로 포물체의 좌표를 받아 궤적이 성공적으로 추정되었으며 기존의 방법보다 우수함을 실험을 통해 검증하였다. 이는 동작점 근처에서만 작동하여 테일러
전개가 가능한 비선형 시스템에 대하여 적용할 수 있다는 점에서 활용 범위가 넓다고 볼 수 있다.
감사의 글
이 논문은 정부(미래창조과학부)의 재원으로 한국연구재단의 지원을 받아 수행된 연구임(2017R1A2B4009486).
References
Stephan J., Bodson M., Chiasson J., 1994, Realtime Estimation of the Parameters and
Fluxes of Induction Motors, IEEE Transactions on Industry Applications, Vol. 30, No.
3, pp. 746-759
Boaventura Cunha J., Couto C., Ruano A.E., 1997, Real-time parameter estimation of
dynamic temperature models for greenhouse environmental control, Control Engineering
Practice, Vol. 5, No. 10, pp. 1473-1481
Kara T., Eker I., 2004, Nonlinear modeling and identification of a DC motor for bidirectional
operation with real time experiments, Energy Conversion and Management, Vol. 45, No.
7-8, pp. 1087-1106
Djigan V.I., 2006, Multichannel parallelizable sliding window RLS and fast RLS algorithms
with linear constraints, Signal Processing, Vol. 86, No. 4, pp. 776-791
Alessandri A., Cuneo M., Pagnan S., Sanguineti M., 2007, A recursive algorithm for
nonlinear least-squares problems, Computational Optimization and Applications, Vol.
38, No. 2, pp. 195-216
Marquardt D.W., 1963, An Algorithm for least-squares estimation of nonlinear parameters,
Journal of the Society for Industrial and Applied Mathematics, Vol. 11, No. 2, pp.
431-441
Chon K.H., Cohen R.J., 1997, Linear and nonlinear ARMA model parameter estimation
using an artificial neurol network, IEEE Transactions on Biomedical Engineering, Vol.
44, No. 3, pp. 168-174
Yao L., Sethares W.A., 1994, Nonlinear Parameter Estimation via the Genetic Algorithm,
IEEE Transactions on Signal Processing, Vol. 42, No. 4, pp. 927-935
2016, What is Motion Capture, [Online]. Available: https://www.vicon.com/what-is-motion-capture
Armstrong-Helouvry B., 1991, Control of machines with friction, Kluwer Academic Publishers
Mendel J.M., 1995, Lessons in Estimation Theory for Signal Processing, Communications,
and Control, Prentice Hall
저자소개
2017년 아주대 전자공학과 졸업
2017년~현재 아주대 전자공학과 석사과정
Tel : 031-219-2489
Fax : 031-212-9531
E-mail :
fnxmaktm@ajou.ac.kr
1971년 12월 23일생
1995년 서울대 제어계측공학과 졸업
2001년 동 대학원 제어계측공학과 졸업(공박)
2005년~현재 아주대 전자공학과 교수
Tel : 031-219-1815
Fax : 031-212-9531
E-mail :
dkchwa@ajou.ac.kr