ロケット搭載ソフトウェア用検証試験ツールの進化
Evolution of tool to verify the on-board software for H-Ⅰ
ⅠA/H-ⅠⅠB rocket.
福田 修三＊

堀田 学＊＊

Shuzo Fukuda, Manabu Hotta

H-ⅡA/H-ⅡBロケット用搭載ソフトウェアを検証するためのツールの１つとして、フルソフトウェ
ア・シミュレーション検証試験ツールがある。
搭載ソフトウェアの実物を検証できる新しいフルソフトウェア・シミュレーション検証試験ツールを共同開発したため、その進化した新ツールについて紹介する。
As one of the tools to verify the on-board software for H-ⅡA/H-ⅡB rocket, the full-software
simulator(FSST) is essential and very important.
MSS, JAXA and NEC have jointly developed a new FSST, which can verify the real on-boardsoftware.
In this paper, we introduce this enhanced FSST and its evolution.

当社、宇宙航空研究開発機構（JAXA）殿、日本電気

1．まえがき株式会社殿の３社で開発した新しいFSSTによって、

H-IIA/H-IIBロケット用フルソフトウェア・シミュレー

OBSの実物（実ロケットにロードするモジュールそのション検証試験ツール（FSST）は、慣性センサユニットもの）を供試体とし、実ロケットと同じRTOS上で動作（IMU）などの各種センサ出力、エンジン操舵などの各させ検証することが可能となった。

種モデルの動作、ロケットの物理運動などを模擬するシ

2．OBSとその検証についてミュレータと、H-IIA/H-IIBロケット用搭載ソフトウェ
ア（OBS：On-Board Software）を結合し、閉ループでFSSTの進化について述べる前に、FSSTの供試体である OBS動作させるツールである（図１）。
これまでのFSSTは、OBSの一部を変更し再度コンパイとFSSTの目的であるOBSの検証について述べる。

ルしたものを供試体として検証していた。なぜなら、実OBSは、制御・管理モジュール、システム・モジューロケットのリアルタイムOS（RTOS：Real-Time Operating

ル、そして当社が担当し開発した航法・誘導モジュールSystem）上でタスクとして動作するOBSを市販計算機の３つのモジュールから構成される。航法・誘導モジューの一般OS上で動作させる必要があったためである。

ルはIMUからの情報を基にまず航法計算としてロケットの現在位置・現在姿勢を把握し、次に誘導計算として航法・誘導モジュール
制御・管理モジュール
システム・モジュールの３つで構成
搭載ソフトウェア（OBS）

目標地点に到達するための機体回転レートやエンジン停止時刻などを計算する。制御・管理モジュールは航法・誘導モジュールの計算結果や各種機体情報等を基にロケット機体の制御を行う。システム・モジュールは制御・管ロケットの軌道および姿勢に基づく、慣性センサなどの各種センサ出力。

搭載ソフトウェアの計算結果に基づく、エンジン舵角制御などの各種装置制御、シーケンス制御。

理モジュールによるロケット制御を実現するために誘導制御計算機（GCC）との入出力の仲介（I/Oインタフェース）を行う。これら３つのモジュールが連係して動作す

シミュレータ1

ることにより、地上からの遠隔操作に依らない自律飛行ダイナミクス模擬（搭載機器モデル、機体環境データ）入出力処理が可能となる。

図１

を適用してのミッション適合性を含めた検証が実施され閉ループによる結合・動作＊つくば事業部 第一技術部＊＊つくば事業部 中部分室

OBSの検証は、開発時と運用時（打上号機毎の定数る）で異なる点は多々あるものの大まかには３つに分類

5．新旧FSSTの相違できる。まず各モジュール毎に単体検証、機能検証、統合検証が実施される。次に、各モジュールを結合した１章および４章で述べたとおり、新旧FSSTの大きなOBSと誘導制御系機器（実ハードウェア）を組み合わ相違はOBSの実物を使用しているか否かである。その相せた誘導制御系システム試験が実施される。そして最後違により新旧FSSTの構成は大きく異なるものとなった。に、フルソフトウェア・シミュレーション検証試験（以旧FSSTは、シミュレータの内側にOBSとのインタフェー下、「FSST検証試験」と称す）として、各モジュールス（I/F）機能を作成し、そのI/F機能の内側に市販計を結合したOBSを適用しての実ハードウェアを伴わな算機で動作するように修正／コンパイルしたOBS を組いソフトウェアのみでの検証が実施される。

み込んでいる（図２）。シミュレータ、I/F機能、OBS

