Unsynchronized Stereo

New in D

By default, the image_pipeline assumes that stereo cameras are triggered to capture images simultaneously, and that matching image pairs have identical timestamps. This is the ideal situation, but requires hardware support.

Starting in Diamondback, you will be able to calibrate stereo pairs that are not (or inexactly) synchronized.

To enable approximate timestamp matching, give the --approximate=0.01 option. This permits a "slop" of 0.01s between image pairs. If you still don't see a display window, or it is sporadically updated, try increasing the slop.

Dual Checkerboards

New in D

Starting in Diamondback, you will be able to use multiple size checkerboards to calibrate a camera.

To use multiple checkerboards, give multiple --size and --square options for additional boards. Make sure the boards have different dimensions, so the calibration system can tell them apart.

Camera Check

To run the command-line utility to check the calibration of a monocular camera:

Nodes

cameracalibrator.py

cameracalibrator.py subscribes to ROS raw image topics, and presents a calibration window. It can run in both monocular and stereo modes. The calibration window shows the current images from the cameras, highlighting the checkerboard. When the user presses the CALIBRATE button, the node computes the camera calibration parameters. When the user clicks COMMIT, the node uploads these new calibration parameters to the camera driver using a service call.

cameracheck.py

cameracheck.py subscribes to ROS rectified image topics and their associated camera_info, and prints out an error estimate. It can run in both monocular and stereo modes. The program expects to see a standard checkerboard target.