【概要】
TLEフォーマットの情報から,低軌道人工衛星の軌道を予測してみる。2009年に起きた衛星どうしの衝突事故を調べていて,TLE形式やSGPモデルの存在を知る。SpaceTrack Report #3のマッチョなプログラムに仰天し,数式で説明した部分を頼りに自分で書いてみた。「黄道ってなに?」なレベルだった私だが,長沢工氏の著書を読んでいるうち軌道計算の面白さにとっぷりハマる(理論面の理解は,いまだにあやふやだったりする)。
 
【算譜】
sgpは予測コードのソース。ヘッダファイルを編集することにより,関数oval(摂動一切考慮なしの比較用),sgp,sgp4(旧来のSGP4)が選べる。
astroは表示コードのソース。両者ともアプリケーションやコマンドラインツールの形式には仕上げてないので,自由にいじって遊んで欲しい。各自の環境に適合しないところはセルフサービスで調整願う。
 
【用法】
sgpを動かすにはCコンパイラが必要となる。また,astroは
Processingで創った。TLEは
CelesTrakで頻繁に更新されている。入手したTLEをsgpに食べさせると,時間ごとの緯度経度および高度を印字してくれる。この出力結果をテキストに保存して(Processingで言うところのdataフォルダに置き)astroに読み込ませると軌道を立体的に表示できる。sgpの実行日時がTLEのエポック(元期=初期時刻のこと)に近ければsgpを動かした当日の予測を行うが,ある程度離れるとエポック当日の予測を行う(いずれもUTCでの話)。錯綜してみづらければ,衛星の数や予測期間を適当に引き下げると良い。astroをJavaアプレットにすると
こんな感じ(運が良ければブラウザ上で動く)。
 
【詳細】
(プログラムの詳細は,後日追加予定)
 
【注意】
SpaceTrack Report #3掲載のTLEで実験・比較した限りでは,1440分後までの地心赤道座標(eci)位置ベクトルで数m程度の誤差。その他の緯度経度を算出する部分は,私が暦や座標システムに明るくないため必要な処理(歳差とか)を適切に行っていないかもしれない。楽しみ以上に厳密なことに使いたい人は,そのあたりよろしく。なお,何種類かあったSGPモデルのファミリーはその後統合されて,長い周期の衛星も一本のモデルで計算できるようになったらしい(新規のSGP4)。詳しくはRevisiting SpaceTrack Report #3をみて欲しい。
 
【参考】
人工衛星を含む天体運動の一般論は,記述が丁寧な以下の書籍が分かり易い:
*天体の位置計算(増補版)
*天体力学入門(上・下)
*人工衛星の力学と制御ハンドブック
SGPモデルについては,以下の解説記事から:
*SpaceTrack Report #3
*Revisiting SpaceTrack Report #3
TLEフォーマットやその他の情報については,ここに掲載されている雑誌Satellite Timesの過去記事が役立つ:
*CelesTrak
自分で作ったプログラムの結果が気になる方は,以下のサイトで(数値は互いにばらつきあり…):
*NASA
*JAXA(TLEや独自の軌道要素を放り込むと計算してくれるサービスがある)
*REAL TIME SATELLITE TRACKING