This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

Ground Vehicle Algorithms

Mapping, localization, SLAM, path planning, path following, state estimation

These Robotics System Toolbox™ algorithms focus on mobile robotics applications (i.e. ground vehicles). These classes help you with the whole mobile robotics workflow. You can create maps of environments using occupancy grids, perform simultaneous localization and mapping (SLAM), develop path planning for robots in a given environment, and tune controllers to follow a set of waypoints. Also, you can perform obstacle avoidance, state estimation, and localization based on sensor data from your robot.

Functions

expand all

buildMapBuild occupancy grid from lidar scans
readBinaryOccupancyGridRead binary occupancy grid
writeBinaryOccupancyGridWrite values from grid to ROS message
readOccupancyGridRead occupancy grid message
writeOccupancyGridWrite values from grid to ROS message
readOccupancyMap3DRead 3-D map from Octomap ROS message
lidarScanCreate object for storing 2-D lidar scan
matchScansEstimate pose between two laser scans
matchScansGridEstimate pose between two lidar scans using grid-based search
plotDisplay laser or lidar scan readings
removeInvalidDataRemove invalid range and angle data
transformScanTransform laser scan based on relative pose
connectConnect poses for given connection type
interpolateInterpolate poses along path segment
showVisualize path segment
optimizePoseGraphOptimize nodes in pose graph
addRelativePoseAdd relative pose to pose graph
edgesEdges in pose graph
edgeConstraintsEdge constraints in pose graph
findEdgeIDFind edge ID of edge
nodesPoses of nodes in pose graph
removeEdgesRemove loop closure edges from graph
showPlot pose graph

Classes

expand all

robotics.LidarSLAM Perform localization and mapping using lidar scans
robotics.MonteCarloLocalizationLocalize robot using range sensor data and map
robotics.BinaryOccupancyGridCreate occupancy grid with binary values
robotics.OccupancyGridCreate occupancy grid with probabilistic values
robotics.OccupancyMap3D Create 3-D occupancy map
robotics.OdometryMotionModelCreate an odometry motion model
robotics.ParticleFilterCreate particle filter state estimator
robotics.PoseGraph Create 2-D pose graph
robotics.PoseGraph3D Create 3-D pose graph
robotics.DubinsConnectionDubins path connection type
robotics.DubinsPathSegmentDubins path segment connecting two poses
robotics.ReedsSheppConnectionReeds-Shepp path connection type
robotics.ReedsSheppPathSegmentReeds-Shepp path segment connecting two poses
robotics.PRMCreate probabilistic roadmap path planner
robotics.PurePursuitCreate controller to follow set of waypoints
robotics.VectorFieldHistogramAvoid obstacles using vector field histogram

Apps

SLAM Map BuilderBuild 2-D grid maps using lidar-based SLAM

Blocks

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

Topics

Mapping and Path Planning

Occupancy Grids

Details of occupancy grid functionality and map structure.

Probabilistic Roadmaps (PRM)

How the PRM algorithm works and specific tuning parameters.

Path Planning in Environments of Different Complexity

This example demonstrates how to compute an obstacle free path between two locations on a given map using the Probabilistic Roadmap (PRM) path planner.

Mapping With Known Poses

This example shows how to create a map of the environment using range sensor readings if the position of the robot is known at the time of sensor reading.

Compose a Series of Laser Scans with Pose Changes

Use scan matching to compose a series of laser scans

Build Occupancy Map from Depth Images Using Visual Odometry and Optimized Pose Graph

This example shows how to reduce the drift in the estimated trajectory (location and orientation) of a monocular camera using 3-D pose graph optimization.

Robot Control

Pure Pursuit Controller

Pure Pursuit Controller functionality and algorithm details.

Path Following for a Differential Drive Robot

This example demonstrates how to control a robot to follow a desired path using a Robot Simulator.

Vector Field Histogram

VFH algorithm details and tunable properties.

Obstacle Avoidance with TurtleBot and VFH

This example shows how to use a TurtleBot® with Vector Field Histograms (VFH) to perform obstacle avoidance when driving a robot in an environment.

State Estimation

Particle Filter Parameters

A particle filter is a recursive, Bayesian state estimator that uses discrete particles to approximate the posterior distribution of the estimated state.

Particle Filter Workflow

A particle filter is a recursive, Bayesian state estimator that uses discrete particles to approximate the posterior distribution of the estimated state.

Track a Car-Like Robot Using Particle Filter

Particle filter is a sampling-based recursive Bayesian estimation algorithm.

Monte Carlo Localization Algorithm

The Monte Carlo Localization (MCL) algorithm is used to estimate the position and orientation of a robot.

Localize TurtleBot Using Monte Carlo Localization

This example demonstrates an application of the Monte Carlo Localization (MCL) algorithm on TurtleBot® in simulated Gazebo® environment.

Reduce Drift in 3-D Visual Odometry Trajectory Using Pose Graphs

This example shows how to reduce the drift in the estimated trajectory (location and orientation) of a monocular camera using 3-D pose graph optimization.

Localization and Mapping

Implement Simultaneous Localization And Mapping (SLAM) with Lidar Scans

This example demonstrates how to implement the Simultaneous Localization And Mapping (SLAM) algorithm on a collected series of lidar scans using pose graph optimization.

Implement Online Simultaneous Localization And Mapping (SLAM) with Lidar Scans

This example demonstrates how to implement the Simultaneous Localization And Mapping (SLAM) algorithm on lidar scans obtained from simulated environment using pose graph optimization.