2014년 10월 21일 화요일

[강좌] [애드온] 자동하강을 도와줄 계기입니다. 2004/FSX 공용

[하강에 관한 잡담]

디폴트 비행기를 운항시 초보자가 놓치기 쉬운 실수 중의 하나는 적절한 하강 시점을 놓치고 목적지
비행장을 지나치거나 급작스런 하강을 해야 하는 난리를 격게 됩니다.
상용기라면 운항관리컴퓨터(FMC)에 의해 자동으로 하강포인트(TD)를 잡아줘서 하강할 수 있지만
디폴트 비행기는 그러한 기능이 없기 때문에 하강 지점을 직접 알아야 합니다.
가장 이상적인 하강은 엔진을 최저출력상태(IDLE) 상태로 두고 속도가 급격히 증가하지 않은 상태로
맞추어 하강하는 것입니다. 비행기가 비싼 연료들여가며 높은 3만피트까지 상승한뒤 다시 내려올때는
최대한 기름을 아껴야지요. 즉 왠만하면 연료안쓰고 글라이딩해서 내려오겠단 말입니다.

실험적으로 엔진을 IDLE로 둔상태로 속도가 300을 넘지 않게 비행기 피치를 제어해보면
하강시 중력가속으로인한 속도증가를 피치의 조절로 비행기 속도를 고정시킬수 있는 시점(가속도가 0)이 있습니다.
 이때 보통 비행기가 하강하는 각이 대충 3도 정도이지 않나 생각합니다.
이 말은 비행기가 고개를 아래로 3도를 내린다는 말은 아니구 비행기동체가 전체적으로 하강하는 각도를
말하는 것입니다. 비행기는 고개 쳐들고도 엔진 추력이 약하면 하강한다는 점을 생각하면 무슨 말인지
이해할 것입니다. 왜 3도로 비행기를 설계하는지는 저도 잘 모릅니다. 듣자하는 소문에 그렇게 하면 승객들이
편안하게 모실수 있다고 합니다.

엔진이 최저출력상태(IDLE)에서 얼마가 될지도 모를 비행기속도와 하강속도를 계산해 적절한
하강 시점 TD를 계산하기는 상당히 난해합니다.
가장 이상적으로 하강하는 상태가 하강 각도가 3도라는 가정하에서 진행합니다.
그럼 TD는 다음과 같이 간단하게 구해질 수 있습니다.
비행장으로 부터 딱 3도 각도로 쏘아 올린 빔이 현재순항 고도 만큼 올라온 자리 즉
현재 고도와  목적지공항이 3도로 이루는 시점을 하강을 시작하는 T/D 포인트라고
계산할 수 있습니다. 이건 아래의 설명으로 쉽게 구할 수 있습니다.

아래의 그림을 살펴보면


고등학교때 수학시간때 졸지 않은 분들이라면 tan는 알고 계실겁니다.

tan3°= 하강시작고도 / 하강지점TD
하강지점TD = 하강시작고도 / tan3°

식을 풀기전에 TD는 mile 단위이며 고도는 feet 단위인데 몇가지 참고하시기 바랍니다.
1mile =  6076.1155 feet
tan3°= 0.05235987

그럼..28000피트 상공을 날고 있을때 목적지 공항으로부터 몇마일전부터 하강하면 될까요?
위에서 정리한 식으로 풀면
TD = 28000/ 6076.1155 / 0.05235987 = 88(마일)
그럼 88마일전부터 3도 하강으로 하면 정확하게 공항에 도달합니다.

하강 TD 시점은 알아 냈습니다. 그럼 하강합니다.
오토파일럿 상태로 ALT에 ILS 캡쳐고도 2000정도로 세팅한후
그럼 실제 하강할때 딱 3도로 내려오기 위해서는 무엇을 조정해야 할까요?
오토파일럿 상태라면 조정할거라곤 비행기속도랑 VS 밖에 없습니다.
비행기 속도는 상관없습니다. 그렇다고 하강속도VS가 딱 정해져 있는것도 아닙니다.
하강속도VS -1000이던 -2000 이던 상관없습니다. 왜냐하면 하강 속도가 -500정도에 맞추어서
천천히 하강하면 비행기를 속도를 낮추면 되구 -2000 하강속도라면 아래로 빨리떨어지기 때문에
비행기가 빨리달리리게 해서 3도의 가상 하강선에 맞추면 되는것입니다.
비행기 속도는 일반적으로 트랜지션고도 이상에서는 290 이하에서는 250으로 속도를 세팅한다.
그러니 속도는 고정시켜 놓고 그에 따른 3도 하강 VS를 조절해서 하강합니다.


하강속도 = 그라운드스피드 *  tan3° 입니다.
위에 그림에서도 하강속도는 그라운드스피드에 비례합니다.
그라운드속도가 빠르면 하강속도를 빨리해주어야 합니다.

