3DExpress tutorial: Calibrate with patternZZ
3DExpress version used: 15.3
Last revision: 28 August 2015
This tutorial will guide you through the process of configuring your 3DExpress software from the beginning until the calibration of the camera-laser using the patternZZ
If you don't have 3DExpress you can download a FREE 90 days trial by clicking:
Step 1 - Choosing the camera
When you open 3DExpress you will obtain a window like:
The first thing to do is to configure a new input. This is done in the menu Configure > New Input. This will open a configuration dialog like:
where several camera types can be chosen. For this guide, we will use a 2D camera because it is the option where more configuration steps are needed. By choosing a generic 3D camera, a Photonfocus camera or an Automation Technology one, some of the below steps would be skipped and, thus, the process easier.
Step 2 - Configuring the driver
Next step is choosing the appropriate driver. Here again, several options are available:
- Grab from file: Used to simulate a camera by obtaining the image from a disk file.
- generic: Used for drivers distributed together with the installation package
- Silicon Software microEnable III/IV Frame Grabber: For Camera Link cameras connected to Silicon Software microEnable III or IV Frame Grabbers.
- Common Vision Blox Genicam: For Genicam cameras (Common Vision Bloc software required)
- Driver Type: The kind of driver to be used. Usually the required option is the generic driver.
- FGD Path: The default path is <Program Files>/AQSENSE/3DExpress (will be different if you choose a different location) Several .fgd files are available with self explanatory names. For a complete list of SAL3D supported FrameGrabbers please refer to the supported Frame Grabbers documentation
- FGD Config: Each supported Frame Grabber has specific configuration params available. Please refer to the supported Frame Grabbers documentation for more information.
In our particular case, as we are using a GigE camera, we use on of the two available GigE drivers (Pleora in this case). In this case, if no IP or MAC address is introduced, after clicking on "next" a new window appears asking us to select the camera.
Step 3 - Configure the Laser Stripe Detector
At this point, 3DExpress will ask you if you want to start grabbing. We'll click "yes" so that we can configure the laser stripe detection by using a live image.
In case after clicking on "yes" you can not see live image, make sure that the camera is not running in Trigger mode. In case of Pleora (also in CVB and Point Grey) driver, you can view and modify camera parameters by opening a new window.
After observing the live image, you can select between two laser detector algorithms: COG or Peak detector (add-on)
At this point you should place the patternZZ under the laser plane, and after focusing the image and adjusting the "threshold" parameter, you can go to the next step
Step 4 - Configure the RangeMap acquisiton
A RangeMap is a set of ordered profiles accumulated. So, in order to generate a RangeMap, the limits to this storage must be defined.
The RangeMap configuration step allows us to determine several limits to the RangeMap acquisition:
- Frame timeout: After a defined timeout, the RangeMap is finished and the next one starts to be accumulated.
- Max. profiles: After a defined number of accumulated profiles, the RangeMap is finished and the next RangeMap starts to be generated.
- Min. profiles: Rangemaps with less than a given number of profiles are discarded
Note: Please note that the Presence/Absence is used together with the other limit conditions (timeout and profiles limit). So, in case the user is interested to only use the presence/absence detection, the user should assure that the other two values are big enough.
Step 5 - Calibrating the camera-laser
The next step is to select the metric calibration method, in this case the "Static Metric ZZ".
In case that you do not see any profile on the left window, you can click on "Grab on", it can take some time depending on the number of profiles of the rangemap, and the camera framerate. Again make sure that you are working in Free running mode.
As the number of calibration points is not fix on the patternZZ, you should set the corresponding number of inside points in the "Num points:" textbox. In order to help the user to fill the pattern points, you should set the Y, and Z coordinate of the first points, set to corresponding numbers on the "Y Dist" and "Z Dist", and then click on "Fill Points".
"Ydist" and "Zdist" are the metric distance between two consecutive calibration points. If the sign of the Zdist if positive, the second point will have a higher Z coordinate.
Note: The Option "Fill Points" is only valid in case the coordinate system is aligned with the pattern. In a generic case, you should manually set all the pattern points.
In case you have points not belonging to the pattern, you can use the "ROI left" and "ROI right" values to select the calibration ROI.
Finally, after setting the encoder step, you can click on calibrate button.
After calibration, a pop-up will appear indicating the accuracy report. You can also check the calibration results by comparing on the right window the reconstructed point (in black) and the expected reconstruction (in red).
You are know ready to add COPs and ZMap outputs.