The robust estimation library provides various classes for robust estimation of parameters. The library design is based on three concepts: the problem, the objective function, and the search technique. The problem involves that data and the model. Examples of problems include linear regression and 2D homography estimation. The objective function measures the "cost" of a solution, and is minimized. The objective function is a function of the residuals (and perhaps of the scale). The search technique is that which is used to minimize the objective function for the given problem. Currently implemented are IRLS (iteratively re-weighted least squares) and random sampling.