このページは機械翻訳を使用して翻訳されました。最新版の英語を参照するには、ここをクリックします。
conicalSensor
説明
conicalSensor(
は、デフォルトのパラメーターを使用して、ベクトル parent
)parent
内の各親に ConicalSensor
オブジェクトを追加します。parent
は、Satellite
、GroundStation
、Platform
、または Gimbal
になります。
conicalSensor(
は、オプションの名前と値の引数で指定された追加のパラメーターを使用して、parent
,Name=Value
)parent
の親にコニカル センサーを追加します。たとえば、'MaxViewAngle'=90
は視野角 90 度を指定します。
は追加されたコニカル センサーを行ベクトル sensor
= conicalSensor(___)sensor
として返します。前の構文からの任意の入力引数の組み合わせを指定します。
例
開始時刻が 2021 年 6 月 15 日午前 8 時 55 分 UTC、終了時刻が 5 日後の衛星シナリオを作成します。シミュレーションのサンプル時間を 60
秒に設定します。
startTime = datetime(2021,6,21,8,55,0);
stopTime = startTime + days(5);
sampleTime = 60; % seconds
sc = satelliteScenario(startTime,stopTime,sampleTime)
sc = satelliteScenario with properties: StartTime: 21-Jun-2021 08:55:00 StopTime: 26-Jun-2021 08:55:00 SampleTime: 60 AutoSimulate: 1 Satellites: [1×0 matlabshared.satellitescenario.Satellite] GroundStations: [1×0 matlabshared.satellitescenario.GroundStation] Platforms: [1×0 matlabshared.satellitescenario.Platform] Viewers: [0×0 matlabshared.satellitescenario.Viewer] AutoShow: 1
ケプラーの軌道要素を使用して、シナリオに衛星を追加します。
semiMajorAxis = 7878137; % meters eccentricity = 0; inclination = 50; % degrees rightAscensionOfAscendingNode = 0; % degrees argumentOfPeriapsis = 0; % degrees trueAnomaly = 50; % degrees sat = satellite(sc,semiMajorAxis,eccentricity,inclination,rightAscensionOfAscendingNode, ... argumentOfPeriapsis,trueAnomaly)
sat = Satellite with properties: Name: Satellite 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] Orbit: [1x1 matlabshared.satellitescenario.Orbit] CoordinateAxes: [1x1 matlabshared.satellitescenario.CoordinateAxes] OrbitPropagator: sgp4 MarkerColor: [0.059 1 1] MarkerSize: 6 ShowLabel: true LabelFontColor: [1 1 1] LabelFontSize: 15 Visual3DModel: Visual3DModelScale: 1
撮影する場所を表す地上局をシナリオに追加します。
gs = groundStation(sc,Name="Location to Photograph", ... Latitude=42.3001,Longitude=-71.3504) % degrees
gs = GroundStation with properties: Name: Location to Photograph ID: 2 Latitude: 42.3001 degrees Longitude: -71.3504 degrees Altitude: 0 meters MinElevationAngle: 0 degrees 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] CoordinateAxes: [1x1 matlabshared.satellitescenario.CoordinateAxes] MarkerColor: [1 0.4118 0.1608] MarkerSize: 6 ShowLabel: true LabelFontColor: [1 1 1] LabelFontSize: 15
衛星にジンバルを追加します。このジンバルは衛星とは独立して操縦できます。
g = gimbal(sat)
g = Gimbal with properties: Name: Gimbal 3 ID: 3 MountingLocation: [0; 0; 0] meters MountingAngles: [0; 0; 0] degrees ConicalSensors: [1x0 matlabshared.satellitescenario.ConicalSensor] Transmitters: [1x0 satcom.satellitescenario.Transmitter] Receivers: [1x0 satcom.satellitescenario.Receiver] CoordinateAxes: [1x1 matlabshared.satellitescenario.CoordinateAxes]
ジンバルを使用して撮影する場所を追跡します。
pointAt(g,gs);
ジンバルにコニカル センサーを追加します。このセンサーはカメラを表します。視野を60度に設定します。
camSensor = conicalSensor(g,MaxViewAngle=60)
camSensor = ConicalSensor with properties: Name: Conical sensor 4 ID: 4 MountingLocation: [0; 0; 0] meters MountingAngles: [0; 0; 0] degrees MaxViewAngle: 60 degrees Accesses: [1x0 matlabshared.satellitescenario.Access] FieldOfView: [0x0 matlabshared.satellitescenario.FieldOfView] CoordinateAxes: [1x1 matlabshared.satellitescenario.CoordinateAxes]
カメラと撮影場所の間にあるコニカル センサーにアクセス解析を追加します。
ac = access(camSensor,gs)
ac = Access with properties: Sequence: [4 2] LineWidth: 3 LineColor: [0.3922 0.8314 0.0745]
衛星シナリオ ビューアーを使用して、カメラの視野を可視化します。
v = satelliteScenarioViewer(sc); fieldOfView(camSensor);
カメラが地理的サイトを視認できる間隔を決定します。
t = accessIntervals(ac)
t=35×8 table
Source Target IntervalNumber StartTime EndTime Duration StartOrbit EndOrbit
__________________ ________________________ ______________ ____________________ ____________________ ________ __________ ________
"Conical sensor 4" "Location to Photograph" 1 21-Jun-2021 10:38:00 21-Jun-2021 10:55:00 1020 1 2
"Conical sensor 4" "Location to Photograph" 2 21-Jun-2021 12:36:00 21-Jun-2021 12:58:00 1320 2 3
"Conical sensor 4" "Location to Photograph" 3 21-Jun-2021 14:37:00 21-Jun-2021 15:01:00 1440 3 4
"Conical sensor 4" "Location to Photograph" 4 21-Jun-2021 16:41:00 21-Jun-2021 17:04:00 1380 5 5
"Conical sensor 4" "Location to Photograph" 5 21-Jun-2021 18:44:00 21-Jun-2021 19:07:00 1380 6 6
"Conical sensor 4" "Location to Photograph" 6 21-Jun-2021 20:46:00 21-Jun-2021 21:08:00 1320 7 7
"Conical sensor 4" "Location to Photograph" 7 21-Jun-2021 22:50:00 21-Jun-2021 23:04:00 840 8 8
"Conical sensor 4" "Location to Photograph" 8 22-Jun-2021 09:51:00 22-Jun-2021 10:02:00 660 13 13
"Conical sensor 4" "Location to Photograph" 9 22-Jun-2021 11:46:00 22-Jun-2021 12:07:00 1260 14 15
"Conical sensor 4" "Location to Photograph" 10 22-Jun-2021 13:46:00 22-Jun-2021 14:10:00 1440 15 16
"Conical sensor 4" "Location to Photograph" 11 22-Jun-2021 15:49:00 22-Jun-2021 16:13:00 1440 16 17
"Conical sensor 4" "Location to Photograph" 12 22-Jun-2021 17:53:00 22-Jun-2021 18:16:00 1380 18 18
"Conical sensor 4" "Location to Photograph" 13 22-Jun-2021 19:55:00 22-Jun-2021 20:18:00 1380 19 19
"Conical sensor 4" "Location to Photograph" 14 22-Jun-2021 21:58:00 22-Jun-2021 22:16:00 1080 20 20
"Conical sensor 4" "Location to Photograph" 15 23-Jun-2021 10:56:00 23-Jun-2021 11:16:00 1200 26 27
"Conical sensor 4" "Location to Photograph" 16 23-Jun-2021 12:56:00 23-Jun-2021 13:19:00 1380 27 28
⋮
最大再訪問時間を時間単位で計算します。
startTimes = t.StartTime;
endTimes = t.EndTime;
revisitTimes = hours(startTimes(2:end) - endTimes(1:end-1));
maxRevisitTime = max(revisitTimes) % hours
maxRevisitTime = 12.666666666666666
カメラがその場所を撮影した再訪問時間を可視化します。
play(sc);
入力引数
コニカル センサーを追加するシナリオの要素。衛星、地上局、プラットフォーム、またはジンバルのスカラーまたはベクトルとして指定されます。追加するコニカル センサーの数は、入力のサイズによって決まります。
parent
がスカラーの場合、すべてのコニカル センサーが親に追加されます。parent
が親のベクトルであり、指定されたコニカル センサーの数が 1 の場合、そのコニカル センサーが各親に追加されます。parent
が親のベクトルであり、指定されたコニカル センサーの数が 1 より多い場合、コニカル センサーの数はparent
の親の数と等しくなければならず、各親には 1 つのコニカル センサーが割り当てられます。
名前と値の引数
オプションの引数のペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで、Name
は引数名で、Value
は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。
R2021a より前では、コンマを使用して名前と値をそれぞれ区切り、Name
を引用符で囲みます。
例: 'MountingAngle'=[20;35;10]
は、コニカル センサーのヨー、ピッチ、ロール角度をそれぞれ 20 度、35 度、10 度に設定します。
メモ
名前と値の引数のサイズによって、指定できるコニカル センサーの数が決まります。複数のコニカル センサーを指定する方法については、これらのプロパティを参照してください。
このプロパティは、conicalSensor
関数を呼び出すときにのみ設定できます。conicalSensor
関数を呼び出した後、このプロパティは読み取り専用になります。
コニカル センサー名。'Name'
と文字列スカラー、文字列ベクトル、文字ベクトル、または文字ベクトルのセル配列で構成される名前と値の引数として指定します。
コニカル センサーを 1 つだけ追加する場合は、
Name
を文字列スカラーまたは文字ベクトルとして指定します。複数のコニカル センサーを追加する場合は、
Name
を文字列スカラー、文字ベクトル、文字列ベクトル、または文字ベクトルのセル配列として指定します。文字列スカラーまたは文字ベクトルとして追加するすべてのコニカル センサーには、同じ指定された名前が割り当てられます。文字列ベクトルまたは文字ベクトルのセル配列内の要素数は、追加するコニカル センサーの数と等しくなければなりません。各コニカル センサーには、ベクトルまたはセル配列から対応する名前が割り当てられます。
デフォルト値では、idx は衛星シナリオによって割り当てられた ID です。
データ型: char
| string
親オブジェクトに対する取り付け位置(メートル単位)。3 要素のベクトルまたは行列として指定します。位置ベクトルは、入力 parent
のボディ座標系で指定されます。
コニカル センサーを 1 つ追加する場合、
MountingLocation
は 3 要素ベクトルになります。要素は、円錐形センサーのボディ座標系内の直交座標の x、y、および z コンポーネントを指定します。複数のコニカル センサーを追加する場合、
MountingLocation
は 3 要素のベクトルまたは行列になります。ベクトルとして指定すると、指定されたすべてのコニカル センサーに同じ取り付け位置のセットが割り当てられます。行列として指定する場合、MountingLocation
には 3 つの行と、コニカル センサーと同じ数の列が含まれている必要があります。列は指定された各円錐形センサーの取り付け位置に対応し、行は親ボディ座標系内の取り付け位置座標に対応します。
衛星シナリオの AutoSimulate
プロパティが false
の場合、SimulationStatus
が NotStarted
の場合にのみ MountingLocation
プロパティを変更できます。restart
関数を使用して SimulationStatus
を NotStarted
にリセットできますが、これを行うとシミュレーション データが消去されます。
データ型: double
親オブジェクトに対する取り付け方向(度単位)。正の数値の 3 要素の行ベクトルとして指定します。ベクトルの要素は、ヨー、ピッチ、ロールの順に対応します。ヨー、ピッチ、ロールは、親の z 軸、中間 y 軸、中間 x 軸を中心とした正の回転です。
コニカル センサーを 1 つ追加する場合、
MountingAngles
は 3 要素ベクトルになります。複数のコニカル センサーを追加する場合、
MountingAngles
は 3 要素のベクトルまたは行列になります。ベクトルとして指定すると、指定されたすべてのコニカル センサーに同じ取り付け角度のセットが割り当てられます。行列として指定する場合、MountingAngles
には 3 つの行と、コニカル センサーと同じ数の列が含まれている必要があります。列は指定された各円錐センサーの取り付け角度に対応し、行は親ボディ座標系のヨー、ピッチ、ロール角度に対応します。
衛星シナリオの AutoSimulate
プロパティが false
の場合、SimulationStatus
が NotStarted
の場合にのみ MountingAngles
プロパティを変更できます。restart
関数を使用して SimulationStatus
を NotStarted
にリセットできますが、これを行うとシミュレーション データが消去されます。
例: [0; 30; 60]
データ型: double
視野角(度単位)。範囲[0, 180] のスカラーまたはベクトルとして指定します。
コニカル センサーを 1 つ追加する場合、
MaxViewAngle
はスカラーである必要があります。複数のコニカル センサーを追加する場合、
MaxViewAngle
はスカラーまたはベクトルになります。MaxViewAngle
がスカラーの場合、追加するすべてのコニカル センサーに同じ視野角が割り当てられます。MaxViewAngle
がベクトルの場合、MaxViewAngle
の長さは親のコニカル センサーの数と等しくなければなりません。MaxViewAngle
の各要素は、指定された対応するコニカル センサーに割り当てられます。
衛星シナリオの AutoSimulate
プロパティが false
の場合、SimulationStatus
が NotStarted
または InProgress
であるときに MaxViewAngle
を変更できます。
データ型: double
出力引数
parent
に接続されたコニカル センサー。行ベクトルとして返されます。
衛星シナリオの AutoSimulate
プロパティが false
の場合、SimulationStatus
が NotStarted
の場合にのみ conicalSensor
関数を呼び出すことができます。restart
関数を使用して SimulationStatus
を NotStarted
にリセットできますが、これを行うとシミュレーション データが消去されます。
バージョン履歴
R2021a で導入
参考
オブジェクト
関数
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)