exponenta event banner

clothoidLaneBoundary

Модель границы полосы движения в форме клотоида

Описание

A clothoidLaneBoundary объект содержит информацию о модели границы полосы движения в форме клотоида. Клотоид - это тип кривой, скорость изменения кривизны которой изменяется линейно с расстоянием.

Создание

Описание

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

пример

bdry = clothoidLaneBoundary(Name,Value) задает свойства, используя одну или несколько пар имя-значение. Например, clothoidLaneBoundary('BoundaryType','Solid') создает модель границы полосы движения в виде клотоида с сплошными границами полосы движения. Заключите каждое имя свойства в кавычки.

Свойства

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

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

Пример: -1.0

Типы данных: single | double

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

Пример: -0.01

Типы данных: single | double

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

Пример: 25

Типы данных: single | double

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

Пример: 10

Типы данных: single | double

Расстояние границы полосы движения от положения эго-транспортного средства, определяемое как действительный скаляр. Смещение границы полосы движения влево от эго-транспортного средства является положительным. Смещение справа от эго-транспортного средства является отрицательным. Единицы в метрах.

Пример: -1.2

Типы данных: single | double

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

'Unmarked' 'Solid''Dashed''DoubleSolid''DoubleDashed''SolidDashed''DashedSolid'

Без разметки полосы движения

Сплошная линия

Пунктирная линия

Две сплошные линии

Две пунктирные линии

Сплошная линия слева, пунктирная линия справа

Пунктирная линия слева, сплошная линия справа

Видимость разметки полосы движения, заданной как действительный скаляр в диапазоне [0, 1]. Значение 0 соответствует невидимой маркировке. Значение 1 соответствует полностью видимой маркировке. Для двухполосной разметки используется одинаковая прочность для обеих линий.

Пример: 0.9

Типы данных: single | double

Протяженность разметки границы полосы вдоль оси X, определяемая как действительный вектор вида [Xmin Xmax]. Единицы в метрах. Ось X проходит вертикально и положительна в прямом направлении эго-транспортного средства.

Пример: [0 100]

Типы данных: single | double

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

Пример: 0.15

Типы данных: single | double

Функции объекта

computeBoundaryModelРасчет граничных точек полосы движения на основе модели границы полосы движения клотоида

Примеры

свернуть все

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

Создайте левую границу.

lb = clothoidLaneBoundary('BoundaryType','Solid', ...
'Strength',1,'Width',0.2,'CurveLength',40, ...
'Curvature',-0.8,'LateralOffset',2,'HeadingAngle',10);

Создайте правую границу с почти идентичными свойствами.

rb = lb;
rb.LateralOffset = -2;

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

bep = birdsEyePlot('XLimits',[0 50],'YLimits',[-10 10]);
lbPlotter = laneBoundaryPlotter(bep,'DisplayName','Left-lane boundary','Color','r');
rbPlotter = laneBoundaryPlotter(bep,'DisplayName','Right-lane boundary','Color','g');
plotLaneBoundary(lbPlotter,lb)
plotLaneBoundary(rbPlotter,rb);
grid
hold on

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

Постройте график координат выбранных точек вдоль границ.

x = 0:5:50;
yl = computeBoundaryModel(lb,x);
yr = computeBoundaryModel(rb,x);
plot(x,yl,'ro')
plot(x,yr,'go')
hold off

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

См. также

Объекты

Функции

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