SPRADE2 October 2023 AM69A
The graph SLAM treats the SLAM problem as non-linear optimization with a graph structure, where nodes represent the poses of the robot and observations at different times and edges represent constraints between the poses. Figure 2-1 represents a toy example illustrating how the graph is built with the poses and observations of the robot as the robot moves. xi, xj, and xk are the poses of the robot and P0 and P1 are the landmarks, objects, or points observed by camera. Here it is assumed that P0 is observed from xi and xj and P1 from xj and xk. And pnt, where n = 0, 1 and t = i, j, k, is defined as the position of Pn when observed from xt. The goal of the graph SLAM is to find the transformations between the poses of the robot, that is, zāij and zājk so that the same observations from different poses overlap maximally. Therefore, determine xt, where t = i, j, k, so that (p0i ā p0j)2 + (p1j ā p1k)2 is minimized.
Figure 2-2 shows the graph SLAM process, which comprises two main components, the front end and the back end. The front end processes input sensor data to estimate the poses of the mobile robot and the distinctive features around the robot. The front-end processing consists of the following steps:
The poses of the mobile robot estimated in the front end are not error free and the errors are accumulated as the mobile robot traverses, which can result in huge drift errors. The back end is responsible for refining the estimated poses and updating the map. This refinement consists of the following steps:
In general, the created map is a set of the extracted features with their positions and descriptors in visual SLAM and a set of geometric features or points themselves in LiDAR SLAM. In many use cases, the map is also saved in the form of occupancy grid map after post-processing to make obstacle detection and path planning easier.