exponenta event banner

actorProfiles

Физические и радиолокационные характеристики субъектов в сценарии вождения

Описание

пример

profiles = actorProfiles(scenario) возвращает физические и радиолокационные характеристики, profiles, для всех субъектов в сценарии вождения, scenario. В число действующих лиц входят Actor объекты, Vehicle объекты и Barrier сегментов, которые можно создать с помощью actor, vehicle и barrier соответственно.

Профили акторов можно использовать в качестве входных данных для датчиков радара, зрения и лидара, например drivingRadarDataGenerator, visionDetectionGenerator и lidarPointCloudGenerator объекты.

Примеры

свернуть все

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

Создайте управляющий объект сценария.

scenario = drivingScenario('SampleTime',0.1','StopTime',60);

Создайте криволинейную дорогу, используя точки центра дороги, следующие за дугой окружности с 800-метровым радиусом. Дуга начинается с 0 °, заканчивается с 90 ° и отбирается с шагом 5 °.

angs = [0:5:90]';
R = 800;
roadcenters = R*[cosd(angs) sind(angs) zeros(size(angs))];
roadwidth = 10;
road(scenario,roadcenters,roadwidth);

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

roadcenters = [700 0 0; 100 0 0];
road(scenario,roadcenters)
ans = 
  Road with properties:

           Name: ""
         RoadID: 2
    RoadCenters: [2x3 double]
      RoadWidth: 6
      BankAngle: [2x1 double]

roadcenters = [400 400 0; 0 0 0];
road(scenario,roadcenters)
ans = 
  Road with properties:

           Name: ""
         RoadID: 3
    RoadCenters: [2x3 double]
      RoadWidth: 6
      BankAngle: [2x1 double]

Достань границы дороги.

rbdry = roadBoundaries(scenario);

Добавьте в сценарий автомобиль и велосипед. Расположите автомобиль в начале первой прямой дороги.

car = vehicle(scenario,'ClassID',1,'Position',[700 0 0], ...
    'Length',3,'Width',2,'Height',1.6);

Расположите велосипед дальше по дороге.

bicycle = actor(scenario,'ClassID',3,'Position',[706 376 0]', ...
    'Length',2,'Width',0.45,'Height',1.5);

Постройте график сценария.

plot(scenario,'Centerline','on','RoadCenters','on');
title('Scenario');

Figure contains an axes. The axes with title Scenario contains 1219 objects of type patch, line.

Отображение поз и профилей актера.

poses = actorPoses(scenario)
poses=2×1 struct array with fields:
    ActorID
    Position
    Velocity
    Roll
    Pitch
    Yaw
    AngularVelocity

profiles = actorProfiles(scenario)
profiles=2×1 struct array with fields:
    ActorID
    ClassID
    Length
    Width
    Height
    OriginOffset
    MeshVertices
    MeshFaces
    RCSPattern
    RCSAzimuthAngles
    RCSElevationAngles

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

свернуть все

Сценарий управления, указанный как drivingScenario объект.

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

свернуть все

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

Эти поля имеются в структурах профиля актера.

ОбластьОписание
ActorIDОпределяемый сценарием идентификатор субъекта, указанный как положительное целое число.
ClassIDИдентификатор классификации, указанный как неотрицательное целое число. 0 представляет объект неизвестного или неназначенного класса.
LengthДлина актера, заданная как положительный действительный скаляр. Единицы в метрах.
WidthШирина актера, заданная как положительный действительный скаляр. Единицы в метрах.
HeightВысота актера, заданная как положительный действительный скаляр. Единицы в метрах.
OriginOffsetСмещение центра вращения актера от его геометрического центра, заданного как действительный вектор вида [x, y, z]. Центр вращения, или начало координат, расположен в нижнем центре актера. Для транспортных средств центром вращения является точка на земле под центром задней оси. Единицы в метрах.
MeshVerticesСетка вершин актера, заданная как n-на-3 вещественно-значная матрица вершин. Каждая строка матрицы определяет точку в 3-D пространстве.
MeshFacesСетка граней актера, заданная как матрица m-на-3 целых чисел. Каждая строка MeshFaces представляет треугольник, определяемый идентификаторами вершин, которые являются номерами строк вершин.
RCSPatternСхема сечения РЛС (RCS) действующего лица, указанная как numel(RCSElevationAngles)около-numel(RCSAzimuthAngles) вещественно-значная матрица. Единицы измерения в децибелах на квадратный метр.
RCSAzimuthAnglesАзимутальные углы, соответствующие рядам RCSPattern, задается как вектор значений в диапазоне [-180, 180]. Единицы измерения в градусах.
RCSElevationAnglesУглы места, соответствующие рядам RCSPattern, задается как вектор значений в диапазоне [-90, 90]. Единицы измерения в градусах.

Полные определения этих полей структуры см. в разделе actor, vehicle и barrier функции.

Представлен в R2017a