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

