I am using a fixed 3D LiDAR sensor on a small aircraft. The vehicle has a GPS/INU to calculate its own position and orientation. I do not know the exact offset of the LIDAR from the center of the vehicle frame. I have an initial estimate of the rotation matrix and translation vector for my transformation matrix from the sensor frame to the vehicle frame. Is there an iterative method using my initial estimates to converge to a more accurate solution for roll, pitch, yaw angles and position vector (x,y,z)? Or is there a Least Squares approach? If yes, can you show/describe the method? Otherwise, if there is another method, please explain.
It sounds to me like you have a system with an unknown parameter that you want to estimate. That is the purview of parameter estimation literature. If this parameter to be estimated is not changing over time (as yours is not), then you can use old-school methods like LS or similar, as you suggest. This particular brand of parameter estimation is known as extrinsic calibration.
Most methods I'm familiar with (and I'm not familiar with most), follow an iterative (or batch) process as follows:
- Estimate translation and rotation between two sensors
- Observe features common to both sensors (e.g., estimate ego-motion from the lidar scan matching and integrate IMU measurements)
- Use the features to estimate the position of each sensor relative to the features
- You now know the location of the sensors w.r.t. common features, and therefore you can estimate the translation and rotation between them.
- Use that estimate to update the original estimate (usually by taking a weighted average)
So, google scholar provides some hits on "imu lidar calibration" such as: