Struct OutrageousError

Struct Documentation

struct OutrageousError

Error block to restrict the offsets generated by ceres-solver from becoming outrageously large.

Public Functions

inline OutrageousError(OptimizationOffsets *offsets, std::string name, double joint_scaling, double position_scaling, double rotation_scaling)

Constructor for an error functor.

Parameters:
  • offsets – The calibration offset parser instance

  • name – The name of the joint or frame which we are restricting.

  • joint_scaling – The error scalar to multiply the joint offset by.

  • position_scaling – The error scalar to multiply each of the position offsets by.

  • rotation_scaling – The error scalar to multiply each of the rotation offsets by (in their angle-axis form).

inline virtual ~OutrageousError()
inline bool operator()(double const *const *free_params, double *residuals) const

Operator for ceres-solver to call.

Parameters:
  • free_params – Double pointer leading only to the offsets vector.

  • residuals – This functor returns 7 residuals.

Public Members

OptimizationOffsets *offsets_
std::string name_
double joint_
double position_
double rotation_

Public Static Functions

static inline ceres::CostFunction *Create(OptimizationOffsets *offsets, std::string name, double joint_scaling, double position_scaling, double rotation_scaling)

Helper factory function to create a new error block.