I have lots of doubts about GraphSLAM, The GraphSLAM Algorithm with Applications to Large-Scale Mapping of Urban Structures. When I practically implement it I get matrix singularity error.
I taken the data set from UTIAS Multi-Robot Cooperative Localization and Mapping Dataset.
Now this dataset contain 75000 odometer data and 5000 sensor data. Correspondence are known correspondence. As per the algorithm initially I think the information matrix should be 75015x75015 matrix. But practically, this is impossible to implement. I am using universal java matrix package.
Then I think the robot may come to the same position after roaming certain amount of time. So I have to identify the location which is same as previous location.
I watched Lecture 7: Visual Navigation for Flying Robots where there is a description of Iterative Closest Point algorithm. This algorithm identity the same location.
But I have some doubts about the lecture. The prof said
Given: Two corresponding point sets (Clouds)
$$P = \{p_1,...,p_n\}\text{ and }Q = \{q_1,...,,q_n\}$$
Where does he get those points? Why there is there two data sets? Does $P$ represent X axis and $Q$ represent Y axis?
I have odometer and sensor raw data. From which one do I create this point cloud?
Do I really need to use this technique (ICP) for my implementation?