Geometric matching in general is a difficult unsolved problem in computer vision. Fortunately, in many pratical applications, some a priori knowledge exists which considerably simplifies the problem. In visual navigation, for example, the motion between successive positions is usually either small or approximately known, but a more precise registration is required for environment modeling. The algorithm described in this report meets this need. Objects are represented by free-form curves, i.e., arbitrary spaces curves of the type found in practice. A curve is available in the form of a set of chained points. The proposed algorithm is based on iteratively matching points on one curve to the closest points on the other. A least-squares technique is used to estimate 3-D motion from the point correspondences, which reduces the average distance between curves in two sets. Both synthetic and real data have been used to test the algorithm, and the results show that it is efficient and robust, and yields an accurate motion estimate. The algorithm can be easily extended to solve similar problems such as 2-D curve matching and 3-D surface matching.