To ensure the highest probability of success during calibration, you should place the cameras in your desired configuration, and make sure that they are fastened tightly so that they do not subsequently move (which would invalidate the calibration). While placing the cameras, you must ensure that the camera axes are aligned as parallel as possible as demonstrated in Figure 1. The factory calibration routine currently allows for a misalignment of up to 3 degrees.

https://prod-files-secure.s3.us-west-2.amazonaws.com/1a29d112-9a32-4629-8564-0943838688cc/7a0c6ab9-c243-4e35-9a49-321205a91aa7/camera_alignment.svg

Figure 1: Proper Camera Alignment

When you are ready to calibrate your cameras in their new configuration, please move the sensor assembly outside. Static, daytime, natural scenes without reflective surfaces or moving objects work best. Avoid indoor, cluttered environments with artificial lighting, flat/texture-less surfaces, or bad weather conditions for this step. Ensure that the sensor assembly is stationary while performing calibration. Then simply run the Nodar Viewer app, connect it to the Hammerhead, open the Initial Calibration viewer, then open viewer’s properties, choose one or several calibration options and submit your choice, as shown in Figure 2. This will do several things:

  1. The image displayed in the Hammerhead GUI at this point in time will be saved to disk and used for calibration. Because of this, you should ensure that the image is properly exposed by adjusting the exposure and gain in the GUI before starting the calibration. Furthermore, you should ensure that the image used for calibration is devoid of observable artifacts, like reflections and motion blur.
  2. The GUI will be disable until the calibration is done.

https://prod-files-secure.s3.us-west-2.amazonaws.com/1a29d112-9a32-4629-8564-0943838688cc/4d0b2641-f808-41ca-9fc1-c11ddd8b7801/nodar_viewer_calibration.png

Figure 2: Initial Calibration Viewer

The first time that you run the calibration manager after moving the cameras from their original factory position on the bar, you should run the factory calibration (a long calibration routine designed to compensate for large camera axes misalignment. If this is desired, select the Factory Calibration option. Wait for calibration to finish.

There is also an option to run a shorter, refinement calibration instead of a long factory calibration.

There is a third calibration option to calibrate range. This is required to be performed after any change in the configuration of the camera. If you choose to run range calibration, the viewer will become interactive and you can draw a rectangle (e.g. Figure 3). Resize the window to an appropriate size, and then select a relatively flat object near the center of the image which is sufficiently far away (>20m). This area can be selected by holding down the left mouse button and drawing on the selected object in the image. If you need to re-draw for any reason, just start to draw a new rectangle to reset your previous selection. Once you are finished selecting an appropriate area, enter the distance (in meters) to the selected object to the Distance input field and press the Submit button. The should be measured using the included Laser Distance Meter from the left camera. This concluded the calibration routine.

https://prod-files-secure.s3.us-west-2.amazonaws.com/1a29d112-9a32-4629-8564-0943838688cc/b0b4720f-97e6-4914-9ae7-6e8157b81b9e/nodar_viewer_range_calibration.png

Figure 3: Range Calibration GUI

Note that factory calibration only needs to be run once after the cameras are moved to a new physical configuration. Depending on your system, this process can take a few minutes to conclude. In addition, if at any point while operating the system, you notice that the disparity estimates seem sparse or range estimates are off, even with camera axes are aligned to within 3 degrees of each other, you may try rerunning the calibration refinement and range calibration.