Main Content


Simultaneous localization and mapping, map building, odometry

Use simultaneous localization and mapping (SLAM) algorithms to build maps surrounding the ego vehicle based on visual or lidar data. Use visual-inertial odometry to estimate the pose (position and orientation) of a vehicle based on data from onboard sensors such as inertial measurement units (IMUs).


expand all

rigid3d3-D rigid geometric transformation
quaternionCreate a quaternion array
distAngular distance in radians
rotateframeQuaternion frame rotation
rotatepointQuaternion point rotation
rotmatConvert quaternion to rotation matrix
rotvecConvert quaternion to rotation vector (radians)
rotvecdConvert quaternion to rotation vector (degrees)
partsExtract quaternion parts
eulerConvert quaternion to Euler angles (radians)
eulerdConvert quaternion to Euler angles (degrees)
compactConvert quaternion array to N-by-4 matrix
imageviewsetManage data for structure-from-motion, visual odometry, and visual SLAM
optimizePosesOptimize absolute poses using relative pose constraints
createPoseGraphCreate pose graph
relativeCameraPoseCompute relative rotation and translation between camera poses
triangulate3-D locations of undistorted matching points in stereo images
bundleAdjustmentRefine camera poses and 3-D points
bundleAdjustmentMotionRefine camera pose using motion-only bundle adjustment
bundleAdjustmentStructureRefine 3-D points using structure-only bundle adjustment
pcviewsetManage data for point cloud based visual odometry and SLAM
optimizePosesOptimize absolute poses using relative pose constraints
createPoseGraphCreate pose graph
scanContextDistanceDistance between scan context descriptors
scanContextDescriptorExtract scan context descriptor from point cloud
pctransformTransform 3-D point cloud
pcalignAlign an array point clouds
pcregistercorrRegister two point clouds using phase correlation
pcregistercpdRegister two point clouds using CPD algorithm
pcregistericpRegister two point clouds using ICP algorithm
pcregisterndtRegister two point clouds using NDT algorithm
pcmapndtLocalization map based on normal distributions transform (NDT)


Rotations, Orientations, and Quaternions for Automated Driving

Quaternions are four-part hypercomplex numbers that are used to describe three-dimensional rotations and orientations. Learn how to use them for automated driving applications.

Visual SLAM Overview

Understand visual simultaneous localization and mapping (SLAM) workflow.

Monocular Visual Simultaneous Localization and Mapping

Visual simultaneous localization and mapping (vSLAM).

Build a Map from Lidar Data

Process 3-D lidar sensor data to progressively build a map, with assistance from inertial measurement unit (IMU) readings.

Build a Map from Lidar Data Using SLAM

Process lidar data to build a map and estimate a vehicle trajectory using simultaneous localization and mapping.

Build Occupancy Map from 3-D Lidar Data Using SLAM

Build a 2-D Occupancy map from 3-D Lidar data using a simultaneous localization and mapping (SLAM) algorithm.

Point Cloud SLAM Overview

Understand point cloud registration and mapping workflow.

Build Map and Localize Using Segment Matching (Lidar Toolbox)

This example shows how to build a map with lidar data and localize the position of a vehicle on the map using SegMatch [1] (Lidar Toolbox), a place recognition algorithm based on segment matching.

Featured Examples