Struct PlaneToPlaneError

Struct Documentation

struct PlaneToPlaneError

Error block for computing the fit between two sets of projected points and their planar models plane (aX + bY + cZ + d = 0). Typically used to align multiple 3d cameras when they are not able to see high-resolution checkerboards, but can see a common plane (wall/floor/etc).

Public Functions

inline PlaneToPlaneError(Chain3dModel *model_a, Chain3dModel *model_b, OptimizationOffsets *offsets, robot_calibration_msgs::msg::CalibrationData &data, double scale_normal, double scale_offset)

Error block for calibrating two planar data sets.

Parameters:
  • model_a – The model for the first chain, used for planar projection.

  • model_b – The model for the second chain, used for planar projection.

  • offsets – Easy access to the free parameters.

  • data – The calibration data collected.,

  • scale_normal – The scaling factor to apply to the residuals of the normal difference.

  • scale_offset – The scaling factor to apply to the residual of the offset difference.

virtual ~PlaneToPlaneError() = default
inline bool operator()(double const *const *free_params, double *residuals) const

Operator called by CERES optimizer.

Parameters:
  • free_params – The offsets to be applied to joints/transforms.

  • residuals – The residuals computed, to be returned to the optimizer.

Public Members

Chain3dModel *model_a_
Chain3dModel *model_b_
OptimizationOffsets *offsets_
robot_calibration_msgs::msg::CalibrationData data_
double scale_normal_
double scale_offset_

Public Static Functions

static inline ceres::CostFunction *Create(Chain3dModel *model_a, Chain3dModel *model_b, OptimizationOffsets *offsets, robot_calibration_msgs::msg::CalibrationData &data, double scale_normal, double scale_offset)

Helper factory function to create a new error block. Parameters are described in the class constructor, which this function calls.