Добавьте конический датчик в спутниковый сценарий
conicalSensor(
добавляет parent
)ConicalSensor
по умолчанию возразите против
parent
который может быть satellite
, groundStation
или gimbal
.
conicalSensor(
задает опции с помощью одних или нескольких аргументов name-value. Например, parent
,Name,Value
)'MaxViewAngle',90
задает угол поля зрения 90 градусов.
возвращает указатель на добавленный конический датчик. Задайте любую комбинацию входных аргументов от предыдущих синтаксисов.S
= conicalSensor(___)
Создайте спутниковый сценарий со временем начала от 15 июня 2021 8:55:00 UTC и время остановки пять дней спустя. Установите шаг расчета симуляции на 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 Viewers: [0x0 matlabshared.satellitescenario.Viewer] Satellites: [1x0 matlabshared.satellitescenario.Satellite] GroundStations: [1x0 matlabshared.satellitescenario.GroundStation] 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: [1 0 0] MarkerSize: 10 ShowLabel: true LabelFontColor: [1 0 0] 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: [0 1 1] MarkerSize: 10 ShowLabel: true LabelFontColor: [0 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: 1 LineColor: [0.5 0 1]
Визуализируйте поле зрения камеры при помощи Спутникового Средства просмотра Сценария.
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
— Элемент сценария, к которому добавляется conicalSensorSatellite
возразите | GroundStation
возразите | Gimbal
объектЭлемент сценария, к которому conicalSensor добавляется в виде Satellite
, GroundStation
, или Gimbal
объект.
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
'MountingAngle',[20; 35; 10]
устанавливает рыскание, тангаж и крен конического датчика к 20, 35, и 10 градусов, соответственно.Name
— имя conicalSensor"conicalSensor idx"
(значение по умолчанию) | строковый скаляр | представляет вектор в виде строки | вектор символов | массив ячеек из символьных векторовМожно установить это свойство только при вызове conicalSensor. После того, как вы вызовете conicalSensor, это свойство только для чтения.
conicalSensor называют в виде разделенной запятой пары, состоящей из 'Name'
и строковый скаляр, представьте в виде строки вектор, вектор символов или массив ячеек из символьных векторов.
Если только один conicalSensor добавляется, задайте Name
как строковый скаляр или вектор символов.
Если несколько conicalSensors добавляются, задают Name
как вектор строки или массив ячеек из символьных векторов. Число элементов в векторном массиве строки или массиве ячеек должно быть равно количеству добавляемых спутников.
В значении по умолчанию idx является количеством conicalSensor, добавленного conicalSensor
объектная функция. Если другой conicalSensor того же имени существует, суффиксный _idx2 добавляется, где idx2 является целым числом, которое постепенно увеличивается 1 запуском от 1, пока дублирование имени не разрешено.
Типы данных: char |
string
MountingLocation
— Монтирование местоположения относительно родительского элемента
(значение по умолчанию) | трехэлементный вектор-строка из положительных чиселМонтирование местоположения относительно родительского объекта в виде трехэлементного вектора-строки из положительных чисел в метрах. Радиус-вектор задан в системе координат тела входа parent
.
MountingAngles
— Монтирование ориентации относительно родительского объекта
(значение по умолчанию) | трехэлементный вектор-строка из положительных чиселМонтирование ориентации относительно родительского объекта в виде трехэлементного вектора-строки из положительных чисел в градусах. Элементы вектора соответствуют рысканию, тангажу, и сыплют тот порядок. Отклоняйтесь от курса, сделайте подачу, и крен является положительными вращениями вокруг z родительского элемента - осью, промежуточным y - осью и промежуточным x - ось родительского элемента.
Пример: [0; 30; 60]
MaxViewAngle
— Угол поля зрения
(значение по умолчанию) | скаляр в области значений [0, 180]Угол поля зрения в виде скаляра в области значений [0, 180]. Модули в градусах.
S
— Конический датчикConicalSensor
объектКонический датчик присоединяется к parent
, возвращенный как ConicalSensor
объект.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.