radarDetectionGenerator

Сгенерируйте радарные обнаружения для ведущего сценария

Описание

radarDetectionGenerator Система object™ генерирует обнаружения от радарного датчика, смонтированного на автомобиле, оборудованном датчиком. На все обнаружения ссылаются к системе координат автомобиля, оборудованного датчиком. Можно использовать radarDetectionGenerator объект в сценарии, содержащем агентов и траектории, которые можно создать при помощи drivingScenario объект. Объект может симулировать действительные обнаружения с добавленным случайным шумом и также сгенерировать ложные сигнальные обнаружения. Кроме того, можно использовать radarDetectionGenerator объект создать вход к multiObjectTracker. При создании сценариев с помощью приложения Driving Scenario Designer радарные датчики, смонтированные на автомобиле, оборудованном датчиком, выводятся как radarDetectionGenerator объекты.

Сгенерировать радарные обнаружения:

  1. Создайте radarDetectionGenerator объект и набор его свойства.

  2. Вызовите объект с аргументами, как будто это была функция.

Чтобы узнать больше, как Системные объекты работают, смотрите то, Что Системные объекты? MATLAB.

Создание

Описание

пример

sensor = radarDetectionGenerator создает радарный объект генератора обнаружения со значениями свойств по умолчанию.

пример

sensor = radarDetectionGenerator(Name,Value) свойства наборов с помощью одной или нескольких пар "имя-значение". Например, radarDetectionGenerator('DetectionCoordinates','Sensor Cartesian','MaxRange',200) создает радарный генератор обнаружения, который сообщает об обнаружениях в Декартовой системе координат датчика и имеет максимальную область значений обнаружения 200 метров. Заключите каждое имя свойства в кавычки.

Свойства

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

Если в противном случае не обозначено, свойства являются ненастраиваемыми, что означает, что вы не можете изменить их значения после вызова объекта. Объекты блокируют, когда вы вызываете их и release функция разблокировала их.

Если свойство является настраиваемым, можно изменить его значение в любое время.

Для получения дополнительной информации об изменении значений свойств смотрите Разработку системы в MATLAB Используя Системные объекты (MATLAB).

Уникальный идентификатор датчика, заданный как положительное целое число. Это свойство отличает обнаружения, которые прибывают из различных датчиков в системе мультидатчика.

Пример 5

Типы данных: double

Необходимый временной интервал между обновлениями датчика, заданными как положительный действительный скаляр. drivingScenario вызовы объектов радарный генератор обнаружения в интервалах постоянного времени. Радарный детектор генерирует новые обнаружения, с промежутками заданные UpdateInterval свойство. Значение UpdateInterval свойство должно быть целочисленным кратным интервал времени симуляции. Обновления, которые требуют от датчика между интервалами обновления, не содержат обнаружений. Модули находятся в секундах.

Пример 5

Типы данных: double

Местоположение радарного центра датчика, заданного как [x y] вектор. SensorLocation и Height свойства задают координаты радарного датчика относительно системы координат автомобиля, оборудованного датчиком. Значение по умолчанию соответствует радару, смонтированному в центре передней решетки седана. Модули исчисляются в метрах.

Пример: [4 0.1]

Типы данных: double

Радарная высота датчика над землей плоскость, заданная как положительный действительный скаляр. Высота задана относительно наземной плоскости транспортного средства. SensorLocation и Height свойства задают координаты радарного датчика относительно системы координат автомобиля, оборудованного датчиком. Значение по умолчанию соответствует радару, смонтированному в центре передней решетки седана. Модули исчисляются в метрах.

Пример: 0.3

Типы данных: double

Угол отклонения от курса радарного датчика, заданного как действительный скаляр. Угол отклонения от курса является углом между центральной линией автомобиля, оборудованного датчиком и downrange осью радарного датчика. Положительный угол отклонения от курса соответствует по часовой стрелке вращение при взгляде в положительном направлении z - ось системы координат автомобиля, оборудованного датчиком. Модули в градусах.

Пример 4

Типы данных: double

Передайте угол датчика, заданного как действительный скаляр. Угол подачи является углом между downrange осью радарного датчика и плоскостью x-y системы координат автомобиля, оборудованного датчиком. Положительный угол подачи соответствует по часовой стрелке вращение при взгляде в положительном направлении y - ось системы координат автомобиля, оборудованного датчиком. Модули в градусах.

Пример 3

Типы данных: double

