Users Manual

transformed into 3D object coordinates in the sensor coordinate frame (Section 3.7) using the equations described
in Computing depth images and point clouds (Section 6.2.2).
Assuming that 𝑑
π‘–π‘˜
is the 16 bit disparity value at column 𝑖 and row π‘˜ of a disparity image, the 3D reconstruction
in meters can be written with the GenICam parameters as
𝑃
π‘₯
= (𝑖 βˆ’ Scan3dPrincipalPointU)
Scan3dBaseline
𝑑
π‘–π‘˜
Β· Scan3dCoordinateScale
,
𝑃
𝑦
= (π‘˜ βˆ’ Scan3dPrincipalPointV)
Scan3dBaseline
𝑑
π‘–π‘˜
Β· Scan3dCoordinateScale
,
𝑃
𝑧
= Scan3dFocalLength
Scan3dBaseline
𝑑
π‘–π‘˜
Β· Scan3dCoordinateScale
.
The confidence image contains 8 bit unsigned integer values. These values have to be divided by 255 to get the
confidence as value between 0 an 1.
The error image contains 8 bit unsigned integer values. The error 𝑒
π‘–π‘˜
must be multiplied by the scale value given
in the GenICam feature Scan3dCoordinateScale to get the disparity-error values 𝑑
𝑒𝑝𝑠
in pixels. According to the
description in Confidence and error images (Section 6.2.3), the depth error 𝑧
𝑒𝑝𝑠
in meters can be computed with
GenICam parameters as
𝑧
𝑒𝑝𝑠
=
𝑒
π‘–π‘˜
Β· Scan3dCoordinateScale Β· Scan3dFocalLength Β· Scan3dBaseline
(𝑑
π‘–π‘˜
Β· Scan3dCoordinateScale)
2
.
Note: It is preferable to enable chunk data with the parameter ChunkModeActive and to use
the chunk parameters ChunkScan3dCoordinateScale, ChunkScan3dFocalLength, ChunkScan3dBaseline,
ChunkScan3dPrincipalPointU and ChunkScan3dPrincipalPointV that are delivered with every image, because
their values already fit to the image resolution of the corresponding image.
For more information about disparity, error, and confidence images, please refer to Stereo matching (Section 6.2).
8.2 REST-API interface
Besides the GenICam interface (Section 8.1), the rc_visard offers a comprehensive RESTful web interface (REST-
API) which any HTTP client or library can access. Whereas most of the provided parameters, services, and
functionalities can also be accessed via the user-friendly Web GUI (Section 4.5), the REST-API serves rather as a
machine-to-machine interface to programmatically
β€’ set and get run-time parameters of computation nodes, e.g., of cameras, disparity calculation, and visual
odometry;
β€’ do service calls, e.g., to start and stop individual computational nodes, or to use offered services such as the
hand-eye calibration;
β€’ configure data streams that provide rc_visard’s dynamic state estimates (Section 6.3.2) as described in the
rc_dynamics interface (Section 8.3);
β€’ read the current state of the system and individual computational nodes; and
β€’ update the rc_visard’s firmware or license.
Note: In the rc_visard’s REST-API, a node is a computational component that bundles certain algorithmic
functionality and offers a holistic interface (parameters, services, current status). Examples for such nodes are
the stereo matching node or the visual odometry node.
8.2.1 General API structure
The general entry point to the rc_visard’s API is http://<rcvisard>/api/, where <rcvisard> is either the
device’s IP address or its host name as known by the respective DHCP server, as explained in network configura-
8.2. REST-API interface 127