자 그럼 속도가 290KIA입니다. 몇으로 하강하면 될까요?
답을 풀려는데 문제는 그라운드속도인데 290KIA는 공중에서의 비행기가 계기판 속도입니다.
따라서 그라운드스피드는 GPS에서 가지고 올수 밖에 없습니다.

문제를 바꾸어 350KTS의 속도에서 몇으로 하강하면 될까요?
 350/60 * 6076.1155 * 0.05235987 = 1855 feet 입니다.
 350KTS는 시속이기 때문에 분속(60)으로 나누어 주어야 합니다.

하강을 진행함에 따라 고도가 낮아지면 공기의 밀도가 많아지도 저항이 많기 때문에
그라운드스피드가  느려집니다. 따라서 하강중에 위의 식을 반복해서 VS를 조정할 필요가 있습니다.

그럼 지금 올바른 하강선 라인을 타고 있는지는 아래식으로 구할 수 있습니다.
 순항고도 = 남은거리마일 * tan3°

가령 공항까지 30마일이 남았다면 이상적인 순항고도는
순항고도 = (30 * 6076.1155) * 0.05235987 = 약 9500피트입니다.
이 고도를 기준으로 현재 하강하는 비행기가 위에 있는지 아래에 위치하고 있는지 알수 있습니다.

[자동 하강 컨트롤 계기]

실제 비행시 저런 복잡한 계산을 비행중에 계산기 두들겨 가며 해야 할까요?
세상이 어떤 세상인데 ^^; 보잉기와 같은 대형여객기들은 운항관리컴퓨터(FMC)가 저런 복잡한 것을 대신
다 처리 해줍니다. 디폴트기에는 불행히도 없습니다.
자동 하강 컨트롤 계기란 TD 구간을 자동으로 계산하여 하강하는 것을 돕는 것으로 운항관리컴퓨터(FMC)의 기능중에
하나이며 하강에 관련부분만 구현한 것입니다.
FMC가 없는 기종에서 유용하게 부착해서 운용하면 어려운 디폴트기 운항에 좀 도움이 되지 않을까 합니다.

계기가 동작하는 원리는 위에서 힘들게 설명해드린 내용을 바탕으로 합니다.
현재위치는 디폴트 비행기의 GPS에서 받아옵니다. 목적지 공항의 거리를 계산한 다음
원리는 아래의 그림과 같습니다.



위의 그림과 같이 비행기가 ILS의 글라이드슬루프를 쫓아 가는 거와 흡사하게 가상3도라인을 따라가게 됩니다.
일단 기본 하강 속도는 위에서 설명드린 그라운드스피드로 계산합니다.
가상의 3도선보다 비행기가 위에 위치한 경우라면 계산된 VS를 -증가합니다.
반면에 비행기가 아래의 위치한 경우라면 VS를 +증가로 하강속도를 낮추어서 라인과
일치시키도록 쉴새없이 조정합니다. VS값을 하강시 실시간으로 올라갔다 내려갔다 하면서 최적의 VS값을 찾아냅니다.
이러한 제어 이론을 실시간 gain 제어론이라고 하는데 시스템을 실행해보고 그 결과로 나온 데이터를
분석하여 gain을 조정하고, 조정된 gain을 다시 시스템에 적용하여 검증하는 방식으로
반복 시행착오의 방법으로 반복해서 결과를 수정하는 알고리즘으로 최종적으로 이상적인
VS에 도달하게 됩니다.
이러한 적응알고리즘은 바람의 영향이나 외부에 요소에도 능동적으로 대처할 수 있습니다. 맞바람이나 뒷바람에 의해
비행기가 떠밀려 갈 경우에도 자동으로 최적의 VS로 세팅됩니다. 

기본하강속도(feet) = 그라운드스피드/60 * 6076.1155 * tan3° 
하강VS = 기본하강속도(feet) + 3도하강선과높이 x gain

이번 버전에 구현된 기능은 워낙 단순하기 때문에 비행기속도는 제어하기 않습니다.
속도는 대충제어해도 알아서 계산 다해줍니다.  계기를 작동시키면 VS가 끊임없이 변하는 모습을 볼수 있습니다. 

[설치방법]
일단 아래의 파일을 받습니다. 크기는 아주 작습니다. ^^;

그리고 좀 수작업으로 계기를 설치해 주셔야 합니다. 인스톨러를 제공해 드리지 못해 죄송합니다.

1. 파일을 아래의 경로에 그냥 복사합니다. 

FSX의 경우 Microsoft Flight Simulator X\Gauges
FS2004의 경우 Flight Simulator 9\Gauges

