メインコンテンツ

このページは機械翻訳を使用して翻訳されました。最新版の英語を参照するには、ここをクリックします。

platform

衛星シナリオにプラットフォームを追加する

R2024a 以降

説明

platform(scenario,trajectory) は、geoTrajectory システム オブジェクトからの軌跡を使用して、衛星シナリオに Platform オブジェクトを追加します。

platform(scenario,positiontable) は、位置データから衛星シナリオに Platform オブジェクトを追加します。位置データはメートル単位です。

platform(scenario,positiontable,velocitytable) は、位置と速度データから衛星シナリオに Platform オブジェクトを追加します。位置データはメートル単位、速度データはメートル/秒単位です。

platform(scenario,positiontimeseries) は、positiontimeseries (timeseries オブジェクト) で指定された位置 (メートル単位) データから、衛星シナリオに Platform オブジェクトを追加します。

platform(scenario,positiontimeseries,velocitytimeseries) は、positiontimeseries (timeseries オブジェクト) で指定された位置 (メートル単位) データと、velocitytimeseries (timeseries オブジェクト) で指定された速度 (メートル/秒単位) データから、衛星シナリオに Platform オブジェクトを追加します。

platform(___,Name,Value) は、以前の構文の任意の入力引数の組み合わせに加えて、1 つ以上の名前と値の引数を使用してオプションを指定します。

pltf = platform(___) は、衛星シナリオに Platform オブジェクト プラットフォームを追加し、これらのプラットフォームへのハンドルのベクトルを返します。

メモ

satelliteScenarioAutoSimulate プロパティが false の場合、プラットフォームの呼び出し時に SimulationStatusNotStarted になります。restart 関数を使用して SimulationStatusNotStarted にリセットできます。restart を呼び出すとシミュレーション データが消去されることに注意してください。

すべて折りたたむ

satelliteScenario を使用してシナリオを作成します。

sc = satelliteScenario();
viewer = satelliteScenarioViewer(sc);

デリー国際空港から離陸し、バンガロール上空を飛行してドバイに着陸する航空機を考えてみます。合計飛行時間は3時間です。 geoTrajectory を使用して軌跡を作成します。

trajectory = geoTrajectory([28.5567,77.1006,10600;13.1989,77.7068,30600;25.2566,55.3641,5600],[0,3600,3*3600],AutoPitch=true,AutoBank=true);

軌跡に基づいて衛星シナリオにプラットフォームを追加します。

pltf = platform(sc,trajectory)
pltf = 
  Platform with properties:

                  Name:  Platform 1
                    ID:  1
        ConicalSensors:  [1x0 matlabshared.satellitescenario.ConicalSensor]
               Gimbals:  [1x0 matlabshared.satellitescenario.Gimbal]
          Transmitters:  [1x0 satcom.satellitescenario.Transmitter]
             Receivers:  [1x0 satcom.satellitescenario.Receiver]
              Accesses:  [1x0 matlabshared.satellitescenario.Access]
               Eclipse:  [1x0 Aero.satellitescenario.Eclipse]
           GroundTrack:  [1x1 matlabshared.satellitescenario.GroundTrack]
                  Path:  [1x1 matlabshared.satellitescenario.Path]
        CoordinateAxes:  [1x1 matlabshared.satellitescenario.CoordinateAxes]
           MarkerColor:  [0.7176 0.2745 1]
            MarkerSize:  6
             ShowLabel:  true
        LabelFontColor:  [1 1 1]
         LabelFontSize:  15
         Visual3DModel:  
    Visual3DModelScale:  1

hide(pltf.Path);
show(pltf.GroundTrack);

ビューアーを再生します。

play(sc);

platform_example_1.png

入力引数

すべて折りたたむ

satelliteScenario オブジェクトとして指定された衛星シナリオ。

地理軌跡オブジェクト。geoTrajectory オブジェクトまたは地理軌跡のセル配列として指定されます。

データ型: char | string

メモ

geotrajectory を入力として使用する場合、位置、速度、または姿勢の入力は必要ありません。

