# Pure Pursuit

Linear and angular velocity control commands

**Library:**Robotics System Toolbox / Mobile Robot Algorithms

Navigation Toolbox / Control Algorithms

## Description

The Pure Pursuit block computes linear and angular velocity commands for
following a path using a set of waypoints and the current pose of a differential drive
vehicle. The block takes updated poses to update velocity commands for the vehicle to
follow a path along a desired set of waypoints. Use the **Max angular
velocity** and **Desired linear velocity** parameters to
update the velocities based on the performance of the vehicle.

The **Lookahead distance** parameter computes a look-ahead point on the path,
which is an instantaneous local goal for the vehicle. The angular velocity command is
computed based on this point. Changing **Lookahead distance** has a
significant impact on the performance of the algorithm. A higher look-ahead distance
results in a smoother trajectory for the vehicle, but can cause the vehicle to cut
corners along the path. Too low of a look-ahead distance can result in oscillations in
tracking the path, causing unstable behavior. For more information on the pure pursuit
algorithm, see Pure Pursuit Controller.

## Ports

### Input

### Output

## Parameters

## Model Examples

## Extended Capabilities

## Version History

**Introduced in R2019b**

## See Also

### Blocks

### Classes

`binaryOccupancyMap`

(Robotics System Toolbox) |`occupancyMap`

|`binaryOccupancyMap`

|`occupancyMap`

|`controllerVFH`