Technical Specs
6.4 Visual odometry
Visual odometry is part of the sensor dynamics component. It is used to estimate the camera’s motion from
the motion of characteristic image points (so-called image features) in left camera images. Image features are
computed from image corners, which are image regions with high intensity gradients. Image features are used
to look for matches between subsequent images to find correspondences. Their 3D coordinates are computed
by stereo matching (independent from the disparity image). The camera’s motion is computed from a set of
corresponding 3D points between two images. To increase the robustness of visual odometry, correspondences
are not only computed to the previous camera image but to a certain number of previous images, which are called
keyframes. The best result is then chosen.
The visual-odometry frame rate is independent of the user setting in the stereo camera component. It is internally
limited to 12 Hz but can be lower, depending on the number of features and keyframes. To ensure good pose-
estimation quality, the frame rate should not drop significantly under 10 Hz.
Note: Using Stereo matching in parallel to the dynamics component may lead to a decreased frame rate of
the visual odometry. In this case, we recommend to decrease the frame rate of the Stereo camera (effectively
decreasing the frame rate of the depth image computation), to lower the computational load of stereo matching.
The visual odometry component’s measurements are not directly accessible on the rc_visard. Instead, they are
internally fused with measurements from the integrated inertial measurement unit to increase robustness and frame
rate and reduce latency. The result of the sensor data fusion is provided in the form of different streams (see Stereo
INS, Section 6.5).
6.4.1 Parameters
The visual odometry software component is called rc
_
stereovisodo and it is represented by the Dynamics tab
in the Web GUI (Section 4.5). The user can change the visual odometry parameters there, or use the REST-API
(REST-API interface, Section 8.2).
Parameter overview
This component offers the following run-time parameters.
Table 6.4.1: The rc
_
stereovisodo component’s run-time parameters
Name Type Min Max Default Description
disprange int32 32 512 256 Disparity range in pixels
ncorner int32 50 4000 500 Number of corners
nfeature int32 50 4000 300 Number of features
nkey int32 1 4 4 Number of keyframes
This component reports the following status values.
Table 6.4.2: The rc
_
stereovisodo component’s status values
Name Description
corner Number of detected corners. This value is shown as Corners below the image preview
in the Web GUI.
correspondences Number of correspondences. This value is shown as Correspondences below the image
preview in the Web GUI.
feature Number of features. This value is shown as Features below the image preview in the
Web GUI.
fps Frame rate of the visual odometry in Hertz. This value is shown below the image
preview as Visual Odometry FPS (Hz) in the Web GUI.
time
_
frame Processing time in seconds to compute corners and features for each frame
time
_
vo Processing time in seconds to compute the motion
6.4. Visual odometry 45