검색 전체 메뉴
PDF
맨 위로
OA 학술지
최단강하선 문제를 위한 신경회로망 최적 제어 Optimal Control using Neural Networks for Brachistochrone Problem
  • 비영리 CC BY-NC
  • 비영리 CC BY-NC
ABSTRACT
최단강하선 문제를 위한 신경회로망 최적 제어

The solution of brachistochrone problem turned out the form of a cycloid but correct angle values of bead can be obtained from the table form of inverse relations for the complicated nonlinear equations. To enhance the accuracy, this paper employs the neural network to represent the inverse relation of the complicated nonlinear equations. The accurate minimum-time control is possible with the interpolation property of the neural network. For various final target points, we have found that the proposed method is superior to the conventional ones through the computer simulations.

KEYWORD
최단강하선 문제 , 신경회로망
  • Ⅰ. 서 론

    최단강하선(Brachistochrone) 문제의 해법은 중력장 내의 인공위성 또는 항공기가 최소시간으로 이동하기 위한 제어방법이나 무인 로켓의 최소 시간 궤적 설계 등에 응용될 수 있다. Johann Bernoulli에 의해서 제기된 최단강하선 문제는 최소시간제어 문제로 질량이 m 인 bead가 같은 중력장 내의 수직평면에 존재하는 임의의 한 점에서 출발하여 가장 빠른 시간에 임의의 다른 한 점에 도달하도록 곡선경로를 구하는 문제로 변분법(calculus of variation)[1,2]이 사용되었다. 이러한 변분법을 사용하여 최단강하선 문제의 해는 cycloid 형태라는 것이 밝혀졌으나 bead의 정확한 각도 값은 비선형방정식을 풀어야 얻을 수 있다. 따라서 최단강하선 문제를 최적제어 문제로 해석하여 최적 궤적을 얻을 수 있으나, bead의 최적제어 각도를 그래프 또는 테이블 형태의 근사치로 구할 수 있다[3]. 그래프 형태로 주어지는 최적제어 각도 근사치는 그래프를 세분화 할수록 그 정확도가 향상되지만 무한히 세분화할 수 없으므로 필연적으로 근사오차가 발생하게 된다.

    본 논문에서 이러한 근사오차를 감소시키기 위해 일반화와 보간 기능을 갖는 신경회로망을 사용하여 최적 제어 각도의 정확도를 높여 bead가 최단시간으로 주어진 최종점에 도달하도록 하고자 한다. 또한 신경회로망은 입력층(input layer), 히든층(hidden layer), 출력층(output layer)의 뉴우런 개수에 따라 신경회로망의 복잡도, 학습에 걸리는 시간, 학습의 성능 등에 매우 큰 영향을 미친다[4-6]. 신경회로망의 빠른 학습과 수렴 정도를 올리기 위하여 신경회로망의 입출력 변수를 단일 입출력 변수가 되도록 관련 수식이 유도될 수 있다. 단일 입출력 변수로 구성된 신경회로망 최적제어기법은 입출력 개수가 줄고 입출력 함수 관계가 단순하여 적은 뉴우런의 개수로도 학습 시간과 학습 오차가 매우 줄어 듦을 알 수 있으며, 실시간 제어에도 매우 적합하다. 본 논문에서 제안한 신경회로망을 이용한 최적제어기의 성능을 확인하기 위해서, 여러 가지 경우의 최종 bead 위치에 대해서 제어 성능을 모의 실험하였으며, 그 결과 본 논문에서 제안한 방법이 일반적인 최적화 방법보다 우수함을 확인할 수 있었다.

    Ⅱ. 최단강하선 문제

    최단강하선 문제는 질량이 m인 bead가 수직 평면 위에 주어진 두 점 A, B에 대해 A점을 출발하여 중력 하에서 B점에 도착할 때 가장 짧은 시간이 걸리는 경로를 찾는 문제로, bead가 중력장에서 최단시간으로 운동하는 최적 경로를 찾는 문제이다.

    그림 1과 같이 질량 m인 bead가 정지 상태에서 원점(A = (0,0) )을 출발하여 철사줄을 타고 미끄러져 떨어질 때, 마찰이 없는 것으로 가정하고, A 점을 기준으로 수평방향을 x(t) , 아래쪽 수직방향을 y(t) 로 두었다. 또한 시간 t에서의 bead의 선속도를 V(t) 로 두고, 수평선과 이루는 각도는 θ(t) 로 나타낸다면, 에너지 보존법칙에 의해 아래의 방정식을 만족한다[3].

    단, t0는 초기시간이며 통상 t0 = 0으로 놓는다.

    위에서 초기 속도 V(t0) = 0와, 초기 위치 y(t0) = 0를 대입하여 선속도 V 를 구하면 다음과 같다.

    그림 1에서 bead 운동을 미분방정식으로 표현하면

    최단시간문제이므로 성능지수(performance index)는 아래와 같이 정의하였다.

    단, T 는 최종시간이다.

    위에서 각도 𝜃 는 최단시간 경로를 찾기 위한 제어 변수로, Frank L. Lewis[3]가 제시한 최종상태가 고정된 함수를 갖는 비선형 최적제어기 설계를 사용하여, 최단 강하선 문제에 대입하면 최적 제어량 𝜃(t)를 구하기 위한 함수를 만들 수 있다. 식 (6), (7)은 𝜃(t)에 대한 x(t), y(t)의 함수 값을 나타내었다[3].

    최종 시간 T 에서의 𝜃(T) 와 시간 t에서의 𝜃(t) 를 각각 어떤 주어진 구간 내에서 세분화하고, 각 세분화된 𝜃(T) 와 𝜃(t) 값들을 식(6), (7)에 대입하여 x(t), y(t)를 구한다. 이렇게 구한 데이터들의 입출력 관계를 뒤집어 신경회로망을 학습한 후, Bead의 위치 좌표 x(t)와 y(t) 가 주어지면 위 식의 역관계에 해당하는 신경회로망을 구성할 수 있고 이로부터 최적제어 𝜃(t) 와 𝜃(T) 를 구할 수 있다[7]. 그러나 이렇게 구성된 신경회로망은 입력과 출력이 2개이며, 입출력 관계의 데이터들의 함수가 매우 복잡하여 학습을 위해서는 여러 개의 히든층으로 구성하고, 그에 따른 뉴우런의 개수가 많아져야 학습이 용의하다. 또한 신경회로망의 학습에 많은 시간이 소요된다. 따라서 본 연구에서는 신경회로망의 빠른 학습과 수렴 성능을 올리기 위하여 신경회로망의 입출력 변수를 단일 입출력 변수가 되도록 하는 수식을 사용한다.

    식(6), (7)은 다음과 같이 식(8), (9)와 같이 간단하게 표현될 수 있다[3]. 식(9)는 초기조건[𝜃(0) = 90° ⇒ 𝜙(0) = 0° ,x(0) = 0]을 만족하므로 간단히 구성되어 진다.

    단, 이다.

    식 (8)을 초기 조건을 만족하도록 다시 정리하면 아래 식(10)과 같이 표현된다.

    방정식의 좌측 항을 상수항으로 식을 정리하면 식 (11)과 같다.

    앞에서의 식(8), (9)는 cycloid 곡선을 의미하며, 이는 위에서 수식이 최소시간 경로임을 확인할 수 있다. 식(11)로부터 𝜃(t)를 구하기 위해서는 임의의 (xT, yT) 가 주어질 때, 비선형 방정식인 조건식 (11)를 만족하는 𝜃(T) 를 구해야 한다. 그러므로 최종 시간 T에서의 𝜃(T)를 주어진 구간 내에서 세분화한 뒤, 각 세분화된 𝜃(T)에 대해 식(11)의 - xT/yT 를 구해놓고, 이를 이용하여 𝜃(T) 에 대한 table 또는 graph 형태로 표현해야 한다. 이렇게 구한 𝜃(T) 를 식(7)을 사용하여 𝜃(t) 를 구하면 된다. 이는 앞서 설명한 식(6), (7)로부터 세분화된 𝜃(T) 와 𝜃(t) 값들에 대한 x(t), y(t) 를 구하여 이를 table 또는 graph 형태로 표현하여 역관계에 의해 근사 𝜃(t) 값 을 구하는 것에 비하여 table 또는 graph가 단순하여 근사 값을 구하기가 더욱 쉽다. 그러나 이러한 방법 역시 graph 또는 table의 정확도가 떨어지면 정확한 𝜃(T)를 구하기 어려우므로 최소시간으로 정확히 목표점에 도달하지 못하게 된다. 그러므로 이것 역시 table을 정확하게 만드는 것이 중요하나, 입력구간을 무한히 잘게 세분화하기 어렵다. 그러므로 graph나 table을 사용하는 대신 보간 기능을 갖는 신경회로망을 사용하고 자 한다.

    𝜃(t)의 계산은 위에서 구한 𝜃(T)를 사용하여 식(7)로부터 𝜃(t) 를 구할 수 있다. 아크 코사인(arccosine) 함수로 수식을 더 간략화 시킬 수 있으나, 아크코사인 함수의 출력값 𝜃(t) 가 항상 [0° ∼ 180°]이므로 음의 𝜃(t) 값을 구할 수 없다. 그러므로 아크사인(arcsine) 함수로 식(12)와 같이 변화시켜 사용하였다. 단, 초기각도 𝜃(0) = 90°이므로, 𝜃(t) 가 급격한 변화가 없다고 간주하면, 양의 각도를 갖다가 0°를 지나면서 음의 각도를 갖는 것으로 하였다.

    Ⅲ. 신경회로망에 의한 최적제어

    인공신경회로망은 생물체의 뇌 신경세포들의 연결관계를 단순화시켜 이를 수학적으로 표현하여 인간의 두뇌가 가지는 기능을 구현하고자 하는 시스템이다. 본 논문에서는 가장 일반적으로 사용되는 앞먹임 신경회로망(feedforward neural networks) 구조를 취하고, 역전파 학습 알고리즘(back propagation learning algorithm)을 사용하여 신경회로망을 학습하였다[4-6]. 신경회로망의 보간 기능을 위하여 위의 식(11)을 사용하여 입출력 데이터의 역관계를 표현하였다. 이렇게 구성된 신경회로망은 임의의 목표점(xT, yT) 에 대하여 해당 𝜃(T)를 바로 구할 수 있는 장점이 있다. 또한 단일 입출력 변수로 구성된 신경회로망은 다변수 입출력을 갖는 신경회로망에 비하여 구조에 있어 매우 간단하며, 학습에 있어서도 학습데이터의 양이 적어 매우 짧 은 시간에 학습이 가능하다. w = - xT/yT이라고 정의하면, 식(11)은 식(13)과 같이 표현된다.

    적절히 세분화된 𝜃(T) 를 식(13)에 대입하여 w값을 구한 뒤, 입출력 관계를 뒤집어 w를 신경회로망의 입력 데이터로 𝜃(T) 를 출력데이터로 학습 데이터를 만들어 사용한다. 그림 2는 최적제어를 위한 신경회로망의 학습데이터 입출력 관계를 표시하였다.

    Ⅳ. 시뮬레이션 및 결과

       4.1. 신경회로망의 학습

    신경회로망의 학습을 위해 𝜃(T) 를 [-45° ∼ 45°] 구간에서 3.6°간격으로 나누어 식 (13)을 사용하여 w값들을 구하였다. 그림 3 (a)는 𝜃(T)에 대한 출력 w값을 나타내고, 그림 3 (b)는 입출력을 뒤집어 신경회로망 학습을 위한 입출력 데이터를 그림으로 표시하였다. 그림에서 보는 것과 같이 신경회로망은 단일 입출력 함수관계로 구성되어 입력 변수의 수에 따라 증가하는 학습에 필요한 데이터의 양이 매우 감소함을 알 수 있다. 또한 학습하여야 할 함수 관계가 2차원의 매우 부드러운 곡선으로 이루어져 적은 수의 뉴우런으로 빠른 학습이 가능하다.

    그림 4표 1과 같이 신경회로망의 학습을 위한 파라메터들을 설정하여 학습한 후, 학습 데이터에 대한 퍼센트 오차를 표시하였다. 신경망 학습 데이터는 비선형이 크지 않고 부드러운 곡선 모양을 갖고 있어 신경회로망의 학습이 매우 용의하고, 신경회로망의 히든층 뉴우런 개수가 적어도 학습이 매우 잘 됨을 알 수 있다.

    [표 1.] 신경회로망 파라메터

    label

    신경회로망 파라메터

    신경회로망을 이용한 시간 최적제어의 성능평가를 위해서 다음과 같이 2가지로 근사된 최적제어방법들을 사용하였다[7,8]. 임의의 최종점 (xT, yT) 에 해당하는 wa = (-xT/yT) 가 학습데이터 w에 속하지 않을 경우, 학습데이터 중 wa에 가장 가까운 w를 선택하여 이에 해당하는 𝜃(T)를 구하여 적용하는 근사점 최적제어방법과 그림 5와 같이 학습데이터 가운데 wa에 가장 가까운 w1,w2를 선택하여 이에 해당하는 𝜃(T) 를 선형근사식을 적용하는 선형근사 최적제어 방법을 사용하였다.

       4.2. 신경회로망 제어기의 성능 평가

    모의실험을 위하여 중력 가속도 g는 9.8m/s2, 초기 시간 t0는 0초이다. 신경회로망 제어기의 성능 평가를 위해서 앞에서 설명한 2가지 최적제어 방법과 비교하여, 원점 (x, y) = (0, 0)에서 출발하여 최종점 (xT, yT) 에 최단 시간에 도달하는 시간과 수렴정도를 살펴보고자 한다. 수렴정도는 제어대상인 bead가 최종점인 (xT, yT) 에 가장 가까이 접근했을 때의 좌표의 거리(Euclidean distance)로 하며, 그 때의 시간을 수렴 시간으로 측정하였다.

    그림 6은 여러 가지 최종점에 대한 모의 실험 경우 중, 최종점의 위치가 (xT, yT) = (30,10) 일 때의 3가 지 제어기법의 성능을 표시하였다. 수렴 시간은 세 가지 제어기법 모두 3.185초로 같은 결과를 보이나, 수렴 정도에서 신경회로망을 사용한 방법이 가장 좋은 결과를 보였다. 신경회로망을 사용한 제어기법은 근사 점 최적제어기법과 선형 근사 최적제어기법에 비하여 최종점에 수렴하는 정도가 12.037배와 7.971배 가까이 수렴하였으며, 이는 신경회로망 제어기법이 학습되지 않은 데이터들에 대하여 일반화 기능을 가지므로 적절한 출력 데이터를 생성함을 나타낸다. 선형근사 최적제어 방법의 경우, 수렴 정도에 있어 근사 점 최적제어기법에 비하여 조금 더 좋음을 알 수 있다. 이것 역시 신경망제어기법과 마찬가지로 선형 근사에 의해 정확하지는 않으나 근사 점 최적제어기법 비해 적절한 출력 데이터를 생성함을 알 수 있다.

    표 2는 제안된 제어기와 일반적인 최적 제어기들의 성능 평가를 위하여 다양한 최종점을 표시하였다.

    [표 2.] 제어기 성능 비교를 위한 다양한 최종점

    label

    제어기 성능 비교를 위한 다양한 최종점

    다양한 최종점에 대해 3가지 제어기법 모두 수렴 시간에 있어서 비슷한 수렴시간을 얻었다. 이것은 비선형다 변수 입력을 갖는 수식의 해 𝜃(t)보다 하나의 입력 변수 𝜃(T) 에 의해 유도된 비선형 수식의 해 𝜃(t) 가 갖는 오차가 매우 작음에 기인한다.

    수렴 정도에 있어서는 모든 최종점에 대하여 신경회로망에 의한 최적제어기법이 다른 최적제어기법들에 비하여 뛰어난 성능을 보임을 알 수 있다. 그림 7표 2의 9가지 최종점에 대하여 신경회로망 최적 제어기법과 일반적인 최적 제어기법들의 수렴 정도를 막대 그래프로 나타내었다. 신경회로망을 사용한 최적 제어기법은 모든 최종점에 대하여 수렴정도가 0.05(Euclidean distance) 안에 존재함을 알 수 있다. 이는 다른 최적 제어기법에 비하여 매우 뛰어난 성능을 나타내었다.

    Ⅴ. 결 론

    최단강하선 문제의 해는 cycloid 형태라는 것이 밝혀 졌으나 bead의 정확한 각도 값은 비선형방정식을 풀어야 얻을 수 있다. 따라서 최단강하선 문제를 최적제어 문제로 해석하여 bead의 최적제어 각도를 그래프 또는 테이블 형태의 근사치로 구할 수 있으나, 이러한 테이블 형태로 주어지는 최적제어 각도는 테이블을 얼마나 세분화하는가에 따라 다르다. 따라서 최적제어 각도를 무한히 세분화할 수 없으므로 근사오차가 발생한다.

    본 연구에서는 이러한 근사오차를 감소시키기 위해 일반화 및 보간 기능을 갖는 신경회로망을 선택하여 bead가 갖는 최적제어 각도의 정확도를 높여 최단시간에 최종점에 도달하도록 하였다. 여러 가지 경우의 최종점에 대해 모의 실험한 결과 본 논문에서 제안한 방법이 일반적인 최적제어 방법보다 매우 우수함을 확인할 수 있었다.

