Public Member Functions | Protected Attributes | List of all members
g2o::RobustKernel Class Referenceabstract

base for all robust cost functions More...

#include <robust_kernel.h>

Inheritance diagram for g2o::RobustKernel:
Inheritance graph
[legend]

Public Member Functions

double delta () const
 
virtual void robustify (double squaredError, Eigen::Vector3d &rho) const =0
 
 RobustKernel ()
 
 RobustKernel (double delta)
 
virtual void setDelta (double delta)
 
virtual ~RobustKernel ()
 

Protected Attributes

double _delta
 

Detailed Description

base for all robust cost functions

Note in all the implementations for the other cost functions the e in the funtions corresponds to the sqaured errors, i.e., the robustification functions gets passed the squared error.

e.g. the robustified least squares function is

chi^2 = sum_{e} rho( e^T Omega e )

Definition at line 51 of file robust_kernel.h.

Constructor & Destructor Documentation

g2o::RobustKernel::RobustKernel ( )

Definition at line 31 of file robust_kernel.cpp.

g2o::RobustKernel::RobustKernel ( double  delta)
explicit

Definition at line 36 of file robust_kernel.cpp.

virtual g2o::RobustKernel::~RobustKernel ( )
inlinevirtual

Definition at line 56 of file robust_kernel.h.

Member Function Documentation

double g2o::RobustKernel::delta ( ) const
inline

Definition at line 72 of file robust_kernel.h.

virtual void g2o::RobustKernel::robustify ( double  squaredError,
Eigen::Vector3d &  rho 
) const
pure virtual

compute the scaling factor for a error: The error is e^T Omega e The output rho is rho[0]: The actual scaled error value rho[1]: First derivative of the scaling function rho[2]: Second derivative of the scaling function

Implemented in g2o::RobustKernelDCS, g2o::RobustKernelSaturated, g2o::RobustKernelCauchy, g2o::RobustKernelPseudoHuber, g2o::RobustKernelTukey, g2o::RobustKernelHuber, and g2o::RobustKernelScaleDelta.

void g2o::RobustKernel::setDelta ( double  delta)
virtual

set the window size of the error. A squared error above delta^2 is considered as outlier in the data.

Reimplemented in g2o::RobustKernelHuber.

Definition at line 41 of file robust_kernel.cpp.

Member Data Documentation

double g2o::RobustKernel::_delta
protected

Definition at line 75 of file robust_kernel.h.


The documentation for this class was generated from the following files:


orb_slam2_with_maps_odom
Author(s): teng zhang
autogenerated on Fri Sep 25 2020 03:24:47