I am currently trying to register a pointcloud in time to find my change in position and heading at each timestep (High speed application). So this is essentially an implementation of SLAM. I am currently using ICP with an SVD rotation solver to try to find rotation and translation. This solution works with simulated pointclouds.
The issue is that reobservation of previous points is non-deterministic for the type of scanner I am using. So this makes neighbor matching between frames difficult.
Is there any prepossessing I can do to get better matches in the neighbor finding step? or are there other methods for pointcloud registration that are more robust to noise than SVD based ICP?