참고문헌
  • 1. Elsgoltz L. 1983 Differential Equations and Variational Calculus google
  • 2. Kirk D.E. 2004 Optimal Control Theory: An Introduction google
  • 3. Lewis Frank L., Syrmos Vassilis L. 2012 Optimal Control google
  • 4. 2006 Advances in neural Networks-ISNN2006 google
  • 5. 1999 Feedforward Neural Network Methodology google
  • 6. Kecman Vojislav 2001 Learning and Soft Computing google
  • 7. Choi Young-Kiu, Park Jin-Hyun 2013 “Brachistochrone Minimum-Time Trajectory Control Using Neural Networks," [Journal of the Korea Institute of Information and Communication Engineering] Vol.17 P.2775-2784 google cross ref
  • 8. Choi Young-Kiu, Park Jin-Hyun 2013 “Minimum-Time Trajectory Control of Ships Using Neural Networks," [Journal of the Korea Institute of Information and Communication Engineering] Vol.17 P.117-126 google cross ref
이미지 / 테이블
  • [ 그림 1. ]  최단강하선 문제의 형상
    최단강하선 문제의 형상
  • [ 그림 2. ]  최적제어를 위한 학습데이터
    최적제어를 위한 학습데이터
  • [ 그림 3 ]  ?(T)에 대한 w와 신경회로망 학습데이터 (a) w (b) 학습데이터
    ?(T)에 대한 w와 신경회로망 학습데이터 (a) w (b) 학습데이터
  • [ 그림 4. ]  퍼센트 오차
    퍼센트 오차
  • [ 표 1. ]  신경회로망 파라메터
    신경회로망 파라메터
  • [ 그림 5. ]  최적제어의 선형근사
    최적제어의 선형근사
  • [ 그림 6. ]  제어기 성능 비교((xT,yT) = (30,10)) (a) 신경회로 망 (b) 근사 점 최적제어기법 (c) 선형 근사 최적제어기법
    제어기 성능 비교((xT,yT) = (30,10)) (a) 신경회로 망 (b) 근사 점 최적제어기법 (c) 선형 근사 최적제어기법
  • [ 표 2. ]  제어기 성능 비교를 위한 다양한 최종점
    제어기 성능 비교를 위한 다양한 최종점
  • [ 그림 7. ]  수렴정도(Euclidean Distance)
    수렴정도(Euclidean Distance)
(우)06579 서울시 서초구 반포대로 201(반포동)
Tel. 02-537-6389 | Fax. 02-590-0571 | 문의 : oak2014@korea.kr
Copyright(c) National Library of Korea. All rights reserved.