3．FSSTの用途は共有メモリ下に置かれている。コンパイルしなおしたOBSを利用するためエミュレータ部分は存在しない。

OBSの各モジュールを結合した検証は、２章で示したとおり、誘導制御系システム試験およびFSST検証試

シミュレータ（≒FSST）

験で実施される。
誘導制御系システム試験はOBSと誘導制御系機器（実ハードウェア）を組み合わせての試験であるため、OBS 実行制御管理
OBS２

OBS１

実ハードウェアの異常・故障ケースの実行には制限がある。また試験規模が大きいため手軽に実施できない。よって、異常・故障ケースをソフトウェアのみで手軽に実施

OBS-NGMOBS-CMM（割り込み処理等除く）

OBS-CMM（割り込み処理等除く）

OBS-SYM（I/O ドライバおよびBIT ドライバ）

OBS-SYM（I/O ドライバおよびBIT ドライバ）

I/O ドライバインタフェース機能

システムコール関数

できるFSST検証試験が実施されている。
FSSTは実ハードウェアを伴わないソフトウェアのみでの検証ツールであるため、実ハードをソフトウェアでモデル化できれば、多様な事象に基づくOBSの動作を手軽に検証することが可能となる。
4．FSSTの進化
シミュレータと OBS とのインタフェース機能

H-IIA/H-IIBロケット用の新GCCとしてマイクロプロ
セッサHR5000（３）が適用されたことにより、2010年度から2011年度にわたってFSSTを作り変えることとなっ・ダイナミクス模擬・搭載機器モデル（センサ、アクチュエータ、AGE モデル等）・入出力インタフェース（変数出力、各種入力処理等）た。これまでのFSSTではOBSの実物ではなく市販計算機用に修正／コンパイルしたものを適用していたため、OBSの実物を適用できるようにHR5000エミュレータを導入しFSSTを進化させることとなった。
HR5000エミュレータとはGCCをソフトウェアで模擬したものである。HR5000エミュレータ上でOBSの実物を動作させることにより、実機上で動作させた場合と同FSST 入力ファイル
・機体環境データ（エンジン特性、質量特性等）・関数戻り値等設定データ（故障・異常等状態設定）
・搭載機器モデル用設定データ

図２

旧FSSTの構成じデータを取得可能となる。OBSの実動作を検証できれば信頼性は大きく向上する。

新FSSTは、機体運動模擬部（FSST-SIM）と称する

なお、HR5000エミュレータはあくまでGCCの模擬であシミュレータ部分と誘導計算機模擬部（FSST-EML）とるため、実機におけるGCCと実ハード間の入出力（I/O）

称するエミュレータ部分が完全に分離しており、両者間データおよび実ハードのモデルは別途準備しなければなのデータのやり取りはTCP/IP通信で行っている（図３）。

らない。このI/Oデータおよび実ハードのモデルはシミュ

新FSSTでも共有メモリを使用したI/Fは可能であったレータ（図１）が担っている。

が、検討の結果、TCP/IP通信を採用した。その主な理由は、TCP/IP通信の方がインタフェース分解点が明確でありFSST-SIMとFSST-EMLを別々に開発しやすく且つ問題発生時に問題点を明確にしやすいこと、FSST-MSS技報・Vol.232

FSST

誘導計算機模擬部（FSST-EML）

機体運度模擬部（FSST-SIM）

シミュレータ部分からデータを受信（Socket 通信）

シミュレータ実行・ダイナミクス模擬
・搭載機器模擬（センサ、アクチュエータ、AGE モデル、等）
・変数出力、各種入力処理等
データ

全データ受信完了No

エミュレータ部分への送信データの編集
Yes
OBS２

OBS１

・OBS-NGM
・OBS-CMM
・OBS-SYM

・OBS-CMM
・OBS-SYM

OBS 実行

エミュレータ部分へデータを送信（Socket 通信）

TCP/IP
通信

Simics
エミュレータ部分からデータを受信（Socket 通信）
データ

シミュレータ部分への送信データの編集

シミュレータ部分へデータを送信（Socket 通信）

全データ受信完了
TCP/IP
通信

モニタシンボル番号対応ファイル（シンボル番号に対応するシンボ
ル名とそのデータ長を定義したファイル）

No

Yes

FSST 入力ファイル
・機体環境データ（エンジン特性、質量特性等）
・関数戻り値等設定データ（故障・異常等状態設定）
・搭載機器モデル用設定データ

図３

新FSSTの構成

SIMは32bit環境であるのに対しFSST-EMLは64bit環境

