導入事例

宇宙航空研究開発機構・宇宙科学研究所

「SLIM」のピンポイント着陸のための画像処理ソフトでJAXAを支援

宇宙航空研究開発機構・宇宙科学研究所
  • 月面着陸に用いた「画像照合航法アルゴリズム」「障害物回避アルゴリズム」のFPGA実装検討を設計支援
  • CPU (ソフトウェア) とFPGA (ハードウェア) の協調設計を支援し、高速制御を実現
  • 自社の高位合成ツール eXCite を用いてFPGA回路を最適化

月面着陸アルゴリズムのFPGAへの実装設計検討を支援

ソリトンシステムズは、SLIMプロジェクトのピンポイント月面着陸に用いた2つのアルゴリズムをFPGAに実装する設計支援を行いました。宇宙には、GPSも遠隔操作ができるような環境も存在しないため、自立走行や自動運転的な要素が求められます。

  1. 画像照合航法アルゴリズム
  2. 垂直降下時の障害物回避アルゴリズム

アルゴリズムの処理は、一般的にCPU上で動作させるのに適しています。しかし、宇宙で使用できるCPUは消費電力などの制約で動作クロック周波数が数10MHz程度に制限されています。画像を使用したリアルタイム処理を行うにはスペックが不足しています。省電力で高速処理を実現するには専用ハードウェアが必須で、耐放射線タイプのFPGAが採用されました。

アルゴリズムの初期確認や修正は当然、ソフトウェアベースでの作業になります。アルゴリズムのハードウェア設計や検証を行う場合は、ハードウェア記述言語(Hardware Description Language: HDL)を用いた古典的な RTL(Register Transfer Level) 設計になりますが、その煩雑さから最適化や不具合修正による設計変更は容易ではなく、評価サイクルが長期化することがあります。高水準言語を HDL 記述に変換する高位合成を用いた設計手法は一つの解決策になります。

画像照合航法アルゴリズム

画像照合航法では、クレータを抽出しデータベースとのマッチングを行うことで自己位置を推定します。クレータ抽出では、取得した月面画像からアフィン変換と主成分分析によってクレータ群の位置を抽出します。次にクレータマッチングを行い、抽出された位置情報と線分データベースのマッチングによって自己位置を推定します。

画像照合航法では、処理時間が重要なファクターです。

以下は、実機で得られたデータを使用した評価結果です。画像照合航法の結果は正確であったと判断されました。

開発フロー

オリジナルのCプログラムからFPGAに回路(ハードウェア)を実装した実機動作まで、各段階で評価検証を行いフィードバックします。各設計段階で検証することにより、手戻りが少なく不具合の混入を防止し、問題を早期に検出できます。アルゴリズムの検討段階からハードウェア制約を考慮した設計開発が可能で、アルゴリズムの修正・再実装の高速化による設計期間の短縮が期待できます。

アルゴリズムの分割

実際のアルゴリズムは、一般的なソフトウェアの開発と同じようにC言語でアルゴリズムを記述し、その検証を行って動作を確認します。その後、アルゴリズム全体のうちハードウェアで動作させたい部分の選定を行います。ソフトウェアで処理する部分とハードウェアで処理する部分に分割しますが、分割には高度な知識と経験が必要です。分割する場所を誤れば、データ転送量が多くなったり、ハンドシェークが複雑になりすぎたり、処理時間に影響を及ぼすことも少なくありません。

以下は、HW (ハードウェア) とSW (ソフトウェア) 分割の一例です。オリジナルのアルゴリズムは、3つの処理で構成されています。パラメータ処理、画像の前処理、クレータ検出です。このうち、クレータ検出をハードウェアで処理するように分割しました。

ソフトウェアアルゴリズムの分割

HW (ハードウェア) とSW (ソフトウェア) 分割後に、オリジナルのCプログラムと同じ動作をするか検証します。

宇宙用FPGAへの実装検討(HW/SW協調設計)

ソリトンシステムズは、アルゴリズムの高速処理を実現するためのCPU(ソフトウェア)とFPGA(ハードウェア)の協調設計を支援しました。高位合成ツールeXCiteを使用しましたが、 的確なフィードバックが得られるため開発が容易になりました。

<オリジナルC言語アルゴリズムのハードウェア化 (C->HW化) のポイント>

  • [ポイント1] シーケンス処理からパイプライン処理可能な記述へ変更
  • [ポイント2] 面積と並列性のトレードオフ
  • [ポイント3] C言語上での必要ビット数の把握と削減

プロジェクト担当者Aの声

「今回のプロジェクトで一番難しかった点はクロック周波数の低い宇宙用FPGAで目標時間内に処理を完了させるために用意されたC言語アルゴリズムを如何にして高速化させるかということでした。