2. 계기판 파일을  편집합니다.
원하는 비행기를 하나 선택합니다. GPS가 설치되어 있는 비행기라야 합니다.
디폴트 비행기 혹은 POSKY 기체에서 작동합니다.
계기판 파일을 간단히 편집해서 추가할 수 있습니다.

예) FSX의 737-800에 달아보겠습니다.

Microsoft Flight Simulator X\SimObjects\Airplanes\B737_800 폴더를 엽니다.
L:\Microsoft Flight Simulator X\SimObjects\Airplanes\B737_800\panel\panel.cfg 을 메모장으로 엽니다.

그리고 아래의 내용을 복사해서 아래의 위치로 추가합니다.
주의하실점은 Window번호가 마지막 Window 번호랑 이어지도록 수정해 주세요..

Window10=bFMC
[Window10]
size_mm=260,96
pixel_size=260,96
position=2
visible=1
ident=bFMC
gauge00=bfmc!bFMC,0,0


아래의 화면과 끼워넣어 주시면 됩니다. 


위의 그림과 똑같이 복사해주고 저장하면 설치 끝~~

pixel_size=260,96 은 와이드모니터에서 계기판이 좌우로 퍼지는걸 방지하기 위해 넣었는데
일반 모니터인경우는 삭제해주셔도 됩니다.

[계기설명 및 시험비행]

계기가 작동하기 위한 조건은 비행계획이 잡혀 있어야 합니다.
목적지 공항과 공항으로 가는 루트를 알아야 TD를 계산할 수 있기 때문에
비행계획대로 비행하지 않더라도 비행계획을 만들고 비행하셔야 합니다.
다음은 RKSI인천공항에서 이륙하여 RKPC제주공항6번 활주로를 무허가로 일방적(?)으로 착륙할 경로입니다.


그럼 아래의 그림과 같은 첨보는 계기판이 보이실겁니다.
적당하게 배치합니다.
현재 순항항로 0 / 바람 7도 속도 0이라고 표시됩니다.


오토파일럿 세팅으로 28000피트까지 상승해 보겠습니다. 동시에 GPS를 이용하여 계획된 항로를 비행합니다.
고도세팅을 해주면 자동으로 자동하강계기의 CRUISE 숫자도 자동으로 맞추어집니다.
자동하강계기는 말그래도 상승은 도와주지 않습니다. ^^;


상승이 끝났으면 순항에 들어갑니다. 이때 자동하강계기판에 AP 버튼을 눌러주면 아래의 화면처럼
동작합니다. T/D POINT 130.86 즉, 하강지점까지 130.86마일 남았다는 말입니다.


T/D까지 7.29 남았군요.. 슬슬 맘의 준비를 하셔야 합니다.


방금 T/D 지점을 막통과해서 하강계기가 동작중입니다. 하지만 홀딩고도를 낮추어주지 않으면
하강하지 않습니다. 이때 ILS 수신고도 2000정도까지 내려줍니다. 귀찮은데 그냥 0피트까지 하강합니다.


순조롭게 하강중입니다. ERR이라고 표시된건 현재 3도하강고도랑 실제운항고도의 오차입니다.
IPDAS 픽스를 향하고 있습니다. 현재고도 23800정도네요... VS -2600


HALLA 픽스를 지나갑니다. 현재고도 15600정도...VS -2200

튜토리얼에 언제나 등장하는 마린입니다. 약 6000피트로 통과... VS -1100


ILS 수신지점을 2500피트로 통과하는 군요...이때 자동하강계기 AP를 꺼고 ILS를 수신해서 착륙해도 상관없습니다만,
계기성능 시험을 위해 그냥 내버려 둡니다.


속도 140, 풀플랩입니다. 일단 순조롭게 하강하는듯 하군요.. 과연 어떻게 될까요?



사뿐하게 착륙합니다. ILS가 필요없네요. ^^;
한일도 없이...그냥 착륙하는군요..^^;
자동하강계기는 VS를 제어해서 하강선을 타게 됩니다. 하지만 VS가 100단위로 제어되기 때문에
완전 ERR를 0로 맞추는건 어렵습니다. 실제로도 어렵겠죠? 그래도 무난하게 착륙까지 하는군요 ^^;


그럼. FMC가 없는 비행기에 부착하시면 높이 올라가시더라도 편안하게 하강하실수 있을겁니다.
어려운 내용인데도 끝까지 읽어주셔서 감사합니다.
자동하강 알고리즘설계하고 계기 프로그래밍 짜느라 꽤 힘들었는데 ...
글쓰는게 더 힘더는군요^^; 글만 하루종일 걸렸네요.. 

https://drive.google.com/file/d/0BwX7WvHxqTfqeVczaWRscnlQUW8/view?usp=sharing

댓글 없음:

댓글 쓰기