Угол вращения радарного датчика, заданного как действительный скаляр. Угол вращения является углом вращения downrange оси радара вокруг x - ось системы координат автомобиля, оборудованного датчиком. Положительный угол вращения соответствует по часовой стрелке вращение при взгляде в положительном направлении x - ось системы координат. Модули в градусах.

Пример 4

Типы данных: double

Азимут и поля зрения вертикального изменения радарного датчика, заданного как с действительным знаком 1 2 вектор положительных значений, [azfov elfov]. Поле зрения задает угловую степень, заполненную датчиком. Каждый компонент должен лечь в интервале (0,180]. Цели за пределами поля зрения радара не обнаруживаются. Модули в градусах.

Пример: [14 7]

Типы данных: double

Максимальный диапазон обнаружения, указанный как положительный действительный скаляр. Радар не может обнаружить цель вне этой области значений. Модули исчисляются в метрах.

Пример: 200

Типы данных: double

Минимальные и максимальные уровни области значений обнаружения, заданные как с действительным знаком 1 2 вектор. Радар не может обнаружить цель этот интервал уровня области значений. Модули исчисляются в метрах в секунду.

Пример: [-20 100]

Зависимости

Чтобы включить это свойство, установите HasRangeRate свойство к true.

Типы данных: double

Вероятность обнаружения цели, заданной как положительный действительный скаляр, меньше чем или равный одному. Это количество задает вероятность обнаружения цели, которая имеет радарное поперечное сечение, ReferenceRCS, в ссылочной области значений обнаружения, ReferenceRange.

Ложный сигнальный уровень в радарной ячейке разрешения, заданной как положительный действительный скаляр в области значений [10–7,10–3]. Модули являются безразмерными.

Пример: 1e-5

Типы данных: double

Диапазон ссылки для данной вероятности обнаружения, заданного как положительный действительный скаляр. Диапазон ссылки является областью значений когда цель, задающая радарное поперечное сечение ReferenceRCS обнаруживается с вероятностью заданных DetectionProbability. Модули исчисляются в метрах.

Типы данных: double

Ссылочное радарное поперечное сечение (RCS) для данной вероятности обнаружения, заданного как неотрицательный действительный скаляр. Ссылочный RCS является значением, в котором цель обнаруживается с вероятностью, заданной DetectionProbability. Модули находятся в dBsm.

Типы данных: double

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

Радарное усиление цикла, заданное как действительный скаляр. Радарное усиление цикла связано с отношением сигнал-шум, о котором сообщают, радара, SNR, целевого радарного сечения, RCS, и целевого диапазона, R

ОСШ = RadarLoopGain + RCS - 40*log10 (R)

SNR и модули RCS находятся в дБ и dBsm, соответственно и модули области значений исчисляются в метрах. RadarLoopGain зависит от DetectionProbability, ReferenceRange, ReferenceRCS, и FalseAlarmRate значения свойств. Модули находятся в дБ.

Типы данных: double

Разрешение азимута радара, заданного как положительный действительный скаляр. Разрешение азимута задает минимальное разделение в углу азимута, под которым радар может отличить две цели. Разрешение азимута обычно является 3dB-downpoint в угловой ширине луча азимута радара. Модули в градусах.

Типы данных: double

Разрешение вертикального изменения радара, заданного как положительный действительный скаляр. Разрешение вертикального изменения задает минимальное разделение в углу вертикального изменения, под которым радар может отличить две цели. Разрешение вертикального изменения обычно является 3dB-downpoint в угловой ширине луча вертикального изменения радара. Модули в градусах.

Зависимости

Чтобы включить это свойство, установите HasElevation свойство к true.

Типы данных: double

Разрешение области значений радара, заданного как положительный действительный скаляр. Разрешение области значений задает минимальное разделение в области значений, в которой радар может различать две цели. Модули исчисляются в метрах.

Типы данных: double

Разрешение уровня области значений радара, заданного как положительный действительный скаляр. Разрешение уровня области значений задает минимальное разделение в уровне области значений, на котором радар может различать две цели. Модули исчисляются в метрах в секунду.

Зависимости

Чтобы включить это свойство, установите HasRangeRate свойство к true.

Типы данных: double

Часть смещения азимута радара, заданного как неотрицательный действительный скаляр. Смещение азимута выражается как часть разрешения азимута, заданного в AzimuthResolution. Модули являются безразмерными.

Типы данных: double

Часть смещения вертикального изменения радара, заданного как неотрицательный действительный скаляр. Смещение вертикального изменения выражается как часть разрешения вертикального изменения, заданного в ElevationResolution. Модули являются безразмерными.

