conicalSensor

Добавьте конический датчик в спутниковый сценарий

Описание

conicalSensor(parent) добавляет ConicalSensor по умолчанию возразите против parent который может быть satellite, groundStation или gimbal.

пример

conicalSensor(parent,Name,Value) задает опции с помощью одних или нескольких аргументов 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);

Входные параметры

свернуть все

Элемент сценария, к которому conicalSensor добавляется в виде Satellite, GroundStation, или Gimbal объект.

Аргументы name-value

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'MountingAngle',[20; 35; 10] устанавливает рыскание, тангаж и крен конического датчика к 20, 35, и 10 градусов, соответственно.

Можно установить это свойство только при вызове conicalSensor. После того, как вы вызовете conicalSensor, это свойство только для чтения.

conicalSensor называют в виде разделенной запятой пары, состоящей из 'Name' и строковый скаляр, представьте в виде строки вектор, вектор символов или массив ячеек из символьных векторов.

  • Если только один conicalSensor добавляется, задайте Name как строковый скаляр или вектор символов.

  • Если несколько conicalSensors добавляются, задают Name как вектор строки или массив ячеек из символьных векторов. Число элементов в векторном массиве строки или массиве ячеек должно быть равно количеству добавляемых спутников.

В значении по умолчанию idx является количеством conicalSensor, добавленного conicalSensor объектная функция. Если другой conicalSensor того же имени существует, суффиксный _idx2 добавляется, где idx2 является целым числом, которое постепенно увеличивается 1 запуском от 1, пока дублирование имени не разрешено.

Типы данных: char | string

Монтирование местоположения относительно родительского объекта в виде трехэлементного вектора-строки из положительных чисел в метрах. Радиус-вектор задан в системе координат тела входа parent.

Монтирование ориентации относительно родительского объекта в виде трехэлементного вектора-строки из положительных чисел в градусах. Элементы вектора соответствуют рысканию, тангажу, и сыплют тот порядок. Отклоняйтесь от курса, сделайте подачу, и крен является положительными вращениями вокруг z родительского элемента - осью, промежуточным y - осью и промежуточным x - ось родительского элемента.

Пример: [0; 30; 60]

Угол поля зрения в виде скаляра в области значений [0, 180]. Модули в градусах.

Выходные аргументы

свернуть все

Конический датчик присоединяется к parent, возвращенный как ConicalSensor объект.

Введенный в R2021a