|
gtsam
|
Quadratic range factor. More...
Go to the source code of this file.
Classes | |
| class | gtsam::QuadraticRangeFactor< d > |
Namespaces | |
| namespace | gtsam |
| Global functions in a separate testing namespace. | |
Typedefs | |
| using | gtsam::QuadraticRangeFactor2 = QuadraticRangeFactor<2> |
| using | gtsam::QuadraticRangeFactor3 = QuadraticRangeFactor<3> |
Quadratic range factor.
Ternary factor over the two positions t_i and target, plus one auxiliary direction u per measurement. The raw residual (||target - t_i|| - range)^2 is not polynomial and cannot enter a QCQP; the auxiliary direction makes the term quadratic:
min nu ||target - t_i - range * u||^2 over t_i, target in R^d, u in R^d subject to ||u||^2 = 1
Its minimum over the unit sphere is the raw residual, so the reformulation is exact (see [1]).
The auxiliary uses Rot2 in 2D and Unit3 in 3D; in 2D the unit vector is the rotation's first column, u = R * e_1.
REFERENCES: [1] T. Halsted, M. Schwager, "The Riemannian Elevator for Certifiable Distance-Based Localization", 2022. Available: https://msl.stanford.edu/papers/halsted_riemannian_2022.pdf [2] A. Papalia, A. Fishberg, B. W. O'Neill, J. P. How, D. M. Rosen, J. J. Leonard, "Certifiably Correct Range-Aided SLAM", IEEE Transactions on Robotics, 40:4265-4283, 2024.