Зависимости

Чтобы включить это свойство, установите HasElevation свойство к true.

Типы данных: double

Часть смещения области значений радара, заданного как неотрицательный действительный скаляр. Смещение области значений выражается как часть разрешения области значений, заданного в RangeResolution. Модули являются безразмерными.

Типы данных: double

Уровень области значений смещает часть радара, заданного как неотрицательный действительный скаляр. Смещение уровня области значений выражается как часть разрешения уровня области значений, заданного в RangeRateResolution. Модули являются безразмерными.

Зависимости

Чтобы включить это свойство, установите HasRangeRate свойство к true.

Типы данных: double

Позвольте радару измерить целевые углы вертикального изменения, заданные как false или true. Установите это свойство на true смоделировать радарный датчик, который может оценить целевое вертикальное изменение. Установите это свойство на false смоделировать радарный датчик, который не может измерить вертикальное изменение.

Типы данных: логический

Позвольте радару измерить уровни целевого диапазона, заданные как false или true. Установите это свойство на true смоделировать радарный датчик, который может оценить уровень целевого диапазона. Установите это свойство на false смоделировать радарный датчик, который не может измерить уровень области значений.

Типы данных: логический

Позвольте добавить шум в радарные измерения датчика, заданные как true или false. Установите это свойство на true добавить шум в радарные измерения. В противном случае измерения не имеют никакого шума. Даже если вы устанавливаете HasNoise к false, объект все еще вычисляет MeasurementNoise свойство каждого обнаружения.

Типы данных: логический

Позвольте сообщить о ложных сигнальных радарных измерениях, заданных как true или false. Установите это свойство на true сообщить о ложных предупреждениях. В противном случае только о фактических обнаружениях сообщают.

Типы данных: логический

Включите поглощение газов угла обзора, заданное как true или false. Чтобы сгенерировать обнаружения только от объектов, для которых радар имеет прямую линию вида, устанавливает это свойство на true. Например, с этим включенным свойством, радар не генерирует обнаружение для транспортного средства, которое находится позади другого транспортного средства и блокировано от представления.

Типы данных: логический

Источник максимального количества обнаружений, о которых сообщает датчик, заданный как 'Auto' или 'Property'. Когда это свойство установлено в 'Auto', датчик сообщает обо всех обнаружениях. Когда это свойство установлено в 'Property', датчик сообщает не больше, чем о количестве обнаружений, заданных MaxNumDetections свойство.

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

О максимальном количестве обнаружений сообщает датчик, заданный как положительное целое число. Об обнаружениях сообщают в порядке расстояния до датчика, пока максимальное количество не достигнуто.

Зависимости

Чтобы включить это свойство, установите MaxNumDetectionsSource свойство к 'Property'.

Типы данных: double

Система координат обнаружений, о которых сообщают, заданных как одно из этих значений:

  • 'Ego Cartesian' — Об обнаружениях сообщают в Декартовой системе координат автомобиля, оборудованного датчиком.

  • 'Sensor Cartesian' — Об обнаружениях сообщают в Декартовой системе координат датчика.

  • 'Sensor Spherical' — Об обнаружениях сообщают в сферической системе координат. Эта система координат сосредоточена в радаре и выровнена с ориентацией радара на автомобиле, оборудованном датчиком.

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

Профили агента, заданные как структура или как массив структур. Каждая структура содержит физические характеристики и радарные характеристики агента.

  • Если ActorProfiles одна структура, все агенты передали в radarDetectionGenerator возразите используют этот профиль.

  • Если ActorProfiles массив, каждый агент, переданный в объект, должен иметь уникальный профиль агента.

Чтобы сгенерировать массив структур для вашего ведущего сценария, используйте actorProfiles функция. Таблица показывает допустимые поля структуры. Если вы не задаете поле, поля установлены в свои значения по умолчанию. Если никакие агенты не передаются в объект, то ActorID поле не включено.

