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