Align two coordinate frames (boresight error correction)

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?

답변 (0개)

카테고리

도움말 센터File Exchange에서 Coordinate Transformations에 대해 자세히 알아보기

질문:

Wen
2021년 3월 1일

편집:

Wen
2021년 3월 1일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by