C言語は手続き型言語ですので、そのままFPGA用論理(HDL)に変換すると膨大な実行時間を要するハードウェアを生成してしまいます。これを解決するために、C記述を高位合成向けにメモリ帯域をフル活用できるようなSIMD処理、中間バッファとDMAコントローラを併用したダブルバッファ処理記述に変更し、高速アクセスが可能な中間バッファ(SRAM)とFPGAベンダーの提供する演算器ライブラリを利用したパイプライン処理などを適用できるようにしました。また、高速・高密度な処理を行う際に問題になるタイミング違反の問題も高位合成ツールの設定を調整することで対応し、目標のFPGA用論理を生成できました。

ここでは簡単に記載しましたが、高位合成が生成した論理との組み合わせ検証の不一致や意図したパイプラインが生成されない場合も多数ありましたが、高位合成ツールの用意しているデバック支援機能(簡易検証用HDL作成、内部論理プローブ信号生成等)やツールによるFPGA用論理自動生成があるためC言語モデル修正も時間を要することなく、トライ&エラーを繰り返すことで目標とした実行時間・FPGAリソース使用量を満たすことができました。」

プロジェクト担当者Bの声

「画像照合航法用CコードのFPGA実装は、FPGA実装後の実機でC処理と同一の結果を得ることが前提条件ですが、これに加えて実機の処理時間を仕様範囲内に収め、且つ実装回路をFPGAの有限の回路リソースに収めることが1つの課題になります。これら処理時間と実装回路面積を両立することはとても難しいことですが、アルゴリズム開発担当者と一緒に演算内容を検討しながら、Cコード(回路)の最適化を繰り返し実施し、全ての条件を満たす回路を作成することができました。」

高位合成ツール eXCite

eXCiteを用いた設計では、古典的なRTLを使用しません。HDLを使用することもありません。処理時間や実装面積などの制約条件に基づいてCプログラムから宇宙用FPGAの論理回路を生成します。ハードウェア特有のパイプライン化、ビット最適化やメモリ最適化も行います。評価用テストベンチを自動生成しますので検証も容易です。

<C->HW化ポイントに役立つeXCiteの機能>

  • [ポイント1]向け:データフローグラフの視覚化による並列化阻害の把握
  • [ポイント2]向け:リソース制約による並列化と面積のトレードオフの容易化
  • [ポイント3]向け:ビットリダクション用Cモデルによる必要ビットレンジのC言語での把握

障害物回避アルゴリズム

障害物回避アルゴリズムも、同様の方法でFPGAに実装しました。安全領域の抽出処理では、局所領域の平均・分散を用いて月面画像内の安全領域を識別しました。着陸目標点の決定処理では、安全領域と識別された画素集合の中で最も大きな領域の中心を抽出しました。

実機からのデータを分析すると、正常に動作したと判断されました。

ソリトンシステムズは、高位水準言語からLSI 開発、ハードウェア設計、アナログ回路開発にいたるまで長年の実績があります。設計の各段階のエキスパートがそろっていますので、SLIMプロジェクトでも様々な課題を JAXA、大学と共に解決しました。今後も幅広い分野で貢献してまいります。

参考資料:SLIM 着陸シーケンスの概要

参考文献

  • 石田 貴行, 狩谷 和季, 福田 盛介, 木下 智雄, 梶原 邦弘, 高位合成による探査機搭載画像処理アルゴリズムのFPGA化スキーム, 電子情報通信学会技術研究報告 116 (115), 31-36, 2016
  • 久我 共生, 小島 広久, 福田 盛介, 小型月着陸機のための画像を用いた安全着陸領域識別に関する研究, 日本航空宇宙学会論文集, Vol.64, No.6, pp.303-309, 2016
  • 福田盛介, 水野貴秀, 石田貴行, 狩谷和希, 木下智雄, 梶原邦弘, 岩佐修, 橋元謙一, 原誠一, 水流晃一, 有井基文, 西村健志, 入部紘一, 岡田祐, 長谷川秀樹, 松木誠, 片山翔太, 遠藤勉, 下地治彦,坂井真一郎, 澤井秀次郎、SLIM画像航法及び着陸レーダの性能評価・検証を支えるツールの構築、第61回宇宙科学技術連合講演会, 2017
  • 狩谷 和季, 石田 貴行,澤井 秀次郎, 木下 智雄, 梶原 邦弘, 岩佐 修, 福田 盛介, 高精度月着陸のためのクレータで構成する線分情報を用いた位置推定手法とその評価, 航空宇宙技術, Vol.17, pp.79 - 87, 2018
  • 岡田 怜史, 中浜 優佳, 森部 美沙子, 鎌田 弘之, 狩谷 和季, 高玉 圭樹, 石田 貴行, 福田 盛介, 澤井 秀次郎, 坂井真一郎, 主成分分析によるクレータ座標・サイズの検出とその評価, 航空宇宙技術, Vol.17, pp.61 -67, 2018
  • SLIM Project 概要説明資料(プレスキット) https://www.isas.jaxa.jp/
  • 小型月着陸実証機(SLIM)月面着陸の結果について https://www.isas.jaxa.jp/
  1. TOP
  2. 導入事例
  3. 宇宙航空研究開発機構・宇宙科学研究所