Постройте запланированный путь к транспортному средству
plot(
задает опции с помощью одного или нескольких аргументов пары "имя-значение". Например, refPath
,Name,Value
)plot(path,'Vehicle','off')
строит путь, не отображая транспортное средство.
Запланируйте путь к транспортному средству через парковку при помощи оптимального быстро исследующего случайного дерева (RRT*) алгоритм. Проверяйте, что путь допустим, и затем постройте положения перехода вдоль пути.
Загрузите costmap парковки. Постройте costmap, чтобы видеть парковку и раздутые области для транспортного средства, чтобы избежать.
data = load('parkingLotCostmap.mat');
costmap = data.parkingLotCostmap;
plot(costmap)
Задайте запускаются и целевые положения для транспортного средства как [x, y, Θ] векторы. Мировые единицы измерения для (x, y) местоположения исчисляются в метрах. Мировые единицы измерения для Θ углов ориентации в градусах.
startPose = [4, 4, 90]; % [meters, meters, degrees]
goalPose = [30, 13, 0];
Используйте pathPlannerRRT
возразите, чтобы запланировать путь от положения запуска до целевого положения.
planner = pathPlannerRRT(costmap); refPath = plan(planner,startPose,goalPose);
Проверяйте, что путь допустим.
isPathValid = checkPathValidity(refPath,costmap)
isPathValid = logical
1
Интерполируйте положения перехода вдоль пути.
transitionPoses = interpolate(refPath);
Постройте запланированный путь и положения перехода на costmap.
hold on plot(refPath,'DisplayName','Planned Path') scatter(transitionPoses(:,1),transitionPoses(:,2),[],'filled', ... 'DisplayName','Transition Poses') hold off
refPath
— Запланированный путь к транспортному средствуdriving.Path
объектЗапланированный путь к транспортному средству в виде driving.Path
объект.
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
'Inflation','off'
Parent
Объект осейaxes
объектОбъект осей, в котором можно построить график в виде разделенной запятой пары, состоящей из 'Parent'
и axes
объект. Если вы не задаете Parent
, создается новая фигура.
Vehicle
— Отобразите транспортное средство'on'
(значение по умолчанию) | 'off'
Отобразите транспортное средство в виде разделенной запятой пары, состоящей из 'Vehicle'
и 'on'
или 'off'
. Установка этого аргумента к 'on'
отображает транспортное средство вдоль пути.
VehicleDimensions
— Размерности транспортного средстваvehicleDimensions
объектРазмерности транспортного средства в виде разделенной запятой пары, состоящей из 'VehicleDimensions'
и vehicleDimensions
объект.
DisplayName
— Имя записи в легенде''
(значение по умолчанию) | вектор символов | строковый скалярИмя записи в легенде в виде разделенной запятой пары, состоящей из 'DisplayName'
и вектор символов или строковый скаляр.
Color
— Цвет путиЦвет пути в виде разделенной запятой пары, состоящей из 'Color'
и название цвета, короткое название цвета или триплет RGB.
Для пользовательского цвета укажите триплет RGB. Триплет RGB представляет собой трехэлементный вектор-строку, элементы которого определяют интенсивность красных, зеленых и синих компонентов цвета. Интенсивность должна быть в области значений [0,1]
; например, [0.4 0.6 0.7]
Кроме того, вы можете задать имена некоторых простых цветов. Эта таблица приводит опции именованного цвета и эквивалентные значения триплета RGB.
Название цвета | Цветное краткое название | Триплет RGB | Внешний вид |
---|---|---|---|
'red' | 'r' | [1 0 0]
|
|
'green' | 'g' | [0 1 0]
|
|
'blue' | 'b' | [0 0 1]
|
|
'cyan'
| 'c'
| [0 1 1]
|
|
'magenta' | 'm' | [1 0 1]
|
|
'yellow' | 'y' | [1 1 0]
|
|
'black' | 'k' | [0 0 0]
|
|
'white' | 'w' | [1 1 1]
|
|
Пример: 'Color',[1 0 1]
Пример: 'Color','m'
Пример: 'Color','magenta'
Tag
— Пометьте, чтобы идентифицировать путь''
(значение по умолчанию) | вектор символов | строковый скалярПометьте, чтобы идентифицировать путь в виде разделенной запятой пары, состоящей из 'Tag'
и вектор символов или строковый скаляр.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.