# plannerLineSpec.goalTree

Specifications for plotting search tree from goal to start

Since R2023b

## Syntax

`````` spec = plannerLineSpec.goalTree``````
`````` spec = plannerLineSpec.goalTree(Name=Value)``````
``[spec,structData] = plannerLineSpec.goalTree(___)``

## Description

example

``` ``` spec = plannerLineSpec.goalTree``` specifies default color, line, and marker properties for plotting the search tree from goal to start.```

example

``` ``` spec = plannerLineSpec.goalTree(Name=Value)``` specifies new values for the color, line, and marker properties by using one or more name-value arguments.```
``` `[spec,structData] = plannerLineSpec.goalTree(___)` returns the properties and their values as a structure using any combination of inputs from the previous syntaxes.```

## Examples

collapse all

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])```

## Input Arguments

collapse all

### 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.goalTree(Color="Red")`

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.

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.

Line width, specified as a positive numeric scalar.

Marker symbol, specified as one of the values listed in this table.

MarkerDescriptionResulting 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 markersNot applicable

Marker size, specified as a positive numeric 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.

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.

Label to include in the legend, specified as a character vector or string scalar.

## Output Arguments

collapse all

Color, line, and marker specifications for plotting the search tree from goal to start, returned as a cell array of size 1-by-16.

Data Types: `cell`

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