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 3-D points and camera poses
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.

Implement Visual SLAM in MATLAB

Understand the visual simultaneous localization and mapping (vSLAM) workflow and how to implement it using MATLAB.

Monocular Visual Simultaneous Localization and Mapping

Visual simultaneous localization and mapping (vSLAM).

Implement Point Cloud SLAM in MATLAB

Understand point cloud registration and mapping workflow.

Featured Examples