I am currently working on a project where...
- Vehicle travels from point A to B
- GPS trajectory is used as a reference
- Vehicle odometry (bicycle model without slip angle beta) was used to estimate a trajectory, which resulted in odometry error
- I am now given sets of lidar contour points & lane data (timestamps aligned with those of gps & odometry data), which I would have to use to correct the error and prove it
Note: The vehicle trajectory data I am using is NOT closed-loop.
My current thought is to use these lidar contour points to obtain rotational/translational vector between each frame and reverse-update the values to the vehicle to update the trajectory. When lacking lidar data, I'd like to use camera lane data to supplement the information.
I have read many articles on ICP and pose SLAM, yet there are some characteristics about my data that seem to hinder my progress.
- ICP requires 'reference' lidar/map points which I do not have. Can I use points at t = x as a reference to update the points at t = x + 1?
- I do not get same amount of lidar contour points per frame. That is, my data isn't in a PCL format. For example, some frames have 30 contour points whereas some frames have 150. (Some frames lack contour points). It seems that ICP algorithms require size of vectors to be the same. What would be the clever way to approach the problem when the number of contour points is fluctuating?
- The lane data are given in coefficients constituting 3rd degree polynomial with start/end range for your information.
- I have currently ONLY applied ICP to calculate R&T when the number of contour points at time t & t+1 is equal, and came up with R matrix of size 360x360. How would I apply this to vehicle that is located at a single point?
I do not necessarily have to use ICP to solve the problem, yet being new to the topic, I am kind of stuck at the moment. I'd appreciate some opinion/feedback. Thank you!