Nomenclature
1. 서 론
2. 지배방정식과 모델링
2.1 주요 변수 및 좌표계의 정의
2.2 기본 운동방정식
2.3 대기 및 비추력 모델링
2.4 비행체 외력 모델링
2.5 운동방정식 종합
3. 수치해석 방법
3.1 OpenGoddard 개요
3.2 Solution algorithm
3.3 비행체의 형상 변수 및 비행 임무 조건
3.4 코드 수정 및 개선 사항
3.5 코드 validation
4. 해석 결과
4.1 저추력 조건( 1 kN, 30 kg)
4.2 고추력 조건( 29.4 kN, 2000 kg)
4.3 저추력 조건과 고추력 조건의 결과 비교
5. 결 론
Nomenclature
: ECI x-axis
: ECI y-axis
: ECI z-axis
: axis from center of the Earth to flight vehicle
: axis orthogonal to r-axis and orienting left side of r-axis
: unit vector of r-axis
: unit vector of t-axis
: unit vector of z-axis
: displacement from center of the Earth to flight vehicle
𝜃 : angular displacement from r-axis to x-axis
: magnitude of velocity
: r-axis component of velocity
: t-axis component of velocity
: total flight vehicle mass
: mass consumption rate of propellant
: moment of inertia
: angular displacement from y-axis to heading of flight vehicle
: state variable vector
: control variable vector
: ECI position vector of flight vehicle
: external force vector
: r-axis component of external force
: t-axis component of external force
: torque vector
𝜏 : magnitude of torque
: lift vector
: magnitude of lift
: drag vector
: magnitude of drag
: gravity vector
: magnitude of gravity
: sea level gravitational acceleration
: thrust vector
: magnitude of thrust
: angular displacement from heading of flight vehicle to thrust direction
: r-axis component of thrust
: t-axis component of thrust
: pitch angle, angular displacement from t-axis to heading of flight vehicle
𝛾 : flight path angle, angular displacement from t-axis to direction of velocity
𝛼 : angle of attack, angular displacement from direction of velocity to heading of flight vehicle
: radius of Earth
: sea level altitude
: specific impulse
: temperature of air
: density of air
: free stream mach number
: static pressure of air
: specific heat ratio
: static pressure of upper wing surface
: static pressure of lower wing surface
: pressure difference between upper wing surface and lower wing surface
𝛽 : shock wave angle
𝜈 : Prandtl-Meyer function
: Mach number of upper wing surface
: cross section area of flight vehicle
: wing area
: length of flight vehicle
: distance between center of gravity and thrust point
: distance between center of gravity and aerodynamic center
: zero lift drag coefficient
: propellant mass
: maximum thrust
: free stream dynamic pressure
: smoothing cost vector
: smoothing coefficient vector
: thrust smoothing coefficient
: thrust vector smoothing coefficient
: the number of node
: time difference between i th node and i+1 th node
: control variable vector at i th node
: mechanical energy change
: net external force
1. 서 론
재사용 발사체(reusable launch vehicle)는 1972년 미국의 우주왕복선(space shuttle)을 시작으로 관심을 받았으나, 회수, 수리 등 재정비 과정에서 경제성의 한계를 극복하지 못했고, 이후 우주 운송 수단은 소모성 발사체(expendable launch vehicle)로 굳어졌다[1]. 그러나 정보통신 기술의 발전으로 인공위성 등 우주 운송 수단의 수요가 급증하면서 재사용 발사체에 관심이 다시 증가하게 되었다. 재사용 발사체를 효과적으로 활용하기 위해서는 경제성에 대한 개선이 필수적이다. 기존의 궤도 임무 이후 정찰비행 등의 귀환 임무를 추가로 수행하면 단일 발사로 복수의 임무를 수행하는 효과를 얻어 재사용 비행체의 경제성을 확보할 수 있다. 다만, 효과적으로 귀환 임무를 수행하기 위해서는 재진입 과정에서 비행 거리를 최대화할 방안을 연구할 필요가 있다.
로켓기반 복합사이클(Rocket Based Combined Cycle, RBCC)은 로켓과 램제트/스크램제트를 동시에 활용하는 추진 시스템이다. RBCC는 램제트/스크램제트를 사용하기 어려운 저속에서는 로켓을 사용해 추력을 얻고 활용 가능한 공기가 있는 고도에서는 램제트/스크램제트를 사용하여 추력을 얻는다. 따라서 액체로켓보다 비추력이 높고, 공기흡입식 엔진보다 고고도에서 추력을 발생시킬 수 있다. 이러한 특성은 광범위한 재진입 비행 환경에서 비행 거리 최대화를 위해 활용되기에 적합하다[2,3].
그러나 RBCC를 재진입 비행체에 적용하여 최적의 운용 전략을 찾는 궤적 기반의 연구는 미흡하다. 구현준 등[4]은 순차 컨벡스 기법을 적용하여 재사용 우주비행체의 재진입 궤적을 최적화하고 공력 가열, 동압, 공력 하중에 의한 제한 조건을 제시하였다. 그러나 제어 명령으로 뱅크각을 사용하며 무추력 활공 방식을 선택했고 받음각을 단지 비행체 속력의 함수로 설정하여, 비행 거리 최대화를 위한 능동제어기법은 적용되지 않았다.
고효상 등[5]은 이중모드 스크램제트 엔진을 적용하여 등-동압 조건에서 단위 연료당 상승 가속도를 최대로 하는 궤적을 도출했다. 이중모드 스크램제트 엔진이 작동할 수 있는 영역을 구분하고, 불시동이나 비점화와 같은 운용 불가능 영역은 회피할 수 있도록 궤적 최적화를 수행했다. 그러나, 해석 영역이 마하 4~8, 고도 15~30 km로 제한되어, RBCC의 로켓모드가 작동되는 고고도 구간은 고려하지 않았다.
본 연구의 목표는 재사용 우주비행체가 추력제어비행을 통해 귀환할 때, 비행 거리를 최대화할 수 있는 궤적을 도출하는 것이다. 이때, 엔진을 RBCC와 로켓으로 구분하여, 어떤 장단점이 있는지 비교 분석하였다. 특히, 최대추력과 추진제 질량에 따라 RBCC가 어떤 성능개선 효과를 가지는지 고찰하였다.
2. 지배방정식과 모델링
본 연구에서는 OpenGoddard를 기반으로 궤적해석을 수행했다. OpenGoddard는 로켓우주발사체의 비행궤적을 최적화할 수 있는 Python 기반 프로그램으로, 본 연구에서 다루고자 하는 수평 장거리 비행궤적을 분석하기 위한 주요 운동변수들이 누락 되어있다. 따라서, 다음과 같은 운동방정식을 수립하고, 대기 및 공력 등 주요 변수들에 대한 모델링을 수행했다.
2.1 주요 변수 및 좌표계의 정의
본 연구는 재사용 우주비행체의 귀환 임무에서 RBCC의 성능개선 효과를 확인하는 것을 목표로 한다. 따라서 비행 성능 해석의 단순화를 위해, 위도에 대한 영향을 배제하고, 적도 상공에서 비행하는 것으로 한정하는 3-DOF 운동방정식을 도출하였다.
Fig. 1에는 극좌표계 상의 주요 변수를 표시하였다. Fig. 1에 나타난 바와 같이, x축과 y축은 비행체의 위치를 원점으로 하는 좌표계이다. 그러나 회전하지 않는 좌표계로 비행체의 운동과 무관하다. r축은 비행체의 위치벡터 방향의 축이고, t축은 r축에 반시계방향으로 90° 앞선 축이다. 따라서 r축과 t축은 x축, y축과 달리 비행체가 운동함에 따라 회전하는 좌표계이다. 은 비행체의 추진제 포함 총질량, 은 지구 중심으로부터 비행체까지의 거리를 나타내고, 𝜃는 x축으로부터 r축까지 반시계방향 각도, 은 r축 방향 비행체 속도 성분, 는 t축 방향 비행체 속도 성분을 나타낸다. 또한 는 y축으로부터 비행체의 Heading 방향까지 시계방향 각도, 는 의 시간 변화량, 는 Thrust의 크기, 는 비행체의 Heading 방향으로부터 Thrust 방향까지 시계방향 각도를 각각 나타낸다.
Fig. 1에서 정의한 극좌표계에서 비행체의 운동상태를 나타내는 상태변수 와 비행체 제어를 위한 제어변수 는 다음과 같이 정의했다.
상태변수와 극좌표계의 정의로부터 피치 는 t축에서 비행체의 Heading 방향까지, 비행경로각 𝛾는 t축에서 비행체의 Velocity 방향까지 반시계방향 각도이고, 받음각 𝛼는 비행체의 Velocity 방향으로부터 Heading 방향까지 시계방향 각도이다. 이를 수식으로 정리하면 다음과 같다.
2.2 기본 운동방정식
지구 중심을 원점으로 한 극좌표계에서, 비행체를 하나의 질점으로 가정하고 위치, 속도, 및 가속도를 수식으로 나타내면 다음과 같다.
2.1절에서 정의한 변수와 Eq. 4, Eq. 5, Eq. 6을 바탕으로 비선형 상태방정식을 도출하면 다음과 같다.
이때 와 는 각각 r축 방향 합력과 t축 방향 합력이고, 는 비추력, 𝜏는 토크이다. 위 변수들은 2.3절, 2.4절의 모델링을 통해 구체화 된다.
2.3 대기 및 비추력 모델링
대기 모델링은 고도 [km]에 따라 온도와 밀도를 모델링하였다. 온도는 ISA 데이터를 참고하여 다음과 같이 구간을 나누어 선형모델을 사용했다.
밀도는 Fig. 2에 나타낸 바와 같이, 10, 15, 20, 25, 30, 40, 50 km에서의 ISA 밀도 데이터를 지수함수로 피팅하여 모델을 만들었다. 각 데이터 포인트에서 평균오차는 4% 수준이다. 지수함수 피팅을 통해 얻은 모델은 다음과 같다.
비추력 모델링은 Rocket 모드와 RBCC 모드로 구분한다. Rocket의 경우 X-37B에 장착된 AR2-3 engine의 비추력인 245 s와 평균적인 액체로켓의 비추력인 192~456 s[6]를 고려하여 300 s로 설정했다. RBCC의 경우 고도에 따라 모드 천이가 가능하고 모드에 따라 비추력이 달라지는 특성을 가진다. 이러한 특징을 반영하여 액체로켓을 사용하는 고도 50 km에서는 비추력을 300 s로 설정하고, Ramjet을 사용하는 고도 10 km에서는 비추력을 2000 s로 설정했다. 따라서 RBCC 모드에서 비추력은 고도에 대한 함수이고 선형보간을 통해 구한다.
2.4 비행체 외력 모델링
힘에 대한 모델링은 양력, 항력, 추력, 중력의 네 가지로 한다. 앞선 2.2절에서는 비행체에 작용하는 힘을 , , 𝜏와 같이 단순화하여 표현했으나, 실제 비행체에 작용하는 힘은 현재 운동상태와 직결되는 공력이 중요한 역할을 하므로, 이에 대한 모델링이 필수적이다.
먼저 초음속 비행 환경에서 공력을 모델링하기 위해 Thin airfoil을 가정한다. 이후, 받음각 𝛼, 비행 마하수 , 대기압 , 비열비 에 따라 밑면은 충격파, 윗면은 팽창파를 고려하여 압력 차이 을 구한다. 이때 다음과 같이 beta-theta-Mach 관계식과 Prandtl-Meyer 관계식을 이용한다.
Eq. 10을 이용해 구한 𝛽를 Eq. 11에 대입하여 밑면의 압력을 구한다. Eq. 12의 에 를 대입한 값과 받음각 𝛼를 이용해 Eq. 13에서 윗면의 마하수를 구한 뒤, Eq. 14의 등엔트로피 관계식을 이용해 윗면의 압력을 구한다. 마지막으로 Eq. 15에서 압력 차이를 구할 수 있다. 이러한 계산 중, 𝛽와 를 구하는 과정은 수치적으로 비선형 방정식의 해를 구해야 하므로 계산 비용이 크다. 이를 보완하기 위해 Eq. 8, Eq. 9를 이용해 을 마하수, 받음각, 고도의 함수로 설정하고 형식의 테이블로 저장한 뒤, 선형보간 하여 공력을 계산한다. 마하수와 고도는 균일간격이고 범위는 각각 1~10, 10~50 km이다. 받음각의 간격은 낮은 받음각에서 더욱 조밀하게 하여 0.01°에서 0.5°까지 설정했고 범위는 0° ~ 20°이다. 총 테이블의 크기는 901×811×801이다. 선형보간을 통해 구한 에 익면적 를 곱하면 공력을 구할 수 있고, 이때 공력은 날개 면에 수직인 방향으로 작용하므로 공력에 cos𝛼를 곱하면 양력, sin𝛼를 곱하면 유도항력을 구할 수 있다. 항력은 유도항력과 영양력항력(zerolift drag)을 더해 구한다. 영양력항력은 영양력항력계수 와 동압 , 단면적 를 곱해 다음과 같이 계산한다.
비행경로각 𝛾에 대해 양력의 방향은 수직하고 항력의 방향은 평행하다. 이를 고려하여 r축, t축에서 양력과 항력을 표현하면 다음과 같다.
추력은 추력의 크기 , 추력의 방향 로 모델링한다. 가 비행체의 Heading 방향을 기준으로 정의되므로 추력을 r축, t축에서 표현하면 다음과 같다.
중력은 항상 방향으로 작용하고 크기는 과 에 따라 만유인력의 법칙으로부터 구해진다. 따라서 중력은 다음과 같이 모델링할 수 있다.
2.5 운동방정식 종합
2.2절의 기본 운동방정식에서 간단하게 표현한 각종 변수를 2.3, 2.4절에 걸쳐 모델링했다. 본 절에서는 위 절의 내용을 종합하여 운동방정식을 정리한다.
비행체의 위치 이동을 유발하는 힘은 양력, 항력, 추력, 중력의 네 가지이므로 뉴턴 방정식에 대입하면 다음과 같은 관계식을 얻는다.
비행체의 자세 회전을 유발하는 힘은 양력, 항력, 추력이다. 이때 무게중심, 공력중심, 추력 작용점이 비행체의 Heading 방향으로 한 직선에 정렬되어있다고 가정하고, 무게중심으로부터 공력중심이 앞선 거리를 , 무게중심으로부터 추력 작용점이 앞선 거리를 라고 하면, 토크 𝜏는 다음과 같다.
Eq. 24를 뉴턴방정식에 대입하면 다음과 같은 관계식을 얻는다.
지금까지 구한 관계식을 이용하면 Eq. 7의 비선형 상태방정식을 다음과 같이 표현할 수 있다.
3. 수치해석 방법
3.1 OpenGoddard 개요
본 연구에서는 Python의 OpenGoddard를 활용하여 궤적 최적화를 수행했다. Python 기반 최적화 툴인 OpenGoddard는 운동방정식, 등식 제약, 부등식 제약, 비용함수 등으로 문제를 정의하고, Legendre-Gauss-Lobatto pseudo spectral method로 정규화하여 NLP(Nonlinear Programming)를 구성한다. 그 후 SLSQP(Sequential Least Squares Programming) solver를 이용해 NLP의 최적해를 구한다[7,8]. OpenGoddard는 비교적 간단한 API(Application Programming Interface)로 운동방정식, 공력 모델, 대기 모델 등을 함수화하여 하나의 최적화 문제로 조립하기에 적합하다. 또한 적은 노드 수로 고해상도의 해를 얻을 수 있고 초기 guess의 정확성에 비해 수렴 속도가 빠른 편이다. 따라서 OpenGoddard를 본 연구의 최적화 프로그램으로 선택하였다.
3.2 Solution algorithm
OpenGoddard의 순서도를 Fig. 3에 나타냈다. OpenGoddard의 코드 구조는 크게 object, dynamics, equality, inequality, cost로 나눌 수 있다. object는 해석의 대상이 되는 객체이다. 형상 파라미터, 최적화 조건 대기 및 공력 데이터 등 비행체와 비행체 주변의 해석 환경을 object에서 정의한다. dynamics는 상태변수와 제어변수로 이루어진 운동방정식을 정의한다. 와 같은 비선형 상태방정식 꼴로 정의되는 운동방정식(Eq. 26)은 미분 행렬을 이용해 을 계산한 뒤, 등식 제약으로서 OpenGoddard에서 작동한다. equality와 inequality는 각각 등식, 부등식 제약을 추가한다. 해석에서 등식 제약은 초기값과 목표값을 설정하고, 부등식 제약은 최대값과 최소값을 설정하여 현실 조건에 부합하는 최적화 결과를 얻을 수 있게 한다. 이렇게 dynamics, equality, inequality에서 설정된 제약들은 OpenGoddard에서 하나의 NLP 문제로 구성된다. cost는 최적화의 기준이 되는 비용함수를 설정한다.
OpenGoddard에서는 LGL pseudo spectral method와 SLSQP solver를 이용하여 비용함수의 gradient를 구하고 비용함수가 가장 작아지는 방향으로 해를 선택한다. 이를 반복하면 최적해에 도달할 수 있다.
3.3 비행체의 형상 변수 및 비행 임무 조건
본 연구에서는 대표적인 재진입 비행체인 X-37B의 사양을 참조하여 형상 파라미터를 결정했다. 해석에 사용한 비행체의 형상 파라미터는 단면적 , 익면적 , 전장 , 무게중심으로부터 추력 작용점이 앞선 거리 , 무게중심으로부터 공력중심이 앞선 거리 , 영양력항력계수 가 있다. 단면적과 익면적, 전장, 무게중심의 위치, 추력 작용점의 위치는 X-37B의 사양과 Fig. 4에 나타낸 CATIA의 형상 추출 기능을 통해 산출했다.
공력중심의 위치는 공력에 의한 자세의 회전에 영향을 주는 요소이다. 본 연구의 비행체 모델에서 비행체의 자세를 제어할 수 있는 변수는 인데, 자세 유지를 위해 지속적으로 를 사용하게 되면 가속을 위해 가용한 추력이 줄어든다. 이는 RBCC의 성능개선 효과를 확인하는 연구 목표를 달성하는 것에 과도한 복잡성을 추가한다. 따라서 해석의 단순화를 위해 공력중심의 위치를 무게중심과 같다고 가정하고 해석을 진행했다. 영양력항력계수는 일반적인 긴 원기둥의 항력계수인 0.82에서 X-37B의 공기역학적인 설계를 고려하여 0.6으로 사용했다. Table 1에는 형상 변수를 정리하여 나타냈다.
Table 1.
Geometric parameters of X-37B.
| Parameters | Value |
| [m2] | 2.345 |
| [m2] | 13.266 |
| [m] | 8.92 |
| [m] | -5.0 |
| [m] | 0 |
| 0.6 |
비행체의 임무는 재진입 비행체의 Black out이 끝나는 고도 50 km부터 Ramjet 비행 효율이 감소하는 10 km까지 주어진 추진제 질량 를 사용하여 최대한 먼 거리를 비행하는 것이다. 단, 조건으로 비행 과정에서 구조 하중이 안전 범위 이내에 있어야 하고, 추력 및 추력 벡터가 현실적인 범위에서 사용되어야 한다. 실속받음각보다 작은 받음각을 유지해야 하고, Ramjet 엔진 가동을 위해 충분한 속도를 유지해야 한다. 위와 같은 임무 조건으로부터 일반적인 재진입 비행체의 궤적(Fig. 5)을 참고하여 초기값, 최종값, 최대값, 최소값을 도출하고 Table 2에 정리하였다[9].
Table 2.
Mission constraints.
의 초기값과 최종값, 𝜃의 초기값은 임무 조건에 맞추어 6,421 km와 6,381 km, 0°로 설정했다. 와 의 초기값은 Fig. 5에서 고도 50 km에서의 속도를 참고하여 0 m/s, 3,050 m/s로 설정했다. 의 초기값은 X-37B의 최대이륙중량을 참고하여 5,000 kg으로 설정했다. 와 의 초기값은 안정된 자세로 해석을 시작할 수 있도록 0°와 0°/s으로 설정했다.
의 최대값과 최소값은 엘리베이터 등 피치를 조절할 다른 제어력이 없는 것을 고려하여 ±30°로 크게 설정했고 𝛼의 최대값과 최소값은 고 받음각에서 안정성을 유지하는 재진입 비행체의 설계를 고려하여 ±15°로 설정했다. 와 의 최대값과 최소값은 무인 극초음속 비행체의 구조 한계를 참고하여 설정했고 의 최소값은 Ramjet비행 가능 영역을 참고하여 설정했다. 이때, 설정한 초기값과 최종값, 최대값, 최소값은 최적화 과정에서 고정된 조건으로 equality와 inequality 모듈을 통해 최적화 과정에 반영했다.
OpenGoddard는 LGL pseudo spectral method를 사용하므로 초기값(Init. value)과 최종값(Fin. value)만으로 해석할 수 없고 전체 시간영역에 대한 상태변수와 제어변수들의 초기 추정값이 필요하다. 초기 추정값은 초기값과 최종값을 interpolation 하여 얻을 수 있는데, 앞서 설정한 초기값과 최종값으로는 모든 상태변수와 제어변수의 초기 추정값을 얻을 수 없다. 따라서 예측값(estimated condition)을 추가하였고 Table 2에 정리하였다.
𝜃의 최종예측값은 Fig. 5에서 고도 50 km부터 10 km까지 지표면 기준 비행 거리인 500 km를 지구 반지름으로 나눈 값을 참고하여 5°로 설정했고, 그에 맞추어 의 최종예측값을 0°로 하기 위해 의 최종예측값을 -5°로 설정했다. 와 의 최종예측값은 고도 10 km에서 마하수 최소값을 고려하여 0 m/s, 450 m/s으로 설정했다. 의 최종예측값은 추진제를 모두 소모한 것을 가정하여 5,000 kg에서 추진제 질량을 제외한 값으로 설정했다. 의 경우, 초기예측값은 최대추력으로 설정하고 최종예측값은 추진제 소모 후 활공하는 것을 가정하여 0 N으로 설정했다. 이때, 추진제 질량과 최대추력은 case 변수다. 의 경우 초기예측값과 최종예측값 모두 0°로 설정했다. 위에서 설정한 예측값은 interpolation 과정에서 초기값과 최종값으로 사용된다.
변수별 interpolation은 다음과 같이 수행되었다. Eq. 26에서 , , 이 , 에 대한 함수로 주어지므로 , 의 초기값과 최종값을 이용해 , , 의 초기값과 최종값을 계산할 수 있다. 따라서 , 𝜃, 의 초기 추정값은 , 𝜃, , , , 의 초기값과 최종값으로 cubic interpolation 하여 guess 한다. 나머지 상태변수와 제어변수는 해당 변수의 초기값과 최종값을 이용해 linear interpolation 한다.
3.4 코드 수정 및 개선 사항
앞서 설명한 OpenGoddard를 이용하여 다양한 조건에서의 장거리 비행궤적 최적화를 수행했다. 일부 최적화 결과에서는 제어변수의 급격한 변화가 관찰되었으며, 현실에 부합하지 않는 결과로 수렴되는 등의 문제가 발생했다. 이를 해결하기 위해 본 연구에서는 smoothing 기법을 적용해, 제어변수의 급격한 변화를 완화시켰다. smoothing 기법은 비용함수에 페널티 방식으로 smoothing cost를 더하는 방법으로 구현할 수 있다. 이때, smoothing cost는 Eq. 27으로 계산할 수 있다.
smoothing cost는 제어변수의 시간 변화량의 제곱에 비례하는 크기를 가진다. 이를 비용함수에 더하면 제어변수의 시간 변화량이 최소화되고 제어변수의 급격한 변화를 완화할 수 있다. 완화 정도는 smoothing 계수 를 조절하여 결정할 수 있고 완화 정도가 클수록 비행 거리가 감소한다. Figs. 6, 7에 일 때 smoothing 기법 적용 전후의 결과를 나타냈다.
그림에 나타난 바와 같이, fluctuation의 크기와 지속 정도가 큰 폭으로 감소했고 그에 대한 비행 거리 감소 수준은 0.082%로 계산되었다. 해당 수준의 비행 거리 감소는 무시할 수 있고, smoothing 기법을 적용하여 효과적으로 OpenGoddard 코드의 수렴성을 개선하였다.
3.5 코드 validation
앞서 설명한 바와 같이, 본 연구에서 수정 개선한 OpenGoddard 코드는 초음속 비행을 가정하고, Thin airfoil 공력 데이터를 적용하는 등의 단순화 과정으로 인하여, 해석 결과를 실제 비행체의 궤적과 비교 검증하기에 적합하지 않다.
따라서, 본 코드의 해석 결과가 기본 물리법칙을 위배하지 않는 물리적 정합성을 갖는다는 것을 보임으로써, 해석 결과의 타당성을 검증하였다.
구체적인 검증 방법으로 에너지 보존식을 이용했다[10]. 에너지가 보존됨에 따라 비행체가 갖는 역학적에너지(=운동에너지+위치에너지)의 변화량은 비행체에 가해지는 외력(추력, 공력)에 의해 공급되는 일(Net External Work, NEW)과 같아야 한다. 이를 임의의 노드 i부터 노드 i+1까지의 구간에 대해 나타내면 다음과 같다.
는 병진 운동에너지, 회전 운동에너지, 위치 에너지를 고려하여 각 노드에서의 값의 차로 계산되었고, 는 각 노드의 값을 이용해 trapezoidal 방식의 적분으로 계산되었다.
Fig. 8에는 Table 3의 Case 1을 대상으로 와 간의 오차를 시간에 따라 나타냈다. 그림에 나타난 바와 같이, 대체로 오차율은 1% 이내를 유지하였으며, 최대 오차율 1.598%, 평균 오차율 0.561%로 나타났다. 따라서 본 코드의 해석 결과는 물리법칙과 정합성을 갖고 있음을 알 수 있다.
4. 해석 결과
앞서 설명한 해석코드를 이용하여, 재사용 우주비행체의 최장거리 비행 최적화 해석을 수행했다. X-37B의 추력으로 저추력엔진(R-42, 890 N)과 고추력엔진(AR2-3, 29.4 kN)이 모두 사용되었으므로, 제한 조건으로 최대추력과 추진제 질량에 변화를 주고, RBCC와 Rocket의 성능 차이를 비교하였다. 구체적인 제한 조건은 Table 3에 정리된 바와 같다.
4.1 저추력 조건( 1 kN, 30 kg)
RBCC에서 최대추력 1 kN으로 전 구간에서 비행했을 때 약 60 kg의 추진제를 소모하는 것을 확인했다. 따라서 Rocket 대비 RBCC의 추진제 사용 효율성을 확인하기 위해 추진제 질량을 30 kg으로 제한했다.
Fig. 9에는 RBCC와 Rocket의 비행궤적을 나타냈다. 그림에 나타난 바와 같이, 비행궤적은 일정한 비행경로각으로 하강 비행하는 것이 아닌, 상승과 하강을 반복하며 활강하는 방법을 사용하는 것으로 두 경우에서 모두 나타났다. Fig. 9의 비행궤적에서 비행 거리는 RBCC의 경우 792.28 km, Rocket의 경우 783.4 km로 산출되었다. Rocket 대비 RBCC의 비행 거리 개선 효과는 1.134%로 RBCC의 성능개선 효과가 뚜렷하게 나타난다고 보기 어렵다.
Fig. 10에는 RBCC와 Rocket의 시간에 따른 추력 변화를 나타냈다. 그림에 나타난 바와 같이, Rocket에서는 비행 시작부터 최대추력을 사용하여 100 s 부근에서 추진제를 대부분 소진한다.
반면, RBCC에서는 상대적으로 고고도인 0~40 s 구간과 200 s 부근에서는 추력을 약하게 하거나 사용하지 않고, 상대적으로 저고도인 40~170 s 구간과 220~330 s 구간에서 추력을 강하게 사용하고 있음을 알 수 있다.
4.2 고추력 조건( 29.4 kN, 2000 kg)
본 절에서는 X-37B에서 사용하는 AR2-3 engine을 참고하여 최대추력을 29.4 kN으로 상향 조정하였다. 그에 따라 추진제 질량 또한 2000 kg으로 하였다.
Fig. 11은 RBCC와 Rocket의 비행궤적을 나타냈다. 그림에 나타난 바와 같이, 비행궤적은 상승과 하강을 반복한다는 점에서는 유사하나, 비행 거리에서 큰 차이를 보인다. 비행 거리는 RBCC의 경우 2236.08 km이고 Rocket의 경우 1564.65 km이다. Rocket 대비 RBCC의 비행 거리 개선 효과는 42.91%로 4.1절에서의 결과와 달리 성능개선 효과가 눈에 띄게 나타났다.
Fig. 12에는 RBCC와 Rocket의 시간에 따른 추력 변화를 나타냈다. 그림에 나타난 바와 같이, Rocket에서는 비행 초반에 강한 추력을 사용하여 모든 추진제를 소모하지만, RBCC에서는 고도에 따라 추력 사용 시점을 조절하며 비행하는 것을 알 수 있다.
4.3 저추력 조건과 고추력 조건의 결과 비교
앞선 결과에서 저추력 조건에서는 RBCC의 비행 거리가 792.28 km, Rocket의 비행 거리가 783.4 km로 유사하게 나타났으나, 고추력 조건에서는 RBCC의 비행 거리가 2,236.08 km인 반면, Rocket 비행 거리는 1,564.65 km로 나타나 큰 차이를 보였다. 본 절에서는 이렇게 추력 조건에 따라 두 엔진의 비행 거리가 달라지는 이유에 대해서 고찰하고자 한다.
Fig. 13에는 저추력 조건에서 RBCC와 Rocket의 시간에 따른 고도 변화 및 추력 변화를 함께 나타냈다. 그림에 나타난 바와 같이 RBCC의 경우에는 비행시간 전역에 걸쳐 간헐적으로 추력을 발생시키거나, 엔진을 정지하고 있으며, 비행 종료 시점까지 이런 현상이 반복되고 있음을 알 수 있다. 반면, Rocket의 경우에는 비행 초반 고고도 조건에서 최대추력을 지속적으로 발생시켜 추진제를 조기에 소진하게 되고, 남은 시간 동안은 추력 없이 활공 방식으로 비행 거리를 극대화하고 있음을 알 수 있다.
비행 거리를 극대화하기 위해서는 항력을 줄이고, 연료소모율은 낮추는, 즉 비추력을 높이는 비행궤적을 가져야 한다. Rocket의 경우에는 비추력이 고도와 상관없이 일정하므로, 항력이 적은 고고도에서 추력을 지속적으로 발생시켜 항속거리를 극대화하는 것이 타당하다. 그러나, RBCC의 경우에는 고고도에서는 항력이 적지만, 비추력이 낮은 Scramjet 모드로 비행하고, 저고도에서는 항력은 높지만, 비추력이 높은 Ramjet 모드로 비행하게 된다. 따라서, RBCC는 항력에 의한 손실과 비추력 증대에 의한 이득을 고려하여, 최적의 조건에서 엔진을 운용하게 된다.
그러나, 본 연구의 저추력 조건과 같이 최대추력이 매우 낮은 경우에는 RBCC엔진이 추력을 사용하여, 낮은 항력의 고도로 상승하려고 해도, 중력을 극복하고 충분한 고도까지 상승하기 어렵다. 따라서, Fig. 13(a)에 나타난 바와 같이, 비행궤적 상에서 상승, 하강이 있기는 하나, 상승고도는 그다지 높지 않게 나타나고 있으며, Fig. 13(b)에서 엔진을 정지하고 활공하는 궤적과 크게 다르지 않은 비행궤적을 보임을 알 수 있다.
Fig. 14에는 고추력 조건에서 RBCC와 Rocket의 시간에 따른 고도 변화 및 추력 변화를 함께 나타냈다. 이 경우에도 Fig. 13과 같이, RBCC의 경우에는 비행시간 전역에 걸쳐 간헐적으로 추력을 발생시켰다가, 엔진을 정지하기를 반복하는 패턴을 볼 수 있으며, Rocket의 경우에는 비행 초반 고고도 조건에서 최대추력을 발생시켜 추진제를 조기에 소진하고, 남은 시간은 활공 방식으로 비행하고 있음을 알 수 있다.
그러나, Fig. 14(a)에 나타난 RBCC의 고도 변화를 보면, 저추력 조건과 달리 충분한 추력으로 고도 상승이 이루어져, 600 s가량 충분한 시간이 흐른 뒤에도 비행 고도가 약 48 km까지 올라가 초기 고도 (50 km)에 근접한 것을 알 수 있다. 고도가 다시 높아진 만큼, 활공을 통해 비행할 수 있는 거리가 커지게 되므로, 연료를 절감하며 비행하게 되어, 비행 거리를 극대화하고 있음을 알 수 있다.
Fig. 15에는 추진제 질량이 2000 kg일 때, 최대추력이 RBCC와 Rocket의 비행 거리에 미치는 영향을 나타냈다. 그림에 나타난 바와 같이, 최대추력 10 kN에서는 RBCC와 Rocket이 거의 동일한 비행 거리를 보인다. 이는 저추력 조건의 결과에서와 비슷하게, 비행체가 RBCC 활용을 위한 최적 고도로 상승하지 못하고 활공에 가까운 비행을 했기 때문이다. 최대추력이 12 kN까지 증가하는 구간에서는 Rocket의 비행 거리에 비하여 RBCC의 비행 거리가 가파르게 증가하고, 이후 구간에서는 RBCC는 Rocket 대비 40% 이상의 비행 거리 상승량을 유지한다. 이는 최대추력 12 kN 이상에서 비행체가 RBCC 활용을 위한 최적 고도로 상승하는 데에 필요한 추력이 달성되었기 때문이다. 따라서, Rocket 대비 RBCC엔진의 고 비추력 성능을 살려 비행체 장거리 비행을 구현하기 위해서는 충분한 추력이 뒷받침돼야 한다는 것을 알 수 있다.
5. 결 론
본 연구에서는 재사용 비행체의 장거리 귀환 임무 시, 로켓기반 복합사이클(RBCC) 엔진의 적용 효과를 궤적 최적화 관점에서 분석하고, 일반 액체로켓 엔진과 비교하여 그 성능개선 효과를 정량적으로 평가하고자 하였다. 비행체 형상은 X-37B를 참조하였으며, OpenGoddard를 이용해 최대 비행 거리를 목표로 하는 최적화 해석을 수행하였다.
궤적 최적화 해석 결과, RBCC 엔진의 성능은 최대추력 조건에 따라 큰 차이를 보였다.
1. 저추력(1 kN) 조건에서는 RBCC 엔진이 로켓 대비 비행 거리를 1.13% 개선하는 데 그쳐 성능 우위가 미미했다. 이는 추력이 중력과 항력을 극복하고 비행 고도를 적극적으로 높이기에 부족했기 때문이다. 따라서 RBCC가 가진 고효율 저고도 운용 모드의 이점을 충분히 활용하지 못하고, 추력 없이 활공하는 궤적과 큰 차이를 보이지 않았다.
2. 고추력(29.4 kN) 조건에서는 비행 거리를 42.91%까지 획기적으로 증대시켜 RBCC의 잠재적 효용성을 명확히 확인할 수 있었다. 충분한 추력 덕분에 비행체는 비추력이 높은 저고도에서 가속한 후, 다시 항력이 적은 고고도로 상승하여 활공 거리를 극대화하는 최적의 비행 전략을 구사할 수 있었다.
결론적으로, 재진입 비행체의 장거리 임무에 RBCC 엔진을 성공적으로 적용하기 위한 핵심 조건은 충분한 추력의 확보이다. 단순히 높은 비추력을 갖는 것만으로는 장거리 비행 성능을 보장할 수 없으며, 항력 손실을 감수하고서라도 고효율 운용 구간을 적극적으로 활용한 후 다시 고고도로 복귀할 수 있는 추력 성능이 반드시 뒷받침되어야 한다. 다만, 본 연구는 RBCC 모델을 단지 고도에 따라 비추력이 변화하도록 설정했다는 한계점이 있다. 이를 극복하기 위해 향후 연구는 CFD(Computational Fluid Dynamics) 등을 이용하여 고도, 마하수, 받음각, 운용 모드를 포함한 RBCC의 작동 조건에서 연료소모율에 따른 추력 성능을 얻고 이를 반영할 예정이다. 본 연구의 결과는 향후 RBCC 엔진을 탑재하는 재사용 비행체의 시스템 설계 및 운용 전략 수립에 있어 중요한 기초 자료로 활용될 수 있을 것으로 기대된다.

















