【ぼやき】超小型衛星向けオンボード軌道伝播,マルチエージェント制御でわんちゃん?

近年大変な盛り上がりを見せている超小型衛星分野.地球を観測し,そのデータを集める.あるいは通信インフラとして活用するなどなど,国でないとできなかったことが,民間や大学レベルで実現可能な時代になっています.その超小型衛星ですが,当然打ち上げたあと,現在の軌道を計算して監視したり,スラスタを有しているのであれば軌道修正を行ったりする「運用」が必要になります.その際,地上で計算してやって,衛星にその情報を送るといったことが大昔ではなされてきました.ですが,最近は,超小型衛星を複数機打ち上げてより高度なミッションを行おうという流れがあり,その機数が多くなると地上で集中的に監視,制御の指令等を行うのは大変です.そのため,できる限り自律化することが望まれています.例えば,基本的なこととして,自身がどこにいるかを知って,自ら適切な位置や姿勢に制御する機能を身に付けたいという問題があるわけです.幸運なことに,地球周回衛星は,GPSが存在するため,従来はGPSをベースにした手法が主流な超小型衛星のオンボード軌道計算手法となっています.GPSはみなさんよく利用されているのでわかるかと思いますが,三角測量の原理で,自身の位置を知ることのできるシステムです.通常GPSがいるような軌道は,超小型衛星が打ち上げられるような軌道の高度に比べると高く,つまり,地球上の私たちの位置がわかるなら,低高度を飛ぶ衛星の位置も同じ要領でわかるよね.というものです.この情報をもとに,SGP4とよばれる軌道計算アルゴリズムで計算が行うのがメジャーな方法です.SGP4は,最低限の摂動を考慮し,近似的な解析解(数値計算的でないということ)を用いて計算します.すなわち計算コストが非常に軽いわけです.なので精度としては高いとは言えないのですが,定期的に初期値を更新してやって短時間の軌道伝播を行えば実用に耐えるということで,実際に超小型衛星で採用されていたりします.

なのでまあそれでいいじゃないか.問題はなさそう.ともいえるのですが,例えば,GPSを利用するのにも,いつでも使えるわけではないし,アンテナが必要だったりといろいろ不便もあります.それに,厳密に自律的かというとGPSの力を借りているので準自律的と言わざるを得ません.それに月まわりや深宇宙探査などまで発展させた場合,当然使えません.そこで,あえてGPSを禁止するというどMな制約を置いてみます.

GPSが使えない場合に,自律的に軌道を計算する(最終的には制御も自身で考えてする)にはどうすればいいんでしょうか.

 

CPU(マイコン)の制約は大きい

まず,制約として,超小型衛星なので,コンピュータ:マイクロプロセッサの計算能力には限界があります.まあそもそも,宇宙環境で使えるCPUというのは,地上で使えるものよりはるかにパフォーマンスが落ちてしまいます.その理由は,ズバリ放射線です.宇宙では地上とは比べ物にならない量の放射線がとびかっています.この放射線は,半導体に悪影響を及ぼしCPUが誤作動する原因になります.その放射線防護が施されたCPUというのは数少ないわけです.例えば,NASAの火星探査ローバーCuriosityでも200MHz程度のクロックで,RAMも256MBです.私の使用しているMacBook Airも古い型ですが1.6GHz, Memoryは8GBですから,まさに桁違いでヘボいです.いまどき,500円程度の少し良いマイコンなら100MHzクロック程度のものはあります.近年は,半導体の製造コストが高いため,トリプルモジュラーで冗長性を備えたCPUを開発して,宇宙用としているようです.

Cubesatに限っていえば,DSPIC33FJ256GP710-I/PF、などがあるよう.これを例に仕様をみてみると,最大周波数:40MHz, RAM: 30kB, Program Memory: 256kBとのこと.

 

 

DSPIC33FJ256GP710-I/PFの仕様

 

あくまで一例ですが,現状衛星や宇宙機のリアルタイムな賢さは定量的にこの程度みたいですね.

 

どんな軌道伝播アルゴリズムがある?

これからの話は地球周回に限ってですが,アルゴリズムは大きく,解析的か数値的かの2つにその中間でいいとこどりをした準解析的手法にわけられます.解析的とは,軌道がある時間の関数で与えられていて,代入してしまえば,そのまま求まる.というもののことです.もっとも基本的には,二体問題の解であるケプラーの方程式の解と考えてもらって大丈夫です.そこに,地球が完全な球でないことに起因する外乱や,大気抵抗,太陽光圧の影響や第三の天体の重力などの摂動をどこまで加味するかでアルゴリズムが変わります.数値的というのは,力まかせに微分方程式を数値積分してしまう方法のことです.これは精度はよくなりますが,計算コストが重くなります.もっとも基本となるのはオイラー法ですが,さすがに精度が悪いので,使われません.4次のルンゲクッタ法がもっとも手軽で有名です.また,アダムスバッシュフォース法,予測修正子法など,様々な数値計算アルゴリズムがありますが,さらなる精度向上,高速計算には利用されます.他にも現在,地上では,それらアルゴリズムで,あらゆる摂動を加味した運動方程式を解くことで,非常に高精度な軌道計算を行うことがコンピュータの性能向上にともなって可能になっています.超小型衛星で使えるコンピュータの性能を考えると,なんでもかんでも加味して数値計算するのは難しいです.精度とのトレードオフになってきそうです.

とはいえやっぱり基本方程式を少しカスタマイズしたような式をできる限り数値的に解いて精度が高いのが理想です.結局のところ,解析的手法の精度向上には,絶対的に観測量が必要になるわけで,文献を調べていると,カルマンフィルタを使ったような手法を検討しているものも多いんですよね.

最近,ワンチャンあるかな,と考えているのは,IoTなどで話題に上がっている「マルチエージェントシステムの制御」で語られるような合意制御などを適用することです.超小型衛星のための手法を考えているわけですが,そもそも超小型衛星の利点を最大限生かすためには,複数機でシステムを構成することが一番です.そのため,必ず仲間が存在するので,近傍の仲間数機からの軌道情報を得ることができれば,情報量を増やすことができて軌道決定・伝播も低資源でうまくいくのではないかという発想です(この場合一機は他より高級なもので,適切な値を全体に行き渡らせる根っこになる必要がありそうですが).これなら深宇宙探査などでも可能性が見いだせそうです.システム要件等もう少し詰めて利がありそうなら真面目に検討したいですね.

なんにせよもうちょいリサーチだなあ.

コメント