I use the Hand-Eye calibration method to calibrate the vehicle mounted GPS/IMU system with a LIDAR and a camera. The principle of the method is shown in the image below. For the case of a camera, various poses of a chessboard are collected as the vehicle is moved to different locations. Various GPS poses are also recorded. Then the geometry of the setup can be utilized and the equation AX = XB can be written and solved for X, the transformation between the GPS reference and the mounting location of the camera.
For the case of the LIDAR, the ICP algorithm is used in order to obtain the poses of the LIDAR detections and is explained as a separate project. To solve the equation, I used Google's Ceres Solver optimization library in order to simultaneously solve for the rotational and translational components of X.
The developed platform is driven in a series of maneuvers while recording LIDAR and navigation data for performing the calibration. The figure below shows the navigation system position of the vehicle in blue and the same data extracted from the LIDAR point clouds using the implemented ICP algorithm. The vehicle is driven very slowly to remove motion effects. It can be seen that the odometry from the ICP algorithm is not as accurate as that from the navigation system.
The ICP algorithm is subjective to measurement errors from the LIDAR sensor. Since each point can have error in its position, the overall result of the ICP algorithm can never be perfect. Furthermore, ICP matching becomes worse when there is significant motion between the two frames or when the position of the LIDAR changes too much between frames. Both of these scenarios result in points that do not correspond to points in the second frame and can result in false correspondences to be found. Another reason why ICP fails to perform well if there are not many usable feature points in the respective point clouds. Having a lot of infrastructure and buildings in the surroundings tended to result in more accurate point cloud matching.
Connect With Me