Поле Описание
ActorIDЗаданный сценарием идентификатор агента, заданный как положительное целое число.
ClassIDИдентификатор классификации, заданный как неотрицательное целое число. 0 резервируется для объекта неизвестного или неприсвоенного класса.
LengthДлина агента, заданного как положительный действительный скаляр. Значением по умолчанию является 4.7. Модули исчисляются в метрах.
WidthШирина агента, заданного как положительный действительный скаляр. Значением по умолчанию является 1.8. Модули исчисляются в метрах.
HeightВысота агента, заданного как положительный действительный скаляр. Значением по умолчанию является 1.4. Модули исчисляются в метрах.
OriginOffsetСмещение вращательного центра агента от его геометрического центра, заданного как [x, y, z] вектор с действительным знаком. Вращательный центр или источник, расположен в нижнем центре агента. Для транспортных средств вращательный центр является точкой на земле ниже центра задней оси. Значением по умолчанию является [0 0 0]. Модули исчисляются в метрах.
RCSPatternРадарный шаблон поперечного сечения агента, заданного как numel(RCSElevationAngles)- numel(RCSAzimuthAngles) матрица с действительным знаком. Значением по умолчанию является [10 10; 10 10]. Модули находятся в децибелах на квадратный метр.
RCSAzimuthAnglesУглы азимута, соответствующие строкам RCSPattern, заданный как вектор действительных значений в области значений [–180, 180]. Значением по умолчанию является [-180 180]. Модули в градусах.
RCSElevationAnglesУглы вертикального изменения, соответствующие строкам RCSPattern, заданный как вектор действительных значений в области значений [–90, 90]. Значением по умолчанию является [-90 90]. Модули в градусах.

Для полных определений полей структуры смотрите actor и vehicle функции.

Использование

Описание

пример

dets = sensor(actors,time) создает радарные обнаружения, dets, от измерений датчика, проведенных actors при текущей симуляции time. Объект может сгенерировать обнаружения датчика для нескольких агентов одновременно. Не включайте автомобиль, оборудованный датчиком как одного из агентов.

пример

[dets,numValidDets] = sensor(actors,time) также возвращает количество допустимых обнаружений, о которых сообщают, numValidDets.

[dets,numValidDets,isValidTime] = sensor(actors,time) также возвращает логическое значение, isValidTime, указание, что UpdateInterval время протекло.

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

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

Положения агента сценария, заданные как структура или массив структур. Каждая структура соответствует агенту. Можно сгенерировать эти структуры с помощью actorPoses функция. Можно также создать эти структуры вручную.

Поле Описание
ActorID

Заданный сценарием идентификатор агента, заданный как положительное целое число.

Position

Положение агента, заданного как [x y z] вектор с действительным знаком. Модули исчисляются в метрах.

Velocity

Скорость (v) агента в x - y - и z - направления, заданные как [v x v y v z] вектор с действительным знаком. Модули исчисляются в метрах в секунду.

Roll

Угол вращения агента, заданного как действительный скаляр. Модули в градусах.

Pitch

Передайте угол агента, заданного как действительный скаляр. Модули в градусах.

Yaw

Угол отклонения от курса агента, заданного как действительный скаляр. Модули в градусах.

AngularVelocity

Скорость вращения (ω) агента в x - y - и z - направления, заданные как [ω x ω y ω z] вектор с действительным знаком. Модули в градусах в секунду.

Для полных определений полей структуры смотрите actor и vehicle функции.

Текущее время симуляции, заданное как неотрицательный действительный скаляр. drivingScenario вызовы объектов радарный генератор обнаружения в интервалах постоянного времени. Радарный детектор генерирует новые обнаружения, с промежутками заданные UpdateInterval свойство. Значение UpdateInterval свойство должно быть целочисленным кратным интервал времени симуляции. Обновления, которые требуют от датчика между интервалами обновления, не содержат обнаружений. Модули находятся в секундах.

Пример: 10.5

Типы данных: double

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

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

Радарные обнаружения датчика, возвращенные как массив ячеек objectDetection объекты. Каждый объект содержит эти поля:

СвойствоОпределение
TimeВремя измерения
MeasurementОбъектные измерения
MeasurementNoiseКовариационная матрица шума измерения
SensorIndexУникальный идентификатор датчика
ObjectClassIDПредметная классификация
MeasurementParametersПараметры используются функциями инициализации нелинейного Кальмана, отслеживающего фильтры
ObjectAttributesДополнительная информация передала средству отслеживания

Для Декартовых координат, Measurement, MeasurementNoise, и MeasurementParameters сообщаются в системе координат, заданной DetectionCoordinates свойство radarDetectionGenerator.

Для сферических координат, Measurement и MeasurementNoise сообщаются в сферической системе координат на основе Декартовой системы координат датчика. MeasurementParameters сообщаются в Декартовых координатах датчика.

Измерение

Свойство DetectionCoordinatesИзмерение и координаты шума измерения
'Ego Cartesian'

Координатная зависимость от HasRangeRate

