exponenta event banner

отчет

Запуск сценария управления и запись состояний актера

Описание

пример

rec = record(scenario) возвращает запись, recсостояния субъектов в моделировании сценария вождения, scenario. Для записи сценария необходимо определить траекторию хотя бы одного актера.

Примеры

свернуть все

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

scenario = drivingScenario;
road(scenario,[0 0; 10 0; 53 -20],'lanes',lanespec(2));
plot(scenario,'Waypoints','on');
stationaryCar = vehicle(scenario,'ClassID',1,'Position',[25 -5.5 0],'Yaw',-22);

passingCar = vehicle(scenario,'ClassID',1);
waypoints = [1 -1.5; 16.36 -2.5; 17.35 -2.765; ...
            23.83 -2.01; 24.9 -2.4; 50.5 -16.7];
speed = 15; % m/s
smoothTrajectory(passingCar,waypoints,speed);

Figure contains an axes. The axes contains 7 objects of type patch, line.

Запишите моделирование сценария движения.

rec = record(scenario);

Figure contains an axes. The axes contains 7 objects of type patch, line.

Сравните записанные позы проезжающего автомобиля в начале и в конце моделирования.

rec(1).ActorPoses(2)
ans = struct with fields:
            ActorID: 2
           Position: [1 -1.5000 0]
           Velocity: [14.9816 0.7423 0]
               Roll: 0
              Pitch: 0
                Yaw: 2.8367
    AngularVelocity: [0 0 1.2537e-05]

rec(end).ActorPoses(2)
ans = struct with fields:
            ActorID: 2
           Position: [50.4717 -16.6823 0]
           Velocity: [12.7171 -7.9546 0]
               Roll: 0
              Pitch: 0
                Yaw: -32.0261
    AngularVelocity: [0 0 -0.0099]

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

свернуть все

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

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

свернуть все

Запись состояний актера при моделировании, возвращаемая как M-by-1 вектор структур. M - количество временных шагов в моделировании. Каждая структура соответствует временному шагу моделирования.

rec структура имеет следующие поля:

ОбластьОписаниеНапечатать
SimulationTimeВремя моделирования на каждом шаге времениВещественный скаляр
ActorPosesАктер позирует в координатах сценарияN-by-1 вектор ActorPoses структуры, где N - число действующих лиц, включая транспортные средства.

Каждый ActorPoses структура имеет эти поля.

ОбластьОписание
ActorID

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

Position

Положение актера, определяемое как действительный вектор вида [x y z]. Единицы в метрах.

Velocity

Скорость (v) актера в направлениях x-y и z, заданная как действительный вектор вида [vx vy vz]. Единицы измерения в метрах в секунду.

Roll

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

Pitch

Угол тангажа актера, определяемый как действительный скаляр. Единицы измерения в градусах.

Yaw

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

AngularVelocity

Угловая скорость (λ) актера в направлениях x -, y - и z, заданная как действительный вектор вида [startx starty ü z]. Единицы измерения в градусах в секунду.

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

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

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