Постройте график запланированного пути к транспортному средству
plot(
задает опции, используя один или несколько аргументы пары "имя-значение". Для примера, refPath
,Name,Value
)plot(path,'Vehicle','off')
строит график пути без отображения транспортного средства.
Планируйте путь автомобиля через парковку с помощью оптимального быстро исследующего алгоритма случайного дерева (RRT *). Проверьте правильность пути, а затем постройте график положения перехода вдоль пути.
Загрузите косметику парковки. Постройте косметику, чтобы увидеть парковку и раздутые области для транспортного средства, чтобы избежать.
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);
Постройте график запланированного пути и положения перехода на косметике.
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'
и a 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.