# show

Visualize the planned path

Since R2019b

## Syntax

``show(planner)``
``show(planner,Name,Value)``
``axHandle = show(planner)``

## Description

example

````show(planner)` plots the Hybrid A* expansion tree and the planned path in the map.```
````show(planner,Name,Value)` specifies additional options using one or more name-value pair arguments.```
````axHandle = show(planner)` outputs the axes handle of the figure used to plot the path.```

## Examples

collapse all

Plan a collision-free path for a vehicle through a parking lot by using the Hybrid A* algorithm.

Create and Assign Map to State Validator

Load the cost values of cells in the vehicle costmap of a parking lot.

`load parkingLotCostVal.mat % costVal`

Create a `binaryOccupancyMap` with cost values.

```resolution = 3; map = binaryOccupancyMap(costVal,resolution);```

Create a state space.

`ss = stateSpaceSE2;`

Update state space bounds to be the same as map limits.

`ss.StateBounds = [map.XWorldLimits;map.YWorldLimits;[-pi pi]];`

Create a state validator object for collision checking.

`sv = validatorOccupancyMap(ss);`

Assign the map to the state validator object.

`sv.Map = map;`

Plan and Visualize Path

Initialize the `plannerHybridAStar` object with the state validator object. Specify the `MinTurningRadius` and `MotionPrimitiveLength` properties of the planner.

```planner = plannerHybridAStar(sv, ... MinTurningRadius=4, ... MotionPrimitiveLength=6);```

Define start and goal poses for the vehicle as [x, y, theta] vectors. x and y specify the position in meters, and theta specifies the orientation angle in radians.

```startPose = [4 9 pi/2]; % [meters, meters, radians] goalPose = [30 19 -pi/2];```

Plan a path from the start pose to the goal pose.

`refpath = plan(planner,startPose,goalPose,SearchMode='exhaustive'); `

Visualize the path using show function.

`show(planner)`

## Input Arguments

collapse all

Hybrid A* path planner, specified as a `plannerHybridAStar` object.

### 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.

Before R2021a, use commas to separate each name and value, and enclose `Name` in quotes.

Example: `'Positions','none'`

Axes used to plot path, specified as the comma-separated pair consisting of `'Parent'` and either an `axes` or `uiaxes` object. If you do not specify `'Parent'`, a new figure is created.

Display expansion tree option, specified as the comma-separated pair consisting of `'Tree'` and either `'on'` or `'off'`.

Example: `show(planner,'Tree','off')`

Data Types: `string`

Display planned path option, specified as the comma-separated pair consisting of `'Path'` and either `'on'` or `'off'`.

Example: `show(planner,'Path','off')`

Data Types: `string`

Display the start and goal points, specified as the comma-separated pair consisting of `'Positions'` and one of the following:

• `'start'` — Display the start point.

• `'goal'` — Display the goal point.

• `'both'` — Display the start and goal points.

• `'none'` — Do not display any points.

Example: `show(planner,'Positions','start')`

Data Types: `string`

Length of heading, specified as positive numeric scalar. No poses will be visualized when this value is set to 0.

Data Types: `single` | `double`

## Output Arguments

collapse all

Axes used to plot path, returned as either an `axes` or `uiaxes` object.

## Version History

Introduced in R2019b