Pose estimation using linearized rotations and quaternion algebra
Introduction
The classic results of multivariate state estimation are rooted in both probability theory and vector calculus. This presents challenges for many practical estimation problems involving rotational state variables, which are not members of a vector space. Rather, the set of rotations constitutes a non-commutative group, called SO(3). Regardless of the choice of representation (e.g., rotation matrix, unit-length quaternion, Euler angles), a rotation has exactly three degrees of freedom. All rotational representations involving exactly three parameters have singularities [27] and all representations having more than three parameters have constraints. The question of how best to parametrize and handle rotations in state estimation is by no means new. There are many rotational parameterizations available, each with its unique advantages and disadvantages [22]. In spacecraft attitude and robotics estimation, the 4×1 unit-length quaternion (a.k.a., Euler–Rodrigues symmetric parameters), the standard 3×3 rotation matrix, and Euler angles are all common [4].
Unit-length quaternions are appealing in that they are free of singularities and compact in their representation; however, the unit-length constraint must be considered carefully, particularly for estimation problems. The question of whether to make updates to unit-length quaternions ‘additively’ or ‘multiplicatively’ has been debated often [17], [16]. For online attitude estimation, two variants of the Kalman filter [11] have been introduced: The Additive Extended Kalman Filter (AEKF) [1] and the Multiplicative Extended Kalman Filter (MEKF) [12], [15]. Both of these require the estimated quaternion to be re-normalized after the filter update step to restore the unit-length constraint. However, it was only recently shown that re-normalization within the Kalman filter framework is in fact a direct consequence of performing optimal estimation under the unit-length constraint [32]. More generally, Shuster [23], [24] provides a detailed examination of performing both ‘constrained’ (e.g., sensitive to but not enforcing the unit-length quaternion constraint during the update step) and ‘unconstrained’ (e.g., not sensitive to the unit-length quaternion constraint), demonstrating that constraint-sensitive estimation is preferable.
This paper builds on the work of Shuster [23], [24], by deriving constraint-sensitive linearizations of both unit-length quaternions and rotation matrices from a simple first-principles linearization perspective. Under this approach, the multiplicative perturbations arise quite naturally. We show how these perturbations may be used in the calculation of an arbitrary ‘measurement sensitivity matrix’ (i.e., partial derivative of the measurement function with respect to the rotation) [23] and more generally in the linearization of any expression involving a unit-length quaternion or rotation matrix. In our handling of unit-length quaternions, we exploit ‘quaternion algebra’ [10] quite heavily, which permits parallels to be drawn between the unit-length quaternion and rotation matrix results. To demonstrate the utility of our approach, we provide an example of linearizing a sun sensor measurement error term as well as an extended example of a batch weighted-least-squares pose (i.e., position and orientation) estimation problem. Pose estimation is an important problem in such aerospace applications as spacecraft rendezvous and docking, as well as motion estimation of planetary rovers.
The paper is organized as follows. We first introduce the notation and operations we will use for handling quaternions. We then derive our general expressions for linearizing expressions involving both unit-length quaternions and rotation matrices. Finally, we demonstrate these through the sun sensor and weighted-least-squares examples.
Section snippets
Quaternion algebra
In this section we introduce the notation that we will employ in our treatment of quaternions [6], [28], [7], which we refer to as quaternion algebra [10]. We use quaternions to represent both translations and rotations. Our notation differs slightly from others [3], [22], but the concepts remain the same. We begin with notation followed by identities and finally the relationship to rotations (i.e., unit-length quaternions).
Linearizing expressions involving rotations
In this section we present our main result, which is a re-examination of how to linearize expressions involving rotations. We treat both canonical rotation matrices as well as unit-length quaternions. Our approach is a simple first-principles Taylor approximation. We will see that the so-called multiplicative perturbations arise quite naturally. In the interest of accessibility, we begin with the rotation matrix case, followed by unit-length quaternions, and then show how to linearize a typical
Weighted-least-squares point cloud alignment
In this section we provide an extended example of a pose estimation problem: weighted-least-squares point-cloud alignment. The problem setup is depicted in Fig. 2. There are two reference frames, and , which could represent the pose of a moving vehicle or camera at two different times, for example. For the measurements, we have M pairs of vector observations, , where j = 1,…,M. Each pair is a correlated set of measurements of the same point, Pj, on some stationary object. We
Conclusion
This paper has presented a first-principles approach to linearizing expressions involving rotations represented by either 3×3 rotation matrices or 4×1 unit-length quaternions. The linearization approach was demonstrated through two examples: (i) linearizing a sun sensor measurement error term, and (ii) performing weighted-least-squares point-cloud alignment. Specifically, we believe the contributions of the paper are:
- 1.
Compact matrix expressions for the partial derivative of both a rotation
Acknowledgements
The authors would like to thank the Natural Sciences and Engineering Research Council (NSERC) of Canada for supporting this work through grants and scholarships.
References (32)
- et al.
Attitude determination from vector observations: quaternion estimation
IEEE Transactions on Aerospace and Electronic Systems
(1985) - D.C. Brown, A solution to the general problem of multiple station analytical stereotriangulation, Rca-mtp Data...
Quaternion kinematic and dynamic differential equations
IEEE Transactions on Robotics and Automation
(1992)- et al.
A survey of nonlinear attitude estimation methods
Journal of Guidance, Control, and Dynamics
(2007) - T.A. Ell, On Systems of Linear Quaternion Functions, ArXiv Mathematics e-prints, February...
Elements of Quaternions
(1866)Elements of Quaternions
(1891)Closed-form solution of absolute orientation using unit quaternions
Journal of the Optical Society of America A
(1987)Spacecraft Attitude Dynamics
(1986)A new method for performing digital control system attitude computations using quaternions
AIAA Journal
(1970)
A new approach to linear filtering and prediction problems
Transactions of the ASME—Journal of Basic Engineering
Kalman filtering for spacecraft attitude estimation
Journal of Guidance, Control, and Dynamics
Two years of visual odometry on the Mars exploration rovers
Journal of Field Robotics
Attitude error representations for Kalman filtering
Journal of Guidance, Control, and Dynamics
Attitude estimation or quaternion estimation?
Journal of the Astronautical Sciences
Cited by (71)
Dual quaternion-based dynamics and control for gravity recovery missions
2023, Acta AstronauticaForward kinematics of a cable-driven parallel robot with pose estimation error covariance bounds
2023, Mechanism and Machine TheoryDetermination of thrusts for different cylinder groups during shield tunneling
2022, Tunnelling and Underground Space TechnologyVectorial parameterizations of pose
2022, Robotica