Recovering 3D Geometry
using a Robot Arm and a Laser Scanner
James Kuffner, Jr.
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.
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
|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
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)