• 대한전기학회
Mobile QR Code QR CODE : The Transactions of the Korean Institute of Electrical Engineers
  • COPE
  • kcse
  • 한국과학기술단체총연합회
  • 한국학술지인용색인
  • Scopus
  • crossref
  • orcid

  1. (LIG Nex1 PGM Research and Development Lab, Korea)



Integrated Missile Guidance and Control, Alternating Direction Multiplier Method(ADMM), Convex Optimization, Graphics Processing Unit, Parallel Computing

1. 서 론

유도탄의 요격 성능에 우선적으로 고려되는 부분은 유도 조종 시스템이라고 할 수 있다. 유도 조종 시스템을 분리하여 두 시스템 간의 영향을 배제하고 설계하는 방법은 안정성을 보장하고 시스템 설계에 효과적이므로 꾸준히 사용되었다. 그러나 이러한 방법은 autopilot 지연 및 여러 가지 제한조건을 고려한 해를 도출하기 어렵기 때문에 유도탄의 운용 성능을 제한하게 된다. 종말 호밍 유도에서 탐색기가 획득, 측정하는 표적 기동 정보의 신뢰도가 높을수록 요격률도 상승하므로 유도, 조종 명령 도출 시 탐색기 제한조건을 고려하여야 한다. 특히, 스트랩 다운 방식의 탐색기의 경우 표적이 탐색기의 FOV(Field of View) 범위에 있어야 하므로 look angle 제한조건을 고려하여야 한다. 또, 탐색기가 고속으로 기동하는 표적을 추적하는 경우 영상 탐색기가 수집하는 이미지 정보에 왜곡이 생기게 되는데, 이 문제를 방지하기 위해서는 look angle rate 제한조건도 반드시 함께 고려하여야 한다. 이러한 문제 해결을 위한 방법으로 통합 유도 조종 문제를 고려할 수 있다. 통합 유도 조종 시스템은 유도, 조종 시스템 간의 영향을 고려하여 구동 명령을 도출하므로 유도탄 성능 향상을 기대할 수 있다. 통합 유도 조종 기법을 적용하기 위한 다양한 연구들이 수행되었는데, sliding mode control(1,2), feedback linearization(3), 최적 제어 기법(4)에 통합 유도 조종을 적용한 연구들이 수행되었다.

유도탄의 비행 제어는 운용 환경 특성상 저사양의 임베디드 컴퓨터에서 수행된다. 이에 따라 유도탄 유도조종 알고리듬은 실시간성 보장을 위해 연산의 양과 복잡도에 상당한 제한이 있었으나, 최근 임베디드 GPU(Graphic Processing Unit), FPGA(Field Programmable Gate array)의 성능이 비약적으로 향상됨에 따라 임베디드 컴퓨팅 환경에서의 유도조종 알고리듬에 대한 연구가 다양하게 진행되고 있다[5,6,7].

본 연구에서는 ADMM 기반의 유도탄 통합 유도 조종 알고리듬을 제안한다. ADMM은 convex 최적화 분야에서 주목받는 알고리듬으로, 목적함수를 분리하여 해를 교대로 업데이트하여 최적해를 도출하므로 다른 알고리듬에 비해 구현이 간단하고 연산량이 적다는 장점이 있다. 특히 데이터에 근거한 분석에 적용할 수 있어, 통계학, 기계학습 분야의 문제의 최적화 도구로 사용되고 있다(8). ADMM 기반 non-convex MPC 문제의 최적화에 관한 연구가 수행되었으며(9), 비행체의 대기권 재진입을 위한 궤적 최적화 문제에 ADMM을 적용한 연구사례가 있다(10).

유도 문제와 조종 문제를 통합하여 해결하는 경우, 문제에서 다루는 정보의 차원이 매우 커지게 되어 병렬식 또는 분산 처리가 가능한 ADMM을 적용하는 것이 타당하다. 또, 유도탄의 온보드 컴퓨팅 환경에서 알고리듬의 연산 시간을 보장하기 위해 GPU를 이용한 연산 가속화를 수행하였다. CUDA 커널을 구성하고, 병렬화가 가능한 연산을 선별하여 커널에 할당한 후 그 결과를 분석하였다. 논문의 2장에는 유도탄 종말 호밍 유도 제어 문제를 제시하고, 3장에는 GPU 기반 연산 가속화 기법을 제시하였으며 4장에서 제안하는 알고리듬의 시뮬레이션 수행 결과와 연산 시간 가속화 결과 및 분석을 수행하였다. 마지막으로 논문의 결론을 정리하여 5장에 기술하였다.

2. 문제 정의

