서 론
강인한 자동조타 시스템은 선박의 항해 자동화 및 무인 화 구현에 필수적이다. 자동조타 시스템은 선박이 외란 등에 의해 설정 침로에서 벗어나거나 항해사가 설정 침로 를 변경하면 시스템 내부적으로 설정 침로와 현재의 선수 방위를 지속해서 비교하여 침로오차를 생성하고, 이것에 의한 타각 명령을 조타기로 보내 설정 침로를 정확하게 추종하도록 한다. 선박의 조타 특성에 영향을 미치는 요 인들에는 선속, 적하상태, 트림, 흘수 등의 운항 조건에 의한 것과 바람 및 조류와 같이 수시로 변화하는 환경요 인에 의한 것이 있을 수 있어 제어하기가 까다롭다.
오차 기반 피드백 제어시스템을 위한 일반적인 PID 제어기는 시스템의 모델이 주어졌을 때 체계적으로 분 석하거나 시행착오에 의해 PID 제어기 이득을 쉽게 찾 을 수 있다는 것이 잘 알려진 사실이다. 이러한 단순성과 튜닝의 용이성을 가진 일반적인 PID 제어기에는 근본적 으로 다음과 같은 한계가 있다. 대부분 계단상으로 입력 되는 설정치를 따르는 출력을 얻기 위해 제어신호가 갑 자기 점프 되는데 이는 대부분의 동적시스템에는 적합 하지 않다. PID 제어기는 잡음의 영향으로 인해 미분항 없이 구현되는 경우가 많다. 각각의 제어 가중치는 선형 결합으로 단순하지만, 현재와 과거의 오차, 그리고 오차 의 변화율에 근거한 최선의 제어가 아닐 수도 있다. 적분 항은 정상상태 오차를 제거하는 데 중요하지만 위상 지 연으로 인한 포화 및 안정성 마진 감소와 같은 다른 문제 가 발생한다(Han, 2009).
본 논문에서는 선박의 선수각을 제어하기 위해 선박 운항 중 항해에 영향을 미치는 환경적인 외란, 센서의 측정잡음, 그리고 제어기 설계시 모델의 불확실성에 강 인할 수 있는 제어성능에 중점을 둔 실수코딩유전알고 리즘(RCGAs: Real-Coded Genetic Algorithms) 기반 선 형 능동외란제거제어 (LADRC: Linear Active Disturbance Rejection Control) 설계 방법을 제안한다. LADRC는 과 도상태 프로파일(transient profile), 확장된 선형 상태관 측기(linear extended state observer) 및 비례 제어기로 구성되어 있으며 시스템에 가해지는 외란과 내부적인 불확실성을 전체 외란으로 취급하며 실시간으로 추정하 고 보상한다. 이때 LADRC에 포함되어 있는 제어기 이 득과 상태관측기 이득은 제어시스템의 평가함수로서 시 간 가중 절대 오차 적분(ITAE: Integral Time- weighted Absolute Error)을 최소화하는 관점에서 RCGAs로 동조 한다. 제안한 방법을 Mariner Class Vessel (MCV)의 선수 각 제어에 적용하여 시뮬레이션을 수행하고, 그 유효성 을 확인한다.
재료 및 방법
선박 조종 운동 모델링
선박의 정확한 수학모델 표현은 선박의 물리적 모델 특성을 효과적으로 얻는 데 필요한 것이고 향상된 제어 시스템을 설계할 때 이용하게 된다. 이러한 선박의 수학 모델 표현 방법에는 고립된 효과를 연구할 수 있는 유체 동역학적 모델인 전통적인 방법과 선체 제어시스템 설계 에 대한 표준 모델로 국제협회에서 채택되어 사용되고 있는 벡터 모델 방법이 있다(Fossen, 2002;Lee, 2005).
선박의 조종 운동을 표현하는 대표적인 수학모델은 선체에 작용하는 유체력을 Taylor 전개하여 표시한 Abkowitz (1969)모형이다(Jung, 2006). 수학모델이 복 잡해질수록 물리적 현상을 더 자세하게 기술할 수 있지 만, 이는 수학모델의 파라미터에 대한 시스템의 많은 정보가 필요하게 된다. 이러한 관점에서 Nomoto (1960) 가 제안한 응답 모델은 타의 변화에 대한 선수각의 응답 을 표시한 수학모델로써 비교적 간단하며 선박의 조종 운동을 유체력의 관점이 아니라 주어진 힘(타각의 변화) 에 대한 선박각의 응답(회전운동) 관계로써 나타낸 모델 로 선형항만으로 표시되므로 자동조타 시스템 구성 등 에 적용하기 편리하다(Ahn et al., 2010).
선박을 강체(rigid body)라 간주하면 선박의 이동과 회전에 따른 운동을 6자유도 운동으로 다룰 수가 있다. 본 연구에서는 가장 보편적인 좌표계로서, 선박에 고정 된 직각좌표계 G-xbybzb를 Fig. 1에 나타내었다(SNAME, 1950;Newman, 1977;Lewis, 1989;Fossen, 1994;Fossen, 2002). 선박의 무게중심 G에 고정된 원점과 xbybzb 좌표계는 선박과 함께 움직이며 선박 운동의 주요 변수를 나타내는 데 사용된다. X, Y, Z는 각각 xb, yb, zb방향에 대한 힘을 나타내고, K, M, N은 xb, yb, zb축 에 대한 모멘트를 나타내며, u (surge), υ (sway), w (heave)는 xb, yb, zb방향에 대한 선속도, p (roll), q (pitch), r (yaw rate)은 xb, yb, zb축에 대한 각속도를 나타낸다. 선체에 작용하는 유체력을 표현할 때는 Fig. 1 과 같이 선박고정좌표계를 사용하고, Fig. 2와 같이 수평 면상에서의 회두각(방위각, ψ) 변화는 지구고정 xnynzn 좌표계(NED, n-frame, North-East-Down)를 이용하는 것이 편리하다. x, y, z와 ϕ (heel), θ (trim), ψ (yaw)는 각각 xb, yb, zb축의 위치와 각도이다.
SNAME (The Society of Naval Architects and Marine Engineers)에서 전통적으로 사용되는 선박의 수학적 모 델은 뉴턴의 법칙을 기반으로 표현된 것이 구성요소 형 태로서 선체를 모델링하는데 일반적으로 사용되고 있 다. 조선공학에서 사용되는 이러한 전통적인 모델은 많 은 유체력 계수들 때문에 각 항목 사이에 복잡한 관계를 갖게 되는데, 이는 충분한 분석을 통해 유체력 계수들을 구하는 것과 모델 기반 제어시스템을 설계하는 것을 어 렵게 한다. 이러한 이유로 Fossen (1994)은 제어를 효과 적으로 하기 위해 벡터 모델을 제안하였다.
본 연구에서는 Fossen의 6자유도 비선형 운동방정식 중 Fig. 2와 같이 선박의 수평운동만을 고려한다. Fig. 2에서 U는 선박의 병진속도이다. 선박의 조종운동은 수면이 잔잔하고 바람이 없는 경우 히브(heave), 롤(roll) 그리고 피치(pitch) 운동은 무시하고, 주로 수평면상에 서의 서지(surge), 스웨이(sway) 그리고 요(yaw) 운동만 으로 묘사할 수 있다. 식 (1)은 3자유도 모델의 강체 부 분만 고려한 것이다.
여기서, MRB는 강체관성(rigid body inertia matrix)과 관련된 항, CRB (ν)는 코리올리스 (Coriolis-centripetal) 효 과와 관련된 항, 이다.
수평면 모델 식 (1)을 확장해보면 식 (2)와 같다.
여기서, m은 강체의 질량, xg는 xb축 상의 무게중심, Iz는 zb축에 대한 관성모멘트이다. 힘과 모멘트항 X, Y, N은 추력과 타편향, 속도와 가속도 성분으로 식 (3) 과 같은 비선형함수이다.
여기서, T 와 δ 는 하나의 프로펠러를 추진기로 가진 선박에서 추력과 타편향(rudder deflection)을 나타낸다.
선박 조종모델로부터 식 (4)와 같은 침로제어를 위한 1자유도 자동조타 모델을 구할 수 있다.
여기서, M은 강체의 관성모멘트와 부가질량, N(u0) 는 요 모멘트로써 선박이 일정한 속도 u0일 때 물체 형 상에 따라 생기는 회전 모멘트의 일종인 뭉크모멘트 (monk moment)를 비선형 점성에 의한 모멘트로 포함시 킨 것이다. b는 선박이 선회를 위해 타각 δ만큼 조타시 선체에 작용하는 타력과 모멘트이다. 선수의 회두각속 도 r을 식 (5)와 같이 정의하고, 식 (4)를 라플라스변환 을 하면 식 (6)과 같은 전달함수를 얻을 수 있다. s는 라플라스 연산자를 의미한다.
이는 Nomoto (1956) 등이 Davidson과 Schiff의 모델 에 대해서 횡방향 속도 υ를 제거하여 회두각속도 r에 대한 2차 상미분 방정식으로 조타각 δ의 관계로 표현한 것이다. 유체력 계수들과 관련된 식 (6)의 파라미터인 T1, T2, T3는 침로안정에 관계된 시정수로서, T1과 T2 는 추종 및 안정성 지수, T3는 추종성지수이다. K는 선 박의 선회 성능과 관계된 지수이다. 롤과 피치 (ϕ = θ = 0)를 무시하면 = r이라 정의할 수 있고, 식 (6)을 다시 표현하면 식 (7)과 같다.
또, 침로안정에 관계된 시정수를 T = T1 + T2 - T3로 정의하면 식 (8)과 같은 1차 근사식으로 표현된다.
식 (8)을 시간영역에 대해서 표현하면 식 (9)와 같다.
조타기는 시간지연, 작동기포화, 불감대(deadband)의 비선형 특성 등을 고려하여 일반적으로 식 (10)과 같은 1차 근사 모델로 표현된다.
여기서, δr은 명령타각, δ는 실제타각으로 보통 |δ|≤35[°]의 작동범위로 제한되고, 타각의 각속도도 ||≤3∼6[°/sec]로 제한된다. TE는 방향타(rudder)의 시정수로 일반적으로 2.5[sec]이다.
최적화 도구로써 유전알고리즘
유전알고리즘은 진화 원리, 유전학, 적자생존의 개념 을 이용하여 알고리즘 형태로 구현한 최적화 탐색도구 중의 하나이다(Lee et al., 2005). 본 연구에서는 염색체 가 실수로 표시되는 실수코딩 유전알고리즘을 사용한다 (Jin, 2004). 본 연구에서 사용되는 주요 알고리즘은 다 음과 같다. 초기 집단은 난수 발생기를 통해 무작위로 생성한다. 재생산은 구배와 유사한 재생산을 사용한다 (Jin, 2004). 교배는 산술적 교배와 단순 교배를 결합한 수정 단순 교배를 사용한다(Jin et al., 2000). 동적 돌연 변이 연산자를 사용해 세대 초기에는 모든 탐색공간을 균등한 확률로 탐색하게 된다(Janikow and Michalewicz, 1991). 유전자의 다양성을 위해 선택압을 일정하게 유지 하는 Grefenstette (1986)의 스케일링 윈도우 기법을 사 용한다. 또한, 최적의 유전자가 다음 세대로 전해지는 것을 보장하는 엘리트 전략을 사용한다(De Jong, 1975). 유전알고리즘의 종료 조건은 탐색된 결과에 따라 최종 세대수를 증가시키는 방법을 사용한다.
Mariner Class Vessel의 선수각 제어를 위한 GA-LADRC 제어시스템 설계
비선형 선박 모델 식 (1)은 ADRC의 정의에 따라 Mariner Class Vessel의 내부적인 불확실성(비선형성, 포화기, 모델의 불확실성 등 포함)을 전체 외란 f로 간주 하고, f를 새로운 상태변수로 취급할 수 있다. 따라서 Fig. 3과 같이 LADRC 제어기 기반의 자동조타 시스템 을 구성할 수 있다.
설정치 변경이 계단상으로 주어지면 갑자기 증감하는 제어신호가 플랜트에 영향을 미치게 된다. 이는 시스템 이 급격한 변화를 수용하기 위해 더욱 강력한 물리적 내구성을 갖추어야만 한다. 이러한 영향을 줄이기 위해 플랜트의 출력이 설정값을 적절한 수준(속도)으로 추종 하도록 과도상태 프로파일(Transient Profile: TP)을 고 려할 수 있다. 선박은 관성이 큰 시스템으로 선박의 선수 각 제어에서 식 (11)과 같은 2차 필터 형태의 TP를 적용 시킬 수 있다. 이는 선수각 제어시스템의 안정성을 높이 고 설정값을 완만하게 변화시키기 위한 것이다.
여기서, ζ 및 ωn은 시스템의 동작을 설명하는 파라미 터이며, 본 연구에서는 각각 ζ=1, ωn=0.03으로 설정하였 다. Fig. 4는 설정치 60[°]에 대한 과도상태 프로파일이다.
조타 명령에 대한 선수각 변화의 전달함수 식 (8)을 식 (12)와 같이 선수각속도 r에 대한 1차 전달함수로 나타낼 수 있다.
여기서, r은 선수각 변화에 대한 각속도로 r= 이다.
식 (12)를 외란(w)이 추가된 1차 선박 운동 방정식으 로 나타내면 식 (13)과 같다.
여기서, r은 출력, δ는 입력, w는 외란이다. 매개변수 은 알 수 없는 내부 파라미터이다. 하지만, 의 경우 어느 정도 알 수 있는 부분 b0와 불확실한 부분 Δb로 분리할 수 있으며, 이를 식 (13)에 대입하여 전개하면 식 (14)와 같이 된다.
여기서, 이다. 이는 알려 지지 않은 내부 동역학과 외란을 모두 나타내기 때문에 일반화된 외란이라 할 수 있다.
이와 마찬가지로 선박의 3자유도 비선형 운동방정식 (1)도 알려지지 않은 내부 동역학 모델과 외란으로 나타 낼 수 있으므로 일반화된 외란(f(t))과 어느 정도 알 수 있는 부분과 입력으로 표현될 수 있다. 즉 식 (1)을 식 (14)의 마지막항인 f(t)+ b0δ(t)로 나타낼 수 있는 것이다. 여기에서 제어 목표는 조작변수인 입력 δ(t)를 사용하여 출력 r을 원하는 대로 동작하게 하는 것이다. f(t)를 수학적으로 분석할 필요는 없다. 피드백제어의 맥락에서 f(t)는 제어신호에 의해 극복되어야 하는 대 상이라 할 수 있고, 이것을 시스템의 전체 외란이라고 할 수 있다. 식 (14)는 시스템식별 문제에서 외란제거 문제로 변환된다. 전체 외란인 f(t)의 추정치 (t)를 구하고 식 (15)의 제어법칙을 사용하면, 식 (14)는 식 (16)과 같이 된다.
LADRC 설계과정과 함께 Fig. 3을 설명하면 다음과 같다. 먼저 식 (14)를 이용하여 (회두 각속도)로 두고, 상태변수 x2(t) = f(t)를 추가하고 를 알려지지 않은 외란이라고 하면 식 (17) 과 같은 확장된 상태방정식으로 표현할 수 있다.
여기서, u(t)= δ(t)이다.
식 (17)에 대한 확장된 선형상태관측기는 식 (18)과 같이 구성된다.
여기서, L은 관측기 이득 벡터이다. 그러면, 전체 외 란 f(t)는 식 (18)을 사용하여 추정할 수 있다.
상태 관측기가 올바르게 설계되면 제어법칙 식 (15) 는 식 (19)와 같이 나타낼 수 있다.
z2의 추정 오차를 무시하면 식 (16)은 식 (20)과 같이 간단히 된다.
식 (19) 및 식 (21)로 표현된 제어기를 LESO 식 (18) 과 결합하여 외란을 능동적으로 보상하는 LADRC를 구 현할 수 있다. LADRC는 Han (2009)이 처음 제안한 ADRC의 특수한 경우로, 식 (18)의 관측기 이득과 식 (21)의 선형 이득을 사용한다.
LADRC 제어기의 제어기 이득과 관측기 이득은 실수 코딩유전알고리즘을 이용하여 식 (22) 시간 가중 절대 오차 적분 성능지수가 최소가 되도록 k1, k2, , b0를 탐색하게 된다.
여기서, ψd은 설정 침로, ψ는 현재 침로이다. tf는 이후의 적분값이 무시될 수 있도록 충분히 큰 시간이다.
결과 및 고찰
제안한 GA-LADRC 기반 Mariner Class Vessel의 선 수각 제어시스템의 유효성을 검증하기 위하여 모의실험 을 실시한다.
모의실험용 데이터와 제어기 파라미터
본 연구에서는 Table 1과 같은 Mariner Class Vessel 에 제안하는 GA-LADRC 제어기를 이용하여 자동조타 시스템을 설계하고자 한다(Fossen, 1994).
제어기와 관측기의 미지의 이득을 탐색하기 위한 구 간은 0 ≤ k1 ≤ 4000, 0 ≤ k2 ≤ 200, 0 ≤ ≤200, 0≤≤ 100, 0≤b0≤1으로 하였다. 이때 선박의 초기 회두각은 0 [°]에서 시작하여 목표 침로각을 60 [°]로 변경하면서 목적함수 식 (22)가 최소가 되도록 이득이 동조된다. 유 전알고리즘에 의해 동조된 LADRC의 제어이득들은 Table 2와 같다.
설정 침로 변경에 대한 과도응답 특성
Fig. 5와 Fig. 6은 설정 침로 변경에 대한 LADRC 제 어기의 과도응답 특성을 살펴보기 위해 선수각을 0 [°] 에서 60 [°]로 침로를 변경하는 과정을 보여준다.
변경된 설정 침로 ψreference에 대해 LADRC는 과도 상태 프로파일의 출력인 ψdesire의 완곡하게 변화하는 설정 침로를 잘 따르고 있다.
모델링 오차와 불확실성에 대한 과도응답 특성
Fig. 7과 Fig 8은 모델링 오차와 플랜트의 내부적인 불확실성에 대한 과도응답 특성을 살펴보기 위한 것 이다.
제어대상 선박(Fossen, 1994)의 모델링 오차는 강체 의 질량 m*(+10%), zb축에 대한 관성모멘트 Iz*(-10%), xb축 상의 무게중심 xg*(-10%)로 설정한다.
선박의 가속도와 관련된 유체력 오차는 yb축 방향 유 체력 *(+10%), zb축에 대한 회전 모멘트 유체력 *(+10%)로 설정한다.
또한, RCGAs를 이용해 제어기 파라미터를 탐색할 때 사용된 선속을 Speed(7.7175)*(-20%)로 변경하고, 작동 기의 포화가 고려된 타의 움직임을 최대 타각 35→15 [deg]로 동작 반경 제한, 최대 타 각속도 5→3 [deg/s]로 동작 속도가 제한되었다.
모델링 오차와 내부적인 불확실성이 있더라도 선수각 은 설정치를 추종하고 있으며, 설정치 부근에서 침로를 만족할만한 상태로 유지하고 있다.
측정잡음에 대한 과도응답 특성
Fig. 9와 Fig. 10은 모델링 오차가 없다는 가정하에서 회두각 측정 센서에 정규잡음 N(0, 0.01)가 있을 때의 응답을 나타낸 것으로 LADRC는 측정잡음이 있더라도 설정치 부근에서 선수각을 만족스럽게 유지하고 있다. 다만, Fig. 9에서 선박이 계속 동쪽으로 이동(실제로는 밀리는 현상)하는 것은 프로그램적으로 잡음을 만들어 내는 과정에서 랜덤변수에 의해 설정되는 초기값과 프 로그램에서 임의로 설정한 초기값(초기값 0)의 다름에 서 발생한 것이다. 그 이유로 Fig. 10의 선수 회두각속도 의 초기 변화 후 약 – 0.5 [deg/s]에서 유지되는 것을 살펴 보면 알 수 있다. 그러나 특정 항로가 설정된 상태에서 이러한 현상이 발생한다면, 선수각은 설정치 부근에서 유지되더라도 설정된 항로를 벗어나게 될 것이다. 따라 서 설정된 항로를 추종할 수 있도록 가이던스 시스템 등이 필요하다.
모델링오차, 불확실성, 측정잡음에 대한 과도응답 특성
Fig. 11과 Fig. 12는 설정 침로를 변경할 때 모델링오 차와 불확실성, 센서의 측정잡음이 모두 고려된 응답을 나타낸 것이다. 침로는 초기 선수각 0 [°]에서 시작하여, 선수각 60 [°](우현 회두)로 변경하고, 다시 선수각 0 [°](좌현 회두)로 복귀하도록 명령하였다. 다음, 선수각 – 60(300) [°](좌현 회두)로 변경하고, 다시 선수각 – 100(265) [°](좌현 회두)로 변경 설정하였다. 이후, 좀 더 큰 설정치 변경에 대한 과도응답 특성을 살펴보기 위해 선수각 – 100(265) [°]에서 선수각 0 [°](우현 회두) 로 복귀하도록 명령하였다. 최종적으로는 선수각 60 [°] (우현 회두)로 침로를 설정하여 프로그램적으로 잡음을 만들어내는 과정에서 랜덤변수에 의해 설정되는 초기값 과 프로그램에서 임의로 설정한 초기값(초기값 0)의 다 름에서 발생하는 차이를 확인하였다.
결 론
제어기 설계에 있어서 설정치 추종에 중점을 두면 외 란 제거 성능이 나쁘고, 외란 제거 성능에 중점을 두면 설정치 추종 성능이 나쁘게 되어 서로 간에는 어느 정도 의 타협이 필요하다. 선박은 항해 중 끊임없이 여러 가지 내부적, 외부적 외란이 가해지고 있으므로 본 연구에서 는 선박의 선수각을 제어하기 위해 외란 제거 성능 개선 에 더욱 중점을 둔 LADRC 설계 방법을 제안하였다. ADRC를 성공적으로 적용하기 위해서는 시스템 성능에 영향을 미치는 다양한 요소들을 전체 외란으로 묶어 문 제를 얼마나 잘 재구성 할 수 있느냐이다. 이것은 복잡한 제어 문제를 간단한 문제로 바꾸는 데 중요한 단계이다. 본 연구에서는 이를 위해 타각 변경에 의한 선수각 변화 속도를 주요한 요소로 선정하고, Mariner Class Vessel 비선형 모델을 전체 외란으로 처리하였다. 이는 1차 전 달함수 모델에 대한 LADRC 설계를 하는 것과 동일한 과정을 거치게 된다. 이때 LADRC에 포함된 제어기의 이득들과 확장된 상태관측기의 이득들은 평가함수로서 시간 가중 절대 오차 적분을 최소화하는 관점에서 RCGAs로 동조하였다. 제안한 방법을 Mariner Class Vessel의 선수각 제어에 적용하여 시뮬레이션을 수행하 였다. 특히, 모델링오차, 불확실성, 측정 센서에 잡음이 포함될 때도 제안한 방법은 설정 침로 유지와 추종을 만족스럽게 수행하고 있음을 확인할 수 있었다.
이후에는 시뮬레이션을 위한 프로그램이 외란을 만들 어내는 과정에서 랜덤변수에 의해 설정되는 초기값과 프로그램에서 임의로 설정한 초기값(두 상태 모두 초기 값 0)의 다름에서 발생하는 오프셋(offset)을 제거하는 방법을 강구하고, LOS (Line Of Sight) 가이던스 시스템 을 추가하여 계획된 항로로 선박이 운항되도록 유도하 는 알고리즘을 추가하여 시뮬레이션하고자 한다.