Gimbal

Установите в карданном подвесе объект, принадлежащий спутниковому сценарию

    Описание

    Gimbal задает объект карданова подвеса, принадлежащий спутниковому сценарию.

    Создание

    Можно создать Gimbal объект с помощью gimbal объектная функция Satellite или GroundStation.

    Свойства

    развернуть все

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

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

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

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

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

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

    Это свойство установлено внутренне средством моделирования и только для чтения.

    Установите в карданном подвесе ID, присвоенный средством моделирования в виде положительной скалярной величины.

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

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

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

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

    Конические датчики, присоединенные к Карданову подвесу в виде вектора-строки из конических датчиков.

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

    Приемники, присоединенные к Карданову подвесу в виде вектора-строки из Receiver объекты.

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

    Передатчики, присоединенные к Карданову подвесу в виде вектора-строки из Transmitter объекты.

    Функции объекта

    transmitterДобавьте передатчик в спутниковый сценарий
    receiverДобавьте приемник в спутниковый сценарий
    conicalSensorДобавьте конический датчик в спутниковый сценарий
    pointAtЦель, на которую должна быть указана сущность
    gimbalAnglesРегулирование углов карданова подвеса

    Примеры

    свернуть все

    Создайте спутниковый сценарий со временем начала от 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);

    Введенный в R2021a