본 연구에서는 호밍 유도 제어를 위하여 통합 유도조종 문제 수립을 위해 그림 1에 도시된 것과 같은 2차원 교전 기하를 가정하였다(6,11). 본 연구에서는 유도탄을 점 질량으로 가정하였으며, 기준 좌표계는 Line-of-sight (LOS) 좌표계로, 축 $X_{L0}- Z_{L0}$의 중심에 유도탄의 무게중심이 위치한다고 가정하였다. 표적 초기 위치는 $T_{0}$로 가정하였으며, 표적 위치를 기준으로 시선각 $\lambda_{m}$, range-to-go R을 정의하였다. 그림에서 $x_{b}$는 동체 좌표계를 나타내고 $\gamma_{m}$, $\epsilon_{m}$, $\alpha_{m}$은 각각 유도탄의 비행경로각, 탐색기의 시선각 그리고 유도탄의 받음각을 의미한다.

영상 탐색기 기반 종말 호밍 유도에서 요격률에 가장 큰 영향을 미치는 것은 탐색기의 시선 각속도 제한이다. 탐색기의 시선각을 넘어서는 기동을 하게 되는 경우 목표물이 탐색기의 시야에서 벗어날 수 있으므로, 유도조종 명령 생성 시 탐색기의 시선각 제한을 고려해야 한다. 따라서 문제 구성 시 아래 식과 같이 가속도, 탐색기 시야각, 탐색기 시야각속도 제한을 두었으며, 유도탄의 속력은 일정하다고 가정하였다.

(1)
$\begin{aligned}-a_{max } & \leq a_m \leq a_{max } \\ -\epsilon_{max } & \leq \epsilon_m \leq \epsilon_{max } \\ -\dot{\epsilon}_{max } & \leq \dot{\epsilon}_m \leq \dot{\epsilon}_{max }\end{aligned}$

2.1 통합 유도 제어 문제

유도탄의 통합 유도 제어 문제를 고려하기 위하여 식 (2)의 유도탄 동역학과 식 (3)의 유도 기하를 하나의 문제로 통합하고 구동기 동역학을 포함하여 식 (4)와 같이 구성하였다(12).

(2)
$\left[\begin{array}{l}\dot{\alpha}_m \\ \dot{q}_m\end{array}\right]=\left[\begin{array}{cc}Z_\alpha & 1 \\ M_\alpha & M_q\end{array}\right]\left[\begin{array}{l}\alpha_m \\ q_m\end{array}\right]+\left[\begin{array}{c}Z_\delta \\ M_\delta\end{array}\right] \delta_m$

(3)
$\left[\begin{array}{l}\dot{\gamma}_m \\ \dot{z}_m\end{array}\right]=\left[\begin{array}{cc}0 & 0 \\ v_m & 0\end{array}\right]\left[\begin{array}{l}\gamma_m \\ z_m\end{array}\right]+\left[\begin{array}{c}-1 / v_m \\ 0\end{array}\right] a_m$

그림. 1. 2차원 평면에서의 유도탄 종말 호밍 유도 기하 (a) 평면에서의 교전 기하; (b) 시선각 frame에서 정의된 교전 기하

Fig. 1. Missile terminal homing phase geometry in a two-dimensional plane (a) Planar engagement geometry; (b) engagement geometry defined on initial LOS frame.

../../Resources/kiee/KIEE.2023.72.9.1083/fig1.png

식 (4)에서 $Z_{\delta},\: Z_{\alpha},\: M_{\delta},\: M_{\alpha},\: M_{q}$는 공력 계수를 의미하고, $q_{m}$은 유도탄의 pitch rate을 의미한다. 구동기 동역학은 $1/w_{a}$를 시정수로 하는 간단한 1차 지연 시스템으로 구현하였으며, $\delta_{c}$는 fin 조종 명령을 의미한다.

(4)
$\underbrace{\left[\begin{array}{l}\dot{\delta}_m \\ \dot{\alpha}_m \\ \dot{q}_m \\ \dot{\gamma}_m \\ \dot{z}_m\end{array}\right]}_{\dot{x}}=\underbrace{\left[\begin{array}{ccccc}-w_a & 0 & 0 & 0 & 0 \\ Z_\delta & Z_\alpha & 1 & 0 & 0 \\ M_\delta & M_\alpha & M_q & 0 & 0 \\ -Z_\delta & -Z_\alpha & 0 & 0 & 0 \\ 0 & 0 & 0 & v_m & 0\end{array}\right]}_A \underbrace{\left[\begin{array}{c}\delta_m \\ \alpha_m \\ q_m \\ \gamma_m \\ Z_m\end{array}\right]}_x+\underbrace{\left[\begin{array}{c}w_a \\ 0 \\ 0 \\ 0 \\ 0\end{array}\right]}_B \underbrace{\delta_c}_u$

(5)
$x_{k+1}=\bar{A}x_{k}+\bar{B}u_{k}$

식 (4)의 시스템 특성 방정식은 샘플링 주기 $\Delta t$를 기준으로 이산화하여 식 (5)와 같이 재구성할 수 있다. 여기서, $\bar{A}$와 $\bar{B}$ 행렬은 각각 $e^{\Delta t\bar{A}}$와 $(\int_{0}^{\Delta t}e^{\tau\bar{A}}d\tau)\bar{B}$ 식을 통해 구할 수 있다.

