Recovering 3D Geometry
using a Robot Arm and a Laser Scanner James Kuffner, Jr.
Spring 1994
Project Overview : The goal of this project is to
reconstruct the 3D geometry of a static object. Scanning devices
that use rotating or translating platforms can only scan relatively
small movable objects, and typically must make multiple scans and
combine the data as a post-process. Mounting the scanner
on a controlled robot provides a means for scanning larger objects in
a single pass. In addition, objects which cannot be moved (such
as building facades) can also be scanned.
Concept : Given a robot with a device that emits a plane of
laser light, the idea is to sweep the plane of light across the
surface of the object and view the profile of the object contour using
an off-axis CCD camera mounted near the laser. The resulting camera
images can be used to compute the 3D coordinates of points on the
object surface via triangulation.
Click
here to view a diagram.
Final Report: Download a gzipped postscript
file (15 pages = 139K).
Software: Four original C programs constituted the bulk of the
project effort.
| A program to correct for camera image distortion. |
| A program to interpret the camera images and output 3D coordinates
of the object surface. |
| A program to take a set of 3D coordinates and output a triangular mesh
corresponding to a surface that fits the data points. |
| Finally, a visualization program written for the SGI that allows a
user to interactively view the triangular mesh of the original scanned
object. |
Work Schedule : The project was completed in approximately five
weeks. Three main work phases were involved: [Equipment setup, testing,
and data collection (1.5 weeks), Data interpretation software (2.5 weeks),
Mesh visualization software (1 week)].
Other References: Standard calibration algorithms presented
in class and in the textbook were used, as well as notes on
triangulation and mesh-generation from 3D data points (specifically:
Drushel, R F. Survey of methods for 3-dimensional
reconstruction" comp.graphics.visualization: Usenet, 1993)
|