レータ機能にGCCをエミュレートする機能およびFSST-であるため、共有メモリとした場合はFSST-SIMの開SIMとのTCP/IP通信機能を付加したプログラムであ発／検証規模が大きくなると予想されたことである。

る。FSST-SIMは、当社がJAXA殿との契約のもと開

なお、TCP/IP通信の場合は開発時には便利であるが発／納入した飛行経路計算プログラム（ALMA： Analyzer

運用時には解析データを容易に確認できないというデメ

for Launch vehicle Motion and Attitude）を改修し、リットもある。例えばOBS内のある変数の値を利用しFSST検証試験に必要なモデルやFSST-EMLとのTCP/たいという場合、共有メモリの場合はグローバル変数とIP通信機能等を追加したプログラムである。このFSST-

して定義することで容易に利用可能であるが、TCP/IP

EMLとFSST-SIMを同期させ動作させることにより閉ルー通信の場合はFSST-SIMとFSST-EMLの両者に該当変数プ解析（図１）が可能となる。

が何かを共通認識させると共に、該当変数の値を通信デー

FSST-EMLの主な役割は、FSST-SIMから受け取っタに追加しなければならない。新FSSTではこの欠点をたダイナミクス・データを基にOBSを動作させること通信データを工夫することで緩和している。詳細は７章である。FSST-SIMの主な役割は、FSST-EMLから受で述べる。

け取ったOBSの指令を機体ダイナミクスに反映するこ

6．新FSSTの構成（誘導計算機模擬部と機体運動模擬部）
FSST-EMLは、Simics （ハードウェアのシミュレー（４）ションを行う仮想プラットフォーム）のHR5000エミュ3とである。
なお、FSST-EMLは日本電気株式会社殿がJAXA殿との契約のもと開発し、FSST-SIMは当社がJAXA殿との契約のもと開発した。

7．FSST-EMLとFSST-SIMとのインタフェース

その他の代表的なI/Fとしては、OBS定数を変更して検証する場合への対応としてOBSへのパッチ機能などがある。

FSST-EMLとFSST-SIM間のI/FデータはTCP/IP通信でやり取りしているため、I/Fデータの仕様は、開発／FSST-EML検証の容易性を優先し設計した。
I/Fデータのレコード長は、モニタ用の変数データのモニタシンボル番号と変数の対応確認

FSST-SIM
モニタ
シンボル
番号

モニタシンボル番号と変数の対応確認

みを可変長とし、その他のデータは全て固定長とした。
ただし、FSST-SIMの仕様により可変長データの大きさ変数に対応するアドレスの特定はシミュレーション開始時に確定するため、シミュレーション中は可変長データについてもデータ量は一定であり固定長と同様に扱うことが可能となっている。バイト

変数の値をダンプ

変数の値を受信繰り返しオーダーは適用する計算機が確定しているためlittle

モニタ
シンボル
データ

endianに固定とした。I/Fデータのファイル・フォーマッ
トは全てに共通で表１のとおりとした。表１中のデータ

変数の値をダンプのタイプとは、設定に関するデータ、変数の値等々の送変数の値を受信
モニタ
シンボル
データ

受信データの種類を識別するためのものである。
新FSSTではOBSの実物を使用しているためOBSの変数値を確認したい場合、その変数のアドレスを把握しダンプしなければならない。しかもOBSが改修された場合はアドレスが変化する可能性があるため、アドレスをモニタシンボル番号対応
ファイル（シンボル番号に対応するシンボル名とそのデータ長を定義したファイル）

MAP ファイル（OBS をリンクした際のメモリ情報）固定にすることはできない。さらに、TCP/IP通信でFSST-SIMに変数値を送信するため、送信データが何の変数値なのかをFSST-SIMとFSST-EMLで共通に認識す図４る必要がある。
新FSSTでは変数に対応する番号（モニタシンボル番8．工夫点号）を定義しその番号をFSST-SIMからFSST-EMLに送信することでモニタしたい変数が何かを共通認識できるようにしている。具体的変数名ではなく番号としたの変数のモニタ方法

特殊な工夫の代表例として、OBSが参照した定数値をモニタする方法を紹介する。

は、データサイズを固定にできることと通信量が少なく例えば、OBSが構造体配列で定義された定数を構造体済むためである。FSST-EMLはモニタシンボル番号にへのポインタから間接参照している場合、グローバル変対応する変数のダンプを取得し物理量に変換しモニタシ数を使用していないことからモニタシンボル番号（７章）