horizon의 개수를 ${N}=(t_{f}- t_{0})/\Delta t$으로 정하고, 입력 변수 $u_{k}\in R^{u}$와 상태 변수 $x_{k}\in R^{x}$로 구성된 유도조종 문제를 아래 식과 같이 나타낼 수 있다.

(6)
$\begin{aligned} \underset{u_0, \cdots, u_{n-1}}{\operatorname{minimize}} & \sum_{k=0}^{N-1}\left(x_k^T Q_k x_k+u_k^T R_k u_k\right)+x_N^T Q_N x_N \\ \text { subject to } & x_{k+1}=A x_k+B u_k+b \\ & C_k x_k \leqq d\end{aligned}$

여기서 $C_{k}$는 가속도, 탐색기 시선각 및 시선각속도 제한조건이며 time step $k$ 마다 아래 식과 같이 구성할 수 있다. 행렬에서 $R_{k}$는 $k$번째의 range-to-go를 의미하고, $R_{k}= R_{0}- k(v_{m}+ v_{t})\Delta t$로 계산할 수 있다.

(7)
$\left[\begin{array}{ccccc}v_m Z_\delta & v_m Z_\alpha & 0 & 0 & 0 \\ -v_m Z_\delta & -v_m Z_\alpha & 0 & 0 & 0 \\ 0 & -1 & 0 & -1 & 1 / R_k \\ 0 & 1 & 0 & 1 & -1 / R_k \\ 0 & 0 & -1 & -v_m / R_k & -\left(v_m+v_t\right) / R_k^2 \\ 0 & 0 & 0 & v_m / R_k & \left(v_m+v_t\right) / R_k^2\end{array}\right]$ $\underbrace{\left[\begin{array}{c}\delta_m \\ \alpha_m \\ q_m \\ \gamma_m \\ z_m\end{array}\right]}_x$ $\le$ $\underbrace{\left[\begin{array}{l}a_{max } \\ a_{max } \\ \epsilon_{max } \\ \epsilon_{max } \\ \dot{\epsilon}_{max } \\ \dot{\epsilon}_{max }\end{array}\right]}_d$

구성한 문제의 동역학과 제한조건들은 모두 선형이므로 Model Predicted Control(MPC)을 적용할 수 있다. 입력 변수, 상태 변수 및 제한조건을 쌓아 $U=\begin{bmatrix}u_{0}^{T}& u_{1}^{T}&\cdots & u_{N-1}^{T}\end{bmatrix}^{T}$, $X=\begin{bmatrix}x_{1}^{T}& x_{2}^{T}&\cdots & x_{N-1}^{T}\end{bmatrix}^{T}$에 대한 문제로 식 (8)과 같이 재구성하였다.

(8)

$\begin{array}{cl}\underset{y}{\operatorname{minimize}} & y^T \Psi y \\ \text { subject to } & \widetilde{A} y=\widetilde{B} \\ & \widetilde{C} y \leqq \widetilde{D}\end{array}$

$\Psi=\left[\begin{array}{lllll}R_0 & & & \\ & Q_1 & & \\ & & \ddots & & \\ & & R_{N-1} & \\ & & & Q_N\end{array}\right], \widetilde{A}=\left[\begin{array}{ccccc}B-I & & & & \\ A & B-I & & & \\ & & \ddots & & \\ & & & A & B\end{array}\right]$

$\widetilde{C}=\left[\begin{array}{ccccccc}0 & C_1 & & & & & \\ & & \ddots & & & & \\ & & & 0 & C_{N-1} & \\ & & & & & 0 & C_N\end{array}\right], \widetilde{B}=\left[\begin{array}{c}-A x_0 \\ 0 \\ \vdots \\ 0\end{array}\right], \tilde{D}=\left[\begin{array}{c}d \\ d \\ \vdots \\ d\end{array}\right]$

2.2 Alternating Direction Multiplier Method(ADMM) 기반 유도조종 알고리듬

ADMM은 dual ascent 방법을 사용하므로 목적함수를 작은 문제들의 합으로 분할할 수 있고, 연산의 병렬처리가 용이하다. 특히, primal 문제에 추가 항을 더하여 수렴성을 보장하는 augmented lagrangian 방법을 사용하여 높은 수렴 속도를 가지게 된다. 이와 같은 ADMM의 특성은 본 논문에서 제시하는 문제와 같은 대형 스케일 최적화에 적합하며, 연산 복잡도가 낮고 메모리 효율이 우수한 장점이 있다(13,14).

앞서 구성한 통합 유도조종 문제를 아래 식과 같은 ADMM 문제의 기본형으로 재구성하였다. 목적함수는 에너지를 최소한으로 사용하도록 하는 항과 부등식 구속 조건을 위한 indicator function $I_{C}(\bullet)$로 구성하였다. 여기서 $C$는 구속 조건 (8.2)를 만족하는 feasible set을 의미하고, $r$은 feasible set C로 해를 업데이트 하기 위한 primal variable을 의미한다.

(9)

$\begin{array}{cl}\underset{y}{\operatorname{minimize}} & y^T \Psi y+I_C(r) \\ \text { subject to } & \widetilde{A} y-\widetilde{B}=0 \\ & \widetilde{C} y-\widetilde{D}=r \in C\end{array}$

\begin{align*} &{where}\\ & I_{C}(r)=\begin{cases} 0,\: & r\in C\\ \infty ,\:& r\notin C \end{cases} \end{align*}

목표물 요격을 위한 최적 궤적은 표 1에 제시된 알고리듬으로 도출할 수 있다. 알고리듬은 식 (9)의 최적화 문제를 세 개의 작은 문제로 나누어 해결하도록 구성되어 있다. 초기 조건과 종말 조건, 제한조건을 통해 벡터 $y$와 행렬 $\widetilde C$, $\widetilde D$를 도출한다. 그 후 식 (10)를 만족하는 $y^{+}$를 계산하고, 계산된 $y^{+}$와 식 (11)을 통해 $h^{+}$를 도출할 수 있다. 여기서 $h^{+}$는 식 (12), (13)를 통해 한 번 더 값을 갱신하는 과정을 거친다. 이는 계산 된 제어 명령 $y^{+}$가 가속도, 탐색기 시선각 조건을 넘어서지 않도록 제한하기 위해 구성한 식이다. 마지막으로 dual variable $\gamma^{+}$를 앞서 갱신한 $y^{+}$, $h^{+}$와 식 (14)으로 갱신하는 과정을 거친다. 최적 궤적 $y_{{optimal}}$은 위와 같은 방법으로 종료 조건을 만족할 때까지 $y$, $h$, $\gamma$를 차례로 갱신하여 얻을 수 있다(15).

표 1. ADMM 기반 유도조종 알고리듬

Table 1. Integrated guidance and control with ADMM

Algorithm 1

Input:

$y(t_{0})$, $y(t_{f})$, $\widetilde A$, $\widetilde B$, $\widetilde C$, $\widetilde D$

Output:

$y_{{optimal}}$

1:

set $y(t_{0}) $ = $y_{0}$

2:

set ${\gamma_{k}}_{k}^{N-1}= 0$ and ${h_{k}}_{k}^{N-1}= 0$

3:

repeat

4:

Update $\{{y^{+}}\}_{k=0}^{N-1}$ using (10)

5:

Update $\{{h^{+}}\}_{k=0}^{N-1}$ using (11)

6:

Update $\{{h^{+}}\}_{k=0}^{N-1}$ using (12), (13)

7:

Update $\{{\gamma^{+}}\}_{k=0}^{N-1}$ using (14)

8:

until $\vert\vert r_{k}^{+}- r_{k}\vert\vert_{\infty}<\epsilon$

9:

return

(10)
$\begin{aligned} & y^{+}=\underset{y}{\operatorname{argmin}} \quad y^T \Psi y+\rho\|\widetilde{C} y-r\|^2 \\ & \text { subject to } \widetilde{A} y=\widetilde{B} \\ & \text { where } \quad r=\left(r_0, \cdots, r_{N-1}\right)=h+\gamma \\ & \end{aligned}$

(11)
$\begin{aligned} h^{+}= & \underset{y^{+}}{\operatorname{argmin}} \\ & \text { subject to } \widetilde{C} y^{+}-h-\gamma \|^2 \leqq \tilde{D}\end{aligned}$

(12)
$h^{+}= sat(\widetilde C y^{+}-\gamma)$

