본문 바로가기

헛공부

Satellite Operator 개발일지 (2)

일단 대략적인 설정파일 변환은 완료하였음.

하지만 실제 개발 이후에도 설정 업데이트는 있을 예정임.

 

설정파일 목록:

Spacecraft.yaml : 위성체에 관한 정보

Station.yaml: 관측소에 관한 정보

Config.yaml: 일반 설정

Input.yaml: OD/OP/MA/CO/EP 각 프로그램에 대한 설정 통합.

 

가장 문제가 되는 부분은 아무래도 input 부분으로, 기존의 OD/OP 부분과 MA/CO/EP 간의 설정 격차가 너무 크고,

구조화되거나 작명에 대한 일관성도 떨어지기 때문에, 추후 지속적인 업데이트가 필요할 것으로 보임.

아무래도 기본 설정으로부터 중간에 각자 설정에 맞는 중간변환기가 하나씩 들어가지 않겠나 싶음.

 

 

설정 외에 기본적으로 사용되는 고정 항목으로는:

BIH Table (International Time Bureau) : 너무 오래돼서  IERS쪽으로 변경이 가능한지 확인해봐야 할 듯.

JPL DE (JPL Planetary and Lunar Ephemerides) : 기존의 것이 403을 사용중인데 440이나 441로 변경 확인.

SCX (Spacecraft Tracking) <- 이건 얻을 수가 없으므로 TLE를 기반으로 검증/변환하는 방안을 마련해 볼 것.

 

각각의 고정(상수) 들이 너무 오래된 감이 있음. 우선적으로 해당 부분에 대해 현행화를 시도하지만,

실제 게임상에서는 가상의 궤도나 행성의 자전 등을 고려하여야 하기 때문에, 가상의 물리량을 계산하는 부분도 필요할 것으로 보임.

 

 

마지막으로 출력 부분은 DB화 하고, 출력을 따로 뽑을 수 있도록 개발.

기존 BKN 항목을 기반으로 DB화 하되, 각 모듈별 기타 출력물들에 대해서도 DB화 할 것.

 

또한 가장 기초적인 좌표에 대해 Cartesian Coordinate와  Kepler 6-element 구현 및 변환 가능하여야 하므로,

해당 부분 또한 함께 작업 중임.

 

 

5월에 기존 설정들을 기반으로 IO쪽을 고민하느라 생각을 못 했는데,

실제 기존 코드상에서 고려하였던 초기값과 좌표계에 대한 고민들을 다시 시작해야 합니다.

코드상 설정과 관련된 초기 세팅 과정과 상수로 주어진 물리량 등의 부분이 있는데,

이 부분을 고민 안하고 만들었더니, 변환하기가 어려워지고 있음(...)

 

조금은 단계적으로 구축해 나갈 필요가 있을 듯 함.

 

개발 언어는 C#,

사용된 라이브러리는 Math.Net Numerics, YamlDotNet, Sqlite 정도임.