Maker Alessandro Grossi sent us this great DIY build for a 3D scanner built using a laser, a DSLR, and an Arduino controller. Allesandro is a Mechanical Engineer, holding a Ph.D. in product design. His day job involves helping designers and manufacturing firms develop and optimize products by means of FEM analisys and Computational fluid dynamics. This is just what he does for fun. You can read about the 3D laser scanner and more on his own site, metaingegneria.com.

Here’s Alessadro’s project description:

A line laser is a laser equipped with a cylindrical lens, in this case I used a red laser, but  other colors can be used, like green or blue. The lens opens the beam shaping it into a plane. The one I used in this experiment is characterized by a nominal power of 100mW (not up to standard in Italy, I think the max allowed power is 5mW) but  the beam does not remain focused in a single ray, it  is extended in a plane, so the intensity quickly drops below dangerous levels.

The principle behind this scanner is the typical of a line scanner. A laser beam intercepts the object to be measured and a camera, positioned at a known angle and distance shoots a series of images. With some trigonometry considerations  and optic laws it is relatively easy to reconstruct the Zeta dimension, the measurement of the distance between the object and the camera.

Commercial systems based on this principle, named line scanner or profilometers, are used in industries and are typically characterized by a high frame rate (even 200 or more frames per second) and a strength suitable for industrial uses. An industrial profilometer price ranges from a few thousand Euros to several tens of thousands of Euros. The cost of the components for the system I propose here does not exceed 100/150 €, if you already have an SLR.

  • Kolia

    A great instructables for doing something similar can ne found here:

    Little difference in this one the object is turning 360° so in theory no need to change it manually to make different cloud points to assemble.

    I used it myself and got suprisingly good result with very cheap equipment/installation.

    However I’m still very skeptical on the step to pass from cloud point to meshed 3d file. Seems to me that it requires many manual steps, and even you quite need to be an expert of meshlab to figure it out. Especially when you start to have more complex pieces to scan with cavities.

  • Antonio Profico

    Bellissimo progetto… in realtà si potrebbe affiancare al laser scanner anche una rilevazione 3D tramite fotogrammetria.. hai già trovato un modo per acquisire l’oggetto con le dimensioni reali?

  • gopi

    In the matlab code:

    ” % metto NaN oppure la posizione
    if (c2)
    if (abs(smooth(i)-smooth(i-1))>5) ”

    what is “c2″ here ??
    ( ciò che è ” c2 ” qui ?? )

  • Jan Horák

    Why cant I see the Steps for this project?