Operation of XR Series Cameras¶
Our XR series cameras are the first device generation to offer on-board computation. Therefore there are some fundamental differences in the underlying hardware and software concepts compared to other devices. In general XR series cameras are operated in the same way as all other Ensenso devices, but some differences in usage exist which are listed and explained in this topic.
XR Series cameras run Ubuntu Linux with an EnsensoSDK. The SDK version on the camera should be the same as on the host PC using the camera. cmdOpen on the PC will refuse to open an XR camera when it detects differing SDK versions between host and camera.
The main difference during operation is that the execution of cmdComputeDisparityMap will internally be executed on the camera’s FPGA accelerator. This offloading is performed within EnsensoSDK and the user does not need to take care of this. The computed disparity map will be sent to the host PC where most post processing filters are being executed. The reprojection of points in cmdComputePointMap is also done on the host PC to save transfer time.
XR cameras perform undistortion and rectification of images on the fly while receiving the image data, therefore during normal depth measurement operation only rectified images are available from the camera. In order to collect calibration patterns for pose estimation or camera calibration the rectification module needs to be disabled by setting the capture mode parameter Mode to “Raw”. This disables on the fly rectification and writes raw images into the camera’s Raw image nodes. The Rectified image nodes will not be updated in “Raw” mode and therefore the camera cannot perform depth measurement until you switch back to “Rectified” capture mode.
Image Transfer Times¶
Transferring the acquired images to the host PC can take a considerable amount of time. Therefore you can control the image transfer of acquired image data via the ImageDownloadLimit parameter. If you do not need image data you can entirely disable image download, alternatively you can download the first image for visualization, or all images when logging data for file cameras.
As the operation of the camera involves two instances of EnsensoSDK, one on the device and one on the host PC, it might be necessary to export debug information from both instances to reproduce or diagnose some behavior. The easies method to export debug information from the device is to connect to the device using NxTreeEdit and use the Debug tab to retrieve log data from the device itself. To generate log data on the host you can refer to this topic. An integrated process for retrieving debug data from both instances will be available in a later software release.