timetable 関数または table 関数を使用して作成されたタイムテーブルとして指定された、メートル単位の位置データ。positiontable には、単調に増加する rowTimes (datetime または duration) の列が 1 つだけあり、次のいずれかになります。

  • 1 つ以上の変数の列。各列には、時間の経過に伴う個々のプラットフォームのデータが含まれます。

  • 2D データの 1 列。1 つの次元の長さは 3 に等しく、残りの次元はエフェメリス内のプラットフォームの数を定義します。

  • 3D データの 1 列。1 つの次元の長さは 3 に等しく、1 つの次元はシングルトンであり、残りの次元はエフェメリス内のプラットフォームの数を定義します。

rowTimes 値が duration タイプの場合、時間値は現在のシナリオの StartTime プロパティを基準にして測定されます。入力として名前が指定されていない場合は、デフォルトでタイムテーブルの VariableNames プロパティが使用されます。プラットフォームの状態は、地理座標系 (GCRF) 内にあると想定されます。GCRF では、positiontable の時間範囲外のシナリオ タイムステップでは状態が一定に保持されます。

データ型: table | timetable

timetable 関数または table 関数を使用して作成されたタイムテーブルとして指定された、メートル/秒単位の速度データ。velocitytable には、単調に増加する rowTimes (datetime または duration) の列が 1 つだけあり、次のいずれかになります。

  • 1 つ以上の変数の列。各列には、時間の経過に伴う個々のプラットフォームのデータが含まれます。

  • 2D データの 1 列。1 つの次元の長さは 3 に等しく、残りの次元はエフェメリス内のプラットフォームの数を定義します。

  • 3D データの 1 列。1 つの次元の長さは 3 に等しく、1 つの次元はシングルトンであり、残りの次元はエフェメリス内のプラットフォームの数を定義します。

rowTimes 値が duration タイプの場合、時間値は現在のシナリオの StartTime プロパティを基準にして測定されます。入力として名前が指定されていない場合は、デフォルトで時刻表 VariableNames が使用されます。CoordinateFrame 名前値引数が指定されていない限り、プラットフォーム状態は GCRF 内にあると想定されます。GCRF では、velocitytable の時間範囲外のシナリオ タイムステップでは状態が一定に保持されます。

データ型: table | timetable

位置データ(メートル単位)。timeseries オブジェクトまたは tscollection オブジェクトとして指定されます。

  • timeseries または tscollection オブジェクトの Data プロパティに 2 つの次元がある場合、1 つの次元は 3 に等しく、もう 1 つの次元は時間ベクトルの方向と一致する必要があります。

  • timeseries または tscollectionData プロパティが 3 次元の場合、1 つの次元は 3 に等しく、最初または最後の次元のいずれかが時間ベクトルの方向と一致する必要があり、残りの次元はエフェメリス内のプラットフォームの数を定義します。

    timeseries.TimeInfo.StartDate が空の場合、時間値は現在のシナリオの StartTime プロパティを基準にして測定されます。入力として名前が指定されていない場合は、timeseries Name プロパティ (定義されている場合) がデフォルトで使用されます。GCRF では、positiontimeseries の時間範囲外のシナリオ タイムステップでは状態が一定に保持されます。

データ型: timeseries | tscollection

速度データ (メートル/秒単位)。timeseries オブジェクトまたは tscollection オブジェクトとして指定されます。

  • timeseries または tscollection オブジェクトの Data プロパティに 2 つの次元がある場合、1 つの次元は 3 に等しく、もう 1 つの次元は時間ベクトルの方向と一致する必要があります。

  • timeseries または tscollectionData プロパティが 3 次元の場合、1 つの次元は 3 に等しく、最初または最後の次元のいずれかが時間ベクトルの方向と一致する必要があり、残りの次元はエフェメリス内のプラットフォームの数を定義します。

    timeseries.TimeInfo.StartDate が空の場合、時間値は現在のシナリオの StartTime プロパティを基準にして測定されます。入力として名前が指定されていない場合は、timeseries Name プロパティ (定義されている場合) がデフォルトで使用されます。GCRF では、velocitytimeseries の時間範囲外のシナリオ タイムステップでは状態が一定に保持されます。

