plannerLineSpec.tree
Syntax
Description
specifies
default color, line, and marker properties for plotting the forward search tree.spec
= plannerLineSpec.tree
specifies new values for the color, line, and marker properties by using one or more
name-value arguments.spec
= plannerLineSpec.tree(Name=Value
)
[
returns the properties and their values as a structure using any combination of inputs
from the previous syntaxes.spec
,structData
] = plannerLineSpec.tree(___)
Examples
Visualize Bi-RRT Path Planner Output Using Predefined Plot Specifications
Load Occupancy Map
Load a probability occupancy grid into the MATLAB® workspace.
load("exampleMaps.mat","simpleMap")
Create an occupancy map from the input occupancy grid.
map = occupancyMap(simpleMap);
Define the lower and upper limits of the state space variables x
, y
, and theta
from the occupancy map.
x = map.XWorldLimits; y = map.YWorldLimits; theta = [-pi pi];
Specify the start state and the goal state for path planning.
start = [2 5 0]; goal = [22 22 0];
Display the occupancy map.
figure
show(map)
hold on
Plot Start and Goal States
Use the plannerLineSpec.start
and plannerLineSpec.goal
functions to plot the start and goal states, respectively.
plot(start(1),start(2),plannerLineSpec.start{:}) plot(goal(1),goal(2),plannerLineSpec.goal{:})
Configure Bi-RRT Path Planner and Find Path Between Two States
Create a state space SE(2) object using the specified state space variables.
stateSpace = stateSpaceSE2([x; y; theta]);
Check the validity of the states in the input state space by using a state validator.
stateValidator = validatorOccupancyMap(stateSpace,Map=map);
Configure the Bi-RRT path planner.
planner = plannerBiRRT(stateSpace,stateValidator);
Compute the path between the start point and the goal point using Bi-RRT path planner.
[path,info] = plan(planner,start,goal)
path = navPath with properties: StateSpace: [1x1 stateSpaceSE2] States: [306x3 double] NumStates: 306 MaxNumStates: Inf
info = struct with fields:
IsPathFound: 1
ExitFlag: 1
NumIterations: 294
StartTreeData: [569x3 double]
GoalTreeData: [710x3 double]
StartTreeNumNodes: 189
GoalTreeNumNodes: 236
Plot Search Trees
Use the plannerLineSpec.tree
function to plot the forward search tree.
startTree = plannerLineSpec.tree; plot(info.StartTreeData(:,1),info.StartTreeData(:,2),startTree{:})
Use the plannerLineSpec.goalTree
function to plot the search tree from the goal state to the start state. Set the line color for plotting the search tree from goal to start to cyan
.
goalTree = plannerLineSpec.goalTree(color="cyan");
plot(info.GoalTreeData(:,1),info.GoalTreeData(:,2),goalTree{:})
legend
Plot Computed Path
Use the plannerLineSpec.path
function to plot the derived path.
plot(path.States(:,1),path.States(:,2),plannerLineSpec.path{:}) legend(Position=[0.8 0.11 0.2 0.2])
Visualize RRT Path Planner Output Using Custom Plot Specifications
Load Occupancy Map
Load a probability occupancy grid into the MATLAB® workspace.
load("exampleMaps.mat","simpleMap")
Create an occupancy map from the input occupancy grid.
map = occupancyMap(simpleMap);
Define the lower and upper limits of the state space variables x
, y
, and theta
from the occupancy map.
x = map.XWorldLimits; y = map.YWorldLimits; theta = [-pi pi];
Display the occupancy map.
figure
show(map)
hold on
Specify the start state and the goal state for path planning.
start = [2 5 0]; goal = [22 22 0];
Plot Start and Goal States
Use the plannerLineSpec.start
and plannerLineSpec.goal
functions to plot the start and goal states, respectively.
plot(start(1),start(2),plannerLineSpec.start{:})
Set the color for plotting the goal state to red
and plot the goal state.
goalState = plannerLineSpec.goal(MarkerEdgeColor="red",MarkerFaceColor="red"); plot(goal(1),goal(2),goalState{:})
Configure RRT Path Planner
Create a state space SE(2) object using the specified state space variables.
stateSpace = stateSpaceSE2([x; y; theta]);
Check the validity of the states in the input state space by using a state validator.
stateValidator = validatorOccupancyMap(stateSpace,Map=map);
Configure the RRT path planner.
planner = plannerRRT(stateSpace,stateValidator);
Find Path Between Two States
Compute the path between the start point and the goal point using the RRT path planner.
[path,info] = plan(planner,start,goal)
path = navPath with properties: StateSpace: [1x1 stateSpaceSE2] States: [320x3 double] NumStates: 320 MaxNumStates: Inf
info = struct with fields:
IsPathFound: 1
ExitFlag: 1
NumNodes: 1192
NumIterations: 1331
TreeData: [3578x3 double]
Plot Search Trees
Use the plannerLineSpec.tree
function to plot the forward search tree. Set the color for plotting the search tree to green
.
In addition, set the legend label to "Forward search tree"
.
startTree = plannerLineSpec.tree(Color="green",DisplayName="Forward search tree"); plot(info.TreeData(:,1),info.TreeData(:,2),startTree{:})
Plot Computed Path
Use the plannerLineSpec.path
function to plot the derived path.
plot(path.States(:,1),path.States(:,2),plannerLineSpec.path{:}) legend(Position=[0.6 0.11 0.2 0.2])
Input Arguments
Name-Value Arguments
Specify optional pairs of arguments as
Name1=Value1,...,NameN=ValueN
, where Name
is
the argument name and Value
is the corresponding value.
Name-value arguments must appear after other arguments, but the order of the
pairs does not matter.
Example:
plannerLineSpec.tree(Color="Red")
Color
— Line color
"#FFAB66"
(default) | RGB triplet | character vector | string scalar
Line color, specified as one of these values:
RGB triplet — Specify the intensities of the red, green, and blue components of the color as a three-element vector in the order
[R G B]
. Each intensity must be in the range [0, 1]. For example, you can specify a shade of pink as[1 0.5 0.8]
.Character vector or string scalar — Specify the hexadecimal color code, color name, or short name of the color.
For more information on the types of color values and how to specify them, see Specify Plot Colors.
LineStyle
— Line style
"-"
(default) |
"--"
|
":"
|
"-."
|
"none"
Line style, specified as one of these values:
"-"
— For a solid line. This is the default."--"
— For a dashed line.":"
— For a dotted line."-."
— For a dash-dotted line."none"
— For no line.
LineWidth
— Line width
1
(default) | positive numeric scalar
Line width, specified as a positive numeric scalar.
Marker
— Marker symbol
"."
(default) |
"o"
|
"+"
|
"*"
|
"x"
| ...
Marker symbol, specified as one of the values listed in this table.
Marker | Description | Resulting Marker |
---|---|---|
"o"
| Circle |
|
"+"
| Plus sign |
|
"*"
| Asterisk |
|
"."
| Point |
|
"x"
| Cross |
|
"_"
| Horizontal line |
|
"|"
| Vertical line |
|
"square"
| Square |
|
"diamond"
| Diamond |
|
"^"
| Upward-pointing triangle |
|
"v"
| Downward-pointing triangle |
|
">"
| Right-pointing triangle |
|
"<"
| Left-pointing triangle |
|
"pentagram"
| Pentagram |
|
"hexagram"
| Hexagram |
|
"none"
| No markers | Not applicable |
MarkerSize
— Marker size
2
(default) | positive numeric scalar
Marker size, specified as a positive numeric scalar.
MarkerEdgeColor
— Marker outline color
"#FFAB66"
(default) | RGB triplet | character vector | string scalar
Marker outline color, specified as one of these values:
RGB triplet — Specify the intensities of the red, green, and blue components of the color as a three-element vector in the order
[R G B]
. Each intensity must be in the range [0, 1]. For example, you can specify a shade of pink as[1 0.5 0.8]
.Character vector or string scalar — Specify the hexadecimal color code, color name, or short name of the color.
For more information on the types of color values and how to specify them, see Specify Plot Colors.
MarkerFaceColor
— Marker fill color
"#FFAB66"
(default) | RGB triplet | character vector | string scalar
Marker fill color, specified as one of these values:
RGB triplet — Specify the intensities of the red, green, and blue components of the color as a three-element vector in the order
[R G B]
. Each intensity must be in the range [0, 1]. For example, you can specify a shade of pink as[1 0.5 0.8]
.Character vector or string scalar — Specify the hexadecimal color code, color name, or short name of the color.
For more information on the types of color values and how to specify them, see Specify Plot Colors.
DisplayName
— Label to include in legend
"Tree"
(default) | character vector | string scalar
Label to include in the legend, specified as a character vector or string scalar.
Output Arguments
spec
— Color, line, and marker specifications
cell array
Color, line, and marker specifications for plotting the forward search tree, returned as a cell array of size 1-by-16.
Data Types: cell
structData
— Specifications for the plot
structure
Specifications for the plot, returned as a structure with fields
Color
, LineStyle
,
LineWidth
, Marker
,
MarkerSize
, MarkerEdgecolor
,
MarkerFaceColor
, and DisplayName
. Each
field contains the value specified to the corresponding name-value
argument.
Data Types: struct
Version History
Introduced in R2023b
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)