Main Content

Motion Planning

Path metrics, RRT path planners, path following

Use motion planning to plan a path through an environment. You can use common sampling-based planners like RRT, RRT*, and Hybrid A*, or specify your own customizable path-planning interfaces. Use path metrics and state validation to ensure your path is valid and has proper obstacle clearance or smoothness. Follow your path and avoid obstacles using pure pursuit and vector field histogram algorithms.


expand all

navPathPlanned path
navPathControlPath representing control-based kinematic trajectory
dubinsConnectionDubins path connection type
dubinsPathSegmentDubins path segment connecting two poses
reedsSheppConnectionReeds-Shepp path connection type
reedsSheppPathSegmentReeds-Shepp path segment connecting two poses
pathmetricsInformation for path metrics
clearanceMinimum clearance of path
isPathValidDetermine if planned path is obstacle free
smoothnessSmoothness of path
showVisualize path metrics in map environment
stateSpaceSE2SE(2) state space
stateSpaceSE3SE(3) state space
stateSpaceDubinsState space for Dubins vehicles
stateSpaceReedsSheppState space for Reeds-Shepp vehicles
validatorOccupancyMapState validator based on 2-D grid map
validatorOccupancyMap3DState validator based on 3-D grid map
validatorVehicleCostmapState validator based on 2-D costmap
isStateValidCheck if state is valid
isMotionValidCheck if path between states is valid
nav.StatePropagatorState propagator for control-based planning
mobileRobotPropagatorState propagator for wheeled robotic systems
distanceEstimate cost of propagating to target state
propagatePropagate system without validation
propagateWhileValidPropagate system and return valid motion
sampleControlGenerate control command and duration
setupSet up the mobile robot state propagator
navGraphCreate navGraph object
findlinkFind IDs of links
findstateFind IDs of states
index2stateFind state vectors of state indices
state2indexFind indices for queried state vectors
successorsFind successive state indices and costs
plannerRRTCreate an RRT planner for geometric planning
plannerRRTStarCreate an optimal RRT path planner (RRT*)
plannerBiRRTCreate bidirectional RRT planner for geometric planning
plannerControlRRTControl-based RRT planner
plannerAStarGraph-based A* path planner
plannerAStarGridA* path planner for grid map
plannerHybridAStarHybrid A* path planner
plannerPRMCreate probabilistic roadmap path planner
plannerBenchmarkBenchmark path planners using generated metrics
optimizePathOptionsCreate optimization options for optimizePath function
optimizePathOptimize path while maintaining safe distance from obstacle
referencePathFrenetSmooth reference path fit to waypoints
trajectoryGeneratorFrenetFind optimal trajectory along reference path
trajectoryOptimalFrenetFind optimal trajectory along reference path
createPlanningTemplateCreate sample implementation for path planning interface
nav.StateSpaceCreate state space for path planning
nav.StateValidatorCreate state validator for path planning
controllerVFHAvoid obstacles using vector field histogram
controllerPurePursuitCreate controller to follow set of waypoints
controllerTEBAvoid unseen obstacles with time-optimal trajectories
headingFromXYCompute heading angle from XY-points of path
velocityCommandRetrieve velocity command from time series of velocity commands
dynamicCapsuleListDynamic capsule-based obstacle list
dynamicCapsuleList3DDynamic capsule-based obstacle list
addEgoAdd ego bodies to capsule list
addObstacleAdd obstacles to 2-D capsule list
checkCollisionCheck for collisions between ego bodies and obstacles
egoGeometryGeometric properties of ego bodies
egoPosePoses of ego bodies
obstacleGeometryGeometric properties of obstacles
obstaclePosePoses of obstacles


Pure PursuitLinear and angular velocity control commands
Vector Field HistogramAvoid obstacles using vector field histogram