clothoidLaneBoundary

Модель контура маршрута, имеющая форму клотоиды

Описание

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

Создание

Описание

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 - ось в виде вектора с действительным знаком формы [min X X макс.]. Модули исчисляются в метрах. 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

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

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

Смотрите также

Объекты

Функции

Введенный в R2018a