HasRangeRateКоординаты
tRUE[x;y;z;vx;vy;vz]
ложь[x;y;z]
'Sensor Cartesian'
'Sensor Spherical'

Координатная зависимость от HasRangeRate и HasElevation

HasRangeRateHasElevationКоординаты
tRUEtRUE[az;el;rng;rr]
tRUEложь[az;rng;rr]
ложьtRUE[az;el;rng]
ложьложь[az;rng]

MeasurementParameters

ПараметрОпределение
Frame Перечислимый тип, указывающий на систему координат раньше, сообщал об измерениях. Когда Frame установлен в 'rectangular', об обнаружениях сообщают в Декартовых координатах. Когда Frame набор 'spherical', об обнаружениях сообщают в сферических координатах.
OriginPosition3-D векторное смещение источника датчика от источника автомобиля, оборудованного датчиком. Вектор выведен из SensorLocation и Height свойства заданы в radarDetectionGenerator.
OrientationОриентация системы координат датчика видения относительно системы координат автомобиля, оборудованного датчиком. Ориентация выведена из Yaw, Pitch, и Roll свойства radarDetectionGenerator.
HasVelocityУказывает, содержат ли измерения скорость или компоненты уровня области значений.
HasElevationУказывает, содержат ли измерения компоненты вертикального изменения.

ObjectAttributes

АтрибутОпределение
TargetIndexИдентификатор агента, ActorID, это сгенерировало обнаружение. Для ложных предупреждений это значение отрицательно.
SNRОтношение сигнал-шум обнаружения в дБ.

Количество обнаружений, возвращенных как неотрицательное целое число.

  • Когда MaxNumDetectionsSource свойство установлено в 'Auto', numValidDets установлен в длину dets.

  • Когда MaxNumDetectionsSource свойство установлено в 'Property', dets массив ячеек с длиной, определенной MaxNumDetections свойство. Не больше, чем MaxNumDetections количество обнаружений возвращено. Если количество обнаружений - меньше, чем MaxNumDetections, первый numValidDets элементы dets содержите допустимые обнаружения. Остающиеся элементы dets установлены в значение по умолчанию.

Типы данных: double

Допустимое время обнаружения, возвращенное как 0 или 1. isValidTime 0 когда обновления обнаружения время от времени требуют, которые являются между интервалами обновления, заданными UpdateInterval.

Типы данных: логический

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

Чтобы использовать объектную функцию, задайте Системный объект как первый входной параметр. Например, чтобы выпустить системные ресурсы Системного объекта под названием obj, используйте этот синтаксис:

release(obj)

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

isLockedОпределите, используется ли Системный объект
stepЗапустите алгоритм Системного объекта
releaseВысвободите средства и позвольте изменения в значениях свойств Системного объекта и введите характеристики
resetСбросьте внутренние состояния Системного объекта

Примеры

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

Сгенерируйте обнаружения с помощью автомобильного радара по ходу движения, смонтированного на автомобиле, оборудованном датчиком. Примите, что существует три цели:

  • Транспортное средство 1 находится в центральном маршруте, непосредственно перед автомобилем, оборудованным датчиком, и управляющий на той же скорости.

  • Транспортное средство 2 находится в левом маршруте и управлении быстрее, чем автомобиль, оборудованный датчиком на 12 километров в час.

  • Транспортное средство 3 находится в правильном маршруте и управлении медленнее, чем автомобиль, оборудованный датчиком на 5 километров в час.

Все положения, скорости и измерения относительно автомобиля, оборудованного датчиком. Запустите симуляцию для десяти шагов.

dt = 0.1;
pos1 = [150 0 0];
pos2 = [160 10 0];
pos3 = [130 -10 0];
vel1 = [0 0 0];
vel2 = [12*1000/3600 0 0];
vel3 = [-5*1000/3600 0 0];
car1 = struct('ActorID',1,'Position',pos1,'Velocity',vel1);
car2 = struct('ActorID',2,'Position',pos2,'Velocity',vel2);
car3 = struct('ActorID',3,'Position',pos3,'Velocity',vel3);

Создайте автомобильный радарный датчик, который возмещен от автомобиля, оборудованного датчиком. По умолчанию местоположение датчика в (3.4,0) метры от центра транспортного средства и 0,2 метра над землей плоскость. Выключите расчет уровня области значений так, чтобы радарный датчик измерил положение только.

