MATH6003J Project Proposal
Project Proposal: 2D Point Cloud Registration using the Iterative Closest Point (ICP) Algorithm
Course: VV570/MATH6003J: Introduction to Engineering Numerical Analysis 1
1. Introduction & Problem Statement
In robotic perception, sensors like LiDAR capture the environment as a “point cloud”—a set of data points in space. To enable tasks like mapping or localization, a robot must align multiple point clouds taken from different positions. This project will address this fundamental robotics problem by implementing the Iterative Closest Point (ICP) algorithm, a numerical optimization method used to find the optimal alignment between two point clouds2.
2. Objective
The primary objective of this project is to develop a working 2D implementation of the ICP algorithm. We will apply numerical analysis techniques to find the rigid transformation (rotation and translation) that minimizes the distance between two point clouds, demonstrating a practical application of concepts from the course to the field of robotics.
3. Methodology
Our approach will be to apply a computational tool to solve this problem3. We will use Python with the NumPy library for numerical computations and Matplotlib for visualization. The core steps of our implementation will be:
Data Association: For each point in a source cloud, find the closest corresponding point in the target cloud.
Numerical Optimization: Calculate the optimal rotation and translation that minimizes the mean squared error between the corresponding point pairs. This will be solved using Singular Value Decomposition (SVD).
Iterative Refinement: Apply the calculated transformation to the source cloud and repeat the process until the alignment error converges below a set threshold.
We will start with the simplification of working in 2D and assume a reasonable initial alignment between the point clouds4.
4. Expected Outcomes & Justification of Results
By the end of this three-week project5, we will deliver:
A Python implementation of the 2D ICP algorithm.
Visualizations demonstrating the algorithm’s effectiveness by showing the point clouds before and after alignment.
A plot of the alignment error over iterations, which will serve to justify our results by showing the convergence of the numerical method6.
MATH6003J Project Proposal
http://chen-yulin.github.io/2025/07/17/[OBS]课程-MATH6003J Project Proposal/