このページは機械翻訳を使用して翻訳されました。最新版の英語を参照するには、ここをクリックします。
宇宙アプリケーション向けモデルベースシステムエンジニアリング
この例では、Simulink ® スタート ページの Aerospace Blockset ™ から入手できる CubeSat モデルベース システム エンジニアリング プロジェクト テンプレートの概要を示します。これは、低地球軌道 (LEO) の 1U CubeSat 向けに、Simulink、System Composer ™、および Aerospace Blockset を使用して宇宙ミッション アーキテクチャをモデル化する方法を示しています。CubeSat のミッションは、マサチューセッツ州ネイティックにある MathWorks 本部を少なくとも 1 日に 1 回撮影することです。このプロジェクトは、Aerospace Blockset CubeSat シミュレーション プロジェクトを参照し、そのプロジェクトで定義された車両ダイナミクス、環境モデル、データ ディクショナリ、および飛行制御システム モデルを再利用します。
このプロジェクトでは、次の方法を説明します。
Simulink で CubeSat ミッションのシステム レベル要件を定義する
System Composer のミッションのシステムアーキテクチャを構成する
Requirements Toolbox™を使用して、システムレベルの要件をアーキテクチャ内のコンポーネントにリンクします。
Aerospace Blockset で車両ダイナミクスと飛行制御システムをモデル化する
ミッション分析ツールとSimulink Test™を使用して軌道要件を検証する
プロジェクトを開く
CubeSat モデルベース システム エンジニアリング プロジェクト の新しいインスタンスを作成するには、Simulink スタート ページで プロジェクトの作成 を選択します。プロジェクトが読み込まれると、CubeSat のアーキテクチャ モデルが開きます。
open("asbCubeSatMBSEProject.sltx");
システムレベルの要件を定義する
ミッションのシステムレベルの要件のセットを定義します。これらの要件は、ReqIF (Requirements Interchange Format) ファイルなどのサードパーティの要件管理ツールからインポートすることも、要件エディターで直接作成することもできます。
この例には、SystemRequirements.slreqx に保存されているシステム レベルの要件のセットが含まれています。この要件仕様ファイルを 要件エディター で開きます。要件エディターには、アプリタブからアクセスするか、プロジェクト フォルダー ブラウザーで SystemRequirements.slreqxをダブルクリックしてアクセスします。
このミッションの最上位の要件は次のとおりです。
システムは、MathWorks ® 本部 [42.2775 N、71.2468 W] の視覚画像を 1 日 1 回、10 メートルの解像度で提供し、保存します。
この最上位レベルの要件から追加の要件が分解され、アーキテクチャの要件の階層が作成されます。
システムアーキテクチャを構成する
System Composer は、モデルベースのシステム エンジニアリングのアーキテクチャの仕様と分析を可能にします。上記で定義したシステムレベルの要件を使用して、System Composer でのアーキテクチャ モデルの作成をガイドします。この例のアーキテクチャは、国際システム工学評議会 (INCOSE) の宇宙システム作業グループ (SSWG) によって開発された CubeSat リファレンス モデル (CRM) に基づいています。
アーキテクチャは、コンポーネント、ポート、コネクタで構成されます。コンポーネントは、アーキテクチャのコンテキストで明確な機能を果たすシステムの一部です。システム、サブシステム、ハードウェア、ソフトウェア、その他の概念エンティティなどのアーキテクチャ要素を定義します。
ポートは、コンポーネントまたはアーキテクチャ上のノードであり、環境との相互作用ポイントを表します。ポートは、他のコンポーネントまたはシステムとの間の情報の流れを許可します。コネクタはポート間の接続を提供するラインです。コネクタは、アーキテクチャ内のコンポーネント間で情報がどのように流れるかを説明します。
ステレオタイプとインターフェースでアーキテクチャを拡張する
ステレオタイプとインターフェースを使用して、アーキテクチャにさらに詳細レベルを追加できます。
ステレオタイプ
ステレオタイプは、各要素にドメイン固有のメタデータを追加することで、アーキテクチャ要素を拡張します。ステレオタイプは、コンポーネント、コネクタ、ポート、およびその他のアーキテクチャ要素に適用され、これらの要素に質量、コスト、電力などの共通のプロパティ セットを提供します。
1 つ以上のアーキテクチャで使用されるステレオタイプのパッケージは、プロファイルに保存されます。この例には、CubeSatProfile.xml と呼ばれるステレオタイプのプロファイルが含まれています。プロファイルに新しいステレオタイプを表示、編集、または追加するには、[モデリング] タブの [プロファイル エディター] でこのプロファイルを開きます。
このプロファイルは、CubeSat アーキテクチャのコンポーネントとコネクタに適用されるステレオタイプのセットを定義します。
ステレオタイプは、抽象基本ステレオタイプからプロパティを継承することもできます。たとえば、上記のプロファイルの BaseSCComponent
には、サイズ、質量、コスト、電力需要のプロパティが含まれています。プロファイルに別のステレオタイプ CubeSatTotal
を追加し、BaseSCComponent
をその基本ステレオタイプとして定義できます。CubeSatTotal
は独自のプロパティ nominalVoltage を追加しますが、基本ステレオタイプからプロパティも継承します。
アーキテクチャ モデルでは、CubeSat システム コンポーネント (asbCubeSatArchModel/CubeSat Mission Enterprise/Space Segment/CubeSat
) に CubeSatTotal
ステレオタイプを適用します。モデル内のコンポーネントを選択します。プロパティ インスペクターで、ドロップダウン ウィンドウから目的のステレオタイプを選択します。次に、CubeSat コンポーネントのプロパティ値を設定します。
インターフェイス
データ インターフェイスは、ポートを介して流れる情報の種類を定義します。同じインターフェースを複数のポートに割り当てることができます。データ インターフェイスは複合型にすることができます。つまり、インターフェイス信号のプロパティを記述するデータ要素を含めることができます。インターフェース エディター からインターフェースを作成および管理します。Simulink の既存のユーザーは、 System Composer のインターフェースと Simulink のバスを比較することができます。実際、バスはインターフェースを定義するために使用できます (逆も同様)。たとえば、データ ディクショナリ asbCubeSatModelData.sldd には、ACSOutBus
を含むいくつかのバス定義が含まれており、これらは インターフェイス エディター で表示して、アーキテクチャ ポートに適用できます。
アーキテクチャビューでシステムを視覚化する
コンポーネント、ステレオタイプ、ポート、インターフェースを使用してアーキテクチャを実装したので、アーキテクチャ ビューを使用してシステムを視覚化できます。モデリング タブで、ビュー を選択します。
システム コンポーネント階層を表示するには、コンポーネント階層 ビューを使用します。各コンポーネントには、ステレオタイプ プロパティの値とポートもリストされます。
アーキテクチャのさまざまな深さの階層を表示することもできます。たとえば、View Browser でコンポーネントをダブルクリックして、アーキテクチャの Power System Plant
コンポーネントに移動します。
要件をアーキテクチャコンポーネントにリンクする
要件を、それを実装するアーキテクチャ要素にリンクするには、要件マネージャー を使用します。要件を対応するコンポーネント、ポート、またはインターフェースにドラッグします。このリンク メカニズムを使用すると、アーキテクチャ モデルで要件がどのように満たされているかを識別できます。要件マネージャー の「実装済み」というラベルの付いた列には、テキスト要件が特定のモデル内のコンポーネントにリンクされているかどうかが表示されます。たとえば、最上位の要件「視覚的なイメージを提供する」は、最上位のコンポーネント CubeSat Mission Enterprise
にリンクされており、分解された要件は、それぞれの分解されたアーキテクチャ コンポーネントにリンクされています。
アーキテクチャと設計モデルを結び付ける
分析やその他のシステム エンジニアリング プロセスを通じて設計プロセスが成熟するにつれて、アーキテクチャにダイナミクス モデルと動作モデルを追加できるようになります。System Composer は Simulink の上のレイヤーとして構築されており、作成したコンポーネントから Simulink モデルを直接参照できるようになります。次に、アーキテクチャ モデルを Simulink モデルとしてシミュレートし、分析結果を生成できます。たとえば、GNC subsystem
コンポーネントには、CubeSat シミュレーション プロジェクト の一部である 3 つの Simulink モデル参照が含まれています。
これらの参照コンポーネントをダブルクリックして、基礎となる Simulink モデルを開きます。アーキテクチャで定義されたインターフェースが Simulink モデルのバス信号にマップされることに注意してください。
この例では、Aerospace Blockset の Spacecraft Dynamics ブロックを使用して、CubeSat の軌道と回転状態を伝播します。
軌道要件を検証するためのシステムアーキテクチャのシミュレーション
シミュレーションを使用して、システムレベルの要件を検証できます。このシナリオでは、最上位の要件として、CubeSat 搭載カメラが [ 北緯 42.2775 度、西経 71.2468 度] にある MathWorks 本部の画像を 1 日 1 回、10 メートルの解像度で撮影することが規定されています。さまざまなミッション分析ツールを使用して、この要件を手動で検証できます。これらの分析の例については、プロジェクト ショートカット Analyze with Mapping Toolbox および Analyze with Satellite Scenario をクリックしてください。
衛星シナリオによる分析 ショートカットの例で作成された衛星シナリオが上に示されています。
Simulink Test を使用して軌道要件を検証する
MATLAB を使用して CubeSat の動作を視覚化および分析できますが、Simulink Test を使用してテスト ケースを構築することもできます。このテスト ケースでは、テスト フレームワークを使用して CubeSat の軌道と姿勢が高レベルの要件を満たしているかどうかをテストすることにより、要件ベースのテスト プロセスを自動化します。テスト ケース アプローチにより、テキスト要件に基づいて、スケーラブルで保守可能かつ柔軟なテスト インフラストラクチャを作成できます。
この例には、テスト ファイル systemTests.mldatx が含まれています。プロジェクト フォルダー ブラウザーでこのファイルをダブルクリックすると、テスト マネージャー に表示されます。テスト ファイルには、最上位の要件を確認するためのテストが含まれています。「視覚イメージの検証」テストポイントは、「視覚イメージの提供」要件にマップされ、テストのカスタム基準として使用する MATLAB 関数を定義します。このテスト ケースは、ミッション全体を包括的に検証するものではありませんが、開発の初期段階で、初期の軌道選択が妥当であることを確認するのに役立ち、アーキテクチャの改良と詳細の追加を継続することができます。
テスト マネージャーでテスト ポイントを実行し、テストが成功することを確認します。合格結果は、シミュレーション ウィンドウ中に CubeSat 搭載カメラがイメージング ターゲットを視認できることを示します。
参考
Orbit Propagator | Spacecraft Dynamics | Attitude Profile
トピック
- CubeSatシミュレーションプロジェクト
- アーキテクチャ モデルを使用したシステムの構成と解析 (System Composer)