driving.scenario.roadBoundariesToEgo

Преобразуйте дорожные контуры в координаты автомобиля, оборудованного датчиком

Описание

egoRoadBoundaries = driving.scenario.roadBoundariesToEgo(scenarioRoadBoundaries,ego) преобразует дорожные контуры от мировых координат ведущего сценария к системе координат автомобиля, оборудованного датчиком, ego.

пример

egoRoadBoundaries = driving.scenario.roadBoundariesToEgo(scenarioRoadBoundaries,egoPose) преобразует дорожные контуры от мировых координат до координат транспортного средства с помощью положения автомобиля, оборудованного датчиком, egoPose.

Примеры

свернуть все

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

Создайте пустой ведущий сценарий.

scenario = drivingScenario;

Добавьте дорогу фигуры 8 к сценарию. Отобразите сценарий.

roadCenters = [0  0  1
             20 -20  1
             20  20  1
            -20 -20  1
            -20  20  1
              0   0  1];

roadWidth = 3;
bankAngle = [0 15 15 -15 -15 0];
road(scenario,roadCenters,roadWidth,bankAngle);
plot(scenario)

Добавьте автомобиль, оборудованный датчиком в сценарий. Расположите транспортное средство в мировых координатах (20, –20) и ориентируйте его под –15 углами отклонения от курса степени.

ego = actor(scenario,'Position',[20 -20 0],'Yaw',-15);

Получите дорожные контуры в координатах автомобиля, оборудованного датчиком при помощи roadBoundaries функция. Задайте автомобиль, оборудованный датчиком как входной параметр.

rbEgo1 = roadBoundaries(ego);

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

bep = birdsEyePlot;
lbp = laneBoundaryPlotter(bep,'DisplayName','Road');
plotLaneBoundary(lbp,rbEgo1)

Получите дорожные контуры в мировых координатах при помощи roadBoundaries функция. Задайте сценарий как входной параметр.

rbScenario = roadBoundaries(scenario);

Получите дорожные контуры в координатах автомобиля, оборудованного датчиком при помощи driving.scenario.roadBoundariesToEgo функция.

rbEgo2 = driving.scenario.roadBoundariesToEgo(rbScenario,ego);

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

bep = birdsEyePlot;
lbp = laneBoundaryPlotter(bep,'DisplayName','Road boundaries');
plotLaneBoundary(lbp,{rbEgo2})

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

свернуть все

Дорожные контуры сценария в мировых координатах в виде 1 N массивом ячеек. N является количеством дорожных контуров в рамках сценария. Каждая ячейка соответствует дороге и содержит (x, y, z) координаты дорожных контуров в P с действительным знаком-by-3 матрица. P является количеством контуров и варьируется от ячейки до ячейки. Модули исчисляются в метрах.

Автомобиль, оборудованный датчиком в виде Actor или Vehicle объект. Чтобы создать эти объекты, используйте actor и vehicle функции, соответственно.

Агент эго позирует в мировых координатах ведущего сценария в виде структуры.

Структура положения агента эго должна содержать, по крайней мере, эти поля.

Поле Описание
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 функции.

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

свернуть все

Дорожные контуры в координатах автомобиля, оборудованного датчиком, возвращенных как Q с действительным знаком-by-3 матрица. Q является количеством дорожных координат граничной точки формы (x, y, z).

Все дорожные контуры содержатся в той же матрице со строкой NaN значения, разделяющие точки в различных дорожных контурах. Например, если вход имеет три дорожных контура длины P 1, P 2, и P 3, то Q = P 1 + P 2 + P 3 + 2. Модули исчисляются в метрах.

Введенный в R2017a