Next: Java Considerations
Up: Capturing Dense Environmental Range
Previous: Calibrating and Correcting Errors
A Java application was developed to control and collect data from the
laser rangefinder and associated hardware. Symantec's Visual Cafe
software allows a developer to build graphical interfaces for Java
programs quickly. The application's interface to control the
rangefinding system is shown in figure 9. The software is
multi-threaded, using the JVM default scheduler. The threads
are:
- 1.
- A data collection thread. This thread
continuously waits for the rangefinder's buffer to be more than half full at
which point it reads half of the buffer from the laser to the PC. It uses 2
buffers in the PC, so that buffers are not overwritten while other
threads are reading the data.
- 2.
- The control thread that repeatedly
positions the panning unit and reads columns of data.
- 3.
- A scanning mirror monitor. The job
of this thread is to simply show a histogram of the scanning motor's
speed so the user can adequately judge when the motor has achieved the
desired speed.
- 4.
- The
built-in Java threads that control and dispatch menu, slider, and
keyboard events.
Figure:
The GUI for the rangefinder data-collection application. This clip
shows a scan in progress. The data collected has a resolution of
,
covering
.
The
sample rate is 16k samples/second, and the scanning mirror is
running at about 5 Hz. The partial scan is shown in the upper left.
|
Next: Java Considerations
Up: Capturing Dense Environmental Range
Previous: Calibrating and Correcting Errors
Lars S. Nyland
1999-02-19