Align two coordinate frames (boresight error correction)
Show older comments
Just a little background: I have a drone and a lidar, and the lidar has a fixed position relative to the drone. I'm trying to correct the boresight error between lidar and IMU of the drone (I'm not even considering lever arm error at this point since I can't figure out how to correct boresight error in the first place, and my data were collected indoors so I don't have GPS data available).
I have two point clouds pc1 and pc2 and corresponding quaternion outputs q1 and q2 from drone in wxyz format (q1 = [0.195161, 0.094749, 0.118611, -0.96895], q2 = [0.2138, 0.100426, 0.116502, -0.96469]). I am able to register pc1 and pc2 using a function such as pcregistericp with pc2 being fixed and pc1 being moving, and obtain the rotation matrix r (r = [0.998824, -0.04842, 0.002445; 0.048378, 0.998719, 0.014863; -0.00316, -0.01473, 0.999887]). I thought using q1, q2 and r I should be able to somehow estimate boresight error between drone and lidar and further use that information to align lidar's coordinate frame with drone's coordinate frame (both are right-handed) regardless of lidar's orientation relative to the drone.
Due to my lack of knowledge, even after tons of experiements I still couldn't figure out the right math to align the two frames (I'll skip my own calculations). So my question is given q1, q2 and r, how to align lidar's frame to drone's frame (e.g. rotate point clouds) if possible?
Answers (0)
Categories
Find more on Coordinate Transformations in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!