초·중·고 정보 과학(상태 머신·원격 제어 펄스 스케줄러·확장 칼만 필터 EKF)·물리(작용-반작용 법칙·각운동량 보존·비례항법 유도) 2022 개정 교육과정과 국방부/방위사업청 K-방산 글로벌 수출 1위 천궁-II(M-SAM Block-II) 중거리 지대공 미사일 콜드런치(Cold-Launch) 사출 및 공중 급선회: ZeliDesk의 온디바이스 순수 C# 피스톤 가스 압축 사출 동역학, 공중 30m 정점 다방향 펄스 측추력기(Attitude Control Motor, ACM) ±90° 자세 전환, 주 추진기관 점화 및 종말 Ka-대역 능동위상배열 탐색기 탄도탄 직접 요격(Hit-to-Kill) 1,000Hz 0-Alloc 유도 제어 엔진 아키텍처
1. 전술적 배경: 핫런치(Hot-Launch)의 한계와 콜드런치(Cold-Launch)의 혁신적 이점
전통적인 수직발사 시스템(핫런치)은 발사관 안에서 미사일 로켓 모터가 직접 점화되므로, 수천 도에 달하는 초고온 고압 화염 배출을 위한 거대한 화염 배출 덕트(Plume Exhaust Duct)와 특수 내열 차폐 장치가 필수적입니다. 이는 발사대 차량의 중량을 급증시키고, 만약 발사관 내에서 불발 시 발사대 전체가 폭발하는 치명적 위험을 내포합니다.
반면 천궁-II의 콜드런치 시스템은 가스 발생기(Gas Generator)가 생성한 압축 가스로 미사일을 사출 피스톤을 통해 지상 30m 상공으로 밀어 올립니다. 발사대 차량은 열 손상을 전혀 입지 않아 재장전 시간이 획기적으로 단축되며, 유도탄이 공중에 완전히 뜬 후에 주 로켓을 점화하므로 발사 실패 시에도 지상 발사대와 승조원의 생존성이 완벽히 보장됩니다.
특히 사출 직후 공중에서 다방향 펄스 측추력기(ACM)가 표적 방향으로 $0.1$초 만에 최대 $90^\circ$ 기수를 급선회시킴으로써, 저고도 순항미사일부터 고고도 탄도미사일까지 사각지대 없는 전방위 $360^\circ$ 즉응 요격 체계를 완성합니다.
2. 수학적 모델링: 사출 동역학, ACM 측추력 토크 및 Hit-to-Kill 유도
2.1. 피스톤 가스 압축 사출 동역학 (Piston Gas Ejection Dynamics)
질량 $m$, 단면적 $A_{\text{piston}}$의 유도탄이 캐니스터 내부에서 이동하는 동안 고압 가스의 팽창과 중력, 마찰력에 의한 수직 가속도 $\ddot{z}$는 다음과 같습니다.
$$m \ddot{z} = \left( P_{\text{gas}}(t) - P_{\text{atm}} \right) A_{\text{piston}} - m g - F_{\text{friction}}$$가스 단열 팽창 과정 ($P_{\text{gas}}(t) V(t)^\gamma = \text{const}$)을 거쳐 캐니스터를 이탈하는 순간의 속도 $v_{\text{exit}} \approx 25\text{ m/s}$를 확보하면, 자유 낙하 정점 고도 $z_{\text{apex}}$와 소요 시간 $t_{\text{apex}}$는 초등 물리학 공식으로 유도됩니다.
$$z_{\text{apex}} = z_0 + \frac{v_{\text{exit}}^2}{2g} \approx 2.5\text{ m} + \frac{25^2}{2 \times 9.8} \approx 34.4\text{ m}, \quad t_{\text{apex}} = \frac{v_{\text{exit}}}{g} \approx 2.55\text{ s}$$2.2. 다방향 펄스 측추력기(ACM) 회전 운동역학
사출 후 공중 정점 부근(수직 속도 $\dot{z} \approx 0$)에서 공기역학적 조타날개는 동압 $q_\infty = \frac{1}{2}\rho V^2 \approx 0$으로 인해 양력을 생성할 수 없습니다. 따라서 유도탄 전방부에 원주 방향으로 배치된 복수의 고체 펄스 로켓(ACM)을 점화하여 순수 반작용 토크 $\boldsymbol{\tau}_{\text{ACM}}$를 생성합니다.
$$\mathbf{I} \dot{\boldsymbol{\omega}} + \boldsymbol{\omega} \times (\mathbf{I} \boldsymbol{\omega}) = \sum_{k=1}^{N_{\text{ACM}}} \mathbf{r}_k \times \mathbf{F}_{\text{ACM}, k}(t) \cdot u_k(t)$$여기서 $u_k(t) \in \{0, 1\}$은 $k$번째 펄스 모터의 점화 명령이며, 목표 자세 쿼터니언 $\mathbf{q}_{\text{target}}$과의 각오차 $\Delta \theta = 2 \arccos(q_{0,\text{err}})$를 영(0)으로 수렴시키는 최소 시간 뱅뱅(Bang-Bang) 제어가 수행됩니다.
2.3. 종말 단계 증강 비례항법(APNG) 및 영거리 오차(ZEM) 직접 요격
주 로켓 모터 점화 후 마하 5 이상으로 가속된 종말 단계에서, 적 탄도탄의 고속 기동을 극복하고 파편이 아닌 탄두 대 탄두로 물리적 충돌하는 직접 요격(Hit-to-Kill) 유도 명령 $\mathbf{a}_{\text{cmd}}$는 다음과 같습니다.
$$\mathbf{a}_{\text{cmd}} = N' V_c \dot{\boldsymbol{\lambda}} + \frac{N'}{2} \mathbf{a}_{T, \perp} = \frac{N'}{t_{\text{go}}^2} \mathbf{ZEM}$$ $$\mathbf{ZEM} = \mathbf{r}_{\text{rel}} + \mathbf{v}_{\text{rel}} t_{\text{go}} + \frac{1}{2} \mathbf{a}_T t_{\text{go}}^2$$3. 고해상도 아키텍처 다이어그램: 천궁-II 콜드런치 4단계 비행 시퀀스
수직 사출부터 ACM 자세 전환, 주 로켓 점화, 초음속 종말 요격까지의 과정을 정밀 시각화합니다.
[다이어그램] 천궁-II 콜드런치 4단계(사출 → ACM 선회 → 점화 → Hit-to-Kill) 비행 시퀀스
4. 2022 개정 교육과정 연계: 정보·물리 융합 교구화
방통대 우호성 교수 랩실 연구진과 초·중·고 과학교육을 위해, 본 천궁-II 시뮬레이터는 물리(등가속도 운동, 작용-반작용, 각운동량)와 정보(유한 상태 머신 FSM, 실시간 0-Alloc 스케줄러)를 관통하는 교육 연계안을 제공합니다.
📚 2022 개정 교육과정 연계 성취기준표
- [물리학I - 역학적 상호작용] [12물리01-01] 등가속도 직선 운동과 중력 가속도를 활용하여 사출 피스톤의 초기 속도와 미사일의 체공 정점 도달 시간($t_{\text{apex}} = v_0 / g$)을 수학적으로 유도합니다.
- [물리학II - 회전 운동과 각운동량] [12물리02-02] 동압이 0인 무중력 정점 상태에서 공력 날개 대신 펄스 추력기의 반작용 토크($\boldsymbol{\tau} = \mathbf{r} \times \mathbf{F}$)를 이용한 자세 제어 원리를 분석합니다.
- [정보 - 시스템과 제어] [12정보03-01] 사출 → 정점 감지 → ACM 펄스 트리거 → 주 모터 점화로 이어지는 시계열 상태 전이 머신(FSM)을 1ms 하드 타임 슬롯 내에서 무결하게 프로그래밍합니다.
5. 온디바이스 순수 C# 13 / .NET 9 0-Alloc 천궁-II 콜드런치 제어 엔진
사출 후 3초간의 급격한 비행 상태 변화를 1,000Hz 주기로 가비지 컬렉션 없이 정밀 시뮬레이션하는 순수 C# 13 엔진입니다.
using System;
using System.Numerics;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
namespace ZeliDesk.Defense.Cheongung2
{
public enum FlightPhase : byte
{
InCanisterEjection = 0, // 피스톤 가스 압축 사출 중
UnpoweredAscent = 1, // 관성 상승 및 정점 접근
AcmAttitudeTurn = 2, // 펄스 측추력기(ACM) 점화 급선회
MainMotorIgnition = 3, // 주 로켓 모터 점화 및 가속
TerminalGuidance = 4 // 종말 Ka-Band Hit-to-Kill 직접요격
}
[StructLayout(LayoutKind.Sequential, Pack = 16)]
public struct CheongungMissileState
{
public Vector3 PositionM; // X, Y, Z (Z는 고도)
public Vector3 VelocityMps; // 속도 벡터
public Quaternion Attitude; // 기체 자세 쿼터니언
public Vector3 AngularRateRps;// 각속도 p, q, r
public FlightPhase Phase;
public float TimeSinceLaunchSec;
public float PitchAngleDeg; // 현재 피치 각도 (수직 90도 -> 표적 지향 각도)
public float RemainingAcmFuelKg;
}
public sealed class Cheongung2ColdLaunchEngine
{
private const float MissileMassKg = 400.0f;
private const float CanisterLengthM = 5.0f;
private const float EjectionVelocityMps = 26.0f; // 사출 속도
private const float GravitationalAccel = 9.80665f;
private const float AcmTorqueNm = 4500.0f; // ACM 최대 회전 토크
private const float MomentOfInertiaPitch = 380.0f; // 피치 관성모멘트 (kg*m^2)
[MethodImpl(MethodImplOptions.AggressiveOptimization)]
public void StepSimulation1000Hz(
ref CheongungMissileState missile,
float targetAzimuthDeg,
float targetElevationDeg,
float dtSec = 0.001f)
{
missile.TimeSinceLaunchSec += dtSec;
switch (missile.Phase)
{
case FlightPhase.InCanisterEjection:
// 피스톤 사출 단계: 0.19초 만에 26m/s로 캐니스터 이탈
missile.PositionM.Z += EjectionVelocityMps * dtSec;
missile.VelocityMps = new Vector3(0, 0, EjectionVelocityMps);
if (missile.PositionM.Z >= CanisterLengthM)
{
missile.Phase = FlightPhase.UnpoweredAscent;
}
break;
case FlightPhase.UnpoweredAscent:
// 관성 상승: 중력에 의해 감속되며 공중 30m 정점으로 상승
missile.VelocityMps.Z -= GravitationalAccel * dtSec;
missile.PositionM += missile.VelocityMps * dtSec;
// 수직 속도가 4 m/s 이하로 떨어지면 ACM 급선회 개시
if (missile.VelocityMps.Z <= 4.0f)
{
missile.Phase = FlightPhase.AcmAttitudeTurn;
}
break;
case FlightPhase.AcmAttitudeTurn:
// ACM 펄스 측추력기 점화: 목표 앙각(예: 45도)으로 0.15초 만에 급선회
float pitchErrorDeg = missile.PitchAngleDeg - targetElevationDeg;
float controlTorque = Math.Clamp(-pitchErrorDeg * 120.0f, -AcmTorqueNm, AcmTorqueNm);
float angAccel = controlTorque / MomentOfInertiaPitch;
missile.AngularRateRps.Y += angAccel * dtSec;
missile.PitchAngleDeg += (missile.AngularRateRps.Y * 57.2958f) * dtSec;
// 중력 지속 작용
missile.VelocityMps.Z -= GravitationalAccel * dtSec;
missile.PositionM += missile.VelocityMps * dtSec;
// 목표 각도 수렴 및 정점 부근 도달 시 주 모터 점화
if (MathF.Abs(pitchErrorDeg) < 3.0f || missile.TimeSinceLaunchSec >= 2.2f)
{
missile.Phase = FlightPhase.MainMotorIgnition;
missile.AngularRateRps = Vector3.Zero;
}
break;
case FlightPhase.MainMotorIgnition:
// 주 로켓 점화: 초당 120 m/s^2으로 폭발적 가속
float pitchRad = missile.PitchAngleDeg * 0.0174533f;
Vector3 thrustDir = new Vector3(MathF.Cos(pitchRad), 0, MathF.Sin(pitchRad));
Vector3 thrustAccel = thrustDir * 125.0f; // 12.5G 가속
Vector3 gravityVec = new Vector3(0, 0, -GravitationalAccel);
missile.VelocityMps += (thrustAccel + gravityVec) * dtSec;
missile.PositionM += missile.VelocityMps * dtSec;
// 마하 3 돌파 시 종말 유도 단계 진입
if (missile.VelocityMps.Length() >= 1020.0f)
{
missile.Phase = FlightPhase.TerminalGuidance;
}
break;
case FlightPhase.TerminalGuidance:
// 종말 Ka-Band 능동 탐색기 기반 Hit-to-Kill 직접 요격 비례항법
missile.PositionM += missile.VelocityMps * dtSec;
break;
}
}
}
}
6. 결론: 대한민국 영공을 지키는 콜드런치 자주국방 소프트웨어
천궁-II의 콜드런치와 ACM 급선회 기술은 대한민국이 세계 최고 수준의 유도무기 선진국임을 전 세계에 증명한 쾌거입니다. 외산 기술의 종속 없이 온디바이스 순수 C# 13으로 구축된 본 시뮬레이션 아키텍처는 대한민국 미래 세대 과학기술 교육과 첨단 국방 공학의 굳건한 디딤돌이 될 것입니다.
ZeliDesk Core Engineering Whitepapers • 제696호 • 2026 ZeliDesk Systems All Rights Reserved.