Absolute orientation with the QUEST algorithm

Efficient Absolute Orientation Solver
Updated 29 Sep 2018

View License

The function computes the orientation and translation for the transformation between
two corresponding 3D point sets pi and qi so that they are related by qi = R*pi + t.
It is based on Shuster's QUEST algorithm, a popular technique in astronautics for
estimating attitude, described in M.D. Shuster and S.D. Oh: "Three-Axis Attitude Determination from
Vector Observations", Journal of Guidance and Control, Vol. 4, No. 1, January–February 1981, pp. 70–77.
See http://www.malcolmdshuster.com/Pub_1981a_J_TRIAD-QUEST_scan.pdf
See also M. Lourakis and G. Terzakis: "Efficient Absolute Orientation Revisited", in Intl. Conf. on Intelligent Robots and Systems (IROS), 2018.

Additionally, I have a code for absolute orientation based on the FOAM algorithm:

Cite As

Manolis Lourakis (2024). Absolute orientation with the QUEST algorithm (https://www.mathworks.com/matlabcentral/fileexchange/65173-absolute-orientation-with-the-quest-algorithm), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2010a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Find more on ROS Toolbox in Help Center and MATLAB Answers

Inspired by: Absolute orientation with the FOAM algorithm

Community Treasure Hunt

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

Start Hunting!
Version Published Release Notes

Updated description

Fixed bug with the computation of the mean residual error.
Added quaternion to rotation matrix conversion without normalization.
Added test for singular rotation (i.e. +/-pi rotation around an arbitrary axis).

Compute the max eigenvalue from the QUEST characteristic polynomial
instead of the FOAM one previously used. Note that the two are equivalent
for infinitely precise arithmetic

Description changes

Minor updates in the description