Multi Camera Setups

Navigation:  NxLib API >

Multi Camera Setups

Previous pageReturn to chapter overviewNext page

NxLib provides a number of functions to simplify the usage of multi camera setups. Before cameras can be combined into a single capture system, they have to be calibrated together. This is currently done pairwise using the NxView program. One can simply select two cameras and calibrate then with a calibration pattern. After the calibration, the relative position and orientation of the two cameras is known and saved into one of the camera's eeprom. Each camera can store one link (relative position and orientation) to another coordinate system. The linked coordinate system can either be another camera, or the workspace system.

Links

Reference Coordinate System

As each camera stores exactly one transformation into a destination coordinate system, a multi camera setup can always be seen as a tree of linked cameras. The link is stored as a transformation, together with the name of the destination coordinate system, which can be either a camera serial number string, or the special name "Workspace", to refer to the workspace system.

CameraTree

Whenever coordinates are output by a camera, this is done relative to the top-most coordinate system that can be reached via the camera's outgoing link. This might either be the workspace, or the camera at the tree root, when no workspace system is calibrated.

Note: The reference to workspace coordinates must always be stored in the top-most camera of the link tree. Then, coordinates of all camera point clouds as well as tracked pattern poses will be relative to the calibrated workspace.

Note: In case your link tree contains loops, cameras with links ending in the loop will use their own camera coordinate system as reference.

Note: When your link tree is broken apart into multiple trees, all root nodes are assumed to be equivalent (i.e. linked by an identity transformation).

Link Tree Example

Assume you want to calibrate a capture system consisting of two stereo cameras ("123" and "789") and one color camera ("456"). After mounting the cameras, you can first calibrate the two stereo cameras together, by selecting them in NxView and click the 'Calibrate' button. We decide that the resulting link should be stored in the stereo camera with serial number "789". We then add the color camera "456", by calibrating it against the stereo camera "123" in the same way; the calibrated link is automatically stored in the color camera. When opening all three cameras together, we can additionally calibrate the workspace system. NxView then automatically decides to store the workspace link in the camera "123", as it is the only camera with an empty link. The resulting link tree looks like this:

3CameraSetup

When capturing point clouds with the stereo cameras, each point cloud is then transformed into the common reference system. In other words, each camera follows it's links along the tree towards the root and transforms it's point cloud into the found root system by applying the transformations along the path to the root. Thus, your point clouds all live in the same coordinate systems and can be combined by simple merging, as illustrated in the following picture:

3CameraSetupWithPointClouds