computeBoundaryModel

Получение y -координатов контуров маршрута, заданных x -координатов

Описание

пример

yWorld = computeBoundaryModel(boundaries,xWorld) вычисляет y координаты мира осей моделей контуров маршрута при заданных x координатах мира осей.

  • Если boundaries является одной моделью контура маршрута, затем yWorld - вектор координат, соответствующих координатам в xWorld.

  • Если boundaries является массивом моделей контура маршрута, затем yWorld является матрицей. Каждая строка или столбец yWorld соответствует модели контура маршрута, вычисленной в x -cordinates в векторе-столбце xWorld.

Примеры

свернуть все

Создайте parabolicLaneBoundary объект для моделирования контура маршрута. Вычислите положения маршрута вдоль набора расположений по оси X.

Задайте параболические параметры и создайте модель контура маршрута.

parabolicParams = [-0.005 0.15 0.55];
lb = parabolicLaneBoundary(parabolicParams);

Вычислите местоположения осей Y для заданных местоположений осей X в области значений датчика камеры, установленного на передней части транспортного средства.

xWorld = 3:30; % in meters
yWorld = computeBoundaryModel(lb,xWorld);

Постройте график граничных точек маршрута. Чтобы соответствовать системе координат, разверните порядок осей и измените направление X.

plot(yWorld,xWorld)
axis equal
set(gca,'XDir','reverse')

Figure contains an axes. The axes contains an object of type line.

Создайте канал шириной 3 метра.

lb = parabolicLaneBoundary([-0.001,0.01,1.5]);
rb = parabolicLaneBoundary([-0.001,0.01,-1.5]);

Вычислите модель контура маршрута вручную от 0 до 30 метров вдоль оси X.

xWorld = (0:30)';
yLeft = computeBoundaryModel(lb,xWorld);
yRight = computeBoundaryModel(rb,xWorld);

Создайте график птичьего глаза и краевой график маршрута. Отображение информации о маршруте на графике птичьего глаза.

bep = birdsEyePlot('XLimits',[0 30],'YLimits',[-5 5]);
lanePlotter = laneBoundaryPlotter(bep,'DisplayName','Lane boundaries');
plotLaneBoundary(lanePlotter,{[xWorld,yLeft],[xWorld,yRight]});

Figure contains an axes. The axes contains an object of type line. This object represents Lane boundaries.

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

yCenter = (yLeft + yRight)/2;
egoPathPlotter = pathPlotter(bep,'DisplayName','Ego vehicle path');
plotPath(egoPathPlotter,{[xWorld,yCenter]});

Figure contains an axes. The axes contains 2 objects of type line. These objects represent Lane boundaries, Ego vehicle path.

Найдите контуры эго-маршрута кандидата из массива контуров маршрута.

Создайте массив кубических контуров маршрута.

lbs = [cubicLaneBoundary([-0.0001, 0.0, 0.003,  1.6]), ...
       cubicLaneBoundary([-0.0001, 0.0, 0.003,  4.6]), ...
       cubicLaneBoundary([-0.0001, 0.0, 0.003, -1.6]), ...
       cubicLaneBoundary([-0.0001, 0.0, 0.003, -4.6])];

Для каждого контура маршрута вычислите положение оси Y, при котором координата X равна 0.

xWorld = 0; % meters
yWorld = computeBoundaryModel(lbs,0);

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

leftEgoBoundaryIndex = find(yWorld == min(yWorld(yWorld>0)));            
rightEgoBoundaryIndex = find(yWorld == max(yWorld(yWorld<=0)));
leftEgoBoundary = lbs(leftEgoBoundaryIndex);
rightEgoBoundary = lbs(rightEgoBoundaryIndex);

Постройте графики контуров с помощью графика птичьего глаза и граничного плоттера маршрута.

bep = birdsEyePlot('XLimits',[0 30],'YLimits',[-5 5]);
lbPlotter = laneBoundaryPlotter(bep,'DisplayName','Left-lane boundary','Color','r');
rbPlotter = laneBoundaryPlotter(bep,'DisplayName','Right-lane boundary','Color','g');
plotLaneBoundary(lbPlotter,leftEgoBoundary)
plotLaneBoundary(rbPlotter,rightEgoBoundary)

Figure contains an axes. The axes contains 2 objects of type line. These objects represent Left-lane boundary, Right-lane boundary.

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

свернуть все

Модели границ маршрута, содержащие параметры, используемые для вычисления координат y-оси, заданные как объект контура маршрута или массив объектов контура маршрута. Допустимые объекты parabolicLaneBoundary и cubicLaneBoundary.

x - местоположения контуров в мировых координатах, заданные как действительный скалярный или вещественный вектор.

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

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ MATLAB ®

.

См. также

Объекты

Функции

Введенный в R2017a