gtsam
Loading...
Searching...
No Matches
QuadraticRangeFactor.h File Reference

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>

Detailed Description

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.

Author
Zhexin Xu

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.