データ型: timeseries | tscollection

名前と値の引数

すべて折りたたむ

オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。

例: Name = 'MySatellite' は衛星名を 'MySatellite' に設定します。

プラットフォームを可視化するための衛星シナリオ ビューアー。スカラー、ベクトル、または satelliteScenarioViewer オブジェクトの配列として指定されます。シナリオの AutoSimulate プロパティが false の場合、シナリオにプラットフォームを追加すると、以前に使用可能だったタイムラインおよび再生ウィジェットがすべて無効になります。

geoTrajectory を入力として使用する場合のシナリオ開始からの時間オフセット。MATLAB® datetime オブジェクトとして指定されます。

姿勢データ。MATLAB timeseries オブジェクト、MATLAB timetable オブジェクト、または MATLAB table オブジェクトとして指定されます。

指定された姿勢が MATLAB timetable の場合:

  • pltf に単一のプラットフォームが含まれている場合、テーブルにはスカラー ファースト四元数[1 行 4 列] または ZYX オイラー角 [1 行 3 列] のデータ列が 1 つ含まれている必要があります。

  • pltf がプラットフォームの配列である場合、各データ行には次のいずれかが含まれている必要があります。

    • 複数の列。各列には、時間の経過に伴う個々のプラットフォームのデータが含まれます。

    • 2D データの 1 列。1 つの次元の長さは、オイラー角または四元数のどちらが使用されているかに応じて 3 または 4 に等しく、残りの次元の長さは pltf 内のプラットフォームの数に等しくなければなりません。

    • 3D データの 1 列。1 つの次元の長さは、オイラー角または四元数のどちらが使用されているかに応じて 3 または 4 に等しく、1 つの次元はシングルトンであり、残りの次元の長さは pltf 内のプラットフォームの数に等しくなければなりません。

指定された姿勢がスカラー四元数または ZYX オイラー角を含む MATLAB timeseries である場合は、次のようになります。

  • timeseriesData プロパティに 2 つの次元がある場合、オイラー角または四元数が使用されているかどうかに応じて、1 つの次元の長さは 3 または 4 に等しくなければならず、もう 1 つの次元は時間ベクトルの方向と揃っている必要があります。

  • pltf がプラットフォームの配列である場合、timeseriesData プロパティは 3 次元でなければなりません。1 つの次元の長さは、オイラー角または四元数のどちらが使用されているかに応じて 3 または 4 に等しくなければならず、最初または最後の次元のいずれかが時間ベクトルの方向と揃う必要があり、残りの次元は pltf 内のプラットフォームの数と揃う必要があります。

四元数の詳細については、quaternion を参照してください。

データ型: timeseries | table

ビューアーでレンダリングするビジュアル 3D モデル ファイルの名前。拡張子が .GLTF、.GLB、または .STL の文字文字列として指定します。GLB および GLTF モデルの場合、gITF は右手座標系を使用します。gITF は、+Y を上、+Z を前、-X を右と定義します。gITF アセットは +Z に面しています。詳細については、https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html#coordinate-system-and-units を参照してください。GLB のメッシュはメートル単位です。

メモ

このプロパティ NarrowBodyAirliner.glb を設定すると、航空機の 3D モデルを衛星シナリオ ビューアーに追加できます。

3-D Model of an aircraft

データ型: string

ビューアでレンダリングされるビジュアル 3D モデルの線形スケーリング。負でない整数として指定します。スケーリングでは、GLB モデルがメートル単位であることを前提としています。

データ型: double

出力引数

すべて折りたたむ

シナリオ内のプラットフォーム。scenario で指定された衛星シナリオに属する Platform オブジェクトとして返されます。

プロパティ値を変更することで、Platform オブジェクトを変更できます。

バージョン履歴

R2024a で導入