ンボル番号と同じ並びでFSST-SIMに送信する。ダンプによるアドレス特定ができずOBSが取り出した定数値する際のアドレスはOBSの各モジュールをリンクしたをモニタすることはできない。なぜなら、ポインタをモ際のMAPファイルより取得する。モニタシンボル番号

ニタしてもFSST-EMLとFSST-SIMではメモリ空間が異と変数の対応はモニタシンボル対応ファイルで行っていなるため、ポインタの先にある情報が異なり意味を持たる。モニタシンボル対応ファイルにはシンボル番号に対ないためである。

応する変数名とそのデータ長を定義している。このモニ

よって、モニタしたい定数を含む構造体配列の全体をタシンボル対応ファイルはFSST-SIMとFSST-EMLの両一度モニタした後に、OBS内でのポインタ変化量を方に外部ファイルとして与える。以上の処置を行うことニタした構造体配列全体で、FSST-SIMからFSST-EMLに送信するモニタシンボ取り出すという処置を行っている。しかしこの場合、構ル番号さえ変更すれば、手軽に変数の値を確認すること

造体配列のサイズが大きいとすぐに通信量の制限（シミュが可能となる（図４）。

レーション時間に影響するため通信量を制限している）

表１
データのタイプ（４bit）に適用し、該当定数を特定しI/Fデータのファイル・フォーマット

ヘッダー部（64ビット）（バイトオーダーはlittle endianに固定）
予備（28bit）

モ

データのバイト数（32bit）

データ部（バイトオーダーはlittle endianに固定）
データ（サイズはヘッダー部の指定にに従う）

MSS技報・Vol.23

4

にかかってしまい他の変数を一切モニタすることができ10．むすびなくなる。よって、定数値については別途ソースファイ
ルをコンパイル・リンクし、そのモジュールから値を取今回の新FSSTの開発をとおして、色々な問題点や課り出すことも可能とした（図５）。定数値をI/Fデータ題を認識することができた。これら問題点や課題を今後からモニタするか、別途コンパイル・リンクしたモジューのFSSTの改善に活かし、OBSの検証およびロケットのルからモニタするかはFSST-SIMの設定で簡単に切り替開発・運用に貢献したいと考えている。

えることができる。

ロケットは大変高価なものである。その高価なロケッ〜

トの打上げをソフトウェアの不具合に起因して失敗すれFSST-EMLFSST-SIM

相対アドレス計算

ば、それは痛恨の極みである。なぜなら検証により問題点を解決できていれば防ぐことができたに違いないからである。ソフトウェアに対しては今まで幾重もの検証を〜実施し信頼性を高めてきた。この方針は今後も変わらな定数の構造体配列［xx］

定数の構造体配列［0］全体をモニタいであろう。故にOBSの実物を検証できるFSSTは今後更に重要性を増す可能性がある。今後もFSSTの技術の〜

モニタ
定数を特定維持・発展に努めていきたい。
参考文献〜

どちらでモニタするか選択〜

定数の構造体配列［xx］⑴

別途コンバイル・リンクした定数モジュール発（横田清美、泉達司、石濱直樹、福田修三、堀定数の構造体配列［xx］

田学、渡辺仁志、下村知子）〜モニタする定数

モニタ定数を特定⑵ NEC技報：http://www.nec.co.jp/techrep/ja/journal/
g11/n01/110125.html
ロケット用誘導制御計算機の変遷と展望（林 伸善）

定義ソース・ファイル⑶
図５

テーブル定数のモニタ方法

9．将来の課題、展望
市販の高スペックCPU（XeonⓇ X5690 3.46GHz）を使用しても新FSSTのシミュレーションに要する時間は実時間の約1.8倍である。8,000秒のシミュレーションを実施した場合、シミュレーション終了まで約14,400秒（約４時間）かかる計算になる。時間を要する原因はエミュレータを使用していることによる。新FSSTではなくALMA（飛行経路計算プログラム）にて8,000秒のシミュレーションを行うと数十秒程度で終了するため、エミュレータの負荷がいかに大きいかがわかる。シミュレーショ
ン時間の改善が今後の課題である。
将来の展望としては、誘導制御系システム試験の一部をFSSTで代行できる可能性があることである。代行でき
ればロケット開発時およびロケット運用時のスケジュー
ルの短縮、そして信頼性の向上に貢献できるものと思5HR5000：http://www.hirec.co.jp/eng/business/
pdf/320MIPS64bitMPU.pdf

⑷

われる。

第55回宇宙科学技術連合講演会論文：2D06 H-IIA/

H-IIB ロケット用搭載ソフトウェア検証ツールの開

Simics：http://www.windriver.com/japan/
products/simics/index.html