RFX Rangefinder
480x512 pixels of submillimeter resolution range data in less than a minute!
Table of Contents
The RFX Rangefinder is a fast rangefinding system capable of accuracies of 0.1 millimeter. There are presently 3 such systems in the RobotWorld Lab in WeH 1324.
The rangefinder consists of a light stripe projector, a camera and the computer with an image capturing board. The system projects 16 light stripe patterns onto the scene, takes their images, and then computes the range image from those images.

To obtain the rangedata using the RFX rangefinder, you have to be on the computer i9. Once there, make sure that the desired system is switched on, then type the following.
% /usr/vac/rfx/check [system # (1-3)]
Adjust the position of the object in the lighted scene until the image seen on the display is satisfactory. Then respond to the prompt until you find the threshold delineates the desired area of interest. (Choosing a good threshold speeds up the computation of the range).
If the current settings of the camera (zoom and pose) and the projector (pose) are not sufficient you might have to adjust them and then calibrate the system as explained in the following section.
If you are ready to obtain the range image. Type the following
% /usr/vac/rfx/rfx_xyz [sys] [threshold] [name] [resolution]
The RFX Rangefinder will automatically switch on the projector, project the patterns, capture the images and output the range data as four files, name.i.gif, name.x.gif, name.y.gif, and name.z.gif. Display the range images to check if the data is satisfactory.
An example of the range data for a cube is shown below.

The calibration of the RFX rangefinder is done by using a calibration box with calibration marks on it. The calibration procedure is as follows.
- Place the calibration box in the scene so that 3 faces are clearly visible.
- Then type the following.
% /usr/vac/rfx/box_calib [sys#] [threshold]
When the system pops up the X window on the screen as shown below, do the following.
- Click on the "Calib with Box" button.
- Choose the size of the box (usually 2, the 12mm box) and a threshold which will show the white markings clearly.
- Adjust threshold using the "Threshold" and "Redraw" buttons if needed.
- Click on the 12 circles in EXACTLY the order shown in the figure below. (The order and direction is very important)
- The program will take care of the rest.
The result of calibration is a 12 line (3x4 matrix) file, /usr/vac/rfx/system_[sys#].pa.

The origin of the coordinate system after calibration will be situated at the corner of the calibration box as shown in the figure below.

Actually the RFX rangefinder projectors are pretty hot. It can melt itself, if left on for too long. So even though the system automatically switches off the projector, make sure that the projector lights are off before you leave.
The cool thing about the RFX rangefinder is the resolution of 0.1 mm.
The RFX Rangefinder can be used with either ANDROX or MATROX frame grabber boards on i9.
The programs in /usr/vac/rfx/. correspond to the ANDROX board. Make sure that the camera output of the desired RFX system is connected to the appropriate channel of the ANDROX board at the panel.
The programs in /usr/vac/rfx/matrox/. correspond to the MATROX board. Before operation, make sure that the camera input from the desired RFX system is connected to the appropriate channel of the MATROX board at the panel.
The source code of the programs used to check calibrate and compute range from the RFX rangefinder can be found in /usr/vac/rfx/src/.
Sato, K.; Inokuchi, S. RANGE-imaging system utilizing nematic liquid crystal mask. Proceedings of the First International Conference on Computer Vision (Cat. No.87CH2465-3); London, UK; 8-11 June 1987; pp. 657-61
Created: George V Paul 3/3/95.
George V Paul gvp@ri.cmu.edu