Struct PlaneToPlaneError
Defined in File plane_to_plane_error.hpp
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.
-
inline PlaneToPlaneError(Chain3dModel *model_a, Chain3dModel *model_b, OptimizationOffsets *offsets, robot_calibration_msgs::msg::CalibrationData &data, double scale_normal, double scale_offset)