poseGraph
Create 2-D pose graph
Description
A poseGraph
object stores information for a 2-D pose graph
representation. A pose graph contains nodes connected by edges. Each node estimate is
connected to the graph by edge constraints that define the relative pose between nodes
and the uncertainty on that measurement.
To construct a pose graph iteratively, use the addRelativePose
function to add relative pose estimates and connect them
to an existing node with specified edge constraints. Pose nodes must be specified
relative to a pose node. Specify the uncertainty of the measurement using an information
matrix.
Adding an edge between two nonsequential nodes creates a loop
closure in the graph. Multiple edges or multiedges
between node pairs are also supported, which includes loop closures. To add additional
edge constraints or loop closures, specify the node IDs using the addRelativePose
function. When optimizing the pose graph, the optimizePoseGraph
function finds a solution to satisfy all these edge
constraints.
To add landmark point nodes, use the addPointLandmark
function. This function specifies nodes as
xy-points without orientation estimates. Landmarks must be
specified relative to a pose node.
The lidarSLAM
object performs lidar-based simultaneous localization and mapping, which is based around
the optimization of a 2-D pose graph.
For 3-D pose graphs, see the poseGraph3D
object or the Landmark SLAM Using AprilTag Markers example.
Creation
Description
poseGraph = poseGraph
creates a 2-D pose graph object.
Add poses using addRelativePose
to construct a pose graph
iteratively.
poseGraph = poseGraph('MaxNumEdges',maxEdges,'MaxNumNodes',maxNodes)
specifies an upper bound on the number of edges and nodes allowed in the
pose graph when generating code. This syntax is only required when
generating code.
Properties
Object Functions
addPointLandmark | Add landmark point node to pose graph |
addRelativePose | Add relative pose to pose graph |
copy | Create copy of pose graph |
edgeNodePairs | Edge node pairs in pose graph |
edgeConstraints | Edge constraints in pose graph |
edgeResidualErrors | Compute pose graph edge residual errors |
findEdgeID | Find edge ID of edge |
nodeEstimates | Poses of nodes in pose graph |
removeEdges | Remove loop closure edges from graph |
show | Plot pose graph |
Examples
References
[1] Grisetti, G., R. Kummerle, C. Stachniss, and W. Burgard. "A Tutorial on Graph-Based SLAM." IEEE Intelligent Transportation Systems Magazine. Vol. 2, No. 4, 2010, pp. 31–43. doi:10.1109/mits.2010.939925.
Extended Capabilities
Version History
Introduced in R2019b