Subversion Repositories seema-scanner

Rev

Rev 150 | Rev 152 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 150 Rev 151
Line 80... Line 80...
80
 
80
 
81
\subsection{Rotation stage}
81
\subsection{Rotation stage}
82
This is a so-called micro-rotation stage, commonly used in high precision photonic research and production. A larger diameter circular breadboard is fixed onto the rotation stage. The rotation stage has a stepper motor which drives a worm-gear. This gives high precision and very high repeatability. Note that the rotation stage does not have an optical encoder. It is reset to 0 degrees at each program start in software. The motor controller can be configured for different levels of microstepping and motor current. Higher motor current provides more torque and less risk of missing steps. Load on the plate must not exceed 20 kg, and the load's centre of mass rotation axis. Objects can be stabilised on the plate using e.g. modelling clay.
82
This is a so-called micro-rotation stage, commonly used in high precision photonic research and production. A larger diameter circular breadboard is fixed onto the rotation stage. The rotation stage has a stepper motor which drives a worm-gear. This gives high precision and very high repeatability. Note that the rotation stage does not have an optical encoder. It is reset to 0 degrees at each program start in software. The motor controller can be configured for different levels of microstepping and motor current. Higher motor current provides more torque and less risk of missing steps. Load on the plate must not exceed 20 kg, and the load's centre of mass rotation axis. Objects can be stabilised on the plate using e.g. modelling clay.
83
 
83
 
84
\subsection{Calibration target}
84
\subsection{Calibration target}
85
A calibration target is also part of the scanner. It was produced by printing a checkerboard in vector format, and gluing it onto a thick piece of float glass using spray adhesive. The target is asymmetrical, which is necessary to uniquely match chessboard corners in both cameras. The calibration target was designed to fill the scan objects space. If you need a smaller scan area, a smaller calibration target would be beneficial. 
85
A calibration target is also part of the scanner. It was produced by printing a checkerboard in vector format on a high quality laser printer, and gluing it onto a thick piece of float glass using spray adhesive. The target is asymmetrical, which is necessary to uniquely match chessboard corners in both cameras. The calibration target was designed to fill the scan objects space. If you need a smaller scan area, a smaller calibration target would be beneficial. 
86
 
86
 
87
\section{Software components}
87
\section{Software components}
88
The SeeMaLab 3D scanner has a full graphical user interface for calibration, and scanning. The output from this software is a number of color pointclouds in the PLY format along with a Meshlab alignment project file (file suffix .aln), which contains orientation information as provided from the rotation stage parameters. This allows the user to import the point cloud for further processing in Meshlab, e.g. to produce a full mesh model of the surface. The rotation axis is determined during calibration, which means that usually no manual or algorithm-assisted alignment of partial surfaces is necessary. 
88
The SeeMaLab 3D scanner has a full graphical user interface for calibration, and scanning. The output from this software is a number of color pointclouds in the PLY format along with a Meshlab alignment project file (file suffix .aln), which contains orientation information as provided from the rotation stage parameters. This allows the user to import the point cloud for further processing in Meshlab, e.g. to produce a full mesh model of the surface. The rotation axis is determined during calibration, which means that usually no manual or algorithm-assisted alignment of partial surfaces is necessary. 
89
 
89
 
90
To get fine grained control over the scan procedure, the user can modify the source code for the GUI application, or use the supplied Matlab wrappers. These wrappers provide basic functionality to capture images with the cameras, project a specific pattern on the projector, or rotate the rotation stage to a specific position. Using these components, a full structured light scanner can be implemented in Matlab with full design freedom. 
90
To get fine grained control over the scan procedure, the user can modify the source code for the GUI application, or use the supplied Matlab wrappers. These wrappers provide basic functionality to capture images with the cameras, project a specific pattern on the projector, or rotate the rotation stage to a specific position. Using these components, a full structured light scanner can be implemented in Matlab with full design freedom.