ソフトウェア開発者のための OSS、まとめてみました!

ソフトウェア開発を行なっている自分が、個人的に面白いと思ったプログラムの最新技術や、オープンソースソフトウェア(OSS)をまとめています!

MENU

NASA が開発し実際に宇宙船ミッションで使用されているミッションコントロールシステム!「Open MCT」

概要

今回は、NASA のエイムズ研究センターが開発し、NASA が実際に宇宙船ミッションでデータ分析や実験用探査機システムの計画と運用に使用しているミッションコントロールシステムである「Open MCT」についてご紹介いたします。

Open MCT」はデスクトップおよびモバイルデバイス上でデータを視覚化するための次世代ミッションコントロールフレームワークとして、OSS として GitHub 上に公開しています。

また、一般利用としても利用可能で、テレメトリデータを生成するシステムの計画、運用、分析用のアプリを構築するための基礎として利用することも可能です。

それでは早速詳細についてみていきましょう。

目次

特徴

Open MCT」の特徴としては以下の点が挙げられていました。

  • Open MCTは現在、NASAでの複数のミッションをサポートするために使用
  • 月面車ミッションの概念の開発をサポートするために使用
  • モバイルミッションチームの多くのセグメントに、統合された状況認識、ヘルスモニタリング、およびテレメトリの視覚化を提供
  • テレメトリを生成する任意のシステムの計画と運用に適合
  • コンピューターとネットワークのパフォーマンスの監視、ビジネスデータの視覚化、プロセス制御の監視
  • Web ベースのレスポンシブデザインでブラウザ、モバイルどちらのプラットフォームで利用可能
  • オブジェクト指向、また視覚的にシステムの運用、監視することに対応

上記で上げたこと以外にも多くの特徴などが挙げられていますので、詳細について把握したい方は公式ドキュメントを参照ください。

nasa.github.io

利用手順

Open MCT」をローカル環境で使用する方法としていかが挙げられていたのでご紹介いたします。

基本的には Node.js を利用して、ローカル環境で動作させるということでした。

  1. ソースコードをローカル環境にクローン
   git clone https://github.com/nasa/openmct.git
  1. 開発依存関係のノードモジュール群をインストール
   npm install
  1. ローカル開発サーバーで実行
   npm start
  1. ローカルサーバー起動後、http://localhost:8080/ にアクセス

使用感

早速私のほうでもこちらの「Open MCT」について使用してみました。

起動直後は以下のようにプレーンな状態で提供されており、ここから必要に応じて監視状態のためのダッシュボード管理画面を用意したり、テスト計画のための準備を進めるということですね。

以下は NASA の公式ページから取得したものですが、運用を進めていくことで以下のようないかにもダッシュボードとしての画面を作ることも可能ということです。

自分自身、なにかミッションコントロールの作業が必要ではないのであまり触れてはいませんが、UI/UX もよいのでミッションコントロールの作業がある方は一度見てみるのもよいかと思いました。

また、ユーザーガイドとして PDF ドキュメントも用意されていますので、こちらも一読してみるとより詳細について把握することができます。

nasa.github.io

まとめ

今回は、NASA のエイムズ研究センターが開発し、NASA が実際に宇宙船ミッションでデータ分析や実験用探査機システムの計画と運用に使用しているミッションコントロールシステムである「Open MCT」についてご紹介いたしました。

あの NASA が開発し、実際に運用しながら宇宙船業務のミッションを行っている管理画面が OSS として公開されているので、非常に面白い題材だったかと思いました。

NASAOSS としてサービス・プログラムを公開しており、また Node.js でサービスを作成しているんだなと思いました。

実際に「Open MCT」はミッションコントロールシステムとして宇宙船業務以外でも使用可能ということなので、ミッションコントロールの業務をされている方などは、一度こちらのシステムを見てみるのもよいではないでしょうか。

ライセンス

Open MCT License

リンク

github.com

nasa.github.io