このページは機械翻訳を使用して翻訳されました。元の英語を参照するには、ここをクリックします。
conicalSensor
説明
conicalSensor(
は、デフォルトのパラメータを使用して、ベクトル parent
)parent
内の各親に ConicalSensor
オブジェクトを追加します。parent
は、Satellite
、GroundStation
、Platform
(Satellite Communications Toolbox)、または 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] 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] GroundTrack: [1x1 matlabshared.satellitescenario.GroundTrack] Orbit: [1x1 matlabshared.satellitescenario.Orbit] OrbitPropagator: sgp4 MarkerColor: [0.059 1 1] MarkerSize: 6 ShowLabel: true LabelFontColor: [1 1 1] LabelFontSize: 15
撮影する場所を表す地上局をシナリオに追加します。
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.3 degrees Longitude: -71.35 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] 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]
ジンバルを使用して撮影する場所を追跡します。
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]
カメラと撮影場所の間にある円錐型センサーにアクセス解析を追加します。
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:50:00 22-Jun-2021 16:13:00 1380 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.6667
カメラがその場所を撮影した再訪問時間を視覚化します。
play(sc);
入力引数
parent
— 円錐型センサーが追加されたシナリオの要素
スカラー | ベクトル
円錐センサーを追加するシナリオの要素。衛星、地上局、プラットフォーム、またはジンバルのスカラーまたはベクトルとして指定されます。追加する円錐形センサーの数は、入力のサイズによって決まります。
parent
がスカラーの場合、すべての円錐センサーが親に追加されます。parent
が親のベクトルであり、指定された円錐センサーの数が 1 の場合、その円錐センサーが各親に追加されます。parent
が親のベクトルであり、指定された円錐センサーの数が 1 を超える場合、円錐センサーの数はparent
の親の数と等しくなければならず、各親には 1 つの円錐センサーが割り当てられます。
名前と値の引数
オプションの引数のペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで、Name
は引数名で、Value
は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。
R2021a より前では、コンマを使用して名前と値をそれぞれ区切り、Name
を引用符で囲みます。
例: 'MountingAngle'=[20;35;10]
は、円錐センサーのヨー、ピッチ、ロールの角度をそれぞれ 20 度、35 度、10 度に設定します。
メモ
名前値引数のサイズによって、指定できる円錐形センサーの数が決まります。複数の円錐センサーを指定する方法については、これらのプロパティを参照してください。
Name
— 円錐形センサー名
"Conical sensor idx"
(既定値) | string スカラー | string ベクトル | 文字ベクトル | 文字ベクトルの cell 配列
このプロパティは、conicalSensor
関数を呼び出すときにのみ設定できます。conicalSensor
関数を呼び出した後、このプロパティは読み取り専用になります。
円錐センサー名。'Name'
と文字列スカラー、文字列ベクトル、文字ベクトル、または文字ベクトルのセル配列で構成される名前と値の引数として指定されます。
円錐センサーを 1 つだけ追加する場合は、
Name
を文字列スカラーまたは文字ベクトルとして指定します。複数の円錐センサーを追加する場合は、
Name
を文字列スカラー、文字ベクトル、文字列ベクトル、または文字ベクトルのセル配列として指定します。文字列スカラーまたは文字ベクトルとして追加するすべての円錐センサーには、同じ指定された名前が割り当てられます。文字列ベクトルまたは文字ベクトルのセル配列内の要素数は、追加する円錐形センサーの数と等しくなければなりません。各円錐センサーには、ベクトルまたはセル配列から対応する名前が割り当てられます。
デフォルト値では、idx は衛星シナリオによって割り当てられた ID です。
データ型: char
| string
MountingLocation
— 親に対する取り付け位置
[0; 0; 0]
(既定値) | 3 要素ベクトル | 行列
親オブジェクトに対する取り付け位置(メートル単位)。3 要素のベクトルまたは行列として指定します。位置ベクトルは、入力 parent
のボディ座標系で指定されます。
円錐型センサーを 1 つ追加する場合、
MountingLocation
は 3 要素ベクトルになります。要素は、円錐形センサーのボディ座標系内の直交座標の x、y、および z コンポーネントを指定します。複数の円錐形センサーを追加する場合、
MountingLocation
は 3 要素のベクトルまたは行列になります。ベクトルとして指定すると、指定されたすべての円錐形センサーに同じ取り付け位置のセットが割り当てられます。行列として指定する場合、MountingLocation
には 3 つの行と、円錐センサーと同じ数の列が含まれている必要があります。列は指定された各円錐形センサーの取り付け位置に対応し、行は親ボディ座標系内の取り付け位置座標に対応します。
衛星シナリオの AutoSimulate
プロパティが false
の場合、 SimulationStatus
が NotStarted
の場合にのみ MountingLocation
プロパティを変更できます。restart
関数を使用して SimulationStatus
を NotStarted
にリセットできますが、これを行うとシミュレーション データが消去されます。
データ型: double
MountingAngles
— 親オブジェクトに対する取り付け方向
[0; 0; 0]
(既定値) | 正の数の3要素の行ベクトル | 行列
親オブジェクトに対する取り付け方向(度単位)。正の数値の 3 要素の行ベクトルとして指定します。ベクトルの要素は、ヨー、ピッチ、ロールの順に対応します。ヨー、ピッチ、ロールは、親の z 軸、中間の y 軸、中間の x 軸を中心とした正の回転です。
円錐型センサーを 1 つ追加する場合、
MountingAngles
は 3 要素ベクトルになります。複数の円錐形センサーを追加する場合、
MountingAngles
は 3 要素のベクトルまたは行列になります。ベクトルとして指定すると、指定されたすべての円錐形センサーに同じ取り付け角度のセットが割り当てられます。行列として指定する場合、MountingAngles
には 3 つの行と、円錐センサーと同じ数の列が含まれている必要があります。列は指定された各円錐センサーの取り付け角度に対応し、行は親ボディ座標系のヨー、ピッチ、ロール角度に対応します。
衛星シナリオの AutoSimulate
プロパティが false
の場合、 SimulationStatus
が NotStarted
の場合にのみ MountingAngles
プロパティを変更できます。restart
関数を使用して SimulationStatus
を NotStarted
にリセットできますが、これを行うとシミュレーション データが消去されます。
例: [0; 30; 60]
データ型: double
MaxViewAngle
— 視野角
30
(既定値) | [0, 180]の範囲のスカラー | ベクトル
視野角(度単位)。範囲 [0, 180] のスカラーまたはベクトルとして指定します。
円錐型センサーを 1 つ追加する場合、
MaxViewAngle
はスカラーである必要があります。複数の円錐型センサーを追加する場合、
MaxViewAngle
はスカラーまたはベクトルになります。MaxViewAngle
がスカラーの場合、追加するすべての円錐センサーに同じ視野角が割り当てられます。MaxViewAngle
がベクトルの場合、MaxViewAngle
の長さは親の円錐センサーの数と等しくなければなりません。MaxViewAngle
の各要素は、指定された対応する円錐センサーに割り当てられます。
衛星シナリオの AutoSimulate
プロパティが false
の場合、 SimulationStatus
が NotStarted
または InProgress
であるときに MaxViewAngle
を変更できます。
データ型: double
出力引数
sensor
— 円錐型センサー
row vector
オブジェクト
parent
に接続された円錐形センサーが行ベクトルとして返されます。
衛星シナリオの AutoSimulate
プロパティが false
の場合、 SimulationStatus
が NotStarted
の場合にのみ conicalSensor
関数を呼び出すことができます。restart
関数を使用して SimulationStatus
を NotStarted
にリセットできますが、これを行うとシミュレーション データが消去されます。
バージョン履歴
R2021a で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- 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)