radar = radarDetectionGenerator('DetectionCoordinates','Sensor Cartesian', ...
    'MaxRange',200,'RangeResolution',10,'AzimuthResolution',10, ...
    'FieldOfView',[40 15],'UpdateInterval',dt,'HasRangeRate',false);
tracker = multiObjectTracker('FilterInitializationFcn',@initcvkf, ...
    'ConfirmationParameters',[3 4],'NumCoastingUpdates',6);

Сгенерируйте обнаружения с радаром от неавтомобилей, оборудованных датчиком. Выходные обнаружения формируют массив ячеек и могут быть переданы непосредственно в multiObjectTracker.

simTime = 0;
nsteps = 10;
for k = 1:nsteps
    dets = radar([car1 car2 car3],simTime);
    [confirmedTracks,tentativeTracks,allTracks] = updateTracks(tracker,dets,simTime);

Переместите автомобили один временной шаг и обновите мультиобъектное средство отслеживания.

    simTime = simTime + dt;
    car1.Position = car1.Position + dt*car1.Velocity;
    car2.Position = car2.Position + dt*car2.Velocity;
    car3.Position = car3.Position + dt*car3.Velocity;
end

Используйте birdsEyePlot создать вид сверху обнаружений. Постройте зону охвата датчика. Извлеките положения X и Y целей путем преобразования Measurement поля массива ячеек в массив MATLAB. Отобразите обнаружения на видимом с большого расстояния графике.

BEplot = birdsEyePlot('XLim',[0 220],'YLim',[-75 75]);
caPlotter = coverageAreaPlotter(BEplot,'DisplayName','Radar coverage area');
plotCoverageArea(caPlotter,radar.SensorLocation,radar.MaxRange, ...
    radar.Yaw,radar.FieldOfView(1))
detPlotter = detectionPlotter(BEplot,'DisplayName','Radar detections');
detPos = cellfun(@(d)d.Measurement(1:2),dets,'UniformOutput',false);
detPos = cell2mat(detPos')';
if ~isempty(detPos)
    plotDetection(detPlotter,detPos)
end

Смоделируйте эффекты поглощения газов при генерации радарных обнаружений от radarDetectionGenerator Система object™.

Создайте два автомобиля. Расположите первый автомобиль на расстоянии в 40 метров от датчика. Расположите второй автомобиль 10 метров непосредственно позади первого автомобиля.

car1 = struct('ActorID',1,'Position',[40 0 0]);
car2 = struct('ActorID',2,'Position',[50 0 0]);

Создайте радарный Системный объект генератора обнаружения, radarSensor, со значениями по умолчанию. Используйте Системный объект, чтобы сгенерировать обнаружения.

radarSensor = radarDetectionGenerator;
simTime = 0; % start of simulation
[dets,numValidDets] = radarSensor([car1 car2],simTime);

Отобразите зону охвата радарного генератора обнаружения на видимом с большого расстояния графике.

bep = birdsEyePlot('XLim',[0 60],'YLim',[-15 15]);
caPlotter = coverageAreaPlotter(bep,'DisplayName', ...
    'Radar coverage area');
plotCoverageArea(caPlotter,radarSensor.SensorLocation, ...
    radarSensor.MaxRange,radarSensor.Yaw, ...
    radarSensor.FieldOfView(1));

Извлеките (X, Y) положения целей путем преобразования (X, Y) значения Measurement поле массива ячеек в массив MATLAB. Затем отобразите обнаружения.

if numValidDets > 0
    detPlotter = detectionPlotter(bep,'DisplayName','Radar detections');
    detPos = cellfun(@(d)d.Measurement(1:2),dets,'UniformOutput',false);
    detPos = cell2mat(detPos')';
    plotDetection(detPlotter,detPos)
end

По умолчанию радарный генератор обнаружения исключает цели, которые закрываются другими объектами. Поэтому радар обнаруживает самую близкую цель, но не цель непосредственно позади него. Чтобы включать закрытую цель в обнаружения, выпустите радарный генератор обнаружения, отключите поглощение газов угла обзора и сгенерируйте обнаружения снова. Отобразите обнаружения.

release(radarSensor)
radarSensor.HasOcclusion = false;
[detsNoOcclusion,numValidDets] = radarSensor([car1 car2],simTime);
if numValidDets > 0
    detPos = cellfun(@(d)d.Measurement(1:2),detsNoOcclusion,'UniformOutput',false);
    detPos = cell2mat(detPos')';
    plotDetection(detPlotter, detPos)
end

Выпустите радарный генератор обнаружения.

release(radarSensor)

Расширенные возможности

Введенный в R2017a