radarDetectionGenerator

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

Описание

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

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

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

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

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

Создание

Синтаксис

sensor = radarDetectionGenerator
sensor = radarDetectionGenerator(Name,Value)

Описание

пример

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)-by-numel(RCSAzimuthAngles) матрица с действительным знаком. Значением по умолчанию является [10 10; 10 10]. Модули находятся в децибелах на квадратный метр.
RCSAzimuthAnglesУглы азимута, соответствующие строкам RCSPattern, заданного как вектор действительных значений в области значений [–180, 180]. Значением по умолчанию является [-180 180]. Модули в градусах.
RCSElevationAnglesУглы повышения, соответствующие строкам RCSPattern, заданного как вектор действительных значений в области значений [–90, 90]. Значением по умолчанию является [-90 90]. Модули в градусах.

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

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

Синтаксис

dets = sensor(actors,time)
[dets,numValidDets] = sensor(actors,time)
[dets,numValidDets,isValidTime] = sensor(actors,time)

Описание

пример

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

пример

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

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

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

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

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

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

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

Position

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

Velocity

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

Speed

Скорость агента, заданного как действительный скаляр. Когда Speed задан, скорость агента выравнивается с x - ось агента в системе координат автомобиля, оборудованного датчиком. Можно задать или Speed или Velocity, но не обоих. Если и Velocity и Speed не заданы, Velocity по умолчанию [0 0 0] используется. Модули исчисляются в метрах в секунду.

Roll

Угол вращения агента, заданного как действительный скаляр. Если Roll не задан, значением по умолчанию является 0. Модули в градусах.

Pitch

Передайте угол агента, заданного как действительный скаляр. Если Pitch не задан, значением по умолчанию является 0.Units, в градусах.

Yaw

Угол отклонения от курса агента, заданного как действительный скаляр. Если Yaw не задан, значением по умолчанию является 0.Units, в градусах.

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

Текущее время симуляции, заданное как неотрицательный действительный скаляр. Вызовы объектов 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