(13)
\begin{equation} \operatorname{sat}(y)=\left\{\begin{array}{l} y \text { if } y \leqq y \leqq \bar{y} \\ y \text { if } y<\underline{y} \\ \bar{y} \text { if } y>\bar{y} \end{array}\right. \end{equation}

(14)
$\gamma^{+}=\gamma + sat(\widetilde C y^{+}- h^{+})$

3. GPU 기반 연산 가속화 기법

3.1 실시간 연산

제한된 물리적 공간, 전력, 발열 등의 유도탄 특성상 그의 온보드 컴퓨터는 임베디드 시스템으로 구성되어야 하며, 유도탄의 종말 호밍 유도 조종을 위해서는 최적 궤적의 실시간성이 보장되어야 한다. 본 연구에서 제안하는 알고리듬은 유도 조종 문제를 통합하여 horizon size만큼 쌓아 한 번에 연산할 수 있도록 구성하였기 때문에, 대형 행렬 연산을 반복하여 수행하게 된다. 이러한 알고리즘의 성능은 대형 스케일 행렬-벡터 연산 능력에 따라 좌우된다. GPU를 사용하여 ADMM 알고리즘의 실시간성을 보장하기 위한 연구들이 수행되었으나(15,16), 해당 연구들은 범용 시스템(General Purpose System) 기반으로 연구가 진행되었으므로 임베디드 시스템 적용에 적합하지 않다. 따라서 본 논문에서는 유도탄 환경을 고려하여 임베디드 시스템에서 CPU와 GPU를 상호 설계하여 병렬화 및 가속화를 진행하였다.

CPU와 GPU 상호 설계를 위해서는 ADMM 기반 유도조종 알고리듬의 연산 부하량을 판단하고 연산 집약적 알고리듬 부분을 식별해야한다. 따라서 CPU에서의 그림 2과 같이 알고리듬 흐름도를 구성하였다. 흐름도는 먼저 Missile의 속력, System 파라미터, Design 파라미터를 정한 후 궤적 최적화 알고리듬 수행을 위한 변수 $y$, $h$, $\gamma$를 초기화한다. 다음으로 식 (9)와 같은 형태로 통합 유도 조종 문제를 구성한 후 Table 1에 제시된 알고리듬을 통해 최적 궤적을 도출하게 된다. 통합 유도 조종 문제 구성을 위해 필요한 Matrix Formulation 및 Local Problem은 유도탄의 동역학, 제어 시스템이 정해진 후 한 번의 계산만 요구된다. 그러나 최적 궤적은 수렴할 때까지 연산을 실시간으로 반복하여 얻어지므로 최적 궤적 설계를 위한 연산 과정(Sol ADMM)의 연산 가속화가 필수적이다.

그림. 2. 유도조종 알고리듬 흐름도

Fig. 2. Flowchart of integrated guidance and control

../../Resources/kiee/KIEE.2023.72.9.1083/fig2.png

3.2 병렬 연산 구조

그림 3의 흐름도는 통합 유도 조종 알고리듬의 연산 과정을 병렬화하여 각각의 커널에 할당한 것이다. 알고리듬 연산 시 동시에 연산이 수행되어도 연산 결과에 영향을 미치지 않는 과정들을 판단하여 병렬적으로 연산을 수행하도록 했다. 그림 3의 최적 궤적 도출을 위한 연산 중 가장 많은 시간이 소요되는 과정은 Matrix-Vector 곱 연산 과정으로, Matrix와 Vector의 크기에 따라 연산량과 메모리 접근 횟수가 선형적으로 증가한다. 따라서 GPU의 Matrix-Vector 곱셈 연산의 성능 향상은 연산의 병렬화와 메모리 활용이 중요하다. 특히, GPU 하드웨어 메모리 특성과 연산 데이터 크기를 고려하여 커널 구조를 설계하는 것이 중요하다(17)(18)(19). 본 연구에서는 임베디드 환경에서 알고리듬의 실시간 연산을 위해 커널 파라미터와 메모리 구조를 최적화하였다. 병렬화 Thread 수는 알고리듬의 Vector 크기를 고려하여 설계했다. Vector의 크기는 유도탄의 state와 제어 명령을 horizon size만큼 쌓아 구성한 것이므로 2100개의 요소를 가진 vector가 되고, CUDA Block 구조에 따라 하나의 Block에 최대 1024개의 Thread 할당이 가능하여, 하나의 Block에 Thread 700개를 할당하였고 이 Block을 3개 구성하여 병렬화했다. 또한 CUDA 메모리 구조는 그림 4와 같이 크게 Block 내부의 Thread들이 접근할 수 있는 Shared memory와 Block 외부의 Global Memory로 나뉜다. Shared memory는 일종의 Cache 역할을 하는 고성능 메모리로 Block 내부에 있으며, 빠른 메모리 접근시간을 가진다. Global memory는 Block 간의 데이터를 공유할 수 있도록 Block 외부에 있으며, 접근 속도가 Shared memory에 비해 느리다. 따라서 본 연구에서는 그림4와 같이 Matrix-Vector 곱셈 연산 시 데이터 접근이 많은 Vector 데이터를 Global Memory에서 Shared Memory로 업로드 후, 연산하는 Tiling 기법을 적용하였다. 하나의 Block에는 700개의 Thread를 할당하고 각 Thread는 그림 5와 같이 Vector element 한 개와 Matrix element 열 한 개를 연산한다. 이러한 Thread 700개가 모여 그림 5에서 짙은 색으로 표시된 element들을 연산한다. 총 3개의 Block을 통해 2100x2100x2100 Matrix-Vector 곱셈 연산을 수행한다. 이를 통해 Block 내의 메모리 병합률을 높이고 Global memory 접근을 줄여 연산 시간을 단축하였다.

그림. 3. CUDA 커널 흐름도

Fig. 3. Flowchart of cuda kernel

../../Resources/kiee/KIEE.2023.72.9.1083/fig3.png

그림. 4. Matrix-Vector 곱셈 연산 커널 구조도

Fig. 4. Structure diagram of matrix-vector multiplication kernel

../../Resources/kiee/KIEE.2023.72.9.1083/fig4.png

그림. 5. Matrix-Vector 곱셈 메모리 구조도

Fig. 5. Memory structure diagram of matrix-vector multiplication

../../Resources/kiee/KIEE.2023.72.9.1083/fig5.png

4. Simulation

4.1 Simulation 결과

앞서 구현한 유도조종 알고리듬의 연산 시간 분석을 위하여 수치 시뮬레이션을 수행하였다. 시뮬레이션에 사용된 파라미터들의 값은 표 2와 같이 적용하였으며, 결과는 그림 6에 도시하였다. 그림 6에서 붉은 점선은 유도탄의 제한조건을 나타낸 것으로, 가속도, 탐색기 시선각과 시선각속도 제한조건을 모두 위반하지 않는 최적 궤적을 도출할 수 있음을 확인하였다.

4.2 GPU 기반 연산 가속화 결과 분석

본 논문에서의 병렬화 및 가속화 실험은 NVIDIA Jetson Xavier 환경에서 진행되었으며, CPU는 6-core NVIDIA Carmel ARM v8.2 64-bit GPU는 NVIDIA Volta architecture with 384 NVIDIA CUDA cores 사양을 가진다. 실험에서는 CPU만을 사용하여 병렬화하지 않은 알고리듬, 그림 3, 4, 5의 설계를 적용한 CPU-GPU 병렬화 알고리듬, 그림 3의 커널 흐름을 적용하지 않은 알고리듬 그리고 그림 4의 커널 구조를 적용하지 않고 NVIDIA 공개 라이브러리인 cuBLAS를 사용한 알고리듬을 비교한다. 그림 7, 그림 8그리고 표 3에서는 ADMM 기반 유도 조종 알고리듬의 표 1의 반복문에 대한 알고리듬별 수행시간 비교 결과를 나타낸다. 모든 알고리듬은 54회 반복 후 수렴하였으며, 제한조건을 위반하지 않는 최적 궤적을 도출하였다. 그림 7은 제안한 알고리듬과 CPU만을 사용한 알고리듬에 대한 비교이다. GPU를 사용하지 않은 것에 비해 약 19배 빠른 결과를 얻었다. 그림 8은 제안한 방법과 그림 3의 커널 흐름을 적용하지 않은 직렬 커널 알고리듬 그리고 그림 4의 커널 구조를 적용하지 않고 cuBLAS 라이브러리를 사용한 알고리듬의 비교이다. 그림 3의 커널의 병렬 구조를 적용했을 경우와 아닌 경우 약 1.3배 빠른 결과를 얻었는데, 이는 각 커널 데이터가 서로 관련이 없는 경우 병렬화되어 연산하는 것과 모든 커널이 순차적으로 실행되는 것에 대한 차이이다. 또한 그림 4의 커널 구조를 적용한 것과 범용 라이브러리인 cuBLAS를 사용한 알고리듬의 차이는 약 2.1배 빠른 결과를 얻었는데, 이는 cuBLAS 라이브러리를 사용하기 위해 초기 설정 및 메모리 오버헤드이다. 따라서 커널 병렬화, 메모리 설계에 따라 같은 GPU일지라도 최대 2.1배의 연산 가속화가 가능한 것을 알 수 있다. 표 3은 CPU만을 사용한 알고리듬과 제안한 알고리듬의 파트별 연산 시간과 전체 연산 시간을 나타낸다. 표 2의 직렬 커널 흐름과 cuBLAS 커널의 데이터는 제안한 방법과 Sol ADMM 파트 시간에만 차이가 있으므로 제외하였다. 파트 별 연산 시간 중 Initial condition의 역행렬 연산 소요 시간이 매우 크게 나타났으나, 유도탄의 동역학 및 제어시스템 파라미터를 통해 비행 전 사전에 계산되는 항으로 최적 궤적 도출을 위한 iteration 반복 과정에 영향을 미치지 않는다. 또한, 제안한 알고리듬의 CUDA init delay에 소모되는 시간의 경우, CUDA 행렬을 할당하고 CPU의 데이터를 CUDA 데이터로 전송하는 데 소모되는 시간이다. init delay는 행렬의 크기에 비례하는 오버헤드가 소모되지만, init delay 또한 최적 궤적 도출을 위한 iteration 과정에 영향을 미치지 않는다.

표 2. 시뮬레이션 파라미터

Table 2. Simulation parameters

$Z_{\delta}$

$-0.6497/s$

$dt$(s), $t_{f}$(s)

0.01, 2.5

$Z_{\alpha}$

$-2.9399/s$

$a_{max}$

$10g$

$M_{\alpha}$

$-623.6149/s^{2}$

$\epsilon_{max}$

$4.0^{\circ}$

$M_{q}$

$-5/s$

$\dot\epsilon_{max}$

$25^{\circ}/s$

$M_{\delta}$

$-554.4808/s^{2}$

$v_{m}$

$500m/s$

$w_{a}$

$100/s$

$v_{t}$

$1000m/s$

$Q_{k}$

${diag}(\begin{bmatrix}0 0 0 0 0\end{bmatrix})$

for $k\in \{ 1,\:\cdots ,\: N-5 \}$

${diag}(\begin{bmatrix}1.5 1.5 1.5 1.5 1.5\end{bmatrix})$

for $k\in \{ N-5,\:\cdots ,\: N-1\}$

$Q_{N}$

${diag}(\begin{bmatrix}0 0 0 0 10\end{bmatrix})$

$R_{k}$

1

for $k\in \{ 0,\:\cdots ,\: N-1 \}$

5. 결 론

그림. 6. (a) 구동기 명령 및 응답; (b) 유도탄 가속도; (c) 탐색기 시선각; (d) 시선각속도; (e) 받음각; (f) 유도탄 pitch 각속도; (g) 비행경로각; (h) 표적과 유도탄 상대 거리

Fig. 6. (a) actuator command and response; (b) acceleration of missile; (c) seeker look angle; (d) look-angle rate; (e) angle of attack (f) pitch angle rate; (g) flight path angle; (h) relative displacement between the target and the missile.

../../Resources/kiee/KIEE.2023.72.9.1083/fig6.png

본 연구에서는 ADMM 기반의 유도탄 통합 유도 조종 알고리듬을 소개하였다. 알고리듬은 영상 기반 탐색기의 특성을 고려하여, 탐색기 시선각과 시선각속도 제한조건을 포함하도록 하였다. 설계한 알고리듬은 유도탄의 비행 컴퓨팅 환경에서 실시간 연산이 가능하도록 GPU 기반의 병렬화 및 연산 가속화를 수행하였으며, 임베디드 컴퓨팅 환경에서 연산 속도를 검증하였다. 시뮬레이션 결과, 제안하는 알고리듬은 제한조건을 만족하는 최적 궤적 설계가 가능함을 확인하였으며, GPU 기반 연산 가속화를 통해 총 연산 시간이 약 3배 가속되었음을 확인하였다. 특히, 궤적 설계에 소요 되는 시간은 약 19배 감소하여 실시간 연산이 가능함을 확인하였다.

그림. 7. ADMM 기반 유도조종 알고리듬 플랫폼별 연산 시간 비교

Fig. 7. Comparison of computational time by platform for ADMM-based induction control algorithms

../../Resources/kiee/KIEE.2023.72.9.1083/fig7.png

그림. 8. ADMM 기반 유도조종 알고리듬 커널 설계에 따른 연산 시간 비교

Fig. 8. Comparison of computational time by kernel design for integrated guidance and control algorithm based on ADMM

../../Resources/kiee/KIEE.2023.72.9.1083/fig8.png

표 3. 최적 궤적 도출을 위한 Iteration 별 연산 시간 비교

Table 3. Computation time for optimal trajectory design

Number of Iteration

Computation time(ms)

Only CPU

Proposed method

Serial kernel

CUBLAS

v11.4

1

149.3808

21.14704

36.04432

293.493

5

628.6552

53.14682

70.51753

368.907

10

1195.265

86.57178

114.0163

407.6273

30

3436.596

192.6268

262.3888

523.699

50

5580.686

292.478

401.5182

635.5051

54

6010.256

310.2

426.5879

657.5811

표 4. ADMM 기반 최적 궤적 설계 알고리즘의 연산 시간

Table 4. Computation time for each part of the optimal trajectory design algorithm based on ADMM.

Part

Computation time(ms)

Only CPU

CPU + GPU

Set initial conditions

0.0085

0.0069

Matrix formulation

40.4623

42.4152

Define local problem

118.2553

109.1968

Sol ADMM

6010.2558

310.2000

CUDA init delay

-

1528.6292

Total

6169.0

1990.4

Acknowledgements

References

1 
T. Shima, M. Idan, O. M. Golan, 2006, Sliding-mode control for integrated missile autopilot guidance, I.Guid. Control, Vol. dyn, No. 29, pp. 250-260DOI
2 
Y. B. Shtessel, C. H. Tournes, 2009, Integrated higher-order sliding mode guidance and autopilot for dual control missile, J. Guid. Control, Vol. dyn, No. 32, pp. 79-94DOI
3 
P. K. Menon, E. J. Ohlmeyer, 2001, Integrated design of agile missile guidance and autopilot system, Control. Eng. Pract, Vol. 9, pp. 1095-1106DOI
4 
J. H. Kim, I. H. Whang, B. M. Kim, May 2016, Finite Horizon Integrated Guidance and Control for Terminal Homing in Vertical Plane, Journal of Guidance Control and Dynamics, Vol. 39, No. 5, pp. 1103-1111DOI
5 
J.W. Kim, H.C. Lee, 2021, GPU-based Acceleration of Particle Filters for Real-Time Target Localization, KSAS 2021 Fall ConferenceGoogle Search
6 
S. H. Lee, H. C. Lee, Y. Y. Kim, J. H. Kim, W. S. Choi, 2022, GPU-Accelerated PD-IPM for Real-Time Model Predictive Control in Integrated Missile Guidance and Control Systems, Sensors, Vol. 4512, No. 22DOI
7 
D. Diwani, A. Chougule, 2020, Artificial Intelligence based Missile Guidance System, 2020 7th International Conference on Signal Processing and Integrated NetworksGoogle Search
8 
H. S. Choi, H. J. Choi, S. G. Park, June 2017, ADMM algorithms in statistics and machine learning, Journal of the Korea Data & Information Science Society, Vol. 28, pp. 1299-1244Google Search
9 
S. East, M. Cannon, July 2018, ADMM for MPC with state and input constraints, and input nonlinearity, IEEE, Vol. 27DOI
10 
C. Pei, C. Wan, R. Dai, J. R. Rea, November 2022, A Hybrid ADMM for Six-Degree-fo-Freedom Entry Trajectory Optimization based on Dual Quaternions, IEEE Transactions on Aerospace and Electronic Systems, Vol. 21, pp. 3280-3295DOI
11 
T. H. Kim, J. H. Park, J. H. Kim, 2020, Computational Issues in Sparse and Dense Formulations of Integrated Guidance and Control with Constraints, IJASS, Vol. 21, pp. 826-835DOI
12 
V. Gachtiar, C. Manzie, E. C. Kerrigan, 2017, Nonlinear Model Predictive Integrated Missile Control and Its Multi-objective Tuning, Journal of Guidance, Control and Dynamics, Vol. 40, pp. 2958-2967DOI
13 
S. P. Boyd, 2004, Convex Optimization, Cambridge University PressGoogle Search
14 
S. P. Boyd, N. Parikh, E. Chu, B. Peleato, J. Eckstein, 2010, Distributed Optimization and Statistical Learning via the Alternating Direction Method of Multipliers, Foundation and Trends in Machine Learning, Vol. 3, No. 1, pp. 1-122DOI
15 
C. Danielson, August 25 2018, An Alternating Direction Method of Multipliers Algorithm for Symmetric MPC, Mitsubishi Electric Research Laboratories TR2018-118Google Search
16 
Y. Leiming, G. Abraham, D. C. Stefano, February 05 2017, Efficient Convex Optimization on GPUs for Embedded Model Predictive Control, MITSUBISHI ELECTRIC RESEARCH LABORATORIES TR2017-033Google Search
17 
H. H. B. Sørensen, August 2011, High-Performance Matrix-Vector Multiplication on the GPU, Proceedings of the 2011 international conference on Parallel Processing, pp. 377-386DOI
18 
A. Abdelfattah, J. Dongarra, D. Keys, H. Ltaief, 2013, Optimizing Memory-Bound SYMV Kernel on GPU Hardware Accelerators, VECPAR 2012 LNCS 7851, pp. 72-79DOI
19 
A. Abdelattah, D. Keyes, H. Ltaief, May 10 2016, KBLAS: An Optimized Library for Dense Matrix-Vector Multiplication on GPU Accelerators, ACM Transactions on Mathematical Software, Vol. 42, No. 18, pp. 1-31DOI

저자소개

황예지 (Yeji Hwang)
../../Resources/kiee/KIEE.2023.72.9.1083/au1.png

She received the B.S. degree in electronic engineering from KyungHee University, Yongin, South Korea, in 2020 and M.S. in aerospace engineering from Inha University, Incheon, South Korea, in 2023.

Since 2023, she has been a researcher at LIG Nex1, Seongnam, Korea.

Her research interests include convex optimization, guidance and control of unmanned aerial vehicle and missile systems.

E-mail : yeji.hwang@lignex1.com

이창열 (Changyeol Lee)
../../Resources/kiee/KIEE.2023.72.9.1083/au2.png

He received the B.S degree in computer engineering from Kumoh National Institute of Techology, Gumi, South korea, in 2021.

Since 2021, he has been a researcher at LIG Nex1, Seongnam, Korea. His research interests include embedded SW, real-time embedded systems, and missile systems.

E-mail : changyeol.lee@lignex1.com

최원석 (Wonseok Choi)
../../Resources/kiee/KIEE.2023.72.9.1083/au3.png

He received the M.D. degree in Defense Convergence Engineering from Yonsei University, Seoul, Korea, in 2017.

From 2015 to 2017, he was a senior researcher with LIGNex1 for PGM R&D Group Development in Gyeonggi-do, Korea. His research interests include embedded systems, embedded SW, real- time embedded systems, and missile systems.

E-mail : wonseok.choi@lignex1.com

권혁훈 (Hyuck Hoon Kwon)
../../Resources/kiee/KIEE.2023.72.9.1083/au4.png

He received the B.S., M.S., and Ph.D in aerospace engineering from Korea Advanced Institute of Science and Technology (KAIST), Deajeon, South Korea, in 2002, 2005, and 2020 respectively.

In 2009, he joined the LIG Nex1 for development of precision guided missiles.

His research interests include convex optimization, optimal control, guidance and autopilot design, and nonlinear control.

E-mail : soyuz22@gmail.com