Address review comments, docs only.
parent
372ae27a5e
commit
c0262b074c
|
@ -35,7 +35,8 @@ namespace gtsam {
|
||||||
* The main building block for visual SLAM.
|
* The main building block for visual SLAM.
|
||||||
* @addtogroup SLAM
|
* @addtogroup SLAM
|
||||||
*/
|
*/
|
||||||
template<class POSE=Pose3, class LANDMARK=Point3, class CALIBRATION = Cal3_S2>
|
template <class POSE = Pose3, class LANDMARK = Point3,
|
||||||
|
class CALIBRATION = Cal3_S2>
|
||||||
class GenericProjectionFactor: public NoiseModelFactor2<POSE, LANDMARK> {
|
class GenericProjectionFactor: public NoiseModelFactor2<POSE, LANDMARK> {
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
## GenericProjectionFactor (defined in ProjectionFactor.h)
|
## GenericProjectionFactor (defined in ProjectionFactor.h)
|
||||||
|
|
||||||
Non-linear factor for a constraint derived from a 2D measurement.
|
Non-linear factor that minimizes the re-projection error with respect to a 2D measurement.
|
||||||
The calibration is assumed known and passed in the constructor.
|
The calibration is assumed known and passed in the constructor.
|
||||||
The main building block for visual SLAM.
|
The main building block for visual SLAM.
|
||||||
|
|
||||||
|
@ -14,6 +14,7 @@ Templated on
|
||||||
## SmartFactors
|
## SmartFactors
|
||||||
|
|
||||||
These are "structure-less" factors, i.e., rather than introducing a new variable for an observed 3D point or landmark, a single factor is created that provides a multi-view constraint on several poses and/or cameras.
|
These are "structure-less" factors, i.e., rather than introducing a new variable for an observed 3D point or landmark, a single factor is created that provides a multi-view constraint on several poses and/or cameras.
|
||||||
|
While one typically adds multiple GenericProjectionFactors (one for each observation of a landmark), a SmartFactor collects all measurements for a landmark, i.e., the factor graph contains 1 smart factor per landmark.
|
||||||
|
|
||||||
### SmartFactorBase
|
### SmartFactorBase
|
||||||
|
|
||||||
|
@ -46,6 +47,11 @@ Same as `SmartProjectionPoseFactor`, except:
|
||||||
|
|
||||||
TODO: DimPose and ZDim are hardcoded. Copy/paste from `SmartProjectionPoseFactor`. Unclear what the use case is.
|
TODO: DimPose and ZDim are hardcoded. Copy/paste from `SmartProjectionPoseFactor`. Unclear what the use case is.
|
||||||
|
|
||||||
|
## Linearized Smart Factors
|
||||||
|
|
||||||
|
The factors below are less likely to be relevant to the user, but result from using the non-linear smart factors above.
|
||||||
|
|
||||||
|
|
||||||
### RegularImplicitSchurFactor
|
### RegularImplicitSchurFactor
|
||||||
|
|
||||||
A specialization of a GaussianFactor to structure-less SFM, which is very fast in a conjugate gradient (CG) solver.
|
A specialization of a GaussianFactor to structure-less SFM, which is very fast in a conjugate gradient (CG) solver.
|
||||||
|
|
|
@ -44,7 +44,7 @@ namespace gtsam {
|
||||||
* factors. The methods take a CameraSet<CAMERA> argument and the value of a
|
* factors. The methods take a CameraSet<CAMERA> argument and the value of a
|
||||||
* point, which is kept in the derived class.
|
* point, which is kept in the derived class.
|
||||||
*
|
*
|
||||||
* @tparam CAMERA should behave like a set of PinholeCamera.
|
* @tparam CAMERA should behave like a PinholeCamera.
|
||||||
*/
|
*/
|
||||||
template<class CAMERA>
|
template<class CAMERA>
|
||||||
class SmartFactorBase: public NonlinearFactor {
|
class SmartFactorBase: public NonlinearFactor {
|
||||||
|
|
|
@ -24,6 +24,7 @@ TODO: Again, as no template arguments, we could move a lot to .cpp file.
|
||||||
### SmartStereoProjectionFactorPP
|
### SmartStereoProjectionFactorPP
|
||||||
|
|
||||||
Similar `SmartStereoProjectionPoseFactor` but *additionally* adds an array of body_P_cam poses. The dimensions seem to be hardcoded and the types defined in the SmartFactorBase have been re-defined.
|
Similar `SmartStereoProjectionPoseFactor` but *additionally* adds an array of body_P_cam poses. The dimensions seem to be hardcoded and the types defined in the SmartFactorBase have been re-defined.
|
||||||
|
The body_P_cam poses are optimized here!
|
||||||
|
|
||||||
TODO: See above, same issues as `SmartStereoProjectionPoseFactor`.
|
TODO: See above, same issues as `SmartStereoProjectionPoseFactor`.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue