衛星搭載ソフトウェア開発検証システム

  Print Print

"このシステムを製作することによって、MATLAB上では困難であった実機との検証が容易になり、また衛星搭載機器の検証やOBC上でのコマンドのエラー発見につながることができました。"

- 上條 崇一氏, 東京理科大学 理工学研究科 木村研究室

The Challenge:
衛星搭載用計算機のソフトウェアの信頼度を向上させ、多様で複雑な要求に対応する上で、3つ重要なポイントがあると考える。1つ目は、ソフトウェアの構造化・モジュール化である。2つ目はプログラム構造の的確な把握である。3つ目はソフトウェアの検証である。

The Solution:
以上のような点を満たすためにLabVIEWとPXIを連動させて使用した。従来ではシミュレーションと言えばMATLABというのが衛星開発においては一般的であった。しかし、MATLABはHILSなどの検証面において、LabVIEWとPXIシステムほど容易に連動させることは難しい。また、LabVIEWはMATLABと連動して使用することもできる。以上の点からこれらを使用するに至った。

Author(s):
上條 崇一氏 - 東京理科大学 理工学研究科 木村研究室

【背景】
人類が初めて人工衛星の打ち上げに成功して以来、衛星開発は人類に多大な恩恵をもたらしている。惑星探査などの科学ミッションに加え、衛星通信や放送、気象観測や災害監視、カーナビゲーションで利用される衛星測位システムなど、日々の生活になくてはならないものになっている。

人工衛星が様々な分野で活用されるようになり、衛星の果たすべき役割が複雑になるにつれ、衛星のミッションは多様化してきた。この多様なミッションに対応するために衛星を制御する計算機への要求も多様で複雑なものになってきた。衛星の相互の位置を計測して位置関係を保ちながら飛行するフォーメーションフライト、複雑なスケジュールに従って、特定の箇所の観測の実行、衛星上でのデータ解析など、複雑な制御を衛星上で行う必要がある。また、このように様々な用途で使用されるほどに衛星開発が活発化するに従い、短期・低コストで開発検証できることが望まれてきた。その一方で、衛星運用中に故障しても容易に修理することが出来ないため、可能な限り信頼度を高める必要がある。このように多様で複雑なミッションを高い信頼度で実現するためには、衛星を制御する計算機のハードウェアとしての信頼度だけでなく、ソフトウェアの信頼度が非常に重要となる。そこで本システムが考案された。

【課題】
衛星搭載用計算機のソフトウェアの信頼度を向上させ、多様で複雑な要求に対応する上で、3つ重要なポイントがあると考える。1つ目は、ソフトウェアの構造化・モジュール化である。ソフトウェアは一般に繰り返し利用されるほど、その過程で問題点が発見され信頼度が向上していく。これに対し衛星に搭載される計算機はミッションに応じで様々なものが用いられており、ソフトウェアも個別に開発されている。しかしながら、ミッションに応じて組み合わせは非常に多様であるものの、衛星搭載用計算機のソフトウェアは、コマンドの解釈や定期的な搭載機器の監視など、機能的な要素に分解していくと共通となる部分が少なくない。また、コマンドやテレメトリの体系にはいくつかの方法があるが、基本構造に着目すると、開始符号などのパラメータを変えるだけで相互に処理を共通化出来ることも多い。また,ソフトウェア開発環境は計算機によって様々であるが、多くの場合C言語など汎用性の高い言語で記述することが可能であり,共通のプログラムをいくつかの環境要因で整えることで,相互に利用することも可能である。2つ目はプログラム構造の的確な把握である。プログラムを作成するためには、プログラムモジュールを適切に組み合わせる必要があるが、ミッション要求が複雑になるに従い、その構造は複雑になってゆく。このようなソフトウェア構成をGUI(Graphical User Interface)を利用して、俯瞰的な視点から構成することができれば、ソフトウェア開発の生産性が高まると同時にソフトウェア製作者の意図が適切にソフトウェアに反映することができ、構成変更も容易となり、全体としてのソフトウェアの信頼度向上に有利になる。3つ目はソフトウェアの検証である。製作したソフトウェアは想定される広範な状況に関して適切に検証を行う必要がある。この検証プロセスの善し悪しが、衛星全体の生存性に直結すると言っても過言ではない。このような検証はソフトウェアシミュレーションを用いた検証や、部分的にセンサやアクチュエータといった、実際のハードウェアと組み合わせたHardware In the Loop検証(HILS)など衛星の開発に合わせた様々な検証を効果的に実施することが重要である。

以上のような点を満たすためにLabVIEWとPXIを連動させて使用した。従来ではシミュレーションと言えばMATLABというのが衛星開発においては一般的であった。しかし、MATLABはHILSなどの検証面において、LabVIEWとPXIシステムほど容易に連動させることは難しい。また、LabVIEWはMATLABと連動して使用することもできる。以上の点からこれらを使用するに至った。

【ソリューション】
表1 プログラムパターン

   Computer  Device
 Software  Software
 Software  Hardware
 Hardware  Software
    Hardware  Hardware

システム構成
このシステムでは開発プロセスにおける各プログラムを製作する。パターンは表1のようになっている。ここでComputerのSoftwareはPC、HardwareはOBC(On-Board Computer)を指す。今回OBCはSH4プロセッサ搭載ボード(ルネサスエレクトロニクス社製)を利用した。④に関しては実機同士の通信のため、本システムでは取り扱わない。一例として多々ある衛星搭載機器の中でCommand、Responseともにあるリアクションホイール(RW)を例に取り上げ、記述していく。以上からLabVIEWで製作するプログラムには3パターン存在する。

①Software-Software
VI上でプログラムを動作させる。この時一つのVIで想定されるコマンドを送信し、VIで想定されるレスポンスを返す。

②Software-Hardware(機器の単体試験)
①のプログラムの機器部分をHardwareに変え、インタフェースをUSB-422やPXI-8431などを用いてとり、機器の単体試験を行う。これを行うことで、機器固有の性質や機器の故障などを確認する。

③Hardware-Software
①のプログラムのComputer部分をOBCに変え、先ほどと同様にインタフェースをとり、機器がなくてもOBCのコマンドのチェックができるようになる。

図1 各プログラム概念図


図2 複合システム

このようにして③の状態のプログラムを多々ある機器を製作し、各インタフェースをPXIシステムによってとることによって、一度に各機器との通信を模擬的に行うことができるようになる。

図2においては地磁気センサ(GAS)、ジャイロセンサ(GYRO)、太陽センサ(NSAS)、そしてRWを組み合わせたシステムを示した。

                                                     図3 複合システムの実行風景

結果
このシステムを製作することによって、MATLAB上では困難であった実機との検証が容易になり、また衛星搭載機器の検証やOBC上でのコマンドのエラー発見につながることができた。

また、機器を複数個同時に通信することができた点から、運用上での衛星の姿勢シミュレーションを製作し今回製作したプログラムと併用すれば、衛星搭載機器の検証、OBCのコマンドチェック、さらに運用に関しての開発検証が一つのプログラムでできるようになると考えられる。

Author Information:
上條 崇一氏
東京理科大学 理工学研究科 木村研究室

Bookmark and Share


Explore the NI Developer Community

Discover and collaborate on the latest example code and tutorials with a worldwide community of engineers and scientists.

‌Check‌ out‌ the‌ NI‌ Community


Who is National Instruments?

National Instruments provides a graphical system design platform for test, control, and embedded design applications that is transforming the way engineers and scientists design, prototype, and deploy systems.

‌Learn‌ more‌ about‌ NI