プロジェクト

全般

プロフィール

衛星軌道をTLEから計算する

はじめに

次の記事で解説されている、軌道6要素から衛星軌道を計算することを習ってみます。

Pythonを使って人工衛星の軌道を表現する~軌道6要素、TLE~(宙畑)

この記事では最初に衛星軌道をニュートンの運動方程式を常微分方程式で表現し、数値で解く方法を紹介しています。
この記事に習って次のWikiページ衛星軌道の運動方程式を数値的に解く に微分方程式とPythonプログラミングを習って書いてみました。
そこでは、運動方程式は二階の微分方程式(運動方程式の加速度が位置の2階微分となる)なので、補助変数として速度を取り入れて連立一階微分方程式で記述しました。
3次元における位置と速度なので、変数は 位置(x, y, z)と速度(vx, vy, vz)の6項目で衛星軌道を表現しています。

軌道6要素は、位置と速度の6項目を別な表現で書き換えたものとなります。
位置と速度ではなく、軌道6要素で表現する理由は、軌道6要素のうち5つの要素が時間によって変化しないため、非常に扱いやすいためです。
位置と速度の6項目はすべて時刻によって変わる値です。

軌道6要素については、Wikiページ 衛星軌道 に書いていますので参照ください。

Pythonで起動6要素を扱う

軌道6要素から衛星軌道をプロットするには、軌道6要素から位置・速度に変換する必要があります。

pykepライブラリのインストール

記事で解説されている、軌道6要素から位置・速度への変換は、ESA(欧州宇宙機関)のACT(Advanced Concept Team)が公開する pykep ライブラリを利用します。
https://www.esa.int/gsp/ACT/open_source/pykep/

pipでインストール

pykepライブラリをpipコマンドでインストールしようとすると、Windows 11/Python 3.9, 3.13 64bit版では次のとおりエラーとなってしまいます。

(venv)orbit_sorabatake$ pip install pykep
ERROR: Could not find a version that satisfies the requirement pykep (from versions: none)
ERROR: No matching distribution found for pykep

PyPIサイトで PyKepのファイルを調べると、Windows用のPyKepビルド済みファイル(whlファイル)は、Python 3.6, 3.7となっています。なので、それ以外のPythonバージョンでインストールしようとすると上述のエラーとなってしまいます。
https://pypi.org/project/pykep/#files

condaでインストール

Anaconda環境下でcondaコマンドでインストールする場合、Windows 64bit用の pykep 2.6.4 は、Python 3.13, 3.12, 3.11, 3.10, 3.9対応版が提供されています。


約2ヶ月前に更新